@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--font-display:"Inter Tight", -apple-system, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--bg:oklch(98.5% .003 80);--bg-elev:#fff;--bg-sunken:oklch(96% .005 80);--line:oklch(91% .005 80);--line-strong:oklch(82% .008 80);--ink:oklch(18% .005 80);--ink-mute:oklch(45% .005 80);--ink-soft:oklch(62% .005 80);--accent:oklch(65% .15 45);--accent-soft:oklch(94% .04 45);--accent-ink:oklch(40% .13 45);--positive:oklch(60% .13 150);--negative:oklch(58% .18 27);--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 2px #0000000a, 0 1px 3px #0000000a;--shadow:0 4px 12px #0000000a, 0 1px 3px #0000000d;--shadow-lg:0 20px 50px #00000014, 0 6px 20px #0000000f}[data-theme=mint]{--accent:oklch(62% .13 165);--accent-soft:oklch(94% .04 165);--accent-ink:oklch(40% .12 165)}[data-theme=indigo]{--accent:oklch(55% .16 270);--accent-soft:oklch(94% .04 270);--accent-ink:oklch(42% .16 270)}[data-mode=dark]{--bg:oklch(16% .005 80);--bg-elev:oklch(20% .006 80);--bg-sunken:oklch(13% .005 80);--line:oklch(27% .006 80);--line-strong:oklch(35% .008 80);--ink:oklch(97% .003 80);--ink-mute:oklch(72% .005 80);--ink-soft:oklch(55% .005 80);--accent-soft:oklch(28% .06 45)}[data-mode=dark][data-theme=mint]{--accent-soft:oklch(28% .05 165)}[data-mode=dark][data-theme=indigo]{--accent-soft:oklch(28% .06 270)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:inherit;background:0 0;border:none;outline:none}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1, "zero" 1}.app-root{grid-template-columns:240px 1fr;min-height:100vh;display:grid}@media (width<=880px){.app-root{grid-template-columns:1fr}.side-rail{display:none!important}.bottom-tabs{display:flex!important}.main-stage{padding-bottom:80px!important}}.side-rail{border-right:1px solid var(--line);background:var(--bg-elev);flex-direction:column;gap:4px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.side-rail .brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding:4px 10px 22px;display:flex}.side-rail .brand .mark{background:var(--ink);width:28px;height:28px;color:var(--bg-elev);font-family:var(--font-mono);border-radius:7px;place-items:center;font-size:13px;font-weight:700;display:grid}.side-rail .brand .word{letter-spacing:-.01em;font-size:16px;font-weight:700}.side-rail .nav-item{color:var(--ink-mute);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:500;transition:all .1s;display:flex}.side-rail .nav-item:hover{background:var(--bg-sunken);color:var(--ink)}.side-rail .nav-item.active{background:var(--bg-sunken);color:var(--ink);font-weight:600}.side-rail .nav-item.active:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:16px;margin-left:-12px;margin-right:9px}.side-rail .me{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.bottom-tabs{background:var(--bg-elev);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));z-index:50;justify-content:space-around;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-tabs button{color:var(--ink-mute);letter-spacing:.02em;text-transform:uppercase;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 4px;font-size:10px;font-weight:500;display:flex}.bottom-tabs button.active{color:var(--accent)}.main-stage{max-width:1200px;min-height:100vh;padding:32px 40px 64px}@media (width<=640px){.main-stage{padding:20px 18px 80px}}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}.card-flat{background:var(--bg-sunken);border-radius:var(--radius);padding:16px}.divider{background:var(--line);height:1px}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.between{justify-content:space-between}.center{justify-content:center;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:11px;font-weight:600}.h1{letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:1.1}.h2{letter-spacing:-.015em;font-size:22px;font-weight:600}.h3{letter-spacing:-.01em;font-size:16px;font-weight:600}.body{color:var(--ink-mute);font-size:14px;line-height:1.5}.tiny{color:var(--ink-soft);font-size:12px}.btn{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all 80ms;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg-elev)}.btn-primary:hover{transform:translateY(-1px)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{background:var(--bg-sunken)}.btn-lg{border-radius:12px;padding:14px 22px;font-size:15px}.avatar{background:var(--bg-sunken);font-family:var(--font-mono);color:var(--ink);border:1px solid var(--line);letter-spacing:0;border-radius:50%;flex-shrink:0;place-items:center;font-weight:600;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);padding:18px}.stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:11px;font-weight:600}.stat .value{font-family:var(--font-mono);letter-spacing:-.02em;margin-top:6px;font-size:28px;font-weight:700}.stat .delta{color:var(--ink-mute);margin-top:4px;font-size:12px}.stat .delta.up{color:var(--positive)}.stat .delta.down{color:var(--negative)}.pill{white-space:nowrap;background:var(--bg-sunken);color:var(--ink-mute);border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill-accent{background:var(--accent-soft);color:var(--accent-ink)}.pill-live:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 0 var(--accent);border-radius:50%;animation:1.5s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--accent), transparent 40%)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.tweaks-panel{z-index:200;background:var(--bg-elev);border:1px solid var(--line);width:240px;box-shadow:var(--shadow-lg);font-family:var(--font-display);border-radius:16px;padding:16px;position:fixed;bottom:24px;right:24px}.tweaks-panel .tw-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:10px;font-size:11px;font-weight:700}.tweaks-panel .tw-section{margin-bottom:14px}.tweaks-panel .tw-section:last-child{margin-bottom:0}.tweaks-panel .tw-label{color:var(--ink-mute);margin-bottom:6px;font-size:12px}.swatch-row{gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:28px;height:28px;transition:all .1s}.swatch.active{border-color:var(--ink)}.mode-toggle{background:var(--bg-sunken);border-radius:8px;padding:3px;display:flex}.mode-toggle button{color:var(--ink-mute);border-radius:6px;flex:1;padding:6px;font-size:12px;font-weight:600}.mode-toggle button.active{background:var(--bg-elev);color:var(--ink);box-shadow:var(--shadow-sm)}.bid-history-row{border-bottom:1px dashed var(--line);grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:8px 4px;font-size:13px;display:grid}.bid-history-row:last-child{border-bottom:none}.bid-history-row .who{font-weight:600}.bid-history-row .what{font-family:var(--font-mono);color:var(--ink);font-weight:600}.bid-history-row .meta{color:var(--ink-soft);font-size:11px}.numpad-key{background:var(--bg-elev);border:1px solid var(--line);height:56px;font-family:var(--font-mono);color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;font-size:22px;font-weight:600;transition:all 80ms;display:grid}.numpad-key:hover{background:var(--bg-sunken)}.numpad-key.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.numpad-key.disabled{opacity:.3;pointer-events:none}.dollar-bill{aspect-ratio:263/110;background-image:url(/assets/bill-bg.png);background-repeat:no-repeat;background-size:100% 100%;border-radius:4px;width:100%;max-width:460px;font-family:Courier New,Courier,monospace;position:relative;overflow:hidden;box-shadow:0 6px 18px #0000001f,0 1px 3px #00000014}.dollar-bill .serial-line{color:oklch(42% .13 150);letter-spacing:.18em;text-shadow:0 1px #fff9;white-space:nowrap;font-family:Courier New,Courier,monospace;font-size:clamp(22px,5.4cqw,44px);font-weight:900;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.dollar-bill .serial-line .digit-hl{background:oklch(85% .18 90/.7);border-radius:3px;padding:0 4px;box-shadow:0 0 0 1px oklch(60% .13 90/.4)}.dollar-bill .bill-meta{font-family:var(--font-mono);color:oklch(40% .05 150/.55);letter-spacing:.1em;text-transform:uppercase;font-size:8px;position:absolute;bottom:4px;right:8px}.dollar-bill.compact{max-width:320px}[data-mode=dark] .dollar-bill{filter:brightness(.92)contrast(1.05)}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.home-stat{background:var(--bg-sunken);text-align:center;border-radius:12px;min-width:76px;padding:10px 16px}.play-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.play-card{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-elev);cursor:pointer;flex-direction:column;gap:6px;min-height:148px;padding:22px;transition:all .12s;display:flex;position:relative}.play-card>*{min-width:0}.play-card:hover{box-shadow:var(--shadow);border-color:var(--line-strong);transform:translateY(-2px)}.play-card-icon{background:var(--bg-sunken);width:40px;height:40px;color:var(--ink);border-radius:10px;place-items:center;margin-bottom:8px;display:grid}.play-card-icon svg{width:22px;height:22px}.play-card-title{letter-spacing:-.01em;text-wrap:balance;font-size:16px;font-weight:700;line-height:1.2}.play-card-sub{color:var(--ink-mute);font-size:13px;line-height:1.3}@media (width<=720px){.play-grid{gap:8px}.play-card{align-items:flex-start;gap:0;min-height:0;padding:14px 14px 16px}.play-card-icon{border-radius:9px;width:36px;height:36px;margin-bottom:10px}.play-card-icon svg{width:20px;height:20px}.play-card-bot .play-card-icon img{width:100%;height:100%}.play-card-title{font-size:15px;line-height:1.2}.play-card-sub,.play-card .pill{display:none}}.play-card-primary{background:var(--ink);color:var(--bg-elev);border-color:var(--ink)}.play-card-primary .play-card-icon{color:var(--bg-elev);background:#ffffff1f}.play-card-primary .play-card-sub{color:color-mix(in oklab, var(--bg-elev), transparent 40%)}.play-card-accent{background:var(--accent-soft);border-color:var(--accent-soft)}.play-card-accent .play-card-icon{background:var(--bg-elev);color:var(--accent-ink)}.play-card-accent .play-card-title{color:var(--accent-ink)}.play-card-accent .play-card-sub{color:var(--accent-ink);opacity:.75}.play-card-bot .play-card-icon{padding:0;overflow:hidden}.play-card-bot .play-card-icon img{object-fit:cover;object-position:top;width:100%;height:100%}.challenge-row,.open-game-row{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 16px;display:flex}.challenges-scroll{max-height:240px;padding-right:4px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),#0000);mask-image:linear-gradient(#000 calc(100% - 24px),#0000)}.challenges-scroll.no-mask{-webkit-mask-image:none;mask-image:none}.challenges-scroll::-webkit-scrollbar{width:6px}.challenges-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:3px}.challenges-scroll::-webkit-scrollbar-track{background:0 0}.challenge-row .challenge-actions{flex-shrink:0;gap:8px;display:flex}@media (width<=560px){.challenge-row{flex-wrap:wrap;gap:10px;padding:12px 14px}.challenge-row .challenge-actions{flex-basis:100%;margin-left:0}.challenge-row .challenge-actions .btn{flex:1}}.open-game-row{cursor:pointer;transition:all 80ms}.open-game-row:hover{background:var(--bg-sunken);border-color:var(--line-strong)}.turn-dot{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.turn-dot.on{background:var(--accent-soft);color:var(--accent-ink)}.turn-dot.off{background:var(--bg-sunken);color:var(--ink-soft)}.turn-dot:before{content:"";border-radius:50%;width:6px;height:6px}.turn-dot.on:before{background:var(--accent)}.turn-dot.off:before{background:var(--ink-soft)}.search-input{background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.search-input input{flex:1;font-size:14px}.search-input:focus-within{border-color:var(--accent)}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px;font-weight:600}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 12px}.tbl tr:hover td{background:var(--bg-sunken)}.tbl tr:last-child td{border-bottom:none}.players-table-wrap{width:100%;overflow-x:hidden}@media (width<=640px){.players-table th.col-hide-sm,.players-table td.col-hide-sm{display:none}.players-table td,.players-table th{padding:10px}.players-table td:first-child,.players-table th:first-child{padding-left:12px}.players-table td:last-child,.players-table th:last-child{padding-right:12px}}.turn-badge{background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.turn-badge.opp{background:var(--bg-sunken);color:var(--ink-mute)}.turn-badge.opp:before{content:"";background:var(--ink-soft);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse-grey}@keyframes pulse-grey{0%,to{opacity:.4}50%{opacity:1}}.tabs{background:var(--bg-sunken);border:1px solid var(--line);border-radius:10px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.tab{appearance:none;font:inherit;color:var(--ink-mute);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all 80ms;display:inline-flex}.tab:hover{color:var(--ink)}.tab.active{background:var(--bg-elev);color:var(--ink);box-shadow:var(--shadow-sm)}.tab-count{font-family:var(--font-mono);color:var(--ink-soft);background:color-mix(in oklab, var(--ink), transparent 92%);border-radius:4px;padding:1px 6px;font-size:11px}.tab.active .tab-count{background:var(--accent-soft);color:var(--accent-ink)}.team-row{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:14px;padding:12px 16px;display:flex}.team-tag{background:var(--bg-sunken);width:48px;height:48px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line);border-radius:10px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.tourney-row{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:14px;padding:12px 16px;display:flex}.tourney-status{font-family:var(--font-mono);letter-spacing:.06em;border-radius:6px;flex-shrink:0;padding:5px 9px;font-size:11px;font-weight:700}.tourney-status.s-live{background:color-mix(in oklab, var(--accent), transparent 82%);color:var(--accent-ink)}.tourney-status.s-upcoming{background:color-mix(in oklab, var(--positive), transparent 85%);color:var(--positive)}.tourney-status.s-past{background:var(--bg-sunken);color:var(--ink-soft)}.history-stats{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.history-stat{flex-direction:column;align-items:center;min-width:72px;display:flex}.history-stat .tiny{white-space:nowrap}.team-row>div:nth-child(2),.team-row-head>div:nth-child(2),.tourney-row>div:nth-child(2){overflow-wrap:anywhere}.team-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .12s;overflow:hidden}.team-card.open{border-color:var(--ink-soft)}.team-row-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:12px 16px;display:flex}.team-row-head:hover{background:var(--bg-sunken)}.team-chev{color:var(--ink-soft);text-align:center;flex-shrink:0;width:16px;font-size:14px;line-height:1;transition:transform .16s}.team-chev.open{transform:rotate(-180deg)}.team-members{border-top:1px dashed var(--line);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 16px;padding:4px 16px 16px;display:grid}.team-member{align-items:center;gap:10px;min-width:0;padding:6px 0;display:flex}.team-captain{color:var(--accent);vertical-align:middle;margin-left:6px;font-size:11px}.team-more{appearance:none;font:inherit;color:var(--accent-ink);cursor:pointer;background:0 0;border:none;grid-column:1/-1;justify-self:start;padding:6px 0;font-size:13px;font-weight:600}.team-more:hover{text-decoration:underline}@media (width<=640px){.team-members{grid-template-columns:1fr 1fr}}.avatar-dot{border:2px solid var(--bg-elev);box-sizing:border-box;border-radius:50%;position:absolute;bottom:-1px;right:-1px}.avatar-dot.on{background:var(--positive)}.avatar-dot.off{background:var(--ink-soft)}.settings-section{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.setting-row{align-items:flex-start;gap:16px;padding:10px 0;display:flex}.setting-row+.setting-row{border-top:1px solid var(--line)}.toggle{appearance:none;background:color-mix(in oklab, var(--ink), transparent 82%);cursor:pointer;border:none;border-radius:9999px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .16s;position:relative}.toggle.on{background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle.on .toggle-knob{transform:translate(18px)}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.radio-row{border:1px solid var(--line);cursor:pointer;background:var(--bg-elev);border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:6px;padding:10px 12px;transition:all .1s;display:flex}.radio-row:hover{background:var(--bg-sunken)}.radio-row.checked{border-color:var(--accent);background:color-mix(in oklab, var(--accent-soft), transparent 50%)}.radio-row input[type=radio]{opacity:0;pointer-events:none;position:absolute}.radio-visual{border:2px solid color-mix(in oklab, var(--ink), transparent 70%);border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:2px;transition:all .1s;position:relative}.radio-row.checked .radio-visual{border-color:var(--accent)}.radio-row.checked .radio-visual:after{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:3px}.email-row{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.email-row+.email-row{border-top:1px solid var(--line)}.email-actions{flex-wrap:wrap}@media (width<=520px){.email-row{flex-direction:column;align-items:flex-start;gap:8px}}.input{border:1px solid var(--line);background:var(--bg-elev);width:100%;font:inherit;color:var(--ink);border-radius:10px;padding:10px 12px;font-size:14px;transition:all .1s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.select{appearance:none;border:1px solid var(--line);background:var(--bg-elev);font:inherit;color:var(--ink);cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 10px center;background-repeat:no-repeat;border-radius:10px;flex-shrink:0;min-width:160px;padding:9px 32px 9px 12px;font-size:14px;transition:all .1s}.select:hover{background-color:var(--bg-sunken)}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.history-card{padding:0;overflow:hidden}.history-row{appearance:none;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:18px;transition:background .1s}.history-row:hover{background:var(--bg-sunken)}.history-card.open .history-row{background:var(--bg-sunken);border-bottom:1px solid var(--line)}.history-chev{color:var(--ink-mute);margin-left:4px;font-size:16px;transition:transform .16s}.history-chev.open{color:var(--ink);transform:rotate(180deg)}.replay-drawer{background:var(--bg-elev);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;padding:20px;display:grid}@media (width<=720px){.replay-drawer{grid-template-columns:1fr;gap:18px;padding:16px}}.replay-hands{grid-template-columns:1fr 1fr;align-content:start;gap:12px;display:grid}.replay-hand{background:var(--bg-sunken);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.replay-combined{background:var(--bg-elev);border-style:dashed;grid-column:1/-1}.serial-mini{letter-spacing:.08em;color:var(--positive);font-size:18px;font-weight:700;font-family:var(--font-mono)}.replay-bids{flex-direction:column;display:flex}.replay-step-btn{padding:6px 10px;font-size:12px}.replay-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.replay-bid{background:var(--bg-sunken);border-left:3px solid #0000;border-radius:8px;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:8px 12px;animation:.18s ease-out replay-in;display:grid}@keyframes replay-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.replay-bid.mine{border-left-color:var(--accent)}.replay-bid.theirs{border-left-color:color-mix(in oklab, var(--ink), transparent 60%)}.replay-bid.last{background:color-mix(in oklab, var(--accent-soft), transparent 40%)}.replay-who{color:var(--ink-mute);font-size:12px;font-weight:600;font-family:var(--font-mono)}.replay-bid.mine .replay-who{color:var(--accent-ink)}.replay-what{letter-spacing:.02em;font-size:14px;font-weight:700}.replay-outcome{border-radius:6px;grid-column:1/-1;justify-self:start;margin-top:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.replay-outcome.won{background:color-mix(in oklab, var(--positive), transparent 82%);color:var(--positive)}.replay-outcome.lost{background:color-mix(in oklab, var(--negative), transparent 82%);color:var(--negative)}.replay-more{border:1px dashed var(--line);color:var(--ink-mute);text-align:center;cursor:pointer;border-radius:8px;padding:10px 12px;font-size:12px;transition:all .1s}.replay-more:hover{background:var(--bg-sunken);color:var(--ink)}.ladder-card-icon{position:relative}.ladder-card-initials{color:#fff;letter-spacing:.04em;border-radius:12px;place-items:center;width:100%;height:100%;font-size:22px;font-weight:800;display:grid}.ladder-status{padding:20px 22px}.ladder-status-rung{border-right:1px solid var(--line);min-width:88px;padding-right:16px}.ladder-status-divider{display:none}.ladder-list{flex-direction:column;gap:10px;display:flex}.ladder-rung{background:var(--bg-surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:40px 64px 1fr auto;align-items:center;gap:16px;padding:16px 20px;transition:all .16s;display:grid}.ladder-rung:hover{border-color:color-mix(in oklab, var(--ink), transparent 80%)}.ladder-rung-beaten{opacity:.8}.ladder-rung-current{border-color:color-mix(in oklab, var(--accent), transparent 60%)}.ladder-rung-next{border-color:var(--accent);background:color-mix(in oklab, var(--accent-soft), transparent 55%);box-shadow:0 0 0 1px var(--accent) inset, 0 4px 12px color-mix(in oklab, var(--accent), transparent 85%)}.ladder-rung-locked{background:var(--bg-sunken);opacity:.6}.ladder-rung-num{text-align:center;color:var(--ink-mute);font-size:22px;font-weight:800}.ladder-rung-next .ladder-rung-num{color:var(--accent-ink)}.ladder-rung-avatar{border-radius:12px;width:56px;height:56px;position:relative;overflow:hidden}.ladder-rung-avatar img{object-fit:cover;width:100%;height:100%}.ladder-rung-initials{color:#fff;letter-spacing:.04em;place-items:center;width:100%;height:100%;font-size:20px;font-weight:800;display:grid}.ladder-lock{background:oklab(0% none none/.5);place-items:center;font-size:18px;display:grid;position:absolute;inset:0}.ladder-rung-body{min-width:0}.ladder-rung-action{text-align:right;min-width:120px}.ladder-locked-note{color:var(--ink-mute);font-style:italic}@media (width<=680px){.ladder-rung{grid-template-columns:32px 48px 1fr;gap:12px;padding:12px}.ladder-rung-avatar{width:48px;height:48px}.ladder-rung-action{text-align:left;grid-column:1/-1;min-width:0;padding-left:48px}}.bots-grid{flex-direction:column;gap:10px;display:flex}.bot-card{border:1px solid var(--line);background:var(--bg-surface);border-radius:14px;flex-direction:column;padding:16px;display:flex}.bot-card.locked{background:var(--bg-sunken);opacity:.75}.bot-card.is-next{border-color:var(--accent);background:color-mix(in oklab, var(--accent-soft), transparent 60%);opacity:1}.bot-card-head{grid-template-columns:52px 1fr;align-items:center;gap:12px;display:grid}.bot-card-avatar{border-radius:10px;width:52px;height:52px;position:relative;overflow:hidden}.bot-card-avatar img{object-fit:cover;width:100%;height:100%}.bot-card-initials{color:#fff;place-items:center;width:100%;height:100%;font-size:18px;font-weight:800;display:grid}.ladder-rung-body>.row{flex-wrap:wrap;row-gap:2px}.ladder-rung-body>.row>:first-child{white-space:nowrap}.game-topstrip{align-items:center;gap:12px;padding:10px 14px;display:flex}.bid-ribbon{background:var(--bg-sunken);border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:8px 14px;display:flex}.bid-ribbon-label{color:var(--ink-soft);flex-shrink:0}.bid-ribbon-track{scrollbar-width:thin;flex:1;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.bid-ribbon-track::-webkit-scrollbar{height:4px}.bid-ribbon-track::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.bid-chip{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;min-width:56px;padding:5px 10px;display:inline-flex}.bid-chip.me{background:color-mix(in oklab, var(--positive), transparent 88%);border-color:color-mix(in oklab, var(--positive), transparent 65%)}.bid-chip.opp{background:var(--bg)}.bid-chip.is-current{outline:2px solid var(--accent);outline-offset:1px}.bid-chip-who{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:10px;font-weight:600}.bid-chip-val{color:var(--ink);font-size:15px;font-weight:700;line-height:1.1}.play-card-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:10px;font-weight:600;line-height:1}.challenge-smack{color:var(--ink-mute);text-wrap:pretty;margin-top:6px;font-size:13px;font-style:italic;line-height:1.4}.challenge-smack-quote{color:var(--ink-soft);margin:0 2px;font-style:normal;font-weight:600}
