:root{--bg: #120e08;--panel: #211a10;--line: #3a2e1b;--ink: #f3ead7;--dim: #b39c74;--accent: #b0843a;--accent2: #e2b35e;--good: #6fae6f;--bad: #d07a6a;--sea: #1a2630}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(1000px 620px at 50% -10%,#241a0d,var(--bg));color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}#app{width:100%;max-width:640px;padding:12px 12px 40px}header{text-align:center;margin-bottom:6px}h1{margin:0;font-size:28px;letter-spacing:5px;font-weight:800;color:var(--accent2);text-shadow:0 1px 0 #5b3f17}.sub{margin:3px 0 0;color:var(--dim);font-size:13px}.dim{color:var(--dim)}.bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;margin:10px 0}.seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{background:none;border:none;color:var(--dim);padding:6px 13px;font:600 13px system-ui;cursor:pointer}.seg button.active{background:var(--accent);color:#1a1206}.btn{background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:7px 14px;border-radius:999px;font:700 13px system-ui;cursor:pointer}.btn:hover{border-color:var(--accent2)}.btn.primary{background:var(--accent);color:#1a1206;border-color:var(--accent)}.scoreboard{display:flex;gap:8px;justify-content:center;margin:8px 0;flex-wrap:wrap}.readout{background:#0c0905;border:1px solid var(--line);border-radius:8px;padding:5px 14px;font:800 18px ui-monospace,monospace;color:var(--accent2);min-width:78px;text-align:center}.readout span{color:var(--dim);font-size:11px;display:block;font-weight:600;letter-spacing:.5px}.news{margin:10px 0;display:flex;flex-direction:column;gap:6px}.news-item{background:#2a1f10;border:1px solid var(--line);border-left:4px solid var(--accent2);border-radius:6px;padding:8px 12px;font-size:13px;color:#f0dcb0}.news-item.quiet{border-left-color:var(--line);color:var(--dim)}.here{text-align:center;margin:8px 0 4px}.here-title{font-size:16px}.here-title b{color:var(--accent2)}.here-title .dim{display:block;font-size:12px;margin-top:2px}.goods{display:flex;flex-direction:column;gap:6px;margin:8px 0}.good{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.good-id{font-size:14px}.good-id .ge{font-size:18px}.good-price{font:800 16px ui-monospace,monospace;color:var(--accent2)}.good-held{font-size:13px;color:var(--dim)}.good-held b{color:var(--ink)}.good-actions{display:flex;gap:4px;justify-self:end;flex-wrap:wrap}.tag{font-size:10px;padding:1px 5px;border-radius:999px;vertical-align:middle}.tag.perish{background:#3a2418;color:var(--bad);border:1px solid #5a3326}.mini{border:1px solid var(--line);background:#1a140b;color:var(--ink);border-radius:6px;padding:4px 7px;font:700 12px ui-monospace,monospace;cursor:pointer}.mini.buy,.mini.buymax{color:var(--good)}.mini.sell{color:var(--bad)}.mini:hover{border-color:var(--accent2)}.travel{margin:12px 0 4px;text-align:center}.travel-title{font-size:13px;color:var(--dim);margin-bottom:6px}.ports{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.port{background:var(--sea);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px;font:700 13px system-ui;cursor:pointer}.port:hover{border-color:var(--accent2)}.port.here{opacity:.5;cursor:default}.hint{text-align:center;color:var(--dim);font-size:13px;margin-top:10px;min-height:18px}.stage{position:relative}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0703cc;backdrop-filter:blur(3px);z-index:10}.overlay.hidden{display:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 28px;text-align:center;max-width:360px}.card h2{margin:0 0 6px;font-size:22px;color:var(--accent2)}.card p{margin:6px 0;color:var(--ink);font-size:14px;line-height:1.5}.card .row{display:flex;gap:8px;justify-content:center;margin-top:16px}
