.app{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background-color:#0b0f14;transition:background-image .6s ease}.noise-overlay{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 10% 20%,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1.2px),radial-gradient(circle at 80% 0%,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1.2px,transparent 1.6px),radial-gradient(circle at 0% 100%,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1.5px),radial-gradient(circle at 60% 80%,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1.4px);background-size:3px 3px;opacity:.08;mix-blend-mode:soft-light}.halo{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.14),transparent 70%);transition:opacity .18s cubic-bezier(.2,.8,.2,1);opacity:0}.tap-layer{position:absolute;inset:0;touch-action:manipulation}.scene-button{position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:#ffffff1f;box-shadow:inset 0 1px 2px #00000059,0 10px 22px #00000047;color:#10141ccc;font-size:16px;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,background .16s ease}.scene-button:hover{transform:translateY(-1px);background:#fff3}.scene-button:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0f14b8;text-align:center;padding:24px}.overlay--start,.overlay--start .card{pointer-events:none}.card{background:#141a21e0;border-radius:24px;padding:32px 36px;min-width:min(480px,90vw);color:#ffffffe6;box-shadow:0 24px 60px #00000059,inset 0 1px #ffffff0d}.card h1{margin:0 0 12px;font-size:clamp(28px,4vw,36px);font-weight:500}.card p{margin:0 0 28px;font-size:clamp(18px,2.5vw,22px);color:#ffffffb8}.card .primary{padding:14px 32px;border-radius:999px;border:none;background:linear-gradient(145deg,#ffffff38,#ffffff0d);color:#0e1218f2;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.card .primary:hover{transform:translateY(-1px);box-shadow:0 12px 24px #00000059}.pulse-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.tap-pulse{position:absolute;width:140px;height:140px;margin-left:-70px;margin-top:-70px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:radial-gradient(circle,#ffffff2e,#fff0 70%);animation:pulse .32s cubic-bezier(.2,.8,.2,1) forwards}@keyframes pulse{0%{transform:scale(.6);opacity:.16}to{transform:scale(1.3);opacity:0}}.sheet-backdrop{position:absolute;inset:0;background:#06090cb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;justify-content:center;align-items:flex-end;padding:24px}.sheet{width:min(480px,92vw);background:#121820eb;border-radius:28px;padding:24px;box-shadow:0 32px 70px #00000073,inset 0 1px #ffffff0d}.sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sheet-label{font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:#fff9}.sheet-close{background:none;border:none;color:#fff6;font-size:18px;cursor:pointer}.sheet-grid{display:grid;gap:12px}.sheet-card{text-align:left;background:#ffffff0a;border-radius:18px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);color:#ffffffb8;cursor:pointer;transition:transform .16s ease,background .16s ease}.sheet-card:hover,.sheet-card.active{background:#ffffff1f;color:#ffffffe6;transform:translateY(-2px)}.hud{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:10px;padding:16px 20px 20px;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#ebeff5b3}.hud-controls{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#0c121aa6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 30px #00000052,inset 0 1px #ffffff0d}.hud-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#ffffff8c}.hud-value{font-variant-numeric:tabular-nums;color:#fffc}.hud input[type=range]{appearance:none;width:160px;height:4px;border-radius:999px;background:#fff3;outline:none}.hud input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:#ffffffd9;box-shadow:0 4px 12px #0000004d;cursor:pointer}.hud input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:none;background:#ffffffd9;box-shadow:0 4px 12px #0000004d;cursor:pointer}.tap-log{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:#0c121a8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 30px #00000052,inset 0 1px #ffffff0d;max-width:min(560px,92vw)}.tap-log-entry{font-variant-numeric:tabular-nums;color:#ebeff5cc}.tap-log-empty{color:#ebeff580}.sheet-card-title{display:block;font-size:18px;font-weight:500}.sheet-card-subtitle{display:block;margin-top:4px;font-size:14px;color:#ffffff8c}@media (prefers-reduced-motion: reduce){.tap-pulse{animation-duration:.18s!important}.app{transition:none}}:root{color-scheme:dark;font-family:-apple-system,SF Pro Text,Inter,system-ui,sans-serif;background-color:#0b0f14;min-height:100%}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:#0b0f14}body{overflow:hidden;font-size:18px;font-weight:400;color:#ffffffd1}#app{min-height:100vh;min-height:100dvh;position:relative;overflow:hidden}button{font-family:inherit}
