*{box-sizing:border-box}body{margin:0;color:#1c2c36;background:#fff;font:15px/1.65 "Microsoft YaHei",sans-serif}header{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cedbe3}h1{font-size:22px;line-height:1.4;margin:0}header p{margin:3px 0 0;color:#5a6d79}a{color:#14577a}main{padding:16px 20px;max-width:1500px;margin:auto}button{font:inherit;border:1px solid #c0cfd8;border-radius:5px;padding:7px 11px;background:#fff;color:#244455;cursor:pointer}button:hover{background:#eff5f8}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cf721b;outline-offset:3px}button[aria-pressed=true]{background:#14577a;color:#fff;border-color:#14577a}button:disabled{opacity:.5;cursor:wait}#chapters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}#chapters button{font-size:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.visual{min-width:0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.toolbar button{font-size:13px}#stage{position:relative;width:100%;height:470px;background:#edf2f4;border:1px solid #d5dfe5;border-radius:6px;overflow:hidden}#canvas,#markers{position:absolute;inset:0}#canvas canvas{width:100%;height:100%;display:block;touch-action:none}#markers{pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);padding:0;width:25px;height:25px;line-height:23px;text-align:center;border:1.5px solid #14577a;border-radius:50%;background:#fff;color:#14577a;font-weight:700;font-size:13px;pointer-events:auto;box-shadow:0 1px 4px #0002}.marker[hidden]{display:none}#loading{position:absolute;inset:0;display:grid;place-content:center;background:#edf2f4eb;text-align:center;padding:30px;z-index:3}#loading[hidden]{display:none}#fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white;z-index:2}.gesture{font-size:12px;color:#546873;margin:6px 0 0}aside{min-width:0}aside h2{font-size:21px;line-height:1.4;margin:0 0 8px}aside p{margin:0 0 12px}#parts{display:flex;flex-wrap:wrap;gap:6px}#parts button{font-size:13px;padding:5px 9px}.explanation{margin-top:14px;border-left:3px solid #16868a;padding:0 0 0 13px}.explanation h3{font-size:16px;margin:0 0 6px}.explanation p{font-size:14px}.flow{margin-top:20px;background:#f2f6f8;padding:14px 18px;border-radius:5px}.flow h2{font-size:16px;margin:0 0 6px}.flow p{margin:0;line-height:1.8}.flow button{font-size:12px;margin-left:8px;padding:3px 9px}.water{color:#056fa5}details{margin-top:16px;font-size:13px;color:#4c626f}summary{cursor:pointer;font-weight:600}details p{max-width:90ch}details li{margin:8px 0}
@media(max-width:750px){header{padding:12px 14px}h1{font-size:19px}header>a{font-size:13px}main{padding:12px}.workspace{grid-template-columns:1fr;gap:16px}#chapters{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}#chapters button{flex:none}#stage{height:380px}.toolbar{gap:5px}.toolbar button{padding:6px 8px}aside h2{font-size:19px}aside p{font-size:14px}.flow{margin-top:14px;padding:12px}#parts button{padding:7px 10px}.gesture{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
