*{box-sizing:border-box}html,body{color:#e8e6f0;background:#05030a;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}.overlay{z-index:10;background:#05030ab8;justify-content:center;align-items:center;padding:1rem 0;display:flex;position:fixed;inset:0;overflow-y:auto}.overlay[hidden]{display:none}.panel{background:#12101c;border:1px solid #362f52;border-radius:12px;flex-direction:column;gap:.5rem;min-width:280px;padding:2rem;display:flex}.panel h1{text-align:center;color:#c9baff;margin:0 0 .5rem;font-size:1.4rem}#name-input{color:#e8e6f0;background:#1c1930;border:1px solid #4a4270;border-radius:8px;padding:.6rem .75rem;font-size:1rem}#name-counter{color:#8a83a8;text-align:right;font-size:.75rem}.error{color:#ff6b81;min-height:1.1em;font-size:.8rem}#join-button{color:#fff;cursor:pointer;background:#7c5cff;border:none;border-radius:8px;padding:.6rem .75rem;font-size:1rem}#join-button:hover{background:#8f70ff}.death-reason{color:#ff9a6b;text-align:center;font-size:1.1rem;font-weight:600}.death-stats{color:#c9baff;text-align:center;margin-bottom:.5rem;font-size:.85rem}#restart-button{color:#fff;cursor:pointer;background:#7c5cff;border:none;border-radius:8px;padding:.6rem .75rem;font-size:1rem}#restart-button:hover{background:#8f70ff}#hud{z-index:5;color:#e8e6f0;text-shadow:0 1px 2px #000;pointer-events:none;flex-direction:column;gap:4px;min-width:160px;font-size:.9rem;display:flex;position:fixed;top:12px;left:12px}#hud-heat-bar{background:#ffffff26;border-radius:4px;width:140px;height:8px;overflow:hidden}#hud-heat-fill{background:#7c5cff;width:0%;height:100%;transition:width .1s linear,background .2s linear}#hud-heat-fill.hot{background:#ff4d4d}#hud-sats{gap:4px;display:flex}.sat-pip{background:#ffffff1f;border:1px solid #ffffff4d;border-radius:50%;width:10px;height:10px}.sat-pip.filled{background:#ff6bd6;border-color:#ff9bd6}#hud-skills{gap:6px;display:flex}.skill-pip{text-align:center;background:#7c5cff40;border:1px solid #7c5cff80;border-radius:6px;min-width:56px;padding:2px 8px;font-size:.75rem}.skill-pip.ready{background:#7aff9b40;border-color:#7aff9b99}.skill-pip.active{background:#7affff4d;border-color:#7affffcc}#leaderboard{z-index:5;pointer-events:none;text-shadow:0 1px 2px #000;background:#12101cbf;border:1px solid #362f52;border-radius:10px;min-width:150px;max-width:220px;padding:8px 12px;position:fixed;top:12px;right:12px}.lb-title{color:#c9baff;text-align:center;margin-bottom:4px;font-size:.8rem;font-weight:600}#lb-list{color:#e8e6f0;margin:0;padding:0;font-size:.8rem;list-style:inside decimal}#lb-list li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#controls-hint{z-index:5;color:#e8e6f0a6;pointer-events:none;background:#05030a66;border-radius:8px;padding:4px 10px;font-size:.75rem;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}.banner{text-align:center;color:#ffd0dc;z-index:20;background:#4a1330;padding:.5rem;position:fixed;top:0;left:0;right:0}.banner[hidden]{display:none}#name-entry .panel{max-width:30rem;max-height:88vh;overflow-y:auto}.tagline{color:#b8b2cf;text-align:center;margin:0 0 .25rem;font-size:.9rem;line-height:1.5}.tagline strong{color:#c9baff;font-weight:600}.no-signup{color:#8a83a8;text-align:center;margin:0;font-size:.75rem}.how-to{color:#b8b2cf;border-top:1px solid #2a2542;margin-top:.25rem;padding-top:.6rem;font-size:.82rem}.how-to summary{cursor:pointer;color:#c9baff;font-weight:600;list-style:none}.how-to summary::-webkit-details-marker{display:none}.how-to summary:before{content:"▸ ";transition:transform .12s;display:inline-block}.how-to[open] summary:before{transform:rotate(90deg)}.how-to ul{margin:.6rem 0 0;padding-left:1.1rem;line-height:1.6}.how-to b{color:#e8e6f0}.donate{color:#8a83a8;text-align:center;margin:.4rem 0 0;font-size:.8rem}.donate a{color:#ffcf6b;border-bottom:1px dotted #8a7442;padding-bottom:1px;text-decoration:none}.donate a:hover,.donate a:focus-visible{color:#ffe1a0;border-bottom-style:solid}#death-screen .donate{border-top:1px solid #2a2542;margin-top:.6rem;padding-top:.6rem}
