:root{--bg:#0f172a;--panel:#0f172ae0;--panel-border:#94a3b840;--text:#f8fafc;--muted:#cbd5e1;--accent:#f97316;--accent-2:#06b6d4;--accent-3:#8b5cf6;--chip:#ffffff1a;--shadow:0 8px 32px #0006}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;color:var(--text);background:#000;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,sans-serif;overflow:hidden}#canvas-wrap{z-index:0;position:fixed;inset:0}#canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.overlay,#text-panel,#chapter-nav{z-index:10;position:fixed}.overlay{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:radial-gradient(circle,#0f172a99 0%,#000000d9 100%);flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:opacity .5s;display:flex;inset:0}.overlay.active{opacity:1;pointer-events:auto}#intro h1{letter-spacing:-.03em;text-shadow:0 2px 24px #00000080;margin:0 0 .5rem;font-size:clamp(2.4rem,6vw,5rem)}#intro .subtitle{color:var(--muted);max-width:36rem;margin:0 0 2rem;font-size:clamp(1.1rem,2.2vw,1.5rem)}.big-btn{background:linear-gradient(135deg, var(--accent), #ea580c);color:#fff;cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:999px;padding:.9rem 1.8rem;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.big-btn:hover,.big-btn:focus-visible{transform:translateY(-2px);box-shadow:0 12px 40px #f9731659}.big-btn:active{transform:translateY(0)}#text-panel{background:var(--panel);border:1px solid var(--panel-border);width:min(30rem,36vw);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.25rem;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .4s,opacity .4s;display:flex;top:1.5rem;bottom:1.5rem;right:1.5rem;overflow-y:auto}#text-panel.hidden{opacity:0;pointer-events:none;transform:translate(120%)}#text-panel h2{color:var(--accent-2);margin:0;font-size:clamp(1.4rem,2.2vw,1.8rem)}#text-panel p{color:var(--muted);margin:0;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.55}#text-panel .chapter-number{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.75rem;font-weight:700}.chapter-controls{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:auto;display:flex}.chapter-controls button,.chapter-controls select{background:var(--chip);border:1px solid var(--panel-border);color:var(--text);cursor:pointer;border-radius:.5rem;padding:.55rem .9rem;font-size:.9rem;transition:background .15s}.chapter-controls button:hover,.chapter-controls button:focus-visible,.chapter-controls select:hover{background:#ffffff2e}.chapter-controls input[type=range]{min-width:0;accent-color:var(--accent-2);flex:100%}#chapter-nav{flex-direction:column;gap:.6rem;display:flex;top:50%;left:1.2rem;transform:translateY(-50%)}#chapter-nav button{background:var(--chip);width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border:2px solid #ffffff40;border-radius:50%;font-size:.75rem;font-weight:700;transition:all .2s;position:relative}#chapter-nav button:after{content:attr(data-label);white-space:nowrap;opacity:0;pointer-events:none;background:#000000b3;border-radius:.4rem;padding:.35rem .65rem;font-size:.72rem;transition:opacity .2s;position:absolute;top:50%;left:3rem;transform:translateY(-50%)}#chapter-nav button:hover:after,#chapter-nav button:focus-visible:after{opacity:1}#chapter-nav button.active{border-color:var(--accent-2);background:var(--accent-2);color:#000}.hint{color:#94a3b8;margin-top:.5rem;font-size:.85rem}.status-chips{flex-wrap:wrap;gap:.4rem;display:flex}.status-chip{color:var(--accent-2);background:#06b6d426;border:1px solid #06b6d44d;border-radius:999px;padding:.35rem .65rem;font-size:.8rem;font-weight:600}.instruction-row{background:#ffffff0d;border-radius:.5rem;align-items:center;gap:.8rem;padding:.6rem .8rem;font-size:.9rem;display:flex}@media (width<=768px){#text-panel{border-radius:1.25rem 1.25rem 0 0;width:100%;height:45%;padding:1.2rem;inset:auto 0 0}#chapter-nav{flex-direction:row;gap:.45rem;top:.8rem;left:.6rem;transform:none}#chapter-nav button{width:2rem;height:2rem;font-size:.65rem}#chapter-nav button:after{display:none}#intro h1{font-size:2.2rem}}@media (width<=420px){#text-panel{height:52%}}
