:root{--bg-0: #090218;--bg-1: #130337;--bg-2: #1a0648;--surface: #150b38cc;--surface-strong: #140a34f0;--surface-border: #6d5ca3;--text: #f4f1ff;--muted: #b5aad6;--accent: #ffffff;--accent-2: #8f7de0;--ok: #8ee8be;--danger: #ffb2c3;font-family:Chakra Petch,Avenir Next,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background-color:var(--bg-0);background-image:radial-gradient(circle at 18% 20%,#2b0d7a99 0%,transparent 32%),radial-gradient(circle at 82% 75%,#3a139680 0%,transparent 34%),linear-gradient(30deg,#6a58a533 12%,transparent 12.5%,transparent 87%,#6a58a533 87.5%,#6a58a533),linear-gradient(150deg,#6a58a533 12%,transparent 12.5%,transparent 87%,#6a58a533 87.5%,#6a58a533),linear-gradient(90deg,#8777bc1f 2%,transparent 2.5%,transparent 97%,#8777bc1f 97.5%,#8777bc1f),linear-gradient(180deg,var(--bg-0),var(--bg-1) 45%,var(--bg-2));background-size:auto,auto,42px 72px,42px 72px,42px 72px,auto;background-position:0 0,0 0,0 0,0 0,21px 36px,0 0}input,select,textarea,button{font:inherit}.app-shell{max-width:1600px;margin:0 auto;padding:16px;display:grid;gap:14px}.panel{background:linear-gradient(165deg,var(--surface),var(--surface-strong));border:1px solid #7364ad8c;border-radius:14px;padding:14px;box-shadow:inset 0 1px #9f92d338,0 14px 30px #00000057;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel h1,.panel h2,.panel h3{margin:0 0 8px;letter-spacing:.4px}.hero h1{font-size:clamp(2rem,3vw,3rem);color:#fff}label{display:grid;gap:6px;color:var(--muted);margin-bottom:10px}input,select,textarea{background:#10082f;color:var(--text);border:1px solid #7b69b8;border-radius:8px;padding:10px 12px}textarea{resize:vertical}button{border:1px solid #ffffff99;background:linear-gradient(125deg,#f4f2ff,#cec7f2);color:#1e0c4a;border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.grid-two{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.player-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.player-chip{background:#130a35;border:1px solid #7e6cb9;border-radius:10px;padding:8px;display:grid;gap:4px}.online{color:var(--ok);font-size:.85rem}.offline{color:var(--danger);font-size:.85rem}.hint{color:var(--muted);font-size:.92rem}.winner h2{color:#fff0b0}.board-panel{padding:10px}.board-shell{width:100%;overflow:auto;border-radius:12px;border:2px solid #7261ab;background:#0f0630;box-shadow:inset 0 0 0 1px #ffffff21,0 20px 28px #00000070}.board-svg{width:100%;min-height:min(78vh,900px);display:block}.hex-group.selectable{cursor:pointer}.hex-group.selectable:hover .hex{filter:brightness(1.08)}.board-text{fill:#cbc3ec;text-transform:uppercase;font-family:Space Grotesk,Avenir Next,sans-serif}.board-text.cell-label{font-size:4.2px;font-weight:560;letter-spacing:.16px;-webkit-user-select:none;user-select:none}.board-text.tiny{fill:#f6f7ff;font-size:6px}.board-legend{border-top:1px solid #5f4f93;padding:8px 10px;font-size:.9rem;color:var(--muted)}.coord-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));max-height:230px;overflow:auto;padding:6px;background:#10092f;border:1px solid #7e6cb9;border-radius:10px}.coord-btn{background:#27185f;color:#efe9ff;font-weight:600;border:1px solid #8b79c6}.card-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.card{padding:10px;border-radius:10px;border:1px solid #7b69b8;background:#140a36}.clue-log{display:grid;gap:8px}.clue{border:1px solid #7160ac;border-radius:10px;padding:8px;background:#11092f}.clue header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.suggestion-doc{border:1px solid #7160ac;border-radius:10px;padding:10px;margin-bottom:10px;background:#120a31}.suggestion-doc header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.suggestion-row{border-top:1px solid #534286;margin-top:8px;padding-top:8px}.status,.error{padding:10px;border-radius:8px;font-weight:600}.status{background:#1b4a43;color:#afffe3;border:1px solid #56ac95}.error{background:#511932;color:#ffd2df;border:1px solid #b55379}.sticky{position:sticky;bottom:8px}.checkbox{display:flex;align-items:center;gap:8px}@media (max-width: 768px){.app-shell{padding:10px}.topbar{flex-direction:column;align-items:flex-start}.board-svg{min-height:70vh}}
