:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--panel-bg:#f8f7fb;--accent:#aa3bff;--accent-text:#fff;--danger:#c0392b;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/145% var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--panel-bg:#1f2028;--accent:#c084fc;--accent-text:#16171d;--danger:#e57373}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}h1,h2{font-family:var(--sans);color:var(--text-h);font-weight:600}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}input,select{font:inherit}.home,.waiting-room{max-width:480px;margin:0 auto;padding:32px 16px}.home h1{text-align:center;margin:0 0 24px;font-size:40px}.field{flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px;display:flex}.field input,.field select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:10px 12px}.panel{border:1px solid var(--border);background:var(--panel-bg);border-radius:10px;margin-bottom:16px;padding:16px}.panel button{background:var(--accent);width:100%;color:var(--accent-text);border:none;border-radius:6px;padding:10px;font-weight:600}.error{color:var(--danger);margin-bottom:12px;font-size:14px}.waiting-room h1{margin-bottom:4px;font-size:28px}.room-code{letter-spacing:2px;background:var(--panel-bg);border-radius:4px;padding:2px 8px;font-family:ui-monospace,Consolas,monospace}.player-list{border:1px solid var(--border);border-radius:10px;margin:20px 0;padding:0;list-style:none;overflow:hidden}.player-list li{border-bottom:1px solid var(--border);justify-content:space-between;padding:10px 14px;display:flex}.player-list li:last-child{border-bottom:none}.player-list li.me{background:var(--panel-bg);font-weight:600}.actions{gap:12px;display:flex}.actions button{background:var(--accent);color:var(--accent-text);border:none;border-radius:6px;flex:1;padding:10px;font-weight:600}.actions button.secondary{border:1px solid var(--border);color:var(--text-h);background:0 0}.actions button:disabled{background:var(--panel-bg);color:var(--text)}.player-status{gap:8px;display:flex}.deck-textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);resize:vertical;box-sizing:border-box;border-radius:6px;margin-bottom:8px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.deck-feedback{margin-top:12px;font-size:14px}.deck-errors,.deck-warnings{margin:8px 0 0;padding-left:20px}.deck-errors li{color:var(--danger)}.deck-ok{color:#2e7d32;font-weight:600}.game-table{max-width:1100px;margin:0 auto;padding:16px}.loading{text-align:center;padding:40px}.opponents{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.opponent-panel{border:1px solid var(--border);background:var(--panel-bg);border-radius:10px;flex:260px;padding:12px}.opponent-panel header,.my-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.my-header{border:1px solid var(--border);background:var(--panel-bg);border-radius:10px;margin-bottom:12px;padding:12px}.life{align-items:center;gap:6px;font-weight:600;display:inline-flex}.life button,.commander-damage button,.my-header button,.peek-result button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:4px 10px}.commander-damage{align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.hand-count,.library-count{color:var(--text);font-size:13px}.zone{margin-top:10px}.zone h4{color:var(--text);margin:0 0 6px;font-size:13px;font-weight:600}.card-row{flex-wrap:wrap;gap:8px;min-height:40px;display:flex}.card{width:90px;position:relative}.card img{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:90px;height:126px;display:block}.card-tappable{cursor:pointer}.card.tapped img{margin:18px 0;transform:rotate(90deg)}.card-hidden{border:1px solid var(--border);background:repeating-linear-gradient(45deg, var(--panel-bg), var(--panel-bg) 6px, var(--border) 6px, var(--border) 7px);border-radius:6px;width:90px;height:126px}.card-move{width:100%;margin-top:4px;padding:2px;font-size:11px}.peek-result{border:1px solid var(--accent);border-radius:6px;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:14px;display:flex}.game-log{border:1px solid var(--border);border-radius:10px;margin-top:20px;padding:10px 14px}.game-log ul{max-height:200px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;overflow-y:auto}.game-log li{border-bottom:1px solid var(--border);padding:4px 0}.card img,.card-placeholder{cursor:grab;touch-action:none}.card.dragging{opacity:.4}.drop-hover{outline:2px dashed var(--accent);outline-offset:4px;border-radius:8px}.card-placeholder{border:1px solid var(--border);background:var(--panel-bg);text-align:center;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:90px;height:126px;padding:4px;font-size:11px;display:flex}.card-counters{flex-wrap:wrap;gap:2px;margin-top:2px;display:flex}.counter-badge{background:var(--accent);color:var(--accent-text);border-radius:8px;padding:1px 5px;font-size:10px}.counter-controls{gap:4px;margin-top:2px;display:flex}.counter-controls button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;flex:1;padding:2px;font-size:10px}.remove-token{border:1px solid var(--danger);background:var(--bg);width:100%;color:var(--danger);border-radius:4px;margin-top:4px;padding:2px;font-size:10px}.token-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.token-form input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:6px 8px}.card-preview{z-index:50;pointer-events:none;border-radius:10px;position:fixed;top:16px;right:16px;overflow:hidden;box-shadow:0 8px 24px #0000004d}.card-preview img{width:260px;display:block}.library-drop{display:contents}
