@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--scale: 1;--bg: #050a07;--panel: #0a130d;--fg: #9dffb0;--bright: #e6fff0;--dim: #4f9166;--faint: #2a4f37;--amber: #ffcf66;--red: #ff7a6b;--cyan: #7fe9ff;--pink: #ff9df0;--glow: 0 0 6px color-mix(in srgb, currentColor 55%, transparent);color-scheme:dark}:root[data-contrast=high]{--bg: #000;--panel: #0b0b0b;--fg: #ffffff;--bright: #ffffff;--dim: #b8b8b8;--faint: #6a6a6a;--amber: #ffd400;--red: #ff8ad1;--cyan: #6fd3ff;--pink: #ffb000}:root[data-crt=off]{--glow: none}*{box-sizing:border-box}html{font-size:calc(15px * var(--scale));-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,Consolas,Courier New,monospace;line-height:1.45;text-shadow:var(--glow);overscroll-behavior:none}h1,h2,p,pre,ol,ul,table{margin:0}ol,ul{padding:0;list-style:none}b{color:var(--bright);font-weight:600}kbd{font:inherit;border:1px solid var(--dim);padding:0 .4em;color:var(--bright)}.crt-overlay{position:fixed;inset:0;pointer-events:none;z-index:50;background:repeating-linear-gradient(to bottom,#0000 0 2px,#00000038 3px),radial-gradient(ellipse at center,#0000 60%,#00000073)}:root[data-crt=off] .crt-overlay{display:none}.btn{font:inherit;color:var(--fg);background:transparent;border:1px solid var(--dim);padding:.55em 1.1em;cursor:pointer;text-shadow:inherit;text-align:center;letter-spacing:.04em}.btn:hover:not(:disabled),.btn.on{background:var(--fg);color:var(--bg);text-shadow:none}.btn:focus-visible,input:focus-visible,select:focus-visible,.tbtn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn.small{padding:.15em .6em;font-size:.85rem}.btn.big{padding:.8em 1.2em;font-weight:600;font-size:1.1rem}.btn small{display:block;font-weight:400;font-size:.78rem;opacity:.8;letter-spacing:0}.screen{min-height:100dvh;padding:1.5rem 1rem 3rem}.title-wrap,.page,.report-wrap{max-width:44rem;margin:0 auto}.title-wrap{text-align:center;padding-top:4vh}.logo{display:inline-block;text-align:left;color:var(--dim);font-size:.95rem;line-height:1.15}h1{font-size:clamp(1.6rem,6vw,2.6rem);letter-spacing:.22em;color:var(--bright);margin:.6rem 0 .4rem;font-weight:600}.tagline{color:var(--dim);margin-bottom:1.6rem}.menu{display:grid;gap:.7rem;max-width:26rem;margin:0 auto 1.5rem}.fine{color:var(--dim);font-size:.85rem;margin:.9rem 0}.status{color:var(--amber);margin:.9rem 0;min-height:1.4em}.page h1{font-size:1.5rem;margin-bottom:1rem}.page h2{font-size:1rem;color:var(--amber);margin:1.4rem 0 .35rem;letter-spacing:.08em}.page p{margin-bottom:.6rem}.page>.btn{margin-top:1.2rem}.tabs{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}table{border-collapse:collapse;width:100%}.board caption{text-align:left;color:var(--amber);padding-bottom:.4rem}.board th,.board td,.rules td{text-align:left;padding:.2rem .6rem .2rem 0;border-bottom:1px dashed var(--faint);vertical-align:top}.board th{color:var(--dim);font-weight:400;font-size:.8rem}.board .r{text-align:right}.board tr.you td{color:var(--cyan)}.rules .g{color:var(--cyan);font-weight:600}.rules td:nth-child(2){white-space:nowrap;color:var(--bright)}.settings{display:grid;gap:.9rem;max-width:30rem}.field{display:grid;gap:.25rem;color:var(--dim);font-size:.85rem}.check{display:flex;gap:.6rem;align-items:center}input[type=text],select{font:inherit;color:var(--bright);background:var(--panel);border:1px solid var(--dim);padding:.45em .6em;text-transform:uppercase}select{text-transform:none}input[type=checkbox],input[type=range]{accent-color:var(--fg);width:1.2em;height:1.2em}input[type=range]{width:100%}.report{border:1px solid var(--dim);background:var(--panel);padding:1rem;overflow-x:auto;font-size:min(.95rem,calc((100vw - 4.2rem) / 34));line-height:1.4;color:var(--fg);width:fit-content;max-width:100%;margin:0 auto}.report-wrap{text-align:center}.report-wrap .report{text-align:left}.report-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;align-items:end;margin-top:1.2rem}.report-actions .field{text-align:left}.screen.game{height:100dvh;min-height:0;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.5rem;overflow:hidden}.screen.game[hidden]{display:none}.hud{border:1px solid var(--faint);background:var(--panel);padding:.35rem .7rem}.hud-row{display:flex;flex-wrap:wrap;gap:.1rem 1.4rem;align-items:center;color:var(--dim);font-size:.9rem}.hud-buttons{margin-left:auto;display:flex;gap:.4rem}.meter{display:flex;gap:.8rem;align-items:baseline;white-space:pre;margin-top:.15rem;overflow:hidden}.meter-label{color:var(--dim);font-size:.9rem}.meter.u1 .meter-bar,.meter.u1 .meter-pct{color:var(--amber)}.meter.u2 .meter-bar,.meter.u2 .meter-pct{color:var(--red)}.play{flex:1;min-height:0;display:grid;grid-template-columns:auto minmax(18rem,1fr);gap:.8rem}.tower{position:relative;border:1px solid var(--faint);background:var(--panel);padding:.5rem .7rem;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tower-title{color:var(--dim);font-size:.8rem;letter-spacing:.12em;margin-bottom:.3rem}.building{position:relative;white-space:pre;font-size:min(1.08rem,calc((100vw - 2.6rem) / 29.6));line-height:1.38;--lh: 1.38em;width:49ch;margin:auto 0 0}.building .row{height:1.38em}.building .row.cur{background:color-mix(in srgb,var(--fg) 9%,transparent)}.num,.wall,.track{color:var(--dim)}.unk{color:var(--faint)}.known{color:var(--bright)}.stale{color:var(--amber);opacity:.75}.gone{color:var(--faint);text-decoration:line-through}.key{color:var(--pink)}.wing{color:var(--cyan)}.hint{color:var(--amber)}.w{font-weight:600}.u0 .pb,.w.u0{color:var(--fg)}.u1 .pb,.w.u1{color:var(--amber)}.u2 .pb,.w.u2{color:var(--red)}.w.u2,.blink{animation:blink .7s steps(2,jump-none) infinite}.fl-good{color:var(--bright);font-weight:600}.fl-ok{color:var(--amber)}.fl-bad{color:var(--red);font-weight:600}.car{position:absolute;left:0;top:0;width:5ch;height:1.38em;color:var(--cyan);font-weight:600;background:var(--panel);will-change:transform}.car.open{color:var(--bright)}.shake{animation:shake .5s linear}@keyframes blink{0%{opacity:1}to{opacity:.35}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-.5ch,.1em)}30%{transform:translate(.5ch,-.1em)}45%{transform:translate(-.35ch,.05em)}60%{transform:translate(.35ch)}80%{transform:translate(-.15ch)}}:root[data-motion=reduce] .w.u2,:root[data-motion=reduce] .blink,:root[data-motion=reduce] .shake{animation:none}.banner{padding:.35rem .6rem;border:1px solid var(--amber);background:var(--bg);color:var(--amber);font-size:.85rem;white-space:normal;max-width:49ch}.banner-new{border-color:var(--cyan);color:var(--cyan)}.overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:.8rem;background:color-mix(in srgb,var(--bg) 82%,transparent)}.overlay[hidden]{display:none}.is-paused .overlay{background:var(--bg)}.is-paused .building{visibility:hidden}.overlay-box{max-width:30rem;border:1px solid var(--dim);background:var(--panel);padding:1rem 1.2rem;text-align:center;font-size:.92rem}.overlay-box h2{color:var(--bright);font-size:1.05rem;letter-spacing:.1em;margin-bottom:.6rem}.overlay-box p{margin-bottom:.6rem}.overlay-box .keys{color:var(--dim)}.overlay-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}.radio-line{display:none;font-size:.8rem;color:var(--dim);min-height:2.9em;margin-top:.3rem;white-space:normal;overflow:hidden}.panels{min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;gap:.8rem}.panel{border:1px solid var(--faint);background:var(--panel);padding:.5rem .7rem;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.panel-radio{grid-column:1 / -1;height:11.5em}.panel h2{font-size:.8rem;letter-spacing:.12em;color:var(--dim);font-weight:400;margin-bottom:.4rem;position:sticky;top:-.5rem;background:var(--panel);padding:.2rem 0}.pax{padding:.35rem 0;border-top:1px dashed var(--faint)}.pax:first-child{border-top:0}.pax-top{display:flex;gap:.5rem;align-items:baseline;font-size:.85rem}.pw{color:var(--bg);background:var(--amber);text-shadow:none;padding:0 .35em;font-weight:600}.pg{color:var(--cyan);font-weight:600}.pk{color:var(--bright);font-weight:600}.pn{color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb{margin-left:auto;white-space:pre}.pt{color:var(--fg);margin:.1rem 0}.pt:before{content:'"'}.pt:after{content:'"'}.chip{display:inline-block;font-size:.72rem;color:var(--pink);border:1px solid color-mix(in srgb,var(--pink) 50%,transparent);padding:0 .4em;letter-spacing:.03em}.empty{color:var(--faint);font-size:.85rem}.radio li,.radio-line span{font-size:.85rem;color:var(--dim)}.radio li{padding:.08rem 0}.radio li:first-child{color:var(--fg)}.radio .good b,.radio-line .good b{color:var(--bright)}.radio .ok,.radio .warn,.radio-line .ok,.radio-line .warn{color:var(--amber)}.radio .bad,.radio-line .bad{color:var(--red)}.radio .new,.radio-line .new{color:var(--cyan)}.touch{display:none;gap:.5rem;grid-template-columns:1fr 1.2fr 1fr;padding-bottom:env(safe-area-inset-bottom)}.tbtn{font:inherit;font-weight:600;font-size:1.05rem;color:var(--fg);background:var(--panel);border:1px solid var(--dim);min-height:4rem;text-shadow:inherit;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}.tbtn.down,.tbtn:active{background:var(--fg);color:var(--bg);text-shadow:none}.tbtn-doors{color:var(--cyan);border-color:var(--cyan)}.tbtn-side{display:none}.has-wing .touch{grid-template-columns:.6fr 1fr 1.1fr 1fr .6fr}.has-wing .tbtn-side{display:block}@media(pointer:coarse){.touch{display:grid}}@media(max-width:62rem){.screen.game{padding:.35rem .4rem;gap:.35rem}.play{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:.35rem}.tower{padding:.3rem .4rem;align-items:center}.tower-title{display:none}.building{margin:0}.radio-line{display:block;align-self:stretch;order:4}.banner{order:3;align-self:stretch;max-width:none;margin-top:.3rem;min-height:2.9em;font-size:.8rem;padding:.2rem .5rem}.banner:not([hidden])~.radio-line{display:none}.panels{grid-template-rows:minmax(0,1fr);gap:.35rem}.panel-radio{display:none}.panel{padding:.3rem .5rem}.hud{padding:.25rem .5rem}.hud-row{font-size:.8rem;gap:0 .9rem}.hud-gary{order:5}.touch{display:grid}}@media(max-width:34rem){.panels{grid-template-columns:1fr;grid-template-rows:none;overflow-y:auto;align-content:start}.panel{overflow:visible}.panel h2{position:static}.meter-label{display:none}}@media print{:root{--bg: #fff;--panel: #fff;--fg: #000;--bright: #000;--dim: #000;--glow: none}body{background:#fff;color:#000;text-shadow:none}.crt-overlay,.no-print,.screen:not(#s-report){display:none!important}.screen{min-height:0;padding:0}.report{border:0;font-size:11pt;color:#000;padding:0}}
