*{box-sizing:border-box}html,body{color:#e6e9f5;background:#03040a;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#app canvas{cursor:crosshair;display:block}#hint{text-align:center;pointer-events:none;width:calc(100vw - 32px);max-width:720px;transition:opacity .4s;animation:.7s cubic-bezier(.2,.8,.3,1.2) .3s backwards hint-pop;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}#hint p{margin:0}#hint .hint-main{letter-spacing:.01em;color:#e6e9f5;text-shadow:0 0 24px #ffb02073;font-size:clamp(22px,4vw,34px);font-weight:600}#hint .hint-sub{color:#e6e9f5b3;margin-top:10px;font-size:clamp(16px,2.4vw,20px)}#hint .hint-sub strong{color:#ffb020}#hint.dim{opacity:.35}@keyframes hint-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}#controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141828b3;border:1px solid #ffffff14;border-radius:14px;gap:12px;padding:10px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}#controls button{min-width:96px;font:inherit;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:600}#controls button:hover:not(:disabled){background:#ffffff29}#controls button:disabled{opacity:.4;cursor:default}#controls .toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 8px;font-size:15px;display:flex}#controls .toggle input{accent-color:#ffb020;cursor:pointer;width:16px;height:16px;margin:0}#info-dialog{color:#e6e9f5;background:#0e111ef5;border:1px solid #ffffff1f;border-radius:16px;width:min(640px,100vw - 32px);max-height:min(80vh,760px);padding:0;line-height:1.55;box-shadow:0 24px 64px #00000080}#info-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03040a99}.dialog-body{padding:24px 28px 28px}.dialog-body>:last-child{margin-bottom:0}#info-dialog h2{color:#ffb020;margin-top:4px;margin-bottom:12px;font-size:22px}#info-dialog h3{margin-top:22px;margin-bottom:8px;font-size:16px}#info-dialog p,#info-dialog ul{color:#e6e9f5d9;font-size:15px}#info-dialog ul{padding-left:20px}#info-dialog li+li{margin-top:8px}#info-dialog strong{color:#e6e9f5}.dialog-close{float:right;margin:-12px -16px 0 12px;position:sticky;top:0}.dialog-close button{width:36px;height:36px;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:50%;font-size:24px;line-height:1}.dialog-close button:hover{background:#ffffff29}#controls #play{background:#ffb02038;border-color:#ffb02080}@media (width<=480px){#controls{gap:8px;padding:8px;bottom:16px}#controls button{min-width:0;padding:9px 12px}.dialog-body{padding:20px 18px 22px}}
