html,body{color:#eee;background:#0b0a09;width:100%;height:100%;margin:0;padding:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block}#ui-root{pointer-events:none;position:fixed;inset:0}#ui-root .interactive{pointer-events:auto}.loading{z-index:10;cursor:default;background:#0b0a09;justify-content:center;align-items:center;transition:opacity 1.1s;display:flex;position:fixed;inset:0}.loading.ready{cursor:pointer;background:#08070659}.loading.hidden{opacity:0;pointer-events:none}.loading-inner{text-align:center;width:min(360px,80vw)}.loading .title{letter-spacing:.5em;color:#e8e2da;margin-bottom:28px;padding-left:.5em;font-size:44px;font-weight:300}.loading .bar{background:#ffffff1f;height:2px;overflow:hidden}.loading .bar>div{background:#e8d9c4;width:0;height:100%;transition:width .3s}.loading.ready .bar{opacity:0}.loading .label{letter-spacing:.12em;color:#b8b0a6;text-transform:uppercase;margin-top:14px;font-size:13px}.loading.ready .label{color:#f2ece4;font-size:15px;animation:2.4s ease-in-out infinite pulse}.loading.err .label{color:#ff9a8a;text-transform:none}@keyframes pulse{50%{opacity:.45}}.hud{pointer-events:none;font-family:Segoe UI,system-ui,sans-serif;position:fixed;inset:0}.hud-objective{letter-spacing:.28em;text-transform:uppercase;color:#f4eee6;opacity:0;text-shadow:0 1px 8px #0009;font-size:13px;transition:opacity 1.2s;position:absolute;top:30px;left:36px}.hud-objective.on{opacity:.85}.hud-thought{text-align:center;color:#fbf6ef;opacity:0;text-shadow:0 1px 10px #000000bf,0 0 2px #00000080;max-width:60vw;font-size:19px;font-style:italic;transition:opacity .6s;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.hud-thought.on{opacity:1}.hud-prompt{letter-spacing:.06em;color:#fff;opacity:0;text-shadow:0 1px 6px #000c;font-size:14px;transition:opacity .25s;position:absolute;bottom:6.5%;left:50%;transform:translate(-50%)}.hud-prompt.on{opacity:.95}.hud-prompt .key{text-align:center;background:#00000040;border:1px solid #ffffffbf;border-radius:4px;min-width:20px;margin-right:8px;padding:1px 6px;font-size:12px;display:inline-block}.hud-fade{opacity:0;background:#000;position:absolute;inset:0}.hud-card{opacity:0;color:#f3ede5;flex-direction:column;justify-content:center;align-items:center;transition:opacity 2s;display:flex;position:absolute;inset:0}.hud-card.on{opacity:1}.hud-card .t{letter-spacing:.4em;font-size:34px;font-weight:300}.hud-card .s{letter-spacing:.15em;opacity:.8;margin-top:16px;font-size:15px}.pause{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;color:#eee7de;background:#0a08068c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.pause.on{display:flex}.pause .panel{background:#14110ed1;border:1px solid #ffffff14;border-radius:10px;width:min(460px,90vw);padding:34px 40px}.pause h2{letter-spacing:.35em;margin:0 0 22px;font-size:20px;font-weight:300}.pause button{color:#f1ebe3;letter-spacing:.08em;cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;width:100%;margin:8px 0;padding:11px 14px;font-size:14px;display:block}.pause button:hover{background:#ffffff24}.pause .row{letter-spacing:.05em;justify-content:space-between;align-items:center;margin:12px 0;font-size:13px;display:flex}.pause .row select,.pause .row input[type=range]{width:55%}.pause .controls{opacity:.9;font-size:13px;line-height:1.9}.pause .controls b{color:#fff;min-width:110px;font-weight:600;display:inline-block}.pause .hint{opacity:.6;margin-top:18px;font-size:12px}.hud-card .card-btn{color:#f3ede5;letter-spacing:.22em;cursor:pointer;pointer-events:auto;background:#ffffff14;border:1px solid #ffffff40;border-radius:6px;margin-top:34px;padding:12px 26px;font-size:13px}.hud-card .card-btn:hover{background:#ffffff2e}.loading .choices{flex-direction:column;gap:10px;margin-top:26px;display:flex}.loading .choices button{color:#f1ebe3;letter-spacing:.14em;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:6px;padding:12px 18px;font-size:13px}.loading .choices button:hover{background:#ffffff26}.loading .choices button small{opacity:.6;letter-spacing:.08em;margin-top:3px;font-size:11px;display:block}
