:root{--bg:#1b1814;--panel:#2a231ced;--panel-edge:#4d3e2c;--ink:#f3e6cc;--muted:#bca98a;--accent:#e9b45a;--good:#8fc46a}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-variant-ligatures:none;margin:0;font-family:Pixelify Sans,ui-monospace,Consolas,monospace;overflow:hidden}#view{image-rendering:pixelated;touch-action:none;display:block;position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}#hud .panel,#hud button{pointer-events:auto}.floats{pointer-events:none;position:absolute;inset:0;overflow:hidden}.float{color:#fff6dc;white-space:nowrap;text-shadow:0 2px #2b1d14,2px 0 #2b1d14,-2px 0 #2b1d14,0 -2px #2b1d14;font-size:16px;font-weight:700;animation:1.6s ease-out forwards rise;position:absolute;transform:translate(-50%,-100%)}@keyframes rise{0%{opacity:0;margin-top:6px}15%{opacity:1}to{opacity:0;margin-top:-28px}}.panel{background:var(--panel);border:2px solid var(--panel-edge);border-radius:6px;padding:8px 12px;position:absolute;box-shadow:0 3px #0006}.title{max-width:min(380px,100% - 24px);top:12px;left:12px;pointer-events:none!important}.title h1{letter-spacing:.5px;color:var(--accent);margin:0;font-size:22px}.title p{color:var(--muted);margin:2px 0 0;font-size:15px}.res{cursor:pointer;align-items:center;gap:12px;font-size:17px;display:flex;top:12px;right:12px}.res .r{align-items:center;gap:5px;display:flex}.res img{image-rendering:pixelated;object-fit:contain;width:22px;height:22px}.res .r.full span{color:var(--accent)}.hungry{color:#fff;background:#8e2a20;border-radius:3px;padding:2px 6px;font-size:15px}img.ico{image-rendering:pixelated;object-fit:contain;vertical-align:-3px;width:16px;height:16px}.clock{color:var(--muted);border-left:2px solid var(--panel-edge);padding-left:10px;font-size:16px}.controls{gap:8px;padding:6px;display:flex;bottom:12px;right:12px}button{font:inherit;color:var(--ink);cursor:pointer;background:#4a3a28;border:2px solid #6b5538;border-radius:4px;padding:6px 10px;font-size:16px}button:hover{background:#5a4630}.card{width:min(310px,100% - 24px);display:none;bottom:12px;left:12px}.card.show{display:block}.card .top{align-items:center;gap:10px;display:flex}.card .portrait{image-rendering:pixelated;border:2px solid var(--panel-edge);background:#3a2f22;border-radius:4px;width:56px;height:98px}.card h2{color:var(--accent);margin:0;font-size:19px}.card .role{color:var(--muted);font-size:15px}.card .status{color:var(--good);margin-top:3px;font-size:15px}.card .quirk{margin:8px 0 6px;font-size:16px;line-height:1.3}.card .skills{grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;font-size:15px;display:grid}.card .x{cursor:pointer;color:var(--muted);font-size:18px;position:absolute;top:4px;right:8px}button.primary{background:#7a5a2a;border-color:#b8893e}button.primary:hover{background:#8d6a32}button:disabled{opacity:.45;cursor:default}button{position:relative}.badge:not(:empty){color:#fff;background:#c0392b;border:2px solid #2a231c;border-radius:9px;min-width:17px;padding:1px 4px;font-size:15px;position:absolute;top:-7px;right:-7px}.dev{border-left:2px dashed var(--panel-edge);gap:4px;margin-left:2px;padding-left:8px;display:flex}.dev button{color:var(--muted);background:#3a3128;border-color:#554535;padding:4px 6px;font-size:15px}.toast{background:var(--panel);border:2px solid var(--accent);opacity:0;pointer-events:none;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:16px;position:absolute;top:64px;left:50%;transform:translate(-50%)}.toast.show{animation:3.2s ease-out forwards toast}@keyframes toast{0%{opacity:0;margin-top:-6px}8%{opacity:1;margin-top:0}80%{opacity:1}to{opacity:0}}.pips{gap:2px;display:inline-flex}.pips i{background:#4a3a28;border:1px solid #2b1d14;width:10px;height:8px}.pips i.on{background:var(--accent)}.chip{cursor:help;background:#3d4a2c;border:1px solid #5d7040;border-radius:9px;margin:0 4px 3px 0;padding:1px 7px;font-size:15px;display:inline-block}.warn{color:#f09a6a!important}.muted{color:var(--muted)}.small{font-size:15px}.card .traits{margin-top:8px}.card .skills span.used{color:var(--accent)}.jobpick{align-items:center;gap:8px;margin-top:10px;font-size:16px;display:flex}select{font:inherit;color:var(--ink);background:#3a2f22;border:2px solid #6b5538;border-radius:4px;flex:1;min-width:0;padding:3px;font-size:15px}input[type=number]{font:inherit;width:64px;color:var(--ink);background:#3a2f22;border:2px solid #6b5538;border-radius:4px;padding:2px 4px;font-size:15px}input:disabled{opacity:.4}.town{flex-direction:column;width:min(400px,100% - 24px);max-height:calc(100% - 140px);padding:0;display:none;top:64px;right:12px}.town.show{display:flex}.town .head{border-bottom:2px solid var(--panel-edge);align-items:center;padding:8px 10px 0;display:flex}.town .tabs{flex:1;gap:4px;display:flex}.town .tabs button{background:#3a2f22;border-bottom:none;border-radius:4px 4px 0 0}.town .tabs button.on{color:var(--accent);background:#5a4630}.town .x{cursor:pointer;color:var(--muted);padding:0 4px 6px;font-size:18px}.town .body{-webkit-user-select:text;user-select:text;padding:4px 12px 12px;overflow-y:auto}.town h3{color:var(--accent);margin:12px 0 6px;font-size:16px}.town .row{justify-content:space-between;align-items:center;gap:8px;display:flex}.town .proj,.town .opt,.town .cand{background:#00000026;border:2px solid #3d3226;border-radius:5px;margin-bottom:6px;padding:7px 9px}.town .proj.active{border-color:#7a6440}.town .opt.off{opacity:.6}.town .opt .small{color:var(--muted);margin:2px 0 4px}.town .bar{background:#3a2f22;border:1px solid #2b1d14;height:7px;margin:5px 0}.town .bar i{background:var(--good);height:100%;display:block}.town button{padding:4px 8px;font-size:15px}.town button.mini{padding:1px 6px;font-size:15px}.cost,.mat{white-space:nowrap;align-items:center;gap:3px;margin-right:8px;display:inline-flex}.cost.short{color:#f09a6a}.mats{flex-wrap:wrap;gap:4px 0;font-size:16px;display:flex}.mat.neg{color:#f09a6a}.people{gap:3px;display:grid}.person{cursor:pointer;border-radius:4px;grid-template-columns:1fr auto;gap:0 8px;padding:4px 6px;font-size:16px;display:grid}.person:hover{background:#ffffff10}.person span:first-of-type{color:var(--muted)}.person .warn{grid-column:1/-1;font-size:15px}.cand .skills{grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;margin:4px 0;font-size:15px;display:grid}.cand .quirk{margin:3px 0 5px}.ledger{border-collapse:collapse;width:100%;font-size:16px}.ledger td{border-bottom:1px solid #3d3226;padding:3px 2px}.ledger .num{text-align:right;white-space:nowrap}.ledger .pos{color:var(--good)}.ledger .neg{color:#f09a6a}.sell{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;font-size:15px;display:flex}.log{color:var(--ink);margin:0;padding-left:18px;font-size:15px;line-height:1.5}.modal-back{pointer-events:auto;background:#0008;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{width:min(420px,100% - 24px);max-height:calc(100% - 40px);padding:14px 18px;position:relative;overflow-y:auto}.modal h2{color:var(--accent);margin:0 0 4px;font-size:22px}.modal h3{color:var(--accent);margin:12px 0 6px;font-size:16px}.modal p{margin:0}.modal .log{margin-top:10px;font-size:16px}.modal button{width:100%;margin-top:14px;padding:8px;font-size:17px}@media (width<=700px){.town{width:auto;max-height:65%;inset:auto 12px 62px}.dev{display:none}.toast{top:48px}.title h1{font-size:17px}.title p{display:none}.title{padding:5px 9px}.res{flex-wrap:wrap;justify-content:center;gap:10px;font-size:16px;inset:auto 12px 62px}.clock{text-align:center;border-left:none;width:100%;padding-left:0}.controls{justify-content:center;left:12px}.card{bottom:132px}}
