.lobby{min-height:100%;display:flex;align-items:flex-start;justify-content:center;padding:7vh 20px 40px}.lobby-card{position:relative;width:100%;max-width:560px;padding:26px 28px 22px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.lobby-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 35%,var(--prophet) 55%,transparent 100%);background-size:220% 100%;animation:lobby-sweep 6s linear infinite}@keyframes lobby-sweep{0%{background-position:140% 0}to{background-position:-140% 0}}.lobby-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lobby-eyebrow{margin:0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}.lobby-code{margin:2px 0 0;font-size:40px;line-height:1.05;letter-spacing:.22em;font-weight:700;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.lobby-copy{flex:none;margin-top:14px}.lobby-sub{margin:14px 0 20px;color:var(--ink-dim);font-size:13px;max-width:46ch}.lobby-roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.lobby-roster-title{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.lobby-count{color:var(--ink);letter-spacing:.06em;font-variant-numeric:tabular-nums}.lobby-caps{display:inline-flex;align-items:center;gap:4px}.lobby-caps-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-right:4px}.lobby-cap{padding:2px 9px;font-size:12px;font-variant-numeric:tabular-nums}.lobby-cap-on{border-color:var(--accent);color:var(--accent)}.lobby-settings{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px}.lobby-timer-state{font-size:13px;color:var(--ink)}.lobby-seats{list-style:none;margin:0;padding:12px 0 0;display:flex;flex-direction:column;gap:8px}.lobby-seat{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2)}.lobby-seat-taken{animation:lobby-arrive .32s ease-out both}@keyframes lobby-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.lobby-seat-you{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.lobby-seat-open{background:transparent;border-style:dashed}.lobby-avatar{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em}.lobby-avatar-open{color:var(--ink-dim);opacity:.45;font-weight:400}.lobby-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-name-open{font-weight:400;color:var(--ink-dim);opacity:.7}.lobby-pill{flex:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim)}.lobby-pill-host{color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 40%,var(--line))}.lobby-pill-you{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.lobby-seat-state{margin-left:auto;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);opacity:.75}.lobby-dots{margin-left:auto;display:inline-flex;gap:4px}.lobby-dots-inline{margin-left:6px}.lobby-dots i{width:5px;height:5px;border-radius:50%;background:var(--ink-dim);opacity:.35;animation:lobby-breathe 1.4s ease-in-out infinite}.lobby-dots i:nth-child(2){animation-delay:.18s}.lobby-dots i:nth-child(3){animation-delay:.36s}@keyframes lobby-breathe{0%,to{opacity:.22;transform:translateY(0)}50%{opacity:.85;transform:translateY(-2px)}}.lobby-connecting{display:flex;align-items:center;gap:10px;margin:16px 0 0;color:var(--ink-dim);font-size:13px}.lobby-connecting .prompt-spinner{margin:0;width:18px;height:18px;border-width:2px}.lobby-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.lobby-start{padding:8px 16px}.lobby-foot-note{color:var(--ink-dim);font-size:12px;max-width:28ch}.lobby-waiting{display:inline-flex;align-items:center;color:var(--ink-dim);font-size:13px}.lobby-leave{margin-left:auto;color:var(--ink-dim)}.lobby-tip{margin:16px 0 0;min-height:32px;color:var(--ink-dim);font-size:12px;opacity:.8;border-left:2px solid var(--line);padding-left:10px;animation:lobby-fade .6s ease-out both}@keyframes lobby-fade{0%{opacity:0}to{opacity:.8}}.lobby-card-shut{text-align:center}.lobby-shut-title{font-size:22px;margin:6px 0 10px}.lobby-shut-text{color:var(--ink-dim);font-size:13px;margin:0 auto 18px;max-width:44ch}.lobby-shut-actions{display:flex;gap:10px;justify-content:center}@media (prefers-reduced-motion: reduce){.lobby-card:before,.lobby-seat-taken,.lobby-dots i,.lobby-tip{animation:none}}.start-hint{margin:-4px 0 0 100px;font-size:12px;color:var(--ink-dim);opacity:.8;max-width:44ch}.lobby-knocking{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:8px 12px;border:1px dashed color-mix(in srgb,var(--accent-2) 40%,var(--line));border-radius:var(--radius);color:var(--accent-2);font-size:12px}.lobby-card-shut .lobby-knocking{justify-content:center;border-style:none;color:var(--ink-dim);margin:-8px 0 14px}.lobby-knocking-add{margin-left:auto;padding:2px 10px;font-size:12px;color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 45%,var(--line))}.draft-eyebrow{margin:0 0 2px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2)}.draft-progress{margin-top:4px;font-size:13px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.draft-waiting{font-size:15px;color:var(--ink)}.lobby-draft-group{display:inline-flex;align-items:center;gap:8px;margin-left:12px}.seat-badge-drafting,.seat-badge-done{font-size:10px;letter-spacing:.06em;text-transform:uppercase}.seat-badge-drafting{color:var(--accent-2)}.seat-badge-done{color:var(--ink-dim)}.lobby-draft{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);cursor:pointer}.lobby-draft input{width:18px;height:18px;margin:0;accent-color:var(--accent)}@media (max-width: 700px){.prompt-draft .prompt-card{padding:12px 10px}.prompt-draft .prompt-options{gap:8px}.prompt-draft .prompt-option-card .card{width:min(156px,calc((100vw - 76px)/2))}.lobby-draft-group{flex-basis:100%;margin-left:0}.lobby-draft{min-height:44px}.lobby-draft input{width:22px;height:22px}}.hand .hand-row{align-items:stretch;padding-top:14px}.hand-row>.hand-slot{flex:0 0 auto;position:relative;display:flex}.hand-row>.hand-slot>.card{flex:1 1 auto}.hand-row .card-playable.card-clickable{border-color:#7fd4a08c;box-shadow:inset 0 0 0 1px #7fd4a024}.hand-row .card-clickable{cursor:pointer}.hand-row .card-clickable:hover{border-color:var(--accent);box-shadow:0 12px 26px #0000007f,0 0 0 1px #7fd4a073;transform:translateY(-8px) scale(1.03);z-index:4}.hand-row .card-clickable:active{transform:translateY(-3px) scale(.995)}.hand-row .card-disabled{opacity:.5;filter:grayscale(.6);cursor:grab}.hand-row .card-disabled:active{cursor:grabbing}.hand-row .card-disabled:hover{opacity:.72;filter:grayscale(.25)}.hand-row .card-clickable:after{content:"▶ PLAY";position:absolute;left:50%;top:30px;transform:translate(-50%,5px) scale(.94);padding:3px 10px;border-radius:999px;background:#12141ae0;border:1px solid var(--accent);color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-quick, .22s) var(--e-out, ease-out),transform var(--t-quick, .22s) var(--e-out, ease-out);z-index:2}.hand-row .card-clickable:hover:after,.hand-row .card-clickable:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}.hand-row-dragging .card-clickable:after{opacity:0}.hand-row .card-committed{opacity:.55;border-color:var(--accent);pointer-events:none}.hand-row .card-inert.card-playable.card-clickable{border-color:var(--line);box-shadow:none}.hand-row .card-inert.card-clickable:after{content:"+1 COMBO";border-color:var(--line);color:var(--ink-dim)}.hand-row .hand-slot-dragging .card{opacity:.3;filter:grayscale(.5);box-shadow:none}.hand-row .hand-slot-over{transform:none}.hand-row .hand-slot-drop-before:before,.hand-row .hand-slot-drop-after:after{content:"";position:absolute;top:-1px;bottom:-1px;width:3px;border-radius:2px;background:var(--accent-2);box-shadow:0 0 10px #f0c674a6;pointer-events:none;z-index:5}.hand-row .hand-slot-drop-before:before{left:-6px}.hand-row .hand-slot-drop-after:after{right:-6px}.hand-nudge .hand-grip{color:var(--ink-dim);font-size:12px;line-height:1;letter-spacing:-.1em;pointer-events:none;-webkit-user-select:none;user-select:none}.hand-row .hand-slot:hover .hand-grip{color:var(--accent-2)}.hand-status{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-dim);white-space:nowrap}.hand-status-yours{border-color:#7fd4a073;color:var(--accent)}.hand-status[data-playable-count="0"].hand-status-yours{border-color:var(--line);color:var(--ink-dim)}.hand-head{flex-wrap:wrap}@media (max-width: 900px){.hand-hint{display:none}}.opponents{display:flex;flex-direction:column;gap:8px}.opponents-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.opponents-head h3{margin:0}.opponents-count{font-size:11px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.opponent.seat{--seat-hue: 210;position:relative;display:flex;flex-direction:column;gap:7px;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.opponent.seat:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:hsl(var(--seat-hue) 40% 45%);opacity:.45}.opponent.seat.seat-active{order:-1;border-color:var(--accent);background:linear-gradient(180deg,rgba(127,212,160,.07),transparent 52px),var(--panel)}.opponent.seat.seat-you{box-shadow:inset 3px 0 hsl(var(--seat-hue) 55% 55%)}.opponent.seat.seat-active:before{background:var(--accent);opacity:1}.opponent.seat.seat-deciding{border-color:#f0c6748c}.opponent.seat.seat-deciding:before{background:var(--accent-2);opacity:1}.opponent.seat.seat-won:before{background:var(--accent-2);opacity:1}.opponent.seat.seat-out{opacity:.5;filter:saturate(.4)}.opponent.seat .seat-head{display:flex;align-items:center;gap:8px}.seat-avatar{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700;letter-spacing:.02em;color:hsl(var(--seat-hue) 65% 88%);background:hsl(var(--seat-hue) 35% 24%);border:1px solid hsl(var(--seat-hue) 40% 38%)}.seat-who{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;line-height:1.25}.opponent.seat .seat-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-sub{display:flex;gap:6px;align-items:center;min-height:13px}.opponent.seat .opponent-turn.seat-badge,.opponent.seat .seat-turn-self.seat-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.seat-badge.seat-badge-out{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--danger)}.seat-badge-deciding{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2)}.seat-badge-won{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-2);font-weight:700}.seat-badge-you{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--seat-hue) 70% 72%)}.seat-waiting{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);opacity:.7}.seat-pip{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:seat-pulse 1.6s ease-in-out infinite}@keyframes seat-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}.opponent.seat .seat-score{flex:0 0 auto;display:flex;gap:8px;align-items:baseline;font-size:10px;letter-spacing:.04em;color:var(--ink-dim);font-variant-numeric:tabular-nums}.seat-score-item b{font-size:13px;font-weight:700}.seat-score-vp b{color:var(--vp)}.seat-score-prophet b{color:var(--prophet)}.opponent.seat .seat-tableau{display:block;margin:0;padding:2px 0 0}.seat-tableau-head{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.seat-tableau-head:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}.seat-tableau-row{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.seat-tableau-row::-webkit-scrollbar{height:5px}.seat-tableau-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.seat-card{flex:0 0 auto;width:58px;display:flex;flex-direction:column;gap:2px;padding:2px;border-radius:5px;background:var(--panel-2);border:1px solid var(--line);cursor:default}.seat-card-art{position:relative;display:grid;place-items:center;width:100%;height:40px;object-fit:cover;border-radius:3px;border-top:2px solid currentColor;background:#0f1219}.seat-card-art-blank{font-size:12px;font-weight:700;color:#ffffffbf}.seat-card-name{color:var(--ink);opacity:.88;font-size:9px;line-height:1.15;height:21px;overflow:hidden;text-align:center;word-break:break-word}.seat-card-top{border-color:var(--accent-2);box-shadow:0 0 0 1px #f0c67440}.seat-beats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.seat-beat{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.3;color:var(--ink-dim);min-width:0}.seat-beat:before{content:"";flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.55}.seat-beat-verb{flex:0 0 auto}.seat-beat-subject{color:var(--ink);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-beat-times{flex:0 0 auto;font-variant-numeric:tabular-nums;opacity:.8}.seat-beat:not(:last-child){opacity:.55}.seat-beat-play{color:var(--accent)}.seat-beat-buy{color:var(--money)}.seat-beat-gain{color:var(--prophet)}.seat-beat-loss{color:var(--danger)}.seat-beat-aura{color:var(--vp)}.seat-stacks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:end;padding-top:2px}.seat-stack{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.seat-stack-label{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}.seat-stack-label b{font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}.seat-fan{display:flex;align-items:flex-end;height:46px;padding-left:3px}.seat-back{width:15px;height:30px;flex:0 0 auto;margin-left:-7px;border-radius:3px;border:1px solid #38415a;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 4px),linear-gradient(180deg,#2b3346,#1c2231);transform:rotate(var(--rot, 0deg));transform-origin:50% 100%}.seat-back:first-child{margin-left:0}.seat-fan-more{align-self:center;margin-left:3px;font-size:9px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.seat-fan-empty,.seat-deck-empty,.seat-discard-empty{width:26px;height:30px;border-radius:3px;border:1px dashed var(--line);opacity:.6}.seat-discard-empty{width:58px;height:46px}.seat-deck{position:relative;display:block;width:26px;height:46px}.seat-deck-empty{position:absolute;bottom:0;left:0}.seat-deck-layer{position:absolute;left:0;bottom:calc(var(--i) * 3px);width:26px;height:30px;border-radius:3px;border:1px solid #38415a;background:linear-gradient(180deg,#2b3346,#1c2231)}.seat-stack-discard .seat-card{width:58px}.seat-stack-discard .seat-card-art{height:34px}.seat-stack-discard .seat-card-name{height:11px;white-space:nowrap;text-overflow:ellipsis}.opponent.seat .seat-auras{display:flex;flex-wrap:wrap;gap:4px;margin:0}.opponent.seat .seat-aura{font-size:9px;line-height:1.5;padding:1px 6px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent.seat .seat-aura.aura-heroic{border-color:#f0c67480;color:var(--accent-2)}.opponent.seat .seat-aura.aura-celestial{border-color:#79c0f080;color:var(--prophet)}.opponent.seat .seat-aura.aura-hypercelestial{border-color:#b79cf099;color:var(--vp);background:#b79cf01a}@media (prefers-reduced-motion: reduce){.seat-pip{animation:none}}.dock-strip .premove-bar{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;padding:2px 4px 2px 10px;border:1px solid var(--accent-2, #f0c674);border-radius:999px;background:color-mix(in srgb,var(--accent-2, #f0c674) 12%,transparent);font-size:13px;white-space:nowrap}.dock-strip .premove-label{color:var(--accent-2, #f0c674);font-weight:600}.dock-strip .premove-count{color:var(--ink-dim, #98a1b3)}.dock-strip .premove-count b{color:var(--ink, #e6e9ef)}.dock-strip .premove-btn,.dock-strip .premove-toggle{flex:0 0 auto;padding:2px 10px;border-radius:999px;font-size:13px;white-space:nowrap}.dock-strip .premove-toggle:not(:disabled){border-color:var(--accent-2, #f0c674);color:var(--accent-2, #f0c674)}.dock-strip .premove-undone{flex:0 0 auto;color:var(--accent-2, #f0c674);font-size:12.5px;white-space:nowrap}.dock-strip .premove-committed{flex:0 0 auto;color:var(--ink-dim, #98a1b3);font-size:12.5px}.table[data-premove=true] .dock{box-shadow:inset 0 2px 0 var(--accent-2, #f0c674)}.table[data-premove=true] .end-turn,.table[data-premove=true] .prompt-actions button,.table[data-premove=true] .prompt-option{opacity:.45;pointer-events:none}.table.table[data-premove=true] .end-turn,.table.table[data-premove=true] .end-turn:not(:disabled){background:var(--panel-2);border-color:var(--line);color:var(--ink);box-shadow:none;opacity:.4;cursor:not-allowed}@media (max-width: 700px){.dock-strip .premove-bar{flex:0 0 100%;max-width:100%;flex-wrap:wrap;white-space:normal;border-radius:14px;padding:6px 8px}.dock-strip .premove-btn,.dock-strip .premove-toggle{min-height:44px}}:root{--bg: #12141a;--panel: #191d26;--panel-2: #212736;--line: #2e3646;--ink: #e6e9f0;--ink-dim: #98a1b3;--accent: #7fd4a0;--accent-2: #f0c674;--danger: #e07070;--money: #f0c674;--vp: #b79cf0;--prophet: #79c0f0;--radius: 8px;--card-w: 132px;--tile-w: 98px;--dock-card-h: 142px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);color:#10231a;border-color:var(--accent);font-weight:700}button.ghost{background:transparent}input,select{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:6px 8px}h1,h2,h3{margin:0 0 6px;font-weight:650}h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim)}.start{max-width:640px;margin:8vh auto;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.start-title{font-size:34px;letter-spacing:-.02em}.start-sub{color:var(--ink-dim);margin-top:0}.start-field{display:flex;align-items:center;gap:10px;margin:10px 0}.start-field>span{width:90px;color:var(--ink-dim)}.start-field.start-check>span{width:auto}.start-actions{display:flex;gap:10px;margin:18px 0}.start-join{display:flex;gap:8px;align-items:center}.start-join input{letter-spacing:.18em;text-transform:uppercase;width:160px}.start-resume{margin-top:18px;padding:10px;border:1px dashed var(--line);border-radius:var(--radius);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.start-note{color:var(--ink-dim);font-size:12px;margin-top:18px}.connecting,.fatal{text-align:center;margin:18vh auto;max-width:420px}.room-code{letter-spacing:.2em;font-size:20px}.table{height:100vh;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top top" "seats drawer" "board drawer" "dock dock";overflow:hidden}.topbar{grid-area:top;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;min-height:44px;padding:5px 12px;background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:30;min-width:0}.brand{font-weight:800;letter-spacing:-.01em;white-space:nowrap}.room-chip{letter-spacing:.12em;font-weight:700;padding:3px 8px}.seat-switch{display:flex;gap:4px}.seat-btn{padding:3px 10px}.seat-btn-on{border-color:var(--accent);background:#1f3b2c}.seat-btn-active:after{content:" •";color:var(--accent-2)}.turn-owner{--owner-hue: 210;font-weight:800;padding:3px 12px;border-radius:999px;white-space:nowrap;background:hsl(var(--owner-hue) 35% 22%);border:1px solid hsl(var(--owner-hue) 45% 45%);color:hsl(var(--owner-hue) 70% 86%)}.turn-owner[data-your-turn=true]{background:var(--accent);border-color:var(--accent);color:#10231a}.turn-clock{display:flex;align-items:center;gap:8px;white-space:nowrap}.turn-label{color:var(--ink-dim);margin-right:4px;font-size:12px}.turn-value{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.round-value{color:var(--ink-dim);margin-left:6px;font-size:12px}.turn-timer{font-variant-numeric:tabular-nums;padding:1px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px}.turn-timer-low{color:var(--danger);border-color:var(--danger)}.flail-tag{margin-left:6px;font-size:11px;color:var(--accent-2)}.doomsday{color:var(--danger);font-weight:700}.hard-end{color:var(--ink-dim);font-size:12px}.anomaly-chip{display:flex;align-items:baseline;gap:6px;min-width:0;max-width:min(380px,30vw);padding:3px 10px;border-radius:999px;background:linear-gradient(90deg,#3a2450,#241a33);border:1px solid #5a3f7a;text-align:left;white-space:nowrap;overflow:hidden}.anomaly-name{font-weight:800;color:var(--vp);flex:0 0 auto}.anomaly-text{color:var(--ink-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis}.anomaly-chip{cursor:pointer}.anomaly-chip:hover,.anomaly-chip.anomaly-open{border-color:#8a63b8}.anomaly-more{flex:0 0 auto;font-size:11px;font-weight:700;color:#cdb4f0}.anomaly-panel-eyebrow{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.anomaly-panel-name{color:var(--vp)}.anomaly-panel-text{margin:4px 0 8px;font-size:15px;line-height:1.45}.anomaly-panel-note{margin:0 0 6px;font-size:12px;color:var(--ink-dim)}.topbar-spacer{flex:1 1 0}.who{color:var(--ink-dim);white-space:nowrap;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis}@media (min-width: 701px){.topbar{flex-wrap:nowrap}.topbar>*{flex-shrink:0}.topbar>.anomaly-chip,.topbar>.who,.topbar>.topbar-spacer{flex-shrink:1}}.drawer-toggle{padding:3px 10px}.drawer-toggle[aria-pressed=true]{border-color:var(--accent)}.prompt-waiting{display:inline-flex;align-items:center;gap:8px;padding:2px 6px 2px 10px;min-height:26px;border-radius:999px;border:1px solid rgb(240 198 116 / 55%);background:#2b2616;color:var(--accent-2);font-size:13px;white-space:nowrap}.prompt-waiting-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-2)}.prompt-pass-btn{padding:1px 8px;font-size:12px;border-color:var(--accent-2)}.opponents{grid-area:seats;display:flex;flex-direction:column;gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);min-width:0}.opponents-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin}.opponent.seat.seat-strip{flex:1 1 240px;min-width:190px;max-width:380px;flex-direction:row;align-items:center;gap:8px;padding:5px 10px;min-height:46px;cursor:pointer}.opponent.seat.seat-strip.seat-expanded{border-color:hsl(var(--seat-hue) 45% 50%)}.seat-strip .seat-who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.seat-strip .seat-line1{display:flex;align-items:center;gap:6px;min-width:0}.opponent.seat.seat-strip .seat-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-strip .seat-last{font-size:11.5px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-last-play{color:var(--accent)}.opponent.seat.seat-strip .seat-score{display:flex;flex-direction:column;align-items:flex-end;gap:0;font-size:11.5px;line-height:1.3;flex:0 0 auto}.seat-strip .seat-counts{display:flex;flex-direction:column;font-size:11px;line-height:1.25;color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:0 0 auto}.seat-strip .seat-counts b{color:var(--ink)}.seat-detail{--seat-hue: 210;display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 18px;padding:8px 10px;background:var(--panel);border:1px solid hsl(var(--seat-hue) 40% 40%);border-radius:var(--radius)}.seat-detail-block{min-width:0}.seat-detail .seat-tableau-row{display:flex;gap:4px;overflow-x:auto;max-width:60vw}.seat-detail .seat-stacks{display:flex;gap:10px}.seat-detail .seat-beats{list-style:none;margin:0;padding:0;font-size:12px}.seat-detail-empty{color:var(--ink-dim);font-size:12px}.board-region{grid-area:board;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:10px 12px 12px}.board{display:flex;flex-wrap:wrap;gap:8px 12px;align-content:flex-start;align-items:flex-start}.shop{flex:0 1 auto;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:4px 8px 8px}.shop-title{display:flex;align-items:baseline;gap:8px;margin:0 0 4px;font-size:11px}.shop-count{color:var(--ink-dim);font-weight:400}.shop-piles{display:flex;flex-wrap:wrap;gap:6px}.shop-none{color:var(--ink-dim);font-size:12px}.pile{width:var(--tile-w);display:flex;flex-direction:column;gap:3px}.pile .card{width:100%}.pile-locked{opacity:.65;filter:grayscale(.5)}.pile-buyable .card{outline:1px solid var(--accent)}.pile-foot{display:flex;align-items:center;gap:4px}.pile-buy{flex:1 1 auto;height:22px;padding:0 6px;font-size:11px;font-weight:700;line-height:1}.pile-buyable .pile-buy{background:#1f3b2c;border-color:var(--accent);color:var(--accent)}.pile-lock{font-size:10px;color:var(--danger);white-space:nowrap}.pile-cost-chip{position:absolute;top:3px;left:3px;padding:0 6px;border-radius:999px;background:#0c0e12db;color:var(--money);font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;pointer-events:none}.pile-count-badge{position:absolute;bottom:3px;right:3px;padding:0 5px;border-radius:999px;background:#0c0e12cc;color:var(--ink);font-size:10.5px;font-variant-numeric:tabular-nums;pointer-events:none}.pile-slot-empty{height:94px;border:1px dashed var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink-dim);text-align:center;padding:4px}.pile-empty-label{font-size:11px;font-weight:700}.pile-empty-id{font-size:10px}.pile-top{display:block}.pile-inflight .pile-buy{opacity:.6;cursor:progress}.pile-prompt-target .card{outline:2px solid var(--accent-2);cursor:pointer}.pile-prompt-picked .card{outline-color:var(--accent);background:#1f3b2c}.dock{grid-area:dock;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:36px auto;grid-template-areas:"piles strip cluster" "piles hand cluster";gap:4px 12px;padding:6px 12px 8px;background:var(--panel);border-top:2px solid var(--line);min-width:0}.table[data-your-turn=true] .dock{border-top-color:var(--accent)}.dock-strip{grid-area:strip;display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.strip-label{flex:0 0 auto;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim)}.strip-label b{color:var(--ink)}.strip-cards{display:flex;gap:4px;flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.strip-cards::-webkit-scrollbar{display:none}.dock-strip .hand-status{margin-left:auto;flex:0 0 auto}.dock-hand{grid-area:hand;min-width:0;container-type:inline-size}.dock-piles{grid-area:piles;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;width:84px}.dock-deck,.dock-discard{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.dock-deck-back{width:44px;height:30px;border-radius:4px;border:1px solid #3a4560;background:repeating-linear-gradient(135deg,#2a3346 0,#2a3346 4px,#232b3b 4px,#232b3b 8px)}.dock-discard-top{display:block}.dock-discard .card-art{width:60px;height:40px;border-radius:4px}.dock-discard .card-art-initials{font-size:12px}.dock-discard .card-art-name{display:none}.dock-discard-empty{width:60px;height:40px;border:1px dashed var(--line);border-radius:4px}.dock-pile-label{font-size:10.5px;color:var(--ink-dim);white-space:nowrap}.dock-pile-label b{color:var(--ink)}.dock-cluster{grid-area:cluster;display:flex;align-items:flex-end}.dock .hand{margin:0;padding:0;background:none;border:0;min-width:0}.dock .hand-row{--card-w: clamp(84px, calc((100cqw - (var(--n) - 1) * 6px - 4px) / var(--n)), 120px);display:flex;gap:6px;align-items:flex-start;padding:8px 2px 4px;min-height:calc(var(--dock-card-h) + 12px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.dock .hand-row>.hand-slot>.card{flex:0 0 auto}.dock .hand-row .card-clickable:hover{transform:translateY(-6px) scale(1.02)}.hand-offturn .hand-row .card-disabled,.hand-offturn .hand-row .card-disabled:hover{opacity:1;filter:none;cursor:default}.hand-picking .hand-slot-option .card{outline:2px solid var(--accent-2)}.hand-picking .hand-slot-option .card.card-selected{outline-color:var(--accent);background:#1f3b2c}.hand-empty{color:var(--ink-dim);padding:20px 4px}.hand-nudge{display:flex;gap:4px;justify-content:space-between}.nudge{padding:0 6px;font-size:11px}.cluster{display:flex;flex-direction:column;gap:6px;width:228px}.cluster-stats{display:flex;gap:6px}.cluster-stats .stat{flex:1 1 0;padding:3px 0 4px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px}.stat{display:flex;flex-direction:column;align-items:center;min-width:0;position:relative}.stat-value{font-size:22px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}.stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim)}.stat-hot .stat-value{color:var(--money)}.cluster-minor{display:flex;justify-content:space-between;gap:6px}.stat.stat-minor{flex:1 1 0;flex-direction:row;justify-content:center;align-items:baseline;gap:4px}.stat-minor .stat-value{font-size:14px}.stat-minor .stat-label{font-size:9.5px}.cluster-actions{display:flex;flex-direction:column;gap:6px}.play-money{height:30px;font-weight:700}.end-turn{height:40px;font-size:15px;font-weight:800;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.end-turn-sub{font-size:10px;font-weight:600;opacity:.85}.end-turn.end-turn-done:not(:disabled){box-shadow:0 0 0 2px #f0c674b3}.cluster-actions kbd{display:inline-block;margin-left:4px;padding:0 4px;border:1px solid currentColor;border-radius:3px;font:inherit;font-size:10px;font-weight:700;line-height:1.3;opacity:.7}.table[data-your-turn=true] .end-turn:not(:disabled){background:var(--accent);border-color:var(--accent);color:#10231a}.drawer{grid-area:drawer;width:320px;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:10px 12px;background:var(--panel);border-left:1px solid var(--line)}.drawer[hidden]{display:none}.drawer-count{color:var(--ink)}.drawer-empty{color:var(--ink-dim);font-size:12px}.drawer-gy-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.library-count{font-size:11px;color:var(--ink-dim)}.log-head{margin-bottom:4px}.log-list{list-style:none;margin:0;padding:0;font-size:12px}.log-entry{display:flex;gap:6px;padding:3px 0;line-height:1.35;border-bottom:1px solid #232a38}.log-turn{flex:0 0 auto;color:var(--ink-dim);font-variant-numeric:tabular-nums}.log-player{flex:0 0 auto;font-weight:700}.log-text{color:#c8cfdd;overflow-wrap:anywhere}.log-tone-buy .log-text{color:var(--money)}.log-tone-gain .log-text{color:var(--accent)}.log-tone-loss .log-text,.log-tone-reject .log-text{color:var(--danger)}.log-tone-turn .log-text,.log-empty{color:var(--ink-dim)}.field{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px}.field-head{display:flex;justify-content:space-between;align-items:baseline}.field-count{color:var(--ink-dim);font-size:12px}.field-list{display:flex;flex-direction:column;gap:6px}.field-empty{color:var(--ink-dim)}.aura{border:1px solid var(--line);border-left-width:3px;border-radius:6px;padding:6px 8px}.aura-heroic{border-left-color:var(--accent-2)}.aura-celestial{border-left-color:var(--prophet)}.aura-hypercelestial{border-left-color:var(--vp)}.aura-head{display:flex;justify-content:space-between;align-items:baseline}.aura-name{font-weight:700}.aura-tier{font-size:10px;text-transform:uppercase;color:var(--ink-dim)}.aura-text{font-size:11px;color:#c8cfdd;margin:3px 0}.aura-activate{width:100%;font-weight:700}.aura-chip{font-size:10px;padding:1px 6px;border-radius:999px;border:1px solid var(--line)}.field.field-strip{display:flex;gap:4px;flex:0 0 auto;padding:0;background:none;border:0}.field-strip .aura-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 3px 2px 9px;font-size:12px;border-left-width:3px;background:var(--panel-2)}.field-strip .aura-activate{width:auto;padding:1px 8px;font-size:11px}.card{width:var(--card-w);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:6px;display:flex;flex-direction:column;gap:4px;position:relative;-webkit-user-select:none;user-select:none}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--accent);transform:translateY(-2px)}.card-disabled{opacity:.55}.card-selected{outline:2px solid var(--accent-2)}.card-head{display:flex;gap:6px;align-items:baseline;min-width:0}.card-cost{font-weight:800;color:var(--money);font-variant-numeric:tabular-nums}.card-name{font-weight:700;font-size:12px;line-height:1.15;overflow-wrap:anywhere}.card-art{width:100%;height:74px;object-fit:cover;border-radius:5px;display:block}.card-art-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#e9edf5;overflow:hidden}.card-art-initials{font-size:22px;font-weight:800;opacity:.85}.card-art-name{font-size:9px;opacity:.75;padding:0 4px;overflow-wrap:anywhere}.card-typeline{font-size:10.5px;color:var(--ink-dim);display:flex;flex-wrap:wrap;gap:3px}.card-rarity{margin-left:auto;text-transform:uppercase;letter-spacing:.05em}.rarity-common{color:#9fb0c8}.rarity-rare{color:#79c0f0}.rarity-epic{color:#b79cf0}.rarity-legendary{color:#f0c674}.rarity-mythic{color:#f08a8a}.rarity-basic,.rarity-token{color:#7d8798}.card-keywords,.card-counters{display:flex;flex-wrap:wrap;gap:3px}.keyword-chip,.counter-chip{font-size:10px;padding:1px 5px;border-radius:999px;background:#2b3446;color:var(--ink-dim)}.counter-chip{background:#3a2e22;color:var(--accent-2)}.card-stats{font-size:11px;font-weight:700;color:var(--accent)}.card-text{font-size:11.5px;line-height:1.3;color:#d0d6e2;max-height:96px;overflow:auto}.card-prophet{font-size:10.5px;color:var(--prophet)}.card-badge{position:absolute;top:-6px;right:-6px;background:var(--accent-2);color:#241a05;font-size:10px;font-weight:800;border-radius:999px;padding:1px 6px;z-index:2}.card-footer{margin-top:auto}.card-compact .card-text{display:none}.card-dock{height:var(--dock-card-h);padding:5px;gap:3px;overflow:hidden}.card-dock .card-name{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.card-dock .card-cost{font-size:12px}.card-dock .card-art{flex:0 0 auto;height:50px}.card-dock .card-art-initials{font-size:18px}.card-dock .card-art-name{display:none}.card-dock .card-stats{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-dock .card-text{font-size:11px;line-height:1.25;max-height:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-dock .card-footer{position:absolute;left:4px;right:4px;bottom:3px;margin:0}.card-mini{padding:3px;gap:3px}.card-art-wrap{position:relative}.card-mini .card-art{height:56px}.card-mini .card-art-initials{font-size:16px}.card-mini .card-art-name{display:none}.card-mini.card-disabled{opacity:.78}.card-mini .card-name{font-size:11px;line-height:1.2;min-height:2.4em;padding:0 1px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card.card-chip{flex:0 0 auto;flex-direction:row;align-items:center;width:auto;max-width:160px;height:30px;padding:1px 8px 1px 1px;gap:6px}.card-chip .card-art{flex:0 0 26px;width:26px;height:26px;border-radius:4px}.card-chip .card-art-initials{font-size:10px}.card-chip .card-art-name{display:none}.card-chip .card-name{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-preview-layer{position:fixed;z-index:50;width:250px;pointer-events:none;overflow:hidden;filter:drop-shadow(0 14px 30px rgb(0 0 0 / 60%))}.card-preview-layer .card{width:100%;padding:10px;gap:6px;background:#1d2331;border-color:#46506a}.card-preview-layer .card-name,.card-preview-layer .card-cost{font-size:15px}.card-preview-layer .card-art{height:140px}.card-preview-layer .card-typeline{font-size:11.5px}.card-preview-layer .card-stats{font-size:13px}.card-preview-layer .card-text{font-size:12.5px;line-height:1.4;max-height:none;overflow:visible}.card-preview-layer .keyword-chip,.card-preview-layer .counter-chip{font-size:11px}@media (hover: none){.card-preview-layer{display:none}}.prompt-bar{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.prompt-bar .prompt-title{flex:0 1 auto;min-width:min(220px,max-content);max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:800;color:var(--accent-2);text-transform:none;letter-spacing:0}.prompt-bar .prompt-meta{flex:0 0 auto;font-size:11.5px;color:var(--ink-dim)}.prompt-bar .prompt-options{display:flex;flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-start;margin:0;min-width:0;gap:4px;overflow-x:auto;scrollbar-width:thin}.prompt-bar .prompt-option{flex:0 0 auto;flex-direction:row;align-items:center;gap:4px;min-width:0;padding:2px 8px;font-size:12px;animation:none}.prompt-bar .prompt-order-index{position:static}.prompt-bar .prompt-actions{flex:0 0 auto}.prompt-bar .prompt-actions button{padding:3px 10px}.prompt-option-slot{font-size:10.5px;color:var(--ink-dim)}.prompt-panel-host{grid-area:board;z-index:20;min-height:0;min-width:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:16px;background:#080a0eb3}.prompt-panel{max-width:100%}.prompt-card{background:var(--panel);border:1px solid var(--accent-2);border-radius:12px;padding:16px 18px;max-width:920px;text-align:center}.prompt-title{font-size:18px;text-transform:none;letter-spacing:0;color:var(--ink)}.prompt-meta{color:var(--ink-dim);margin-bottom:12px}.prompt-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}.prompt-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px;text-align:left;padding:8px 10px;position:relative}.prompt-option-card{align-items:center;min-width:0;padding:4px}.prompt-option-card .card{width:156px}.prompt-option-selected{border-color:var(--accent);background:#1f3b2c}.prompt-option-label{font-weight:700}.prompt-order-index{position:absolute;top:-7px;left:-7px;background:var(--accent);color:#10231a;font-size:10px;font-weight:800;border-radius:999px;padding:0 6px;z-index:3}.prompt-actions{display:flex;gap:8px;justify-content:center}.prompt-card .prompt-actions{position:sticky;bottom:0;margin:0 -18px -16px;padding:10px 18px;background:var(--panel);border-top:1px solid var(--line);border-radius:0 0 12px 12px}.prompt-confirm{font-weight:800;background:var(--accent);color:#10231a;border-color:var(--accent)}.prompt-none{color:var(--ink-dim)}.prompt-spinner{width:26px;height:26px;margin:0 auto 10px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-over{margin:0 0 10px;padding:10px 14px;border-radius:var(--radius);background:linear-gradient(90deg,#1f3b2c,#16202a);border:1px solid var(--accent)}.winners{font-size:18px;font-weight:800;color:var(--accent)}@media (max-width: 700px){.table{display:flex;flex-direction:column;height:auto;min-height:100dvh;overflow:visible}.topbar{order:0}.opponents{order:1}.prompt-panel-host{order:2;padding:8px;background:none}.dock{order:3;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"strip" "hand" "cluster" "piles"}.board-region{order:4;overflow:visible}.drawer{order:5;width:auto;border-left:0;border-top:1px solid var(--line)}.dock-piles,.dock-deck,.dock-discard{flex-direction:row;width:auto}.cluster{width:100%}.anomaly-chip{max-width:100%}.opponent.seat.seat-strip{flex:0 0 270px}.seat-detail .seat-tableau-row{max-width:100%}}.help-btn{padding:2px 9px;font-weight:800;border-radius:999px}.key-help{width:min(640px,100%);margin-top:10px;padding:10px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 50px #0000007f}.key-help h3{margin:0 0 6px}.key-help-list{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:6px 0 8px;align-items:baseline;font-size:12.5px}.key-help-list dt{display:flex;gap:4px;justify-content:flex-end}.key-help-list dd{margin:0;color:var(--ink-dim)}.key-help kbd,.prompt-option-key{display:inline-block;min-width:15px;padding:0 4px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--panel-2);font:inherit;font-size:11px;font-weight:700;text-align:center;color:var(--ink-dim)}.prompt-panel .prompt-option-key{position:absolute;top:-8px;right:-8px;z-index:2}.prompt-bar .prompt-option-key{font-size:10px;padding:0 3px}.log-times{margin-left:auto;color:var(--ink-dim);font-variant-numeric:tabular-nums}.log-more{margin-top:6px;width:100%;font-size:12px}:root{--t-instant: 60ms;--t-tick: .1s;--t-quick: .12s;--t-move: .18s;--t-beat: .2s;--t-turn: .6s;--e-out: cubic-bezier(.22, .61, .36, 1);--e-in: cubic-bezier(.55, .06, .68, .19);--e-spring: cubic-bezier(.34, 1.4, .64, 1);--e-linear: linear}.card{transition:transform var(--t-quick) var(--e-out),border-color var(--t-quick) var(--e-out),opacity var(--t-quick) var(--e-out)}.card-clickable:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 24px #00000073;z-index:3}.card-clickable:active{transform:translateY(-1px) scale(.99);transition-duration:var(--t-instant)}.card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transform:translateY(-4px)}.card-cursor{outline:2px dashed var(--accent-2);outline-offset:2px}.card-hint{position:absolute;top:4px;right:4px;min-width:16px;padding:0 4px;border-radius:4px;background:#00000073;color:var(--ink-dim);font-size:10px;font-weight:800;text-align:center;opacity:.35;transition:opacity var(--t-quick) var(--e-out)}.hand:hover .card-hint,.hand:focus-within .card-hint,.card-cursor .card-hint{opacity:1;color:var(--accent-2)}.card-cue{animation-duration:var(--t-beat);animation-timing-function:var(--e-out);animation-fill-mode:both}.card-cue-enter{animation-name:cue-enter}.card-cue-summon{animation-name:cue-summon}.card-cue-coin{animation-name:cue-coin}.card-cue-trash{animation-name:cue-trash}.card-cue-explode{animation-name:cue-explode}.card-cue-shuffle{animation-name:cue-shuffle}@keyframes cue-enter{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes cue-summon{0%{opacity:0;transform:translateY(24px) scale(.86);filter:brightness(1.6)}60%{opacity:1;transform:translateY(-4px) scale(1.03)}to{transform:none;filter:none}}@keyframes cue-coin{0%{opacity:0;transform:rotateY(90deg) scale(.9);filter:brightness(1.8) saturate(1.4)}70%{opacity:1;transform:rotateY(-8deg) scale(1.02)}to{transform:none;filter:none}}@keyframes cue-trash{0%{opacity:0;transform:translateY(-14px) rotate(-6deg) scale(1.04);filter:grayscale(.8)}to{opacity:1;transform:none;filter:none}}@keyframes cue-explode{0%{opacity:0;transform:scale(1.35);filter:brightness(2.2)}45%{opacity:1;transform:scale(.97)}to{transform:none;filter:none}}@keyframes cue-shuffle{0%{opacity:0;transform:translate(-18px) rotate(-5deg)}50%{opacity:1;transform:translate(6px) rotate(2deg)}to{transform:none}}.hand-slot-cursor{z-index:2}.hand-slot-cursor>.card{transform:translateY(-6px)}.hand-hint kbd{display:inline-block;min-width:15px;padding:0 4px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;background:var(--panel-2);font:inherit;font-size:11px;text-align:center}.hand-slot-dragging .card{opacity:.35;transform:scale(.96)}.hand-nudge{opacity:0;transition:opacity var(--t-quick) var(--e-out)}.hand-slot:hover .hand-nudge,.hand-slot:focus-within .hand-nudge{opacity:1}.pile{transition:opacity var(--t-quick) var(--e-out),filter var(--t-quick) var(--e-out)}.pile-empty{opacity:.45;filter:saturate(.3)}.stat-value{display:inline-block;transition:color var(--t-tick) var(--e-out)}.stat-delta{position:absolute;top:-2px;right:2px;font-size:11px;font-weight:800;pointer-events:none;animation:delta-float var(--t-turn) var(--e-out) both}.stat-delta-up{color:var(--accent)}.stat-delta-down{color:var(--danger)}@keyframes delta-float{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(-16px)}}.turn-timer{transition:color var(--t-quick) var(--e-out)}.turn-timer-low{animation:timer-pulse 1s var(--e-linear) infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.45}}.turn-banner{position:fixed;left:50%;top:34%;translate:-50% 0;pointer-events:none;z-index:40;opacity:0}.turn-banner-inner{padding:12px 30px;border-radius:999px;background:#191d26f0;border:1px solid var(--line);font-size:20px;font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 14px 40px #00000073}.turn-banner-yours .turn-banner-inner{border-color:var(--accent);color:var(--accent)}.turn-banner-turn{font-size:13px;font-weight:500;color:var(--ink-dim);letter-spacing:0}.prompt-overlay{animation:overlay-in var(--t-quick) var(--e-out) both}@keyframes overlay-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1}}.prompt-card{animation:prompt-rise var(--t-quick) var(--e-out) both}@keyframes prompt-rise{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.prompt-option{position:relative;animation:option-in var(--t-quick) var(--e-out) both;animation-delay:min(calc(var(--i, 0) * 20ms),.1s);transition:transform var(--t-quick) var(--e-out),border-color var(--t-quick) var(--e-out)}.prompt-option:hover{transform:translateY(-3px)}.prompt-option-selected{transform:translateY(-4px) scale(1.02)}@keyframes option-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.log-entry{animation:log-in var(--t-quick) var(--e-out) both}@keyframes log-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}button{transition:background var(--t-tick) var(--e-out),border-color var(--t-tick) var(--e-out),transform var(--t-instant) var(--e-out),opacity var(--t-tick) var(--e-out)}button:active:not(:disabled){transform:translateY(1px)}.table-pending .table-main{cursor:progress}.card-committed{opacity:.5;transform:scale(.97);pointer-events:none}.intent-bar{position:fixed;top:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform-origin:left;animation:intent-sweep 1.1s var(--e-linear) infinite;z-index:60}@keyframes intent-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.key-help{animation:prompt-rise var(--t-quick) var(--e-out) both}.motion-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:45;overflow:hidden;contain:strict}.motion-ghost{box-sizing:border-box;pointer-events:none}.motion-ghost .card,.motion-ghost.card{width:100%;height:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.card-clickable:hover{transform:none}.turn-banner-inner{animation:none;opacity:1}}.card.card-linked,.seat-card.card-linked,.dock-discard-top.card-linked{outline:2px solid var(--prophet);outline-offset:-2px;box-shadow:0 0 0 2px #79c0f059,0 0 18px #79c0f08c}.card-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:11.5px;color:var(--ink-dim)}.card-link-name{padding:0 7px;border-radius:999px;border:1px solid rgb(121 192 240 / 60%);color:var(--prophet);font-weight:700}.card-link-button{font:inherit;background:transparent;cursor:pointer}.card-preview-sheet .card-link-button{min-height:44px;padding:0 14px}.seat-score-label{display:none}.card-preview-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:#080a0ec2;overscroll-behavior:contain;animation:overlay-in var(--t-quick, .12s) var(--e-out, ease-out) both}.card-preview-sheet-body{width:min(340px,100%);max-height:100%;overflow:auto;display:flex;flex-direction:column;gap:10px}.card-preview-sheet .card{width:100%;padding:12px;gap:6px;background:#1d2331;border-color:#46506a}.card-preview-sheet .card-name,.card-preview-sheet .card-cost{font-size:17px}.card-preview-sheet .card-art{height:150px}.card-preview-sheet .card-typeline{font-size:12.5px}.card-preview-sheet .card-stats{font-size:14px}.card-preview-sheet .card-text{font-size:14px;line-height:1.45;max-height:none;overflow:visible}.card-preview-sheet .keyword-chip,.card-preview-sheet .counter-chip,.card-preview-sheet .card-prophet,.card-preview-sheet .card-links{font-size:12.5px}.card-preview-close{min-height:48px;font-size:15px;font-weight:800}.tap-tip{position:fixed;z-index:80;max-width:240px;width:max-content;padding:7px 11px;border-radius:8px;background:#0c0e12f5;border:1px solid var(--accent-2);color:var(--ink);font-size:13px;line-height:1.35;text-align:center;pointer-events:none;box-shadow:0 10px 28px #0000008c;transform:translate(-50%);animation:overlay-in var(--t-quick, .12s) var(--e-out, ease-out) both}.tap-tip.tap-tip-above{transform:translate(-50%,-100%)}@media (hover: none){.card,.seat-card{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.hand-row .card{-webkit-user-drag:none}button,.card,.seat-card,[role=button]{touch-action:manipulation}.hand-slot .hand-nudge{opacity:1}.card-clickable:hover,.hand-row .card-clickable:hover,.dock .hand-row .card-clickable:hover,.prompt-option:hover{transform:none}.hand-row .card-clickable:after{content:none}}@media (hover: none) and (pointer: coarse){.card-hint,.prompt-option-key,.cluster-actions kbd{display:none}}@media (max-width: 700px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button{min-height:44px}input:not([type=checkbox]):not([type=radio]),select{min-height:44px;font-size:16px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.start{margin:16px 12px;padding:20px 16px}.start-title{font-size:30px}.start-field{flex-wrap:wrap;min-height:44px}.start-field>span{width:96px}.start-field>input:not([type=checkbox]){flex:1 1 160px;min-width:0}.start-hint{margin:0 0 6px;max-width:none;font-size:13px}.start-actions{flex-wrap:wrap}.start-actions>button{flex:1 1 140px}.start-join input{flex:1 1 auto;width:auto;min-width:0}.start-note,.start-resume{font-size:13px}.connecting,.fatal{margin:18vh 16px}.lobby{padding:16px 12px 32px}.lobby-card{padding:20px 16px 18px}.lobby-head{flex-wrap:wrap;gap:10px}.lobby-code{font-size:34px;letter-spacing:.16em}.lobby-copy{margin-top:0}.lobby-sub{font-size:14px}.lobby-roster-head{flex-wrap:wrap;row-gap:8px}.lobby-cap{min-width:44px;font-size:14px}.lobby-seat{flex-wrap:wrap;column-gap:10px;row-gap:4px}.lobby-name{flex:1 1 8ch;min-width:0}.lobby-pill{font-size:11px}.lobby-start{flex:1 1 100%}.lobby-foot-note{flex:1 1 0;max-width:none;font-size:13px}.lobby-tip,.lobby-knocking,.lobby-connecting{font-size:13px}.lobby-knocking{flex-wrap:wrap}.lobby-waiting,.lobby-shut-text{font-size:14px}.table{padding-bottom:env(safe-area-inset-bottom)}.table:has(.game-over) .board-region{order:2}.game-over{font-size:14px}.turn-banner-inner{max-width:calc(100vw - 32px);white-space:normal;text-align:center;font-size:18px;padding:10px 20px}.topbar{gap:6px 8px;padding:6px 12px}.seat-switch{flex-wrap:wrap}.turn-label,.round-value,.turn-timer,.hard-end,.anomaly-text{font-size:13px}.anomaly-more{font-size:12px}.help-btn{min-width:44px}.prompt-waiting{white-space:normal;flex-wrap:wrap;border-radius:14px;padding:4px 6px 4px 10px}.prompt-pass-btn{font-size:13px}.opponents{padding:8px 12px}.opponents-row{flex-direction:column;overflow:visible;gap:6px}.opponent.seat.seat-strip{flex:0 0 auto;width:100%;min-width:0;max-width:none;min-height:52px;padding:6px 10px}.opponent.seat.seat-strip .seat-name{font-size:14px}.seat-strip .seat-line1{flex-wrap:wrap;row-gap:0}.seat-strip .seat-last{font-size:13px}.opponent.seat.seat-strip .seat-score,.seat-strip .seat-counts{font-size:12px}.seat-score-item b{font-size:14px}.seat-score-label{display:inline}.opponent.seat .opponent-turn.seat-badge,.opponent.seat .seat-turn-self.seat-badge,.seat-badge.seat-badge-out,.seat-badge-deciding,.seat-badge-won,.seat-badge-you{font-size:11px;white-space:nowrap}.seat-detail{gap:10px 14px}.seat-detail .seat-tableau{flex:1 1 100%}.seat-detail .seat-beats,.seat-beat,.seat-detail-empty{font-size:13px}.seat-card,.seat-stack-discard .seat-card{width:76px}.seat-card-art{height:52px}.seat-card-name{font-size:11px;height:26px}.seat-stack-discard .seat-card-name{height:13px}.seat-tableau-head,.seat-stack-label,.seat-fan-more,.opponent.seat .seat-aura{font-size:11px}.seat-stack-label b,.card-name{font-size:13px}.card-typeline,.keyword-chip,.counter-chip,.card-badge,.card-art-name{font-size:11px}.card-stats,.card-text,.card-prophet,.aura-chip,.aura-text{font-size:12px}.aura-tier{font-size:11px}.dock{gap:8px;padding:8px 12px 12px}.dock-strip{flex-wrap:wrap;white-space:normal;overflow:visible;row-gap:6px;min-height:36px}.strip-label,.dock-strip .hand-status{font-size:12px}.field.field-strip{order:1;flex:1 1 100%;flex-wrap:wrap}.field-strip .aura-chip,.field-strip .aura-activate{font-size:13px}.strip-cards{order:2;flex:1 1 100%;flex-wrap:wrap;overflow:visible}.strip-cards:empty{display:none}.card.card-chip{max-width:100%;height:36px}.card-chip .card-art{flex-basis:32px;width:32px;height:32px}.dock-strip>[class*=bar]{flex:1 1 100%;flex-wrap:wrap;min-width:0;row-gap:6px}.prompt-bar .prompt-title{flex:1 1 100%;min-width:0;max-width:none;white-space:normal;overflow:visible;font-size:15px}.prompt-bar .prompt-meta{flex:1 1 100%;font-size:13px}.prompt-bar .prompt-options{flex:1 1 100%;flex-wrap:wrap;overflow:visible;gap:6px}.prompt-bar .prompt-option{padding:4px 12px;font-size:14px}.prompt-bar .prompt-actions{flex:1 1 100%}.prompt-bar .prompt-actions button{flex:1 1 0;padding:6px 12px}.prompt-option-slot{font-size:12px}.dock .hand-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:6px 0 2px;min-height:0;overflow:visible}.dock .hand-row>.hand-slot{min-width:0}.dock .hand-row>.hand-slot>.card{flex:1 1 auto;width:auto;min-width:0}.dock .hand-row .hand-empty{grid-column:1 / -1;font-size:13px}.card-dock{height:auto;min-height:168px;padding:6px;gap:4px}.card-dock .card-head{align-items:flex-start}.card-dock .card-cost{font-size:13px}.card-dock .card-name{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-dock .card-art{height:58px}.card-dock .card-stats{font-size:12px;white-space:normal}.card-dock .card-text{font-size:12px;line-height:1.3;-webkit-line-clamp:4}.card-dock .card-footer{position:static;margin-top:auto}.hand-nudge .nudge{flex:1 1 0;padding:0;font-size:14px}.hand-nudge .hand-grip{align-self:center}.cluster{width:100%;gap:8px}.stat-label,.stat-minor .stat-label,.end-turn-sub{font-size:11px}.cluster-actions{flex-direction:row;gap:8px}.cluster-actions>button{flex:1 1 0;min-width:0}.play-money{height:auto;min-height:48px;font-size:14px}.cluster-actions>.end-turn{flex-grow:1.4;height:auto;min-height:48px;font-size:16px}.dock-deck,.dock-discard{min-height:44px;padding:4px 10px;gap:8px}.dock-pile-label{font-size:13px}.board-region{padding:10px 12px 16px}.board{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.shop{padding:6px 8px 10px}.shop-title{font-size:12px}.shop-piles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.shop-none{grid-column:1 / -1;font-size:13px}.pile{width:auto;min-width:0;gap:4px}.card-mini .card-art{height:72px}.card-mini .card-name{font-size:12px}.pile-cost-chip{padding:0 7px;font-size:13px}.pile-count-badge{font-size:12px}.pile-buy{height:auto;font-size:14px}.pile-lock,.pile-empty-label{font-size:12px}.pile-empty-id{font-size:11px}.pile-slot-empty{height:112px}.prompt-panel-host{overflow:visible;padding:8px 12px}.prompt-panel{width:100%}.prompt-card,.key-help{width:100%;max-width:none;margin-top:0;padding:14px 12px}.prompt-title{font-size:17px}.prompt-meta,.anomaly-panel-note,.key-help-list{font-size:13px}.prompt-card .prompt-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.prompt-card .prompt-option{min-width:0}.prompt-option-card .card{width:100%}.prompt-panel .prompt-option-key{top:-6px;right:-4px}.prompt-card .prompt-actions:empty{display:none}.prompt-card .prompt-actions{flex-wrap:wrap;margin:0 -12px -14px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.prompt-card .prompt-actions button,.key-help .prompt-actions button{flex:1 1 0}.key-help-list{grid-template-columns:auto minmax(0,1fr)}.drawer{padding:12px}.log-list,.library-count,.drawer-empty,.field-count{font-size:13px}.log-more{font-size:14px}}
