@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-latin.woff2) format("woff2")}:root{--bg: #0d0f1a;--panel: #171a2b;--panel-2: #1f2340;--ink: #f4f1e8;--muted: #9aa0b8;--accent: #f2a900;--accent2: #2ec4b6;--green: #3ddc84;--yellow: #ffd23f;--red: #ff4f5e;--blue: #4f8cff;--font: "Press Start 2P", "Courier New", monospace;--radius: 4px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:11px;line-height:1.7;-webkit-font-smoothing:none;min-height:100%}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app{flex:1;display:flex;flex-direction:column;max-width:720px;width:100%;margin:0 auto;padding:8px;gap:8px}h1,h2,h3{margin:0 0 8px;font-weight:400;line-height:1.5}h1{font-size:18px;color:var(--accent);text-align:center;text-shadow:3px 3px 0 #000}h1 .blink{animation:blink 1s steps(2,start) infinite}h2{font-size:13px;color:var(--accent2)}h3{font-size:11px;color:var(--muted)}p{margin:0 0 8px}a{color:var(--accent2)}button,.btn{font:inherit;color:var(--ink);background:var(--panel-2);border:3px solid #000;box-shadow:inset -3px -3px #0a0b14,inset 3px 3px #3a3f66;padding:10px 12px;min-height:44px;cursor:pointer;text-align:center;border-radius:var(--radius);image-rendering:pixelated}button:active,.btn:active{box-shadow:inset 3px 3px #0a0b14,inset -3px -3px #3a3f66;transform:translate(1px,1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#1a1200;box-shadow:inset -3px -3px #8c6100,inset 3px 3px #ffd766}button.selected{outline:3px solid var(--accent2);outline-offset:-3px}.panel{background:var(--panel);border:3px solid #000;box-shadow:inset -3px -3px #0a0b14,inset 3px 3px #2a2f4d;padding:12px;border-radius:var(--radius)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row.space{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.muted{color:var(--muted)}.small{font-size:9px;line-height:1.6}.center{text-align:center}.footer{text-align:center;color:var(--muted);font-size:8px;padding:12px 0 4px}.footer a{color:var(--muted)}.screen{display:flex;flex-direction:column;gap:8px}.hidden{display:none!important}.app.in-game{height:100vh;height:100dvh;max-width:960px;overflow:hidden}.screen.game{flex:1;min-height:0}.screen.game .housewrap{flex:1;min-height:120px;aspect-ratio:auto}.screen.game .housewrap canvas{object-fit:contain;object-position:center bottom}.brand{display:flex;justify-content:center;padding:2px 0}.brand-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent2);text-decoration:none;font-size:11px}.brand-link:hover .brand-name{text-decoration:underline}.brand-logo canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.brand.has-logo .brand-logo{display:inline-block;background:var(--ink);border:3px solid #000;box-shadow:4px 4px #000;padding:6px 10px}.brand.has-logo .brand-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.brand.compact .brand-link{font-size:8px;gap:6px}.statusbar{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;font-size:9px;padding:6px 8px}.statusbar .cell{text-align:center;white-space:nowrap}.statusbar .cell .label{color:var(--muted);font-size:7px;display:block}.statusbar .cell .value{display:block;font-size:11px}.statusbar .cell.ahead .value{color:var(--green)}.statusbar .cell.behind .value{color:var(--red)}.pricegraph{position:relative;height:84px;padding:4px}.pricegraph canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.housewrap{position:relative;width:100%;aspect-ratio:480 / 270;background:#000;border:3px solid #000;overflow:hidden}.housewrap canvas{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.housewrap.scanlines:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0 2px,#0000002e 2px 3px)}.housewrap .vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #000000b3}.devicebar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.devicebtn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;min-height:64px;font-size:8px;line-height:1.4}.devicebtn .icon{font-size:18px;line-height:1.2;font-family:system-ui,sans-serif}.devicebtn .name{font-size:8px}.devicebtn .info{color:var(--muted);font-size:7px}.devicebtn.on{background:#1f4d2f;box-shadow:inset -3px -3px #0f2617,inset 3px 3px #3d8f5a}.devicebtn.done{opacity:.55}.devicebtn.warn .info{color:var(--yellow)}.devicebtn.late .info{color:var(--red)}.devicebtn .badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#000;border:2px solid #000;min-width:18px;height:18px;font-size:9px;line-height:14px;text-align:center;border-radius:9px}.devicebtn .chip{position:absolute;top:-6px;left:-6px;background:var(--accent2);color:#000;border:2px solid #000;font-size:7px;padding:1px 3px;font-family:system-ui,sans-serif}.popover{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:20;width:min(96vw,420px)}.popover .row button{flex:1}.overlay{position:fixed;inset:0;background:#000000c7;z-index:30;display:flex;align-items:center;justify-content:center;padding:12px}.overlay .panel{width:min(96vw,520px);max-height:92vh;overflow:auto}.cards{display:grid;gap:8px}.card{text-align:left;display:flex;flex-direction:column;gap:4px;padding:10px}.card .title{color:var(--accent)}.card .text{font-size:8px;color:var(--muted);line-height:1.6}.toasts{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:25;display:flex;flex-direction:column;gap:6px;width:min(96vw,480px);pointer-events:none}.toast{background:var(--ink);color:#000;border:3px solid #000;padding:8px 10px;font-size:9px;line-height:1.6;box-shadow:4px 4px #000;animation:pop .2s steps(3) both}.toast.warn{background:var(--yellow)}.toast.bad{background:var(--red);color:#fff}.toast.good{background:var(--green)}.toast.hint{background:var(--accent2);pointer-events:auto}.slider{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;font-size:9px;margin-bottom:8px}.slider input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--accent)}input[type=text]{font:inherit;background:#000;color:var(--ink);border:3px solid #000;box-shadow:inset 3px 3px #0a0b14;padding:10px;min-height:44px;width:100%}table{width:100%;border-collapse:collapse;font-size:9px}td,th{padding:4px 6px;text-align:left;border-bottom:1px solid #2a2f4d}td.num,th.num{text-align:right}tr.me{color:var(--accent)}.bigscore{font-size:28px;color:var(--accent);text-align:center;text-shadow:3px 3px 0 #000;margin:8px 0}.planning-count{font-size:22px;color:var(--accent2);text-align:center}.missed li{margin-bottom:6px;font-size:9px;line-height:1.6}ul{padding-left:16px;margin:0 0 8px}@keyframes blink{to{visibility:hidden}}@keyframes pop{0%{transform:scale(.8);opacity:0}}@media (min-width: 640px){html,body{font-size:12px}.devicebar{grid-template-columns:repeat(8,1fr)}.statusbar .cell .value{font-size:12px}}@media (prefers-reduced-motion: reduce){.toast,h1 .blink{animation:none}}
