:root{--bg:#0d0809;--panel:#1a1112;--panel2:#241719;--fg:#ece6df;--dim:#a19189;--accent:#ff5a1f;--accent2:#ffb23f;--good:#46c25f;--mid:#e3b341;--bad:#d8453a;--line:#3a2628;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}html,body{touch-action:manipulation;overscroll-behavior:none;background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 50% -10%, #3a1410 0%, var(--bg) 60%) no-repeat, var(--bg)}a{color:var(--accent2)}button,select,input{font:inherit;color:inherit}button{background:var(--panel2);border:2px solid var(--line);cursor:pointer;touch-action:manipulation;border-radius:6px;min-height:44px;padding:.6em 1em}button:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}button.primary{background:var(--accent);color:#1a0a06;text-transform:uppercase;letter-spacing:.04em;border-color:#ff8a55;font-weight:800}button.primary:hover{background:#ff7440}button.big{width:100%;padding:.8em 1em;font-size:1.15rem}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.dim{color:var(--dim)}.small{font-size:.82rem}.screen{max-width:760px;padding:max(16px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 40px max(14px, env(safe-area-inset-left));margin:0 auto}.brand{text-align:center;padding:18px 0 8px}h1{letter-spacing:.08em;text-shadow:0 3px #5a1a0a,0 0 28px #ff5a1f66;margin:0;font-size:clamp(2.6rem,12vw,4.6rem);line-height:1}h1 span,.small-title span{color:var(--accent)}h1.small-title{text-align:center;text-shadow:0 2px #5a1a0a;margin:14px 0;font-size:clamp(1.4rem,6vw,2rem)}.tag{color:var(--dim);margin:.5em 0 0}h2{text-transform:uppercase;letter-spacing:.1em;color:var(--accent2);margin:.4em 0 .5em;font-size:1.05rem}.card{background:linear-gradient(180deg, var(--panel), #150d0e);border:2px solid var(--line);border-radius:10px;margin:14px 0;padding:16px;box-shadow:0 6px 24px #0008}.daybar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6em;display:flex}.daybar strong{font-size:1.2rem}.row{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.row>button{flex:180px}nav.row{justify-content:center}.foot{text-align:center;color:var(--dim);margin-top:24px;font-size:.85rem}.challenges{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.challenges li{background:var(--panel2);border:1px solid var(--line);border-radius:8px;grid-template-columns:2.2rem 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.challenges .ic{text-align:center;font-size:1.5rem}.challenges .ti{font-weight:700}.challenges .de{color:var(--dim);font-size:.85rem;display:block}.challenges .pts{color:var(--accent2);white-space:nowrap;font-weight:800}.results li.full{border-color:var(--good)}.results li.part{border-color:var(--mid)}.results li.none{border-color:var(--bad);opacity:.85}.results .bar{background:#0006;border-radius:3px;grid-column:2/4;height:6px;overflow:hidden}.results .bar i{background:var(--good);height:100%;display:block}.results li.part .bar i{background:var(--mid)}.results li.none .bar i{background:var(--bad)}label.name{align-items:center;gap:10px;margin:8px 0;display:flex}input[type=text],#name{border:2px solid var(--line);background:#0007;border-radius:6px;flex:1;min-height:44px;padding:.6em .7em}.hint{color:var(--dim);min-height:1.2em;margin:.5em 0 0;font-size:.85rem}.bigscore{color:var(--accent2);text-shadow:0 2px #5a3a0a;margin:.1em 0;font-size:clamp(2.2rem,9vw,3.4rem);font-weight:900}#res-status{margin:0;font-size:1.4rem}.share-text{border:1px dashed var(--line);white-space:pre-wrap;word-break:break-word;background:#0008;border-radius:6px;margin:12px 0;padding:10px;font-size:.9rem}.wrap{flex-wrap:wrap}.wrap>button,.wrap>a.btn{flex:110px}a.btn{background:var(--panel2);border:2px solid var(--line);min-height:44px;color:var(--fg);border-radius:6px;justify-content:center;align-items:center;padding:.6em .8em;text-decoration:none;display:inline-flex}a.btn:hover{border-color:var(--accent)}.tabs{gap:6px;margin-bottom:10px;display:flex}.tabs button{flex:1}.tabs button.on{background:var(--accent);color:#1a0a06;border-color:#ff8a55;font-weight:800}.tablewrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}#board-table th{text-align:left;color:var(--dim);text-transform:uppercase;padding:4px 6px;font-size:.75rem;font-weight:600}#board-table td{border-top:1px solid var(--line);white-space:nowrap;padding:8px 6px}#board-table tr.me td{background:#ff5a1f22}#board-table td.name{text-overflow:ellipsis;max-width:9.5em;overflow:hidden}#board-table .num{text-align:right;font-variant-numeric:tabular-nums}#board-table tr.dead td{color:var(--dim)}.pips{gap:2px;display:inline-flex}.pips i{background:var(--bad);border-radius:2px;width:9px;height:9px}.pips i.p{background:var(--mid)}.pips i.f{background:var(--good)}.watch{min-height:34px;padding:.2em .6em}.prose p,.prose li{line-height:1.55}.controls th{text-align:left;color:var(--accent2);vertical-align:top;padding:4px 12px 4px 0}.controls td{padding:4px 0}#stage,#stage *{touch-action:none}#stage{z-index:10;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}#view{background:#000;flex:auto;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}#screen{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;cursor:crosshair;background:#000}#hud{pointer-events:none;text-shadow:0 2px #000,0 0 6px #000;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));font-size:clamp(14px,2.6vmin,24px);font-weight:800;position:absolute;inset:0}#hud-top{justify-content:space-between;gap:1em;display:flex}#hud-ch{flex-wrap:wrap;gap:.5em;margin-top:.4em;display:flex}#hud-ch span{border-bottom:3px solid var(--bad);background:#000a;border-radius:4px;padding:0 .4em}#hud-ch span.p{border-color:var(--mid)}#hud-ch span.f{border-color:var(--good)}#hud-bottom{left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));justify-content:space-between;font-size:1.6em;display:flex;position:absolute}#hud-hp:before{content:"♥ ";color:var(--bad)}#hud-ammo{color:var(--accent2)}#flash{pointer-events:none;background:0 0;transition:background 80ms;position:absolute;inset:0}#toast{z-index:20;border:2px solid var(--accent);pointer-events:none;background:#000b;border-radius:6px;padding:.4em 1em;font-weight:800;position:absolute;top:28%;left:50%;transform:translate(-50%)}#overlay{z-index:20;text-align:center;background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0;overflow:auto}#overlay h2{color:var(--accent);text-shadow:0 3px #5a1a0a;margin:0;font-size:clamp(1.4rem,6vw,2.4rem)}#overlay p{max-width:34em;color:var(--fg);margin:0}#overlay button{min-width:12em}#overlay .set{text-align:left;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;display:grid}#rbar{z-index:20;padding:8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:linear-gradient(#0000,#000d);align-items:center;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}#rbar input[type=range]{min-width:0;accent-color:var(--accent);flex:1}#rbar button,#rbar select{border:2px solid var(--line);background:#000a;border-radius:6px;min-height:40px;padding:0 .7em}#rbar #r-time{font-variant-numeric:tabular-nums;text-align:right;min-width:3.6em}#pad{touch-action:none;display:none;position:relative}body.touch #pad{display:block}#lookzone{z-index:1;touch-action:none;position:fixed;inset:0}#stick{z-index:3;left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));touch-action:none;background:#ffffff14;border:2px solid #fff4;border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:absolute}#knob{pointer-events:none;background:#ff5a1fcc;border:2px solid #ffd2b8;border-radius:50%;width:64px;height:64px}#btns{z-index:3;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));grid-template-columns:auto auto;place-items:end;gap:14px;display:grid;position:absolute}#btns button{color:#fff;touch-action:none;background:#ffffff1c;border:2px solid #fff5;border-radius:50%;width:64px;height:64px;padding:0;font-weight:800}#btns #btn-fire{background:#ff5a1fbb;grid-area:1/2/span 2;width:104px;height:104px}#btns #btn-use{grid-area:2/1}#btns #btn-weapon{grid-area:1/1}#btns button.down{background:#ffb23fdd}#btn-pause{z-index:3;top:max(8px, env(safe-area-inset-top));background:#0008;width:44px;min-height:36px;padding:0;position:absolute;left:50%;transform:translate(-50%)}@media (orientation:portrait){body.touch #stage{display:flex}body.touch #pad{border-top:2px solid var(--line);background:linear-gradient(#120a0a,#1c0f0d);flex:1 1 0;min-height:200px}body.touch #pad #lookzone{position:absolute;inset:0}body.touch #stick,body.touch #btns{bottom:max(18px, env(safe-area-inset-bottom))}body.touch #btn-pause{top:8px}body.touch #view{aspect-ratio:16/10;flex:none;width:100%;max-height:60dvh}body.touch #screen{height:100%}}@media (orientation:landscape){body.touch #pad{pointer-events:none;position:absolute;inset:0}body.touch #pad>*,body.touch #pad #lookzone{pointer-events:auto}body.touch #stage #view{position:absolute;inset:0}#hud-bottom{font-size:1.3em}}@media (height<=460px) and (orientation:landscape){#stick{width:120px;height:120px}#knob,#btns button{width:52px;height:52px}#btns #btn-fire{width:84px;height:84px}}@media (width<=520px){.card{padding:12px}.challenges li{grid-template-columns:1.8rem 1fr auto;padding:6px 8px}}#analysis{z-index:30;padding:max(14px, env(safe-area-inset-top)) 14px 30px;background:#000d;position:fixed;inset:0;overflow:auto}#analysis .inner{background:var(--panel);border:2px solid var(--line);border-radius:10px;max-width:640px;margin:0 auto;padding:16px}#analysis h3{color:var(--accent2);text-transform:uppercase;letter-spacing:.08em;margin:1em 0 .4em;font-size:.95rem}#analysis .grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}#analysis .grid div{background:var(--panel2);border-radius:6px;padding:8px}#analysis .grid b{font-size:1.15rem;display:block}#analysis ol{max-height:220px;margin:0;padding-left:2.4em;font-size:.88rem;overflow:auto}#analysis ol li{cursor:pointer;padding:1px 0}#analysis ol li:hover{color:var(--accent2)}.flag{color:#ffd166}.ok{color:var(--good)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#stage.replay #pad{display:none!important}#stage.replay #view{aspect-ratio:auto!important;flex:auto!important;max-height:none!important;position:relative!important;inset:auto!important}#stage.replay #hud-bottom{bottom:64px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}button.linkish{min-height:0;color:var(--accent2);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.foot button.linkish{display:inline}#hud-bottom .hp:before{content:"♥ ";color:var(--bad)}#hud-bottom .ammo{color:var(--accent2)}#main-stage{display:contents}#analysis ol li button{font-size:.88rem}#stage #overlay,#stage #overlay *,#stage #rbar,#stage #rbar *{touch-action:pan-x pan-y}
