:root{--bg:#f6f7f9;--fg:#14181f;--muted:#4a5563;--card:#fff;--border:#d5dae1;--accent:#0b5cad}@media (prefers-color-scheme:dark){:root{--bg:#11151b;--fg:#e8ecf1;--muted:#a7b1bf;--card:#1a2029;--border:#2d3644;--accent:#6cb1ff}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,Segoe UI,Arial,sans-serif;line-height:1.5}main{max-width:1240px;margin:0 auto;padding:16px}a{color:var(--accent)}label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:inline-flex}input,select,button{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--border);border-radius:6px;min-height:40px;padding:6px 10px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;padding:10px 12px}.resbar{flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;display:flex}.resbar .primary{margin-inline-start:auto}.summary{border-color:#d4a017}.game{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}.board-wrap{width:100%;max-width:min(100%,78vh);margin:0 auto;position:relative}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;direction:ltr;background:#0b0f14;border-radius:8px;width:100%;display:block}.zoom-buttons{flex-direction:column;gap:4px;display:flex;position:absolute;top:8px;left:8px}.zoom-buttons button{color:#14181f;background:#ffffffe6;min-width:40px;padding:0;font-size:20px}.panel{background:var(--card);border:1px solid var(--border);border-radius:8px;min-width:0}.tabs{border-bottom:1px solid var(--border);display:flex}.tabs button{background:0 0;border:0;border-radius:0;flex:1;min-width:0;padding:6px 2px;font-size:14px}.tabs button[aria-selected=true]{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);font-weight:700}.panel-body{max-height:70vh;padding:10px 12px;overflow-y:auto}.panel-body h3{margin:10px 0 4px;font-size:15px}.unit-row{background:var(--bg);border-inline-start:4px solid;border-radius:4px;margin:6px 0;padding:6px 8px}.unit-row.ghost{border-inline-start-style:dashed}.history{margin:4px 0;padding-inline-start:18px;font-size:13px}.unit-row .row{margin-top:4px}.pill{background:var(--card);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:0 4px 0 10px;font-size:14px;display:inline-flex}button.x{background:0 0;border:0;min-width:32px;min-height:32px;padding:0}button.link{color:var(--fg);text-align:start;background:0 0;border:0;min-height:0;padding:2px 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.hint{color:#3d2f00;background:#fff3c4;border-radius:6px;padding:6px 8px;font-size:14px}.tile-info{margin:0 0 6px;font-size:14px}.price-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;display:grid}.price{text-align:start;flex-direction:column;align-items:flex-start;padding:4px 8px;font-size:14px;display:flex}.price .cost{color:var(--muted);font-size:13px}.order-list{margin:0;padding:0;list-style:none}.order-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:6px;padding:3px 0;font-size:14px;display:flex}.chat-log{max-height:40vh;margin-bottom:8px;overflow-y:auto}.chat-msg{background:var(--bg);overflow-wrap:anywhere;border-radius:6px;margin:0 0 6px;padding:4px 8px;font-size:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}table.score{border-collapse:collapse;width:100%;font-size:14px}table.score th,table.score td{text-align:start;border-bottom:1px solid var(--border);padding:4px}@media (max-width:899px){main{padding:10px 10px 72px}.game{grid-template-columns:1fr}.tabs{bottom:0;z-index:10;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset-inline:0}.tabs button{min-height:52px}.panel-body{max-height:none}}
