@font-face{font-family:Orbitron;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/orbitron-var.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2)format("woff2")}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--inset-top:calc(env(safe-area-inset-top) + var(--test-inset-top,0px));--inset-bottom:calc(env(safe-area-inset-bottom) + var(--test-inset-bottom,0px));--bg0:#05060a;--surface:#111524;--surface-2:#171c2e;--surface-3:#0d1120;--fg:#e8ecf8;--muted:#8b93ad;--border:#232a42;--border-strong:#35406a;--neon-cyan:#00e5ff;--neon-magenta:#ff2ec4;--success:#39ffb0;--danger:#ff3860;--gold:#ffd54d;--grid-line:#8096ff06;--scanline:#8096ff12;--wordmark-glow:0 0 8px #00e5ff99, 0 0 28px #00e5ff4d;--glow-cyan:0 0 6px #00e5ffb3, 0 0 20px #00e5ff4d;--glow-magenta:0 0 6px #ff2ec4b3, 0 0 20px #ff2ec44d;--glow-success:0 0 8px #39ffb099, 0 0 24px #39ffb040;--glow-danger:0 0 8px #ff386099, 0 0 24px #ff386040;--glow-gold:0 0 8px #ffd54d8c, 0 0 20px #ffd54d38;--tint-cyan:#00e5ff17;--tint-magenta:#ff2ec417;--tint-gold:#ffd54d1a;--tint-success:#39ffb01a;--tint-danger:#ff38601f;--p1:var(--neon-cyan);--p2:var(--neon-magenta);--p1-glow:var(--glow-cyan);--p2-glow:var(--glow-magenta);--color-card-revealed:#39ffb01f;--color-card-revealed-border:#39ffb0a6;--color-card-revealed-fg:#b8ffe0;--color-card-peeked:#ffd54d1f;--color-card-peeked-border:#ffd54db3;--color-card-peeked-fg:#ffe9a8;--color-card-hidden:var(--surface-2);--color-card-hidden-border:var(--border-strong);--color-card-hidden-fg:var(--muted);--banner-bg:var(--tint-gold);--banner-border:#ffd54d80;--banner-fg:#ffe9a8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--font-display:"Orbitron", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-2xl:clamp(28px, 8vw, 42px);--transition:.18s ease}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg0:#f2f4fb;--surface:#fff;--surface-2:#f4f6fd;--surface-3:#eef1fa;--fg:#141a2e;--muted:#5a6380;--border:#d5dbee;--border-strong:#aab4d6;--neon-cyan:#007e9e;--neon-magenta:#c2187f;--success:#0d9f6e;--danger:#d81b48;--gold:#a8790a;--grid-line:#141a2e0d;--scanline:#141a2e0f;--wordmark-glow:0 0 18px #007e9e40;--glow-cyan:0 1px 3px #007e9e59, 0 0 14px #007e9e2e;--glow-magenta:0 1px 3px #c2187f59, 0 0 14px #c2187f2e;--glow-success:0 1px 3px #0d9f6e59, 0 0 14px #0d9f6e29;--glow-danger:0 1px 3px #d81b4859, 0 0 14px #d81b4829;--glow-gold:0 1px 3px #a8790a59, 0 0 14px #a8790a29;--tint-cyan:#007e9e14;--tint-magenta:#c2187f14;--tint-gold:#a8790a1a;--tint-success:#0d9f6e1a;--tint-danger:#d81b481a;--color-card-revealed:#0d9f6e1f;--color-card-revealed-border:#0d9f6e99;--color-card-revealed-fg:#08553c;--color-card-peeked:#a8790a1f;--color-card-peeked-border:#a8790aa6;--color-card-peeked-fg:#6b4d05;--color-card-hidden:var(--surface-2);--color-card-hidden-border:var(--border-strong);--color-card-hidden-fg:var(--muted);--banner-fg:#6b4d05;--banner-border:#a8790a73}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;overflow:hidden}*{-webkit-tap-highlight-color:transparent}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100%;position:fixed;inset:0}input,textarea{-webkit-user-select:text;user-select:text}button,a,.card{touch-action:manipulation}body{font-family:var(--font-body);font-size:var(--text-md);background:var(--bg0);color:var(--fg);background-image:radial-gradient(1100px 600px at 50% -10%, var(--tint-cyan), transparent 65%), repeating-linear-gradient(0deg, transparent 0 47px, var(--grid-line) 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, var(--grid-line) 47px 48px);background-attachment:fixed;margin:0;line-height:1.45}#root{overscroll-behavior:contain;max-width:520px;height:100dvh;padding:var(--space-4);padding-top:calc(var(--space-4) + var(--inset-top));padding-bottom:calc(var(--space-4) + var(--inset-bottom));margin:0 auto;overflow:hidden auto}h1,h2,h3{font-family:var(--font-display);letter-spacing:.03em;font-weight:700;line-height:1.2}h2{font-size:var(--text-lg);margin:var(--space-2) 0}h3{font-size:var(--text-md);margin:var(--space-3) 0 var(--space-2)}p{margin:var(--space-2) 0}hr{border:none;border-top:1px solid var(--border);margin:var(--space-3) 0}button{cursor:pointer;font-family:var(--font-display);letter-spacing:.03em;font-weight:500;font-size:var(--text-sm);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--fg);padding:var(--space-2) var(--space-4);min-height:44px;transition:opacity var(--transition), filter var(--transition), background var(--transition), border-color var(--transition), box-shadow var(--transition), transform 60ms ease}button:disabled{opacity:.35;cursor:not-allowed}button:not(:disabled):hover{filter:brightness(1.15);border-color:var(--border-strong)}button:not(:disabled):active{transform:translateY(1px)}.btn-cta{width:100%;font-family:var(--font-display);font-size:var(--text-md);letter-spacing:.03em;text-transform:uppercase;border-color:var(--neon-cyan);color:var(--neon-cyan);background:var(--tint-cyan)}.btn-cta:not(:disabled):hover{box-shadow:var(--glow-cyan)}.link-btn{color:var(--muted);padding:var(--space-2) var(--space-3);background:0 0;border:none;text-decoration:none}.link-btn:not(:disabled):hover{color:var(--fg);filter:none}.text-input{font-family:inherit;font-size:var(--text-md);color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);min-height:44px}.text-input:focus{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan);outline:none}.input-row{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;align-items:center;display:flex}.toasts{bottom:calc(var(--space-4) + var(--inset-bottom));gap:var(--space-2);z-index:100;flex-direction:column;max-width:min(420px,90vw);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid;animation:.2s toast-in}.toast--error{background:var(--surface);border-color:var(--danger);color:var(--danger);box-shadow:var(--glow-danger)}.toast--info{background:var(--surface);border-color:var(--neon-cyan);color:var(--fg);box-shadow:var(--glow-cyan)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--neon-cyan);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.queue-spinner{animation-duration:.9s!important;animation-iteration-count:infinite!important}}.icon{vertical-align:-.18em;width:1.1em;height:1.1em;display:inline-block}.icon-btn{min-width:44px;min-height:44px;color:var(--muted);font-size:var(--text-lg);background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.screen-head{align-items:center;gap:var(--space-1);display:flex}.screen-head h2{margin:0}.screen-head .back-btn{margin-left:calc(-1 * var(--space-2))}.danger-btn{border-color:var(--danger);color:var(--danger);background:0 0}.site-footer{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--muted)}.footer-legal{margin-top:var(--space-2)}.link-btn--inline{min-height:0;font-family:inherit;font-weight:inherit;letter-spacing:inherit;font-size:inherit;padding:0 2px;text-decoration:underline}.policy-body{text-align:left;max-height:55dvh;font-size:var(--text-sm);overflow-y:auto}.settings-row__value{color:var(--muted);font-size:var(--text-sm)}.build-tag{margin-top:var(--space-2);opacity:.6;font-family:var(--font-display);letter-spacing:.08em}.board .zone-row{scrollbar-width:none}.board .zone-row::-webkit-scrollbar{display:none}#root,.overlay__panel,.policy-body,.friend-list,.flip-log-list{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.card{aspect-ratio:13/18;width:52px;font-family:var(--font-display);font-size:var(--text-lg);border-radius:var(--radius-md);border:1.5px solid var(--border-strong);background:var(--surface);cursor:default;-webkit-user-select:none;user-select:none;transition:background-color var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition), box-shadow var(--transition), transform var(--transition);justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:inset 0 0 12px #00000059}:root[data-theme=light] .card{box-shadow:inset 0 0 10px #141a2e0f}.card--hidden{background:repeating-linear-gradient(-45deg, transparent 0 5px, var(--scanline) 5px 6px), var(--color-card-hidden);border-color:var(--color-card-hidden-border);color:var(--color-card-hidden-fg)}.card--revealed{background:var(--color-card-revealed);border-color:var(--color-card-revealed-border);color:var(--color-card-revealed-fg);text-shadow:0 0 10px var(--color-card-revealed-border)}.card--flipped-past{opacity:.4;filter:saturate(.4)}.card--flip-won,.card--flip-lost,.card--flip-tied{opacity:.95;filter:none}.card--targetable{cursor:pointer}.card--targetable--peek{outline:3px solid var(--neon-cyan);outline-offset:2px;animation:.7s ease-in-out infinite alternate target-pulse-cyan}.card--targetable--swap{outline:3px solid var(--success);outline-offset:2px;animation:.7s ease-in-out infinite alternate target-pulse-green}.card--swap-selected{outline:3px solid var(--success);outline-offset:2px;box-shadow:var(--glow-success);animation:none;transform:translateY(-4px)}@keyframes target-pulse-cyan{0%{outline-color:var(--neon-cyan);box-shadow:var(--glow-cyan)}to{outline-color:#0000;box-shadow:0 0 #00e5ff00}}@keyframes target-pulse-green{0%{outline-color:var(--success);box-shadow:var(--glow-success)}to{outline-color:#0000;box-shadow:0 0 #39ffb000}}.card--hand{cursor:pointer;width:48px}.card--hand:hover{border-color:var(--neon-cyan);transform:translateY(-2px)}.card--selected{background:var(--tint-cyan);border-color:var(--neon-cyan);color:var(--neon-cyan);box-shadow:var(--glow-cyan);transform:translateY(-4px)}.menu{min-height:calc(100dvh - var(--space-6) - var(--inset-top) - var(--inset-bottom));padding-top:var(--space-6);flex-direction:column;display:flex}.wordmark{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.08em;text-align:center;margin:0 0 var(--space-5);color:var(--fg);text-shadow:var(--wordmark-glow);font-weight:900}.mode-select{gap:var(--space-3);width:100%;margin-top:var(--space-3);flex-direction:column;display:flex}.mode-btn{padding:var(--space-3) var(--space-4);font-size:var(--text-md);text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg)}.mode-btn--primary{font-family:var(--font-display);letter-spacing:.03em;border-left:3px solid var(--neon-cyan);font-weight:500}.mode-btn--primary:not(:disabled):hover{border-color:var(--neon-cyan);filter:none}.menu-group{width:100%}.menu-group>summary{cursor:pointer;min-height:44px;list-style:none;display:block}.menu-group>summary::-webkit-details-marker{display:none}.menu-group>summary:after{content:"▾";float:right;color:var(--muted);transition:transform var(--transition)}.menu-group[open]>summary:after{transform:rotate(180deg)}.menu-group__items{gap:var(--space-2);margin:var(--space-2) 0 0 var(--space-4);flex-direction:column;display:flex}.menu-group__items .mode-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.menu__links{justify-content:center;gap:var(--space-4);margin-top:var(--space-5);display:flex}.debug-modes{margin-top:var(--space-6);opacity:.55}.debug-modes>summary{cursor:pointer;font-size:var(--text-xs);color:var(--muted);-webkit-user-select:none;user-select:none}.debug-modes .mode-select{gap:var(--space-2)}.debug-modes .mode-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);min-height:44px}.resume-banner{margin-bottom:var(--space-3)}.apple-signin{font-family:var(--font-body);letter-spacing:normal;text-align:center;color:#fff;background:#000;border-color:#444;font-weight:600}:root[data-theme=light] .apple-signin{color:#000;background:#fff;border-color:#999}.account-hint{text-align:center;font-size:var(--text-xs);margin:0}.profile-line{text-align:center;margin:var(--space-1) 0 0;font-size:var(--text-sm)}.friends-online-count{font-size:var(--text-xs);color:var(--success);margin-left:var(--space-1)}.friend-list{margin:0 0 var(--space-2);max-height:40dvh;padding:0;list-style:none;overflow-y:auto}.friend-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--border);display:flex}.friend-row__actions{gap:var(--space-1);display:flex}.friend-row__actions button{min-height:44px;padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.friend-remove{color:var(--muted);background:0 0;border-color:#0000}.presence{border:1px solid var(--border-strong);width:8px;height:8px;margin-right:var(--space-1);vertical-align:middle;border-radius:50%;display:inline-block}.presence--online{background:var(--success);border-color:var(--success)}.queue-spinner{width:28px;height:28px;margin:var(--space-2) auto;border:3px solid var(--border);border-top-color:var(--neon-cyan);border-radius:50%;animation:.9s linear infinite queue-spin}@keyframes queue-spin{to{transform:rotate(360deg)}}.resume-banner .mode-btn{border-left:3px solid var(--neon-cyan)}.arrange{height:calc(100dvh - 2 * var(--space-4) - var(--inset-top) - var(--inset-bottom));flex-direction:column;min-height:0;display:flex}.arrange h2{font-size:var(--text-md);margin:0 0 var(--space-1)}.arrange>.muted-note{margin:0 0 var(--space-1);font-size:var(--text-sm)}.arrange__progress{gap:var(--space-1);margin:var(--space-2) 0 var(--space-3);justify-content:center;display:flex}.arrange__pip{border:1px solid var(--border-strong);width:10px;height:10px;transition:background var(--transition), box-shadow var(--transition);border-radius:50%}.arrange__pip--filled{background:var(--neon-cyan);border-color:var(--neon-cyan)}.arrange__zones{gap:var(--space-2);flex-direction:column;display:flex}.arrange-zone--hover .arrange-zone__drop{border-color:var(--neon-cyan);background:var(--tint-cyan);border-style:solid}.card--grabbed{z-index:1000;will-change:transform;box-shadow:var(--glow-cyan);position:relative;transition:none!important}.arrange-zone__head{margin-bottom:var(--space-1);justify-content:space-between;align-items:center;display:flex}.arrange-zone__undo{min-width:44px;min-height:44px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border-color:var(--border);color:var(--muted);background:0 0}.arrange-zone__drop{width:100%;padding:var(--space-2);background:var(--surface-3);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);min-height:76px;transition:border-color var(--transition), box-shadow var(--transition);display:block}.arrange-zone--ready .arrange-zone__drop{border-color:var(--neon-cyan)}.arrange-zone--full .arrange-zone__drop{opacity:.85;border-style:solid}.arrange-zone__slots{gap:var(--space-2);justify-content:flex-start;display:flex}.arrange-zone__socket{aspect-ratio:13/18;border:1.5px dashed var(--border);border-radius:var(--radius-md);flex:none;width:44px}.card--own-mini{width:44px;font-family:var(--font-display);border-color:var(--neon-cyan);color:var(--neon-cyan);justify-content:center;align-items:center;font-weight:700;display:flex}.arrange [data-placed]{touch-action:none}:root[data-density=tight] .arrange-zone__drop{min-height:56px;padding:var(--space-1)}:root[data-density=tight] .arrange-zone__socket,:root[data-density=tight] .arrange .card--own-mini{width:38px}:root[data-density=tight] .arrange__hand{min-height:64px}:root[data-density=tight] .arrange__hand .card--hand{width:38px}:root[data-density=tight] .arrange__hand-wrap{padding:var(--space-2) 0 var(--space-1)}:root[data-density=tight] .interstitial{gap:var(--space-2);padding:var(--space-3)}@keyframes zone-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.arrange-zone--shake .arrange-zone__drop{border-color:var(--danger);animation:.25s zone-shake}.arrange__hand-wrap{padding:var(--space-4) 0 var(--space-2);margin-top:auto}.arrange__hand{justify-content:center;min-height:84px;display:flex}.arrange__hand .card--hand{touch-action:none;width:min(44px,10vw + 3px);transform:rotate(calc((var(--fan-i,0) - (var(--fan-n,1) - 1) / 2) * 3deg));transform-origin:50% 130%;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);margin:0 -6px}.arrange__hand .card--hand:hover{z-index:2;transform:translateY(-6px)}.arrange__hand .card--selected{z-index:3;transform:translateY(-14px)scale(1.08)}.arrange__actions{gap:var(--space-2);align-items:stretch;display:flex}.arrange__actions .btn-cta{flex:1;width:auto}.setup-status{color:var(--danger);min-height:20px;margin:var(--space-2) 0;font-size:var(--text-sm);text-align:center}.interstitial{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);min-height:calc(100dvh - 2 * var(--space-6) - var(--inset-top) - var(--inset-bottom));padding:var(--space-5);flex-direction:column;display:flex}.interstitial__icon{color:var(--neon-cyan);font-size:56px}.interstitial__icon .icon{width:56px;height:56px}.interstitial .btn-cta{max-width:320px}.online-code-input{width:120px;font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.3em;text-transform:uppercase;text-align:center}.room-code{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.3em;text-align:center;color:var(--neon-cyan);text-shadow:0 0 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) auto;max-width:240px;font-weight:700}.share-input{flex:1;min-width:220px}.conn-banner{background:var(--banner-bg);border:1px solid var(--banner-border);color:var(--banner-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin:var(--space-2) 0;font-size:var(--text-sm)}.zone-block{margin-top:var(--space-2)}.zone-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-1)}.zone-row{gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--transition), opacity var(--transition), border-color var(--transition), box-shadow var(--transition);border:1px solid #0000;flex-wrap:wrap;display:flex}.zone-row--active{background:var(--surface-2);border-color:var(--border-strong)}.specials-status{margin-top:var(--space-2);font-size:var(--text-xs);gap:var(--space-2);flex-wrap:wrap;display:flex}.special-tag{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--success)}.special-tag--used{color:var(--danger);opacity:.7;text-decoration:line-through}.action-panel__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.btn-call{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--tint-cyan);border-color:var(--neon-cyan);color:var(--neon-cyan);padding:var(--space-2) var(--space-5);font-weight:600}.btn-call:not(:disabled):hover{box-shadow:var(--glow-cyan);filter:none}.btn-special{padding:var(--space-2) var(--space-3)}.action-sub{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-md)}.debug-panel{margin-top:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--muted);opacity:.6}.debug-panel>summary{cursor:pointer}.debug-panel pre{margin:var(--space-1) 0;font-family:ui-monospace,monospace;line-height:1.6}.modal-overlay{border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);max-width:440px;margin:var(--space-7) auto;text-align:center;background:var(--surface);box-shadow:var(--glow-gold)}.modal-overlay h2{margin:0 0 var(--space-2)}.modal-overlay__value{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-4) 0;color:var(--gold);text-shadow:0 0 10px;background:var(--tint-gold);padding:var(--space-4);border:1px solid var(--gold);border-radius:var(--radius-md);font-weight:700}.modal-overlay__buttons{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.modal-overlay p{margin:var(--space-1) 0;color:var(--muted)}.modal-card-row{gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;justify-content:center;display:flex}.modal-zone{margin:var(--space-3) 0}.modal-zone__cards{gap:var(--space-2);justify-content:center;display:flex}button.card{min-height:0;padding:0}.match-over__winner{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.08em;padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-3);border:1px solid;font-weight:700;display:inline-block}.match-over__winner--won{background:var(--tint-success);border-color:var(--success);color:var(--success);text-shadow:0 0 10px;box-shadow:var(--glow-success)}.match-over__winner--lost{background:var(--tint-danger);border-color:var(--danger);color:var(--danger)}.match-over__winner--tied{background:var(--tint-gold);border-color:var(--gold);color:var(--gold)}.matchover-score{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.08em;margin-bottom:var(--space-3);font-weight:700}.matchover-score--won{color:var(--success);text-shadow:0 0 10px}.matchover-score--lost{color:var(--danger)}.matchover-score--tied{color:var(--gold)}.matchover-board{margin:var(--space-2) 0;text-align:left}.matchover-board--won{border-color:var(--success);box-shadow:var(--glow-success)}.matchover-board--lost{border-color:var(--danger)}.matchover-board--tied{border-color:var(--gold)}.matchover-board .zone-block{margin-bottom:var(--space-2)}.matchover-board .zone-row{gap:var(--space-1);padding:4px 6px;display:flex}.matchover-board .card{width:34px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.match-over__buttons{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.muted-note{color:var(--muted);font-style:italic}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.settings-row__label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-pill);display:flex;overflow:hidden}.segmented button{padding:var(--space-2) var(--space-3);min-height:44px;font-size:var(--text-sm);background:0 0;border:none;border-radius:0}.segmented button[aria-pressed=true]{background:var(--tint-cyan);color:var(--neon-cyan);font-weight:600}.howto section{margin-bottom:var(--space-5)}.howto h3{color:var(--neon-cyan)}.rule-chip{font-family:var(--font-display);font-size:var(--text-sm);background:var(--tint-magenta);border:1px solid var(--neon-magenta);color:var(--neon-magenta);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);margin:var(--space-1) 0;display:inline-block}.howto .zone-demo{gap:var(--space-2);margin:var(--space-2) 0;align-items:center;display:flex}.card--demo{width:36px;font-size:var(--text-sm)}.back-row{margin-top:var(--space-5)}@media (width<=620px){.card{width:44px}}@media (width>=720px){#root{max-width:720px}}.play{gap:var(--space-2);min-height:calc(100dvh - 2 * var(--space-4) - var(--inset-top) - var(--inset-bottom));flex-direction:column;display:flex}.card{perspective:500px;flex:none;position:relative}.card__inner{transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.8,.3,1);position:absolute;inset:-1.5px}.card[data-face=up] .card__inner,.card[data-face=own] .card__inner,.card[data-face=own-peeked] .card__inner,.card[data-face=seen] .card__inner{transform:rotateY(180deg)}.card__back,.card__front{backface-visibility:hidden;border-radius:inherit;border:1.5px solid var(--color-card-hidden-border);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card__back{background:repeating-linear-gradient(-45deg, transparent 0 5px, var(--scanline) 5px 6px), var(--color-card-hidden)}.card__back:after{content:"?";color:var(--color-card-hidden-fg)}.card__front{background:var(--surface);transform:rotateY(180deg)}.card[data-face=up] .card__front{background:var(--color-card-revealed);border-color:var(--color-card-revealed-border);color:var(--color-card-revealed-fg)}.card[data-face=own] .card__front{border-color:var(--border-strong)}.card[data-face=own-peeked] .card__front{border-style:dashed;border-color:var(--color-card-peeked-border);color:var(--color-card-peeked-fg)}.card[data-face=seen] .card__front{background:var(--color-card-peeked);border-style:dashed;border-color:var(--color-card-peeked-border);color:var(--color-card-peeked-fg)}.card[data-face=peeked] .card__back{border-style:dashed;border-color:var(--color-card-peeked-border)}.card[data-face=peeked] .card__back:after{content:"";background-color:var(--color-card-peeked-border);width:62%;height:62%;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C5.6 5 1 12 1 12s4.6 7 11 7 11-7 11-7-4.6-7-11-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C5.6 5 1 12 1 12s4.6 7 11 7 11-7 11-7-4.6-7-11-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8z'/%3E%3C/svg%3E") 50%/contain no-repeat}.card[data-face]{box-shadow:none;background:0 0;border-color:#0000}.card[data-face].card--flip-pos{box-shadow:none;border-color:#0000!important}.card[data-face].card--flip-won .card__front{background:var(--tint-success);border-color:var(--success);color:var(--success);box-shadow:var(--glow-success)}.card[data-face].card--flip-lost .card__front{background:var(--tint-danger);border-color:var(--danger);color:var(--danger);box-shadow:var(--glow-danger)}.card[data-face].card--flip-tied .card__front{background:var(--tint-gold);border-color:var(--gold);color:var(--gold);box-shadow:var(--glow-gold)}.card[data-face].card--flip-pos .card__back,.card[data-face].card--flip-pos .card__front{border-color:var(--fg)}.hud{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.hud__mid{text-align:left}.hud__right{align-items:center;gap:var(--space-3);display:flex}.hud__score{font-family:var(--font-display);font-size:var(--text-lg);white-space:nowrap;font-weight:700}.hud__score-sep{color:var(--muted);margin:0 var(--space-1)}.hud__total--p1{color:var(--p1)}.hud__total--p2{color:var(--p2)}.hud__pips{gap:var(--space-1);display:flex}.hud__pip{font-family:var(--font-display);font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--muted);white-space:nowrap;transition:border-color var(--transition), color var(--transition), box-shadow var(--transition);padding:2px 8px}.hud__pip--active{border-color:var(--fg);color:var(--fg)}.hud__pip--won-p1{border-color:var(--p1);color:var(--p1)}.hud__pip--won-p2{border-color:var(--p2);color:var(--p2)}.hud__phase{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-top:4px}.hud__icon-btn{border-radius:var(--radius-md);min-width:44px;min-height:44px;font-size:var(--text-md);padding:0}.board{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);background:var(--surface-3);transition:border-color var(--transition), box-shadow var(--transition)}.board--priority{border-color:var(--success);box-shadow:var(--glow-success)}.board__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.board__name{font-weight:700;font-size:var(--text-sm)}.board .zone-block{margin-top:var(--space-1)}.board .zone-row{flex-wrap:nowrap;overflow-x:auto}.board .zone-block:has(.zone-row--collapsed){align-items:center;gap:var(--space-2);display:flex}.board .zone-block:has(.zone-row--collapsed) .zone-label{min-width:52px;margin:0}.zone-row--collapsed{opacity:.55;padding:2px}.zone-row--won,.zone-row--lost,.zone-row--tied{opacity:.85;border-radius:var(--radius-md);border:1px solid;padding:2px 4px}.zone-row--won{border-color:var(--success);background:var(--tint-success)}.zone-row--lost{border-color:var(--danger);background:var(--tint-danger)}.zone-row--tied{border-color:var(--gold);background:var(--tint-gold)}.zone-row--collapsed .card{width:26px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.zone-row--collapsed .card .card__front,.zone-row--collapsed .card .card__back{font-size:var(--text-xs)}.duel{justify-content:center;align-items:center;gap:var(--space-5);min-height:88px;padding:var(--space-1);flex:1;display:flex;position:relative}.duel__vs{font-family:var(--font-display);font-weight:900;font-size:var(--text-lg);color:var(--muted);letter-spacing:.08em}.duel-card{aspect-ratio:13/18;perspective:600px;width:62px}.duel-card__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,.8,.3,1);position:relative}.duel-card[data-face=up] .duel-card__inner{transform:rotateY(180deg)}.duel-card__back,.duel-card__front{backface-visibility:hidden;border-radius:var(--radius-md);border:1.5px solid var(--border-strong);font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.duel-card__back{background:repeating-linear-gradient(-45deg, transparent 0 5px, var(--scanline) 5px 6px), var(--surface-2)}.duel-card__back:after{content:"T";font-size:var(--text-sm);letter-spacing:.08em;color:var(--border-strong)}.duel-card__front{background:var(--surface);color:var(--fg);transform:rotateY(180deg)}.duel-card--p1 .duel-card__back,.duel-card--p1 .duel-card__front{border-color:var(--p1)}.duel-card--p2 .duel-card__back,.duel-card--p2 .duel-card__front{border-color:var(--p2)}.duel-card--p1 .duel-card__front{color:var(--p1)}.duel-card--p2 .duel-card__front{color:var(--p2)}.duel-card--winner .duel-card__front{box-shadow:var(--glow-success);border-color:var(--success)}.duel-card--loser .duel-card__front{filter:brightness(.55)saturate(.6)}.action-bar{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3);padding-bottom:calc(var(--space-3) + var(--inset-bottom));margin:0 calc(-1 * var(--space-2));position:sticky;bottom:0;box-shadow:0 -6px 24px #00000059}.action-bar__label{font-weight:700;font-size:var(--text-sm);margin-bottom:var(--space-2);min-height:1.3em}.action-bar__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.action-bar__buttons .btn-call{flex:1;min-width:110px}#overlay{z-index:50;padding:var(--space-4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030408e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#overlay[hidden]{display:none}:root[data-theme=light] #overlay{background:#ebeffaeb}.overlay__panel{width:100%;max-width:440px;max-height:calc(100dvh - 2 * var(--space-4));border-radius:var(--radius-lg);padding:var(--space-5);text-align:center;background:var(--surface);border:1px solid;animation:.2s toast-in;overflow-y:auto}.overlay__panel--gold{border-color:var(--gold)}.overlay__panel--cyan{border-color:var(--neon-cyan)}.overlay__panel p{color:var(--muted)}.flip-log-list{gap:var(--space-1);text-align:left;max-height:45dvh;font-size:var(--text-sm);flex-direction:column;display:flex;overflow-y:auto}.log-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--surface-2);border-left:2px solid var(--border-strong);border-radius:var(--radius-sm);display:flex}.log-row--won{border-left-color:var(--success)}.log-row--lost{border-left-color:var(--danger)}.log-row--tied{border-left-color:var(--gold)}.log-row--p1{border-left-color:var(--p1)}.log-row--p2{border-left-color:var(--p2)}.log-row__where{color:var(--muted);font-size:var(--text-xs)}.log-row__values{font-family:var(--font-display)}.pred-range-row{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.pred-range-btn{min-width:3.4em}@media (height<=900px){.card{width:44px}.duel{min-height:76px}.duel-card{width:54px}.board{padding:var(--space-1) var(--space-2)}.hud__score{font-size:var(--text-md)}.play{gap:var(--space-1)}}:root[data-density=compact] .play,:root[data-density=tight] .play{gap:var(--space-1)}:root[data-density=compact] .card,:root[data-density=tight] .card{width:38px}:root[data-density=compact] .zone-row--collapsed .card,:root[data-density=tight] .zone-row--collapsed .card{width:20px}:root[data-density=compact] .duel,:root[data-density=tight] .duel{gap:var(--space-4);min-height:48px}:root[data-density=compact] .duel-card,:root[data-density=tight] .duel-card{width:44px}:root[data-density=compact] .board,:root[data-density=tight] .board{padding:var(--space-1) var(--space-2)}:root[data-density=compact] .board .zone-block,:root[data-density=tight] .board .zone-block{margin-top:2px}:root[data-density=compact] .zone-label,:root[data-density=tight] .zone-label{font-size:var(--text-xs)}:root[data-density=compact] .hud__score,:root[data-density=tight] .hud__score{font-size:var(--text-md)}:root[data-density=compact] .hud__phase,:root[data-density=tight] .hud__phase{font-size:var(--text-xs)}:root[data-density=compact] #debug-slot,:root[data-density=tight] #debug-slot{display:none}:root[data-density=tight] .card{width:34px}:root[data-density=tight] .zone-row--collapsed .card{width:18px}:root[data-density=tight] .duel-card{width:40px}:root[data-density=tight] .duel{min-height:44px}:root[data-density=tight] .action-bar button{min-height:44px;padding-top:6px;padding-bottom:6px}:root[data-density=tight] .hud{min-height:0;padding-top:2px;padding-bottom:2px}:root[data-density=tight] .board__header{gap:var(--space-1)}:root[data-density=tight] .board__name,:root[data-density=tight] .specials-status,:root[data-density=tight] .action-bar__label{font-size:var(--text-xs)}:root[data-density=tight] .action-bar{padding-top:var(--space-1);padding-bottom:var(--space-1)}:root[data-density=tight] .action-bar__buttons{gap:4px}:root[data-density=tight] .action-bar__buttons button{font-size:var(--text-xs);padding-left:8px;padding-right:8px}:root[data-density=tight] .hud__pip{transform:scale(.85)}:root[data-density=tight] .board .zone-block{margin-top:0}:root[data-density=tight] .zone-row--collapsed{padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes deal-in{0%{opacity:0;transform:translateY(14px)rotate(-3deg)}to{opacity:1;transform:none}}.card--deal{animation:.38s cubic-bezier(.2,.8,.3,1.2) backwards deal-in;animation-delay:calc(var(--deal-i,0) * 28ms)}.fx-shockwave{border:3px solid var(--neon-magenta);width:120px;height:120px;box-shadow:var(--glow-magenta);pointer-events:none;opacity:0;border-radius:50%;margin:-60px 0 0 -60px;position:absolute;top:50%;left:50%}#fx-layer{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.fx-particle{top:-12px;left:calc(var(--x,50) * 1%);background:var(--tint,var(--gold));width:7px;height:7px;box-shadow:0 0 6px var(--tint,var(--gold));opacity:0;animation:confetti-fall var(--dur,2s) linear var(--delay,0s) forwards;border-radius:2px;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.85;transform:translateY(105vh)rotate(540deg)}}.pulse-dots:after{content:"···";font-family:var(--font-display);letter-spacing:.2em;animation:1.4s ease-in-out infinite pulse-dots}@keyframes pulse-dots{0%,to{opacity:.25}50%{opacity:1}}
