:root{--panel: #1f2430;--panel2: #2a3140;--ink: #e6e9ef;--muted: #9aa3b2;--accent: #6ea8fe}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;background:#11151c;color:var(--ink)}.app{display:flex;height:100vh}.board-wrap{flex:1;position:relative;overflow:hidden;background:#2b6b3f}.board-wrap svg{width:100%;height:100%;display:block;cursor:grab}.board-wrap svg.dragging{cursor:grabbing}.sidebar{width:300px;background:var(--panel);padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.sidebar h1{font-size:18px;margin:0;letter-spacing:.5px}.card{background:var(--panel2);border-radius:10px;padding:12px}.card h2{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 8px}.player-row{display:flex;align-items:center;gap:8px;padding:4px 0}.player-row.active{font-weight:700}.swatch{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.player-row .score{margin-left:auto;font-variant-numeric:tabular-nums}.player-row .meeples{color:var(--muted);font-size:12px}button{background:var(--accent);color:#0b1020;border:0;border-radius:8px;padding:9px 12px;font-weight:600;cursor:pointer;font-size:14px}button.secondary{background:var(--panel2);color:var(--ink);border:1px solid #3a4252}button:disabled{opacity:.4;cursor:default}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.preview{display:flex;align-items:center;gap:12px}.hint{color:var(--muted);font-size:13px;line-height:1.4}.error{background:#5b2330;color:#ffd9df;padding:8px 10px;border-radius:8px;font-size:13px}.events{font-size:12px;color:var(--muted);max-height:140px;overflow-y:auto}.events div{padding:2px 0}.legend{display:flex;flex-direction:column;gap:6px;font-size:13px}.legend span{display:flex;align-items:center;gap:8px}.legend svg{border-radius:3px;flex:none}.lobby{max-width:360px;margin:auto}.lobby input[type=text]{width:100%;padding:8px;border-radius:6px;border:1px solid #3a4252;background:#161b24;color:var(--ink)}.lobby label{display:flex;align-items:center;gap:8px;font-size:14px;margin:6px 0}.field-row{display:flex;align-items:center;gap:8px;margin:8px 0}
