*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#000;color:#fff;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{height:100dvh}#stage{display:block;width:100%;height:100dvh;background:#000}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:radial-gradient(circle at 50% 40%,#14121f,#000 70%);text-align:center;transition:opacity .24s ease;z-index:2}.overlay[hidden]{display:none}.overlay--fading{opacity:0;pointer-events:none}.overlay__panel{max-width:32ch}.overlay__title{margin:0 0 .5rem;font-size:clamp(1.25rem,7vw,2rem);font-weight:600;letter-spacing:.02em}.overlay__body{margin:0;font-size:clamp(.85rem,4vw,1rem);line-height:1.4;color:#d8d4e8}.overlay__hint{margin:.75rem 0 0;font-size:clamp(.7rem,3.2vw,.85rem);line-height:1.4;color:#8a86a0}.overlay__credit{margin:1.25rem 0 0;font-size:clamp(.6rem,2.6vw,.72rem);color:#6b6880}.overlay--error .overlay__body{color:#ffb4b4}.toast{position:fixed;left:max(.75rem,env(safe-area-inset-left));right:max(.75rem,env(safe-area-inset-right));bottom:max(.75rem,env(safe-area-inset-bottom));padding:.4rem .6rem;border-radius:.5rem;background:#0000009e;backdrop-filter:blur(6px);font-size:clamp(.7rem,3.4vw,.85rem);line-height:1.3;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:3}.toast--visible{opacity:1}@media(prefers-reduced-motion:reduce){.overlay,.toast{transition:none}}.settings{position:fixed;inset:0;z-index:4;display:grid;background:#04040ceb;backdrop-filter:blur(10px);touch-action:pan-y}.settings[hidden]{display:none}.settings__panel{display:flex;flex-direction:column;min-height:0;padding:max(.5rem,env(safe-area-inset-top)) max(.6rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.6rem,env(safe-area-inset-left))}.settings__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:0 0 auto}.settings__title{margin:0;font-size:clamp(.85rem,4vw,1rem);font-weight:600}.settings__close{appearance:none;border:1px solid #38344a;background:#18162400;color:#ece9f5;border-radius:50%;width:2.75rem;height:2.75rem;font-size:1.4rem;line-height:1;cursor:pointer}.settings__close:active{background:#241f36}.settings__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:.6rem;margin-top:.5rem;min-height:0;flex:1 1 auto}@media(max-width:300px){.settings__body{grid-template-columns:minmax(0,1fr)}}.settings__controls{display:flex;flex-direction:column;gap:.55rem;overflow-y:auto;min-height:0;padding-right:.2rem}.field{display:grid;gap:.15rem}.field--toggle .field__label{align-items:center}.field__label{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem;font-size:clamp(.62rem,2.9vw,.78rem);color:#cfcbe0}.field__value{color:#8a86a0;font-variant-numeric:tabular-nums}.field input[type=range]{width:100%;accent-color:#6f8cf7;height:1.5rem}.field input[type=checkbox]{accent-color:#6f8cf7;width:1.25rem;height:1.25rem}.settings__share{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;min-width:0}.settings__qr{width:100%;max-width:9.5rem;height:auto;aspect-ratio:1;background:#fff;border-radius:.4rem;padding:4px}.settings__share-caption{margin:0;font-size:clamp(.58rem,2.7vw,.72rem);color:#cfcbe0;text-align:center}.settings__share-url{margin:0;font-size:clamp(.5rem,2.2vw,.62rem);color:#6b6880;text-align:center;overflow-wrap:anywhere}
