:root{--bg:#0b0f1a;--bg2:#121829;--panel:#161e33;--line:#27314d;--text:#e6e9f2;--muted:#8b93ab;--accent:#7c5cff;--accent2:#22d3ee;--good:#22c55e;--warn:#f59e0b;--bad:#ef4444;--t-infrastructure:#3b82f6;--t-lab:#14b8a6;--t-research:#6366f1;--t-takeoff:#f97316;--t-experiment:#d946ef;--t-security:#22c55e;--t-policy:#eab308;--t-sabotage:#ef4444;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 20% -10%, #1b1640 0%, transparent 60%), var(--bg);color:var(--text);min-height:100vh;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,select,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}h1,h2,h3{line-height:1.2}.muted{color:var(--muted)}.center{min-height:100vh;color:var(--muted);place-items:center;display:grid}button.primary{background:linear-gradient(135deg, var(--accent), #5b3df5);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:600}button.primary.big{margin:24px 0 48px;padding:14px 28px;font-size:1.1rem}button.ghost{border:1px solid var(--line);background:0 0;border-radius:10px;padding:8px 14px}button.link{color:var(--accent2);text-align:left;background:0 0;border:0;padding:4px 0}select,input[type=search]{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.topnav{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#0b0f1ae6;align-items:center;gap:6px;padding:10px 16px;display:flex;position:sticky;top:0}.topnav .logo{letter-spacing:.08em;background:linear-gradient(90deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:10px;font-weight:800}.topnav button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 12px}.topnav button.on{background:var(--panel);color:var(--text)}.topnav .source{color:var(--muted);margin-left:auto;font-size:.8rem}main{max-width:1200px;margin:0 auto;padding:16px}.hero h1{margin:16px 0 8px;font-size:clamp(1.6rem,4vw,2.6rem)}.hero p{color:var(--muted);max-width:720px}.decks{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.deck{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px;display:flex}.deck.chosen{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 30px -10px var(--accent)}.deck-pick{text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;padding:0;display:flex}.deck-route{text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-size:.75rem}.deck-name{font-size:1.05rem;font-weight:700}.deck-desc{color:var(--muted);font-size:.9rem}.options{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.options label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.options .hint{font-size:.8rem}.card{--tc:var(--t-research);text-align:left;background:linear-gradient(180deg, color-mix(in srgb, var(--tc) 22%, var(--panel)) 0%, var(--panel) 38%);border:1px solid color-mix(in srgb, var(--tc) 55%, var(--line));border-radius:var(--radius);flex-direction:column;flex:none;gap:6px;width:168px;min-height:236px;padding:8px;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.card.small{width:136px;min-height:180px;font-size:.85em}button.card.playable:hover{box-shadow:0 10px 28px -12px var(--tc);transform:translateY(-6px)}.card.playable{box-shadow:0 0 0 1px color-mix(in srgb, var(--tc) 70%, transparent)}.card.disabled{filter:saturate(.4)brightness(.8)}.card.selected{box-shadow:0 0 0 2px var(--accent2);transform:translateY(-8px)}.type-infrastructure{--tc:var(--t-infrastructure)}.type-lab{--tc:var(--t-lab)}.type-research{--tc:var(--t-research)}.type-takeoff{--tc:var(--t-takeoff)}.type-experiment{--tc:var(--t-experiment)}.type-security{--tc:var(--t-security)}.type-policy{--tc:var(--t-policy)}.type-sabotage{--tc:var(--t-sabotage)}.card-top{align-items:flex-start;gap:6px;display:flex}.card-cost{background:var(--bg);border:2px solid var(--tc);border-radius:50%;flex:0 0 26px;place-items:center;height:26px;font-weight:800;display:grid}.card-name{padding-top:3px;font-size:.95em;font-weight:700;line-height:1.15}.card-typeline{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:4px;font-size:.72em;display:flex}.gem{border-radius:2px;width:9px;height:9px;transform:rotate(45deg)}.gem-common{background:#9ca3af}.gem-rare{background:linear-gradient(45deg,#fbbf24,#f472b6);box-shadow:0 0 6px #fbbf24}.card-body{flex-direction:column;flex:1;gap:4px;font-size:.8em;display:flex}.card-body p{margin:0}.card-body .flavor{color:var(--muted);margin-top:auto;padding-top:4px;font-style:italic}.card-foot{color:var(--muted);justify-content:space-between;font-size:.65em;display:flex}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filters input{flex:200px}.deck-info{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:12px 16px}.deck-info h2{margin:0 0 6px}.deck-info p{color:var(--muted);margin:0}.grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));justify-items:center;gap:12px;display:grid}.grid-cell{position:relative}.grid-cell .count{background:var(--accent);border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700;position:absolute;top:-8px;right:-8px}.rules{max-width:820px}.rules table{border-collapse:collapse;width:100%;margin:8px 0 16px;font-size:.92rem}.rules th,.rules td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px}.rules th{background:var(--panel)}.rules code{background:var(--panel);border-radius:4px;padding:1px 5px}.board{grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:10px;max-width:1400px;min-height:100vh;margin:0 auto;padding:10px 16px 16px;display:grid}.board-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.timeline{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.timeline .label{color:var(--muted);font-size:.85rem}.timeline .cells{flex-wrap:wrap;gap:3px;display:flex}.timeline .cells span{background:var(--panel);border:1px solid var(--line);width:26px;height:22px;color:var(--muted);border-radius:5px;place-items:center;font-size:.75rem;display:grid}.timeline .cells span.past{color:#56607a;background:#1f2a44}.timeline .cells span.now{background:var(--accent);color:#fff;border-color:var(--accent)}.timeline .cells span:last-child{border-color:var(--bad);color:var(--bad)}.timeline .cells span:last-child.now{color:#fff;background:var(--bad)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.panel.active{border-color:var(--accent)}.panel.targetable{border-color:var(--accent2);box-shadow:0 0 0 2px var(--accent2);animation:1.2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent2) 30%, transparent)}}.panel-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pname{font-weight:700}.deckname{color:var(--muted);font-size:.8rem}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:.7rem}.badge.lead{background:color-mix(in srgb, var(--warn) 25%, transparent);color:var(--warn)}.meter{grid-template-columns:96px 1fr 48px;align-items:center;gap:8px;font-size:.8rem;display:grid}.meter-label{color:var(--muted)}.meter-track{background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.meter-fill{border-radius:99px;height:100%;transition:width .3s}.meter.cap .meter-fill{background:linear-gradient(90deg,#6366f1,#22d3ee)}.meter.bt .meter-fill{background:linear-gradient(90deg,#d946ef,#f472b6)}.meter-value{text-align:right;font-variant-numeric:tabular-nums}.stats{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.stats .warn{color:var(--warn)}.stats .rsi{color:var(--t-takeoff)}.perms{flex-wrap:wrap;gap:4px;display:flex}.perm{border:1px solid color-mix(in srgb, var(--tc) 60%, var(--line));background:color-mix(in srgb, var(--tc) 15%, transparent);border-radius:6px;padding:2px 7px;font-size:.72rem}.middle{min-height:0}.log{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);height:100%;min-height:140px;max-height:32vh;margin:0;padding:8px 12px;font-size:.85rem;list-style:none;overflow-y:auto}.log li{padding:1px 0}.log li.turnline{color:var(--accent2);margin-top:6px;font-weight:600}.me{flex-direction:column;gap:8px;min-width:0;display:flex}.middle,.opponents,.board-head{min-width:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.compute{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:1rem}.compute strong{color:var(--accent2);font-size:1.3rem}button.flip{background:color-mix(in srgb, var(--t-experiment) 25%, var(--panel));border:1px solid var(--t-experiment);border-radius:10px;padding:8px 14px}.flips{gap:4px;display:flex}.flips span{border-radius:50%;place-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:grid}.flips .heads{background:#a21caf}.flips .tails{background:#78350f}.hand{scroll-snap-type:x proximity;gap:10px;padding:12px 2px 6px;display:flex;overflow-x:auto}.hand>div{scroll-snap-align:start}.toast{border:1px solid var(--line);z-index:20;background:#1e293b;border-radius:10px;max-width:calc(100vw - 32px);padding:10px 16px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.overlay{z-index:30;background:#05070ebf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.result{background:var(--panel);border:1px solid var(--accent);border-radius:16px;width:100%;max-width:640px;padding:24px}.result h2{margin-top:0}.result .row{gap:10px;margin-top:16px;display:flex}.standings{border-collapse:collapse;width:100%;font-size:.9rem}.standings th,.standings td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}.standings tr.win td{color:var(--good);font-weight:600}@media (width<=640px){main{padding:12px 16px}.board{padding:8px 16px 16px}.card{width:150px;min-height:220px}.meter{grid-template-columns:84px 1fr 44px}.log{max-height:24vh}.topnav .source{display:none}.standings{font-size:.8rem}}.review-btn .n,.tabs .n{background:var(--bg);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:1.6em;margin-left:4px;padding:0 6px;font-size:.8em;display:inline-block}button.link.inline{font-size:inherit;padding:0}.review-overlay{place-items:stretch center;padding:16px}.review{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:12px;width:min(1100px,100%);min-width:0;max-height:calc(100vh - 32px);padding:16px 20px;display:flex}.review-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-head h2{margin:0}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px}.tabs button.on{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 20%, var(--bg2))}.review-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;display:flex}.review-summary>span:first-child{margin-right:6px}.review-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));justify-items:center;gap:14px 12px;margin:0;padding:4px 2px;list-style:none;display:grid;overflow-y:auto}.review-item{flex-direction:column;align-items:stretch;gap:6px;width:136px;display:flex}.review-meta{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:.75rem;display:flex}.review-meta .round{color:var(--accent2);font-variant-numeric:tabular-nums;font-weight:700}.review-meta .who{color:var(--text);font-weight:600}.review-meta .target{color:var(--t-sabotage)}@media (width<=640px){.review{padding:12px 14px}.review-list{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.builder{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.builder .pool{order:1;min-width:0}.deck-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;order:2;gap:10px;min-width:0;max-height:calc(100vh - 80px);padding:14px;display:flex;position:sticky;top:64px;overflow-y:auto}.deck-panel h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0;font-size:.8rem}.deck-panel-head{align-items:center;gap:8px;display:flex}.deck-name-input{background:var(--bg2);border:1px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:1.05rem;font-weight:700}.deck-count{font-variant-numeric:tabular-nums;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-weight:800}.deck-count.full{color:var(--good);border-color:var(--good)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.inline-label{color:var(--muted);font-size:.85rem}.note{color:var(--muted);margin:0;font-size:.85rem}.note.bad,.bad{color:var(--bad)}.note.good,.good{color:var(--good)}.curve{grid-template-columns:repeat(8,1fr);align-items:end;gap:4px;height:92px;padding-top:4px;display:grid}.curve-col{grid-template-rows:14px 1fr 16px;place-items:end center;height:100%;display:grid}.curve-bar{background:linear-gradient(180deg, var(--accent2), var(--accent));border-radius:4px 4px 0 0;align-self:end;width:70%;min-height:2px}.curve-n,.curve-x{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.mix{flex-wrap:wrap;gap:4px;display:flex}.chip{background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.72rem}.deck-list ul,.saved ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.deck-row{border-left:3px solid var(--tc);background:var(--bg2);border-radius:6px;grid-template-columns:22px minmax(0,1fr) auto 26px 26px;align-items:center;gap:6px;padding:3px 6px;font-size:.85rem;display:grid}.row-cost{text-align:center;font-variant-numeric:tabular-nums;font-weight:800}.row-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-n{color:var(--muted);font-variant-numeric:tabular-nums}button.step{border:1px solid var(--line);background:var(--panel);border-radius:6px;width:26px;height:24px;padding:0;line-height:1}.tester{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;display:flex}.test-results p{margin:0;font-size:.88rem}.test-results table{border-collapse:collapse;width:100%;font-size:.82rem}.test-results th,.test-results td{text-align:left;border-bottom:1px solid var(--line);padding:4px 6px}.test-results td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.progress{background:var(--bg2);border-radius:99px;height:6px;overflow:hidden}.progress>div{background:var(--accent2);height:100%;transition:width .2s}.saved{border-top:1px solid var(--line);padding-top:10px}.saved li{align-items:center;gap:8px;font-size:.88rem;display:flex}.saved li .row-name{flex:1;min-width:0}.builder .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@media (width<=900px){.builder{grid-template-columns:minmax(0,1fr)}.deck-panel{order:0;max-height:none;position:static}.deck-list{max-height:320px;overflow-y:auto}}.card-art-wrap{background:color-mix(in srgb, var(--tc) 9%, var(--bg));border:1px solid color-mix(in srgb, var(--tc) 25%, transparent);border-radius:8px;overflow:hidden}.card-art{width:100%;height:64px;display:block}.card-art :is(path,line,circle,rect,polygon){stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.card-art .fig :is(path,circle){stroke:var(--text)}.card-art .prop,.card-art .prop :is(path,line,circle,rect,polygon){stroke:var(--tc)}.card-art .ground{stroke:var(--line);stroke-width:1px}.card-art .card-fill{fill:color-mix(in srgb, var(--tc) 28%, var(--panel))}.card-art .fillc{fill:color-mix(in srgb, var(--tc) 55%, transparent);stroke:none}.card-art .accent,.card-art .prop .accent{stroke:var(--accent2)}.card-art .dash{stroke:var(--muted);stroke-dasharray:2 2.5;stroke-width:1.2px}.card-art .coinc,.card-art .prop .coinc{fill:#fbbf24;stroke:#b45309}.card-art .coin line{stroke:#b45309}.card-art .flame,.card-art .prop .flame{fill:#f97316;stroke:#fbbf24;stroke-width:1px}.card-art .boom{fill:#ef4444;stroke:#fbbf24}.card-art .led{fill:var(--accent2);stroke:none}.card.large .card-art .flame{transform-box:fill-box;transform-origin:50% 0;animation:.35s ease-in-out infinite alternate flicker}.card.large .card-art .coin{animation:1.2s ease-in-out infinite bob}.card.large .card-art .coin:nth-of-type(2n){animation-delay:-.6s}.card.large .card-art .fig{animation:2.4s ease-in-out infinite breathe}.card.large .card-art .led{animation:1.1s steps(2,end) infinite blink}.card.large .card-art .rocket{animation:1.6s ease-in-out infinite lift}.card.large .card-art .boom{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite pulse-boom}@keyframes flicker{0%{transform:scaleY(.8)}to{transform:scaleY(1.15)}}@keyframes bob{50%{transform:translateY(-4px)}}@keyframes breathe{50%{transform:translateY(-.8px)}}@keyframes blink{50%{opacity:.2}}@keyframes lift{50%{transform:translateY(-3px)}}@keyframes pulse-boom{50%{transform:scale(1.12)}}.card.large{gap:8px;width:min(320px,100vw - 48px);min-height:0;padding:12px;font-size:1.15rem}.card.large .card-body{font-size:.82em}.inspect-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05070ee0}.inspect{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;max-width:720px;display:flex}.inspect-card{perspective:1000px;animation:.55s cubic-bezier(.2,.8,.2,1) both inspect-in}.inspect-card .card{box-shadow:0 24px 60px -20px var(--tc), 0 0 0 1px color-mix(in srgb, var(--tc) 60%, transparent);position:relative;overflow:hidden}.inspect-card .card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff38 50%,#0000 65%);animation:.9s ease-out .35s both shine;position:absolute;inset:0;transform:translate(-120%)}.inspect-side{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;max-width:300px;padding:14px 16px;animation:.4s ease-out .2s both fade-up;display:flex}.inspect-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.85rem}@keyframes inspect-in{0%{opacity:0;transform:perspective(1000px)rotateY(-95deg)scale(.55)}60%{opacity:1;transform:perspective(1000px)rotateY(10deg)scale(1.04)}to{transform:perspective(1000px)rotateY(0)scale(1)}}@keyframes shine{to{transform:translate(120%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}}.grid-cell .quick-add{border:1px solid var(--accent);background:var(--accent);color:#fff;width:30px;height:30px;box-shadow:0 4px 12px -4px var(--accent);border-radius:50%;padding:0;font-size:1.1rem;font-weight:800;line-height:1;position:absolute;top:-8px;left:-8px}.grid-cell .quick-add:disabled{background:var(--panel);border-color:var(--line);color:var(--muted);box-shadow:none}button.perm{cursor:pointer;color:inherit;font:inherit;font-size:.72rem}button.perm:hover{background:color-mix(in srgb, var(--tc) 30%, transparent)}button.link.plain{color:inherit;text-align:left;padding:0}button.link.plain:hover{color:var(--accent2)}.review-item .card{cursor:zoom-in}@media (prefers-reduced-motion:reduce){.inspect-card,.inspect-side,.inspect-card .card:after,.card.large .card-art *{animation:none!important}button.card.playable:hover{transform:none}}.card-art .glyph{fill:var(--tc);stroke:none;text-anchor:middle;font:700 14px system-ui,sans-serif}.card-art .robot .led{fill:var(--accent2)}.type-humans{--tc:var(--t-lab)}.type-agents{--tc:#a78bfa}.type-trap{--tc:#f43f5e}.type-event{--tc:#38bdf8}.event-banner{text-align:left;border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--t-event,#38bdf8) 60%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, #38bdf8 18%, var(--panel)), var(--panel));grid-template-columns:auto 1fr;align-items:baseline;gap:2px 12px;width:100%;padding:10px 14px;display:grid}.event-banner .event-tag{text-transform:uppercase;letter-spacing:.08em;color:#7dd3fc;grid-column:1/-1;font-size:.72rem}.event-banner strong{font-size:1.02rem}.event-banner .event-rules{color:var(--muted);min-width:0;font-size:.88rem}.event-banner.flash{animation:.9s ease-out event-in}.event-banner.cancelled{opacity:.55;text-decoration:line-through}@keyframes event-in{0%{transform:translateY(-10px)scale(.98);box-shadow:0 0 #38bdf8cc}60%{box-shadow:0 0 0 10px #38bdf800}to{transform:none}}.spotlight{right:max(16px, env(safe-area-inset-right,0px));top:calc(76px + env(safe-area-inset-top,0px));z-index:25;background:var(--panel);border:1px solid var(--accent);pointer-events:none;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:10px 12px;animation:.35s cubic-bezier(.2,.8,.2,1) spot-in;display:flex;position:fixed;box-shadow:0 20px 50px -20px #000c}.spotlight p{margin:0;font-size:.85rem}.spotlight .at-you{color:var(--bad);font-weight:700}@keyframes spot-in{0%{opacity:0;transform:translate(30px)rotate(4deg)}}.card-back{border-radius:var(--radius);color:#f43f5e;background:repeating-linear-gradient(45deg,#2a1220,#2a1220 8px,#1d0e18 8px 16px);border:1px solid #f43f5e;place-items:center;width:136px;height:180px;font-size:3rem;font-weight:800;display:grid}.trap-banner{z-index:35;color:#fecdd3;text-align:center;pointer-events:none;background:#2a0f1a;border:2px solid #f43f5e;border-radius:16px;flex-direction:column;gap:6px;max-width:calc(100vw - 32px);padding:16px 22px;animation:.5s cubic-bezier(.3,1.6,.4,1) trap-snap;display:flex;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px -10px #f43f5e}.trap-title{letter-spacing:.08em;color:#fb7185;font-size:1.6rem;font-weight:900}@keyframes trap-snap{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}}.coin-anim{z-index:34;pointer-events:none;flex-direction:column;align-items:center;gap:6px;font-weight:800;display:flex;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%)}.coin-face{color:#78350f;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b 60%,#b45309);border:3px solid #b45309;border-radius:50%;place-items:center;width:72px;height:72px;font-size:1.8rem;animation:.8s cubic-bezier(.2,.7,.2,1) coin-spin;display:grid}.coin-anim.tails .coin-face{color:#fff7ed;background:radial-gradient(circle at 35% 30%,#fed7aa,#c2410c 60%,#7c2d12);border-color:#7c2d12}.coin-anim.heads span{color:#f0abfc}.coin-anim.tails span{color:var(--warn)}@keyframes coin-spin{0%{transform:translateY(40px)rotateY(0)}50%{transform:translateY(-40px)rotateY(900deg)}to{transform:translateY(0)rotateY(1440deg)}}.meter-row{position:relative}.delta{pointer-events:none;font-size:.85rem;font-weight:800;animation:1.4s ease-out forwards float-up;position:absolute;top:-6px;right:0}.stats .delta{margin-left:4px;position:relative;top:auto;right:auto}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}@keyframes float-up{0%{opacity:0;transform:translateY(6px)}15%{opacity:1}to{opacity:0;transform:translateY(-18px)}}.ignition{flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;display:flex}.ig-label{color:var(--muted);margin-right:2px}.pill{border:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px}.pill.ok{border-color:color-mix(in srgb, var(--t-takeoff) 70%, transparent);color:#fdba74;background:color-mix(in srgb, var(--t-takeoff) 15%, transparent)}.rsi-live{color:#fdba74;background:color-mix(in srgb, var(--t-takeoff) 18%, transparent);border:1px solid var(--t-takeoff);border-radius:8px;padding:4px 8px;font-size:.85rem;animation:1.6s ease-in-out infinite pulse-rsi}@keyframes pulse-rsi{50%{box-shadow:0 0 14px -2px var(--t-takeoff)}}.perm.facedown{color:#fda4af;border-style:dashed}.note.warn{color:var(--warn);margin:0;font-size:.8rem}.card-cost.cheaper{border-color:var(--good);color:var(--good)}.card-cost.pricier{border-color:var(--bad);color:var(--bad)}.log li.eventline{color:#7dd3fc}.log li.trapline{color:#fda4af;font-weight:600}.log li.igniteline{color:#fdba74;font-weight:700}.choose{background:var(--panel);border:1px solid var(--accent);border-radius:16px;flex-direction:column;gap:12px;width:min(560px,100%);padding:18px;display:flex}.choose h2{margin:0}.choose-options{gap:10px;display:grid}.choose-option{text-align:left;border:1px solid var(--line);background:var(--bg2);border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.choose-option:hover,.choose-option:focus-visible{border-color:var(--accent2)}.opt-n{text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);font-size:.72rem}.epilogue{border:1px solid var(--line);background:var(--bg2);border-radius:12px;margin:12px 0;padding:14px}.epilogue.aligned{border-color:var(--good)}.epilogue.uncertain{border-color:var(--warn)}.epilogue.misaligned{border-color:var(--bad)}.epilogue h3{margin:8px 0 4px}.epilogue p{color:var(--muted);margin:0 0 8px}.epilogue ul{margin:0;padding-left:18px;font-size:.88rem}.epilogue li.good{color:var(--good)}.epilogue li.bad{color:var(--bad)}.epilogue-head{align-items:center;gap:10px;display:flex}.epilogue-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.align-meter{background:linear-gradient(90deg, var(--bad), var(--warn), var(--good));opacity:.35;border-radius:99px;flex:1;height:10px;position:relative}.align-meter>div{border-right:3px solid var(--text);box-sizing:border-box;background:0 0;border-radius:99px;height:100%}.epilogue-head strong{font-variant-numeric:tabular-nums}.result{max-height:calc(100vh - 32px);overflow-y:auto}.table-wrap{overflow-x:auto}.concept{border-left:3px solid var(--accent2);padding:4px 0 4px 10px}.concept h3{text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);margin:0 0 4px;font-size:.75rem}.concept p{margin:0;font-size:.92rem;line-height:1.5}.deck.illegal{opacity:.7;border-style:dashed}.options label.check,.filters label.check{flex-direction:row;align-items:center;gap:8px}label.check{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.limit-badge{background:var(--warn);color:#1f1300;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;position:absolute;bottom:-8px;left:8px}.limit-badge.banned{background:var(--bad);color:#fff}.admin-head h1{margin:12px 0 4px}.admin-summary{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:16px;margin:16px 0;display:grid}.admin-summary>div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.admin-summary h2{margin:0;font-size:1rem}.admin-save input,.admin-save textarea{background:var(--bg2);border:1px solid var(--line);width:100%;font:inherit;color:inherit;border-radius:8px;padding:8px 10px}.admin-save label{color:var(--muted);font-size:.82rem}.admin-save details{flex-direction:column;gap:6px;display:flex}.limit-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.limit-chips li{border:1px solid var(--warn);border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:.82rem;display:flex}.limit-chips li.banned{border-color:var(--bad)}.limit-chips strong{font-size:.72rem}.admin-table{border-collapse:collapse;width:100%;font-size:.86rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}.admin-table td.num{font-variant-numeric:tabular-nums}.admin-table tr.limited td{background:color-mix(in srgb, var(--warn) 8%, transparent)}.admin-table tr.banned td{background:color-mix(in srgb, var(--bad) 10%, transparent)}.admin-table select{padding:4px 6px}button.bad,.ghost.bad{color:var(--bad);border-color:var(--bad)}.topnav .source button.link.inline{color:var(--muted)}.topnav .source button.link.inline.on{color:var(--text)}.about{flex-direction:column;gap:22px;max-width:760px;padding-bottom:40px;display:flex}.about .eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent2);margin:16px 0 0;font-size:.78rem}.about h1{text-wrap:balance;margin:6px 0 10px;font-size:clamp(1.6rem,4.5vw,2.4rem)}.about h2{text-wrap:balance;margin:0 0 8px}.about .lede{color:var(--text);margin:0;font-size:1.08rem;line-height:1.6}.about p,.about li{line-height:1.6}.about .learn{gap:12px;margin:0;display:grid}.about .learn div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.about dt{margin-bottom:4px;font-weight:700}.about dd{color:var(--muted);margin:0}@media (width<=700px){.admin-summary{grid-template-columns:minmax(0,1fr)}.spotlight{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.event-banner.flash,.rsi-live{animation:none!important}}.collection{flex-direction:column;gap:18px;padding-bottom:40px;display:flex}.collection-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.collection-head h1{margin:12px 0 4px}.collection-head p{max-width:720px;margin:0}.wallet{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 14px;font-size:.86rem;display:flex}.wallet code{color:var(--accent2);font-size:1rem}.counters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch;gap:12px;display:grid}.counter{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:4px;padding:14px;display:flex}.counter strong{font-variant-numeric:tabular-nums;font-size:1.8rem}.counter.rare{border-color:#fbbf24}.counter-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.bar{background:var(--bg2);border-radius:99px;height:8px;overflow:hidden}.bar>div{background:linear-gradient(90deg, var(--accent), var(--accent2));height:100%}.counter.rare .bar>div{background:linear-gradient(90deg,#fbbf24,#f472b6)}.bar.small{width:90px;height:6px}.open-pack{align-self:center;margin:0}.pack-reveal h2{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pack-cards{flex-wrap:wrap;gap:12px;display:flex}.pack-card{animation:.6s cubic-bezier(.2,.8,.2,1) both inspect-in}.explorer-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.explorer-head h2{margin:0}.blocks,.availability{border-collapse:collapse;width:100%;font-size:.86rem}.blocks th,.blocks td,.availability th,.availability td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 8px}.blocks td.num,.availability td.num{font-variant-numeric:tabular-nums}.owned-badge{background:var(--accent2);color:#062a33;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:700;position:absolute;bottom:-8px;right:8px}@media (width<=700px){.collection-head{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.pack-card{animation:none}}.collection>*,.collection section{min-width:0}.collection .table-wrap{max-width:100%;overflow-x:auto}.wallet code{overflow-wrap:anywhere}.topnav{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));flex-wrap:wrap;row-gap:2px}@media (width<=640px){.topnav button{padding:6px 8px}.topnav .source{margin-left:auto;font-size:.75rem;display:inline}}.stage{z-index:32;cursor:pointer;animation:stage-bg var(--dur,1.5s) ease-out both;background:radial-gradient(#05070e8c,#05070e26 70%);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.stage-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:min(560px,100%);display:flex}.stage-skip{bottom:calc(14px + env(safe-area-inset-bottom,0px));right:max(16px, env(safe-area-inset-right,0px));color:var(--muted);opacity:.7;font-size:.72rem;position:absolute}.stage-caption{text-shadow:0 2px 12px #000000e6;margin:0;font-size:1.05rem}.stage-caption .at-you{color:#fb7185}.stage-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--accent2);margin:0;font-size:.8rem}.stage-big{letter-spacing:.02em;text-shadow:0 4px 30px #000c;margin:0;font-size:clamp(2rem,7vw,3.6rem);font-weight:900;line-height:1.05}.stage-card .card{width:min(240px,70vw);box-shadow:0 30px 80px -20px var(--tc), 0 0 0 1px color-mix(in srgb, var(--tc) 70%, transparent)}.stage-card .card.small{width:170px}.card-back.big{width:200px;height:270px;font-size:4rem}.stage-changes{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stage-changes li{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.9rem;font-weight:600;animation:.35s ease-out both chip-in}.stage-changes li .who{color:var(--muted);font-weight:500}.stage-changes li.good{border-color:var(--good);color:#86efac}.stage-changes li.bad{border-color:var(--bad);color:#fca5a5}.stage-flips{gap:6px;display:flex}.mini-coin{border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;animation:.3s ease-out both chip-in;display:grid}.mini-coin.heads{color:#78350f;background:radial-gradient(circle at 35% 30%,#fde68a,#f59e0b)}.mini-coin.tails{color:#fff7ed;background:radial-gradient(circle at 35% 30%,#fed7aa,#c2410c)}.coin-face.big{width:110px;height:110px;font-size:2.6rem}.stage-flip.heads .stage-caption{color:#f0abfc}.stage-flip.tails .stage-caption{color:var(--warn)}.stage-turn.yours .stage-big{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text}.stage-turn.theirs .stage-big{color:#e2e8f0}.stage-trap .trap-title{color:#fb7185}.stage-ignite .stage-big{color:#fdba74}.stage-ignite{background:radial-gradient(#f9731659,#05070e4d 70%)}.stage-catastrophe{background:radial-gradient(#ef444466,#05070e4d 70%)}.stage-catastrophe .stage-big{color:#fca5a5}.rocket-big{font-size:4.5rem}.stage-small,.stage-sweep{background:0 0}.sweep-band{text-align:center;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent) 20%, color-mix(in srgb, var(--accent2) 45%, transparent) 80%, transparent);border-block:1px solid color-mix(in srgb, var(--accent2) 50%, transparent);width:100vw;padding:18px 16px;font-size:clamp(1.3rem,4vw,2rem);font-weight:800}.panel.hit{border-color:var(--bad);animation:.55s ease-out panel-hit}.panel.glow{box-shadow:0 0 0 1px var(--good), 0 0 24px -6px var(--good)}.panel.acting{border-color:var(--accent2);box-shadow:0 0 0 2px var(--accent2), 0 0 30px -8px var(--accent2)}.hand-backs{align-items:center;gap:0;height:26px;padding-left:4px;display:flex}.mini-back{border:1px solid var(--accent);background:repeating-linear-gradient(45deg,#241b4a,#241b4a 3px,#1a1436 3px 6px);border-radius:3px;width:16px;height:24px;margin-left:-6px;box-shadow:0 2px 4px #00000080}.hand-backs .mini-back:first-child{margin-left:0}.panel.acting .hand-backs .mini-back:last-child{animation:.7s ease-out back-lift}.fx-controls{flex-wrap:wrap;gap:6px;display:flex}button.small{padding:5px 10px;font-size:.8rem}.fx-full .stage-play.from-them .stage-card{animation:fly-in-top .7s cubic-bezier(.2, .9, .25, 1.15) both, hold-exit var(--dur,2s) ease-in both}.fx-full .stage-play.from-me .stage-card{animation:fly-in-bottom .55s cubic-bezier(.2, .9, .25, 1.15) both, hold-exit var(--dur,1s) ease-in both}.fx-full .stage-play .stage-caption{animation:.4s ease-out .15s both fade-up}.fx-full .stage-event .stage-card{animation:flip-in-y .9s cubic-bezier(.2, .8, .2, 1) both, hold-exit var(--dur,2.6s) ease-in both}.fx-full .stage-trap .stage-inner{animation:trap-snap2 .5s cubic-bezier(.3, 1.6, .4, 1) both, hold-exit var(--dur,2s) ease-in both}.fx-full .stage-flip .coin-face{animation:.7s cubic-bezier(.2,.7,.2,1) both coin-spin}.fx-full .stage-turn .stage-inner{animation:turn-in .5s cubic-bezier(.2, .9, .25, 1.1) both, hold-exit var(--dur,1.2s) ease-in both}.fx-full .stage-sweep .sweep-band{animation:sweep var(--dur,.9s) cubic-bezier(.6, 0, .4, 1) both}.fx-full .stage-ignite .rocket-big{animation:launch var(--dur,2.2s) cubic-bezier(.5, 0, .6, 1) both}.fx-full .stage-ignite .stage-big{animation:.5s ease-out .2s both turn-in}.fx-full.quake{animation:.6s ease-in-out 2 quake}.fx-calm .stage-inner{animation:calm-fade var(--dur,1.5s) ease both}.fx-calm .panel.hit,.fx-calm .stage-changes li,.fx-calm .mini-coin{animation:none}@keyframes stage-bg{0%{opacity:0}12%{opacity:1}88%{opacity:1}to{opacity:0}}@keyframes hold-exit{0%,85%{opacity:1}to{opacity:0;transform:scale(.92)translateY(10px)}}@keyframes fly-in-top{0%{opacity:0;transform:translateY(-55vh)scale(.35)rotate(-10deg)}}@keyframes fly-in-bottom{0%{opacity:0;transform:translateY(45vh)scale(.45)rotate(6deg)}}@keyframes flip-in-y{0%{opacity:0;transform:perspective(900px)rotateY(-120deg)scale(.6)}}@keyframes trap-snap2{0%{opacity:0;transform:scale(.3)}}@keyframes turn-in{0%{opacity:0;letter-spacing:.3em;transform:scale(1.4)}}@keyframes sweep{0%{opacity:0;transform:translate(-100%)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes launch{0%{transform:translateY(30vh)scale(.6)}40%{transform:translateY(0)scale(1.1)}to{opacity:.2;transform:translateY(-60vh)scale(.7)}}@keyframes quake{0%,to{transform:none}20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,-1px)}80%{transform:translate(3px,2px)}}@keyframes deal-in{0%{opacity:0;transform:translateY(-120px)rotate(-12deg)scale(.6)}}@keyframes panel-hit{0%,to{transform:none}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes back-lift{0%{transform:none}50%{opacity:.4;transform:translateY(-14px)rotate(8deg)}to{opacity:0}}@keyframes chip-in{0%{opacity:0;transform:translateY(8px)scale(.9)}}@keyframes calm-fade{0%{opacity:0}10%,90%{opacity:1}to{opacity:0}}.collection .tabs{flex-wrap:wrap;gap:6px;display:flex}.wallet{gap:6px;min-width:0;max-width:360px}.wallet select{max-width:100%}.wallet .credits{color:#fde68a;font-size:1.15rem}.shop{flex-direction:column;gap:16px;display:flex}.shop-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.shop-item{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.shop-item h2{margin:0;font-size:1.1rem}.shop-item p{margin:0}.shop-item.claim{border-color:#fbbf24;flex-flow:wrap;justify-content:space-between;align-items:center}.shop-item .big{margin:6px 0 0}.product{color:#fff;border-radius:12px;place-items:center;height:110px;font-size:2.4rem;font-weight:900;display:grid;position:relative;overflow:hidden}.product span:after{content:" cards";opacity:.8;font-size:.9rem;font-weight:600}.pack-art{background:linear-gradient(135deg,#7c5cff,#22d3ee)}.deck-art{background:linear-gradient(135deg,#f97316,#f43f5e)}.product:before{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff40 50%,#0000 65%);animation:3s ease-in-out 1s infinite shine;position:absolute;inset:0;transform:translate(-120%)}.pack-card.is-rare .card{box-shadow:0 0 0 2px #fbbf24,0 0 26px -4px #fbbf24}.send-box,.offer-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;margin-bottom:14px;padding:14px;display:flex}.send-box h2,.offer-box h2{margin:0;font-size:1.05rem}.send-box p,.offer-box p{margin:0}.addr-input{background:var(--bg2);border:1px solid var(--line);border-radius:8px;flex:260px;min-width:0;padding:8px 10px;font-family:ui-monospace,monospace}.num-input{background:var(--bg2);border:1px solid var(--line);border-radius:8px;width:90px;padding:6px 8px}.grid-cell .pick{background:var(--bg2);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:2px 6px;display:flex;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.collection .grid{row-gap:26px}.offer-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.offer-grid fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.offer-grid legend{color:var(--accent2);padding:0 6px;font-weight:700}.offers{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.offers li{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.offers li>div{flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.offers li.own{border-style:dashed}.supply{flex-direction:column;gap:14px;display:flex}.math{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.math h2{margin:0 0 6px;font-size:1.05rem}.math ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;line-height:1.5;display:flex}.ledger-admin{margin-top:0}.card{--w:168px;width:var(--w);height:calc(var(--w) * 88 / 63);min-height:0;overflow:hidden}.card.small{--w:136px;width:var(--w);min-height:0}.card.large{--w:min(320px, calc(100vw - 48px));width:var(--w);min-height:0}.card-top,.card-typeline,.card-art-wrap,.card-foot{flex-shrink:0}.card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-body{min-height:0;overflow:hidden}.card.d-dense .card-body{gap:2px;font-size:.72em}.card.d-tight .card-body{gap:1px;font-size:.64em;line-height:1.25}.card.small.d-tight .card-art{height:38px}.card.large.d-dense .card-body,.card.large.d-tight .card-body{font-size:.74em}.stage-card .card{--w:min(240px, 60vw);width:var(--w)}.stage-card .card.small{--w:170px}@media (width<=640px){.card{--w:150px;min-height:0}.card.small{--w:128px}}.hand.fan{min-height:calc(var(--hand-h,235px) + 64px);scroll-snap-type:none;justify-content:center;align-items:flex-end;padding:48px 0 12px;display:flex;overflow:visible}.hand.fan>.hand-slot{margin-left:var(--ml);z-index:var(--z);transform:rotate(var(--rot));transform-origin:50% 230%;flex:none;transition:transform .18s,margin-left .25s;position:relative}.hand.fan>.hand-slot:hover,.hand.fan>.hand-slot:focus-within{z-index:60;transform:translateY(-38px)rotate(0)scale(1.08)}.hand.fan>.hand-slot.is-selected{z-index:55;transform:translateY(-30px)rotate(0)}.hand.fan .card{box-shadow:-6px 6px 18px -8px #000000d9}.hand.fan .card.playable{box-shadow:-6px 6px 18px -8px #000000d9, 0 0 0 1px color-mix(in srgb, var(--tc) 80%, transparent), 0 0 18px -6px var(--tc)}.hand.fan button.card.playable:hover{transform:none}.fx-full .hand>div.dealt{animation:none}.fx-full .hand.fan>.hand-slot.dealt>.card{animation:.55s cubic-bezier(.2,.9,.25,1.1) both deal-in;animation-delay:var(--deal-delay,0s)}.fx-calm .hand.fan>.hand-slot{transition:none}.card{gap:4px;padding:7px}.card-typeline>span:first-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.card-typeline{gap:6px;padding-bottom:3px;font-size:.64em}.card .card-art{height:54px}.card.small .card-art{height:40px}.card.large .card-art{height:150px}.card.d-dense .card-art{height:46px}.card.d-tight .card-art{height:38px}.card.small.d-dense .card-art,.card.small.d-tight .card-art{height:32px}.card.large.d-dense .card-art{height:130px}.card.large.d-tight .card-art{height:110px}.card.d-dense .card-body,.card.d-tight .card-body{gap:2px;font-size:.8em}.card-body{line-height:1.3}.card-body .flavor{padding-top:2px}.card-foot{font-size:.6em}.card.squeeze .card-art{height:26px}.card.large.squeeze .card-art{height:80px}.hand.fan{overflow-x:clip}.hand.fan>.hand-slot{transform-origin:50% 200%}.hand.fan{gap:0}.sweep-band{white-space:normal;overflow-wrap:anywhere;font-size:clamp(.95rem,4.6vw,2rem)}.stage{overflow:hidden}.board{grid-template-rows:none;align-content:start;max-width:1500px}.table{background:radial-gradient(120% 90% at 50% 45%,#22d3ee12,#0000 60%),repeating-linear-gradient(135deg,#ffffff03 0 2px,#0000 2px 6px),linear-gradient(#0f2a2e,#0b1d24 55%,#0a1620);border:1px solid #1d3b44;border-radius:22px;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:14px;display:grid;position:relative;box-shadow:inset 0 0 0 6px #0a141b,inset 0 0 0 7px #24434c,inset 0 0 60px #0000008c,0 14px 40px -18px #000000e6}.opponents{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;display:grid}.mat{--seat:var(--accent2);background:linear-gradient(180deg, color-mix(in srgb, var(--seat) 9%, #111a2b), #0f1726);border:1px solid color-mix(in srgb, var(--seat) 35%, var(--line));border-top:3px solid var(--seat);border-radius:14px;gap:8px;min-width:0;padding:10px 12px;position:relative}.mat.active{border-color:var(--seat);box-shadow:0 0 0 1px var(--seat), 0 0 26px -6px var(--seat)}.fx-full .mat.active:after{content:"";border:2px solid var(--seat);opacity:.5;pointer-events:none;border-radius:16px;animation:1.8s ease-in-out infinite seat-pulse;position:absolute;inset:-3px}@keyframes seat-pulse{50%{opacity:0;transform:scale(1.012)}}.mat.targetable{cursor:pointer}.mat-head{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.avatar{background:color-mix(in srgb, var(--seat,var(--accent)) 30%, #0b1020);border:2px solid var(--seat,var(--accent));color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:.95rem;font-weight:800;display:grid}.mat-id{flex-direction:column;flex:120px;min-width:0;display:flex}.mat-id .pname,.mat-id .deckname{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mat-badges{flex-wrap:wrap;gap:6px;display:flex}.badge.turn{background:color-mix(in srgb, var(--seat,var(--accent)) 28%, transparent);color:#fff}.badge.target{background:color-mix(in srgb, var(--accent2) 30%, transparent);color:var(--accent2)}.mat .hand-backs{height:30px;margin-left:auto;padding-right:4px;position:relative}.mat .mini-back{transform-origin:50% 120%;border-color:color-mix(in srgb, var(--seat) 70%, transparent);width:18px;height:26px;margin-left:-9px}.hand-n{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:6px;font-size:.78rem}.mat-body{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.mat-stats{flex-direction:column;gap:5px;min-width:0;display:flex}.mat .meter{grid-template-columns:92px 1fr 44px}.mat .ignition{font-size:.68rem}.mat .pill{padding:1px 6px}.my-mat .mat-body{grid-template-columns:minmax(240px,340px) minmax(0,1fr);align-items:start}.my-mat .mat{border-top-width:3px}.in-play{background:#00000038;border-radius:10px;align-items:flex-end;gap:10px;min-width:0;padding:8px;display:flex;box-shadow:inset 0 1px 6px #00000080}.assets{flex-wrap:wrap;flex:1;align-items:flex-end;gap:6px;min-width:0;min-height:98px;display:flex}.assets-empty{color:#ffffff40;letter-spacing:.05em;align-self:center;margin:auto;font-size:.75rem}.mini-card{--mw:70px;--tc:var(--muted);width:var(--mw);height:calc(var(--mw) * 88 / 63);text-align:left;color:var(--text);background:linear-gradient(180deg, color-mix(in srgb, var(--tc) 22%, #182036), #121a2c 70%);border:1px solid color-mix(in srgb, var(--tc) 75%, transparent);border-radius:7px;flex-direction:column;flex:none;gap:2px;padding:4px;font-size:.6rem;line-height:1.15;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px -2px #000c,inset 0 0 0 1px #ffffff08}button.mini-card{cursor:pointer;transition:transform .15s,box-shadow .15s}button.mini-card:hover,button.mini-card:focus-visible{box-shadow:0 8px 16px -4px #000000e6, 0 0 0 1px var(--tc), 0 0 14px -4px var(--tc);z-index:3;transform:translateY(-4px)scale(1.06)}.mini-card.rarity-rare{border-color:#fbbf24;box-shadow:0 3px 8px -2px #000c,0 0 10px -3px #fbbf24}.mini-top{justify-content:space-between;align-items:center;gap:2px;display:flex}.mini-cost{background:var(--accent2);color:#04121a;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:.62rem;font-weight:800;display:grid}.mini-tag{text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb, var(--tc) 40%, transparent);border-radius:4px;padding:0 4px;font-size:.5rem}.mini-art{background:#00000040;border-radius:4px;flex:none;height:34px;display:block;overflow:hidden}.mini-art .card-art{width:100%;height:100%}.mini-name{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.mini-type{text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb, var(--tc) 80%, white);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:.5rem;overflow:hidden}.mini-card.back{background:repeating-linear-gradient(45deg,#2a1220 0 6px,#1d0e18 6px 12px);border-color:#f43f5e;place-items:center;display:grid}.mini-back-face{color:#f43f5e;text-shadow:0 0 12px #f43f5e99;font-size:1.6rem;font-weight:900}.fx-full .mini-card.fresh{animation:.7s cubic-bezier(.2,.9,.3,1.2) both deploy}@keyframes deploy{0%{opacity:0;box-shadow:0 0 0 2px var(--tc), 0 0 40px 6px var(--tc);transform:translateY(-40px)scale(1.5)rotate(-8deg)}60%{opacity:1}to{transform:none}}.used-pile{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:4px;padding:0;font-size:.68rem;display:flex}.used-stack{width:70px;height:98px;display:block;position:relative}.used-stack .mini-card{z-index:2;filter:saturate(.75)brightness(.9);position:relative;transform:rotate(-3deg)}.used-shadow{background:#1a2236;border:1px solid #2b3653;border-radius:7px;position:absolute;inset:0}.used-shadow.s1{transform:translate(3px,2px)rotate(4deg)}.used-shadow.s2{transform:translate(-3px,3px)rotate(-7deg)}.used-empty{border:1px dashed #ffffff26;border-radius:7px;position:absolute;inset:0}.used-pile:hover .used-stack .mini-card{filter:none;transform:rotate(0)translateY(-3px)}.used-label{white-space:nowrap}.table-center{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:stretch;gap:12px;min-width:0;display:grid}.pile-zone{background:radial-gradient(90% 120% at 50% 60%,#ffffff0d,#0000 70%);border:1px dashed #ffffff1f;border-radius:16px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px 14px;display:flex;position:relative}.zone-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.zone-title{text-transform:uppercase;letter-spacing:.14em;color:#ffffff8c;font-size:.72rem;font-weight:700}.pile{--pile-w:112px;min-height:calc(var(--pile-w) * 88 / 63 + 34px);justify-content:center;align-items:center;display:flex;position:relative}.pile.faded{opacity:.5;filter:saturate(.6)}.pile-empty{text-align:center;color:#ffffff4d;place-items:center;margin:0;padding:0 16px;font-size:.85rem;display:grid;position:absolute;inset:0}.pile-row{height:calc(var(--pile-w) * 88 / 63 + 26px);transition:width .3s;position:relative}.pile-card{width:var(--pile-w);transform:translateY(var(--dy)) rotate(var(--rot));transition:left .3s,transform .2s;position:absolute;top:22px}.pile-card:hover{transform:translateY(-10px)rotate(0)scale(1.06);z-index:50!important}.pile-card .mini-card{--mw:var(--pile-w);box-shadow:0 0 0 2px var(--seat), 0 10px 22px -8px #000000f2;gap:4px;padding:6px;font-size:.72rem}.pile-card .mini-art{height:52px}.pile-card .mini-cost{width:20px;height:20px;font-size:.75rem}.pile-card .mini-type{font-size:.56rem}.pile-card.newest .mini-card{box-shadow:0 0 0 2px var(--seat), 0 0 26px -2px var(--seat), 0 12px 24px -8px #000000f2}.ribbon{max-width:calc(var(--pile-w) + 30px);white-space:nowrap;text-overflow:ellipsis;background:var(--seat);color:#07101a;border-radius:999px;padding:1px 7px;font-size:.62rem;font-weight:700;position:absolute;top:-20px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 6px #00000080}.ribbon-at{opacity:.8;font-weight:600}.fx-full .pile-card.landed{animation:.75s cubic-bezier(.18,.9,.3,1.15) both land}@keyframes land{0%{transform:translate(var(--from-x), -120px) rotate(calc(var(--rot) * -4)) scale(1.6);opacity:0;filter:brightness(1.8)}55%{opacity:1;transform:translate(0, calc(var(--dy) + 6px)) rotate(var(--rot)) scale(.97);filter:brightness(1.25)}to{transform:translateY(var(--dy)) rotate(var(--rot));filter:none}}.fx-full .pile-card.landed:after{content:"";width:10px;height:10px;box-shadow:0 0 0 0 var(--seat);pointer-events:none;z-index:-1;border-radius:50%;animation:.9s ease-out .35s both ripple;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}@keyframes ripple{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--seat) 70%, transparent)}to{box-shadow:0 0 0 90px #0000}}.log-box{background:#060a128c;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;min-width:0;display:flex}.log-box>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.14em;color:#ffffff8c;padding:8px 12px;font-size:.72rem;font-weight:700}.log-box .log{background:0 0;border:0;border-radius:0 0 14px 14px;height:230px;min-height:0;max-height:230px;padding-top:0;font-size:.8rem}.me{margin-top:2px}.waiting-for{color:var(--muted);border:1px solid color-mix(in srgb, var(--seat) 50%, transparent);border-radius:999px;padding:4px 10px;font-size:.85rem}.fx-full .waiting-for{animation:1.6s ease-in-out infinite breathe-o}@keyframes breathe-o{50%{opacity:.55}}.room-badge{border:1px solid var(--accent2);color:var(--accent2);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.82rem}.net-notice{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:12px;padding:10px 14px}@media (width<=900px){.table-center{grid-template-columns:minmax(0,1fr)}.log-box .log{height:170px;max-height:170px}.my-mat .mat-body{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.table{border-radius:16px;gap:8px;padding:8px;box-shadow:inset 0 0 0 3px #0a141b,inset 0 0 40px #0000008c}.mat{padding:8px}.mini-card{--mw:58px;font-size:.52rem}.mini-art{height:26px}.assets{min-height:80px}.used-stack{width:58px;height:81px}.mat .meter{grid-template-columns:84px 1fr 40px}.pile-card .mini-card{font-size:.64rem}.pile-card .mini-art{height:40px}}.online-box{border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--accent2) 10%, var(--panel)), var(--panel));border:1px solid color-mix(in srgb, var(--accent2) 40%, var(--line));margin-top:28px;padding:16px 18px}.online-box h2{margin:0 0 4px}.online-box>p{margin:0 0 12px}.online-grid{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.online-grid label{color:var(--muted);flex-direction:column;flex:200px;gap:4px;font-size:.85rem;display:flex}.online-grid input[type=text]{background:var(--bg2);border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px}.online-act{align-items:center;gap:8px;display:flex}.online-act.join{flex:240px}.code-input{letter-spacing:.3em;text-transform:uppercase;flex:1;min-width:0;font-family:ui-monospace,monospace;font-weight:700}.room-title{color:var(--muted)}.lobby{flex-direction:column;gap:18px;max-width:760px;margin:0 auto;display:flex}.room-card{text-align:center;background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--accent2) 16%, transparent), transparent 70%), var(--panel);border:1px solid color-mix(in srgb, var(--accent2) 45%, var(--line));border-radius:18px;padding:22px 18px}.room-kicker{color:var(--accent2);text-transform:uppercase;letter-spacing:.14em;margin:0 0 8px;font-size:.78rem;font-weight:700}.room-code{justify-content:center;gap:8px;margin:6px 0 12px;display:flex}.room-code span{background:var(--bg2);border:1px solid var(--line);border-radius:10px;place-items:center;width:clamp(36px,11vw,58px);height:clamp(48px,14vw,72px);font:800 clamp(1.4rem,7vw,2.4rem) ui-monospace,monospace;display:grid;box-shadow:inset 0 -3px #0006}.room-help{color:var(--muted);max-width:520px;margin:0 auto 10px}.center-row{justify-content:center}.room-status{color:var(--muted);margin:10px 0 0;font-size:.85rem}.room-status.ok{color:var(--good)}.room-status.warn{color:var(--warn)}.seats h2{margin:0 0 8px;font-size:1.05rem}.seat-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.seat{--seat:var(--line);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--seat);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.seat.you{box-shadow:0 0 0 1px var(--seat)}.seat.empty{background:0 0;border-style:dashed;border-left-width:1px}.seat.empty .avatar{--seat:var(--line);color:var(--muted)}.seat-name{flex-direction:column;min-width:0;display:flex}.seat-name strong,.seat-name .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.seat-name .muted{font-size:.8rem}.lobby-options{margin:0}.lobby .row{align-items:center}.gem-uncommon{background:linear-gradient(45deg,#93c5fd,#e0f2fe);box-shadow:0 0 5px #60a5fa}.counter.uncommon{border-color:#60a5fa}.counter.uncommon .bar>div{background:linear-gradient(90deg,#60a5fa,#a5f3fc)}.pack-card.is-uncommon .card{box-shadow:0 0 0 2px #60a5fa,0 0 18px -4px #60a5fa}.mini-card.rarity-uncommon{border-color:#60a5fa}.card{isolation:isolate;color:#f4f7fb;border:1px solid color-mix(in srgb, var(--tc) 55%, #000);background:#05070b;gap:0;padding:0;overflow:hidden}.card.large{gap:0;padding:0}.card-painting{z-index:0;background:radial-gradient(120% 80% at 50% 30%, color-mix(in srgb, var(--tc) 40%, #05070b), #05070b 72%);display:block;position:absolute;inset:0;overflow:hidden}.card-painting canvas{opacity:0;width:100%;height:100%;transition:opacity .35s;display:block}.card-painting.ready canvas{opacity:1}.fx-calm .card-painting canvas{transition:none}.card-shade{z-index:1;pointer-events:none;background:linear-gradient(#030509a8 0%,#0305092e 13%,#03050900 22%);position:absolute;inset:0}.card-top{z-index:2;align-items:center;padding:6px 7px 0;position:relative}.card.large .card-top{gap:10px;padding:12px 12px 0}.card-cost{color:#061018;background:radial-gradient(circle at 34% 30%, #fff 0%, color-mix(in srgb, var(--tc) 65%, #fff) 30%, var(--tc) 62%, color-mix(in srgb, var(--tc) 45%, #000) 100%);width:25px;height:25px;box-shadow:0 0 0 1px #ffffff8c, 0 0 12px -2px var(--tc);border:0;flex:none;font-weight:900}.card.large .card-cost{width:38px;height:38px;font-size:1.25em}.card-cost.cheaper{box-shadow:0 0 0 2px var(--good), 0 0 12px -2px var(--good)}.card-cost.pricier{box-shadow:0 0 0 2px var(--bad), 0 0 12px -2px var(--bad)}.card-name{letter-spacing:.005em;text-shadow:0 1px 2px #000000e6,0 0 10px #000c;padding-top:0;font-weight:800}.card-panel{z-index:2;background:linear-gradient(#04060a00 0,#04060ad6 1.35em,#04060af2 100%);flex-direction:column;gap:3px;min-height:0;max-height:58%;margin-top:auto;padding:1.5em 7px 6px;display:flex;position:relative}.card.large .card-panel{gap:6px;max-height:56%;padding:2.2em 13px 11px}.card.squeeze .card-panel{max-height:72%}.card-typeline{color:color-mix(in srgb, var(--tc) 50%, #fff);border-bottom:1px solid color-mix(in srgb, var(--tc) 70%, transparent);flex:none;padding-bottom:3px}.card-body{color:#eef2f8;flex:0 auto;min-height:0;overflow:hidden}.card-body .flavor{color:#c3cbd9;margin-top:2px}.card-foot{color:#8e9bb0;flex:none}.card.rarity-uncommon{border-color:#b8c7dc}.card.rarity-rare{border-color:#f2c14e}.card.large.rarity-rare:after{content:"";z-index:3;pointer-events:none;mix-blend-mode:color-dodge;opacity:.5;background:linear-gradient(115deg,#0000 32%,#ff78c859 42%,#ffe68c73 48%,#78dcff66 54%,#0000 64%) 0 0/250% 100%;animation:5s ease-in-out infinite holo;position:absolute;inset:0}@keyframes holo{0%,20%{background-position:100% 0}65%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.card.large.rarity-rare:after{background-position:50% 0;animation:none}}.gem-uncommon{box-shadow:0 0 5px #60a5fa}.mini-card{background:#05070b;padding:0;display:block}.mini-card .card-painting{border-radius:inherit}.mini-card .mini-top{z-index:2;position:absolute;top:3px;left:3px;right:3px}.mini-card .mini-cost{background:radial-gradient(circle at 34% 30%, #fff 0%, color-mix(in srgb, var(--tc) 65%, #fff) 30%, var(--tc) 70%);box-shadow:0 0 0 1px #ffffff80}.mini-card .mini-name{z-index:2;-webkit-line-clamp:2;text-shadow:0 1px 2px #000;background:linear-gradient(#04060a00,#04060aeb 45%);padding:12px 4px 4px;line-height:1.1;position:absolute;bottom:0;left:0;right:0}.pile-card .mini-card{padding:0}.mini-card.back{display:grid}.overlay{z-index:90}.toast{z-index:95}.stage{z-index:85}.shop-item .stock{margin:2px 0 10px;font-size:.95rem}
