@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=pixelborn]{--bg:#1a1a1a;--bg-image:linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 50%, #1f1f1f 100%);--bg-elev:#1f1f1f;--panel:#2a2a2a;--panel-border:#ff950026;--panel-border-strong:#ff950080;--panel-shadow:0 8px 32px #00000080;--panel-shadow-hover:0 12px 48px #ff950026;--panel-bar:linear-gradient(90deg, #ff9500, #ffc947);--text:#fff;--muted:#a0a8b8;--accent:#ff9500;--accent-2:#ffc947;--accent-ink:#1a1a1a;--btn-primary-bg:linear-gradient(135deg, #ff9500, #ffb340);--btn-primary-bg-hover:linear-gradient(135deg, #ffa520, #ffc660);--btn-primary-border:transparent;--btn-primary-shadow:0 4px 15px #ff95004d;--btn-primary-shadow-hover:0 6px 25px #ff950080;--btn-bg:#ffffff14;--btn-border:#ff95004d;--btn-hover-bg:#ff950026;--btn-hover-border:#ff950080;--radius-panel:20px;--radius-tile:14px;--radius-control:12px;--topbar-bg:#232323d9;--topbar-border:#ffc94733;--lift:-4px;--selected-glow:0 0 0 3px #ff950059;--scrollbar:#ff950059;--danger:#ff5a5f;--ok:#4ff09a;--warn:#ffb340;--shadow:0 10px 30px #00000073}[data-theme=cyberpunk]{--bg:#0b0d12;--bg-image:radial-gradient(1200px 600px at 10% -10%, #1a1f2e 0%, #0b0d12 60%);--bg-elev:#12151d;--panel:#161a24;--panel-border:#252b3a;--panel-border-strong:#8b93a7;--panel-shadow:none;--panel-shadow-hover:none;--panel-bar:none;--text:#e8ebf2;--muted:#8b93a7;--accent:#f3e600;--accent-2:#00e5ff;--accent-ink:#14140a;--btn-primary-bg:#f3e600;--btn-primary-bg-hover:#fff36b;--btn-primary-border:#f3e600;--btn-primary-shadow:none;--btn-primary-shadow-hover:none;--btn-bg:#12151d;--btn-border:#252b3a;--btn-hover-bg:#12151d;--btn-hover-border:#8b93a7;--radius-panel:10px;--radius-tile:8px;--radius-control:8px;--topbar-bg:#0b0d12d9;--topbar-border:#252b3a;--lift:-2px;--selected-glow:0 0 0 3px #f3e60040;--scrollbar:#252b3a;--danger:#ff4d6d;--ok:#3ddc97;--warn:#ffb547;--shadow:0 10px 30px #00000059}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-image) fixed, var(--bg);color:var(--text);margin:0;transition:background-color .3s,color .3s}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .4em;line-height:1.2}h1{font-size:1.7rem}h2{font-size:1.2rem}h3{font-size:1rem}hr{border:0;border-top:1px solid var(--panel-border);width:100%;margin:1rem 0}code{background:var(--bg-elev);border-radius:4px;padding:0 .3em}.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}.muted{color:var(--muted)}.hint{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.error{color:var(--danger)}.status-ok{color:var(--ok);margin:0}.status-warn{color:var(--warn);margin:0}.row{align-items:center;gap:.5rem;display:flex}.row>.input{flex:1}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;background:var(--topbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--topbar-border);align-items:center;gap:1.5rem;padding:.7rem 1.5rem;display:flex;position:sticky;top:0}.brand-link{flex:none;align-items:center;display:flex}.brand-link:hover{text-decoration:none}.brand-logo{filter:drop-shadow(0 2px 10px #ffc94740);width:auto;height:34px;display:block}.nav{gap:.25rem;display:flex}.nav a{color:var(--muted);border-radius:var(--radius-control);padding:.35rem .75rem;font-weight:600}.nav a:hover{color:var(--text);background:var(--btn-hover-bg);text-decoration:none}.nav a.active{color:var(--text);background:var(--panel)}.nav a.nav-live{color:var(--accent)}.topbar-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.username{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.game-switch select{border-radius:var(--radius-control);background:var(--bg-elev);color:var(--text);border:1px solid var(--btn-border);font:inherit;padding:.35rem .6rem;font-weight:600}.page{flex-direction:column;gap:1rem;width:100%;max-width:1280px;margin:0 auto;padding:1.5rem;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-head p{margin:0}.back{color:var(--muted);margin-bottom:.3rem;display:inline-block}.section-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.section-head h2,.section-head h3{margin:0}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);padding:1.2rem;position:relative}.tile{transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.tile:before{content:"";background:var(--panel-bar);transform-origin:0;pointer-events:none;height:4px;transition:transform .3s;position:absolute;inset:0 0 auto;transform:scaleX(0)}.tile:hover:not(:disabled){transform:translateY(var(--lift));border-color:var(--panel-border-strong);box-shadow:var(--panel-shadow-hover)}.tile:hover:not(:disabled):before,.tile.selected:before{transform:scaleX(1)}.form-stack{flex-direction:column;gap:.9rem;display:flex}.field{border:0;flex-direction:column;gap:.35rem;margin:0;padding:0;display:flex}.field>span,.field>legend{font-size:.9rem;font-weight:600}.checkbox{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox input{accent-color:var(--accent);width:16px;height:16px}.input{background:var(--bg-elev);width:100%;color:var(--text);border:1px solid var(--btn-border);border-radius:var(--radius-control);font:inherit;padding:.6rem .75rem}.input:focus{outline:2px solid var(--accent-2);outline-offset:1px;border-color:#0000}textarea.input{resize:vertical;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.btn{border-radius:var(--radius-control);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-weight:600;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--accent-ink);border-color:var(--btn-primary-border);box-shadow:var(--btn-primary-shadow)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border);box-shadow:var(--btn-primary-shadow-hover);transform:translateY(-1px)}.btn-ghost{background:0 0}.btn-sm{padding:.3rem .7rem;font-size:.85rem}.btn-block{width:100%}.btn-off{border-color:var(--danger);color:var(--danger)}.danger{color:var(--danger)}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.badge-first{background:var(--btn-primary-bg);color:var(--accent-ink)}.badge-muted{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}.banner{border-radius:var(--radius-tile);background:color-mix(in srgb, var(--accent-2) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent-2) 35%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.banner-actions{gap:.5rem;display:flex}.banner-warn{background:color-mix(in srgb, var(--warn) 10%, transparent);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.banner-error{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.empty{text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.login{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{flex-direction:column;gap:1rem;width:100%;max-width:420px;display:flex;overflow:hidden}.login-card:before{content:"";background:var(--panel-bar);height:4px;position:absolute;inset:0 0 auto}.login-brand{text-align:center}.login-logo{filter:drop-shadow(0 4px 20px #ffc94759);width:100%;max-width:300px;height:auto}.tagline{color:var(--accent-2);letter-spacing:.25em;text-transform:uppercase;margin:.2rem 0 0;font-size:.9rem;font-weight:300}.login-intro{text-align:center;margin:0}.login-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:#ffffff1f;flex:1;height:1px}.login-guest-hint{text-align:center;margin-top:-.5rem}.google-signin{flex-direction:column;align-items:center;gap:.4rem;min-height:44px;display:flex}.google-signin-button{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;justify-content:center;width:100%;max-width:400px;display:flex}.google-signin.is-disabled{opacity:.6;pointer-events:none}.login-links{color:var(--muted);justify-content:center;gap:.5rem;margin:0;font-size:.85rem;display:flex}.landing{flex-direction:column;min-height:100vh;display:flex}.landing-top{justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);display:flex}.landing-logo{filter:drop-shadow(0 4px 18px #ffc9474d);width:auto;height:46px}.landing main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:clamp(2.5rem,8vw,5.5rem) 0 clamp(2rem,5vw,3.5rem);display:flex}.landing-kicker{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.landing-hero h1{max-width:860px;margin:0;font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.12}.landing-lead{max-width:680px;color:var(--muted);margin:0;font-size:clamp(1rem,1.6vw,1.15rem)}.landing-actions{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:.5rem;display:flex}.landing-cta{padding-inline:2rem;font-size:1.05rem}.landing-soon{border:1px solid var(--panel-border-strong);color:var(--accent-2);border-radius:999px;padding:.6rem 1.2rem;font-weight:700}.landing-section{padding:1.5rem 0}.landing-section h2{text-align:center;margin-bottom:1.2rem;font-size:clamp(1.3rem,2.4vw,1.7rem)}.landing-features{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.landing-feature h3{color:var(--accent);margin-bottom:.35rem}.landing-feature p{color:var(--muted);margin:0}.landing-steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{counter-increment:step;border-radius:var(--radius-tile);background:var(--bg-elev);border:1px solid var(--panel-border);padding:1.2rem}.landing-steps li:before{content:counter(step);background:var(--btn-primary-bg);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;place-items:center;margin-bottom:.6rem;font-weight:800;display:grid}.landing-steps p{color:var(--muted);margin:0}.landing-footer{border-top:1px solid var(--panel-border);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1.2rem;padding:1.5rem;font-size:.9rem;display:flex}.desktop-only{text-align:center}.desktop-only h1{color:var(--accent);margin:0;font-size:1.4rem}.desktop-only p{color:var(--muted);margin:0}.desktop-only .desktop-only-address{border-radius:var(--radius-control);background:var(--bg-elev);border:1px solid var(--panel-border);color:var(--text);overflow-wrap:anywhere;padding:.55rem .8rem;font-weight:700}.badge-guest{background:color-mix(in srgb, var(--accent-2) 18%, transparent);color:var(--accent-2)}.badge-cover{color:#7ffcf8;text-transform:none;background:#00fff82e}kbd{border:1px solid var(--panel-border-strong);background:var(--bg-elev);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-family:ui-monospace,Consolas,monospace;font-size:.8em}.cover-line{pointer-events:none;z-index:1;background:linear-gradient(90deg,#00fff8,#3470ff,#00fff8) 0 0/200% 100%;height:3px;animation:2.4s linear infinite cover-line;position:absolute;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 10px #00fff8b3}.cover-fill{pointer-events:none;z-index:1;background:radial-gradient(circle at 20% 30%,#3470ff40,#0000 40%),radial-gradient(circle at 80% 70%,#00fff82e,#0000 45%),repeating-linear-gradient(135deg,#0d1018 0 14px,#141a26 14px 28px);border-top:2px solid #00fff8;border-bottom:2px solid #00fff8;position:absolute;left:0;right:0}@keyframes cover-line{0%{background-position:0 0}to{background-position:200% 0}}.streamer-cover-settings{flex-direction:column;gap:.7rem;margin-top:1rem;display:flex}.streamer-cover-settings input[type=range]{accent-color:var(--accent);width:100%}.reconnect p{margin:0}.reconnect-actions{justify-content:center}.card-image{aspect-ratio:5/7;object-fit:cover;background:var(--bg-elev);border-radius:6px;width:100%;display:block}.card-image-missing{text-align:center;color:var(--muted);border:1px dashed var(--panel-border);place-items:center;padding:.4rem;font-size:.75rem;display:grid}.deck-legends{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.deck-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.deck-card{flex-direction:column;gap:.8rem;display:flex}.deck-card-body h2{margin-bottom:.2rem}.deck-card-body p{margin:0}.deck-notes{color:var(--muted);white-space:pre-wrap;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden;margin-top:.4rem!important}.deck-card-actions{gap:.5rem;margin-top:auto;display:flex}.deck-grid{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;max-height:520px;margin:0 -.4rem 0 -.1rem;padding:.5rem .4rem .5rem .1rem;display:grid;overflow-y:auto}.deck-tile{text-align:left;background:var(--bg-elev);color:var(--text);border:1px solid var(--panel-border);border-radius:var(--radius-tile);font:inherit;cursor:pointer;flex-direction:column;gap:.7rem;padding:.8rem .8rem 1rem;display:flex}.deck-tile:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.deck-tile.selected{border-color:var(--accent);box-shadow:var(--selected-glow)}.deck-tile:disabled{opacity:.55;cursor:not-allowed}.deck-tile-check{z-index:3;background:var(--btn-primary-bg);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:.55rem;right:.55rem}.deck-fan{height:168px;margin-top:.2rem;position:relative}.deck-fan .fan-card{transform-origin:50% 110%;filter:drop-shadow(0 6px 10px #00000073);width:44%;position:absolute;top:8px;left:50%}.deck-fan .fan-card:first-child{transform:translate(-108%)rotate(-11deg)}.deck-fan .fan-card:nth-child(2){z-index:2;transform:translate(-50%)translateY(-6px)}.deck-fan .fan-card:nth-child(3){transform:translate(8%)rotate(11deg)}.deck-tile-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.deck-tile-meta{color:var(--muted);font-size:.8rem}.deck-tile-meta.warn{color:var(--warn)}.deck-tile-new{min-height:240px;color:var(--muted);text-align:center;border-style:dashed;justify-content:center;align-items:center;font-weight:600}.deck-tile-new:hover{color:var(--text);text-decoration:none}.deck-tile-plus{color:var(--accent);font-size:2rem;line-height:1}.editor-grid{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:1rem;display:grid}.import-panel{flex-direction:column;gap:.7rem;display:flex}.import-panel p{margin:0}.error-list{color:var(--danger);margin:0;padding-left:1.2rem;font-size:.85rem}.card-list{max-height:240px;margin:0;padding:0;font-size:.85rem;list-style:none;overflow:auto}.card-list li{border-bottom:1px solid var(--panel-border);padding:.15rem 0}.qty{color:var(--accent);min-width:2em;font-weight:700;display:inline-block}.legend-picker-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.legend-picker-head .input{max-width:260px}.count{color:var(--accent)}.legend-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;display:grid}.legend-tile{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;padding:0;transition:transform .15s,border-color .15s;position:relative}.legend-tile:hover:not(:disabled){transform:translateY(var(--lift));border-color:var(--panel-border-strong)}.legend-tile:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.legend-tile.selected{border-color:var(--accent);box-shadow:var(--selected-glow)}.legend-tile.blocked{opacity:.35;cursor:not-allowed}.legend-check{background:var(--btn-primary-bg);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:6px;right:6px}.setup{flex-direction:column;gap:1rem;display:flex}.setup-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:1rem;display:grid}.meter{background:var(--bg-elev);border-radius:4px;height:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--ok), var(--accent));height:100%;transition:width 80ms linear}.video-tile{border-radius:var(--radius-tile);border:1px solid var(--panel-border);aspect-ratio:16/9;background:#05060a;position:relative;overflow:hidden}.video-tile.speaking{border-color:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb, var(--ok) 35%, transparent)}.video-tile video{object-fit:contain;width:100%;height:100%;display:block}.video-placeholder{color:var(--muted);text-align:center;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.video-label{background:#0009;border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.8rem;font-weight:600;display:flex;position:absolute;bottom:.6rem;left:.6rem}.play{flex-direction:column;gap:1rem;display:flex}.play-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.play-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;display:flex}.searching{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.lobby-code{letter-spacing:.25em;color:var(--accent);-webkit-user-select:all;user-select:all;margin:0;font-family:ui-monospace,Consolas,monospace;font-size:2.2rem;font-weight:800}.pulse{background:var(--accent);border-radius:50%;width:18px;height:18px;animation:1.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 28px #0000}}.game-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.game-list li{border-radius:var(--radius-control);background:var(--bg-elev);align-items:center;gap:1rem;padding:.6rem .8rem;display:flex}.game-list .players{flex:1;font-weight:600}.game-list em{color:var(--muted);margin:0 .3rem;font-style:normal}.app:has(.page-match){height:100vh;min-height:0}.page-match{flex:1;gap:0;max-width:none;min-height:0;padding:0}.match-shell{--left-w:236px;--right-w:368px;grid-template-columns:var(--left-w) minmax(0, 1fr) var(--right-w);height:100%;min-height:0;display:grid;position:relative}.match-shell.right-collapsed{grid-template-columns:var(--left-w) minmax(0, 1fr) 0}.match-error{max-width:480px;margin:2rem auto}.match-left{background:var(--panel);border-right:1px solid var(--panel-border);scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;gap:.75rem;min-height:0;padding:.9rem;display:flex;overflow-y:auto}.menu-section h3{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:.5rem;font-size:.7rem}.menu-actions{flex-direction:column;gap:.45rem;display:flex}.menu-media{gap:.45rem;display:flex}.menu-media .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding-inline:.5rem}.menu-bottom{margin-top:auto}.turn-box{border-radius:var(--radius-tile);background:var(--bg-elev);border:1px solid var(--panel-border);flex-direction:column;gap:.35rem;padding:.8rem;display:flex}.turn-box strong{font-size:1.05rem}.turn-mine{color:var(--accent)}.btn kbd{color:inherit;background:#00000026;border-color:currentColor;margin-left:.35rem;padding:0 .35em;font-size:.68rem}.menu-player{margin-bottom:.6rem}.menu-player-name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.3rem;font-size:.9rem;font-weight:600;display:block;overflow:hidden}.menu-player-name em{color:var(--muted);font-style:normal;font-weight:400}.menu-legends{grid-template-columns:repeat(3,1fr);gap:.3rem;display:grid}.menu-legends .card-image{aspect-ratio:1;object-position:top}.layout-buttons{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.layout-button{border-radius:var(--radius-control);background:var(--bg-elev);border:1px solid var(--panel-border);color:var(--muted);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem .3rem;font-size:.78rem;font-weight:600;display:flex}.layout-button:hover{color:var(--text);border-color:var(--panel-border-strong)}.layout-button:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.layout-button.active{color:var(--text);border-color:var(--accent);box-shadow:var(--selected-glow)}.layout-button kbd{font-size:.65rem}.layout-icon{width:24px;height:24px}.layout-icon rect{fill:currentColor;opacity:.5}.layout-button.active .layout-icon rect{fill:var(--accent);opacity:1}.layout-icon-player rect{opacity:.85}.match-stage{flex-direction:column;gap:.5rem;min-width:0;min-height:0;padding:.75rem;display:flex;position:relative}.stage-banners{z-index:5;pointer-events:none;flex-direction:column;gap:.4rem;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.stage-banners .banner{pointer-events:auto;background-color:var(--panel);box-shadow:var(--shadow)}.stage-videos{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.6rem;min-height:0;display:flex}.stage-videos .video-tile{aspect-ratio:16/9;flex:none;width:auto;max-width:100%}.layout-default .tile-top,.layout-default .tile-bottom{height:calc(50% - .3rem)}.layout-focused .tile-top{height:calc(70% - .3rem)}.layout-focused .tile-bottom{height:calc(30% - .3rem)}.layout-opponent .tile-top{height:100%}.layout-opponent .tile-bottom{display:none}.layout-player .tile-bottom{height:100%}.layout-player .tile-top{display:none}.stage-footer{text-align:center;font-size:.78rem}.stage-videos{position:relative}.stage-videos .video-tile{container-type:inline-size}.layout-default .tile-top .video-label,.layout-focused .tile-top .video-label{top:.6rem;bottom:auto}.hide-key-hints .key-hint{display:none!important}.tile-side{--die:clamp(20px, 5cqw, 50px);z-index:2;flex-direction:column;align-items:stretch;gap:.35rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.overlay-title{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);text-align:center;font-size:.58rem}.eddies,.fixer-area{border:1px solid var(--panel-border);border-radius:var(--radius-control);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05060abd}.eddies{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;padding:.25rem .45rem;display:flex}.eddies-icon{color:var(--accent);font-size:clamp(.7rem,1.9cqw,1rem);font-weight:800}.eddies-value{font-variant-numeric:tabular-nums;text-align:center;min-width:1.4ch;font-size:clamp(.9rem,2.6cqw,1.45rem);font-weight:800}.eddies-steps{flex-direction:column;gap:2px;display:flex}.eddies-steps button,.gig-step{border:1px solid var(--btn-border);background:var(--btn-bg);width:22px;height:16px;color:var(--text);cursor:pointer;border-radius:4px;place-items:center;padding:0;font-size:.55rem;display:grid}.eddies-steps button:hover:not(:disabled),.gig-step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.eddies-steps button:disabled,.gig-step:disabled{opacity:.35;cursor:default}.eddies-keys{justify-content:center;gap:2px;width:100%;display:flex}.eddies-keys kbd,.fixer-slot kbd,.gig-slot kbd{padding:0 .3em;font-size:.58rem;line-height:1.4}.fixer-area{flex-direction:column;gap:.2rem;padding:.3rem .35rem .4rem;display:flex}.fixer-grid{grid-template-columns:repeat(2,auto);gap:.2rem .35rem;display:grid}.fixer-slot{color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:2px;display:flex}button.fixer-slot{cursor:pointer}button.fixer-slot:hover:not(:disabled){border-color:var(--panel-border-strong);background:#ffffff0d}button.fixer-slot:hover:not(:disabled) .die{transform:translateY(-2px)rotate(-6deg)}button.fixer-slot:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}button.fixer-slot:disabled{cursor:default}.fixer-slot.locked .die{opacity:.45}.fixer-slot.is-rolling .die{animation:.35s ease-in-out infinite die-shake}.die-label{letter-spacing:.08em;color:var(--muted);font-size:.56rem;font-weight:700;line-height:1.1}.die-holder{line-height:0;display:block}.die{width:var(--die,40px);height:var(--die,40px);transition:transform .15s;display:block;overflow:visible}.die polygon{stroke:#0000008c;stroke-width:1.6px;stroke-linejoin:round}.die .die-face{fill:color-mix(in srgb, var(--die-color), white 22%)}.die .die-side{fill:color-mix(in srgb, var(--die-color), black 30%)}.die .die-side-2{fill:color-mix(in srgb, var(--die-color), black 50%)}.die .die-value{fill:#0b0d12;font-family:Inter Variable,Inter,system-ui,sans-serif;font-weight:800}.die-d4{--die-color:#ff5a78}.die-d6{--die-color:#ffb547}.die-d8{--die-color:#f3e600}.die-d10{--die-color:#3ddc97}.die-d12{--die-color:#00d5ff}.die-d20{--die-color:#b98cff}.die-ghost polygon{stroke:#ffffff38;stroke-dasharray:4 3;fill:#0000!important}.gigs-area{--die:44px;z-index:3;border-radius:var(--radius-control);border:1px solid var(--panel-border-strong);max-width:calc(100% - 1rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05060ad1;align-items:stretch;gap:.6rem;padding:.35rem .7rem .45rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.layout-focused .gigs-area{top:70%}.layout-opponent .gigs-area,.layout-player .gigs-area{top:auto;bottom:.5rem;transform:translate(-50%)}.gigs-divider{background:var(--panel-border-strong);width:1px}.gig-side{flex-direction:column;gap:.25rem;min-width:120px;display:flex}.gig-side-right{align-items:flex-end}.gig-side-head{white-space:nowrap;align-items:baseline;gap:.5rem;font-size:.7rem;display:flex}.gig-side-right .gig-side-head{flex-direction:row-reverse}.gig-owner{text-overflow:ellipsis;max-width:140px;font-weight:700;overflow:hidden}.gig-side-left .gig-owner{color:var(--accent)}.gig-side-right .gig-owner{color:var(--accent-2)}.gig-stats{color:var(--muted)}.gig-stats strong{color:var(--text)}.gig-row{min-height:calc(var(--die) + 18px);align-items:flex-start;gap:.35rem;display:flex}.gig-empty{color:var(--muted);align-self:center;font-size:.75rem}.gig-slot{flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.gig-die{cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;line-height:0}.gig-die:disabled{cursor:default}.gig-die:hover:not(:disabled) .die{transform:translateY(-2px)}.gig-die:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.gig-slot.focused .gig-die{box-shadow:0 0 0 2px var(--accent), 0 0 14px color-mix(in srgb, var(--accent) 55%, transparent)}.gig-slot.focused .die{transform:scale(1.12)}.gig-slot.focused{margin-right:22px}.gig-step{z-index:1;position:absolute;left:calc(100% + 3px)}.gig-step-up{top:1px}.gig-step-down{top:calc(var(--die) - 15px)}.gig-die.is-landing{visibility:hidden}.gig-die.just-landed .die{animation:.6s cubic-bezier(.2,1.6,.4,1) die-land}.gig-die.just-landed{box-shadow:0 0 18px color-mix(in srgb, var(--accent) 60%, transparent)}.die-flight{z-index:70;pointer-events:none;filter:drop-shadow(0 10px 14px #0000008c);position:fixed}.die-flight .die{width:100%;height:100%}@keyframes die-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)translateY(-1px)}75%{transform:rotate(12deg)translateY(-1px)}}@keyframes die-land{0%{transform:scale(1.35)}60%{transform:scale(.92)}to{transform:scale(1)}}.match-right{background:var(--panel);border-left:1px solid var(--panel-border);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.right-head{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.right-top{flex-direction:column;flex:58%;min-height:0;padding:.7rem;display:flex}.match-right .chat{border-top:1px solid var(--panel-border);flex-direction:column;flex:0 0 40%;gap:.5rem;min-height:200px;padding:.7rem;display:flex}.match-right .chat h3{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0;font-size:.7rem}.right-reopen{z-index:6;background:var(--panel);border:1px solid var(--panel-border);width:30px;color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow);border-right:0;border-radius:10px 0 0 10px;flex-direction:column;align-items:center;gap:.3rem;padding:.9rem 0;font-size:1.1rem;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.right-reopen .tab-count{font-size:.62rem}.tabs{gap:.25rem;margin-bottom:.2rem;display:flex}.tab{border-radius:var(--radius-control);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:.4rem .75rem;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--bg-elev);border-color:var(--panel-border)}.tab-count{background:var(--btn-primary-bg);color:var(--accent-ink);border-radius:999px;margin-left:.35rem;padding:0 .45rem;font-size:.68rem}.card-search{flex-direction:column;gap:.6rem;height:100%;min-height:0;display:flex}.card-search-controls{flex-direction:column;gap:.45rem;display:flex}.chips{flex-wrap:wrap;gap:.3rem;display:flex}.chip{border:1px solid var(--btn-border);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600}.chip.active{background:var(--btn-primary-bg);color:var(--accent-ink);border-color:#0000}.card-results{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.7rem;min-height:0;padding-right:.25rem;display:grid;overflow-y:auto}.card-result{flex-direction:column;gap:.3rem;display:flex;position:relative}.card-show{z-index:2;padding:.3rem .4rem;font-size:.72rem;position:absolute;top:.35rem;left:.35rem;right:.35rem}.card-result-image{cursor:zoom-in}.card-result-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.card-preview{z-index:60;pointer-events:none;filter:drop-shadow(0 14px 30px #0009);position:fixed}.card-ref{color:var(--text);font:inherit;text-underline-offset:2px;cursor:help;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.card-ref:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}.game-log{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;flex:1;gap:.4rem;min-height:0;margin:0;padding:0 .25rem 0 0;font-size:.85rem;list-style:none;display:flex;overflow-y:auto}.game-log li{grid-template-columns:auto 1fr;gap:.5rem;display:grid}.game-log time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.12rem;font-size:.72rem}.chat{flex-direction:column;gap:.5rem;display:flex}.chat-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;flex-direction:column;flex:1;gap:.3rem;min-height:0;padding-right:.3rem;display:flex;overflow-y:auto}.chat-line{overflow-wrap:anywhere;margin:0;font-size:.9rem}.chat-line strong{color:var(--accent-2);margin-right:.4rem}.chat-line.own strong{color:var(--accent)}.chat-line.card-line strong{margin-right:0}.chat-line.system{color:var(--muted);font-style:italic}.chat-form{gap:.4rem;display:flex}.chat-notice{color:var(--warn);margin:0;font-size:.78rem}.overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05060ab3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.result{text-align:center;min-width:300px;box-shadow:var(--shadow);flex-direction:column;gap:1rem;display:flex}.result h2{color:var(--accent);font-size:1.6rem}.dialog{width:min(460px,100%);max-height:90vh;box-shadow:var(--shadow);flex-direction:column;gap:.9rem;display:flex}.dialog-wide{width:min(660px,100%)}.dialog-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-head h2{margin:0}.dialog-body{flex-direction:column;gap:.8rem;min-height:0;display:flex}.dialog-body p{margin:0}.dialog-scroll{flex-direction:column;gap:1rem;max-height:62vh;padding-right:.3rem;display:flex;overflow-y:auto}.dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.choice-list{flex-direction:column;gap:.4rem;display:flex}.choice{cursor:pointer;border-radius:var(--radius-control);border:1px solid var(--panel-border);background:var(--bg-elev);align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.choice.active{border-color:var(--accent);box-shadow:var(--selected-glow)}.choice input{accent-color:var(--accent)}.keybinding-list{flex-direction:column;gap:.35rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.keybinding-list li{border-radius:var(--radius-control);background:var(--bg-elev);grid-template-columns:1fr 120px auto;align-items:center;gap:.6rem;padding:.45rem .6rem;display:grid}.keybinding-list kbd{text-align:center}kbd.capturing{border-color:var(--accent);color:var(--accent)}.keybinding-group h3{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:.4rem 0 .45rem;font-size:.7rem}.key-hints-toggle{margin:.7rem 0 .4rem;font-size:.9rem}.spectator-options{flex-direction:column;gap:.6rem;display:flex}.spectator-password{max-width:340px}.spectator-password small{font-size:.78rem}.lock{margin-right:.35rem}@media (width<=960px){.topbar{flex-wrap:wrap;gap:.75rem;padding:.7rem 1rem}.topbar-right{justify-content:space-between;width:100%;margin-left:0}.page{padding:1rem}.editor-grid,.setup-grid,.play-grid{grid-template-columns:1fr}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:440px}.deck-fan{height:140px}.app:has(.page-match){height:auto}.match-shell,.match-shell.right-collapsed{grid-template-columns:1fr;height:auto}.match-left{border-right:0;border-bottom:1px solid var(--panel-border)}.stage-videos .video-tile{width:100%;height:auto!important}.match-right{border-left:0;border-top:1px solid var(--panel-border);height:75vh}.right-reopen{position:fixed}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
