:root{--bg: #17142a;--panel: #251f3d;--panel-2: #2f2850;--edge: #0c0a18;--hi: #4a4175;--text: #f1ebff;--muted: #a99fcb;--accent: #ffd23f;--good: #5fd35f;--bad: #e0442b;--pixel: "Press Start 2P", monospace;--body: "VT323", monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:20px;line-height:1.15}body{background-image:radial-gradient(#221d3b 1px,transparent 1px);background-size:8px 8px;min-height:100vh}button,select,input{font-family:var(--body);font-size:20px;color:var(--text)}h1,h2,h3,.pixel{font-family:var(--pixel);font-weight:400;letter-spacing:.02em}h2{font-size:11px;color:var(--accent);margin:0 0 10px;text-transform:uppercase}.panel{background:var(--panel);padding:12px;box-shadow:0 0 0 3px var(--edge),inset 0 0 0 2px var(--hi),6px 6px 0 3px #00000059}.btn{background:var(--panel-2);border:none;padding:6px 10px;cursor:pointer;box-shadow:0 0 0 2px var(--edge),inset -2px -3px #00000059,inset 2px 2px #ffffff1f;transition:transform 60ms}.btn:hover:not(:disabled){background:var(--hi)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 2px var(--edge)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:#d9a400;color:#1b1400}.btn.primary:hover:not(:disabled){background:var(--accent)}.btn.danger{background:#8a2a2a}.btn.on{background:var(--accent);color:#1b1400}.start{max-width:560px;margin:8vh auto;padding:24px;text-align:center}.start h1{font-size:26px;color:var(--accent);margin:0 0 12px;line-height:1.4;text-shadow:3px 3px 0 #7a2a5a}.start p{color:var(--muted);margin:0 0 20px}.start .field{display:grid;gap:8px;margin:16px 0;text-align:left}.start label{font-family:var(--pixel);font-size:10px;color:var(--muted)}.start input{background:var(--edge);border:none;padding:10px;font-size:26px;box-shadow:inset 0 0 0 2px var(--hi)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:32px;height:32px;border:none;cursor:pointer;box-shadow:0 0 0 2px var(--edge)}.swatch.sel{box-shadow:0 0 0 2px var(--edge),0 0 0 5px var(--accent)}.start .btn.primary{margin-top:16px;font-family:var(--pixel);font-size:12px;padding:14px 18px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;max-width:1280px;margin:0 auto}.brand{font-family:var(--pixel);font-size:12px;color:var(--accent)}.who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:24px}.who .name{font-family:var(--pixel);font-size:14px}.who .age{color:var(--accent)}.who .tod{color:var(--muted)}.controls{display:flex;gap:6px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:20px;padding:4px 16px 32px;max-width:1280px;margin:0 auto}.col{display:grid;gap:20px;align-content:start}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}}.stage{position:relative;box-shadow:0 0 0 4px var(--edge),0 0 0 7px var(--hi),8px 8px 0 7px #00000059;line-height:0}.stage canvas{width:100%;aspect-ratio:200 / 120;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.paused{position:absolute;inset:0;display:grid;place-items:center;background:#0c0a188c;font-family:var(--pixel);font-size:18px;color:var(--accent);line-height:1.4;pointer-events:none}.paused[hidden]{display:none}.toasts{position:absolute;left:8px;right:8px;bottom:8px;display:grid;gap:6px;justify-items:start;pointer-events:none;line-height:1.1}.toast{background:#0c0a18e0;padding:6px 10px;box-shadow:0 0 0 2px var(--hi);animation:pop .18s steps(3);max-width:100%}@keyframes pop{0%{transform:translateY(8px);opacity:0}}.timeline{position:relative;margin-top:18px;height:34px}.timeline .track{position:absolute;left:0;right:0;top:0;height:12px;background:var(--edge);box-shadow:inset 0 0 0 2px var(--hi)}.timeline .fill{height:100%;background:linear-gradient(90deg,#ff8fc8,#ffd23f,#5fd35f)}.timeline .tick{position:absolute;top:-2px;width:3px;height:16px;background:var(--muted);transform:translate(-1px)}.timeline .tick.done{background:var(--accent)}.timeline .lbl{position:absolute;top:16px;font-size:16px;color:var(--muted);transform:translate(-50%)}.stat{display:grid;grid-template-columns:96px 1fr 30px;gap:8px;align-items:center;margin-bottom:6px}.stat .name{font-size:19px}.stat .val{text-align:right;color:var(--muted)}.bar{height:14px;background:var(--edge);box-shadow:inset 0 0 0 2px #3a335e;position:relative;overflow:hidden}.bar .in{height:100%;transition:width .25s steps(4);background-image:repeating-linear-gradient(90deg,transparent 0 9px,rgba(0,0,0,.35) 9px 11px)}.bar .zone{position:absolute;inset:0 15%;border-left:2px dashed rgba(255,255,255,.35);border-right:2px dashed rgba(255,255,255,.35)}.bar .target{position:absolute;top:-1px;bottom:-1px;width:3px;background:#fff;box-shadow:0 0 0 1px var(--edge);transform:translate(-1px);transition:left .3s steps(3)}.resources{margin-top:12px;padding-top:10px;border-top:2px dashed var(--hi)}.money{display:flex;justify-content:space-between;font-size:22px;margin-top:4px}.money .net.neg{color:var(--bad)}.money .net.pos{color:var(--good)}.hint{color:var(--muted);font-size:17px}.warn{color:var(--bad)}.actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.actions .btn{text-align:left;min-height:44px}.actions .btn small{display:block;color:var(--muted);font-size:15px}.settings{display:grid;gap:8px}.setting{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}.setting label{font-size:18px;color:var(--muted)}.setting select{background:var(--edge);border:none;padding:4px 6px;box-shadow:inset 0 0 0 2px var(--hi);width:100%;min-width:0}.setting.locked{opacity:.5}.decor{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.decor .btn{text-align:left;font-size:18px}.decor .btn small{color:var(--muted)}.wallpapers{display:flex;gap:6px;margin-top:10px;align-items:center;flex-wrap:wrap}.log{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.log li{padding:3px 0;border-bottom:1px dashed #3a335e}.log .at{color:var(--accent);margin-right:6px}.modal{position:fixed;inset:0;background:#080612bf;display:grid;place-items:center;padding:16px;z-index:10}.modal[hidden]{display:none}.modal-box{width:min(620px,100%);max-height:calc(100vh - 32px);overflow-y:auto;animation:pop .2s steps(4)}.modal-box h3{font-size:13px;color:var(--accent);margin:0 0 12px;line-height:1.5}.modal-box p{margin:0 0 12px}.modal-box .photo{width:100%;max-height:36vh;object-fit:contain;background:var(--edge);image-rendering:pixelated;box-shadow:0 0 0 3px var(--edge);margin-bottom:12px}.choices{display:grid;gap:8px}.choices .btn{text-align:left;padding:10px 12px}.research{background:var(--edge);padding:10px;box-shadow:inset 0 0 0 2px #3a335e;color:var(--muted);margin:12px 0}.research b{color:var(--accent);font-weight:400;font-family:var(--pixel);font-size:9px;display:block;margin-bottom:6px}.fx{color:var(--good)}.row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.album figure{margin:0;background:#f4efe4;padding:6px 6px 4px;color:#2a2438;box-shadow:0 0 0 2px var(--edge)}.album img{width:100%;image-rendering:pixelated;display:block}.album figcaption{font-size:16px;padding-top:4px;display:flex;justify-content:space-between;gap:6px}.album a{color:#6a4fb0}.ending .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin:12px 0}
