:root{--bg: #0a0a0c;--fg: #e9e9ec;--dim: #6f6f76;--accent: #c8c8d4}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--fg);font-family:Helvetica Neue,Arial,sans-serif;font-weight:200;overflow:hidden;cursor:none}body{user-select:none;-webkit-user-select:none}#app{position:fixed;inset:0}#scene{position:absolute;inset:0;width:100%;height:100%;display:block}#overlay{position:absolute;inset:0;pointer-events:none;z-index:2}#title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;letter-spacing:.18em;text-transform:uppercase;font-size:13px;color:var(--accent);mix-blend-mode:difference;text-shadow:0 0 12px rgba(0,0,0,.6);transition:opacity .4s ease}#title .line{display:block}#title .small{font-size:9px;letter-spacing:.4em;color:var(--dim);margin-top:8px}#title.hidden{opacity:0}#audio-toggle{position:absolute;bottom:24px;right:28px;background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--fg);font:inherit;font-size:10px;letter-spacing:.3em;padding:8px 14px;cursor:pointer;pointer-events:auto;transition:border-color .2s,background .2s}#audio-toggle:hover{border-color:#ffffff59;background:#ffffff0a}#audio-toggle .off,#audio-toggle.muted .on{display:none}#audio-toggle.muted .off{display:inline;color:var(--dim)}#ca-bar{position:absolute;top:28px;left:50%;transform:translate(-50%);display:inline-flex;align-items:baseline;gap:10px;background:transparent;border:none;padding:0;color:var(--dim);font:inherit;font-size:10px;letter-spacing:.35em;text-transform:uppercase;cursor:pointer;pointer-events:auto;white-space:nowrap;mix-blend-mode:difference;transition:opacity .25s ease,transform .25s ease,color .2s}#ca-bar:hover{color:var(--fg)}#ca-bar:hover .ca-action{opacity:1}#ca-bar .ca-label{font-weight:600;color:var(--accent);letter-spacing:.4em}#ca-bar .ca-value{color:var(--dim);letter-spacing:.22em;font-family:SFMono-Regular,Consolas,Menlo,monospace;text-transform:none;font-size:10px}#ca-bar .ca-action{color:#8a8a92;font-size:9px;letter-spacing:.3em;opacity:0;transition:opacity .2s ease}#ca-bar.copied .ca-value{color:#72e69e}#ca-bar.copied .ca-action{color:#72e69e;opacity:1}body.in-interactive #ca-bar{opacity:0;transform:translate(-50%,-6px);pointer-events:none}#exit-btn{position:absolute;top:24px;left:28px;background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--fg);font:inherit;font-size:10px;letter-spacing:.3em;padding:8px 14px;cursor:pointer;pointer-events:auto;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,border-color .2s,background .2s}#exit-btn:hover{border-color:#ffffff73;background:#ffffff0d}body.in-interactive #exit-btn{opacity:1;transform:translateY(0);pointer-events:auto}#hint{position:absolute;bottom:28px;left:28px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);opacity:0;animation:hintFade 1.2s ease 1.2s forwards}#hint .active,body.in-interactive #hint .idle{display:none}body.in-interactive #hint .active{display:inline;color:#c8c8d4}@keyframes hintFade{to{opacity:1}}#loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:var(--bg);z-index:10;transition:opacity .6s ease}#loader.done{opacity:0;pointer-events:none}#loader .bar{width:160px;height:1px;background:#ffffff14;overflow:hidden}#loader .bar span{display:block;height:100%;width:0%;background:var(--fg);transition:width .25s ease}#loader .lbl{font-size:9px;letter-spacing:.4em;color:var(--dim);text-transform:uppercase}#cursor{position:fixed;top:0;left:0;width:18px;height:18px;border:1px solid rgba(255,255,255,.6);border-radius:50%;pointer-events:none;z-index:100;transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,background .18s ease;mix-blend-mode:difference}#cursor.hover{width:38px;height:38px;background:#ffffff0d}#cursor.holding{width:64px;height:64px;background:#ffffff1f;border-color:#ffffffe6}
