:root{--bg: #161512;--panel: #23211e;--line: #34312c;--text: #ece9e3;--muted: #a09b91;--accent: #6aa84f;--accent-text: #fff;--danger: #c0392b;--light: #ead9b5;--dark: #a67c52;--last: #f6e05e;--select: #6aa84f;--premove: #3b82f6;--check: #e53935;--spawn: #4aa3df;--ask: #d2685b;--bid: #55a96a;--radius: 12px;--shadow: 0 1px 2px rgba(0, 0, 0, .18);color-scheme:dark}@media (prefers-color-scheme: light){:root{--bg: #f3f1ec;--panel: #fff;--line: #e4e0d6;--text: #23201c;--muted: #6f6a60;--shadow: 0 1px 2px rgba(60, 50, 30, .08);color-scheme:light}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}h2{margin:0 0 4px;font-size:1.6rem;letter-spacing:-.01em}h3{margin:0 0 10px;font-size:1.05rem}h4{margin:0 0 6px;font-size:.95rem}p{margin:0 0 10px}.app{max-width:1040px;margin:0 auto;padding:0 16px 40px}main>div>h2+p{margin-bottom:18px}header{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:16px;padding:10px 0;margin-bottom:18px;background:var(--bg);border-bottom:1px solid var(--line)}.logo{font-weight:800;font-size:1.15rem;text-decoration:none;white-space:nowrap;letter-spacing:-.01em}.nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{padding:6px 12px;border-radius:999px;text-decoration:none;color:var(--muted);white-space:nowrap;font-weight:500}.nav a:hover{color:var(--text);background:var(--panel)}.nav a.active{color:var(--text);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line)}.nav .cash{color:var(--accent);font-weight:600;margin-left:4px}.authbar{display:flex;gap:8px;align-items:center;position:relative}.authbar .me{font-weight:600;text-decoration:none}.authform{position:absolute;right:0;top:100%;z-index:5;width:min(320px,90vw);display:grid;gap:8px;margin-top:8px;box-shadow:0 8px 24px #00000040}.authform label{display:grid;gap:4px;font-size:.9rem}@media (max-width: 720px){header{flex-wrap:wrap;gap:4px 8px;padding:6px 0;margin-bottom:8px;position:static}.logo{font-size:1rem}.nav{order:3;flex-basis:100%}.nav a{padding:4px 10px}.authbar{gap:6px;margin-left:auto}.authbar button{padding:4px 10px;min-height:32px;font-size:.85rem}.authbar .me{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}input,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;min-height:38px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.linkbox{width:min(420px,100%)}button,.btn{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 14px;min-height:38px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--shadow)}button:hover:not(:disabled),.btn:hover{border-color:var(--muted)}button:disabled{opacity:.45;cursor:default;box-shadow:none}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.primary:hover:not(:disabled){filter:brightness(1.08);border-color:var(--accent)}.danger{background:var(--danger);border-color:var(--danger);color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px;box-shadow:var(--shadow)}.panel>:last-child{margin-bottom:0}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.muted{color:var(--muted)}.lead{color:var(--muted);max-width:62ch}.small{font-size:.85rem;margin:2px 0 8px}.center{text-align:center;margin:48px auto;max-width:480px}.notice{color:#e0a000;margin:6px 0}.up{color:var(--bid)}.down{color:var(--ask)}.tag{font-size:.7rem;background:var(--bg);border-radius:4px;padding:1px 5px;font-style:normal;color:var(--muted)}details{margin:0 0 12px;color:var(--muted);font-size:.9rem}details summary{cursor:pointer;font-weight:500}details p{margin:6px 0 0;max-width:70ch}table{border-collapse:collapse;width:100%}td{padding:6px 14px 6px 0;border-top:1px solid var(--line)}tr:first-child td{border-top:0}.outcome.win{color:var(--bid)}.outcome.loss{color:var(--ask)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}.stats>div{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}.stats dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.stats dd{margin:0;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.stats dd.small-value{font-size:1rem}.lobby{display:grid;gap:14px}.lobby section{margin-bottom:0}.rating{display:inline-flex;gap:8px;align-items:baseline;padding:4px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--line);margin-bottom:14px}.pool{display:grid;gap:2px;padding:16px 40px;text-align:center}.pool .big{font-size:1.7rem;font-weight:800}.board{width:100%;display:block;-webkit-user-select:none;user-select:none;border-radius:4px}.sq.light{fill:var(--light)}.sq.dark{fill:var(--dark)}.dot{fill:#0000004d;cursor:pointer}.coord text{fill:#00000073;font-family:system-ui,sans-serif}.piece{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill-rule:evenodd}.piece.white{fill:#fff;stroke:#000;color:#000}.piece.black{fill:#000;stroke:#000;color:#ececec}.piece .mark{fill:none;stroke:currentColor}.piece .eye{fill:currentColor;stroke:currentColor}.piece .shine{fill:currentColor;stroke:none}.piece.black.skinned{filter:brightness(.55) saturate(1.1)}.promo-sq{fill:#fff;stroke:#333;stroke-width:.04;cursor:pointer}.strip{display:flex;align-items:center;padding:4px 2px;gap:8px;min-height:44px;min-width:0}.strip.active .clock{background:var(--accent);color:#fff}.clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.3rem;padding:2px 10px;border-radius:6px;background:var(--panel);min-width:72px;text-align:center}.clock.low{color:#ff6b5e}.who{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow{display:grid;grid-template-columns:32px 1fr 1fr;align-items:center}.mrow .num{color:var(--muted)}.mv{background:none;border:none;text-align:left;padding:2px 6px;border-radius:4px}.mv.cur{background:var(--accent);color:#fff}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:12px}dt{color:var(--muted)}.result{text-align:center}.warehouse ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.warehouse li{display:grid;grid-template-columns:28px 2ch 1fr auto;gap:8px;align-items:center}.warehouse li.armed{outline:2px solid var(--spawn);outline-offset:3px;border-radius:4px}.warehouse .count{font-weight:700;text-align:right}.warehouse .meter{background:var(--bg);height:6px;border-radius:3px;overflow:hidden}.warehouse .meter i{display:block;height:100%;background:var(--spawn)}.warehouse button{padding:4px 10px}.warehouse-page ul{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.warehouse-page li{display:grid;gap:2px;justify-items:center;text-align:center;margin:0}.warehouse-page .big{font-size:1.8rem}.cash{color:var(--muted);font-variant-numeric:tabular-nums}.reserve-bar{position:relative;height:10px;background:var(--bg);border:1px solid var(--line);border-radius:5px;margin:6px 0 12px}.reserve-bar i{display:block;height:100%;background:var(--accent);border-radius:4px}.reserve-bar b{position:absolute;top:-4px;width:2px;height:16px;background:var(--text)}.rate-chart{margin:0;color:var(--accent)}.rate-chart svg{width:100%;max-width:360px;height:auto;display:block}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}.cards .panel{margin:0}.forms{display:grid;gap:12px}.forms form,.order-form form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.forms label,.order-form label{display:grid;gap:3px;font-size:.82rem;color:var(--muted)}.forms input,.order-form input{width:11ch}.order-form select{width:auto}.forms .or{color:var(--muted);font-size:.85rem}.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.books .book{margin:0;padding:10px 12px}.book.picked{outline:2px solid var(--accent)}.book h4{display:flex;align-items:center;gap:6px;cursor:pointer;text-transform:capitalize}.book ul{list-style:none;padding:0;margin:0 0 6px;display:grid;gap:2px}.book .muted.small{margin:0 0 6px}.level{display:flex;justify-content:space-between;width:100%;padding:2px 8px;min-height:0;font-variant-numeric:tabular-nums;border-radius:6px;box-shadow:none;border-width:0 0 0 3px}.level.ask{border-color:var(--ask)}.level.bid{border-color:var(--bid)}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}.two-col>.panel{margin:0}.shop-page,.company-page,.market-page,.bank-page{display:block}.skin-stage{display:grid;gap:4px}.skin-stage .pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.skin-stage .pair>div{display:grid;gap:4px}.skin-preview{width:100%;display:block;border-radius:8px}.skins{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.skin{display:grid;gap:8px;margin:0;align-content:start}.skin.worn{outline:2px solid var(--accent)}.skin-info{display:flex;justify-content:space-between;align-items:baseline}.skin-info b{font-size:1.02rem}.skin-actions button{width:100%}.skin .small{margin:0}.devtools{position:fixed;right:12px;bottom:12px;z-index:20;max-width:min(420px,calc(100vw - 24px));background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px 12px}.devtools summary{cursor:pointer;font-weight:600}.dev-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0}.dev-row input{width:5.5em}.level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.4em;padding:0 .4em;margin:0 .25em;border-radius:999px;font-size:.78em;font-weight:700;font-variant-numeric:tabular-nums;vertical-align:baseline;background:var(--line);color:var(--text)}.level-badge.tier-bronze{background:#b87333;color:#fff}.level-badge.tier-silver{background:#aab2bd;color:#1b1f24}.level-badge.tier-gold{background:#e0b43a;color:#2b2100}.level-badge.tier-jade{background:#2fa37a;color:#fff}.level-badge.tier-violet{background:#7a56d6;color:#fff}.level-badge.tier-crimson{background:#c2384a;color:#fff}.levels-page h2{display:flex;align-items:center;gap:8px}.xp-bar{height:12px;border-radius:6px;background:var(--line);overflow:hidden}.xp-bar>span{display:block;height:100%;background:var(--accent)}.level-head{display:flex;flex-direction:column;gap:8px}.level-head .row{justify-content:space-between;flex-wrap:wrap}.gates,.track{list-style:none;padding:0;margin:0;display:grid;gap:8px}.gates li,.track li{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:8px 12px}.track li.paid{opacity:.6}.track li.next{border-color:var(--accent)}.track .lv{font-weight:700;min-width:4.5em}.levelup{border-color:var(--accent)}.tier{display:inline-block;min-width:3.2em;padding:1px 8px;border-radius:999px;font-size:.78rem;font-weight:700;text-align:center;background:var(--bg);border:1px solid var(--line);font-variant-numeric:tabular-nums}.tier.lab{border-color:var(--accent, #3b82f6)}.tier.expedition{border-color:var(--accent, #3b82f6);background:color-mix(in srgb,var(--accent, #3b82f6) 18%,var(--bg))}.quests ul,.quest-list,.kits{list-style:none;margin:0;padding:0;display:grid;gap:8px}.quests li{padding:6px 0}.quests li.met{font-weight:600}.quest-list .quest,.kits .panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}.kits .panel .muted{flex:1 1 14rem}.tree-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center;margin-bottom:6px}.tree-zoom{display:flex;gap:6px;align-items:center}.tree-view{position:relative;overflow:hidden;height:75vh;min-height:360px;border:1px solid var(--line);border-radius:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.tree-view:active{cursor:grabbing}.tree-legend{display:flex;flex-wrap:wrap;gap:6px}.branch-tag{padding:1px 8px;border-radius:999px;font-size:.78rem;border:2px solid var(--line)}.tree-canvas{position:absolute;left:0;top:0;transform-origin:0 0}.tree-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.tree-canvas .edge{fill:none;stroke:color-mix(in srgb,currentColor 35%,var(--bg));stroke-width:1.5}.tree-canvas .edge.lit{stroke:var(--accent);stroke-width:2}.tree-slot{position:absolute}.b-prospecting{--branch: #c9a227}.b-logistics{--branch: #3b82f6}.b-tactics{--branch: #d9534f}.b-cardcraft{--branch: #a855f7}.b-ordnance{--branch: #f97316}.b-statecraft{--branch: #14b8a6}.b-cartography{--branch: #84cc16}.b-treasury{--branch: #ec4899}.b-concepts{--branch: #94a3b8}.branch-tag{border-color:var(--branch)}.tree .node{display:grid;gap:4px;padding:8px 10px;width:100%;box-sizing:border-box;align-content:start;border:1px solid var(--line);border-top:4px solid var(--branch, var(--line));border-radius:8px;background:var(--bg);text-align:left}.tree .node.owned{border-color:var(--accent, #3b82f6)}.tree .node.owned b:before{content:"✓ "}.tree .node.locked{opacity:.7}.research-page,.mines-page{display:block}.mine-list{display:grid;gap:14px}.stake-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:8px 0}.banner{position:sticky;top:0;z-index:30;margin:0 -16px;padding:8px 16px;text-align:center;background:#e0a000;color:#1b1500;font-weight:600}.toasts{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:40;display:grid;gap:8px;width:min(440px,calc(100vw - 24px))}.toast{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);box-shadow:0 8px 24px #0000004d}.toast.error{border-left-color:var(--danger)}.toast span{flex:1}.toast button{min-height:30px;padding:3px 10px}.toast .toast-x{background:none;border:0;box-shadow:none;padding:0 6px;font-size:1.2rem;color:var(--muted)}.menu-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:#00000073}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:45;width:min(280px,85vw);padding:18px 14px;background:var(--panel);border-right:1px solid var(--line);box-shadow:8px 0 32px #00000059;display:flex;flex-direction:column;overflow-y:auto;animation:drawer-in .16s ease-out}.drawer[hidden]{display:none}.drawer h3{margin:0 0 10px 8px}.drawer-nav{display:grid;gap:2px}.drawer-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}.drawer-foot a{display:block;padding:8px 12px;border-radius:8px;color:var(--muted);font-size:.9rem;text-decoration:none}.drawer-foot a:hover,.drawer-foot a.active{background:var(--bg);color:var(--text)}.licenses-text{white-space:pre-wrap;font:inherit;font-size:.9rem;max-width:720px}.drawer-group{margin:12px 0 2px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.drawer-group:first-child{margin-top:0}.drawer-nav a{padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text);font-weight:500}.drawer-nav a:hover{background:var(--bg)}.drawer-nav a.active{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.drawer-nav .cash{color:var(--accent);font-weight:600;margin-left:4px}@keyframes drawer-in{0%{transform:translate(-24px);opacity:0}to{transform:none;opacity:1}}.settings-page .panel{display:grid;gap:10px;max-width:480px}.settings-page label{display:flex;align-items:center;gap:10px}.settings-page input[type=range]{flex:1;min-height:0;padding:0}.nav .flag{display:inline-grid;place-items:center;width:1.2em;height:1.2em;margin-left:6px;border-radius:50%;background:var(--danger);color:#fff;font-size:.78em;font-weight:800}.board{touch-action:none}.sq.movable{cursor:grab}.slide{animation:slide .14s ease-out}@keyframes slide{0%{transform:translate(calc(var(--dx) * 1px),calc(var(--dy) * 1px))}to{transform:translate(0)}}.pop{transform-box:fill-box;transform-origin:center;animation:pop .18s ease-out}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.flip{margin-bottom:14px}.panel.alert{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.levelup{animation:pop-in .35s ease-out}@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.slide,.pop,.levelup,.drawer{animation:none}}.node.ready{box-shadow:0 0 0 2px var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.loading{display:grid;gap:14px}.skeleton{background:linear-gradient(90deg,var(--panel),var(--line),var(--panel));background-size:200% 100%;border-radius:var(--radius);animation:shimmer 1.4s linear infinite}.skeleton.title{height:28px;width:min(240px,60%)}.skeleton.line{height:14px;width:min(520px,90%)}.skeleton.panel-ph{height:96px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.strip .taken{display:flex;align-items:center;flex-wrap:wrap;flex:1;min-height:16px;gap:0 6px}.strip .taken-group{display:inline-flex}.strip .taken-group svg{margin-right:-6px}.strip .lead{font-size:.8rem;color:var(--muted);margin-left:4px}.banner.game{background:var(--accent);color:#fff}.banner.game a{color:#fff;text-decoration:underline;margin-left:6px}.packs{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.pack{margin:0;display:grid;gap:6px;align-content:start;position:relative;overflow:hidden;border-top:5px solid var(--pack-color, var(--line));background:linear-gradient(160deg,color-mix(in srgb,var(--pack-color, var(--line)) 22%,var(--panel)),var(--panel) 60%);transition:transform .15s ease,box-shadow .15s ease}.pack:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000040}.pack-art{position:absolute;top:10px;right:12px;display:flex}.pack-art i{width:26px;height:36px;margin-left:-14px;border-radius:4px;border:1px solid color-mix(in srgb,var(--pack-color, var(--line)) 70%,#000);background:color-mix(in srgb,var(--pack-color, var(--line)) 55%,var(--panel));transform:rotate(calc((var(--r, 0) * 1deg)))}.pack-art i:nth-child(1){--r: -10}.pack-art i:nth-child(2){--r: 0}.pack-art i:nth-child(3){--r: 10}.pack:hover .pack-art i{animation:pack-fan .4s ease-out}@keyframes pack-fan{0%{transform:rotate(0)}}.pack.co-copperplate{--pack-color: #b0602a}.pack.co-silverside{--pack-color: #8a96a3}.pack.co-gilded{--pack-color: #c79a1b}.pack h4{margin:0}.card-grid{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.card-tile.co-copperplate{--pack-color: #b0602a}.card-tile.co-silverside{--pack-color: #8a96a3}.card-tile.co-gilded{--pack-color: #c79a1b}.card-tile .text{font-size:.9rem}.card-tile{display:grid;gap:6px;align-content:start;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 0 10px;box-shadow:var(--shadow);min-width:0;transition:transform .15s ease,box-shadow .15s ease}.card-tile>:not(.card-head){margin:0 12px}.card-tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000047}.card-head{display:grid;gap:2px;padding:8px 12px;background:linear-gradient(135deg,var(--pack-color, var(--line)),color-mix(in srgb,var(--pack-color, var(--line)) 55%,#000));color:#fff}.card-head b{font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.35)}.card-tile .rarity{display:flex;align-items:center;gap:6px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9}.card-tile .rarity .tier-mark{color:#fff;border-color:#fff9;background:#0003}.gem{width:8px;height:8px;transform:rotate(45deg);background:#cfd4da;box-shadow:0 0 0 1px #00000040}.card-tile.uncommon .gem{background:#7bd389}.card-tile.rare .gem{background:#ffd76a;box-shadow:0 0 6px 1px #ffd76a}.card-tile.rare .rarity{font-weight:700;color:#fff}.card-tile.rare:after,.card-tile.tier-3:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.16) 50%,transparent 65%);background-size:250% 100%;animation:foil 3.6s ease-in-out infinite}@keyframes foil{0%{background-position:150% 0}to{background-position:-50% 0}}.reveal .card-tile{animation:card-flip .5s ease-out both;animation-delay:calc(var(--i, 0) * .22s);backface-visibility:hidden}@keyframes card-flip{0%{opacity:0;transform:perspective(600px) rotateY(90deg) scale(.9)}60%{opacity:1}to{opacity:1;transform:perspective(600px) rotateY(0) scale(1)}}.deck-meter{height:8px;border-radius:4px;background:var(--bg);border:1px solid var(--line);overflow:hidden;margin:6px 0 10px}.deck-meter i{display:block;height:100%;background:var(--accent);transition:width .3s ease}.deck-meter i.full{background:#c79a1b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0009;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}}.merge-panel.modal{width:min(560px,100%);max-height:90vh;overflow:auto;margin:0;padding:16px;border:1px solid var(--line);border-style:solid;background:var(--panel);box-shadow:0 12px 40px #00000080;animation:pop-in .2s ease-out}.merge-panel.modal h3{margin:0}.merge-compare .card-tile{list-style:none}.own-line{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.owned-count{font-size:1.1rem}@media (prefers-reduced-motion: reduce){.card-tile,.pack,.reveal .card-tile,.merge-panel,.modal-backdrop,.deck-meter i,.pack:hover .pack-art i{animation:none;transition:none}.card-tile:after{animation:none}.card-tile:hover,.pack:hover{transform:none}}.deck-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.deck-row button{padding:2px 10px}.tier-mark{display:inline-block;min-width:1.6em;padding:0 5px;border-radius:4px;font-size:.7rem;font-weight:700;text-align:center;line-height:1.5;letter-spacing:.04em;vertical-align:middle}.tier-mark.tier-1{border:1px solid var(--line);color:var(--muted)}.tier-mark.tier-2{border:2px double #7d8a99;color:#5b6978;background:#7d8a991f}.tier-mark.tier-3{border:1px solid #c79a1b;color:#7a5a00;background:linear-gradient(135deg,#f6e7b0,#e2bd55)}.card-tile.tier-2,.cardhand li.tier-2{border-color:#7d8a99}.card-tile.tier-3,.cardhand li.tier-3{border-color:#c79a1b;box-shadow:0 0 0 1px #e2bd5566,var(--shadow)}.tier-rows{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}.tier-row{display:grid;gap:4px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.tier-row.tier-2{border-color:#7d8a99}.tier-row.tier-3{border-color:#c79a1b;background:#e2bd551a}.tier-head{display:flex;gap:6px;align-items:baseline}.tier-line{display:block}.merge-panel{display:grid;gap:8px;padding:8px;margin-top:4px;border:1px dashed var(--accent);border-radius:8px;background:var(--bg)}.merge-panel p{margin:0}.merge-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.merge-compare .arrow{color:var(--muted)}@media (max-width: 520px){.merge-compare{grid-template-columns:1fr}.merge-compare .arrow{justify-self:center;transform:rotate(90deg)}}.cardhand .boon{color:var(--accent)}.cardhand ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.cardhand li{display:grid;gap:2px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.cardhand li.armed{outline:2px solid var(--spawn)}.cardhand button{justify-self:start;padding:3px 10px}.cardhand .files{display:flex;flex-wrap:wrap;gap:4px}.cardhand .files button{padding:2px 8px;text-transform:uppercase}.meters{display:grid;gap:10px}.meter-side{display:grid;gap:3px}.meter-row{display:grid;grid-template-columns:9.5em 1fr 3ch;gap:8px;align-items:center}.meter-row .bar{height:6px;border-radius:3px;background:var(--bg);overflow:hidden}.meter-row .bar i{display:block;height:100%}.meter-row.morale .bar i{background:#3b82c4}.meter-row.strength .bar i{background:#3a9a63}.meter-row b{text-align:right;font-variant-numeric:tabular-nums}.region-tag{display:inline-flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.region-tag .pass{color:var(--accent);font-weight:600}.spawn-fee{color:var(--muted);font-size:.85em}.ordnance ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ordnance li{display:grid;grid-template-columns:2ch 1fr auto;gap:8px;align-items:center}.ordnance li.armed{outline:2px solid var(--spawn);outline-offset:3px;border-radius:4px}.ordnance .count{font-weight:700;text-align:right}.ordnance button{padding:4px 10px}.sweep{max-width:420px}.sweep.live{outline:2px solid var(--check)}.sweep-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin:8px 0;max-width:360px}.sweep-grid .cell{aspect-ratio:1;min-height:0;padding:0;border-radius:3px;font-weight:700;font-size:1rem;box-shadow:none;line-height:1;display:grid;place-items:center;touch-action:manipulation;-webkit-user-select:none;user-select:none}.sweep-grid .cell.closed{background:var(--line);border-color:var(--line)}.sweep-grid .cell.closed:not(:disabled):hover{background:var(--muted)}.sweep-grid .cell.open{background:var(--bg);border-color:var(--line);cursor:default}.sweep-grid .cell.flag{color:var(--check)}.sweep-grid .cell.mine{background:var(--check);color:#fff}.sweep-grid .cell:disabled{opacity:1;cursor:default}.shop-ordnance .skin-info{display:flex;justify-content:space-between;gap:8px}.dev-edit-brushes{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.dev-edit-brushes button{padding:2px 4px;min-width:34px}.avatar{vertical-align:middle;border-radius:9px;flex:none}.badge{display:inline-block;min-width:1.2em;padding:0 5px;margin-left:6px;border-radius:999px;background:var(--accent);color:var(--accent-text);font-size:.72rem;line-height:1.4;text-align:center;font-weight:600}.link{background:none;border:none;box-shadow:none;padding:0;min-height:0;color:var(--text);font-weight:600;text-decoration:underline;text-underline-offset:3px}.link.small{font-weight:500;color:var(--muted)}.small-btn{padding:4px 10px;min-height:30px;font-size:.85rem}button.on,button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}button.swatch{width:28px;min-height:28px;height:28px;padding:0;border-radius:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--muted);margin-right:4px}.dot.online{background:var(--bid)}.dot.game{background:var(--premove)}.people{list-style:none;margin:0;padding:0;display:grid;gap:8px}.people li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.people .who{display:flex;flex-direction:column;flex:1;min-width:10rem}.people .who .small{margin:0}.avatar-edit{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start;margin:10px 0}.avatar-edit .choices{display:grid;gap:10px;flex:1;min-width:16rem}.avatar-edit fieldset{border:none;padding:0;margin:0}.avatar-edit legend{color:var(--muted);font-size:.85rem;padding:0 0 4px}.check select{margin-left:6px}.chat{padding:10px 12px}.chat-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-lines{max-height:11rem;overflow-y:auto;margin:8px 0;display:grid;gap:2px;align-content:start}.chat-line{margin:0;font-size:.9rem;overflow-wrap:anywhere}.chat-line.mine b{color:var(--accent)}.chat-line.bot{font-style:italic}.phrases{gap:6px;margin-bottom:8px}.chat .row input{flex:1;min-width:0}.trade-window .baskets{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:14px;margin:12px 0}.basket .lines{list-style:none;margin:0;padding:0;display:grid;gap:6px}.basket .lines li{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.basket .lines .name{flex:1;min-width:7rem}.basket .lines input{width:6.5rem}.basket .total{margin:10px 0 0}.picker select{max-width:100%}.tag.settled{color:var(--bid)}.tag.declined,.tag.cancelled,.tag.expired{color:var(--ask)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.chip{border:1px solid var(--line);border-radius:999px;padding:3px 12px;background:transparent;color:var(--muted);font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.chip.on{background:var(--accent);color:var(--accent-text);border-color:transparent}.price{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:baseline;justify-content:flex-end}.metal-chip{font-size:.8rem;border:1px solid var(--line);border-radius:10px;padding:0 6px;color:var(--muted)}.shelf{margin-top:24px}.product .skin-info{align-items:baseline;gap:8px}.recent{list-style:none;padding:0;margin:0;display:grid;gap:6px}.recent li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}.map-strip{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;margin:0 0 12px;font-size:.92rem}.map-strip .warn{color:var(--danger)}.map-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start;margin:0 0 12px}@media (max-width: 760px){.map-grid{grid-template-columns:1fr}}.map-figure{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:6px}.map-figure svg{display:block;width:100%;height:auto;touch-action:manipulation}.map-land{fill:var(--bg);stroke:var(--line);stroke-width:1.5}.map-line{stroke:var(--danger);stroke-width:3;stroke-linecap:round;opacity:.8}.map-route{stroke:var(--premove);stroke-width:8;stroke-linecap:round;opacity:.5}.map-node{cursor:pointer;outline:none}.map-dot{fill:var(--panel);stroke:var(--text);stroke-width:2.5;pointer-events:none}.map-node:hover .map-dot{stroke-width:3.5}.map-halo{fill:none;stroke:var(--premove);stroke-width:3.5;opacity:0;pointer-events:none}.map-node.chosen .map-halo,.map-node:focus-visible .map-halo{opacity:1}.map-node.home .map-dot{fill:var(--accent);stroke:var(--accent)}.map-house{fill:var(--accent);pointer-events:none}.map-ticket{fill:var(--spawn);pointer-events:none}.map-hit{fill:transparent}.map-name{fill:var(--text);font-size:13px;font-weight:700;cursor:pointer;paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round}.map-legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 12px 10px}.map-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.map-legend .k-home{background:var(--accent)}.map-legend .k-pass{background:var(--spawn);border-radius:2px}.map-legend .k-sel{border:2px solid var(--premove)}.map-legend .k-line{background:var(--danger);height:3px;border-radius:1px;vertical-align:3px}.map-card{margin:0;display:grid;gap:14px;min-width:0}.map-card h3{margin:0 0 6px;font-size:1.3rem}.map-card .chips{display:flex;flex-wrap:wrap;gap:6px}.map-card .chip{font-size:.75rem;font-weight:600;border-radius:99px;padding:3px 9px;border:1px solid var(--line);color:var(--muted)}.map-card .chip.home{background:var(--accent);color:var(--accent-text);border-color:transparent}.map-card .chip.pass{color:var(--spawn);border-color:currentColor}.map-sec{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:12px}.map-sec .k{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.map-sec .row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;justify-content:space-between}.map-sec label{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.map-page table.fees .total td{font-weight:700;border-top:1px solid var(--line)}.map-page table.fees td:last-child,.map-page table.fees th:last-child{text-align:right}.rail-table th,.rail-table td{white-space:nowrap}.rail-table tbody tr{cursor:pointer}.rail-table tbody tr:hover{background:var(--panel)}.rail-table tbody tr.sel{outline:2px solid var(--premove);outline-offset:-2px}.rail-table .pass-on{color:var(--spawn)}.map-page .table-scroll{overflow-x:auto;margin-bottom:12px}.map-page .how{margin:0}.map-page .how summary{cursor:pointer;font-weight:600}.home-tag{font-size:.85em}.coins{display:grid;gap:10px}.coins-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.coins-head h4{margin:0}.coins .payout{height:4px;border-radius:2px;background:var(--bg);overflow:hidden}.coins .payout i{display:block;height:100%;background:#d4a72c;transition:width .25s linear}.coins .purses{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coins .purse{display:grid;gap:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;min-width:0}.coins .purse.me{border-color:var(--spawn)}.coins .purse .who{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coins .purse .amount{font-size:1.7rem;line-height:1.15;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}.coins .purse .amount:before{content:"";width:.6em;height:.6em;border-radius:50%;background:#d4a72c;box-shadow:inset 0 0 0 .12em #00000040;flex:none}.coins .purse .rate{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}.coins .site{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:var(--bg);border-radius:10px;padding:8px 10px}.coins .site .payout{margin-top:4px}.coins .palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coins .tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;justify-items:start;text-align:left;padding:6px 10px;min-height:52px}.coins .tile svg{grid-row:1 / 3;color:var(--text)}.coins .tile .name{font-weight:600;line-height:1.2}.coins .tile .cost{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.2}.coins .tile.wide{grid-column:1 / -1;grid-template-columns:1fr auto;grid-template-rows:auto}.coins .tile.on{outline:2px solid var(--spawn);outline-offset:1px}.coins .tile:disabled{opacity:.5;cursor:not-allowed}.coins .chips{display:flex;flex-wrap:wrap;gap:6px}.coins .chip{padding:2px 12px;min-height:30px;border-radius:999px}.coins .chip.on{background:var(--spawn);color:#fff;border-color:var(--spawn)}.coins .armed-hint{margin:0;padding:6px 10px;border-radius:8px;background:#4aa3df24}.coins kbd{font:inherit;font-size:.8em;border:1px solid var(--line);border-radius:4px;padding:0 4px}.coins .coin-log{list-style:none;margin:0;padding:0;display:grid;gap:2px}.coins .dev summary{cursor:pointer}.coins .dev .chips{margin-top:6px}.tree .node.concept{border-style:dashed;border-radius:20px}.holding{align-self:flex-start;font-size:.82rem;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:999px;padding:1px 10px;margin:2px 0 4px}.who-inline{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.who-inline .level-badge{margin:0}.banner.casual{position:static;margin:0 0 12px;background:var(--line);color:var(--text);font-weight:400;border-radius:8px}.match2{--chrome: 285px;display:grid;grid-template-columns:min(100%,calc(100dvh - var(--chrome)),760px) minmax(280px,1fr);gap:20px;align-items:stretch;justify-content:start}.board-col{min-width:0;display:grid;gap:4px;align-content:start}.board-block{display:grid;gap:4px}.board-wrap{position:relative}.strip{flex-wrap:nowrap}.strip .side-name{font-size:.85rem;flex:none}.strip .badges{display:inline-flex;gap:4px;flex:none}.strip .taken{flex:1 1 0;min-width:0;overflow:hidden}.strip .clock{flex:none}.sbadge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:default}.sbadge{color:var(--text)}.sbadge svg{flex:none}.sbadge.warn{border-color:#e0735f;color:#e0735f}.sbadge .g-morale{color:#3b82c4}.sbadge .g-strength{color:#3a9a63}.sbadge .g-coins{color:#d4a72c}.sbadge .g-cards{color:#8a5cc4}.dock{display:flex;align-items:center;gap:8px;min-height:52px;min-width:0}.tools{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1;padding:6px 2px 2px}.tool{position:relative;flex:none;display:grid;justify-items:center;gap:0;min-width:52px;min-height:0;padding:4px 8px 3px;font-size:.74rem;font-weight:500;color:var(--muted);border-radius:10px}.tool svg{color:var(--text)}.tool.ready{color:var(--text)}.tool:disabled{opacity:.45;cursor:default}.tool[aria-expanded=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.tool .n{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#fff;border-radius:999px;font-size:.68rem;font-weight:700;padding:0 5px;line-height:16px}.gamebar{display:flex;gap:6px;flex:none;margin-left:auto;padding-left:8px;border-left:1px solid var(--line);align-items:center}.gbtn{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 10px;font-size:.85rem}.gbtn.resign{color:var(--danger)}.gbtn.resign.on{background:var(--danger);color:#fff;border-color:var(--danger)}.gbtn svg{flex:none}.more{position:relative}.menu-pop{position:absolute;right:0;bottom:calc(100% + 6px);z-index:20;display:grid;gap:2px;min-width:11rem;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #00000040}.menu-pop button,.menu-pop .btn{border:0;box-shadow:none;text-align:left;background:none;border-radius:6px}.menu-pop button:hover,.menu-pop .btn:hover{background:var(--bg)}.board-notices{position:absolute;left:8px;right:8px;top:8px;z-index:5;display:grid;gap:6px;pointer-events:none}.notice-card{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 16px #00000040;font-size:.9rem}.notice-card.alert{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.notice-card .spacer{flex:1}.notice-card button{padding:3px 10px;min-height:0}.x{background:none;border:0;box-shadow:none;padding:0 6px;min-height:0;font-size:1.2rem;line-height:1;color:var(--muted)}.pick-bar{position:absolute;left:8px;right:8px;bottom:8px;z-index:5;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel);border:1px solid var(--spawn);border-radius:10px;box-shadow:0 4px 16px #00000040;font-size:.9rem}.pick-bar span{flex:1}.pick-bar button{padding:3px 10px;min-height:0}.typed-move{position:absolute;left:8px;right:8px;bottom:8px;z-index:6;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 16px #00000040}.typed-move input{flex:1;min-width:120px}.result-over{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:grid;place-items:center;background:#0000004d;border-radius:4px}.result-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 32px #00000059;padding:18px 22px;width:min(340px,88%);text-align:center}.result-card .x{position:absolute;top:6px;right:6px}.result-card h3{margin:0 0 6px}.result-card .row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.result-body p{margin:4px 0}.sweep-board{position:relative;aspect-ratio:1;width:100%;display:grid;grid-template-rows:auto 1fr;gap:6px;padding:8px;background:var(--panel);border:2px solid var(--check);border-radius:4px}.sweep-bar{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:center}.sweep-bar h4{margin:0;font-size:.95rem}.sweep-bar p{grid-column:1;margin:0;color:var(--muted)}.sweep-bar .peek-btn{grid-column:2;grid-row:1 / 3;padding:4px 10px;min-height:0;touch-action:none}.sweep-board .sweep-grid{max-width:none;margin:0;align-self:stretch;grid-template-rows:repeat(8,1fr);min-height:0}.sweep-board .sweep-grid .cell{aspect-ratio:auto;font-size:clamp(.8rem,3.4vw,1.4rem)}.side{position:relative;min-width:0}.side-in{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px}.tray{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 14px 14px;flex:0 1 auto;max-height:55%;overflow:auto;min-height:0}.tray-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tray-h h3{margin:0;font-size:1rem}.tray .panel{border:0;box-shadow:none;padding:0;margin:0;background:none}.tray .panel>h4:first-child,.tray .coins-head h4,.tray .panel>h3:first-child{display:none}.tabs{flex:1 1 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;min-width:0;overflow:hidden}.tabbar-wrap{position:relative;border-bottom:1px solid var(--line)}.tab-arrow{position:absolute;top:0;bottom:0;z-index:1;width:26px;padding:0;min-height:0;border:0;border-radius:0;box-shadow:none;background:var(--panel);color:var(--muted);font-size:1.2rem}.tab-arrow.l{left:0}.tab-arrow.r{right:0}.tabbar{display:flex;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.tabbar button{flex:none;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;background:none;color:var(--muted);padding:9px 12px;min-height:0;white-space:nowrap}.tabbar button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tabbar .tab-dot{display:inline-block;min-width:16px;margin-left:5px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;line-height:16px;font-weight:700;text-align:center}.pane{padding:10px 14px;overflow:auto;min-height:0}.pane .chat{border:0;box-shadow:none;padding:0;margin:0;background:none}.pane .chat-lines{max-height:none;min-height:6rem}.pane>.summary{display:grid;gap:10px}.pane h4{margin:0 0 4px}.review-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.review-head h3{margin:0}.review-head .spacer{flex:1}.review-controls{display:flex;align-items:center;gap:4px;flex:1;min-width:0;flex-wrap:wrap;padding:4px 0}.review-controls button{padding:4px 8px;min-height:0}.review-controls input[type=range]{flex:1;min-width:80px}.match2:has(.review-controls){--chrome: 330px}@media (max-width: 860px){.match2{grid-template-columns:1fr;gap:10px}.side{height:min(60dvh,480px)}.strip .side-name,.strip .taken,.gbtn .lbl{display:none}.gbtn{padding:0 9px}.gbtn[aria-label="Really resign?"] .lbl{display:inline}.side-in{position:static;display:block}.tabs{height:100%}.tray{position:fixed;z-index:40;left:0;right:0;bottom:0;max-height:50dvh;border-radius:16px 16px 0 0;box-shadow:0 -8px 24px #0000004d;padding-bottom:max(14px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: no-preference){.tray,.notice-card,.result-card{animation:pop-in .16s ease-out}}.board.shake-0{animation:board-shake-a .35s cubic-bezier(.36,.07,.19,.97)}.board.shake-1{animation:board-shake-b .35s cubic-bezier(.36,.07,.19,.97)}@keyframes board-shake-a{20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}@keyframes board-shake-b{20%{transform:translate(-3px,1px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}.fx-ring{transform-box:fill-box;transform-origin:center;animation:fx-ring .55s ease-out both}.fx-ring.late{animation-delay:.22s}@keyframes fx-ring{0%{transform:scale(.5);opacity:.95}to{transform:scale(1.5);opacity:0}}.fx-glow{transform-box:fill-box;transform-origin:center;animation:fx-glow .6s ease-out both;opacity:0}@keyframes fx-glow{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}.ghost{transform-box:fill-box;transform-origin:center;animation:ghost-out .3s ease-in both}@keyframes ghost-out{to{opacity:0;transform:scale(.25) rotate(-25deg)}}.fx-bad{fill:var(--danger);opacity:0;animation:fx-bad .5s ease-out both}@keyframes fx-bad{0%{opacity:.55}to{opacity:0}}.wobble{animation:wobble .32s ease-out}@keyframes wobble{20%{transform:translate(-.12px)}40%{transform:translate(.1px)}60%{transform:translate(-.06px)}80%{transform:translate(.03px)}}.clock.low.beat{animation:clock-beat 1s ease-in-out infinite}@keyframes clock-beat{0%,to{transform:scale(1)}12%{transform:scale(1.07)}24%{transform:scale(1)}}.board-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:4px;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 0 22px color-mix(in srgb,var(--accent) 35%,transparent);opacity:0;transition:opacity .2s ease}.board-wrap.myturn:after{opacity:1}.sbadge{position:relative}.sbadge.bump-0{animation:badge-bump-a .3s ease-out}.sbadge.bump-1{animation:badge-bump-b .3s ease-out}@keyframes badge-bump-a{40%{transform:scale(1.25)}}@keyframes badge-bump-b{40%{transform:scale(1.25)}}.sbadge .delta{position:absolute;left:50%;bottom:100%;margin-left:-.6em;font-weight:700;font-size:.8rem;pointer-events:none;animation:delta-float 1.1s ease-out forwards}.sbadge .delta.up{color:var(--bid)}.sbadge .delta.down{color:var(--danger)}@keyframes delta-float{0%{transform:translateY(0);opacity:1}to{transform:translateY(-22px);opacity:0}}.ticker.up{color:var(--bid);transition:color .4s}.ticker.down{color:var(--danger);transition:color .4s}html[data-fx=reduced] .board.shake-0,html[data-fx=reduced] .board.shake-1,html[data-fx=reduced] .wobble,html[data-fx=reduced] .clock.low.beat,html[data-fx=reduced] .sbadge.bump-0,html[data-fx=reduced] .sbadge.bump-1{animation:none}html[data-fx=reduced] .fx-ring,html[data-fx=reduced] .fx-glow{animation:fx-fade .5s ease-out both;transform:none}html[data-fx=reduced] .ghost{animation:fx-fade .3s ease-in both;transform:none}html[data-fx=reduced] .sbadge .delta{animation:delta-fade 1.1s ease-out forwards}@keyframes fx-fade{0%{opacity:.9}to{opacity:0}}@keyframes delta-fade{0%,70%{opacity:1}to{opacity:0}}html[data-fx=off] .fx-ring,html[data-fx=off] .fx-glow,html[data-fx=off] .ghost,html[data-fx=off] .fx-bad,html[data-fx=off] .sbadge .delta{display:none}html[data-fx=off] .board.shake-0,html[data-fx=off] .board.shake-1,html[data-fx=off] .wobble,html[data-fx=off] .clock.low.beat{animation:none}html[data-fx=off] .board-wrap:after{transition:none}.page-in{animation:page-in .18s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}button:not(:disabled):active{transform:scale(.97)}button{transition:transform .08s ease-out}button{position:relative}.confirm-drain{position:absolute;left:6px;right:6px;bottom:3px;height:3px;border-radius:2px;background:currentColor;opacity:.55;transform-origin:left;animation:confirm-drain 4s linear forwards;pointer-events:none}@keyframes confirm-drain{to{transform:scaleX(0)}}.lifted{transform-box:fill-box;transform-origin:50% 20%;transform:scale(1.2);filter:drop-shadow(0 .07px .06px rgba(0,0,0,.5))}.mv.fresh{animation:mv-in .22s ease-out}@keyframes mv-in{0%{opacity:0;transform:translate(-8px)}}.tree-canvas .edge.draw{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:1;animation:edge-draw .7s ease-out both;animation-delay:calc(var(--i, 0) * .15s)}@keyframes edge-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.tree .node.just{animation:node-just .9s ease-out}@keyframes node-just{0%{box-shadow:0 0 0 0 var(--accent);transform:scale(.96)}30%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 45%,transparent);transform:scale(1.04)}to{box-shadow:0 0 0 0 transparent;transform:scale(1)}}.tree .node.opened{animation:node-opened .9s ease-out .6s both}@keyframes node-opened{0%,to{box-shadow:0 0 0 0 transparent}40%{box-shadow:0 0 0 3px var(--accent)}}.strip{position:relative}.bubble{position:absolute;left:34px;top:calc(100% + 4px);z-index:6;max-width:min(78%,320px);padding:6px 10px;border-radius:12px 12px 12px 3px;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px #0000004d;font-size:.9rem;line-height:1.3;pointer-events:none;overflow-wrap:anywhere;animation:bubble-in .2s ease-out,bubble-out .4s ease-in 5.6s forwards}@keyframes bubble-in{0%{opacity:0;transform:translateY(-4px) scale(.95)}}@keyframes bubble-out{to{opacity:0}}html[data-fx=reduced] .page-in,html[data-fx=reduced] .mv.fresh{animation:fx-fade-in .18s ease-out}html[data-fx=reduced] button:not(:disabled):active{transform:none}html[data-fx=reduced] .lifted{transform:none!important}html[data-fx=reduced] .tree .node.just,html[data-fx=reduced] .tree .node.opened{animation:none;box-shadow:0 0 0 3px var(--accent)}html[data-fx=reduced] .tree-canvas .edge.draw{stroke-dasharray:none;animation:none}html[data-fx=reduced] .bubble{animation:bubble-out .4s ease-in 5.6s forwards}html[data-fx=reduced] .confirm-drain{animation:none;opacity:.35}@keyframes fx-fade-in{0%{opacity:0}}html[data-fx=off] .page-in,html[data-fx=off] .mv.fresh,html[data-fx=off] .tree .node.just,html[data-fx=off] .tree .node.opened{animation:none}html[data-fx=off] button{transition:none}html[data-fx=off] button:not(:disabled):active{transform:none}html[data-fx=off] .confirm-drain{animation:none}@media (prefers-reduced-motion: reduce){button{transition:none}}.mv[aria-disabled]{cursor:default}.board.shake-lg-0{animation:board-shake-lg-a .55s cubic-bezier(.36,.07,.19,.97)}.board.shake-lg-1{animation:board-shake-lg-b .55s cubic-bezier(.36,.07,.19,.97)}@keyframes board-shake-lg-a{15%{transform:translate(-4px,2px)}35%{transform:translate(4px,-2px)}55%{transform:translate(-3px,1px)}75%{transform:translate(2px)}}@keyframes board-shake-lg-b{15%{transform:translate(-4px,2px)}35%{transform:translate(4px,-2px)}55%{transform:translate(-3px,1px)}75%{transform:translate(2px)}}.fx-flash{opacity:0;animation:fx-flash .35s ease-out both}@keyframes fx-flash{0%{opacity:.45}to{opacity:0}}.fx-spark{transform-box:fill-box;transform-origin:center;animation:fx-spark .65s cubic-bezier(.1,.7,.3,1) both}@keyframes fx-spark{0%{transform:translate(0) scale(1.4);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.3);opacity:0}}.fx-scorch{transform-box:fill-box;transform-origin:center;animation:fx-scorch-in .4s ease-out both}@keyframes fx-scorch-in{0%{opacity:0;transform:scale(.5)}}.fx-blown{transform-box:fill-box;transform-origin:center;animation:fx-blown .65s ease-out forwards}@keyframes fx-blown{to{transform:translate(.9px,-2.2px) rotate(240deg) scale(.5);opacity:0}}.topple{transform-box:fill-box;transform-origin:50% 95%;animation:topple .7s cubic-bezier(.5,0,.75,0) both}@keyframes topple{0%{transform:rotate(0)}30%{transform:rotate(-8deg)}to{transform:rotate(88deg) translate(.1px)}}.pop{transform-box:fill-box;transform-origin:center;animation:spawn-in .6s cubic-bezier(.3,1.4,.5,1) .22s both}@keyframes spawn-in{0%{opacity:0;transform:scale(.25);filter:brightness(4) saturate(0)}45%{opacity:1;transform:scale(1.18);filter:brightness(2) drop-shadow(0 0 .12px #6cb8ea)}to{opacity:1;transform:none;filter:none}}.card-flight{position:fixed;z-index:60;width:38px;height:52px;margin:-26px 0 0 -19px;border-radius:6px;pointer-events:none;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 80%,#fff),color-mix(in srgb,var(--c) 40%,#000));border:2px solid color-mix(in srgb,var(--c) 40%,#fff);box-shadow:0 6px 16px #0006;transform:rotate(0) scale(1)}.card-flight.go{transform:rotate(14deg) scale(.55);opacity:0;transition:left .5s cubic-bezier(.5,0,.2,1),top .5s cubic-bezier(.5,0,.2,1),transform .5s ease-in,opacity .18s ease-in .36s}.card-flight.calm{animation:calm-chip .7s ease-out both}@keyframes calm-chip{0%{opacity:.9}to{opacity:0}}.levelup{position:relative}.reveal .card-tile.rare{animation:card-flip .5s ease-out both,rare-flare .9s ease-out both;animation-delay:calc(var(--i, 0) * .22s),calc(var(--i, 0) * .22s + .45s)}@keyframes rare-flare{0%{box-shadow:0 0 #e0b43a}35%{box-shadow:0 0 0 10px color-mix(in srgb,#e0b43a 50%,transparent),0 0 40px #e0b43a}to{box-shadow:var(--shadow)}}html[data-fx=reduced] .fx-spark,html[data-fx=reduced] .fx-mote,html[data-fx=reduced] .fx-rune,html[data-fx=reduced] .fx-blown,html[data-fx=reduced] .confetti{display:none}html[data-fx=reduced] .fx-flash{animation-duration:.5s}html[data-fx=reduced] .fx-scorch{transform-box:fill-box;transform-origin:center;animation:fx-fade-in .4s ease-out both}html[data-fx=reduced] .topple{animation:none;transform:rotate(88deg);transform-origin:50% 95%}html[data-fx=reduced] .pop{animation:fx-fade-in .2s ease-out both}html[data-fx=reduced] .board.shake-lg-0,html[data-fx=reduced] .board.shake-lg-1{animation:none}html[data-fx=reduced] .reveal .card-tile.rare{animation:card-flip .5s ease-out both;animation-delay:calc(var(--i, 0) * .22s)}html[data-fx=off] .fx-flash,html[data-fx=off] .fx-spark,html[data-fx=off] .fx-shaft,html[data-fx=off] .fx-rune,html[data-fx=off] .fx-mote,html[data-fx=off] .fx-scorch,html[data-fx=off] .fx-blown,html[data-fx=off] .confetti,html[data-fx=off] .card-flight{display:none}html[data-fx=off] .topple,html[data-fx=off] .pop{animation:none}html[data-fx=off] .topple{transform:rotate(88deg)}html[data-fx=off] .board.shake-lg-0,html[data-fx=off] .board.shake-lg-1{animation:none}html[data-fx=off] .reveal .card-tile.rare{animation:card-flip .5s ease-out both;animation-delay:calc(var(--i, 0) * .22s)}.fx-shaft{transform-box:fill-box;transform-origin:50% 100%;opacity:0;animation:fx-shaft 1s ease-out both}@keyframes fx-shaft{0%{opacity:0;transform:scaleY(.2)}30%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.1)}}.fx-rune{transform-box:fill-box;transform-origin:center;animation:fx-rune 1s ease-out both}.fx-rune.inner{animation-direction:reverse;animation-name:fx-rune-in}@keyframes fx-rune{0%{opacity:0;transform:rotate(0) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(140deg) scale(1.25)}}@keyframes fx-rune-in{0%{opacity:0;transform:rotate(0) scale(1.2)}25%{opacity:1}to{opacity:0;transform:rotate(-160deg) scale(.5)}}.fx-mote{transform-box:fill-box;transform-origin:center;opacity:0;animation:fx-mote .95s ease-out both}@keyframes fx-mote{0%{opacity:0;transform:translate(0) scale(1)}20%{opacity:1}to{opacity:0;transform:translate(var(--dx),-1.7px) scale(.4)}}html[data-fx=reduced] .fx-shaft{animation:fx-fade .9s ease-out both;opacity:.8}html[data-fx=reduced] .pop{filter:none}.confetti{position:fixed;width:0;height:0;z-index:80;pointer-events:none}.confetti i{position:absolute;left:-4px;top:-6px;width:8px;height:12px;border-radius:1px;background:var(--c);opacity:0;animation:confetti 1.9s cubic-bezier(.15,.6,.4,1) both}@keyframes confetti{0%{opacity:1;transform:translate(0) rotate(0)}45%{opacity:1;transform:translate(calc(var(--dx) * .8),var(--up)) rotate(calc(var(--r) * .5))}to{opacity:0;transform:translate(var(--dx),calc(var(--up) + var(--fall))) rotate(var(--r))}}.peek-back{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:9;box-shadow:0 6px 18px #0006}.peek-back:active{transform:translate(-50%) scale(.97)}.map-train-dot{fill:var(--accent);stroke:var(--bg);stroke-width:2;pointer-events:none}.map-train-calm{fill:var(--accent);stroke:var(--bg);stroke-width:2;pointer-events:none;animation:calm-chip .9s ease-out both}
