:root{--bg: #eaf1e4;--panel: #ffffff;--panel-2: #eef4e8;--line: #c9d8c4;--text: #1c2a20;--muted: #5a6c5d;--accent: #b07d00;--bad: #c0392b;--ok: #1d8a3c;--err-bg: #fde3df;--active-bg: #dcebd0}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #1d2a22;--panel: #273a2e;--panel-2: #31483a;--line: #45604e;--text: #f1f5ec;--muted: #b3c4b3;--accent: #ffd23f;--bad: #ff8f7d;--ok: #7fe096;--err-bg: #5a2620;--active-bg: #3d5a45}}:root[data-theme=dark]{--bg: #1d2a22;--panel: #273a2e;--panel-2: #31483a;--line: #45604e;--text: #f1f5ec;--muted: #b3c4b3;--accent: #ffd23f;--bad: #ff8f7d;--ok: #7fe096;--err-bg: #5a2620;--active-bg: #3d5a45}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;cursor:pointer}.app{max-width:1400px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.hud{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:5;background:var(--bg);padding:4px 0}.stat{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 14px;flex:1 1 150px;min-width:0}.stat .icon{font-size:22px}.stat b{display:block;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.stat.big b{font-size:24px;line-height:1.1}.stat small{color:var(--muted);font-size:12px}.stat.bad{border-color:var(--bad)}.stat.bad b,.bad{color:var(--bad)}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}aside{display:flex;flex-direction:column;gap:12px}.hint{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:6px 12px;margin-bottom:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.hint.error{background:var(--err-bg);border-color:var(--bad)}.hint button{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:4px 12px;white-space:nowrap}.board-scroll{overflow-x:auto;border-radius:12px;border:3px solid #3c6b33}.board{display:block;width:100%;min-width:620px;-webkit-user-select:none;user-select:none;cursor:pointer;touch-action:manipulation}.board.mode-build,.board.mode-wire,.board.mode-roof,.board.mode-assign{cursor:crosshair}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px}.panel h2{margin:0 0 10px;font-size:16px}.muted{color:var(--muted);margin:8px 0 0;font-size:13px}.menu{display:flex;flex-direction:column;gap:6px}.item{display:flex;align-items:center;gap:10px;text-align:left;background:var(--panel-2);border:2px solid transparent;border-radius:10px;padding:8px 10px}.item:hover:not(:disabled){border-color:var(--line)}.item.active{border-color:var(--accent);background:var(--active-bg)}.item:disabled{opacity:.55;cursor:not-allowed}.item .icon{font-size:22px;width:28px;text-align:center}.item .text{flex:1;min-width:0}.item b{display:block}.item small{color:var(--muted);font-size:12px}.item .cost{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.item.poor .cost{color:var(--bad)}.row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line)}.row>span:first-child{color:var(--muted);flex-shrink:0}.row>span:last-child{text-align:right}.needs{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}.needs li{display:grid;grid-template-columns:22px 70px 1fr;gap:6px;padding:6px 8px;border-radius:8px;background:var(--panel-2);border-left:4px solid var(--ok);font-size:14px}.needs li.missing{border-left-color:var(--bad)}.needs li.missing span:last-child{color:var(--bad)}.needs li.ok span:last-child{color:var(--ok)}.chips{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.chip-group{display:inline-flex}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:13px}.chip-group .chip:first-child{border-radius:999px 0 0 999px}.chip.remove{border-radius:0 999px 999px 0;border-left:0;color:var(--bad)}.action{width:100%;margin-top:10px;padding:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;font-weight:600}.action.active{border-color:var(--accent)}.action:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){main{grid-template-columns:minmax(0,1fr)}.app{padding:8px}.stat{padding:4px 10px;flex-basis:130px}.stat.big b{font-size:20px}.hud{position:static}}.topbar{max-width:1400px;margin:0 auto;padding:8px 12px 0;display:flex;align-items:center;gap:8px}.topbar strong{margin-right:auto;font-size:16px}.hub-back{display:inline-flex;flex:none;align-items:center;gap:2px;margin-left:-6px;padding:6px 8px 6px 2px;border-radius:10px;color:var(--accent);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.hub-back svg{width:20px;height:20px}.hub-back:hover,.theme-toggle:hover{background:#7f7f7f24}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:17px}
