@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-full-normal-7BpKI3vF.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-full-normal-YHFkNujK.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-full-normal-CFFu7zhK.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}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-BalHKn7d.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-qxMiU51n.woff)format("woff");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:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff");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}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-CBw-mJf_.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-292QVhS1.woff)format("woff");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:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff");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{--table:#12304f;--table-deep:#0b2138;--table-raised:#1a416a;--table-line:#2c5a87;--on-table:#eaf0f7;--on-table-muted:#a8bdd3;--paper:#f4ede0;--paper-edge:#e3d8c4;--ink:#142034;--ink-muted:#4d5a6e;--brass:#e2a93b;--brass-deep:#a8761a;--verdigris:#1f7a63;--verdigris-bright:#49c3a0;--coral:#c8402f;--coral-bright:#ff7a66;--focus:#ffd36b;--font-display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui:"Atkinson Hyperlegible Next", "Segoe UI", system-ui, sans-serif;--step--1:.8125rem;--step-0:1rem;--step-1:1.25rem;--step-2:1.5625rem;--step-3:1.953rem;--step-4:2.441rem;--step-5:3.815rem;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--radius-card:10px;--radius-control:8px;--card-w:168px;--card-h:232px;--dur-fast:.14s;--dur-base:.24s;--dur-slow:.42s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--shadow-card:0 1px 0 var(--paper-edge), 0 2px 0 #06122140, 0 10px 18px -8px #040e1c8c;--shadow-lift:0 2px 0 var(--paper-edge), 0 22px 36px -12px #020a16bf}@media (max-width:720px){:root{--card-w:132px;--card-h:184px}}[data-zoom=compact]{--card-w:128px;--card-h:176px}[data-zoom=mini]{--card-w:96px;--card-h:132px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;font-family:var(--font-ui);font-size:var(--step-0);color:var(--on-table);background-color:var(--table);-webkit-font-smoothing:antialiased;background-image:radial-gradient(120% 90% at 50% 30%,#0000 40%,#040e1c8c 100%),repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#0000000d 0 1px,#0000 1px 4px);background-attachment:fixed;margin:0;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 60, "WONK" 0;margin:0 0 var(--s3);text-wrap:balance;font-weight:600;line-height:1.15}h1{font-size:var(--step-4)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p{margin:0 0 var(--s3);max-width:70ch}a{color:var(--brass);text-underline-offset:3px}a:hover{color:#f2c768}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{left:var(--s3);z-index:100;background:var(--brass);color:var(--ink);padding:var(--s2) var(--s3);border-radius:var(--radius-control);position:absolute;top:-60px}.skip-link:focus{top:var(--s3)}.muted{color:var(--on-table-muted)}.small{font-size:var(--step--1)}.strong{font-weight:700}.you-tag{color:var(--on-table-muted);font-weight:400}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border-radius:var(--radius-control);border:1.5px solid var(--table-line);background:var(--table-raised);color:var(--on-table);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard), background var(--dur-fast);font-weight:700;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){color:var(--on-table);background:#22507f}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--brass{background:linear-gradient(180deg, #f0bd55, var(--brass) 55%, #c99228);border-color:var(--brass-deep);color:var(--ink);box-shadow:inset 0 1px 0 #ffffff73, 0 2px 0 var(--brass-deep)}.btn--brass:hover:not(:disabled){color:var(--ink);background:linear-gradient(#f6c968,#e8b24a 55%,#d09a30)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:#ffffff0f}.btn--small{min-height:34px;padding:0 var(--s3);font-size:var(--step--1)}.btn--big{min-height:56px;padding:0 var(--s6);font-size:var(--step-1)}.danger{color:var(--coral-bright)}.icon-btn{border-radius:var(--radius-control);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;min-width:40px;min-height:40px;font-size:1.1rem;display:inline-grid}.icon-btn:hover:not(:disabled){background:#ffffff14}.icon-btn:disabled{opacity:.35}.link-btn{color:var(--brass);text-underline-offset:3px;cursor:pointer;padding:var(--s1) 0;background:0 0;border:0;text-decoration:underline}.field{gap:var(--s1);font-size:var(--step--1);color:var(--on-table-muted);display:grid}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{min-height:42px;padding:var(--s2) var(--s3);background:var(--table-deep);border:1.5px solid var(--table-line);border-radius:var(--radius-control);color:var(--on-table);font-size:var(--step-0);width:100%}input[aria-invalid=true]{border-color:var(--coral-bright)}input[type=checkbox],input[type=radio]{accent-color:var(--brass);width:18px;height:18px}.field-error{color:var(--coral-bright);font-size:var(--step--1)}fieldset{margin:0 0 var(--s3);border:0;padding:0}legend{font-size:var(--step--1);color:var(--on-table-muted);margin-bottom:var(--s2)}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--s1);border:1px solid var(--table-line);font-size:var(--step--1);border-radius:999px;padding:4px 10px;display:inline-flex}.inline-field{align-items:center;gap:var(--s2);font-size:var(--step--1);display:flex}.inline-field select{width:auto}.badge{color:var(--on-table-muted);background:#ffffff14;border-radius:4px;padding:0 6px;font-size:11px;line-height:18px;display:inline-block}.badge--host{color:var(--brass);background:#e2a93b33}.badge--off{color:var(--coral-bright);background:#ff7a6626}.panel{border:1px solid var(--table-line);padding:var(--s5);background:#0b2138b8;border-radius:14px}.panel.narrow{gap:var(--s4);width:100%;max-width:460px;display:grid}.dialog-backdrop{z-index:60;padding:var(--s4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040c18a8;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--table-deep);border:1px solid var(--table-line);border-top:4px solid var(--brass);width:min(560px,100%);max-height:calc(100dvh - 32px);padding:var(--s5);border-radius:14px;overflow:auto;box-shadow:0 30px 60px -20px #000000b3}.dialog--wide{width:min(880px,100%)}.dialog-actions{justify-content:flex-end;gap:var(--s3);margin-top:var(--s4);flex-wrap:wrap;display:flex}.errors{color:var(--coral-bright);font-size:var(--step--1);padding-left:var(--s4)}.center-page{align-content:center;place-items:center;gap:var(--s4);min-height:100dvh;padding:var(--s4);text-align:center;display:grid}.center-page .panel{text-align:left}.conn-banner{top:0;z-index:80;justify-content:center;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--brass);color:var(--ink);font-weight:700;font-size:var(--step--1);display:flex;position:fixed;inset-inline:0}.conn-banner p{margin:0}.conn-banner--block{background:var(--coral);color:#fff}.toasts{bottom:calc(var(--s4) + env(safe-area-inset-bottom));z-index:90;gap:var(--s2);pointer-events:none;display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;padding:var(--s2) var(--s4);background:var(--paper);color:var(--ink);font-weight:700;font-size:var(--step--1);box-shadow:var(--shadow-card);cursor:pointer;animation:toast-in var(--dur-base) var(--ease-standard);border-radius:999px}.toast--error{background:var(--coral);color:#fff}.toast--success{background:var(--verdigris);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.skeleton{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a) 0 0/200% 100%;border-radius:10px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.loading-cards{gap:10px;display:flex}.loading-cards span{background:var(--paper);width:42px;height:58px;box-shadow:var(--shadow-card);animation:deal-bob 1.1s var(--ease-standard) infinite;border-radius:6px}.loading-cards span:nth-child(2){animation-delay:.12s}.loading-cards span:nth-child(3){animation-delay:.24s}@keyframes deal-bob{50%{transform:translateY(-10px)rotate(-3deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-motion=reduced] *,[data-motion=reduced] :before,[data-motion=reduced] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-motion=fast]{--dur-fast:90ms;--dur-base:.15s;--dur-slow:.24s}.card{width:var(--card-w);height:var(--card-h);background:radial-gradient(140% 90% at 20% 0%, #ffffff8c, transparent 60%), linear-gradient(180deg, #f7f1e6, var(--paper));color:var(--ink);border:1px solid var(--paper-edge);border-radius:var(--radius-card);box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;transition:box-shadow var(--dur-base) var(--ease-standard), outline-color var(--dur-base);outline-offset:2px;outline:3px solid #0000;grid-template-rows:44% 1fr auto;display:grid;position:relative}.card-art-wrap{background:#1b4a78;border-radius:6px;margin:7px 7px 0;overflow:hidden}.card-art{object-fit:cover;width:100%;height:100%}.card-body{padding:7px 9px 0;overflow:hidden}.card-title{font-family:var(--font-display);font-weight:600;font-size:calc(var(--card-w) * .08);font-variation-settings:"SOFT" 80, "opsz" 14;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;line-height:1.18;display:-webkit-box;overflow:hidden}.card-category{font-size:calc(var(--card-w) * .062);color:var(--ink-muted);margin:3px 0 0}.card-date{height:calc(var(--card-h) * .15);border:1.5px dashed #14203447;border-radius:6px;place-items:center;margin:0 8px 8px;display:grid;position:relative;overflow:visible}.seal{width:100%;height:100%;font-family:var(--font-display);font-style:italic;font-weight:700;font-size:calc(var(--card-w) * .12);color:var(--brass-deep);background:repeating-linear-gradient(-45deg,#a8761a1f 0 4px,#0000 4px 8px);border-radius:4px;place-items:center;display:grid}.stamp{font-family:var(--font-display);font-variation-settings:"SOFT" 0, "WONK" 1, "opsz" 72;font-weight:800;font-size:calc(var(--card-w) * .13);letter-spacing:.01em;color:#22324f;mix-blend-mode:multiply;text-shadow:.5px .5px #22324f59;white-space:nowrap;border:2.5px solid;border-radius:5px;align-items:center;gap:4px;padding:0 8px;line-height:1.15;display:inline-flex;transform:rotate(-4deg)}.stamp--correct{color:var(--verdigris)}.stamp--wrong{color:var(--coral)}.stamp-mark{font-size:.8em}.card-details{inset:auto 0 calc(-1 * var(--s2));background:var(--paper);padding:var(--s2) var(--s3);font-size:var(--step--1);box-shadow:var(--shadow-card);border-radius:8px;position:absolute;transform:translateY(100%)}.card-details p{margin:0 0 var(--s1)}.card-credit{color:var(--ink-muted)}.card--selected{outline-color:var(--brass);box-shadow:var(--shadow-lift)}.card--awaiting{outline-color:#e2a93bb3;animation:.9s ease-in-out infinite alternate awaiting}@keyframes awaiting{to{outline-color:#e2a93b26}}.card--correct{outline-color:var(--verdigris-bright);box-shadow:0 0 0 6px #49c3a02e, var(--shadow-card)}.card--wrong{outline-color:var(--coral-bright)}.card--inactive{filter:saturate(.4)brightness(.85)}.table{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.table-body{grid-template:"rail felt"minmax(0,1fr)"rail tray"/236px minmax(0,1fr);min-height:0;display:grid}.rail-players{padding:var(--s4) var(--s3);background:#0b21388c;border-right:1px solid #2c5a8799;grid-area:rail;overflow-y:auto}.felt{align-content:center;gap:var(--s3);min-width:0;padding:var(--s4) 0;grid-area:felt;display:grid;position:relative}.tray{align-items:flex-end;gap:var(--s4);padding:var(--s5) var(--s5) calc(var(--s4) + env(safe-area-inset-bottom));border-top:3px solid var(--brass-deep);min-height:calc(var(--card-h) + 64px);background:linear-gradient(#06142466,#061424d9);grid-area:tray;display:flex;position:relative;box-shadow:inset 0 1px #f2c76866}.tray.is-my-turn{border-top-color:var(--brass)}.tray-side{gap:var(--s2);align-content:end;align-self:stretch;justify-items:end;margin-left:auto;display:grid}.hint{color:var(--brass);font-weight:700;font-size:var(--step--1);text-align:right;margin:0}.topbar{z-index:30;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08192ceb;border-bottom:1px solid #2c5a8799;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);font-variation-settings:"SOFT" 100, "WONK" 1;color:var(--on-table);text-decoration:none}.code-chip{border:1px dashed var(--brass-deep);min-height:34px;color:var(--brass);font-family:var(--font-display);letter-spacing:.12em;cursor:pointer;background:0 0;border-radius:6px;align-items:baseline;gap:6px;padding:2px 10px;font-weight:700;display:inline-flex}.code-chip-label{font-family:var(--font-ui);letter-spacing:0;color:var(--on-table-muted);font-weight:400;font-size:var(--step--1)}.round-pill{font-size:var(--step--1);color:var(--on-table-muted)}.turn-status{text-align:center;margin:0 auto;font-weight:700}.turn-status.is-mine{color:var(--brass)}.timer{font-variant-numeric:tabular-nums;place-items:center;width:40px;height:40px;font-weight:700;display:grid;position:relative}.timer svg{position:absolute;inset:0;transform:rotate(-90deg)}.timer-track{fill:none;stroke:#ffffff1f;stroke-width:3px}.timer-fill{fill:none;stroke:var(--brass);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .25s linear}.timer.is-low .timer-fill{stroke:var(--coral-bright)}.timer.is-low{color:var(--coral-bright)}.topbar-actions{gap:var(--s1);display:flex}.menu-wrap{position:relative}.menu{gap:var(--s3);width:260px;padding:var(--s4);background:var(--table-deep);border:1px solid var(--table-line);font-size:var(--step--1);z-index:40;border-radius:12px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 20px 40px -10px #0009}.menu label{align-items:center;gap:var(--s2);text-transform:capitalize;display:flex}.menu button{border-radius:var(--radius-control);border:1px solid var(--table-line);background:var(--table-raised);cursor:pointer;min-height:38px;font-weight:700}.timeline-scroll{overscroll-behavior-x:contain;scrollbar-color:var(--table-line) transparent;padding-bottom:var(--s3);scroll-padding-inline:40px;overflow:auto hidden}.timeline-track{justify-content:center;align-items:flex-start;width:max-content;min-width:100%;padding:40px 48px 56px;display:flex;position:relative}.rail{background:linear-gradient(180deg, #f6cf7c, var(--brass) 50%, var(--brass-deep));border-radius:3px;height:5px;position:absolute;top:26px;left:0;right:0;box-shadow:0 2px 4px #00000073,inset 0 1px #ffffff80}.slot{flex:none;position:relative}.slot:before{content:"";background:linear-gradient(180deg, #f3cc76, var(--brass-deep));z-index:1;border-radius:4px 4px 3px 3px;width:14px;height:22px;position:absolute;top:-16px;left:50%;transform:translate(-50%);box-shadow:0 1px 2px #00000080}.slot-btn{cursor:zoom-in;border-radius:var(--radius-card);background:0 0;border:0;padding:0;display:block}.slot-btn:hover .card{box-shadow:var(--shadow-lift)}.slot .card--anchor{outline-color:#e2a93b59}.gap{width:22px;height:var(--card-h);transition:width var(--dur-base) var(--ease-standard);flex:none;place-items:center;display:grid;position:relative}.gap--armed{width:50px}.gap--target{width:calc(var(--card-w) + 18px)}.gap--holding{width:auto;padding:0 8px}.rivet{background:radial-gradient(circle at 35% 35%, #ffe2a0, var(--brass-deep));border-radius:50%;width:9px;height:9px;position:absolute;top:-19px}.gap-btn{border-radius:var(--radius-card);width:100%;height:100%;color:var(--brass);font-weight:700;font-size:var(--step-1);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast);white-space:nowrap;background:#e2a93b0f;border:2px dashed #e2a93b73;overflow:hidden}.gap-btn:hover,.gap--target .gap-btn{border-color:var(--brass);background:#e2a93b29;border-style:solid}.gap--target .gap-btn{font-size:var(--step-0)}.gap-btn[aria-disabled=true]{cursor:not-allowed;opacity:.6}.gap--belongs:after{content:"";border:3px solid var(--verdigris-bright);border-radius:12px;position:absolute;inset:-6px 2px;box-shadow:0 0 18px #49c3a080}.belongs{white-space:nowrap;font-weight:700;font-size:var(--step--1);color:var(--verdigris-bright);position:absolute;bottom:-34px}.burst{pointer-events:none;position:absolute;top:45%;left:50%}.fleck{background:var(--brass);border-radius:1px;width:8px;height:4px;position:absolute}.fleck--1{background:var(--verdigris-bright)}.fleck--2{background:var(--paper)}.paused-banner{top:var(--s3);background:var(--brass);color:var(--ink);z-index:5;border-radius:999px;padding:4px 16px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}.minimap{align-items:center;gap:var(--s3);padding:0 var(--s5);display:flex}.minimap-end{color:var(--on-table-muted);font-size:var(--step--1);cursor:pointer;white-space:nowrap;background:0 0;border:0;min-height:32px}.minimap-strip{cursor:pointer;background:#06142499;border-radius:4px;flex:1;height:18px;position:relative}.minimap-tick{background:var(--on-table-muted);opacity:.7;width:2px;position:absolute;top:4px;bottom:4px;transform:translate(-1px)}.minimap-tick.is-anchor{background:var(--brass);opacity:1}.minimap-window{border:2px solid var(--brass);pointer-events:none;border-radius:4px;position:absolute;top:0;bottom:0}.hand{padding:0 0 0 var(--s2);scrollbar-width:thin;align-items:flex-end;min-width:0;margin:0;padding-top:30px;padding-bottom:14px;list-style:none;display:flex;overflow-x:auto}.hand-slot{flex:none;margin-right:-14px}.hand-slot:last-child{margin-right:0}.hand-card{cursor:grab;border-radius:var(--radius-card);touch-action:manipulation;background:0 0;border:0;padding:0;display:block}.hand-card.is-dragging{opacity:.25}.hand-card:focus-visible{outline-offset:4px}.hand-empty{color:var(--on-table-muted);margin:auto 0}.drag-ghost{cursor:grabbing}.drag-ghost .card{box-shadow:var(--shadow-lift)}.reactions{flex-wrap:wrap;justify-content:flex-end;gap:2px;max-width:180px;display:flex}.reaction-btn{cursor:pointer;background:#ffffff0d;border:0;border-radius:8px;width:36px;height:36px;font-size:1.1rem}.reaction-btn:hover{background:#ffffff24}.player-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.player{align-items:center;gap:var(--s2);border:1.5px solid #0000;border-radius:10px;grid-template-columns:auto 1fr auto;padding:6px 8px;display:grid;position:relative}.player.is-current{border-color:var(--brass);background:#e2a93b1a}.player.is-offline{opacity:.55}.player-avatar{position:relative}.reaction-pop{pointer-events:none;font-size:1.4rem;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.player-main{min-width:0;display:grid}.player-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.player-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.thinking{color:var(--brass);font-size:11px}.thinking:after{content:"…";animation:1s steps(3,end) infinite dots}@keyframes dots{50%{opacity:.3}}.bot-line{font-family:var(--font-display);font-style:italic;font-size:var(--step--1);color:var(--on-table-muted)}.player-score{justify-items:end;display:grid}.score{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);font-variant-numeric:tabular-nums}.hand-pips{gap:2px;display:flex}.pip{background:var(--paper);opacity:.8;border-radius:1px;width:5px;height:8px}.pip-more{color:var(--on-table-muted);font-size:10px}.spectators{margin-top:var(--s3);font-size:var(--step--1);color:var(--on-table-muted)}.inspect{right:var(--s4);bottom:var(--s4);background:var(--paper);width:min(320px,100% - 32px);color:var(--ink);padding:var(--s4);box-shadow:var(--shadow-lift);z-index:10;border-radius:12px;position:absolute}.inspect h3{font-size:var(--step-1)}.inspect-date{font-family:var(--font-display);color:var(--verdigris);font-weight:700}.inspect a{color:var(--verdigris)}.inspect .muted{color:var(--ink-muted)}.score-table{border-collapse:collapse;width:100%;margin:var(--s3) 0;font-variant-numeric:tabular-nums}.score-table th,.score-table td{text-align:left;border-bottom:1px solid #2c5a8780;padding:8px 10px}.score-table thead th{font-size:var(--step--1);color:var(--on-table-muted);font-weight:400}.score-table tbody th{align-items:center;gap:var(--s2);display:flex}.score-table tr.is-me{background:#e2a93b1a}.next-decks summary{cursor:pointer;color:var(--brass);margin:var(--s3) 0}.final{max-width:820px;padding:var(--s7) var(--s4);margin:0 auto}.podium{margin:var(--s5) 0;justify-content:center;align-items:flex-end;gap:var(--s4);padding:0;list-style:none;display:flex}.podium-step{justify-items:center;gap:var(--s1);width:160px;padding:var(--s4) var(--s2) 0;display:grid}.podium-step--1{order:2}.podium-step--2{order:1}.podium-step--3{order:3}.podium-name{font-weight:700}.podium-score{color:var(--on-table-muted)}.podium-rank{width:100%;font-family:var(--font-display);font-weight:800;font-size:var(--step-4);color:var(--ink);background:linear-gradient(180deg, var(--paper), var(--paper-edge));border-radius:10px 10px 0 0;place-items:center;height:70px;display:grid}.podium-step--1 .podium-rank{background:linear-gradient(180deg, #f6cf7c, var(--brass));height:120px}.podium-step--2 .podium-rank{height:92px}@media (max-width:900px){.table-body{grid-template:"rail""felt"minmax(0,1fr)"tray"/minmax(0,1fr)}.rail-players{padding:var(--s2) var(--s3);border-bottom:1px solid #2c5a8799;border-right:0;overflow-x:auto}.player-list{gap:var(--s2);display:flex}.player{flex:none;grid-template-columns:auto auto;padding:4px 8px 4px 4px}.player-main .player-meta,.player-main .bot-line,.hand-pips{display:none}.player-name{max-width:90px;font-size:var(--step--1)}.player-score{grid-area:1/2;justify-self:end;display:none}.topbar{gap:var(--s2);flex-wrap:wrap}.turn-status{font-size:var(--step--1);flex-basis:100%;order:10}.round-pill{display:none}.tray{padding:var(--s3) var(--s3) calc(var(--s3) + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.tray-side{justify-items:start;margin-left:0}.reactions{justify-content:flex-start;max-width:none}.timeline-track{justify-content:flex-start;padding-inline:20px}}@media (max-width:900px) and (min-width:0){.player-main{display:block}}.home{max-width:1280px;padding:var(--s6) var(--s5) var(--s5);gap:var(--s6) var(--s7);grid-template-columns:minmax(300px,420px) minmax(0,1fr);grid-template-areas:"intro demo""steps steps""foot foot";align-items:start;margin:0 auto;display:grid}.home-intro{gap:var(--s4);grid-area:intro;display:grid}.wordmark{letter-spacing:-.02em;font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 144;color:var(--paper);background:linear-gradient(180deg, #f6cf7c, var(--brass) 50%, var(--brass-deep)) left bottom / 100% 5px no-repeat;width:-moz-fit-content;width:fit-content;margin:0;padding-bottom:14px;font-size:clamp(3.4rem,8vw,6.2rem);font-weight:800;line-height:.9}.lede{font-size:var(--step-1);color:var(--on-table);max-width:34ch;line-height:1.45}.home-card{gap:var(--s2);justify-items:start;display:grid}.home-actions{gap:var(--s4);display:grid}.home-actions>.btn{justify-self:start}.join label{font-size:var(--step--1);color:var(--on-table-muted);margin-bottom:var(--s1);display:block}.join-row{gap:var(--s2);display:flex}.code-input{letter-spacing:.3em;text-transform:uppercase;max-width:220px;font-weight:700;font-family:var(--font-display)!important}.code-input::placeholder{color:#a8bdd359}.home-demo{grid-area:demo;min-width:0}.demo-title{font-size:var(--step-1);color:var(--on-table-muted);font-weight:500}.tutorial{border:1px solid var(--table-line);background:#06142473;border-radius:18px;overflow:hidden}.tutorial-msg{padding:var(--s4) var(--s5);max-width:none;min-height:4.5em;font-family:var(--font-display);font-size:var(--step-1);font-variation-settings:"SOFT" 100;border-bottom:1px solid #2c5a8799;margin:0}.tutorial-felt .timeline-track{padding-top:36px}.tutorial-hand{padding:var(--s2) var(--s5) var(--s4);border-top:3px solid var(--brass-deep);background:#06142499}.home-steps{grid-area:steps}.home-steps h2{font-size:var(--step-2)}.steps{counter-reset:step;gap:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;padding-top:var(--s6);border-top:5px solid var(--brass);color:var(--on-table-muted);position:relative}.steps li:before{content:counter(step);background:var(--paper);width:32px;height:32px;color:var(--ink);font-family:var(--font-display);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:-19px;left:0}.steps strong{color:var(--on-table);font-family:var(--font-display);font-size:var(--step-1);display:block}.home-foot{gap:var(--s5);padding-top:var(--s4);font-size:var(--step--1);border-top:1px solid #2c5a8780;grid-area:foot;display:flex}.profile{gap:var(--s4);align-items:flex-start;display:flex}.profile-preview{gap:var(--s2);justify-items:center;display:grid}.profile-fields{gap:var(--s3);flex:1;min-width:0;display:grid}.part-options{flex-wrap:wrap;gap:4px;display:flex}.part-option{cursor:pointer;position:relative}.part-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.part-option svg,.part-option .swatch{border:2px solid #0000;border-radius:8px;padding:2px}.part-option .swatch{width:34px;height:34px;display:block}.part-option input:checked+svg,.part-option input:checked+.swatch{border-color:var(--brass)}.part-option input:focus-visible+svg,.part-option input:focus-visible+.swatch{outline:3px solid var(--focus)}.lobby{max-width:1280px;padding:var(--s3) var(--s5) 120px;margin:0 auto}.lobby-head{padding:var(--s2) 0;justify-content:space-between;align-items:center;display:flex}.code-hero{justify-items:center;gap:var(--s3);padding:var(--s5) 0 var(--s6);display:grid}.code-label{color:var(--on-table-muted);margin:0}.code-tiles{gap:8px;margin:0;display:flex}.code-tile{background:linear-gradient(180deg, #f8f2e7, var(--paper));width:clamp(40px,9vw,64px);height:clamp(54px,12vw,86px);color:var(--ink);font-family:var(--font-display);font-variation-settings:"WONK" 1, "opsz" 144;box-shadow:var(--shadow-card);border-radius:8px;place-items:center;font-size:clamp(1.8rem,5vw,3rem);font-weight:800;display:grid}.code-tile:nth-child(2n){transform:rotate(1.5deg)}.code-tile:nth-child(3n){transform:rotate(-2deg)}.code-actions{gap:var(--s3);align-items:center;display:flex}.lobby-grid{gap:var(--s4);grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"players decks""rules rules";display:grid}.lobby-grid>.panel:first-child{grid-area:players}.lobby-grid>.panel:nth-child(2){grid-area:decks}.panel--rules{grid-area:rules}.count{font-family:var(--font-ui);font-size:var(--step-0);color:var(--on-table-muted);font-weight:400}.lobby-players{margin:0 0 var(--s4);gap:4px;padding:0;list-style:none;display:grid}.lobby-player{align-items:center;gap:var(--s3);border-radius:10px;grid-template-columns:auto 1fr auto auto;padding:6px;display:grid}.lobby-player:hover{background:#ffffff08}.lobby-player.is-offline{opacity:.55}.lp-name{font-weight:700;display:grid}.lp-meta{font-weight:400;font-size:var(--step--1);color:var(--on-table-muted)}.ready-dot{border:2px solid var(--on-table-muted);border-radius:50%;width:12px;height:12px}.ready-dot.is-ready{background:var(--verdigris-bright);border-color:var(--verdigris-bright)}.lp-actions{flex-wrap:wrap;justify-content:flex-end;gap:2px;display:flex}.bot-add{padding-top:var(--s4);border-top:1px solid #2c5a8780}.bot-row{gap:var(--s2);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.bot-row .avatar{vertical-align:middle;display:inline-block}.pack-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.pack{gap:var(--s3);padding:var(--s3);border:1.5px solid var(--table-line);cursor:pointer;border-radius:12px;grid-template-columns:64px 1fr;height:100%;display:grid;position:relative}.pack.is-on{border-color:var(--brass);background:#e2a93b14}.pack.is-readonly{cursor:default}.pack input{position:absolute;top:10px;right:10px}.pack--temp{border-style:dashed;grid-template-columns:1fr}.pack-art{border:4px solid var(--paper);border-radius:6px;width:64px;height:84px;overflow:hidden}.pack-art .card-art{height:100%}.pack-text{align-content:start;gap:2px;padding-right:20px;display:grid}.pack-title{font-family:var(--font-display);font-weight:700;line-height:1.2}.pack-meta{font-size:var(--step--1);color:var(--brass)}.pack-desc{font-size:var(--step--1);color:var(--on-table-muted)}.pack-filters{gap:var(--s2);margin-top:var(--s3);display:grid}.room-decks{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid #2c5a8780}.room-decks ul{margin:0 0 var(--s3);padding:0;list-style:none}.room-decks li{align-items:center;gap:var(--s2);flex-wrap:wrap;padding:4px 0;display:flex}.rules{gap:var(--s3);display:grid}.preset-group{gap:var(--s2);flex-wrap:wrap;display:flex}.preset-group legend{width:100%}.preset{align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);border:1.5px solid var(--table-line);cursor:pointer;border-radius:999px;display:inline-flex}.preset.is-on{border-color:var(--brass);background:#e2a93b1a}.preset input{opacity:0;position:absolute}.preset:has(input:focus-visible){outline:3px solid var(--focus)}.preset-name{font-weight:700}.rules-grid{gap:var(--s3) var(--s4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.rules-grid label{gap:var(--s1);font-size:var(--step--1);color:var(--on-table-muted);display:grid}.rules-grid label.check{align-items:center;gap:var(--s2);color:var(--on-table);display:flex}.rules-more summary{cursor:pointer;color:var(--brass);margin-bottom:var(--s3)}.lobby-bar{z-index:20;justify-content:flex-end;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5) calc(var(--s3) + env(safe-area-inset-bottom));border-top:3px solid var(--brass-deep);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08192cf0;display:flex;position:fixed;bottom:0;left:0;right:0}.lobby-bar p{margin:0}.deck-rows{border-collapse:collapse;width:100%;margin:var(--s3) 0}.deck-rows th{text-align:left;font-size:var(--step--1);color:var(--on-table-muted);padding:0 4px 4px;font-weight:400}.deck-rows td{padding:2px 4px}.deck-rows td:nth-child(2){width:90px}.deck-rows td:nth-child(3){width:84px}.paste summary{cursor:pointer;color:var(--brass);margin:var(--s3) 0}.paste textarea{font-family:ui-monospace,monospace;font-size:var(--step--1);margin-bottom:var(--s2)}.prose{max-width:720px;padding:var(--s6) var(--s5);margin:0 auto}.prose h2{margin-top:var(--s5)}.prose li{margin-bottom:var(--s2);max-width:68ch}@media (max-width:900px){.home{padding:var(--s4) var(--s4);gap:var(--s5);grid-template-columns:1fr;grid-template-areas:"intro""demo""steps""foot"}.steps{gap:var(--s6);grid-template-columns:1fr}.lobby{padding:var(--s2) var(--s4) 150px}.lobby-grid{grid-template-columns:1fr;grid-template-areas:"players""decks""rules"}.lobby-bar{align-items:stretch;gap:var(--s2);flex-direction:column}.bot-row{grid-template-columns:1fr 1fr}.bot-row .btn{grid-column:span 2}.profile{flex-direction:column;align-items:stretch}.profile-preview{grid-auto-flow:column;justify-content:start;align-items:center}.deck-rows thead{display:none}.deck-rows tr{margin-bottom:var(--s2);grid-template-columns:1fr 80px 74px 40px;gap:4px;display:grid}.deck-rows td:nth-child(4){grid-area:2/1/auto/4}}
