:root{--player-a-accent:#2563eb;--player-b-accent:#dc2626;--player-c-accent:#16a34a;--player-d-accent:#9333ea;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--shadow-md:-2px 0 8px #0000001a;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--radius-sm:.25rem;--radius-md:.5rem;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-error-bg:#fee2e2;--color-error-text:#991b1b;--color-disabled:#64748b;--color-new-game:#166534}@media (prefers-color-scheme:dark){:root{--player-a-accent:#3b82f6;--player-b-accent:#ef4444;--player-c-accent:#22c55e;--player-d-accent:#a855f7;--color-bg:#0f172a;--color-surface:#1e293b;--color-text:#f1f5f9;--color-text-muted:#cbd5e1;--color-border:#334155;--shadow-md:-2px 0 8px #0000004d;--color-warning-bg:#78350f;--color-warning-text:#fef3c7;--color-error-bg:#7f1d1d;--color-error-text:#fee2e2;--color-disabled:#94a3b8;--color-new-game:#166534}}[data-theme=dark]{--player-a-accent:#3b82f6;--player-b-accent:#ef4444;--player-c-accent:#22c55e;--player-d-accent:#a855f7;--color-bg:#0f172a;--color-surface:#1e293b;--color-text:#f1f5f9;--color-text-muted:#cbd5e1;--color-border:#334155;--shadow-md:-2px 0 8px #0000004d;--color-warning-bg:#78350f;--color-warning-text:#fef3c7;--color-error-bg:#7f1d1d;--color-error-text:#fee2e2;--color-disabled:#94a3b8;--color-new-game:#166534}[data-theme=light]{--player-a-accent:#2563eb;--player-b-accent:#dc2626;--player-c-accent:#16a34a;--player-d-accent:#9333ea;--color-bg:#f8fafc;--color-surface:#fff;--color-text:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--shadow-md:-2px 0 8px #0000001a;--color-warning-bg:#fef3c7;--color-warning-text:#92400e;--color-error-bg:#fee2e2;--color-error-text:#991b1b;--color-disabled:#64748b;--color-new-game:#166534}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.5;transition:background-color .3s,color .3s}.skip-link{padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-text);z-index:100;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:2px solid}.app-header{padding:var(--space-md) var(--space-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-header__title{font-size:var(--font-size-xl);color:var(--color-text);font-weight:700}.app-header__actions{align-items:center;gap:var(--space-sm);display:flex}.app-header__btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600}.app-header__btn:hover{opacity:.85}.app-header__btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.app-header__btn--new-game{background-color:var(--color-new-game)}.app-header__btn--new-game:focus-visible{outline-color:var(--color-new-game)}.status-bar{padding:var(--space-sm) var(--space-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text);text-align:center;font-weight:600}.pod-layout{gap:var(--space-md);padding:var(--space-md);flex-direction:column;display:flex}@media (width>=768px){.pod-layout{flex-direction:row}}.player-zone{padding:var(--space-lg);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);flex:1}.player-zone--a{border-color:var(--player-a-accent);border-left:4px solid var(--player-a-accent)}.player-zone--b{border-color:var(--player-b-accent);border-left:4px dashed var(--player-b-accent)}.player-zone__name{font-size:var(--font-size-lg);margin-bottom:var(--space-sm);font-weight:700}.player-zone--a .player-zone__name{color:var(--player-a-accent)}.player-zone--b .player-zone__name{color:var(--player-b-accent)}.player-zone__card-count{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.action-buttons{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.action-btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600}.action-btn:disabled{cursor:not-allowed}.player-zone--a .action-btn{background-color:var(--player-a-accent)}.player-zone--b .action-btn{background-color:var(--player-b-accent)}.player-zone--a .action-btn:disabled,.player-zone--b .action-btn:disabled{background-color:var(--color-disabled);color:var(--color-surface)}.action-btn:not(:disabled):hover{opacity:.85}.player-zone--a .action-btn:not(:disabled):focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.player-zone--b .action-btn:not(:disabled):focus-visible{outline:2px solid var(--player-b-accent);outline-offset:2px}.card-display{min-height:8rem;padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.card-display__image{border-radius:var(--radius-sm);max-width:100%;max-height:20rem}.card-display__card-back{aspect-ratio:63/88;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:radial-gradient(circle at top, #fff3, transparent 45%), linear-gradient(160deg, var(--player-a-accent), var(--player-b-accent));place-items:center;gap:var(--space-xs);width:100%;max-width:14rem;padding:var(--space-md);color:var(--color-surface);text-align:center;display:grid}.card-display__card-back-mark{font-size:2rem;line-height:1}.card-display__card-back-title{font-size:var(--font-size-lg);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.card-display__loading{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.card-display__spinner{border:2px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;width:1.5rem;height:1.5rem;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mulligan-hand{margin-bottom:var(--space-md);padding:var(--space-md);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.mulligan-hand__title{font-size:var(--font-size-lg);margin-bottom:var(--space-xs);font-weight:700}.mulligan-hand__verdict,.mulligan-hand__mulligan-count{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs)}.mulligan-hand__gate{width:100%;padding:var(--space-md);margin:var(--space-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-muted);background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;font-weight:600;display:block}.mulligan-hand__gate:hover,.mulligan-hand__gate:focus,.mulligan-hand__gate:focus-visible{border-color:var(--color-text-muted);outline:2px solid var(--player-a-accent);outline-offset:2px}.mulligan-hand__revealed{margin:var(--space-sm) 0}.mulligan-hand__card-list{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(90px,1fr));list-style:none;display:grid}.mulligan-hand__card-item{font-size:var(--font-size-sm)}.mulligan-hand__card-item .card-display__image{width:100%;max-height:none}.mulligan-hand__card-item .card-display__loading{padding:var(--space-xs);gap:var(--space-xs)}.mulligan-hand__hide-btn{margin-top:var(--space-sm)}.mulligan-hand__actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.deck-input{max-width:48rem;padding:var(--space-lg);margin:0 auto}.deck-input__title{font-size:var(--font-size-xl);margin-bottom:var(--space-sm);font-weight:700}.deck-input__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm);display:block}.deck-input__textarea{width:100%;min-height:20rem;padding:var(--space-md);font-family:monospace;font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;line-height:1.5;display:block}.deck-input__textarea:focus,.deck-input__textarea:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:-2px;border-color:var(--player-a-accent)}.deck-input__validation{margin-top:var(--space-md)}.deck-input__counts{font-size:var(--font-size-sm);margin-bottom:var(--space-sm);font-weight:600}.deck-input__warnings,.deck-input__errors{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-sm);list-style:none}.deck-input__warnings{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.deck-input__errors{background-color:var(--color-error-bg);color:var(--color-error-text)}.deck-input__warnings li,.deck-input__errors li{padding:var(--space-xs) 0}.deck-input__actions{align-items:center;gap:var(--space-md);margin-top:var(--space-md);display:flex}.deck-input__load-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-surface);background-color:var(--player-a-accent);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:700}.deck-input__load-btn:hover:not(:disabled){opacity:.85}.deck-input__load-btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.deck-input__load-btn:disabled{background-color:var(--color-disabled);color:var(--color-surface);cursor:not-allowed}.deck-input__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.deck-input__storage{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.deck-input__storage-legend{font-size:var(--font-size-base);padding:0 var(--space-xs);font-weight:600}.deck-input__storage-row{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.deck-input__storage-label{font-size:var(--font-size-sm);font-weight:600}.deck-input__select{min-width:12rem;padding:var(--space-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);flex:12rem}.deck-input__storage-btn{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:600}.deck-input__storage-btn:hover:not(:disabled){opacity:.85;background-color:var(--color-bg)}.deck-input__storage-btn:disabled{opacity:.55;cursor:not-allowed}.deck-input__storage-btn--danger{color:var(--color-error-text);border-color:var(--color-error-text)}.deck-input__storage-btn--save{color:var(--color-surface);background-color:var(--player-a-accent);border-color:var(--player-a-accent)}.deck-input__storage-btn--save:hover:not(:disabled){opacity:.85;background-color:var(--player-a-accent)}.deck-input__storage-btn--save:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.deck-input__rename{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.deck-input__rename-input{min-width:10rem;padding:var(--space-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text);flex:10rem}.deck-input__confirm{align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);background-color:var(--color-warning-bg);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.deck-input__confirm-msg{font-size:var(--font-size-sm);color:var(--color-warning-text);margin-bottom:var(--space-xs);flex:100%;font-weight:600}.deck-input__status{font-size:var(--font-size-sm);color:var(--player-a-accent);margin-bottom:var(--space-sm);font-weight:600}.deck-input__storage-error{font-size:var(--font-size-sm);color:var(--color-error-text);padding:var(--space-sm) var(--space-md);background-color:var(--color-error-bg);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);font-weight:600}.scry-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.scry-modal__count{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.scry-modal__count input[type=number]{width:4rem;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.scry-modal__card-list{margin:var(--spacing-sm) 0;padding:0;list-style:none}.scry-modal__card-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-xs);gap:var(--space-sm);align-items:flex-start;display:flex}.scry-modal__card-thumb{flex-shrink:0;width:80px}.scry-modal__card-thumb .card-display__image{border-radius:var(--radius-sm);width:100%;max-height:none}.scry-modal__card-thumb .card-display__loading{padding:var(--space-xs);gap:var(--space-xs);font-size:var(--font-size-sm)}.scry-modal__card-controls{flex:1;min-width:0}.scry-modal__card-name{margin-bottom:var(--spacing-xs);font-weight:600;display:block}.scry-modal__card-item [role=radiogroup]{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.scry-modal__reorder{gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.action-btn--small{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.scry-modal__removed{margin-bottom:var(--spacing-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.export-dropdown__btn{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.export-dropdown__btn:hover:not(:disabled){opacity:.85;background-color:var(--color-bg)}.export-dropdown__btn:disabled{opacity:.55;cursor:not-allowed}.export-dropdown__btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.deck-editor{max-width:52rem;padding:var(--space-lg);margin:0 auto}.deck-editor__title{font-size:var(--font-size-xl);margin-bottom:var(--space-sm);font-weight:700}.deck-editor__summary{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-md)}.deck-editor__resolve-all{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.deck-editor__resolve-all-btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--player-a-accent);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:600}.deck-editor__resolve-all-btn:hover:not(:disabled){opacity:.85}.deck-editor__resolve-all-btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.deck-editor__resolve-all-btn:disabled{background-color:var(--color-disabled);color:var(--color-surface);cursor:not-allowed}.deck-editor__progress{background-color:var(--color-border);border-radius:var(--radius-sm);flex:8rem;height:1.5rem;position:relative;overflow:hidden}.deck-editor__progress-bar{background-color:var(--player-a-accent);height:100%;transition:width .2s}.deck-editor__progress-text{font-size:var(--font-size-sm);color:var(--color-text);justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:0}.deck-editor__list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:32rem;margin-bottom:var(--space-md);overflow-y:auto}.deck-editor__card{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.deck-editor__card:last-child{border-bottom:none}.deck-editor__card:focus,.deck-editor__card:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:-2px}.deck-editor__card--unresolved{background-color:var(--color-warning-bg)}.deck-editor__card-header{align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.deck-editor__card-name{font-weight:600;font-size:var(--font-size-base)}.deck-editor__badge{margin-right:var(--space-xs)}.deck-editor__missing{font-size:var(--font-size-sm);color:var(--color-warning-text)}.deck-editor__card-fields{align-items:flex-end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.deck-editor__field{gap:var(--space-xs);flex-direction:column;flex:6rem;min-width:5rem;display:flex}.deck-editor__field-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.deck-editor__input,.deck-editor__select{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text)}.deck-editor__input:focus,.deck-editor__input:focus-visible,.deck-editor__select:focus,.deck-editor__select:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:-1px;border-color:var(--player-a-accent)}.deck-editor__input[aria-invalid=true],.deck-editor__select[aria-invalid=true]{border-color:var(--color-error-text)}.deck-editor__lookup-btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;font-weight:600}.deck-editor__lookup-btn:hover{background-color:var(--color-bg)}.deck-editor__validation{margin-bottom:var(--space-md)}.deck-editor__warnings,.deck-editor__errors{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--space-sm);list-style:none}.deck-editor__warnings{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.deck-editor__errors{background-color:var(--color-error-bg);color:var(--color-error-text)}.deck-editor__warnings li,.deck-editor__errors li{padding:var(--space-xs) 0}.deck-editor__actions{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.deck-editor__load-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-surface);background-color:var(--player-a-accent);border-radius:var(--radius-sm);cursor:pointer;border:none;font-weight:700}.deck-editor__load-btn:hover:not(:disabled){opacity:.85}.deck-editor__load-btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.deck-editor__load-btn:disabled{background-color:var(--color-disabled);color:var(--color-surface);cursor:not-allowed}.deck-editor__cancel-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.deck-editor__cancel-btn:hover{background-color:var(--color-bg)}.deck-editor__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.deck-input__edit-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.deck-input__edit-btn:hover:not(:disabled){background-color:var(--color-bg)}.deck-input__edit-btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=480px){.deck-editor__card-fields{flex-direction:column}.deck-editor__field{flex:100%}.deck-editor__actions{flex-direction:column;align-items:stretch}}.game-toolbar{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);display:flex}.game-toolbar__history-btn{background-color:var(--color-text);margin-left:auto}.game-history{background:var(--color-surface);border-left:1px solid var(--color-border);width:min(400px,90vw);height:100vh;box-shadow:var(--shadow-md);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden}.game-history__header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.game-history__title{font-size:var(--font-size-lg);font-weight:700}.game-history__close{font-size:var(--font-size-sm)}.game-history__actions{gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.game-history__message{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-basis:100%;margin:0}.game-history__list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.game-history__empty{padding:var(--space-lg);color:var(--color-text-muted);text-align:center}.game-history__entry{padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border);align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap;display:flex}.game-history__entry--a{border-left:3px solid var(--player-a-accent)}.game-history__entry--b{border-left:3px solid var(--player-b-accent)}.game-history__badge{font-size:var(--font-size-sm);color:var(--color-surface);background-color:var(--color-text-muted);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);white-space:nowrap;font-weight:600;display:inline-block}.game-history__description{font-size:var(--font-size-sm);color:var(--color-text);flex:1;align-self:center;min-width:0}.game-history__cards{gap:var(--space-xs);flex-wrap:wrap;flex-basis:100%;display:flex}.game-history__card-thumb{flex-shrink:0;width:84px}.game-history__card-name,.game-history__card-destination{margin:var(--space-xs) 0 0;font-size:var(--font-size-xs);line-height:1.3}.game-history__card-name{font-weight:600}.game-history__card-destination{color:var(--color-text-muted);text-transform:capitalize}.game-history__card-thumb .card-display__image{border-radius:var(--radius-sm);width:100%;max-height:none}.game-history__card-thumb .card-display__name{display:none}.game-history__card-thumb .card-display__loading{padding:var(--space-xs);gap:var(--space-xs);font-size:var(--font-size-sm);justify-content:center;min-height:118px}.pre-game-settings{max-width:36rem;margin:var(--space-xl) auto;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem}.pre-game-settings__title{font-size:var(--font-size-xl);margin-bottom:var(--space-md);font-weight:700}.pre-game-settings__form{gap:var(--space-lg);flex-direction:column;display:flex}.pre-game-settings__fieldset{border:1px solid var(--color-border);padding:var(--space-md);border-radius:.375rem}.pre-game-settings__legend{font-weight:600;font-size:var(--font-size-base);padding:0 var(--space-xs)}.pre-game-settings__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xs);display:block}.pre-game-settings__select{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-base);border:1px solid var(--color-border);background:var(--color-surface);border-radius:.25rem}.pre-game-settings__checkbox-label{align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);cursor:pointer;display:flex}.pre-game-settings__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.pre-game-settings__start-btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-surface);background:var(--player-a-accent);cursor:pointer;border:none;border-radius:.375rem;align-self:flex-start;font-weight:600}.pre-game-settings__start-btn:hover{opacity:.9}.pre-game-settings__start-btn:focus-visible{outline:2px solid var(--player-a-accent);outline-offset:2px}.remote-match-lobby{max-width:56rem;margin:var(--space-xl) auto 0;padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.remote-match-lobby__header{gap:var(--space-sm);flex-direction:column;display:flex}.remote-match-lobby__title{font-size:var(--font-size-xl);font-weight:700}.remote-match-lobby__description,.remote-match-lobby__panel-copy,.remote-match-lobby__status-copy,.remote-match-lobby__last-message{color:var(--color-text-muted)}.remote-match-lobby__grid{gap:var(--space-md);margin-top:var(--space-lg);display:grid}@media (width>=768px){.remote-match-lobby__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.remote-match-lobby__panel,.remote-match-lobby__status{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.remote-match-lobby__panel{gap:var(--space-sm);flex-direction:column;display:flex}.remote-match-lobby__panel-title{font-size:var(--font-size-lg);font-weight:600}.remote-match-lobby__join-form{gap:var(--space-sm);flex-direction:column;display:flex}.remote-match-lobby__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.remote-match-lobby__input{padding:var(--space-sm);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.remote-match-lobby__action,.remote-match-lobby__reset{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);color:var(--color-surface);background:var(--player-a-accent);border-radius:var(--radius-sm);cursor:pointer;border:none;align-self:flex-start;font-weight:600}.remote-match-lobby__action:disabled{cursor:not-allowed;opacity:.6}.remote-match-lobby__reset{margin-top:var(--space-md);background:var(--color-disabled)}.remote-match-lobby__details{gap:var(--space-sm);margin-top:var(--space-md);display:grid}.remote-match-lobby__details div{gap:var(--space-xs);display:grid}.remote-match-lobby__details dt{font-size:var(--font-size-sm);font-weight:600}.remote-match-lobby__details dd{word-break:break-word}.remote-match-lobby__error{margin-top:var(--space-md);padding:var(--space-sm);color:var(--color-error-text);background:var(--color-error-bg);border-radius:var(--radius-sm)}.remote-match-lobby code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.deck-input__format-row{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.deck-input__format-row .deck-input__label{margin-bottom:0}.game-zones{gap:var(--space-md);margin-top:var(--space-md);grid-template-columns:1fr;display:grid}@media (width>=640px){.game-zones{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.game-zones{grid-template-columns:repeat(3,1fr)}}@media (width>=1280px){.game-zones{grid-template-columns:repeat(5,1fr)}}.game-zone{padding:var(--space-md);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md)}.game-zone--drag-over{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb33}.game-zone--battlefield{min-height:320px;position:relative}.game-zone__title{font-size:var(--font-size-base);margin-bottom:var(--space-xs);font-weight:700}.game-zone__card-count{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.game-zone__card-list{gap:var(--space-xs);margin-bottom:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(60px,1fr));list-style:none;display:grid}.game-zone__card-list--battlefield{min-height:240px;margin-bottom:0;display:block}.game-zone__battlefield-surface{min-height:240px;position:relative}.game-zone__card-item{font-size:var(--font-size-sm)}.game-zone__card-item--battlefield{width:96px;position:absolute}.game-zone__card-item--dragging{z-index:2}.game-zone__card-item--remote-active .game-zone__card-button{border-radius:var(--radius-sm);box-shadow:0 0 0 2px #3b82f68c,0 0 18px #60a5fa59}.game-zone__card-item .card-display__image{width:100%;max-height:none}.game-zone__card-item .card-display__card-back{max-width:none}.game-zone__card-item .card-display__loading{padding:var(--space-xs);gap:var(--space-xs)}.game-zone__empty-state{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-md) 0}.game-zone__peek-toggle{margin-bottom:var(--space-sm)}.game-zone__battlefield-empty{min-height:240px}.game-zone__remote-cursor{pointer-events:none;z-index:3;background:#bfdbfe8c;border:2px solid #60a5fae6;border-radius:9999px;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 16px #60a5fa73}.game-zone__card-button{cursor:grab;touch-action:none;background:0 0;border:0;width:100%;padding:0;display:block}.game-zone__card-button:disabled{cursor:default}.game-zone__card-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.game-zone__card-list--commanders{gap:var(--space-md);margin-bottom:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));list-style:none;display:grid}.game-zone__card-item--commander{font-size:var(--font-size-sm)}.commander-avatar{border-radius:var(--radius-md);background-color:var(--color-bg);border:2px solid var(--color-border);aspect-ratio:3/4;position:relative;overflow:hidden}.commander-avatar__image{object-fit:cover;width:100%;height:100%;display:block}.commander-avatar__loading,.commander-avatar__fallback{justify-content:center;align-items:center;gap:var(--space-xs);width:100%;height:100%;padding:var(--space-md);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;min-height:160px;display:flex}.commander-avatar__loading{background-color:var(--color-bg)}.commander-avatar__spinner{border:3px solid var(--color-border);border-top-color:var(--color-text);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.commander-avatar__name{font-size:var(--font-size-sm);color:var(--color-text);text-align:center;word-break:break-word;font-weight:500}.player-zone--c{border-color:var(--player-c-accent)}.player-zone--c .player-zone__name{color:var(--player-c-accent)}.player-zone--c .action-btn{background-color:var(--player-c-accent)}.player-zone--d{border-color:var(--player-d-accent)}.player-zone--d .player-zone__name{color:var(--player-d-accent)}.player-zone--d .action-btn{background-color:var(--player-d-accent)}.player-zone--c .action-btn:disabled,.player-zone--d .action-btn:disabled{background-color:var(--color-disabled);cursor:not-allowed;opacity:.6}.player-zone--c .action-btn:not(:disabled):focus-visible{outline-color:var(--player-c-accent)}.player-zone--d .action-btn:not(:disabled):focus-visible{outline-color:var(--player-d-accent)}.theme-toggle{cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;transition:background-color .2s;display:inline-flex}.theme-toggle:hover{background-color:var(--color-border)}.theme-toggle:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}
