:root{color:#efece2;font-synthesis:none;background:#283a37;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#world{width:100%;height:100%;display:block;position:fixed;inset:0}header,footer{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;left:38px;right:38px}header{top:30px}.brand{color:inherit;letter-spacing:-1px;pointer-events:auto;font-family:Georgia,serif;font-size:32px;text-decoration:none}.badge{letter-spacing:1.5px;background:#23312dd9;border:1px solid #d4d9bf25;border-radius:30px;align-items:center;gap:9px;padding:12px 16px;font-size:10px;display:flex}.badge i{background:#c2d49e;border-radius:100%;width:6px;height:6px}#panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#20322fed;border:1px solid #d6dfcb30;border-radius:3px;width:374px;max-height:calc(100dvh - 166px);padding:26px 28px 22px;position:fixed;top:96px;left:38px;overflow:auto;box-shadow:0 20px 80px #15272344}.tabs{border-bottom:1px solid #fff2;gap:24px;margin-bottom:19px;display:flex}.tabs button{color:#9cafa4;background:0 0;border:0;padding:0 0 12px;font-size:12px}.tabs .active{color:#f5de9c;border-bottom:2px solid #e3c981}label{letter-spacing:.4px;color:#cdd6c8;margin:0 0 14px;font-size:10px;display:block}label span{color:#84968c;margin-left:5px;font-size:9px}input,select{color:#eeeade;background:#14272066;border:1px solid #d4dfcb30;border-radius:3px;outline:none;width:100%;margin-top:7px;padding:11px;font-size:12px;display:block}input:focus,select:focus{border-color:#dac483}select option{background:#20322f}button{transition:background .15s}button:hover{filter:brightness(1.12)}.primary,.secondary{border-radius:3px;width:100%;padding:13px 16px;font-size:12px}.primary{color:#24352c;background:#e3cc8d;border:1px solid #e3cc8d;justify-content:space-between;font-weight:600;display:flex}.secondary{color:#dfdfd0;background:0 0;border:1px solid #d4dfcb30;margin-top:9px}.note{color:#91a69a;margin:16px 0 0;font-size:10px;line-height:1.8}.row{gap:10px;display:flex}.row label{flex:1;min-width:0}.actions{margin-top:10px}.actions button{color:#d2d9c9;background:#ffffff08;border:1px solid #d4dfcb25;border-radius:3px;flex:1;padding:9px 4px;font-size:10px}#status{color:#e3cc8d;margin:13px 0 0;font-size:11px;line-height:1.6}#status:empty{display:none}footer{letter-spacing:1.3px;color:#e0e6cf;text-shadow:0 1px 4px #122b24;font-size:9px;bottom:24px}#help{white-space:nowrap;color:#bdcbbc;pointer-events:none;background:#1b302dcc;border:1px solid #e4e9d225;border-radius:3px;padding:13px 18px;font-size:10px;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}#help span{color:#f3e6be;margin-left:16px;font-size:9px}#help span:first-child{margin-left:0}#crosshair{pointer-events:none;width:16px;height:16px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#crosshair span{background:#fffbe7d9;position:absolute;box-shadow:0 0 3px #0007}#crosshair span:first-child{width:12px;height:2px;top:7px;left:2px}#crosshair span:last-child{width:2px;height:12px;top:2px;left:7px}#hud{text-shadow:0 1px 6px #152b21;pointer-events:none;position:fixed;top:126px;left:38px}.hud-label{letter-spacing:2px;font-size:11px}#room-label{color:#dce3cb;margin-top:9px;font-size:10px}@media (max-height:850px){#panel{padding:20px 24px}#help{white-space:normal;max-width:calc(100vw - 460px);line-height:2;left:auto;right:38px;transform:none}}@media (max-width:720px){header,footer{left:18px;right:18px}#panel{width:calc(100vw - 36px);max-width:374px;top:96px;left:18px}#help{display:none}.badge{font-size:8px}footer{font-size:7px}footer span:last-child{display:none}}#tuning-panel{z-index:5;background:#20322ff5;border:1px solid #d6dfcb55;border-radius:6px;width:430px;max-width:calc(100vw - 36px);padding:24px;position:fixed;top:24px;bottom:24px;right:28px;overflow:auto;box-shadow:0 12px 60px #0006}#tuning-panel h2{margin:0 0 10px;font:30px Georgia,serif}#tuning-panel .note{margin:10px 0 16px}.tuning-fields{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.tuning-fields label{font-size:11px}.tuning-fields input{padding:8px;font-size:13px}.tuning-fields input:invalid{border-color:#ef9981}#tuning-panel svg{width:100%;height:90px}#tuning-panel svg text{fill:#cdd6c8;font:10px sans-serif}#tuning-panel .primary{margin-top:12px}.tuning-fields input{cursor:ew-resize;touch-action:pan-y}.tuning-fields input.scrubbing{-webkit-user-select:none;user-select:none;touch-action:none}.toggle{align-items:center;gap:8px;margin-top:16px;display:flex}.toggle input{accent-color:#39ff14;width:auto;margin:0;display:inline-block}#lighting-editor{border:1px solid #d4dfcb30;border-radius:3px;margin-top:14px;padding:10px 12px}#lighting-editor summary{cursor:pointer;color:#e3cc8d;font-size:12px}.lighting-controls{padding-top:16px}.lighting-controls label{margin:0 0 4px}.lighting-field{align-items:center;gap:10px;margin-bottom:15px;display:flex}.lighting-field input{margin:0}.lighting-field input[type=range]{accent-color:#e3cc8d;flex:1;min-width:0;padding:0}.lighting-field input[type=number]{width:72px;padding:7px}.lighting-field input[type=color]{width:100%;height:34px;padding:3px}#tuning-panel section{border-top:1px solid #d6dfcb33;margin-top:24px;padding-top:16px}#tuning-panel h3{margin:0 0 16px;font-size:18px}#tuning-panel h4{color:#e3cc8d;letter-spacing:.04em;margin:20px 0 10px;font-size:12px}#tuning-panel h3+h4{margin-top:0}#tuning-panel h4+.note{margin:0 0 12px;font-size:11px}#game-hud{pointer-events:none;color:#fff;text-shadow:0 1px 4px #000;font:500 20px/1.4 sans-serif;position:fixed;inset:0}#game-score{position:absolute;top:24px;left:24px}body.play-mode #help,body.play-mode #game-score,body.play-mode #stats{display:none}#round-timer{font-variant-numeric:tabular-nums;position:absolute;top:24px;left:50%;transform:translate(-50%)}#leaderboard-panel{position:absolute;top:24px;right:24px}#leaderboard-panel h2{margin:0 0 8px;font-size:16px}#leaderboard{margin:0;padding-left:28px;font-size:14px}#game-hud.game-over{z-index:4;background:#12231ff5}#game-hud.game-over #leaderboard-panel{width:min(600px,90vw);max-height:85vh;top:50%;left:50%;right:auto;overflow:auto;transform:translate(-50%,-50%)}#game-hud.game-over h1{margin:0 0 24px;font-size:56px}#game-hud.game-over h2{font-size:28px}#game-hud.game-over #leaderboard{font-size:24px}#game-hud.game-over #round-timer,#game-hud.game-over #game-score{display:none}body:has(#game-hud.game-over:not([hidden])) #crosshair{display:none}#leaderboard li[data-self=true]{font-weight:700}.scoring-active header{display:none}#score-ring{pointer-events:none;color:#ffd75a;width:56px;height:56px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}#score-ring>svg{opacity:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}#score-ring.running>svg{opacity:1}#score-ring circle{fill:none;stroke-width:3px}#score-ring .score-ring-track{stroke:#18231eaa}#score-ring .score-ring-fill{stroke:currentColor;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px}#score-ring.cancelled{color:#ff4545}.score-ring-award{color:#ffd75a;position:absolute;inset:0}.score-ring-burst{box-sizing:border-box;border:3px solid;border-radius:50%;position:absolute;inset:3px}.cat-score-popup{text-align:center;pointer-events:none;color:#fff;text-shadow:0 1px 4px #18231e;white-space:nowrap;position:fixed;transform:translate(-50%,-100%)}.cat-score-popup span{font:600 14px/1.3 sans-serif;display:block}.cat-score-popup strong{color:#ffd75a;font:700 24px/1.2 sans-serif;display:block}.cat-score-popup.cancelled{color:#ff4545}.cat-score-popup.too-hungry{color:#ffd75a}.cat-score-popup.too-hungry span{font:700 20px/1.3 sans-serif}#hunger{color:#fff;text-align:center;text-shadow:0 1px 4px #000;pointer-events:none;width:min(240px,45vw);font:500 16px/1.4 sans-serif;position:fixed;top:60px;left:50%;transform:translate(-50%)}.hunger-track{background:#0005;border:1px solid #ffffffa0;height:8px;margin-top:4px;box-shadow:0 1px 4px #0006}.hunger-fill{transform-origin:0;background:#fff;height:100%;transform:scaleX(0)}#hunger.full .hunger-fill{background:#ffd75a}.scored-on-vignette{pointer-events:none;opacity:0;background:radial-gradient(#0000 35%,#be000059 70%,#dc0000cc 100%);position:absolute;inset:0}
