:root{--bg: #0b1120;--panel-bg: rgba(12, 18, 32, .92);--panel-border: rgba(160, 180, 220, .15);--fg: #f2f4f8;--muted: #8a94a8;--accent: #f0aed4;--accent-ink: #1a0a15;--danger: #e06c6c;--hunger: #e8c547;--stamina: #7cc0ff;font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--fg);overflow:hidden;position:relative}#game{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:crosshair}.screen-only{display:none}body[data-screen=playing] #hud,body[data-screen=paused] #hud,body[data-screen=gameover] #hud,body[data-screen=leaderboard] #hud{display:flex;flex-direction:column;justify-content:space-between}body[data-screen=paused] #pause,body[data-screen=gameover] #gameover,body[data-screen=leaderboard] #leaderboard{display:flex}#click-to-play{display:none}body[data-screen=playing]:not([data-pointer-locked]) #click-to-play{display:flex}#hud{position:absolute;inset:0;pointer-events:none;padding:1.5rem}.hud-event:empty{display:none}.hud-top{display:flex;justify-content:space-between;gap:1rem}.hud-stat .label{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.hud-stat .value{font-size:2rem;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.7)}.hud-bars{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;max-width:320px}.bar{display:flex;flex-direction:column;gap:.2rem}.bar span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}progress{appearance:none;-webkit-appearance:none;width:100%;height:10px;background:#00000080;border:1px solid var(--panel-border);border-radius:2px;overflow:hidden}progress::-webkit-progress-bar{background:#00000080}progress::-webkit-progress-value{background:var(--hunger);transition:width .15s linear}progress::-moz-progress-bar{background:var(--hunger)}progress.stamina::-webkit-progress-value{background:var(--stamina)}progress.stamina::-moz-progress-bar{background:var(--stamina)}.hud-event{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;padding:.4rem .8rem;background:#000000a6;border-radius:3px;pointer-events:none}.hud-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff9;font-size:1.2rem;pointer-events:none;user-select:none}.click-to-play{position:absolute;inset:0;align-items:center;justify-content:center;background:#00000059;backdrop-filter:blur(3px);pointer-events:none;z-index:5}.click-to-play .panel.small{max-width:380px;text-align:center;padding:1.5rem 2rem}.click-to-play h1{margin:0 0 .5rem;font-size:2.4rem;color:var(--accent)}.click-to-play p{margin:.3rem 0;color:var(--muted)}.click-to-play p.hint{margin-top:1rem;color:var(--fg);font-size:.85rem}.overlay{position:absolute;inset:0;align-items:center;justify-content:center;background:#0009;backdrop-filter:blur(6px);z-index:10;padding:2rem}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:6px;padding:2rem 2.5rem;max-width:440px;width:100%;box-shadow:0 20px 60px #00000080}.panel.wide{max-width:620px}.panel h1{margin:0 0 .5rem;font-size:3rem;letter-spacing:-.02em;color:var(--accent)}.panel h2{margin:0 0 1rem;font-size:1.8rem}.panel .tagline{color:var(--muted);margin:0 0 2rem}.panel .reason{color:var(--danger);margin-bottom:1rem}.panel button{display:block;width:100%;margin:.5rem 0;padding:.8rem;font:inherit;font-weight:600;color:var(--accent-ink);background:var(--accent);border:none;border-radius:3px;cursor:pointer;transition:transform .1s,filter .1s}.panel button:hover:not(:disabled){filter:brightness(1.1)}.panel button:active:not(:disabled){transform:translateY(1px)}.panel button:disabled{opacity:.6;cursor:wait}.panel button+button{background:transparent;color:var(--fg);border:1px solid var(--panel-border)}.panel button+button:hover{background:#ffffff0d}.panel footer{margin-top:1.5rem;color:var(--muted);text-align:center}kbd{display:inline-block;padding:.1em .4em;margin:0 .1em;font:inherit;font-size:.85em;color:var(--fg);background:#ffffff14;border:1px solid var(--panel-border);border-radius:3px}ul.controls{list-style:none;padding:0;margin:0 0 1rem}ul.controls li{padding:.35rem 0;color:var(--muted)}ul.controls li kbd{color:var(--fg)}.submit-form{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.submit-form label{display:flex;flex-direction:column;gap:.3rem}.submit-form label span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.submit-form input{padding:.6rem;font:inherit;color:var(--fg);background:#0006;border:1px solid var(--panel-border);border-radius:3px}.submit-form .error{color:var(--danger);margin:0}.submitted{color:var(--accent);margin:1rem 0}.actions{display:flex;gap:.5rem;margin-top:1rem}.actions button{margin:0;flex:1}dl.summary{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:1rem 0}dl.summary dt{color:var(--muted)}dl.summary dd{margin:0;font-weight:600}ol.leaderboard{list-style:none;padding:0;margin:1rem 0;max-height:400px;overflow-y:auto}ol.leaderboard li{display:grid;grid-template-columns:2rem 1fr auto auto;gap:1rem;padding:.5rem;border-bottom:1px solid var(--panel-border)}ol.leaderboard li .rank{color:var(--muted);text-align:right}ol.leaderboard li .name{font-weight:600}ol.leaderboard li .score{color:var(--accent)}ol.leaderboard li .items{color:var(--muted);font-size:.85em}.empty{color:var(--muted);text-align:center;padding:2rem 0}
