:root{--bg:#12090a;--ink:#f3e6d8;--muted:#d8c6b2;--accent:#ffb36b;--public:#6ee7a0;--secret:#ff6b6b;--result:#ffd84a}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);margin:0;font-family:Segoe UI,system-ui,sans-serif;overflow:hidden}.viewport{background:var(--bg);position:fixed;inset:0}.deck{transform-origin:0 0;width:1920px;height:1080px;position:absolute;top:0;left:0}.loading{height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:48px;display:flex}.header{width:1920px;height:150px;padding:18px 60px 0;position:absolute;top:0;left:0}.header h1{color:var(--accent);margin:0;font-size:62px;line-height:1.1}.header p{color:var(--muted);margin:8px 0 0;font-size:32px;line-height:1.25}.stage{width:1920px;height:560px;position:absolute;top:160px;left:0}.equations{background:#0c0707;border-top:4px solid #3a2420;width:1920px;height:250px;padding:22px 60px;font-family:Cascadia Mono,Consolas,monospace;font-size:46px;line-height:1.35;position:absolute;top:730px;left:0}.eq-line{opacity:0;animation:.5s ease-out forwards fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tone-plain{color:var(--ink)}.tone-public{color:var(--public);font-weight:700}.tone-secret{color:var(--secret);font-weight:700}.tone-result{color:var(--result);font-weight:700}.progress{width:1920px;height:50px;color:var(--muted);align-items:center;gap:32px;padding:0 60px;font-size:28px;display:flex;position:absolute;top:1000px;left:0}.dots{gap:10px;display:flex}.dot{background:#3a2420;border-radius:7px;width:54px;height:14px}.dot.done{background:#8a5a3a}.dot.on{background:var(--accent)}.keys{margin-left:auto}kbd{border:2px solid #6a4a3a;border-radius:6px;padding:0 10px;font-family:inherit}.credit{color:#8a7766;text-align:right;width:1920px;padding:0 60px;font-size:18px;position:absolute;top:1054px;left:0}.wheel-panel{background:#0e0708f5;border:3px solid #3a2420;border-radius:18px;align-items:center;gap:24px;width:1010px;height:560px;padding:10px 24px;display:flex;position:absolute;top:160px;left:440px}.wheel-svg{flex:none;width:420px;height:420px}.wheel-captions{flex-direction:column;gap:18px;font-family:Cascadia Mono,Consolas,monospace;font-size:34px;line-height:1.25;display:flex}.wheel-cap{opacity:.25;transition:opacity .5s}.wheel-cap.done{opacity:.6}.wheel-cap.on{opacity:1;color:var(--result)}.credit a{color:inherit;text-decoration:underline}
