@charset "UTF-8";
:root{color-scheme:dark;--night:#070d15;--panel:#0b1521;--ink:#e9edf2;--muted:#8e9aa9;--gold:#c8a66a;--gold-light:#f4d9a0;--blue:#49c8ff;--line:#314256;--font:Segoe UI,Tahoma,Arial,sans-serif;--title:Georgia,Times New Roman,serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);color:var(--ink);font-family:var(--font)}body{background-image:radial-gradient(ellipse at 50% 0,#182c40 0,transparent 65%);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}a{color:var(--blue);text-decoration:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input,select,textarea{color:var(--ink);background:#080f19;border:1px solid #344253;border-radius:4px;padding:11px 12px;min-width:0}input::placeholder{color:#6d7b8c}label{display:grid;gap:7px;color:#b6c0ce;font-size:12px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--title);font-weight:500}h1{font-size:44px}h2{font-size:28px}h3{font-size:20px}small{font-size:11px;color:var(--muted)}.hidden{display:none!important}.muted{color:var(--muted)}.gold{color:var(--gold-light)}.blue{color:var(--blue)}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold);font-weight:600}.line{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}.boot p{color:#aab5c3;letter-spacing:3px;font-size:12px}.loading-bar{width:160px;height:2px;overflow:hidden;background:#203246}.loading-bar:after{content:"";display:block;height:100%;width:45%;background:var(--blue);animation:load 1.3s ease-in-out infinite}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(320%)}}
.wordmark{font:43px/1 var(--title);letter-spacing:2px;white-space:nowrap;color:#faf4e8;text-shadow:0 2px 4px #000}.wordmark span{color:#c7f4ff;text-shadow:0 0 9px #34bcf6,0 0 26px #0ca9e9}.submark{font:9px var(--title);letter-spacing:1.3px;color:#dad2bd;margin-top:7px;text-align:center}.brand{padding:12px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #594a36;position:relative;flex-shrink:0}.brand:after{position:absolute;content:"◇";right:-6px;top:32px;font-size:12px;color:var(--gold)}.brand .wordmark{font-size:21px;letter-spacing:1.2px}
.topbar{height:74px;background:linear-gradient(#111924,#060b11);display:flex;align-items:stretch;border-bottom:1px solid #6b5637;box-shadow:0 4px 24px #0007;position:relative;z-index:20}.top-main{display:flex;align-items:center;gap:7px;padding:10px 16px;flex:1;min-width:0}.top-right{display:flex;gap:8px;align-items:center;padding:12px;border-left:1px solid #263140}.nav-btn,.metal-btn{border:1px solid #554936;border-radius:5px;background:linear-gradient(#17222e,#0a1019);padding:11px 15px;box-shadow:inset 0 1px #ffffff0d,0 2px 3px #0009;font-family:var(--title);white-space:nowrap;transition:.18s}.nav-btn:hover,.metal-btn:hover{border-color:var(--gold);background:linear-gradient(#25313d,#101a26)}.nav-btn.active,.metal-btn.blue-btn{border-color:#3e95c4;color:#e6f7ff;background:linear-gradient(#123553,#0e2336);box-shadow:inset 0 0 12px #329ee522,0 0 10px #1387ce22}.metal-btn.primary{background:linear-gradient(180deg,#214d67,#0d263d 60%,#163b4f);border:1px solid #6ddfff;box-shadow:inset 0 0 15px #30aaf52b,0 0 24px #28bbff26;color:#effcff}.metal-btn.gold-btn{border-color:#9b7c4f;background:linear-gradient(#483825,#221c15);color:#ffe5b4}.metal-btn.danger{border-color:#8a4444;color:#ffc2b7}.icon-btn{background:transparent;border:1px solid transparent;border-radius:4px;color:#afb9c6;font-size:19px;width:35px;height:36px;display:grid;place-items:center}.icon-btn:hover{color:#fff;border-color:#3b4959;background:#ffffff08}.segmented{display:flex;border:1px solid #3e444c;border-radius:5px;overflow:hidden;margin-left:8px}.segmented button{border:0;background:#0a1018;color:#93a0ae;padding:10px 17px;font:13px var(--title)}.segmented button.active{color:#d8f3ff;background:linear-gradient(#153a59,#0c2234);box-shadow:inset 0 -2px #56cfff}.connection{border-left:1px solid #293645;padding-left:12px;margin-left:2px;font-size:11px;color:#c5ced9;white-space:nowrap}.connection small{display:block;margin-top:5px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#62dd95;box-shadow:0 0 8px #62dd9566;margin-right:5px}.status-dot.offline{background:#dd9955}.top-spacer{flex:1}
.home-layout{display:grid;grid-template-columns:78px minmax(0,1fr);min-height:calc(100vh - 74px)}.nav-rail{border-right:1px solid #293442;background:linear-gradient(#0c1622,#080d14);padding:17px 8px;display:flex;flex-direction:column;gap:7px;position:sticky;top:0;max-height:calc(100vh - 74px)}.rail-btn{display:grid;place-items:center;gap:7px;padding:12px 0;border:1px solid transparent;background:transparent;color:#8190a2;border-radius:5px;font-size:10px}.rail-btn span{font-size:23px;line-height:1.1}.rail-btn.active,.rail-btn:hover{border-color:#615133;color:#ecd2a0;background:linear-gradient(#30281966,#1e2026)}.rail-bottom{margin-top:auto}.page{padding:30px 42px 40px;min-width:0;max-width:1800px;width:100%;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-title p{color:#9aa8b8;margin-top:8px;font-size:13px;line-height:1.6}.page-tools{display:flex;gap:10px;align-items:center}.hero{min-height:400px;display:flex;align-items:center;position:relative;overflow:hidden;border:1px solid #6e5a3c;border-radius:8px;background:linear-gradient(90deg,#07101cf0 0,#0b172dd5 30%,#0b173650 68%,#0d132345),url('/assets/images/battlefield.png') center/cover;box-shadow:0 14px 40px #0005,inset 0 0 50px #0007}.hero:before,.hero:after{content:"";position:absolute;inset:10px;border:1px solid #bca06d44;border-radius:4px;pointer-events:none}.hero:after{inset:auto 0 0;height:80px;background:linear-gradient(transparent,#040b15);border:0}.hero-content{z-index:1;padding:46px 52px;max-width:610px}.hero h1{font-size:53px;line-height:1.12;margin-top:17px;color:#fbefd5}.hero h1 em{font-style:normal;color:#98def7}.hero p{margin-top:20px;color:#adbaca;line-height:1.85;max-width:440px;font-size:14px}.hero-actions{display:flex;gap:11px;margin-top:28px}.hero-actions button{min-width:167px;padding:15px 22px}.hero-caption{position:absolute;right:30px;bottom:30px;text-align:right;font-size:11px;letter-spacing:2px;color:#d9bf8d;z-index:1}.hero-caption small{display:block;letter-spacing:.5px;margin-top:8px}.home-cards{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin-top:24px}.panel{border:1px solid #2c3c4d;border-radius:6px;background:linear-gradient(140deg,#15212f,#0c1420);box-shadow:0 5px 20px #0003;overflow:hidden}.panel-inner{padding:22px}.panel h3{color:#eee3ce;font-size:19px}.panel p{line-height:1.7;color:#99a8b9;font-size:12px;margin-top:9px}.panel-footer{border-top:1px solid #293b4b;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#070e1855;font-size:12px;color:#bba27a}.panel-footer button{border:0;background:transparent;color:#dbc291;font-size:12px}.faction-row{display:flex;gap:13px;margin-top:24px;align-items:center}.faction-badge{color:var(--faction);border:1px solid var(--faction);width:38px;height:38px;display:inline-grid;place-items:center;clip-path:polygon(50% 0,92% 20%,92% 78%,50% 100%,8% 78%,8% 20%);font-size:22px;background:#101923}
.faction-badge .faction-icon{display:block;width:26px;height:26px;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--faction) 28%,transparent))}
.faction-badge .faction-icon-accent{fill:var(--faction);stroke:var(--faction);fill-opacity:.2}.home-meta{display:flex;gap:30px;margin-top:30px}.home-meta strong{font:25px var(--title);color:#eee2ca;display:block}.home-meta small{letter-spacing:1px;font-size:9px;text-transform:uppercase}.section-label{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#dbc89f;font-size:11px;letter-spacing:1.7px;text-transform:uppercase}.section-label:after{content:"";height:1px;flex:1;background:#3b413f}.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mode-card{min-height:370px;position:relative;background:linear-gradient(transparent,#07101bee 55%),url('/assets/images/battlefield.png') center/cover;border:1px solid #5b523e;border-radius:7px;padding:27px;display:flex;flex-direction:column;justify-content:flex-end}.mode-card:nth-child(2){background-position:65% 20%;border-color:#376082}.mode-card:nth-child(3){background-position:0 80%;border-color:#58456e}.mode-card .mode-symbol{font-size:45px;color:#cebd8e;position:absolute;top:38px;left:30px;filter:drop-shadow(0 0 12px #d9c49c55)}.mode-card h2{font-size:29px}.mode-card p{color:#a7b6c7;line-height:1.8;margin-top:12px;font-size:13px}.mode-card button{margin-top:20px;align-self:flex-start}.deck-choice{display:grid;gap:9px;margin-top:20px}.deck-choice select{width:100%}.hint-box{border:1px solid #304559;background:#1424357a;border-radius:4px;padding:14px 17px;color:#aec2d4;font-size:12px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tabs{display:flex;border-bottom:1px solid #364657;margin-bottom:20px;gap:20px}.tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:#8ea1b4;padding:11px 3px;font-size:12px}.tabs button.active{color:#d1edff;border-bottom-color:var(--blue)}
.game-card{width:152px;height:222px;border:2px solid #957952;border-radius:9px;background:#151b22;position:relative;isolation:isolate;box-shadow:0 7px 13px #0009,inset 0 0 0 2px #060b12;flex-shrink:0;overflow:visible;transition:transform .18s ease,box-shadow .18s,border-color .18s;font-family:var(--title);transform:translateZ(0);text-align:left}.card-art{position:absolute;inset:4px 4px 67px;background-color:#1c3036;border-radius:5px 5px 0 0;background-repeat:no-repeat;background-size:cover;z-index:-1}.art-vignette{position:absolute;inset:5px 5px 65px;box-shadow:inset 0 -18px 20px #0008;pointer-events:none}.card-name{position:absolute;top:8px;left:28px;right:6px;text-align:center;color:#fffbe9;font-size:10px;line-height:1.2;text-shadow:0 2px 3px #000,0 0 4px #000;background:#080d1677;padding:4px 0;border-radius:3px}.cost-gem{position:absolute;top:-7px;left:-7px;width:33px;height:38px;display:grid;place-items:center;font:bold 24px var(--title);color:#f2fcff;background:linear-gradient(#125d8a,#082137);border:2px solid #b8d3c7;clip-path:polygon(50% 0,96% 20%,96% 75%,50% 100%,4% 75%,4% 20%);filter:drop-shadow(0 0 5px #37bef988);z-index:2}.card-paper{position:absolute;left:5px;right:5px;bottom:6px;height:76px;background:linear-gradient(#e6e1d3,#b8b6ab);color:#161c21;border-radius:0 0 3px 3px;border:1px solid #777364;overflow:hidden}.card-type{font-size:9px;font-family:var(--title);border-bottom:1px solid #77756b;padding:3px 7px;text-align:center;background:linear-gradient(#e9e6d8,#c1bbab);font-weight:bold}.card-type span{float:right;color:#514126}.card-rules{font:9px/1.4 var(--font);padding:5px 7px;height:44px;overflow:hidden}.card-rules b{font-size:8px}.card-rarity{font:6px var(--font);text-align:center;color:#555953;letter-spacing:.3px}.card-stats{position:absolute;bottom:-6px;left:-6px;right:-6px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none}.stat{width:30px;height:33px;display:grid;place-items:center;font:bold 23px var(--title);border:2px solid #c3c0a7;filter:drop-shadow(0 2px 2px #000);clip-path:polygon(12% 0,88% 0,100% 75%,50% 100%,0 75%);text-shadow:0 2px #000}.attack{background:linear-gradient(#262927,#080d11);color:#fff7db}.defense{background:linear-gradient(#7a2428,#2e1017);color:#fff6eb}.defense.wounded{color:#ff9b86}.faction-seal{margin-bottom:-4px;background:#111a22;border:1px solid var(--faction);color:var(--faction);height:27px;width:27px;clip-path:polygon(50% 0,100% 28%,86% 80%,50% 100%,14% 80%,0 28%);display:grid;place-items:center;font-size:22px}.card-seal{position:absolute;bottom:-7px;left:calc(50% - 12px);width:25px;height:25px;border:1px solid #967746;border-radius:50%;background:#14171e;color:var(--faction);display:grid;place-items:center;z-index:3}.frame-corner{position:absolute;width:12px;height:12px;pointer-events:none;border-color:#ddbc76;border-style:solid;z-index:3}.tl{top:1px;left:1px;border-width:2px 0 0 2px;border-radius:4px 0 0}.tr{top:1px;right:1px;border-width:2px 2px 0 0;border-radius:0 4px 0 0}.bl{bottom:1px;left:1px;border-width:0 0 2px 2px;border-radius:0 0 0 4px}.br{bottom:1px;right:1px;border-width:0 2px 2px 0;border-radius:0 0 4px}.rarity-rare{border-color:#69a9c1;box-shadow:0 0 8px #38b0d62b,0 6px 12px #0009}.rarity-epic{border-color:#bf8cec;box-shadow:0 0 12px #a66bde44,0 6px 12px #0009}.rarity-legendary{border-color:#f5d681;box-shadow:0 0 9px #ffd46366,0 0 27px #e4ba4533,0 6px 12px #0009}.rarity-legendary:after{content:"";position:absolute;inset:-5px;border:1px solid #dfbc5a66;border-radius:11px;pointer-events:none;animation:legendary 4s ease-in-out infinite}@keyframes legendary{50%{box-shadow:0 0 20px #e9c76433}}.game-card.playable{border-color:#56bddd;box-shadow:0 0 9px #40b5e744,0 5px 10px #0009}.game-card.selected{transform:translateY(-16px);border-color:#cff9ff;box-shadow:0 0 18px #69dfff99,0 0 35px #34a3e44d}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:24px 20px;align-items:start;padding:4px 3px 15px}.domain-grid{display:grid;grid-template-columns:repeat(auto-fit,152px);justify-content:center;align-items:start;gap:24px 20px;padding:8px 3px 18px}.collection-card{background:transparent;border:0;padding:0;display:grid;justify-content:center;gap:12px;position:relative;cursor:pointer}.collection-card:hover .game-card{transform:translateY(-5px);border-color:#c8d6d7}.collection-card small{color:#9daebb;text-align:center;max-width:152px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.collection-card.unowned{opacity:.48}.filter-bar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;margin-bottom:15px}.filter-bar input,.filter-bar select{padding:10px;font-size:12px}.pagination{display:flex;align-items:center;gap:15px;justify-content:center;padding-top:20px;border-top:1px solid #273545}.pagination button{padding:8px 13px}.empty-state{padding:50px 20px;color:#95a9bc;text-align:center;line-height:1.8}.deck-builder{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px}.deck-sidebar{padding:20px;position:sticky;top:20px;max-height:calc(100vh - 150px);overflow:auto;border:1px solid #405163;border-radius:6px;background:#101b29}.deck-sidebar h3{margin-bottom:12px}.deck-sidebar input{width:100%}.deck-sidebar .hint-box{margin:12px 0;font-size:11px}.deck-list{margin-top:15px;display:grid;gap:5px}.deck-item{display:flex;align-items:center;gap:8px;background:linear-gradient(90deg,#172a3b,#0b131e);border:1px solid #273747;border-left:2px solid var(--faction);padding:7px 8px;font-size:10px}.deck-item span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-item button{border:0;background:#29384a;color:#d8e0e8;width:20px;height:21px;padding:0}.curve{height:68px;display:flex;gap:6px;align-items:flex-end;padding:10px 0 14px;margin-top:10px}.curve-bar{flex:1;position:relative;background:linear-gradient(#70cbf3,#244762);min-height:2px;border-radius:2px 2px 0 0}.curve-bar small{position:absolute;bottom:-16px;width:100%;text-align:center;font-size:8px}.deck-summary{display:flex;gap:7px;flex-wrap:wrap;color:#a0b4c5;font-size:10px;margin:12px 0}.deck-tile{padding:24px;display:flex;gap:20px;border:1px solid #414949;background:linear-gradient(100deg,#182533,#0d1620);border-radius:6px}.deck-tile .game-card{transform:rotate(-6deg);width:105px;height:155px}.deck-tile .card-paper{height:54px}.deck-tile .card-art{bottom:46px}.deck-tile .card-rules{font-size:7px;height:24px;padding:3px 6px}.deck-tile .card-type{font-size:7px}.deck-tile .card-name{font-size:8px}.deck-tile .cost-gem{font-size:20px;width:28px;height:32px}.deck-tile-main{flex:1}.deck-tile h3{margin:8px 0}.deck-tile p{color:#93a7ba;font-size:12px;margin:10px 0 18px}.deck-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}

.game-card.compact{width:85px;height:115px;border-radius:7px}.compact .card-art{inset:3px 3px 4px;border-radius:3px}.compact .art-vignette{inset:3px;box-shadow:inset 0 -16px 14px #0008}.compact .unit-name{position:absolute;left:3px;right:3px;top:4px;background:#0a111b77;text-align:center;padding:3px;color:#fff6e3;font-size:7px;text-shadow:0 1px 3px #000}.compact .card-stats{bottom:-5px}.compact .stat{width:26px;height:30px;font-size:21px}.compact .faction-seal{width:24px;height:24px;font-size:19px}.compact.exhausted .card-art{filter:brightness(.65) saturate(.6)}.compact.summoning .card-art{filter:saturate(.78)}.shield-indicator{position:absolute;left:5px;bottom:23px;color:#cdf5ff;text-shadow:0 0 7px #3ac5fb;font-size:23px}.exhausted-mark{position:absolute;right:7px;bottom:22px;color:#d5dadd;font-size:24px;text-shadow:0 2px #000}.quantity{position:absolute;right:-8px;top:-8px;min-width:29px;border:1px solid #b8a17b;background:#0c1522;border-radius:4px;font:13px var(--font);padding:4px 6px;z-index:5}
.match-view{height:calc(100dvh - 74px);min-height:570px;display:flex;flex-direction:column}.match-banner{height:29px;display:flex;align-items:center;justify-content:center;gap:17px;background:#0b1521;border-bottom:1px solid #463d2c;color:#a4b3c5;font-size:10px;letter-spacing:.6px;flex-shrink:0}.phase-track{display:flex;gap:5px}.phase-track span{font-size:8px;color:#5d6e80;padding:4px 5px}.phase-track .current{color:#cfecff;background:#204762;border-radius:3px}.battle-body{display:grid;grid-template-columns:minmax(0,1fr) 288px;flex:1;min-height:0}.battle-board{background:linear-gradient(#16090918,#050f1b22),url('/assets/images/battlefield.png') center/cover;position:relative;display:grid;grid-template-rows:95px minmax(200px,1fr) 177px;min-width:0;overflow:hidden}.battle-board:before{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #040a1766;z-index:0}.opponent-row{display:grid;grid-template-columns:180px 1fr 170px;align-items:center;gap:10px;z-index:1;background:linear-gradient(#070b18bb,transparent);padding-right:12px}.hero-profile{position:relative;display:flex;align-items:center;gap:10px;min-width:0;z-index:4}.hero-avatar{width:91px;height:92px;position:relative;flex-shrink:0;border:2px solid #bda576;border-radius:0 18px 18px 0;box-shadow:0 0 0 3px #090e1766,0 0 19px #38b6ef33;background-color:#121f2b;background-repeat:no-repeat;overflow:visible}.hero-avatar:after{content:"";position:absolute;inset:4px;border:1px solid #cdb58166;border-radius:0 12px 12px 0;pointer-events:none}.opponent .hero-avatar{box-shadow:0 0 0 3px #090e1766,0 0 19px #dd573e33}.core-badge{position:absolute;right:-7px;bottom:-11px;width:46px;height:52px;display:grid;place-items:center;color:#f6fafb;font:bold 30px var(--title);background:linear-gradient(#17669a,#0c1a32);border:2px solid #e1cb9d;clip-path:polygon(5% 0,50% 12%,95% 0,98% 68%,50% 100%,2% 68%);z-index:5;text-shadow:0 2px #000}.opponent .core-badge{background:linear-gradient(#9b2b27,#301214)}.hero-info{min-width:0;padding-top:2px}.hero-info h3{font-size:16px;color:#f6eddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-info p{color:#b0b6bf;font-size:10px;margin-top:5px}.hero-info .faction-badge{width:23px;height:25px;font-size:17px;margin-top:9px}.hidden-hand{display:flex;justify-content:center;align-self:start;padding-top:7px;height:74px;perspective:900px}.card-back{width:43px;height:63px;border:1px solid #ae8a4e;border-radius:4px;background:radial-gradient(ellipse,#192e3e,#08111c 70%);position:relative;transform:rotate(calc(var(--rotation,0)*1deg));margin-left:-9px;box-shadow:0 3px 8px #000}.card-back:before{content:"✧";position:absolute;inset:5px;border:1px solid #755e35;display:grid;place-items:center;color:#ac915d;font-size:26px}.card-back:after{content:"";position:absolute;inset:9px;border:1px solid #725b3455;transform:rotate(9deg)}.piles{display:flex;gap:9px;justify-content:flex-end}.pile{width:64px;height:72px;border:1px solid #8b7148;background:linear-gradient(#0c1420bb,#070c13dd);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;border-radius:4px}.pile .pile-icon{font-size:24px;color:#bda576}.pile small{color:#bec4cb;font-size:9px}.pile strong{font:14px var(--title)}button.pile:hover{border-color:#e0c694}.battlefield{display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr));position:relative;padding:0 8px 8px 0;z-index:2;gap:4px}.board-landscape{background:linear-gradient(90deg,transparent,#071a2e11);position:relative}.board-landscape .zone-instruction{position:absolute;bottom:25%;left:16px;right:13px;font:600 12px/1.6 var(--font);color:#e8f3fa;background:#07121cd9;border:1px solid #4d6a7f;border-radius:6px;padding:6px 8px;text-shadow:0 1px 2px #000}.zone-column{display:grid;grid-template-rows:30px 1fr 1fr;position:relative;border-left:1px solid #c6a96e9e;border-right:1px solid #63594477;box-shadow:inset 0 0 25px #0003;min-width:0}.zone-column:before,.zone-column:after{position:absolute;content:"◆";color:#c8a770;font-size:12px;left:-7px;z-index:3}.zone-column:before{top:14px}.zone-column:after{top:calc(50% + 9px)}.zone-title{margin:0 -3px;border:1px solid #8c6b3f;background:linear-gradient(#251d17,#100e13);color:#eed8a1;display:flex;align-items:center;justify-content:center;font:14px var(--title);letter-spacing:.3px;clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);z-index:3;text-shadow:0 2px #000}.zone-title small{font:9px var(--font);color:#b2c4cf;margin-left:7px}.lane{display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:13px;padding:9px;position:relative;background:linear-gradient(#420e191f,#25070b3b);border-bottom:3px solid #ab925b99;min-height:0;overflow-y:auto;overflow-x:hidden;transition:background .2s,box-shadow .2s}.lane.player-lane{background:linear-gradient(#102b472f,#1331525c);border-bottom:3px solid #a28e5f77}.lane.player-lane:before{content:"";position:absolute;top:-4px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#dec48b,transparent);box-shadow:0 0 10px #cbb77c55}.lane.legal-zone{cursor:pointer;background:#177aaa27;box-shadow:inset 0 0 27px #48b7e72f;border-bottom-color:#9be4ff}.lane.legal-zone:hover{background:#208fbb49;box-shadow:inset 0 0 20px #8bd5f166}.lane .empty-slot{width:62px;height:88px;border:1px dashed #c7ad7940;clip-path:polygon(10% 0,90% 0,100% 10%,100% 90%,90% 100%,10% 100%,0 90%,0 10%);display:grid;place-items:center;color:#bba7754d;font:26px var(--title);pointer-events:none}.unit-button{background:transparent;border:0;padding:0;position:relative;transition:.2s;min-width:0}.unit-button:hover{transform:translateY(-3px)}.unit-button.legal-target .game-card{border-color:#7cdeff;box-shadow:0 0 16px #4bc8ff77}.unit-button.can-attack .game-card{box-shadow:0 0 9px #72dcad44;border-bottom-color:#b2e5cf}.unit-button.selected .game-card{border-color:#dcf8ff;box-shadow:0 0 24px #3ed8ff99;transform:translateY(-6px)}.unit-status{position:absolute;bottom:-15px;font:7px var(--font);left:0;right:0;text-align:center;color:#dddfde;letter-spacing:.2px;text-shadow:0 1px 3px #000}.hand-row{display:grid;grid-template-columns:178px minmax(0,1fr);align-items:stretch;z-index:5;background:linear-gradient(transparent,#07111ac9 40%,#050b15ed);position:relative}.player-profile{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:18px;min-width:0}.player-profile .hero-profile{gap:7px}.player-profile .hero-avatar{width:86px;height:106px}.player-profile .hero-info h3{font-size:15px}.player-profile .hero-info p{font-size:9px}.essence-info{font-size:9px;color:#a5c5d8;margin-top:10px}.essence-count{color:#a7e6ff;font-size:12px;white-space:nowrap;margin-top:6px}.essence-gems{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:8px;max-width:78px}.essence-gem{width:9px;height:11px;background:#081927;border:1px solid #948565;clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%)}.essence-gem.filled{background:linear-gradient(#e1feff,#22c5fa 50%,#1963b3);border-color:#c0f4ff;filter:drop-shadow(0 0 3px #44c3e0)}.hand-container{display:flex;align-items:flex-end;justify-content:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding:23px 11px 12px;scrollbar-width:thin;scrollbar-color:#546474 transparent;perspective:900px;position:relative}.hand-card{padding:0;background:transparent;border:0;display:block;position:relative;flex-shrink:0;cursor:pointer;transition:transform .18s}.hand-card .game-card{width:111px;height:153px;transform:rotate(calc(var(--tilt,0)*1deg));transform-origin:bottom center}.hand-card .card-art{bottom:50px}.hand-card .art-vignette{bottom:49px}.hand-card .card-paper{height:56px}.hand-card .card-name{font-size:8px;left:24px;top:6px;padding:2px 0}.hand-card .cost-gem{width:27px;height:31px;font-size:21px}.hand-card .card-type{font-size:7px;padding:2px}.hand-card .card-rules{font-size:7px;line-height:1.28;padding:3px 5px;height:33px}.hand-card .card-rules b{font-size:6px}.hand-card .card-rarity{font-size:5px}.hand-card .stat{width:26px;height:28px;font-size:21px}.hand-card:hover{transform:translateY(-11px);z-index:10}.hand-card:hover .game-card{transform:rotate(0);border-color:#d2e2db}.hand-card.selected .game-card{transform:translateY(-10px) rotate(0);border-color:#c5faff;box-shadow:0 0 20px #4bd6ff66}.hand-card.unplayable .card-art{filter:saturate(.6) brightness(.73)}.hand-placeholder{align-self:center;text-align:center;color:#a6b7c1;font:13px var(--title);width:100%}.domain-counter{position:absolute;top:2px;left:9px;font-size:9px;display:flex;gap:12px;color:#a1bccb}.domain-counter span{display:flex;align-items:center;gap:4px}.battle-sidebar{border-left:2px solid #9f804a;background:linear-gradient(#111d2a,#07101a);display:flex;flex-direction:column;min-height:0;position:relative;box-shadow:-5px 0 14px #0007}.side-tabs{display:flex;min-height:42px;border-bottom:1px solid #3a5267;padding:0 10px}.side-tabs button{flex:1;background:transparent;border:0;border-bottom:2px solid transparent;font:14px var(--title);color:#8998a8;padding:10px 3px}.side-tabs button.active{color:#d0f0ff;border-color:#64dfff;background:linear-gradient(transparent,#1042694a)}.stack-content{height:160px;overflow-y:auto;padding:10px}.stack-entry{display:flex;align-items:center;gap:10px;border:1px solid #2a4053;border-radius:4px;background:#080f1b;padding:8px;margin-bottom:6px;font-size:11px}.stack-art{width:40px;height:42px;flex-shrink:0;border:1px solid #9c8762;border-radius:3px;background-color:#243348}.stack-entry strong{font-size:11px;font-weight:500;display:block}.stack-entry small{margin-top:4px;display:block;font-size:9px}.stack-entry .stack-order{border:1px solid #9b8b70;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font:12px var(--title);margin-left:auto;flex-shrink:0}.stack-empty{height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;text-align:center;color:#8aa0b4;font-size:10px}.stack-empty span{font-size:24px;color:#527494}.priority-bar{padding:9px 12px;background:#14233299;border-top:1px solid #2f4152;display:flex;gap:7px;align-items:center}.priority-bar p{flex:1;color:#adc1d2;font-size:9px;line-height:1.5}.priority-bar button{padding:7px 9px;font-size:10px}.side-log{font-size:10px;line-height:1.5;display:grid;gap:7px;color:#aabacc}.side-log .log-entry{padding:5px 8px;border-left:2px solid #62768b;background:#0d1b2977}.side-log .log-entry small{font-size:8px;color:#5d91ac;margin-right:5px}.chat-section{display:flex;flex-direction:column;flex:1;min-height:70px;overflow:hidden;border-top:1px solid #887348;padding:0 10px 10px}.chat-tabs{display:flex;gap:4px;border-bottom:1px solid #2b4054;padding:6px 0}.chat-tabs button{background:transparent;border:1px solid transparent;border-radius:3px;padding:6px 14px;color:#8699ad;font:12px var(--title)}.chat-tabs button.active{color:#d5ecf7;border-color:#5e778c;background:#182c4055}.chat-messages{flex:1;overflow-y:auto;font-size:10px;line-height:1.7;padding:9px 3px;color:#bdc7d0;min-height:0}.chat-message strong{color:#5ecfff;font-weight:500}.chat-message.mine strong{color:#efd392}.chat-form{display:flex;gap:4px;margin-top:6px}.chat-form input{flex:1;font-size:10px;padding:7px 8px;width:100%}.chat-form button{background:#233448;border:1px solid #4a5a6b;border-radius:3px;padding:5px 9px;color:#dce9f2}.emotes{display:flex;gap:4px;margin-top:6px}.emotes button{font-size:8px;padding:3px 5px;border:1px solid #2a3b4a;border-radius:3px;background:#0c1a28;color:#93a9ba}.turn-area{padding:12px;border-top:1px solid #877247}.end-turn{width:100%;height:73px;border:1px solid #67d8ff;clip-path:polygon(8% 0,92% 0,100% 30%,100% 70%,92% 100%,8% 100%,0 70%,0 30%);background:linear-gradient(#0c2841,#104363 50%,#082036);box-shadow:inset 0 0 22px #33c7ff44;font:23px var(--title);color:#f5fcff;position:relative;text-shadow:0 2px 4px #000;filter:drop-shadow(0 0 8px #29a9de66)}.end-turn span{font-size:31px;color:#8cf2ff;vertical-align:middle;margin-right:7px}.end-turn:hover:not(:disabled){background:linear-gradient(#103854,#1c5c7a 50%,#10324b)}.turn-note{font-size:8px;text-align:center;letter-spacing:.4px;color:#7da3b8;margin-top:8px}.battle-hint{position:absolute;bottom:177px;left:155px;right:15px;z-index:12;text-align:center;pointer-events:none}.battle-hint span{display:inline-block;background:#061320e8;border:1px solid #5395b680;color:#caeaf8;border-radius:4px;padding:8px 14px;font-size:11px;box-shadow:0 5px 15px #0008}.selection-cancel{margin-left:8px;color:#8be1ff;pointer-events:auto;border:0;background:transparent;font-size:10px}.declare-raid-btn{margin-left:10px;pointer-events:auto;border:1px solid #e8c877;background:linear-gradient(#3a2d12,#1c1508);color:#ffe9b0;border-radius:4px;padding:5px 12px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}.declare-raid-btn:hover{background:linear-gradient(#57431a,#2a2010);color:#fff}
.raid-panel{margin-top:8px;border:1px solid #5395b680;border-radius:6px;background:#061320cc;padding:8px 10px;display:grid;gap:6px;text-align:left}.raid-head{font-size:11px;font-weight:700;color:#f0d9a0;letter-spacing:.4px}.raid-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:#d9e7f2}.raid-row b{color:#ffb3a1}.raid-pick{border:1px solid #6db6d8;background:#0e2a3d;color:#cdeeff;border-radius:4px;padding:4px 10px;font-size:11.5px;font-weight:700;cursor:pointer}.raid-pick:hover{background:#174a68;color:#fff}.raid-btns{display:flex;gap:8px;flex-wrap:wrap}.raid-btns .metal-btn{padding:7px 12px;font-size:11.5px}.battle-disconnected{position:absolute;inset:0;display:grid;place-items:center;background:#06101aca;z-index:15}.damage-pop{position:fixed;z-index:80;font:bold 38px var(--title);color:#ffb3a1;text-shadow:0 2px 4px #000,0 0 15px #ff4b38;pointer-events:none;animation:float 1s ease-out forwards}.damage-pop.heal{color:#aaf5cb;text-shadow:0 2px #000,0 0 15px #34df9d}@keyframes float{0%{transform:translateY(5px) scale(.7);opacity:0}20%{opacity:1;transform:translateY(-10px) scale(1.1)}100%{transform:translateY(-60px);opacity:0}}.new-unit{animation:materialize .45s ease-out}@keyframes materialize{from{transform:scale(.65) translateY(18px);filter:brightness(2);opacity:0}to{transform:scale(1);filter:brightness(1);opacity:1}}.attack-flash{animation:attackflash .4s}@keyframes attackflash{50%{filter:brightness(1.8);transform:scale(1.05)}}

.overlay-backdrop{position:fixed;inset:0;z-index:100;background:#030912cc;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{max-width:650px;width:100%;max-height:90vh;overflow:auto;border:1px solid #9e8356;border-radius:8px;background:linear-gradient(145deg,#192633,#0b1421 60%);box-shadow:0 24px 100px #000b;position:relative}.modal.wide{max-width:980px}.modal-header{padding:24px 28px 18px;border-bottom:1px solid #36465a;display:flex;align-items:center;gap:20px}.modal-header h2{flex:1;font-size:25px;color:#f0dfbd}.modal-body{padding:25px 28px}.modal-footer{padding:17px 28px;border-top:1px solid #2c4051;display:flex;gap:10px;justify-content:flex-end}.modal p{color:#a7b8c9;font-size:13px;line-height:1.8}.modal label{margin-bottom:14px}.modal input,.modal select{width:100%}.modal .form-grid label{margin-bottom:0}.modal .icon-btn{font-size:23px}.card-detail{display:grid;grid-template-columns:184px 1fr;gap:30px}.card-detail .game-card{width:184px;height:273px}.card-detail .card-art{bottom:92px}.card-detail .card-paper{height:98px}.card-detail .card-name{font-size:12px}.card-detail .card-rules{font-size:11px;height:64px;line-height:1.5}.card-detail .card-type{font-size:11px}.card-detail .card-rarity{font-size:7px}.card-detail h3{margin:10px 0}.detail-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;margin-bottom:16px}.tag{display:inline-block;padding:5px 9px;border:1px solid #405468;border-radius:3px;background:#1b2d3d;color:#c0d1e0;font-size:10px}.card-detail .flavor{font:italic 13px/1.7 var(--title);color:#b3a68d;border-top:1px solid #354652;padding-top:15px;margin-top:18px}.card-preview{position:fixed;z-index:90;pointer-events:none;opacity:0;transition:opacity .1s;filter:drop-shadow(0 10px 22px #0009)}.card-preview.visible{opacity:1}.card-preview .game-card{width:215px;height:313px}.card-preview .card-art{bottom:111px}.card-preview .card-paper{height:117px}.card-preview .card-name{font-size:13px}.card-preview .card-rules{font-size:11px;line-height:1.5;height:82px;padding:8px}.card-preview .card-type{font-size:11px}.card-preview .card-rarity{font-size:8px}.card-preview .stat{width:35px;height:38px;font-size:27px}.card-preview .cost-gem{width:38px;height:44px;font-size:29px}.toast{background:#13283bf5;border:1px solid #5282a0;color:#d5ecfa;box-shadow:0 5px 20px #0005;border-radius:5px;padding:12px 18px;font-size:12px;max-width:400px;animation:toast-in .2s ease-out;line-height:1.6}.toast.error{background:#3a1d26f5;border-color:#aa5b5b;color:#ffd9cf}#toasts{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);display:grid;gap:8px;z-index:120;pointer-events:none}@keyframes toast-in{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.currency{display:flex;gap:20px;color:#c2d0db;font-size:12px}.currency strong{color:#eac789;margin-left:4px}.pack-stage{display:flex;justify-content:center;padding:26px 0 40px;perspective:1000px}.pack-box{width:164px;height:227px;background:linear-gradient(145deg,#203b52,#091827 45%,#1c2635);border:2px solid #a89061;border-radius:8px;box-shadow:0 0 50px #2687b62b,inset 0 0 0 6px #050d1888;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transform:rotate(-5deg);position:relative}.pack-box:before{content:"";position:absolute;inset:10px;border:1px solid #ab8a4d66;border-radius:4px}.pack-box .pack-emblem{font-size:70px;color:#b9e7f5;filter:drop-shadow(0 0 15px #29b5f288)}.pack-box p{color:#dac398;font:8px/1.5 var(--title);letter-spacing:.8px;max-width:134px;text-align:center}.pack-box .wordmark{font-size:15px;letter-spacing:.5px}.pack-open .booster-pack{animation:pack-open 1s ease-in forwards}@keyframes pack-open{40%{transform:rotate(3deg) scale(1.07);filter:brightness(1.2)}100%{transform:scale(1.3);filter:brightness(3);opacity:0}}.pack-results{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 12px;justify-items:center}.pack-results .game-card{animation:materialize .5s ease-out both;animation-delay:calc(var(--i,0)*.1s)}.mission-list{display:grid;gap:14px}.mission{padding:22px 25px;display:flex;align-items:center;gap:22px}.mission-icon{width:50px;height:50px;border:1px solid #77613f;border-radius:5px;background:#2a231c;color:#dbc392;font:29px var(--title);display:grid;place-items:center}.mission-info{flex:1}.mission h3{font-size:18px}.mission p{color:#93a7ba;font-size:12px;margin-top:7px}.progress{height:4px;background:#263747;border-radius:2px;margin-top:13px;max-width:450px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#2c78a7,#80d9ff)}.profile-header{display:flex;gap:28px;align-items:center;padding:30px}.profile-avatar{width:115px;height:115px;border-radius:50%;border:2px solid #c6a369;background-color:#172b3b;box-shadow:0 0 28px #49b1e72b;flex-shrink:0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.stat-panel{text-align:center;padding:28px 10px}.stat-panel strong{font:36px var(--title);color:#efdbb2;display:block}.stat-panel small{display:block;margin-top:10px;letter-spacing:1.2px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-section{padding:25px}.settings-section h3{margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #273a4b}.setting-row:last-child{border-bottom:0}.setting-row label{display:block;font-size:13px;color:#c9d3dc}.setting-row small{display:block;margin-top:6px;color:#8398ac}.setting-row input[type=checkbox]{appearance:none;width:38px;height:22px;border:1px solid #456275;border-radius:15px;background:#172733;padding:0;position:relative;cursor:pointer}.setting-row input[type=checkbox]:before{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;background:#7c92a5;border-radius:50%;transition:.2s}.setting-row input:checked{background:#124b67;border-color:#58b3d1}.setting-row input:checked:before{left:19px;background:#aeecff}.setting-row input[type=range]{max-width:165px;accent-color:#6bcdf5}.table-wrap{overflow:auto;border:1px solid #324757;border-radius:6px}table{width:100%;border-collapse:collapse;font-size:12px}th{background:#192b3a;color:#b9d1e1;font-weight:500;text-align:left;padding:14px}td{padding:15px;border-top:1px solid #293b4b;color:#acbdca}td:first-child{color:#ecd4a9}.online-room{padding:25px;margin-top:25px;display:flex;align-items:center;gap:25px}.room-code{font:30px var(--title);letter-spacing:4px;color:#a4e6ff;padding:15px 0}.waiting-pulse{width:12px;height:12px;border-radius:50%;background:#66ceee;box-shadow:0 0 15px #66ceee66;animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.35}}.victory{padding:35px;text-align:center;background:linear-gradient(#0c203ba8,#0c1222e8),url('/assets/images/battlefield.png') center/cover}.victory .victory-mark{font-size:65px;color:#edcb79;text-shadow:0 0 25px #d8ac5477}.victory h1{color:#f8deb0;margin:15px 0;font-size:42px}.victory p{margin-bottom:25px}.victory .button-row{justify-content:center}.tutorial-steps{display:grid;gap:18px;counter-reset:step}.tutorial-step{display:flex;gap:14px}.tutorial-step:before{counter-increment:step;content:counter(step);border:1px solid #7b8c92;border-radius:50%;height:25px;width:25px;flex-shrink:0;display:grid;place-items:center;color:#cfdece;font:14px var(--title)}.tutorial-step h3{font-size:16px;margin-bottom:6px}.tutorial-step p{font-size:12px}.footer-note{font-size:10px;color:#617e96;padding-top:22px;line-height:1.7}.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:25px}.admin-form textarea{width:100%;min-height:120px;font-size:12px}.admin-form .form-grid{margin-bottom:14px}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;transition:none!important}
@media(min-width:1600px){.battle-body{grid-template-columns:minmax(0,1fr) 330px}.battle-board{grid-template-rows:117px minmax(300px,1fr) 225px}.battlefield{grid-template-columns:190px repeat(3,minmax(0,1fr))}.opponent-row{grid-template-columns:230px 1fr 190px}.hero-avatar{width:117px;height:112px}.hero-info h3{font-size:19px}.hero-info p{font-size:11px}.game-card.compact{width:107px;height:144px}.lane{gap:18px}.compact .unit-name{font-size:8px}.compact .stat{width:31px;height:35px;font-size:25px}.hand-row{grid-template-columns:226px 1fr}.player-profile .hero-avatar{width:125px;height:146px}.player-profile .hero-info h3{font-size:17px}.hand-card .game-card{width:139px;height:192px}.hand-card .card-art{bottom:61px}.hand-card .card-paper{height:67px}.hand-card .card-name{font-size:9px}.hand-card .card-type{font-size:8px}.hand-card .card-rules{font-size:8px;height:40px}.hand-container{gap:9px;padding-bottom:17px}.battle-hint{bottom:225px;left:198px}.hero h1{font-size:64px}.hero{min-height:470px}.stack-content{height:215px}.chat-messages{font-size:12px}.end-turn{height:85px}.turn-area{padding:16px}}
@media(max-width:1250px){.top-main{padding:10px;gap:5px}.nav-btn{font-size:12px;padding:10px}.brand{padding:12px 20px}.brand .wordmark{font-size:20px;letter-spacing:1px}.segmented{margin-left:1px}.segmented button{padding:10px 12px}.top-right{gap:3px;padding:8px}.connection{display:none}.battle-body{grid-template-columns:minmax(0,1fr) 245px}.battlefield{grid-template-columns:110px repeat(3,minmax(0,1fr))}.lane{padding:9px 5px;gap:7px}.game-card.compact{width:72px;height:100px}.compact .unit-name{font-size:6px}.compact .stat{width:23px;height:27px;font-size:18px}.battle-hint{left:115px}.end-turn{font-size:20px;height:65px}.stack-entry{gap:7px;font-size:10px}.page{padding:27px}.home-cards{gap:15px}.hero-content{padding:40px}.hero h1{font-size:46px}.player-profile .hero-info h3{font-size:13px}.opponent-row{grid-template-columns:180px 1fr 151px}.hand-card .game-card{width:99px;height:145px}.hand-card .card-name{font-size:7px}.hand-container{gap:5px}.filter-bar{grid-template-columns:2fr 1fr 1fr}.deck-builder{grid-template-columns:minmax(0,1fr) 250px}.hero-caption{display:none}}
@media(max-width:1000px){.topbar{height:66px}.top-main .top-room{display:none}.top-right .profile-top{display:none}.topbar .brand{padding:10px 15px}.topbar .wordmark{font-size:19px}.topbar .submark{font-size:7px;letter-spacing:.8px}.home-layout{grid-template-columns:65px 1fr}.nav-rail{padding:12px 5px}.hero{min-height:350px}.hero h1{font-size:38px}.hero-content{padding:32px}.home-cards{grid-template-columns:1fr 1fr}.home-cards .panel:last-child{grid-column:1/-1}.play-grid{grid-template-columns:1fr 1fr}.play-grid .mode-card:last-child:nth-child(odd){grid-column:1/-1;min-height:220px}.deck-tiles{grid-template-columns:1fr}.match-view{height:auto;min-width:890px;min-height:640px}.match-view .battle-body{height:610px;flex:none}.battle-board{grid-template-rows:86px 1fr 177px}.battle-sidebar{min-height:610px}.card-grid{gap:22px 14px}.profile-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.topbar{height:auto;min-height:64px;flex-wrap:wrap}.topbar .brand{border-right:0;width:185px}.top-main{padding:8px 4px;gap:4px}.nav-btn{font-size:11px;padding:9px 7px}.segmented{display:none}.top-right{margin-left:auto;border:0}.top-main .nav-online{display:none}.topbar .top-spacer{display:none}.top-main .home-top{display:none}.home-layout{display:block}.nav-rail{flex-direction:row;position:static;padding:6px;gap:2px;border-bottom:1px solid #293c4b;border-right:0;overflow:auto}.rail-btn{padding:8px 11px;min-width:55px;gap:4px;font-size:8px}.rail-btn span{font-size:20px}.rail-bottom{margin:0}.page{padding:21px 16px}.hero{min-height:350px}.hero-content{padding:28px 24px}.hero h1{font-size:33px}.hero p{font-size:12px}.hero-actions{flex-direction:column}.hero-actions button{padding:12px}.home-cards,.play-grid{grid-template-columns:1fr}.home-cards .panel:last-child,.play-grid .mode-card:last-child:nth-child(odd){grid-column:auto}.page-title{flex-direction:column;align-items:flex-start}.page-title h1{font-size:29px}.page-tools{flex-wrap:wrap}.mode-card{min-height:300px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.game-card{width:135px;height:207px}.filter-bar{grid-template-columns:1fr 1fr}.filter-bar input{grid-column:1/-1}.deck-builder{display:flex;flex-direction:column-reverse}.deck-sidebar{position:static;max-height:350px}.settings-grid,.form-grid{grid-template-columns:1fr}.modal-body{padding:22px 18px}.modal-header{padding:20px 18px}.modal-footer{padding:15px 18px}.overlay-backdrop{padding:12px}.card-detail{grid-template-columns:1fr;justify-items:center}.card-detail>div:last-child{width:100%}.profile-header{padding:22px;gap:18px}.profile-avatar{width:80px;height:80px}.profile-header h1{font-size:28px}.profile-stats{gap:10px}.mission{padding:18px;gap:12px;flex-wrap:wrap}.mission-info{min-width:130px}.mission-icon{width:38px;height:38px;font-size:24px}.pack-results{grid-template-columns:repeat(2,1fr)}.pack-results .game-card{width:130px;height:200px}.admin-layout{grid-template-columns:1fr}.match-view{min-width:890px}.card-preview{display:none}.victory h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}
.card-detail-image{position:relative;display:block;width:184px;max-width:100%;padding:0;border:0;background:transparent;line-height:0;text-align:left;cursor:zoom-in}
.card-detail-image .game-card{width:100%;height:auto}
.card-detail-image:hover .game-card{filter:drop-shadow(0 0 8px #9fe4ff66)}
.card-detail-image:focus-visible{outline:2px solid #9fe4ff;outline-offset:5px;border-radius:4px}
.card-zoom-instruction{display:block;margin-top:10px;color:#9cb9ce;font:11px/1.4 var(--font);text-align:center}
.card-zoom-backdrop{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:20px;background:#030912ed;backdrop-filter:blur(9px)}
.card-zoom-dialog{position:relative;display:flex;max-height:100%;flex-direction:column;align-items:center;gap:10px}
.card-zoom-dialog .game-card{width:min(84vw,470px,calc((100dvh - 100px)*.714286));height:auto;aspect-ratio:5/7}
.card-zoom-dialog p{margin:0;color:#b9c8d5;font:12px/1.4 var(--font);text-align:center}
.card-zoom-close{position:absolute;top:-18px;right:-46px;z-index:1;width:38px;height:38px;border:1px solid #8b9dac;background:#142536;color:#fff;font-size:24px}
@media(max-width:650px){.card-detail-image{width:min(184px,72vw)}.card-zoom-backdrop{padding:16px}.card-zoom-dialog .game-card{width:min(88vw,470px,calc((100dvh - 92px)*.714286))}.card-zoom-close{top:-46px;right:0}}


.hero-info h3{white-space:normal;line-height:1.15;max-height:38px;font-size:14px;overflow:hidden}.advanced-filters{font-size:11px;color:#809db4;margin:0 0 15px}.advanced-filters summary{cursor:pointer}

/* Keep both players' fields visible within the current window. */
:root{--game-header-height:74px;--field-card-height:clamp(62px,calc((100dvh - 390px)/2),144px)}
body.playing-match{overflow-y:hidden}
.match-view{height:calc(100dvh - var(--game-header-height));min-height:0;min-width:890px;overflow:hidden}
.match-view .battle-body{height:auto;flex:1;min-height:0}
.battle-board{grid-template-rows:clamp(66px,13dvh,112px) minmax(0,1fr) clamp(110px,22dvh,205px);min-height:0}
.battlefield{grid-template-columns:clamp(100px,10vw,170px) repeat(3,minmax(0,1fr));min-height:0;gap:4px;padding-bottom:5px}
.zone-column{grid-template-rows:27px minmax(0,1fr) minmax(0,1fr);min-height:0}
.zone-title{font-size:13px}
.lane{padding:16px 6px 12px;gap:10px;overflow-x:hidden;overflow-y:auto;flex-wrap:wrap;align-content:center;min-height:0}
.enemy-lane{background:linear-gradient(#430d153a,#18060bb3);border-bottom:3px solid #c79c60}
.player-lane{background:linear-gradient(#1039574d,#08192cb3)}
.lane-label{position:absolute;top:4px;left:8px;color:#e0bb85;font:8px var(--font);letter-spacing:.8px;pointer-events:none;z-index:3}
.player-lane .lane-label{color:#9bd3e8}
.game-card.compact{width:calc(var(--field-card-height)*.74);height:var(--field-card-height);max-width:100%}
.unit-button{max-width:calc((100% - 16px)/3);flex:0 1 auto}
.unit-button:only-of-type{max-width:95%}
.compact .unit-name{font-size:clamp(6px,.7vw,9px);line-height:1.2;max-height:26px;overflow:hidden}
.compact .stat{width:clamp(21px,2vw,30px);height:clamp(24px,2.4vw,34px);font-size:clamp(17px,1.8vw,25px)}
.compact .faction-seal{width:22px;height:22px;font-size:16px}
.unit-status{font-size:7px;bottom:-11px}
.explained-unit .game-card{outline:2px solid #8ae1ff;box-shadow:0 0 18px #4ebce977}
.opponent-row{grid-template-columns:clamp(150px,15vw,225px) minmax(0,1fr) 145px;gap:8px;padding-right:9px;min-height:0;overflow:hidden}
.opponent-overview{display:flex;flex-direction:column;justify-content:center;min-height:0;min-width:0;height:100%}
.hidden-hand{height:auto;min-height:0;flex:1;align-self:stretch;padding-top:3px;align-items:center;overflow:hidden}
.card-back{height:clamp(43px,8.3dvh,70px);width:clamp(29px,4dvh,43px)}
.card-back:before{font-size:22px}
.opponent-resources{display:flex;gap:12px;justify-content:center;align-items:center;color:#d6b87e;font-size:9px;padding:4px 0;min-height:20px;white-space:nowrap}
.opponent-resources strong{color:#c0e7fa;font-weight:500}
.opponent-resources button,.domain-counter button{background:transparent;border:0;color:inherit;padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:3px}
.pile{height:clamp(52px,10dvh,85px);width:61px;gap:3px}.pile .pile-icon{font-size:20px}
.hero-avatar{height:clamp(62px,12dvh,112px);width:clamp(64px,7vw,112px)}
.hero-info h3{font-size:clamp(11px,1vw,16px);max-height:33px}
.hero-info p{font-size:8px;max-height:20px;overflow:hidden;margin-top:3px}
.hero-info .faction-badge{height:20px;width:20px;font-size:14px;margin-top:4px}
.core-badge{font-size:clamp(22px,2vw,30px);height:43px;width:38px;bottom:-5px;right:-5px}
.core-badge.large-core{min-width:38px;width:max-content;padding:0 7px;font-size:clamp(18px,1.6vw,24px);font-variant-numeric:tabular-nums;white-space:nowrap}
.player-profile .hero-avatar{height:clamp(76px,16dvh,145px);width:clamp(65px,7vw,120px)}
.player-profile{padding-bottom:10px}
.hand-row{grid-template-columns:clamp(150px,15vw,225px) minmax(0,1fr);min-height:0}
.hand-container{padding:19px 8px 6px;gap:6px;align-items:flex-end;min-height:0}
.hand-card .game-card{height:clamp(94px,19dvh,181px);width:clamp(69px,13.9dvh,131px)}
.hand-card .card-paper{height:clamp(38px,7.5dvh,62px)}
.hand-card .card-art{bottom:clamp(37px,7.4dvh,61px)}
.hand-card .art-vignette{bottom:clamp(36px,7.3dvh,60px)}
.hand-card .card-name{font-size:clamp(6px,.7vw,9px);top:4px;left:22px}
.hand-card .card-rules{font-size:clamp(5px,.8dvh,8px);height:calc(clamp(38px,7.5dvh,62px) - 20px);padding:2px 4px}
.hand-card .card-rules b{font-size:inherit}
.hand-card .card-type{font-size:clamp(5px,.85dvh,8px)}
.hand-card .cost-gem{height:26px;width:24px;font-size:19px}
.hand-card .stat{height:24px;width:24px;font-size:19px}
.hand-card .faction-seal{width:20px;height:20px;font-size:15px}
.hand-card.unplayable .game-card{opacity:.82}
.domain-counter{font-size:8px;left:10px;top:1px;gap:12px}
.essence-info{margin-top:4px;font-size:8px}.essence-count{font-size:10px;margin-top:3px}.essence-gems{margin-top:4px;gap:3px}
.board-landscape{display:flex;flex-direction:column;justify-content:space-between;min-height:0;padding:10px 9px 6px 8px;gap:6px;overflow:hidden}
.field-owner-label{font-size:12.5px;font-weight:700;letter-spacing:1px;color:#f0d9a0;text-align:center;flex-shrink:0;text-shadow:0 2px 4px #000;line-height:1.3}
.player-owner{color:#b7e6ff;padding-top:6px;border-top:1px solid #75887955}
.last-play{border:1px solid #9e845544;border-radius:4px;background:#07121ccf;display:grid;justify-items:center;gap:5px;max-width:100%;padding:7px 5px;color:#deca9f;flex:1;min-height:0;overflow:hidden}
.last-play small{font-size:9px;letter-spacing:.6px;color:#c6d2dc;font-weight:600}
.last-play-art{width:clamp(39px,5.5vw,83px);height:clamp(43px,10dvh,112px);border:1px solid #ad895e88;border-radius:3px;display:block;flex-shrink:0}
.last-play strong{font-size:11.5px;line-height:1.3;max-height:none;overflow:visible;color:#f4e3b8}
.last-play em{font-size:9.5px;color:#a9bfcd;font-style:normal}
.board-landscape .zone-instruction{position:static;text-align:center;font:600 11.5px/1.5 var(--font);color:#e8f3fa;background:#07121cd9;border:1px solid #4d6a7f;border-radius:6px;padding:7px 8px;flex-shrink:0;text-shadow:0 1px 2px #000}
.opponent-wait{text-align:center;color:#e2cf9f;font-size:11px;line-height:1.5;flex:1;display:grid;place-content:center;gap:10px}.opponent-wait span{font-size:28px}
.battle-hint{bottom:clamp(110px,22dvh,205px);left:clamp(100px,10vw,170px);font-size:10px}
/* Effects, priority and chat share the engraved blue and gold panel style. */
.battle-sidebar{min-height:0;overflow:hidden;background:radial-gradient(ellipse at 100% 0,#18364c55,transparent 60%),linear-gradient(180deg,#101e2c,#080f18);border-left-color:#aa8b54}
.side-tabs{display:grid;grid-template-columns:1.3fr 1fr;gap:4px;padding:7px 10px;min-height:44px;flex-shrink:0;border-bottom:1px solid #35495d;background:#08121b66}
.side-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:6px 4px;border:1px solid transparent;border-radius:5px;background:transparent;font:600 11.5px/1.2 var(--font);color:#93a9bd;white-space:nowrap;transition:color .16s,border-color .16s,background .16s}
.side-tabs button.active{color:#d5f3ff;border:1px solid #478aa8;background:linear-gradient(180deg,#1e455b99,#122738);box-shadow:inset 0 1px #a0e7ff1a,0 1px 4px #0003}
.side-tabs button:hover{color:#e5f6ff;border-color:#4c6c81;background-color:#1a304355}
.side-tabs .nav-icon{width:16px;height:16px;flex-shrink:0}
.stack-count{min-width:16px;padding:2px 3px;border-radius:4px;background:#68d9ff22;color:#bfeeff;font:600 9px/1 var(--font);font-variant-numeric:tabular-nums}
.stack-content{height:auto;max-height:clamp(90px,19dvh,180px);min-height:60px;flex-shrink:1;padding:8px 10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#0b17214a,#07111b22)}
.stack-content.is-empty{height:clamp(72px,13dvh,118px);flex-shrink:0}
.stack-empty{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:9px;row-gap:4px;height:100%;min-height:0;padding:8px 9px;border:1px dashed #385269;border-radius:7px;background:radial-gradient(ellipse at 0 50%,#244c6429,transparent 80%);color:#adc7d8;text-align:left;font:11px/1.4 var(--font)}
.stack-empty .stack-empty-icon{grid-row:1/3;align-self:center;display:grid;place-items:center;width:36px;height:36px;margin:0;border:1px solid #496b815c;border-radius:50%;background:radial-gradient(circle,#23435899,#0b1726);color:#88d6f2;font-size:inherit}
.stack-empty .nav-icon{width:26px;height:26px}
.stack-empty strong{align-self:end;color:#d3e6ef;font:600 12px/1.25 var(--font)}
.stack-empty p{margin:0;color:#98afc0;font:10.5px/1.4 var(--font)}
.stack-entry{display:flex;align-items:center;gap:8px;border:1px solid #365266;border-radius:6px;background:linear-gradient(135deg,#1a2d3d,#101b29);padding:8px;margin:0 0 7px;box-shadow:inset 0 1px #8dc3da0c}
.stack-entry:last-child{margin-bottom:0}
.stack-entry.next-effect{border-color:#568ca3;background:linear-gradient(135deg,#21425788,#101b29);box-shadow:inset 3px 0 #73cbe0}
.stack-entry[data-action]{width:100%;text-align:left;font:inherit;cursor:pointer}
.stack-entry[data-action]:hover{border-color:#96ddf4;background:linear-gradient(135deg,#25475d,#142b3b)}
.stack-entry[data-action]:focus-visible{outline:2px solid #85ddff;outline-offset:2px}
.stack-art{width:36px;height:44px;flex-shrink:0;border:1px solid #b39663;border-radius:4px;box-shadow:0 2px 5px #0005}
.stack-description{flex:1;min-width:0}
.stack-entry strong{display:block;color:#f0e4ce;font:600 12px/1.35 var(--font);overflow-wrap:anywhere}
.stack-entry small{display:block;margin-top:4px;color:#a9c0d0;font:10px/1.4 var(--font)}
.stack-entry .stack-order{width:23px;height:23px;flex-shrink:0;margin-left:auto;border:1px solid #738d9f;border-radius:5px;background:#0a1825;color:#d1eafa;font:600 11px var(--font)}
.battle-sidebar .side-log{display:grid;gap:6px;font:11px/1.45 var(--font);color:#c4d4df}
.battle-sidebar .log-entry{display:flex;align-items:flex-start;gap:7px;border:1px solid #30495c;border-radius:5px;background:#112232b3;padding:7px 8px;overflow-wrap:anywhere}
.battle-sidebar .log-entry small{flex-shrink:0;padding:3px 4px;margin:0;border-radius:3px;background:#27465877;color:#9ed9f0;font:600 9px/1 var(--font)}
.battle-sidebar .log-entry span{min-width:0}
.log-empty{padding:12px 8px;color:#9ab4c5;font-size:11px}
.priority-bar{display:flex;align-items:center;gap:8px;flex-shrink:0;margin:0 10px 8px;padding:8px 10px;border:1px solid #536174;border-radius:6px;background:linear-gradient(120deg,#1b2b3c,#101f2c);box-shadow:inset 3px 0 #829ab0}
.priority-bar.own-priority{border-color:#44809a;background:linear-gradient(120deg,#16435a77,#102536);box-shadow:inset 3px 0 #70d2ee}
.priority-copy{flex:1;min-width:0}
.priority-title{display:flex;align-items:center;gap:6px;color:#d1e9f3;font:600 11.5px/1.3 var(--font)}
.priority-title::before{content:"";width:5px;height:5px;flex-shrink:0;background:#8ba6bd;transform:rotate(45deg)}
.own-priority .priority-title::before{background:#8be1f4;box-shadow:0 0 5px #59c7ee55}
.priority-bar p{margin-top:4px;color:#adc7d9;font:11px/1.45 var(--font)}
.priority-bar button{flex-shrink:0;padding:8px 9px;border-radius:5px;font-size:11px}
.chat-section{display:flex;flex-direction:column;min-height:124px;flex:1;padding:8px 10px 10px;gap:7px;border-top:1px solid #394f61;overflow:hidden;background:linear-gradient(180deg,#0b1b2966,#07111a22)}
.chat-tabs{display:flex;align-items:center;gap:5px;flex-shrink:0;border:0;padding:0}
.chat-tabs button{display:flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #31495d;border-radius:5px;background:#101d2a;color:#91a9bc;font:600 11px/1.3 var(--font);transition:color .16s,border-color .16s,background .16s}
.chat-tabs button.active{color:#e3d4b6;border-color:#9b8454;background:linear-gradient(180deg,#3a332480,#1e2630);box-shadow:inset 0 1px #d8bf7914}
.chat-tabs button:hover{color:#e6edf3;border-color:#8292a1}
.chat-tabs .nav-icon{width:14px;height:14px;flex-shrink:0}
.chat-messages{display:grid;grid-auto-rows:max-content;align-content:start;gap:6px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:2px 0;color:#c3d4df;font:11px/1.5 var(--font);overscroll-behavior:contain}
.chat-message{padding:7px 8px;border:1px solid #304b60;border-radius:6px;background:#14283980;overflow-wrap:anywhere}
.chat-message.mine{border-color:#6e6146;background:linear-gradient(120deg,#302c215e,#14283980)}
.chat-message strong{display:block;margin-bottom:3px;color:#99def5;font:600 10.5px/1.3 var(--font)}
.chat-message.mine strong{color:#e8cf98}
.chat-message>span{display:block;font:11px/1.45 var(--font);white-space:pre-wrap}
.chat-empty{display:flex;align-items:center;gap:8px;padding:4px 1px;color:#c3d3de;font:11px/1.4 var(--font)}
.chat-empty>span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;color:#779daf}
.chat-empty .nav-icon{width:23px;height:23px}
.chat-empty strong{display:block;font-size:11px;font-weight:500;line-height:1.4}
.chat-empty small{display:block;margin-top:3px;color:#839eb1;font:10px/1.4 var(--font)}
.chat-form{display:flex;gap:5px;flex-shrink:0;margin:0}
.chat-form input{flex:1;min-width:0;height:34px;padding:8px 9px;border:1px solid #405d73;border-radius:6px;background:linear-gradient(180deg,#07131f,#0c1b28);color:#deebf4;font:11px var(--font);box-shadow:inset 0 2px 5px #0004}
.chat-form input::placeholder{color:#839aaf}
.chat-form input:focus-visible{outline:1px solid #86dcf8;outline-offset:1px;border-color:#86cce3}
.chat-form button{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;padding:6px;border:1px solid #4b92b0;border-radius:6px;background:linear-gradient(180deg,#214d65,#102c43);color:#c7f1ff;box-shadow:inset 0 1px #b8eeff16;transition:background .16s,border-color .16s}
.chat-form button .nav-icon{width:21px;height:21px}
.chat-form button:hover{border-color:#a0ddf5;background:linear-gradient(180deg,#326781,#173c55);color:#fff}
.emotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;flex-shrink:0;margin:0}
.emotes button{min-width:0;padding:4px 3px;border:1px solid #384b5b;border-radius:4px;background:#11202d;color:#a8bdcb;font:9.5px/1.2 var(--font);white-space:nowrap;transition:color .16s,border-color .16s,background .16s}
.emotes button:hover{color:#ead5b2;border-color:#8e7950;background:#27291f}
.stack-content,.chat-messages{scrollbar-width:thin;scrollbar-color:#426479 transparent}
.stack-content::-webkit-scrollbar,.chat-messages::-webkit-scrollbar{width:5px}
.stack-content::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb{border-radius:4px;background:#426479}
.battle-sidebar .side-tabs button:focus-visible,.battle-sidebar .chat-tabs button:focus-visible,.battle-sidebar .emotes button:focus-visible,.chat-form button:focus-visible{outline:2px solid #b6ebff;outline-offset:2px}
.spectator .stack-content.is-empty{height:clamp(64px,11dvh,100px)}
@media(max-height:600px){.side-tabs{padding:5px 8px;min-height:36px}.side-tabs button{font-size:11px;padding:5px 3px}.side-tabs .nav-icon{width:14px;height:14px}.stack-entry{padding:6px 7px;gap:7px}.stack-art{width:32px;height:38px}.stack-entry small{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-content{padding:6px 8px;min-height:54px;height:auto;max-height:clamp(80px,17dvh,110px)}.stack-content.is-empty{height:72px}.stack-empty{padding:6px 8px;column-gap:6px;grid-template-columns:32px minmax(0,1fr)}.stack-empty .stack-empty-icon{width:30px;height:30px}.stack-empty .nav-icon{width:23px;height:23px}.stack-empty strong{font-size:11px}.stack-empty p{font-size:10px}.priority-bar{margin:0 8px 6px;padding:6px 8px}.priority-title{font-size:11px}.priority-bar p{font-size:10.5px;margin-top:3px}.chat-section{min-height:114px;padding:6px 8px 8px;gap:6px}.chat-form input,.chat-form button{height:32px}.chat-form button{width:32px}.chat-empty{gap:6px;padding:0}.chat-empty>span{width:20px;height:20px}.chat-empty .nav-icon{width:19px;height:19px}.chat-empty strong{font-size:10.5px}.chat-empty small{display:none}}
.reduced-motion .side-tabs button,.reduced-motion .chat-tabs button,.reduced-motion .chat-form button,.reduced-motion .emotes button{transition:none}
@media(prefers-reduced-motion:reduce){.side-tabs button,.chat-tabs button,.chat-form button,.emotes button{transition:none}}
/* Battle shortcuts use the same engraved emblems as the navigation. */
.side-modes{padding:10px;border-top:1px solid #405060;flex-shrink:0;background:linear-gradient(180deg,#14243466,#080f1840)}
.side-modes h3{display:flex;align-items:center;gap:9px;font:13px var(--title);color:#e7dcc5;margin-bottom:9px}
.side-modes h3::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#8c754a70,transparent)}
.side-mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.side-mode-button{--mode-rgb:235 195 126;position:relative;isolation:isolate;display:grid;justify-items:center;align-content:center;gap:6px;min-width:0;height:clamp(62px,10dvh,80px);padding:8px 4px;border:1px solid rgb(var(--mode-rgb)/.42);border-radius:7px;background:radial-gradient(ellipse at 50% 0,rgb(var(--mode-rgb)/.14),transparent 75%),linear-gradient(180deg,#19222d,#0a121c);color:rgb(var(--mode-rgb));box-shadow:inset 0 1px rgb(var(--mode-rgb)/.1),0 3px 7px #0004;transition:border-color .16s,box-shadow .16s,background .16s,transform .16s}
.side-mode-button[data-mode="online"]{--mode-rgb:147 219 255}
.side-mode-button[data-mode="bot"]{--mode-rgb:211 179 255}
.side-mode-button::before{content:"";position:absolute;inset:3px;border:1px solid rgb(var(--mode-rgb)/.09);border-radius:4px;pointer-events:none;z-index:-1}
.side-mode-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgb(var(--mode-rgb)/.25);border-radius:50%;background:radial-gradient(circle at 50% 20%,rgb(var(--mode-rgb)/.12),#07121bbb);box-shadow:inset 0 0 0 2px #08111b66}
.side-mode-icon .nav-icon{width:25px;height:25px;stroke-width:1.6;fill-opacity:.12}
.side-mode-icon .nav-icon-accent{fill:currentColor;stroke:currentColor;fill-opacity:.9}
.side-mode-label{font:600 11px/1.25 var(--font);white-space:nowrap;letter-spacing:.1px;text-shadow:0 1px 2px #0009}
.side-mode-button:hover{transform:translateY(-1px);border-color:rgb(var(--mode-rgb)/.85);background:radial-gradient(ellipse at 50% 0,rgb(var(--mode-rgb)/.24),transparent 80%),linear-gradient(180deg,#202f3e,#101b29);box-shadow:inset 0 1px rgb(var(--mode-rgb)/.2),0 4px 9px #0005}
.side-mode-button:active{transform:translateY(0);box-shadow:inset 0 2px 7px #0007}
.side-mode-button.current-mode{border-color:rgb(var(--mode-rgb)/.9);background:radial-gradient(ellipse at 50% 0,rgb(var(--mode-rgb)/.25),transparent 85%),linear-gradient(180deg,#22303e,#111c2a);box-shadow:inset 0 0 0 1px rgb(var(--mode-rgb)/.1),inset 0 1px rgb(var(--mode-rgb)/.25),0 0 12px rgb(var(--mode-rgb)/.1)}
.side-mode-button.current-mode::after{content:"";position:absolute;top:7px;right:7px;width:5px;height:5px;transform:rotate(45deg);background:rgb(var(--mode-rgb));box-shadow:0 0 6px rgb(var(--mode-rgb)/.6);pointer-events:none}
.side-mode-button:focus-visible{outline:2px solid #c4efff;outline-offset:3px;border-color:#eefaff}
@media(min-width:1600px){.side-modes{padding:12px 14px}.side-mode-label{font-size:12px}.side-mode-icon{width:35px;height:35px}.side-mode-icon .nav-icon{width:28px;height:28px}}
@media(max-height:600px){.side-modes{padding:7px 10px}.side-modes h3{margin-bottom:6px;font-size:12px}.side-mode-button{height:58px;gap:4px;padding:6px 4px}.side-mode-icon{width:28px;height:28px}.side-mode-icon .nav-icon{width:23px;height:23px}}
.reduced-motion .side-mode-button{transition:none}
@media(prefers-reduced-motion:reduce){.side-mode-button{transition:none}}
.turn-area{padding:9px 10px;flex-shrink:0}
.end-turn{height:clamp(41px,9dvh,82px);font-size:clamp(16px,1.6vw,24px)}
.end-turn span{font-size:23px}
.turn-note{font-size:7px;margin-top:5px}
.spectator .stack-content{height:clamp(56px,12dvh,130px);flex-shrink:0}
.coach-panel{display:flex;flex-direction:column;min-height:0;flex:1;border-top:1px solid #746244;padding:10px;gap:9px;background:linear-gradient(#12263899,#081321)}
.coach-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:11px;color:#e2d0ac;flex-shrink:0}
.coach-heading button{font-size:8px;white-space:nowrap;border:1px solid #3a728d;background:#102a3d;border-radius:3px;padding:6px;color:#bce7fa}
.coach-reading{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-right:4px}
.lesson-kind{font-size:8px;letter-spacing:1px;color:#75c7e6;margin-bottom:9px;text-transform:uppercase}
.coach-reading h3{font-size:15px;line-height:1.3;color:#efdbb6;margin-bottom:10px}
.coach-reading p{font-size:11px;line-height:1.65;color:#b5c8d8;margin-bottom:9px}
.coach-reading .lesson-detail{font-size:10px;border-left:2px solid #519dbc;padding-left:9px;color:#dbddcf}
.lesson-facts{margin:8px 0;padding:9px 9px 9px 21px;background:#15354a77;border-radius:3px;color:#b8e5ef;font-size:10px;line-height:1.6}
.lesson-keywords{font-size:10px;color:#d3bc86;margin:10px 0}
.lesson-keywords summary{cursor:pointer}
.lesson-keywords p{font-size:10px;margin-top:6px}
.lesson-card-link{font-size:10px;background:transparent;border:0;color:#8ed9f4;padding:5px 0}
.coach-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #345164;padding-top:8px;flex-shrink:0}
.coach-controls label{display:flex;align-items:center;gap:5px;grid-column:1/-1;font-size:9px}
.coach-controls select{padding:5px;font-size:9px;flex:1}
.coach-controls button{font-size:9px;padding:7px 3px;background:#132a3b;border:1px solid #3a596d;border-radius:3px;color:#c6dce8}
.coach-controls button[aria-pressed=true]{border-color:#80c9e6;background:#214b64}
.coach-options{margin-top:17px;border:1px solid #41627a;border-radius:4px;padding:15px;background:#102335}
.coach-options[hidden]{display:none}
.coach-check{display:flex;align-items:center;gap:10px;color:#c5e6f7;font-size:12px}
.coach-check input{accent-color:#55c5f2}
.coach-options p{font-size:11px;line-height:1.6;color:#9aafc0;margin-top:10px}
@media(max-height:650px){:root{--game-header-height:58px}.topbar{height:58px;min-height:58px}.brand{padding:6px 23px}.brand .wordmark{font-size:21px}.brand .submark{font-size:8px}.top-main{padding-top:6px;padding-bottom:6px}.top-right{padding-top:4px;padding-bottom:4px}.nav-btn{padding:8px 10px}.match-banner{height:25px;gap:12px}.match-banner .icon-btn{height:21px;width:23px;font-size:14px}.phase-track span{padding:3px}.lane{padding-top:14px;padding-bottom:11px}.zone-title{font-size:12px}.chat-tabs button{padding:7px}.chat-form input{height:29px}.emotes{display:none}.coach-heading{font-size:10px}.coach-reading h3{font-size:13px}.coach-reading p{font-size:10px;line-height:1.5}.coach-panel{padding:8px;gap:6px}.coach-controls{padding-top:5px}.coach-controls button{padding:5px}.side-tabs{min-height:32px}}
@media(max-width:1000px){:root{--game-header-height:66px}.match-view{height:calc(100dvh - var(--game-header-height));min-height:0}.match-view .battle-body{height:auto;flex:1}.battle-sidebar{min-height:0}.lane{gap:5px}.battlefield{grid-template-columns:100px repeat(3,minmax(0,1fr))}}
@media(max-width:650px){body.playing-match{overflow-x:auto}.match-view{min-width:890px}}

.zone-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 6px}.zone-picker button{white-space:normal;min-height:62px;line-height:1.5}.priority-bar p{font-size:10px}.priority-bar{min-height:48px}

/* Indicador de vez e espaço para a moldura completa da mão. */
:root{--field-card-height:clamp(62px,calc((100dvh - 415px)/2),144px)}
.match-banner{height:38px;gap:14px}.battle-body{height:calc(100% - 38px)}
.turn-indicator{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:7px 12px;border-radius:4px;border:1px solid #6282a0;font:700 12px/1.1 Segoe UI,Arial,sans-serif;letter-spacing:.6px;background:#132334;color:#afc7da}
.turn-indicator.your-turn{border-color:#67dfa3;background:linear-gradient(110deg,#143e36,#102d37);color:#b6ffcf;box-shadow:0 0 13px #34ba7250}.turn-beacon{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.your-turn .turn-beacon{animation:turn-pulse 2s ease-in-out infinite}.waiting-turn{color:#f2ca9f;background:#302722;border-color:#927448}.watching{color:#91d9ff}.finished{color:#e4d4b2}
.hero-profile.has-priority .hero-avatar{border-color:#95e6b4;box-shadow:0 0 15px #66dbb66b}.hand-container{padding-bottom:14px}
@keyframes turn-pulse{50%{box-shadow:0 0 15px #aaffcf;opacity:.55}}
@media(max-width:1100px){.match-banner{gap:7px}.phase-track{display:none}.turn-indicator{font-size:11px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.turn-beacon{animation:none!important}}
.reduced-motion .turn-beacon{animation:none}

/* A mão ocupa uma linha própria; dados e cemitério ficam fora das cartas. */
:root{--hand-card-height:clamp(94px,19dvh,181px);--hand-area-height:calc(var(--hand-card-height) + 62px);--opponent-area-height:clamp(66px,13dvh,112px);--field-card-height:clamp(56px,calc((100dvh - var(--game-header-height) - 38px - var(--opponent-area-height) - var(--hand-area-height) - 108px)/2),144px)}
.battle-board{grid-template-rows:var(--opponent-area-height) minmax(0,1fr) var(--hand-area-height)}
.hand-area{display:grid;grid-template-rows:36px minmax(0,1fr);min-width:0;min-height:0}.hand-area:has(.hand-limit-alert){grid-template-rows:minmax(22px,auto) 36px minmax(0,1fr)}.hand-limit-alert{padding:4px 8px;background:#5b2125e8;color:#ffe3c7;text-align:center;font-size:11px;font-weight:600;border-bottom:1px solid #b75b5d;z-index:11}.hand-card.discardable .game-card{outline:3px solid #ff8a5a;outline-offset:2px;filter:drop-shadow(0 0 9px #ff6b43bb);cursor:pointer}.hand-card.discardable:hover .game-card{outline-color:#ffd28a;filter:drop-shadow(0 0 13px #ff9a57)}@media(max-width:1000px){.hand-limit-alert{font-size:9px;padding:3px 4px}}
.hand-summary{display:flex;align-items:center;gap:14px;padding:0 12px;background:#091827ed;border-top:1px solid #647f89;border-bottom:1px solid #30495c;color:#b8ccda;font-size:11px;z-index:11;white-space:nowrap}
.hand-summary>span{display:flex;align-items:center;gap:7px}.hand-summary .essence-summary{color:#d9c68e;gap:4px}.hand-summary strong{color:#f2dcaa;font-size:12px}
.hand-summary button{display:flex;align-items:center;gap:7px;border:1px solid #435d71;background:#122b3d;border-radius:4px;padding:5px 9px;color:#d0e4ef;font-size:11px}
.hand-summary button:hover{border-color:#89cff0;background:#1b4056}.hand-summary .player-graveyard{margin-left:auto;border-color:#c4a76a;color:#f5dfad;background:#302c23}.hand-summary .player-graveyard:hover{background:#4b3f26;border-color:#ffe0a0}
.hand-container{padding:10px 8px 14px;gap:7px;overflow-y:hidden;justify-content:safe center}.hand-card .game-card{height:var(--hand-card-height);transform:none}.hand-card:hover{transform:translateY(-4px)}.hand-card.selected .game-card{transform:none}
.battle-hint{bottom:var(--hand-area-height)}
@media(max-width:1000px){.hand-summary{font-size:9px;padding:0 6px;gap:6px}.hand-summary button{font-size:9px;padding:5px 6px;gap:4px}.hand-summary strong{font-size:10px}}

/* Effects stay inside the card; the hand and its resource bar keep their own rows. */
.enhancement-badge{position:absolute;left:8px;right:8px;top:42%;display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 3px;border:1px solid #96dfb2;border-radius:4px;background:#09241ff0;color:#c0ffd3;font:700 10px/1.2 var(--font);box-shadow:0 1px 5px #0009;z-index:4;pointer-events:none;white-space:nowrap}
.enhancement-icons{color:#f0d38a}.compact .enhancement-badge{top:auto;bottom:27px;left:3px;right:3px;gap:2px;padding:2px 0;font-size:clamp(7px,.7vw,9px)}
.stat.enhanced{color:#acffd1}.defense.wounded{color:#ff9b86}.compact:has(.enhancement-badge) .shield-indicator{bottom:42px;font-size:16px}.compact:has(.enhancement-badge) .exhausted-mark{bottom:43px;font-size:16px}
.unit-enhancement-detail{margin-top:16px;border-top:1px solid #385164;padding-top:6px}.unit-enhancement-detail h3{font:16px var(--title);color:#eaddb6}.unit-attributes{width:100%;border-collapse:collapse;font-size:12px}.unit-attributes th,.unit-attributes td{padding:7px 5px;text-align:center;border-bottom:1px solid #314b5b}.unit-attributes th:first-child{text-align:left}.unit-attributes thead{color:#a9c0cf}.bonus-value,.modal p.added-keywords{color:#a9efc5}.modal p.damage-note{color:#ffb69a;font-size:11px;margin-top:8px}.enhancement-sources{list-style:none;margin:0;padding:0;display:grid;gap:7px}.enhancement-sources li{border:1px solid #345847;border-radius:4px;background:#112b253d;padding:8px 10px;font-size:12px}.enhancement-sources strong,.enhancement-sources small,.enhancement-sources span{display:block}.enhancement-sources strong{color:#e9ead4}.enhancement-sources small{color:#a9bcbb;font-size:10px;margin:4px 0}.enhancement-sources span{color:#b0edc4}

.unit-slot{position:relative;max-width:calc((100% - 16px)/3);flex:0 1 auto;min-width:0}.unit-slot:only-child{max-width:95%}.unit-slot .unit-button{max-width:100%;width:100%}.unit-slot .unit-status{right:16px}.unit-details{position:absolute;bottom:-18px;right:0;width:18px;height:18px;border:0;background:#0d2638e8;border-radius:50%;color:#c3e8f9;display:grid;place-items:center;padding:0;font:13px var(--font);z-index:5}.unit-details:hover,.unit-details:focus-visible{color:#fff;background:#19567b;outline:1px solid #84dbff}

.unlimited-currency{flex-wrap:wrap}.unlimited-currency strong{font-size:20px;line-height:1}.testing-currency-label{color:#91d8b2;border:1px solid #365b47;padding:4px 7px;border-radius:3px;font-size:9px;letter-spacing:.4px}

/* Value emblems share one scale across collection, hand, field and previews. */
.game-card{--cost-width:38px;--cost-height:44px;--cost-font:27px;--stat-width:36px;--stat-height:43px;--stat-font:25px;--seal-size:29px;--stat-inset:-7px;--stat-bottom:-8px}
.game-card .cost-gem,.game-card .stat{display:grid;place-items:center;position:relative;border:0;border-radius:0;clip-path:none;box-shadow:none;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:100% 100%;color:#fff5db;font-family:var(--title);font-weight:700;line-height:1;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em;text-shadow:0 2px 2px #000,0 0 3px #0008;filter:drop-shadow(0 2px 3px #000b);isolation:isolate;flex-shrink:0}
.game-card .cost-gem{position:absolute;top:-9px;left:-9px;width:var(--cost-width);height:var(--cost-height);font-size:var(--cost-font);padding:.06em .12em .17em;background-image:url('/assets/images/ui/value-cost.svg?v=2.0.309');color:#f4fcff;z-index:6}
.game-card .card-name{left:31px}
.game-card .card-stats{left:var(--stat-inset);right:var(--stat-inset);bottom:var(--stat-bottom);z-index:4;align-items:flex-end}
.game-card .stat{width:var(--stat-width);height:var(--stat-height);font-size:var(--stat-font);padding:.4em .12em .18em}
.game-card .attack{background-image:url('/assets/images/ui/value-attack.svg?v=2.0.309')}
.game-card .defense{background-image:url('/assets/images/ui/value-defense.svg?v=2.0.309')}
.game-card .badge-number{display:block;font:inherit;line-height:1;position:relative;z-index:1}
.game-card .badge-number.two-digits{font-size:.77em;letter-spacing:-.035em}
.game-card .badge-number.long-number{font-size:.59em}
.game-card .stat.enhanced{color:#baffd1;text-shadow:0 2px 2px #000,0 0 6px #66e5a644}
.game-card .defense.wounded{color:#ffb4a3;text-shadow:0 2px 2px #270509,0 0 5px #ef655233}
.game-card .faction-seal,.game-card .card-seal{position:relative;width:var(--seal-size);height:var(--seal-size);border-radius:50%;clip-path:none;border:1px solid #cdb37c;background:radial-gradient(circle at 35% 20%,#324253,#07101b 72%);box-shadow:inset 0 0 0 2px #080f19,inset 0 0 0 3px #a78b5266,0 2px 4px #000b;color:var(--faction);font-size:calc(var(--seal-size)*.65);line-height:1;display:grid;place-items:center;text-shadow:0 0 5px color-mix(in srgb,var(--faction) 40%,transparent);flex-shrink:0}
.game-card .faction-seal{margin-bottom:1px}
.game-card .card-seal{position:absolute;bottom:-7px;left:calc(50% - var(--seal-size)/2);z-index:4}
.game-card .quantity{border-color:#a48b60;border-radius:5px;background:linear-gradient(#253342,#0b1420);color:#f0dfbd;box-shadow:inset 0 1px #fff2c51a,0 2px 5px #0008;font-weight:600;font-variant-numeric:tabular-nums}
.card-detail .game-card{--cost-width:44px;--cost-height:51px;--cost-font:32px;--stat-width:43px;--stat-height:50px;--stat-font:30px;--seal-size:33px;--stat-inset:-8px;--stat-bottom:-9px}
.card-detail .game-card .card-name{left:36px}
.card-preview{padding:10px;transform-origin:top left}
.card-preview .game-card{--cost-width:48px;--cost-height:56px;--cost-font:35px;--stat-width:47px;--stat-height:55px;--stat-font:33px;--seal-size:36px;--stat-inset:-9px;--stat-bottom:-10px}
.card-preview .game-card .card-name{left:41px}
.hand-card .game-card{--cost-width:clamp(25px,4.8dvh,35px);--cost-height:clamp(29px,5.6dvh,41px);--cost-font:clamp(17px,3.5dvh,25px);--stat-width:clamp(24px,4.8dvh,34px);--stat-height:clamp(29px,5.9dvh,40px);--stat-font:clamp(17px,3.4dvh,23px);--seal-size:clamp(18px,3.7dvh,26px);--stat-inset:-4px;--stat-bottom:-6px}
.hand-card .game-card .cost-gem{left:-5px;top:-6px}
.hand-card .game-card .card-name{left:24px}
.game-card.compact{--stat-width:clamp(17px,calc(var(--field-card-height)*.28),32px);--stat-height:clamp(20px,calc(var(--field-card-height)*.34),38px);--stat-font:clamp(12px,calc(var(--field-card-height)*.21),23px);--seal-size:clamp(11px,calc(var(--field-card-height)*.18),23px);--stat-inset:-4px;--stat-bottom:-5px}
@media(max-width:650px){.card-grid .game-card{--cost-width:34px;--cost-height:40px;--cost-font:25px;--stat-width:33px;--stat-height:39px;--stat-font:23px;--seal-size:27px}}

/* Fantasy navigation: engraved emblems and a luminous MYTHIC LEGACY gem. */
.nav-rail{padding:12px 8px;gap:5px;background:radial-gradient(ellipse at 50% 0,#1b2a3855,transparent 65%),linear-gradient(#0d1722,#080d14);border-right-color:#71604455;max-height:calc(100dvh - var(--game-header-height,74px));overflow-y:auto;scrollbar-width:thin;scrollbar-color:#66543a transparent}
.rail-btn{position:relative;flex-shrink:0;gap:4px;padding:8px 0;color:#96a3b1;border-radius:5px;transition:color .18s,border-color .18s,background .18s,box-shadow .18s}
.rail-btn .rail-icon{display:grid;place-items:center;width:28px;height:28px;line-height:1;transition:filter .18s}
.rail-btn .rail-label{font-size:10px;line-height:1.2;white-space:nowrap}
.nav-icon{display:block;width:28px;height:28px;fill:currentColor;fill-opacity:.07;filter:drop-shadow(0 1px 1px #0009)}
.nav-icon .nav-icon-accent{fill:#82b6c9;fill-opacity:.75;stroke-width:1;stroke:#a9c2c9}
.rail-btn:hover{color:#ddc398;border-color:#79613d;background:linear-gradient(#42342066,#151e28);box-shadow:inset 0 1px #ead39b12}
.rail-btn.active{color:#f0d298;border-color:#a1844f;background:radial-gradient(ellipse at 50% 20%,#96724238,transparent 75%),linear-gradient(#30291ee6,#17202a);box-shadow:inset 0 0 0 1px #f2d79a0c,inset 0 1px #ffe8ae21,0 0 12px #c2974312}
.rail-btn.active::before{content:"";position:absolute;left:-5px;top:50%;width:3px;height:26px;transform:translateY(-50%);background:linear-gradient(transparent,#f2d598,transparent);box-shadow:0 0 7px #dab16e66}
.rail-btn.active .rail-icon{filter:drop-shadow(0 0 4px #d5ae5e38)}
.rail-btn.active .nav-icon-accent{fill:#b4edff;stroke:#e1f8ff;fill-opacity:1}
.rail-btn:focus-visible{outline:2px solid #a4e3f5;outline-offset:2px;color:#f0d298}
@media(max-width:1000px){.nav-rail{padding:10px 5px}}
@media(max-width:650px){.nav-rail{padding:6px;gap:3px;max-height:none;overflow-x:auto;overflow-y:hidden;border-bottom-color:#71604477}.rail-btn{padding:7px 9px;min-width:59px}.rail-btn .rail-label{font-size:9px}.rail-btn .rail-icon,.nav-icon{width:25px;height:25px}.rail-btn.active::before{left:50%;top:auto;bottom:0;width:26px;height:2px;transform:translateX(-50%)}.rail-bottom{margin:0}}
.reduced-motion .rail-btn,.reduced-motion .rail-icon{transition:none}
@media(prefers-reduced-motion:reduce){.rail-btn,.rail-icon{transition:none}}
@media(min-width:651px) and (max-height:760px){.nav-rail{padding-top:10px;padding-bottom:10px;gap:3px}.rail-btn{padding:6px 0}.rail-btn .rail-icon,.nav-icon{width:26px;height:26px}}

.deck-tile .game-card{--cost-width:30px;--cost-height:35px;--cost-font:22px;--stat-width:29px;--stat-height:34px;--stat-font:21px;--seal-size:23px;--stat-inset:-5px;--stat-bottom:-6px}
.deck-tile .game-card .card-name{left:25px}
/* Attack and defense stay in a footer below the card text. */
.game-card{--value-footer-height:36px;--value-stat-height:32px;--value-stat-width:28px;--value-stat-font:22px;--value-seal-size:21px;--card-base-height:222px;height:calc(var(--card-base-height) + var(--value-footer-height))}
.game-card:not(.compact) .card-paper{bottom:calc(6px + var(--value-footer-height))}
.game-card:not(.compact) .card-art{bottom:calc(var(--value-art-bottom,67px) + var(--value-footer-height))}
.game-card:not(.compact) .art-vignette{bottom:calc(var(--value-vignette-bottom,65px) + var(--value-footer-height))}
.game-card .card-stats{height:var(--value-stat-height);left:7px;right:7px;bottom:2px;z-index:4;align-items:center}
.game-card .stat{width:var(--value-stat-width);height:var(--value-stat-height);font-size:var(--value-stat-font)}
.game-card .faction-seal{width:var(--value-seal-size);height:var(--value-seal-size);margin-bottom:0;font-size:calc(var(--value-seal-size)*.65)}
.game-card:not(.compact)::before{content:"";position:absolute;left:8px;right:8px;bottom:calc(var(--value-footer-height) - 3px);height:1px;background:linear-gradient(90deg,transparent,#b99a6455,transparent);pointer-events:none}
.game-card .card-seal{bottom:calc((var(--value-footer-height) - var(--value-seal-size))/2);left:calc(50% - var(--value-seal-size)/2);width:var(--value-seal-size);height:var(--value-seal-size);font-size:calc(var(--value-seal-size)*.65)}
.card-detail .game-card{--card-base-height:273px;--value-footer-height:40px;--value-stat-height:37px;--value-stat-width:32px;--value-stat-font:25px;--value-seal-size:23px;--value-art-bottom:92px;--value-vignette-bottom:90px;height:calc(var(--card-base-height) + var(--value-footer-height))}
.card-preview .game-card{--card-base-height:313px;--value-footer-height:44px;--value-stat-height:40px;--value-stat-width:36px;--value-stat-font:27px;--value-seal-size:25px;--value-art-bottom:111px;--value-vignette-bottom:109px;height:calc(var(--card-base-height) + var(--value-footer-height))}
.hand-card .game-card{--value-footer-height:clamp(22px,3.6dvh,28px);--value-stat-height:clamp(18px,3.2dvh,25px);--value-stat-width:clamp(18px,3.1dvh,24px);--value-stat-font:clamp(14px,2.6dvh,20px);--value-seal-size:clamp(13px,2.2dvh,18px);--card-base-height:calc(var(--hand-card-height) - var(--value-footer-height));--value-art-bottom:clamp(37px,7.4dvh,61px);--value-vignette-bottom:clamp(36px,7.3dvh,60px);height:var(--hand-card-height)}
.deck-tile .game-card{--card-base-height:155px;--value-footer-height:30px;--value-stat-height:28px;--value-stat-width:23px;--value-stat-font:18px;--value-seal-size:18px;--value-art-bottom:46px;--value-vignette-bottom:45px;height:calc(var(--card-base-height) + var(--value-footer-height))}
.game-card.compact{--card-base-height:var(--field-card-height);--value-footer-height:0px;--value-stat-height:clamp(20px,calc(var(--field-card-height)*.25),30px);--value-stat-width:clamp(17px,calc(var(--field-card-height)*.24),27px);--value-stat-font:clamp(13px,calc(var(--field-card-height)*.18),21px);--value-seal-size:clamp(11px,calc(var(--field-card-height)*.16),21px);height:var(--field-card-height)}

/* The top bar uses the same fantasy emblems as the side menu. */
.nav-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.top-btn-icon{display:inline-grid;place-items:center;flex-shrink:0;width:18px;height:18px}
.top-btn-icon .nav-icon{width:18px;height:18px}
.top-right .icon-btn{width:34px;height:34px;flex-shrink:0}
.top-right .icon-btn .nav-icon{width:23px;height:23px}
.top-right .icon-btn:hover,.top-right .icon-btn.active{color:#efd398;border-color:#a1844f;background:radial-gradient(ellipse at 50% 10%,#96724230,transparent),#16202b;box-shadow:inset 0 1px #ffe8ae15}
.top-right .icon-btn:hover .nav-icon-accent,.top-right .icon-btn.active .nav-icon-accent,.top-main .nav-btn.active .nav-icon-accent{fill:#b4edff;stroke:#e1f8ff;fill-opacity:1}
.topbar button:focus-visible{outline:2px solid #a4e3f5;outline-offset:2px}
@media(max-width:650px){.top-main .nav-with-icon{gap:4px}.top-btn-icon,.top-btn-icon .nav-icon{width:16px;height:16px}.top-right .icon-btn{width:28px;height:30px}.top-right .icon-btn .nav-icon{width:21px;height:21px}}

@media(max-width:650px){.domain-grid{grid-template-columns:repeat(auto-fit,135px);gap:20px 12px;padding:8px 0 16px}}

/* Board cards reserve room for their upright and exhausted positions. */
.unit-slot{width:calc(var(--field-card-height) + 8px);max-width:calc((100% - 20px)/3);container-type:inline-size}
.unit-slot:only-of-type{max-width:95%}
.unit-slot .unit-button{--unit-display-height:min(var(--field-card-height),calc(100cqw - 8px));display:block}
.unit-card-space{display:flex;align-items:center;justify-content:center;width:100%;height:var(--unit-display-height)}
.unit-card-space .game-card.compact{--field-card-height:var(--unit-display-height);max-width:none;flex-shrink:0;transform-origin:center;transition:transform .25s ease,border-color .2s,box-shadow .2s}
.unit-button.selected .unit-card-space .game-card{transform:translateY(-3px)}
.unit-button.turned-unit .unit-card-space .game-card{transform:rotate(90deg)}
.unit-button.turned-unit.selected .unit-card-space .game-card{transform:translateY(-3px) rotate(90deg)}
.unit-button.declared-attack .game-card{border-color:#ffb087;box-shadow:0 0 0 1px #f98150,0 0 15px #f2694880}
.unit-button.declared-block .game-card{border-color:#87dfff;box-shadow:0 0 0 1px #66ccf6,0 0 15px #4bb7ed80}
.unit-slot .unit-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(7px,12cqw,10px);line-height:12px}
.declared-attack .unit-status{color:#ffc7a1;font-weight:700}
.declared-block .unit-status{color:#a6e7ff;font-weight:700}
.turned-unit:not(.declared-attack):not(.declared-block) .unit-status{color:#e2bea4}
@media(prefers-reduced-motion:reduce){.unit-card-space .game-card.compact{transition:none}}
.cancel-attack{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:3px;margin:0 10px 8px;padding:8px 10px;border:1px solid #b78b54;border-radius:5px;background:linear-gradient(135deg,#433224,#211d19);color:#ffe0ae;font:600 12px var(--font);cursor:pointer}
.cancel-attack small{font:10px var(--font);color:#d9c8b2}
.cancel-attack:hover{border-color:#efd299;background:linear-gradient(135deg,#61492f,#30271e)}
.cancel-attack:focus-visible{outline:2px solid #ffe0ae;outline-offset:2px}
/* Both players use the same resource bar, aligned with the hand area. */
.opponent-row{grid-template-columns:clamp(150px,15vw,225px) minmax(0,1fr);gap:0;padding-right:0;align-items:stretch}
.opponent-overview{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 36px;justify-content:stretch;min-width:0}
.opponent-overview .hidden-hand{height:100%;padding:3px 0;align-items:center}
.opponent-overview .card-back{height:min(clamp(43px,8.3dvh,70px),calc(var(--opponent-area-height) - 42px));width:calc(min(clamp(43px,8.3dvh,70px),calc(var(--opponent-area-height) - 42px))*.68);flex-shrink:0}
.opponent-summary{position:relative;min-width:0}
/* Framed emblems and distinct accents keep the compact header readable. */
.top-main{gap:7px}
.top-main .nav-btn{--top-accent:#e1bd7e;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 11px;border:1px solid #756347;border-radius:6px;background:linear-gradient(155deg,#28303a,#111a25 60%,#0a111b);color:#ede2cd;font:600 12px var(--font);box-shadow:inset 0 1px #fff0cc1f,inset 0 -2px #0005,0 2px 5px #0006;transition:background .18s,border-color .18s,box-shadow .18s,color .18s}
.top-main .header-online{--top-accent:#8ed7f1;border-color:#496c84;color:#d8eef8}
.top-main .header-room{--top-accent:#a6d9c3;border-color:#527369;color:#dceddf}
.top-main .header-join{--top-accent:#b0eaff;border-color:#5fb9e5;background:linear-gradient(150deg,#225273,#12324d 65%,#0d2338);color:#edfbff;box-shadow:inset 0 1px #d6f4ff33,inset 0 -2px #0004,0 0 12px #42b9ed18}
.top-main .top-btn-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid #ffffff21;border-radius:50%;background:radial-gradient(circle at 35% 20%,#ffffff13,#07121bb0);color:var(--top-accent);box-shadow:inset 0 0 0 2px #03091140;flex-shrink:0}
.top-main .top-btn-icon .nav-icon{width:20px;height:20px;stroke-width:1.7}
.top-main .nav-icon-accent{fill:var(--top-accent);stroke:var(--top-accent);fill-opacity:.9}
.top-main .nav-btn:hover{border-color:var(--top-accent);color:#fff;box-shadow:inset 0 1px #ffffff28,0 0 10px #93c7df21;background:linear-gradient(155deg,#344654,#182837)}
.top-main .header-join:hover{background:linear-gradient(150deg,#2e6b91,#194665);box-shadow:inset 0 1px #e4f9ff44,0 0 14px #5acbff33}
.top-main .nav-btn.active{border-color:var(--top-accent);background:linear-gradient(155deg,#344654,#152737);color:#fff;box-shadow:inset 0 -2px var(--top-accent),inset 0 1px #ffffff25,0 0 10px #79b4d222}
.top-main .nav-btn.active:after{content:'';position:absolute;right:4px;top:4px;width:4px;height:4px;background:var(--top-accent);transform:rotate(45deg);box-shadow:0 0 5px var(--top-accent)}
.top-main .segmented{display:flex;align-items:stretch;gap:3px;height:40px;padding:3px;margin-left:2px;overflow:visible;border:1px solid #495665;border-radius:7px;background:#070f18;box-shadow:inset 0 2px 6px #0007}
.top-main .segmented button{--queue-accent:#87d8ff;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid transparent;border-radius:4px;background:transparent;color:#aab8c6;font:600 11px var(--font);box-shadow:none;transition:.18s}
.top-main .segmented .queue-ranked{--queue-accent:#d7b9f2}
.queue-icon{display:grid;place-items:center;width:16px;height:16px;color:var(--queue-accent);flex-shrink:0}
.queue-icon .nav-icon{width:16px;height:16px;stroke-width:1.8}
.queue-icon .nav-icon-accent{fill:currentColor;stroke:currentColor;fill-opacity:.9}
.top-main .segmented button:hover{color:#ecf4ff;background:#1d2b3b;border-color:#52667e}
.top-main .segmented .active{color:#eefaff;background:linear-gradient(135deg,#204965,#143048);border-color:#5084a3;box-shadow:inset 0 -2px var(--queue-accent),inset 0 1px #b8ecff22}
.top-main .segmented .queue-ranked.active{color:#f5ebff;background:linear-gradient(135deg,#463656,#2b233b);border-color:#9675b4}
.top-right{gap:6px}
.top-right .icon-btn{width:36px;height:36px;border:1px solid #3c4c60;border-radius:7px;background:linear-gradient(145deg,#202d3c,#0c1521);color:#c1d3e2;box-shadow:inset 0 1px #e6f0ff12,0 2px 4px #0004;transition:.18s}
.top-right .icon-btn .nav-icon{width:22px;height:22px;stroke-width:1.6}
.top-right .icon-btn:hover,.top-right .icon-btn.active{color:#f5ddac;border-color:#b29863;background:linear-gradient(145deg,#3e3d36,#202735);box-shadow:inset 0 1px #fff0ca25,0 0 9px #d5b87922}
.top-right .connection{padding:6px 10px;margin-left:2px;border:1px solid #2b4051;border-radius:6px;background:#0a152080;font-size:10px;color:#d0e2e9}
.top-right .connection small{margin-top:3px;font-size:9px;color:#9cabb8}
.top-right .status-dot:not(.offline){box-shadow:0 0 6px #68e6ad70}
@media(min-width:1001px) and (max-width:1250px){.top-main{gap:5px;padding-left:7px;padding-right:7px}.top-main .nav-btn{gap:5px;padding:0 8px;font-size:11px}.top-main .top-btn-icon{width:23px;height:23px}.top-main .top-btn-icon .nav-icon{width:18px;height:18px}.top-main .segmented button{padding:0 7px}.top-right{gap:4px;padding-left:7px;padding-right:7px}}
@media(max-width:1000px){.top-main .top-room{display:none}.top-main .nav-btn{height:36px;font-size:11px;padding:0 8px;gap:5px}.top-main .segmented{height:36px}.top-right .icon-btn{width:32px;height:32px}}
@media(max-width:650px){.top-main .segmented,.top-main .nav-online{display:none}.top-main{gap:4px;padding-left:4px;padding-right:4px}.top-main .nav-btn{height:34px;font-size:11px;padding:0 7px}.top-main .top-btn-icon{width:22px;height:22px}.top-main .top-btn-icon .nav-icon{width:17px;height:17px}.top-right{gap:4px;padding-left:5px;padding-right:5px}.top-right .icon-btn{width:29px;height:30px}.top-right .icon-btn .nav-icon{width:19px;height:19px}}
/* Campo contínuo: um exército por metade, sem divisões de flancos. */
.battlefield.open-battlefield{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:0;padding:0 14px}
.open-battlefield .open-field{border:0;gap:20px 18px;padding:20px 12px 30px;align-items:center;align-content:safe center;justify-content:safe center;min-width:0;scrollbar-width:thin;scrollbar-color:#637c8c transparent;background:linear-gradient(180deg,#3f101d12,#2a0b1729)}
.open-battlefield .enemy-lane{border-bottom:1px solid #bba56c88}
.open-battlefield .player-lane{background:linear-gradient(180deg,#102b4720,#13315230)}
.open-battlefield .player-lane:before{display:none}
.open-field .lane-label{top:3px;left:8px;z-index:6;font-size:9px;letter-spacing:.7px;color:#d2d9dc;padding:2px 6px;background:#091623c9;border-radius:3px;pointer-events:none}
.open-field .unit-slot{width:calc(var(--field-card-height) + 16px);max-width:calc(100% - 16px);flex:0 0 auto}
.open-field .empty-field{font:12px var(--font);color:#c6d5dc70;letter-spacing:.7px;pointer-events:none}
.open-battlefield .open-field.legal-zone{background:#177aaa27;box-shadow:inset 0 0 27px #48b7e72f}
@media(max-width:1000px){.battlefield.open-battlefield{padding:0 7px}.open-battlefield .open-field{gap:20px 12px;padding-left:8px;padding-right:8px}}


/* Card details in the deck list. */
.deck-item .deck-card-details{display:flex;align-items:center;gap:8px;flex:1;min-width:0;width:auto;height:21px;padding:0;border-radius:2px;background:transparent;color:inherit;font:inherit;text-align:left}
.deck-card-details .deck-card-name{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deck-item .deck-card-details:hover{background:#294b6344;color:#c0edff}
.deck-item .deck-card-details:focus-visible{outline:2px solid #85ddff;outline-offset:2px}

/* Coleções temáticas: a mesma família pode reunir todos os tipos jogáveis. */
.typed-collections{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px 20px;margin:0 0 22px;border:1px solid #465341;border-radius:8px;background:linear-gradient(110deg,#14221d,#101820)}
.typed-collections p{margin-top:6px;color:#9cacb4;font-size:12px;line-height:1.6}.family-tile{display:flex;align-items:center;gap:14px;min-width:280px;padding:8px 16px 8px 8px;border:1px solid #496146;border-radius:6px;background:#18271f;color:#e3edd9;text-align:left}.family-tile:hover,.family-tile.active{border-color:#abc68e;background:#223328;box-shadow:0 0 0 1px #abc68e44}.family-art{width:64px;height:60px;flex-shrink:0;border-radius:4px}.family-tile strong{display:block;font-size:19px;font-family:var(--title)}.family-tile small{display:block;margin-top:5px;color:#a9bca5;font-size:11px}.filter-bar{grid-template-columns:2fr repeat(5,minmax(0,1fr))}
@media(max-width:1250px){.filter-bar{grid-template-columns:2fr 1fr 1fr}}@media(max-width:650px){.filter-bar{grid-template-columns:1fr 1fr}.typed-collections{padding:16px;gap:14px}.family-tile{min-width:0;width:100%}}

.game-card.family-zombie{background:linear-gradient(140deg,#272c32,#090b0e 55%,#191c21);border-color:#4d555f;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #080a0d}.family-zombie .card-paper{background:linear-gradient(#25292d,#171a1e);color:#e0e5eb}.family-zombie .card-type{color:#bdc6ce;border-color:#555f68}.family-zombie .card-rules{color:#e0e5eb}.family-zombie .card-rarity{color:#aab4be}.family-zombie .frame-corner{border-color:#6e7780}.typed-collections{border-color:#40464f;background:linear-gradient(110deg,#191c21,#0d1117)}.family-tile{border-color:#4b535e;background:#1b2026;color:#e0e5eb}.family-tile:hover,.family-tile.active{border-color:#a5adb7;background:#242b33;box-shadow:0 0 0 1px #a5adb744}.family-tile small{color:#aab4be}

.family-zombie .card-type{background:linear-gradient(#363d46,#242930);color:#e0e5eb;text-shadow:none}.family-zombie .card-type span{color:#c2ccd6}

/* Elfos de Sylvara: molduras e família verdes. */
.game-card.family-elf{background:linear-gradient(140deg,#264e35,#0d2419 55%,#153c29);border-color:#79c98c;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #123822}.family-elf .frame-corner{border-color:#9cdda4}.family-elf .card-type{background:linear-gradient(#335b3a,#173d2b);color:#effbe9;text-shadow:none}.family-elf .card-type span{color:#a1e1aa}.family-elf .card-rarity{color:#436735}.family-tile-elf{border-color:#497c55;background:#142e20;color:#d9edda}.family-tile-elf:hover,.family-tile-elf.active{border-color:#90d398;background:#234730;box-shadow:0 0 0 1px #90d39844}.family-tile-elf small{color:#b0d3ae}.family-tile-aetherion{border-color:#36758a;background:#122832;color:#d9f4fc}.family-tile-aetherion:hover,.family-tile-aetherion.active{border-color:#78d9f4;background:#183847;box-shadow:0 0 0 1px #78d9f444}.family-tile-aetherion small{color:#a7d7e5}.family-tile-solaris{border-color:#95743b;background:#2b2518;color:#faedcf}.family-tile-solaris:hover,.family-tile-solaris.active{border-color:#eec56f;background:#3a301e;box-shadow:0 0 0 1px #eec56f44}.family-tile-solaris small{color:#dfc78c}.family-tile-sylvara{border-color:#3d9467;background:#123126;color:#d9f9e7}.family-tile-sylvara:hover,.family-tile-sylvara.active{border-color:#88dfa7;background:#194533;box-shadow:0 0 0 1px #88dfa744}.family-tile-sylvara small{color:#a8d6b5}.family-tile-umbra{border-color:#765690;background:#211a2b;color:#eee3ff}.family-tile-umbra:hover,.family-tile-umbra.active{border-color:#c59aff;background:#30233c;box-shadow:0 0 0 1px #c59aff44}.family-tile-umbra small{color:#cab4dd}.family-tile-volkar{border-color:#a64d3d;background:#321b1a;color:#ffe7df}.family-tile-volkar:hover,.family-tile-volkar.active{border-color:#ff9a7e;background:#4a2420;box-shadow:0 0 0 1px #ff9a7e44}.family-tile-volkar small{color:#edb2a2}

.game-card.family-goblin{background:linear-gradient(140deg,#59271f,#170c0a 55%,#32130d);border-color:#e26a47;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #3a100b}.family-goblin .card-paper{background:linear-gradient(#3b211a,#1d120f);color:#ffe5d6}.family-goblin .card-type{background:linear-gradient(#793c27,#4b2017);color:#fff0e8;text-shadow:none}.family-goblin .card-type span{color:#ff9b68}.family-goblin .card-rules{color:#ffe5d6}.family-goblin .card-rarity{color:#f0ad78}.family-goblin .frame-corner{border-color:#f18b5e}.family-tile-goblin{border-color:#87422e;background:#301912;color:#ffe1d2}.family-tile-goblin:hover,.family-tile-goblin.active{border-color:#f18b5e;background:#49251a;box-shadow:0 0 0 1px #f18b5e66}.family-tile-goblin small{color:#e5ad91}.game-card.family-merfolk{background:linear-gradient(140deg,#123946,#08191f 55%,#0d2a37);border-color:#51cfe1;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #0d3b47}.family-merfolk .card-paper{background:linear-gradient(#123a47,#0d252d);color:#e0fbff}.family-merfolk .card-type{background:linear-gradient(#236174,#123d4a);color:#f0fdff;text-shadow:none}.family-merfolk .card-type span{color:#7ee6f5}.family-merfolk .card-rules{color:#e0fbff}.family-merfolk .card-rarity{color:#8ad9e7}.family-merfolk .frame-corner{border-color:#79dce8}.family-tile-merfolk{border-color:#287f91;background:#102b34;color:#d9f8fc}.family-tile-merfolk:hover,.family-tile-merfolk.active{border-color:#68d8e9;background:#17404a;box-shadow:0 0 0 1px #68d8e944}.family-tile-merfolk small{color:#a7dce5}.source-reference{margin-top:14px;font-size:12px}.source-reference a{color:#ffae7c;text-decoration:underline;text-underline-offset:3px}

/* Coleções organizadas: cabeçalho separado de uma grade uniforme. */
.typed-collections{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px;margin:0 0 22px;border:1px solid #354251;border-radius:9px;background:linear-gradient(145deg,#121c27,#0c131c);box-shadow:0 8px 24px #0002}
.typed-collections-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 1px 12px;border-bottom:1px solid #283544}
.typed-collections-intro{min-width:0}
.typed-collections-intro .eyebrow{font-size:9px;letter-spacing:2.5px;color:#d6bc87}
.typed-collections p{margin-top:5px;color:#a2adba;font-size:12px;line-height:1.5}
.typed-collections .collection-reset{flex:0 0 auto;padding:9px 12px;border-color:#3c5061;background:linear-gradient(#1b2a38,#101a25);color:#cad5df;font:12px var(--font)}
.typed-collections .collection-reset:hover{border-color:#7aa3ba;background:linear-gradient(#243849,#142433);color:#edf8ff}
.family-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.family-tile{--family-accent:#a5b1bd;display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:92px;padding:10px 12px;border:1px solid #394653;border-left:3px solid var(--family-accent);border-radius:7px;background:linear-gradient(135deg,#18222d,#111922);color:#e6ebf0;text-align:left;box-shadow:0 3px 9px #0002;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
.family-tile:hover,.family-tile.active{border-color:var(--family-accent);border-left-color:var(--family-accent);background:linear-gradient(135deg,#202d39,#151f29);box-shadow:0 5px 14px #0003,0 0 0 1px color-mix(in srgb,var(--family-accent) 22%,transparent);transform:translateY(-1px)}
.family-art{width:58px;height:58px;flex:0 0 58px;border:1px solid #ffffff18;border-radius:6px;box-shadow:0 3px 8px #0005}
.family-tile>span:last-child{min-width:0}
.family-tile strong{display:block;overflow:hidden;color:#edf1f5;font:600 17px var(--title);text-overflow:ellipsis;white-space:nowrap}
.family-tile small{display:block;margin-top:5px;color:#aab6c2;font-size:10px;line-height:1.4}
.family-tile-zombie{--family-accent:#a5b1bd}
.family-tile-elf,.family-tile-sylvara{--family-accent:#88d7a2}
.family-tile-goblin,.family-tile-volkar{--family-accent:#f18b6d}
.family-tile-aetherion{--family-accent:#78d9f4}
.family-tile-solaris{--family-accent:#e9c77c}
.family-tile-umbra{--family-accent:#c59aff}
@media(max-width:1100px){.family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.typed-collections{gap:12px;padding:15px}.typed-collections-head{flex-direction:column;align-items:flex-start}.typed-collections .collection-reset{padding:8px 10px;font-size:11px}.family-grid{grid-template-columns:minmax(0,1fr);gap:9px}.family-tile{min-height:82px}.family-art{width:54px;height:54px;flex-basis:54px}}
.unit-ability{position:absolute;bottom:-20px;left:0;z-index:6;min-width:48px;min-height:26px;border:1px solid #cc8050;border-radius:4px;background:#301810;color:#ffd5b0;font:600 9px var(--font);padding:4px 7px;cursor:pointer}.unit-ability.unavailable{border-color:#786a5b;background:#201b17;color:#b9a998}.unit-ability:hover,.unit-ability:focus-visible{border-color:#ffb384;background:#5a2a1a;color:#fff;outline:2px solid #ffbe91;outline-offset:1px}

.unit-slot{position:relative}.charge-counter-badge{position:absolute;top:.4rem;right:.45rem;z-index:4;padding:.16rem .38rem;border:1px solid rgba(255,210,111,.8);border-radius:999px;background:rgba(38,24,11,.94);color:#ffd66f;font-size:.75rem;font-weight:800;line-height:1.2;box-shadow:0 1px 5px #0009}

.sacrifice-unit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;overflow:auto;border:1px solid #3b4c5e;border-radius:4px;padding:14px;margin:15px 0;background:#09132066}.sacrifice-unit-list legend{padding:0 7px;color:#e5ce9c;font-size:12px}.sacrifice-choice{display:grid;grid-template-columns:19px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;border:1px solid #2e4051;border-radius:4px;background:#101d2a;margin:0!important}.sacrifice-choice input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;accent-color:#79c9e8}.sacrifice-choice span{display:grid;gap:4px;min-width:0}.sacrifice-choice strong{color:#dfd6c2;font-size:12px}.sacrifice-damage-target{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #293b4b}.sacrifice-damage-target input{width:100%;padding:8px}.sacrifice-damage-target:has(input:disabled){opacity:.45}#sacrifice-retaliation-form [data-sacrifice-creatures]{max-height:260px;overflow:auto}#sacrifice-retaliation-form [data-sacrifice-creatures] p{margin:8px 0}
@media(max-width:650px){.sacrifice-unit-list{grid-template-columns:1fr}.sacrifice-damage-target{grid-template-columns:minmax(0,1fr) 88px}}
/* Vampiros de Umbra: moldura rubra e violeta. */
.game-card.family-vampire{background:linear-gradient(140deg,#49202e,#130c17 55%,#32172e);border-color:#c45b84;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #351321}.family-vampire .card-paper{background:linear-gradient(#38202c,#1c1320);color:#ffe5ef}.family-vampire .card-type{background:linear-gradient(#6c3150,#3d1b38);color:#fff0f6;text-shadow:none}.family-vampire .card-type span{color:#df9ccc}.family-vampire .card-rules{color:#ffe5ef}.family-vampire .card-rarity{color:#e5a5c5}.family-vampire .frame-corner{border-color:#d87aaa}.family-tile-vampire{border-color:#884665;background:#301827;color:#ffe1ef}.family-tile-vampire:hover,.family-tile-vampire.active{border-color:#df83b2;background:#49223c;box-shadow:0 0 0 1px #df83b244}.family-tile-vampire small{color:#e4abc7}
.game-card.family-angel{background:linear-gradient(140deg,#5e4b25,#211b11 55%,#382d17);border-color:#e6c66b;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #403115}.family-angel .card-paper{background:linear-gradient(#f4e8c6,#e6d3a6);color:#2b2112}.family-angel .card-type{background:linear-gradient(#6b572d,#413316);color:#fff5d9;text-shadow:none}.family-angel .card-type span{color:#ffe28a}.family-angel .card-rules{color:#302515}.family-angel .card-rarity{color:#725b26}.family-angel .frame-corner{border-color:#efd98f}.family-tile-angel{border-color:#9d7a2e;background:#312714;color:#fff0c9}.family-tile-angel:hover,.family-tile-angel.active{border-color:#efd47b;background:#49381c;box-shadow:0 0 0 1px #efd47b66}.family-tile-angel small{color:#ddc989}

.game-card.family-dragon{background:linear-gradient(140deg,#59271f,#170c0a 55%,#32130d);border-color:#e26a47;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #3a100b}.family-dragon .card-paper{background:linear-gradient(#3b211a,#1d120f);color:#ffe5d6}.family-dragon .card-type{background:linear-gradient(#793c27,#4b2017);color:#fff0e8;text-shadow:none}.family-dragon .card-type span{color:#ff9b68}.family-dragon .card-rules{color:#ffe5d6}.family-dragon .card-rarity{color:#f0ad78}.family-dragon .frame-corner{border-color:#f18b5e}.family-tile-dragon{border-color:#87422e;background:#301912;color:#ffe1d2}.family-tile-dragon:hover,.family-tile-dragon.active{border-color:#f18b5e;background:#49251a;box-shadow:0 0 0 1px #f18b5e66}.family-tile-dragon small{color:#e5ad91}

.game-card.family-machine{background:linear-gradient(140deg,#3a4652,#111820 55%,#28323d);border-color:#aab8c7;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #1b252e}.family-machine .card-paper{background:linear-gradient(#26313a,#161e25);color:#e8f0f5}.family-machine .card-type{background:linear-gradient(#526171,#2b3743);color:#f2f7fa;text-shadow:none}.family-machine .card-type span{color:#d4e4ef}.family-machine .card-rules{color:#e8f0f5}.family-machine .card-rarity{color:#b5c6d2}.family-machine .frame-corner{border-color:#c6d4de}.family-tile-machine{border-color:#677988;background:#202a33;color:#e6eef4}.family-tile-machine:hover,.family-tile-machine.active{border-color:#b9cbd8;background:#2b3843;box-shadow:0 0 0 1px #b9cbd844}.family-tile-machine small{color:#bacbd6}.family-tile-machine{--family-accent:#b9cbd8}.cost-gem.affinity-discount{color:#a8f0cc}
.family-tile-machina{border-color:#677988;background:#202a33;color:#e6eef4}.family-tile-machina:hover,.family-tile-machina.active{border-color:#b9cbd8;background:#2b3843;box-shadow:0 0 0 1px #b9cbd844}.family-tile-machina small{color:#bacbd6}
/* Magos de Aetherion: moldura azul para a coleção Arcanum. */
.game-card.family-wizard{background:linear-gradient(140deg,#164568,#091725 55%,#123d60);border-color:#62c9f2;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #0c3150}.family-wizard .card-paper{background:linear-gradient(#153c58,#0a2134);color:#e2f7ff}.family-wizard .card-type{background:linear-gradient(#28658a,#153d5d);color:#f1fbff;text-shadow:none}.family-wizard .card-type span{color:#9ee5ff}.family-wizard .card-rules{color:#e2f7ff}.family-wizard .card-rarity{color:#9edaf1}.family-wizard .frame-corner{border-color:#83d9fa}.family-tile-wizard{border-color:#367fa3;background:#102b3d;color:#dff6ff}.family-tile-wizard:hover,.family-tile-wizard.active{border-color:#77d7fa;background:#17425b;box-shadow:0 0 0 1px #77d7fa44}.family-tile-wizard small{color:#a7dcef}

/* MYTHIC LEGACY: título de abertura legível também no celular. */
.boot .wordmark{font-size:clamp(22px,5.5vw,43px);letter-spacing:1.8px}

/* Cabeçalho mobile em uma faixa; a navegação principal fica no menu abaixo. */
@media(max-width:650px){
 .topbar:not(.battle-topbar){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"brand tools";
  align-items:center;
  column-gap:4px;
  width:100%;
  height:auto;
  min-height:58px;
  flex-wrap:initial;
 }
 .topbar:not(.battle-topbar)>.brand{
  grid-area:brand;
  width:auto;
  min-width:0;
  padding:6px 8px;
  align-items:center;
  border:0;
 }
 .topbar:not(.battle-topbar)>.brand:after{display:none}
 .topbar:not(.battle-topbar)>.brand .wordmark{font-size:clamp(17px,5.2vw,20px);letter-spacing:.5px}
 .topbar:not(.battle-topbar)>.brand .submark{margin-top:2px;font-size:6px;letter-spacing:.9px}
 .topbar:not(.battle-topbar)>.top-main{display:none}
 .topbar:not(.battle-topbar)>.top-right{
  grid-area:tools;
  justify-self:end;
  margin:0;
  padding:5px 6px;
  border:0;
 }
 .topbar:not(.battle-topbar)>.top-right>.home-top{display:none}
}

/* Four battle choices, including the entry to online setup. */
.mode-card .mode-symbol{display:grid;place-items:center;width:52px;height:52px;color:#a4e6ff;filter:drop-shadow(0 0 12px #a4e6ff33)}
.mode-card .mode-symbol .nav-icon{display:block;width:100%;height:100%;fill:none;stroke-width:1.5}
.mode-card .mode-symbol .nav-icon-accent{fill:currentColor;stroke:currentColor;fill-opacity:.9}
.online-modes .mode-card{padding-top:112px}
.play-grid.play-modes{grid-template-columns:repeat(4,minmax(0,1fr))}
.mode-card-online{border-color:#4b8da5;background-position:85% 20%}


@media(max-width:1250px){.play-grid.play-modes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.play-grid.play-modes{grid-template-columns:minmax(0,1fr)}}

.auth-topbar{align-items:center;padding-right:24px}.auth-version{margin-left:auto;color:var(--muted);font-family:var(--title);font-size:13px}.home-layout:has(.auth-screen){display:block}.home-layout:has(.auth-screen) .page{min-height:calc(100vh - 74px);padding:0}.auth-screen{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:40px 18px;background:radial-gradient(ellipse at 50% 30%,#17324a 0,transparent 54%),linear-gradient(135deg,#070d15,#0d1722 52%,#080e16)}.auth-card{position:relative;width:min(100%,470px);padding:42px 46px;text-align:center;border-color:#4a402e;box-shadow:0 24px 80px #0008,inset 0 1px #ffffff0c}.auth-mark{width:56px;height:56px;margin:0 auto 22px;display:grid;place-items:center;border:1px solid #8c754d;border-radius:50%;color:var(--gold-light);font:30px var(--title);box-shadow:0 0 32px #c8a66a22}.auth-card h1{margin-top:12px;font-size:34px;line-height:1.15}.auth-intro{margin:12px auto 23px;max-width:330px;color:#aab5c3;line-height:1.6}.auth-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;margin:0 0 22px;border:1px solid #283849;border-radius:6px;background:#070e16}.auth-switch button{padding:10px;border:0;border-radius:4px;background:transparent;color:#aab5c3}.auth-switch button.active{background:linear-gradient(#233447,#101b27);color:var(--gold-light);box-shadow:inset 0 0 0 1px #67563c}.auth-card form{display:grid;gap:15px;text-align:left}.auth-card form label{gap:8px}.auth-card form input{width:100%;padding:13px 14px}.auth-submit{width:100%;margin-top:6px;padding:13px;font-size:16px}.auth-note{margin-top:20px;color:#8594a5;font-size:11px;line-height:1.5}@media(max-width:650px){.auth-topbar{min-height:62px;padding-right:14px}.home-layout:has(.auth-screen) .page{min-height:calc(100dvh - 62px)}.auth-screen{min-height:calc(100dvh - 62px);padding:24px 14px}.auth-card{padding:32px 23px}.auth-card h1{font-size:28px}.auth-version{font-size:11px}}
@media(max-height:680px){.auth-topbar{height:58px;min-height:58px}.auth-topbar .top-main{padding-block:6px}.home-layout:has(.auth-screen) .page{min-height:calc(100dvh - 58px)}.auth-screen{min-height:calc(100dvh - 58px);padding:10px 14px}.auth-card{padding:16px 28px}.auth-mark{width:38px;height:38px;margin-bottom:8px;font-size:24px}.auth-card h1{margin-top:5px;font-size:27px;line-height:1.1}.auth-intro{margin:7px auto 10px;line-height:1.4}.auth-switch{margin-bottom:8px}.auth-switch button{padding:8px}.auth-card form{gap:8px}.auth-card form label{gap:4px}.auth-card form input{padding:9px 12px}.auth-submit{margin-top:0;padding:9px;font-size:15px}.auth-note{margin-top:8px;line-height:1.35}}.auth-screen,.boot{background:linear-gradient(90deg,rgba(7,13,21,.48),rgba(7,13,21,.78) 48%,rgba(8,14,22,.46)),url('/assets/images/login-creatures.png') center/cover no-repeat}
@media(max-width:650px){.auth-screen,.boot{background-position:center,right center}}.auth-note{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 8px;align-items:center;max-width:350px;margin:16px auto 0;padding:10px 12px;border:1px solid #655239;border-radius:5px;background:linear-gradient(110deg,#c8a66a18,#0a111bcc);color:#c3cfde;text-align:left;font-size:11px;line-height:1.35}.auth-note-icon{grid-column:1;grid-row:1/span 2;color:var(--gold-light);font-size:18px;line-height:1}.auth-note-title{grid-column:2;color:var(--gold-light);font-family:var(--title);font-size:13px;font-weight:600}.auth-note-copy{grid-column:2}.auth-note-copy strong{color:#b8e5f5}
@media(max-height:680px){.auth-note{margin-top:8px;padding:7px 10px}.auth-note-title{font-size:12px}.auth-note-icon{font-size:16px}}.auth-topbar{align-items:center;padding:0 24px 0 12px}.auth-topbar .auth-brand{min-height:62px;padding:8px 18px;flex-direction:row;justify-content:flex-start;gap:12px;border:0}.auth-topbar .auth-brand:after{display:none}.auth-brand-mark{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid #8c754d;border-radius:50%;color:var(--gold-light);font:24px var(--title);background:radial-gradient(circle,#c8a66a12,transparent 72%);box-shadow:0 0 22px #c8a66a20}.auth-brand-copy{display:grid;gap:4px;text-align:left}.auth-topbar .auth-brand .wordmark{font-size:24px;line-height:1;letter-spacing:1.5px}.auth-topbar .auth-brand .submark{margin:0;text-align:left;font-size:8px;letter-spacing:1.5px}
@media(max-width:650px){.auth-topbar{padding-right:14px}.auth-topbar .auth-brand{min-height:62px;padding:7px 12px;gap:9px}.auth-brand-mark{width:34px;height:34px;font-size:21px}.auth-topbar .auth-brand .wordmark{font-size:18px;letter-spacing:1px}.auth-topbar .auth-brand .submark{font-size:7px;letter-spacing:1px}}
@media(max-height:680px){.auth-topbar .auth-brand{min-height:58px;padding-block:5px}.auth-brand-mark{width:34px;height:34px}.auth-topbar .auth-brand .wordmark{font-size:19px}}
/* Admin player management */
.stat-panel-button{width:100%;display:block;font-family:inherit;color:inherit;cursor:pointer;transition:border-color .18s,transform .18s,background .18s}.stat-panel-button:hover{border-color:#b5955e;transform:translateY(-2px);background:linear-gradient(140deg,#1e3041,#111d2b)}.stat-panel-button span{display:block;margin-top:13px;color:#8fdfff;font-size:11px}
.admin-user-list{display:grid;gap:12px}.admin-player-card{width:100%;display:grid;grid-template-columns:minmax(180px,1.5fr) auto repeat(3,minmax(100px,.7fr)) auto;align-items:center;gap:18px;padding:18px 20px;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .18s,transform .18s}.admin-player-card:hover{border-color:#6bb9dc;transform:translateY(-1px)}.admin-player-main{min-width:0;display:grid;gap:6px}.admin-player-main strong{font:19px var(--title);color:#f0dfbe}.admin-player-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-player-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;border:1px solid #476c58;border-radius:20px;padding:5px 10px;color:#a6e4bc;background:#1b392766;font-size:10px}.admin-player-status.blocked{border-color:#79484a;color:#ffc0b2;background:#40202066}.admin-player-metric{display:grid;gap:5px}.admin-player-metric small{font-size:9px;letter-spacing:.9px}.admin-player-metric strong{font:15px var(--title);color:#dfd0ae}.admin-player-open{color:#91dfff;font-size:11px;white-space:nowrap}
.admin-player-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 0}.admin-facts>div{min-width:0}.admin-facts dt{color:#8fa3b6;font-size:10px;text-transform:uppercase;letter-spacing:.7px}.admin-facts dd{margin:5px 0 0;color:#e4d6bc;line-height:1.5;overflow-wrap:anywhere}.admin-user-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px 0;border-bottom:1px solid #2b3d4e}.admin-user-stats>div{display:grid;gap:6px}.admin-user-stats strong{font:24px var(--title);color:#f1d9aa}.admin-user-stats small{font-size:9px;line-height:1.5}.admin-economy{display:grid;gap:9px;padding:16px 0}.admin-economy>div{display:flex;justify-content:space-between;gap:12px;color:#9fb0bf;font-size:12px}.admin-economy strong{color:#f0d49f}.admin-section{margin-top:20px}.admin-deck{padding:14px 0;border-bottom:1px solid #2a3c4d}.admin-deck:last-child{border-bottom:0}.admin-deck-heading{display:flex;justify-content:space-between;gap:10px;color:#ebd7b1}.admin-deck-heading span{color:#8ea4b7;font-size:11px}.admin-deck-cards{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.admin-deck-cards span{border:1px solid #34495b;border-radius:3px;background:#0a1420;padding:5px 8px;color:#aebdca;font-size:10px}.admin-deck-cards b{color:#e2ca9a;margin-left:4px}.admin-collection-table{max-height:520px;overflow:auto}.admin-collection-table thead{position:sticky;top:0;z-index:1}.admin-cost-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.admin-cost-list span{border:1px solid #344354;border-radius:4px;padding:7px 9px;color:#aebdca;font-size:10px}.admin-activity-list{display:grid;gap:3px;max-height:450px;overflow:auto}.admin-activity-list article{display:grid;gap:5px;padding:11px 0;border-bottom:1px solid #2b3c4a}.admin-activity-list article:last-child{border-bottom:0}.admin-activity-list article strong{color:#e5d4b4;font-size:12px}.admin-activity-list article p{overflow-wrap:anywhere}.admin-activity-list article small{font-size:10px}
@media(max-width:1000px){.admin-player-card{grid-template-columns:minmax(180px,1fr) auto repeat(2,minmax(90px,.6fr))}.admin-player-card .admin-player-metric:nth-of-type(4){display:none}.admin-player-open{display:none}}
@media(max-width:700px){.admin-player-overview{grid-template-columns:1fr}.admin-player-card{grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:15px}.admin-player-card .admin-player-metric{display:none}.admin-facts{grid-template-columns:1fr 1fr}.admin-user-stats{grid-template-columns:1fr 1fr}.admin-user-stats>div:last-child{grid-column:1/-1}.admin-summary{grid-template-columns:1fr}.admin-collection-table{font-size:10px}.admin-collection-table th,.admin-collection-table td{padding:9px 7px}}.admin-collection-details summary{list-style:none;cursor:pointer;padding:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#ead6b3}.admin-collection-details summary::-webkit-details-marker{display:none}.admin-collection-details[open]>summary{border-bottom:1px solid #2b3d4e}.admin-collection-content{padding:18px}.admin-collection-details .section-label{margin:0;flex:1 1 250px}.admin-collection-search{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:12px;color:#b9c7d4}.admin-collection-search input{width:100%;padding:9px;font-size:12px}.collection-admin-grid{align-items:stretch}
.collection-admin-card{position:relative;display:flex;min-width:0;flex-direction:column;gap:8px;padding:7px;border:1px solid var(--line,#304157);border-radius:10px;background:linear-gradient(145deg,rgba(30,44,59,.92),rgba(13,22,34,.96));transition:border-color .18s,box-shadow .18s}
.collection-admin-card.selected{border-color:var(--gold,#e5b967);box-shadow:0 0 0 1px rgba(229,185,103,.32),0 8px 24px rgba(0,0,0,.2)}
.collection-admin-card .collection-card{width:100%;min-width:0}
.collection-admin-card .admin-card-id{display:block;width:100%;padding:4px 6px;border:1px solid #334b60;border-radius:5px;background:rgba(7,15,24,.72);color:#9fcde0;text-align:center;font:600 .65rem/1.35 var(--font);letter-spacing:.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.collection-admin-card .collection-card-status{display:inline-flex;align-self:flex-start;position:absolute;top:14px;left:14px;z-index:2;padding:4px 8px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(8,14,22,.88);color:#f3d593;font-size:.68rem;letter-spacing:.04em}
.collection-card-status.deleted{color:#e7a1a1}
.collection-card.card-unavailable{filter:saturate(.7)}
.admin-card-select{width:100%;min-height:38px;display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 10px;border:1px solid #547087;border-radius:7px;background:linear-gradient(135deg,#20374a,#111d2b 72%);color:#dcebf4;font-size:.74rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;box-shadow:inset 0 1px #ffffff12,0 3px 9px #0005;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}
.admin-card-select:hover{transform:translateY(-1px);border-color:#65c9eb;background:linear-gradient(135deg,#28516a,#142536 72%);color:#f2fbff;box-shadow:inset 0 1px #ffffff20,0 0 13px #42bce72e}
.admin-card-select.selected{border-color:#c9a861;background:linear-gradient(135deg,#4c3b1d,#221b12 72%);color:#ffe7ad;box-shadow:inset 0 1px #fff2c326,0 0 13px #c9a86132}
.admin-card-select-indicator{width:17px;height:17px;flex:0 0 17px;display:grid;place-items:center;border:1px solid #86a8ba;border-radius:4px;background:#091522;color:#081018;font-size:12px;line-height:1;transition:background .18s,border-color .18s}
.admin-card-select:hover .admin-card-select-indicator{border-color:#8ce3ff}
.admin-card-select.selected .admin-card-select-indicator{border-color:#e5c579;background:#e5c579;color:#251b0c}
.admin-test-mode{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 10px;padding:14px 18px;border:1px solid #46586a;border-radius:10px;background:linear-gradient(145deg,rgba(22,34,48,.96),rgba(13,21,31,.96))}.admin-test-mode>div{display:grid;gap:5px;min-width:0}.admin-test-mode strong{color:#b6c8d5;font-size:.82rem;letter-spacing:.04em}.admin-test-mode small{color:var(--muted,#9baec1);line-height:1.5}.admin-test-mode.active{border-color:#91733d;box-shadow:inset 0 0 18px #c99b3a0b}.admin-test-mode.active strong{color:#f0ce88}.admin-test-mode.inactive strong{color:#9bd1bf}.admin-test-mode button{flex:0 0 auto;padding:9px 14px;border:1px solid #617990;border-radius:7px;background:linear-gradient(#253849,#111d2a);color:#e4edf4;font-weight:700}.admin-test-mode button:hover{border-color:#87cee8;color:#fff}.admin-test-mode.active button{border-color:#9b7b42;background:linear-gradient(#44351c,#201a11);color:#ffe4a2}.admin-test-mode.active button:hover{border-color:#d2b66e;background:linear-gradient(#5b4723,#2a2113)}
@media(max-width:680px){.admin-test-mode{align-items:stretch;flex-direction:column;padding:13px}.admin-test-mode button{width:100%}}
.admin-card-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0;padding:16px 18px;border:1px solid var(--line,#304157);border-radius:10px;background:linear-gradient(145deg,rgba(22,34,48,.96),rgba(13,21,31,.96))}
.admin-card-toolbar>div:first-child{flex:1 1 320px}
.admin-card-toolbar>div:first-child strong,.admin-card-toolbar>div:first-child small{display:block}
.admin-card-toolbar>div:first-child small{margin-top:5px;color:var(--muted,#9baec1);line-height:1.5}
.admin-card-selection-count{color:#f0ce88;font-size:.85rem;white-space:nowrap}
.admin-card-toolbar .button-row{margin:0;flex-wrap:wrap}
.admin-card-toolbar button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:680px){.admin-card-toolbar{align-items:stretch;padding:13px}.admin-card-toolbar .button-row{width:100%}.admin-card-toolbar .button-row button{flex:1 1 130px}.admin-card-selection-count{width:100%}}

.ready-deck-store{margin-top:24px}.ready-deck-store>p{margin-top:8px;color:#91a6b8;font-size:12px}.ready-deck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:15px;margin-top:18px}.ready-deck-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:14px;border-color:#3a5265;background:linear-gradient(145deg,rgba(21,37,52,.96),rgba(10,18,28,.98))}.ready-deck-art{display:flex;justify-content:center;align-items:center;min-width:0}.ready-deck-art img{display:block;width:94px;height:141px;object-fit:contain;border:1px solid #c7a96b66;border-radius:6px;background:radial-gradient(ellipse,#263747,#080e15 75%);box-shadow:0 8px 22px #0008}.ready-deck-art .game-card{width:94px;height:141px;pointer-events:none;box-shadow:0 8px 22px #0008}.ready-deck-info{min-width:0}.ready-deck-info h3{margin:7px 0;font-size:15px}.ready-deck-info p{margin:0 0 12px;color:#9aafc0;font-size:11px;line-height:1.5}.ready-deck-info button{width:100%;padding:9px 7px;font-size:10px}.ready-deck-info .tag{display:inline-flex;margin-top:4px}.starter-choice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.starter-choice-actions button{width:100%;padding:9px 6px;font-size:10px}.starter-deck-preview-grid{max-height:68vh;overflow:auto;padding:4px}
@media(max-width:650px){.ready-deck-grid{grid-template-columns:1fr}.ready-deck-card{grid-template-columns:85px minmax(0,1fr);gap:11px;padding:11px}.ready-deck-art .game-card{width:82px;height:123px}.ready-deck-art img{width:82px;height:123px}}
.collection-trade-request{margin:0 0 19px;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#61563d;background:linear-gradient(110deg,#1b2934,#111b27)}.collection-trade-request h3{margin:6px 0;color:#ead8b7;font:20px var(--title)}.collection-trade-request p{margin:0;color:#a1b2c2;font-size:12px;line-height:1.6}.trade-code-display{margin:22px 0;padding:20px;text-align:center;border:1px solid #6b5b3e;border-radius:5px;background:#0a1420}.trade-code-display code{color:#f4d89f;font:24px/1.5 ui-monospace,Consolas,monospace;letter-spacing:2px;overflow-wrap:anywhere}.modal #transfer-card-form label{display:block;margin:18px 0}.modal #transfer-card-form input{width:100%;margin-top:7px}.modal #transfer-card-form .hint-box{margin-top:18px}@media(max-width:650px){.collection-trade-request{align-items:stretch;flex-direction:column;padding:17px}.collection-trade-request .metal-btn{width:100%}.trade-code-display code{font-size:19px;letter-spacing:1px}}
.card-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.card-detail-actions>.metal-btn{width:100%;min-width:0;min-height:44px;white-space:normal;line-height:1.25;text-wrap:balance}.card-detail-actions>.card-print-download{grid-column:1/-1}
@media(max-width:420px){.card-detail-actions{grid-template-columns:1fr}}
.collection-trade-request .trade-use-note{display:block;margin-top:7px;color:#e4c991;font-size:11px;line-height:1.5}

/* Editor de cartas: campos em grupos claros e opções técnicas recolhidas. */
.admin-editor{display:grid;gap:21px}.admin-editor-intro{margin:0 0 1px;padding:13px 15px;border:1px solid #304559;border-radius:5px;background:#132435;color:#b4c7d8;font-size:12px;line-height:1.65}.admin-editor-section{padding:0 0 19px;border-bottom:1px solid #2c4051}.admin-editor-section:last-child{padding-bottom:0;border-bottom:0}.admin-editor-heading{margin-bottom:14px}.admin-editor-heading h3{margin:0;color:#ead8b3;font-size:17px}.admin-editor-heading p{margin:5px 0 0;color:#879caf;font-size:11px;line-height:1.6}.admin-editor label{display:block;margin-bottom:0;color:#c6d2dc;font-size:12px}.admin-editor label small{display:block;margin-top:5px;color:#8095a9;font-size:10px;line-height:1.5}.admin-editor .form-grid{gap:13px 16px;margin-bottom:0}.admin-editor [hidden]{display:none!important}.admin-keyword-picker{position:relative;margin-top:8px}.admin-keyword-options{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:230px;overflow:auto;border:1px solid #486276;border-radius:5px;background:#101b27;box-shadow:0 10px 26px #0009}.admin-keyword-option{display:block;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #293d4d;background:transparent;color:#e4edf3;text-align:left;cursor:pointer}.admin-keyword-option:last-child{border-bottom:0}.admin-keyword-option:hover,.admin-keyword-option:focus{outline:0;background:#263746}.admin-keyword-option strong,.admin-keyword-option small{display:block}.admin-keyword-option strong{color:#d9c18d;font-size:11px}.admin-keyword-option small{margin-top:4px;color:#9aafbf;font-size:10px;line-height:1.4}.admin-technical-settings{border:1px solid #304559;border-radius:5px;background:#0d1925}.admin-technical-settings summary{padding:13px 15px;color:#b9c7d2;font-size:12px;cursor:pointer}.admin-technical-settings[open] summary{border-bottom:1px solid #304559}.admin-technical-settings .form-grid{padding:16px}.admin-effect-builder{padding:16px;border:1px solid #304559;border-radius:5px;background:#0e1a27}.admin-effect-actions{margin-top:14px}.admin-effect-actions .metal-btn{font-size:11px}.admin-effect-list{display:grid;gap:8px;margin-top:12px}.admin-effect-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid #34495a;border-radius:4px;background:#142333;color:#d4e0e8;font-size:12px;line-height:1.55}.admin-effect-item button{flex:none;padding:6px 9px;border:1px solid #536777;border-radius:4px;background:#182938;color:#aec2d1;font-size:10px;cursor:pointer}.admin-effect-item button:hover{border-color:#bc756c;color:#ffcec5}.admin-effect-empty{margin:0;padding:12px 14px;border:1px dashed #34495a;border-radius:4px;color:#869caf;font-size:11px;line-height:1.6}.admin-editor textarea{min-height:92px}.admin-technical-settings input[readonly]{opacity:.75;cursor:not-allowed}
@media(max-width:650px){.admin-editor .form-grid{grid-template-columns:1fr}.admin-effect-item{align-items:flex-start}.admin-effect-item button{margin-top:1px}}.admin-art-picker{display:grid;grid-template-columns:156px minmax(0,1fr);gap:20px;align-items:start;padding:15px;border:1px solid #304559;border-radius:5px;background:#0e1a27}.admin-art-preview{width:156px;aspect-ratio:5/7;border:1px solid #536777;border-radius:5px;background-color:#172434;box-shadow:0 8px 22px #0005}.admin-art-controls{display:grid;align-content:start;gap:10px}.admin-art-controls>strong{color:#e5d3ad;font-size:13px}.admin-art-controls>small{color:#8ea2b4;font-size:11px;line-height:1.5}.admin-art-controls input[type=file]{width:100%;margin-top:8px;padding:9px}.admin-art-actions{margin-top:2px}.admin-art-actions .metal-btn{font-size:11px}.admin-art-note{max-width:560px}.admin-art-controls [data-action="admin-remove-art"]{border-color:#70504d;color:#e8b8ae}
@media(max-width:650px){.admin-art-picker{grid-template-columns:1fr}.admin-art-preview{width:min(156px,100%)}}@media(max-width:650px){.card-catalog-pagination{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"summary summary summary summary" "first previous next last";gap:8px}.card-catalog-pagination> :nth-child(1){grid-area:first}.card-catalog-pagination> :nth-child(2){grid-area:previous}.card-catalog-pagination>small{grid-area:summary;text-align:center}.card-catalog-pagination> :nth-child(4){grid-area:next}.card-catalog-pagination> :nth-child(5){grid-area:last}.card-catalog-pagination button{min-width:0;padding:8px 6px;font-size:11px}}
.game-card.family-spider{background:linear-gradient(140deg,#203d36,#101c1a 56%,#172d27);border-color:#78c7a3;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #18352e}.family-spider .card-type{background:linear-gradient(#315b48,#1c3b31);color:#e7fff1;text-shadow:none}.family-spider .card-type span{color:#9ce8b8}.family-spider .frame-corner{border-color:#9cddb6}.game-card.family-snake{background:linear-gradient(140deg,#35451f,#11190e 56%,#202c15);border-color:#b6ce6a;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #27351a}.family-snake .card-type{background:linear-gradient(#536733,#35441e);color:#f3f9dd;text-shadow:none}.family-snake .card-type span{color:#d4e88e}.family-snake .frame-corner{border-color:#d7e896}
.room-gold-toggle{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:14px;line-height:1.5}.room-gold-toggle input{width:auto;margin-top:4px;accent-color:#e8c877}.room-preview{line-height:1.65}.room-error{color:#ff9b91;font-size:13px}
/* Separa os grupos de cartas dos reinos na biblioteca. */
.family-group{display:grid;gap:11px;padding:13px 14px;border:1px solid #514631;border-radius:8px;background:linear-gradient(145deg,#191a1b,#101720)}
.family-group+.family-group{margin-top:14px}
.family-group-realms{border-color:#354b5c;background:linear-gradient(145deg,#141d27,#101720)}
.family-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 1px 10px;border-bottom:1px solid #3a3428}
.family-group-realms .family-group-head{border-color:#2c3b49}
.family-group-title{margin:0!important;color:#e4c98d;font:600 15px var(--title);letter-spacing:.06em;text-transform:uppercase}
.family-group-realms .family-group-title{color:#a9c9dd}
.family-group-head p{margin-top:4px;color:#a2adba;font-size:11px;line-height:1.45}
.family-group-count{flex:0 0 auto;padding:4px 8px;border:1px solid #68583a;border-radius:999px;color:#e4c98d;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.family-group-realms .family-group-count{border-color:#3b5c70;color:#a9c9dd}
.family-group .family-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.family-group .family-tile{min-height:100px}
.family-tile-kind{display:inline-flex;margin-bottom:5px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--family-accent) 38%,transparent);border-radius:3px;background:color-mix(in srgb,var(--family-accent) 9%,transparent);color:var(--family-accent);font:700 8px var(--font);letter-spacing:.1em;line-height:1.2}
@media(max-width:1100px){.family-group .family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.family-group .family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.family-group{gap:9px;padding:11px}.family-group-head{align-items:flex-start}.family-group-count{margin-top:1px;padding:3px 6px;font-size:8px}.family-group .family-grid{grid-template-columns:minmax(0,1fr);gap:9px}.family-group .family-tile{min-height:88px}}
.game-card.family-orc{background:linear-gradient(140deg,#4a2419,#140c0a 55%,#2a100c);border-color:#ea7652;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #4b1b10}.family-orc .card-paper{background:linear-gradient(#39231b,#1c120e);color:#ffe5d7}.family-orc .card-type{background:linear-gradient(#783a26,#4b2017);color:#fff1e9;text-shadow:none}.family-orc .card-type span{color:#ffa177}.family-orc .card-rules{color:#ffe5d7}.family-orc .card-rarity{color:#f0ad78}.family-orc .frame-corner{border-color:#f18b5e}.family-tile-orc{border-color:#87422e;background:#301912;color:#ffe1d2}.family-tile-orc:hover,.family-tile-orc.active{border-color:#f18b5e;background:#49251a;box-shadow:0 0 0 1px #f18b5e66}.family-tile-orc small{color:#e5ad91}

.game-card.family-soldier{background:linear-gradient(140deg,#56451f,#17140d 55%,#302718);border-color:#efd17d;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #3d3016}.family-soldier .card-paper{background:linear-gradient(#f0e3be,#c9b982);color:#211b0d}.family-soldier .card-type{background:linear-gradient(#dbc57e,#99804b);color:#fff8dd;text-shadow:0 1px 2px #171107}.family-soldier .card-type span{color:#fff0ab}.family-soldier .card-rules{color:#201b11}.family-soldier .frame-corner{border-color:#fff0ab}.family-tile-soldier{--family-accent:#f0d27b}

.game-card.family-elemental{background:linear-gradient(140deg,#17484d,#101b20 56%,#213d43);border-color:#83d5df;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #17454a}.family-elemental .card-type{background:linear-gradient(#28626a,#183f44);color:#e8fdff;text-shadow:none}.family-elemental .card-type span{color:#a9eef2}.family-elemental .frame-corner{border-color:#a9eef2}.family-tile-elemental{--family-accent:#83d5df}
.game-card.family-bird{background:linear-gradient(140deg,#24445b,#0d1821 56%,#193847);border-color:#8bc9df;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #173342}.game-card.family-bat{background:linear-gradient(140deg,#322645,#11101a 56%,#242b49);border-color:#b59ae6;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #28203a}.family-bat .card-type{background:linear-gradient(#60477f,#382c56);color:#f5edff;text-shadow:none}.family-bat .card-type span{color:#e1d1ff}.family-bat .frame-corner{border-color:#c5aff2}.family-tile-bat{--family-accent:#b59ae6}.family-bird .card-type{background:linear-gradient(#34718a,#204557);color:#effbff;text-shadow:none}.family-bird .card-type span{color:#c6f3ff}.family-bird .frame-corner{border-color:#b1e9fb}.family-tile-bird{--family-accent:#8bc9df}

/* Immersive home menu inspired by the MYTHIC LEGACY game art. */
.home-layout:has(.home-mosaic){grid-template-columns:78px minmax(0,1fr);min-height:calc(100vh - 74px)}

.home-layout:has(.home-mosaic)>.page{width:100%;max-width:1680px;padding:20px clamp(16px,2.7vw,44px) 22px}
.home-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(180px,1.1fr) minmax(138px,.9fr) minmax(135px,.72fr);gap:10px;min-height:clamp(500px,calc(100dvh - 145px),760px)}
.home-tile{--home-accent:#9edfff;position:relative;isolation:isolate;display:flex;min-width:0;width:100%;height:100%;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px;overflow:hidden;padding:20px;border:1px solid color-mix(in srgb,var(--home-accent) 38%,#17283a);border-radius:8px;background-color:#101a28;background-image:linear-gradient(180deg,#030812a8 0%,#0308128c 42%,#030812f2 100%),linear-gradient(90deg,#03081284 0%,#03081244 56%,#03081222 100%),var(--home-art);background-size:cover;background-position:center,var(--home-position,center);color:#fff5df;text-align:left;text-shadow:0 2px 10px #000,0 1px 2px #000;box-shadow:0 8px 24px #0007,inset 0 1px #ffffff16;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease}
.home-tile:before{content:"";position:absolute;z-index:-1;inset:7px;border:1px solid #f5e3bb38;border-radius:4px;pointer-events:none}
.home-tile:hover{z-index:1;transform:translateY(-2px);border-color:var(--home-accent);filter:saturate(1.08);box-shadow:0 14px 30px #0009,0 0 18px color-mix(in srgb,var(--home-accent) 22%,transparent),inset 0 1px #ffffff20}
.home-tile:focus-visible{outline:2px solid var(--home-accent);outline-offset:3px}
.home-tile--online{--home-art:url('/assets/images/ui/home-online.webp');--home-accent:#8adfff;grid-column:1/span 2;grid-row:1/span 2;padding:clamp(24px,3vw,38px);background-position:center,center 45%}
.home-tile--decks{--home-art:url('/assets/images/ui/home-decks.webp');--home-accent:#8fcfff;grid-column:3;grid-row:1;background-position:center,center 48%}
.home-tile--collection{--home-art:url('/assets/images/ui/home-collection.webp');--home-accent:#c4a3ff;grid-column:4;grid-row:1;background-position:center,center 42%}
.home-tile--shop{--home-art:url('/assets/images/ui/home-shop.webp');--home-accent:#ffd276;grid-column:3;grid-row:2;background-position:center,center 54%}
.home-tile--duel{--home-art:url('/assets/images/ui/home-duel.webp');--home-accent:#ff9a77;grid-column:4;grid-row:2;background-position:center,center 48%}
.home-tile--missions{--home-art:url('/assets/images/ui/home-missions.webp');--home-accent:#a8dfbb;grid-column:1/span 2;grid-row:3;background-position:center,center 42%}
.home-profile-tile{position:relative;grid-column:3/span 2;grid-row:3;min-width:0;min-height:0}
.home-tile--profile{--home-art:url('/assets/images/ui/home-profile.webp');--home-accent:#9ee5ff;padding-right:172px;background-position:center,center 45%}
.home-tile-kicker{display:inline-flex;width:fit-content;max-width:100%;padding:3px 7px;border:1px solid #ffffff24;border-radius:3px;background:#07111deb;color:var(--home-accent);font-size:8px;font-weight:700;letter-spacing:1.7px;line-height:1.35;text-transform:uppercase;text-shadow:none;box-shadow:0 2px 8px #0008}
.home-tile-title{font:500 clamp(18px,1.65vw,24px)/1.08 var(--title);letter-spacing:.01em;color:#fff3dc;text-shadow:0 2px 10px #000,0 1px 2px #000}
.home-tile-description{display:table;max-width:35ch;padding:4px 7px;border-radius:3px;background:linear-gradient(90deg,#050b13ed,#050b13c9);color:#f0f4f8;font-size:11px;line-height:1.45;text-shadow:none;box-shadow:0 2px 8px #0007}
.home-tile-cta{display:inline-flex;align-items:center;gap:8px;margin-top:5px;padding:5px 8px;border:1px solid #ffffff35;border-radius:3px;background:#06101bd9;color:var(--home-accent);font-size:8px;font-weight:700;letter-spacing:1.2px;text-shadow:none;box-shadow:0 2px 8px #0007}
.home-tile-cta span{font-size:13px;line-height:1}
.home-tile--online .home-tile-kicker{font-size:10px;letter-spacing:2px}
.home-tile--online .home-tile-title{font-size:clamp(34px,4.1vw,58px);line-height:1}
.home-tile--online .home-tile-description{max-width:43ch;font-size:13px;line-height:1.65}
.home-tile--online .home-tile-cta{margin-top:13px;padding:10px 17px;border:1px solid color-mix(in srgb,var(--home-accent) 74%,white);border-radius:4px;background:linear-gradient(#123d56dd,#071b2bdd);box-shadow:0 0 18px #38b8ff2c;font-size:9px}
.home-tile--missions .home-tile-title,.home-tile--profile .home-tile-title{font-size:clamp(20px,2vw,29px)}
.home-profile-settings{position:absolute;right:22px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #d9d7cb70;border-radius:4px;background:#07111dcc;color:#eff5f8;font:11px var(--title);box-shadow:0 2px 10px #0008;backdrop-filter:blur(6px)}
.home-profile-settings:hover{border-color:#a5e5ff;color:#fff;background:#0a2034e8}
.home-mosaic-footer{display:flex;justify-content:space-between;gap:12px;padding:11px 2px 0;color:#75869a;font-size:9px;letter-spacing:1.2px}
.home-mosaic-footer span:first-child{color:#c4aa79}
@media(max-width:1100px){.home-layout:has(.home-mosaic)>.page{padding:18px 20px 24px}.home-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(270px,1.2fr) repeat(4,minmax(155px,.8fr));min-height:0}.home-tile--online{grid-column:1/span 2;grid-row:1}.home-tile--decks{grid-column:1;grid-row:2}.home-tile--collection{grid-column:2;grid-row:2}.home-tile--shop{grid-column:1;grid-row:3}.home-tile--duel{grid-column:2;grid-row:3}.home-tile--missions{grid-column:1/span 2;grid-row:4}.home-profile-tile{grid-column:1/span 2;grid-row:5}.home-tile{min-height:155px}.home-tile--online{min-height:270px}.home-tile--online .home-tile-title{font-size:clamp(34px,6vw,52px)}}
@media(max-width:650px){.home-layout:has(.home-mosaic){min-height:0}.home-layout:has(.home-mosaic)>.page{padding:14px 12px 22px}.home-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(150px,auto);gap:9px}.home-tile--online,.home-tile--decks,.home-tile--collection,.home-tile--shop,.home-tile--duel,.home-tile--missions,.home-profile-tile{grid-column:1;grid-row:auto}.home-tile{padding:18px}.home-tile--online{min-height:280px;padding:23px;background-position:center,58% center}.home-tile--online .home-tile-title{font-size:clamp(34px,10vw,48px)}.home-tile--online .home-tile-description{font-size:12px}.home-tile--decks,.home-tile--collection,.home-tile--shop,.home-tile--duel{min-height:168px}.home-tile--missions{min-height:160px}.home-profile-tile{min-height:170px}.home-tile--profile{height:100%;padding-right:145px}.home-profile-settings{right:14px;bottom:14px;padding:8px 9px;font-size:9px}.home-tile--profile .home-tile-cta{max-width:calc(100% - 120px)}.home-mosaic-footer{flex-direction:column;gap:5px;padding:10px 2px 0;font-size:8px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.home-tile{transition:none}}
.manual-link{text-decoration:none}


.modal-footer:has(.field-unit-menu){display:block;padding:15px 22px}
.field-unit-menu{display:grid;gap:11px;width:100%}
.field-unit-menu h3{margin:0;color:#d8c59e;font:15px var(--title)}
.field-unit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.field-unit-actions>.metal-btn{min-height:42px;padding:9px 10px;line-height:1.3;white-space:normal}
.field-unit-actions>.metal-btn.primary{border-color:#6fc7eb}
.field-unit-actions>.metal-btn.danger{border-color:#a96862;color:#ffd0c7}
.field-unit-action-note,.field-unit-empty{grid-column:1/-1;margin:0!important;padding:9px 11px;border:1px solid #394d5c;border-radius:4px;background:#101c27;color:#9fb2c0!important;font-size:11px!important;line-height:1.5!important}
.field-unit-back{justify-self:end;min-width:175px}
.field-unit-dialog .modal-footer{border-top:1px solid #2c4051}
@media(max-width:650px){.modal-footer:has(.field-unit-menu){padding:13px 16px}.field-unit-actions{grid-template-columns:1fr}.field-unit-back{width:100%}}

.deck-add-rules{margin-top:18px}.deck-add-rules>strong{display:block;color:#e8d4ac;font-size:12px}.deck-add-rules ul{margin:7px 0 0;padding-left:19px}.deck-add-rules li{margin:3px 0}.deck-add-rules p{margin:9px 0 0;font-size:11px}.deck-add-rules .deck-add-warning{color:#ffd0c6}

/* Edição de deck: painel lateral mais claro, legível e sem rolagem horizontal. */
.deck-builder:not(.admin-deck-builder){grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start;gap:clamp(16px,2vw,26px)}
.deck-builder:not(.admin-deck-builder)>div{min-width:0}
.deck-builder:not(.admin-deck-builder)>.deck-sidebar{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-width:0;width:100%;padding:18px;position:sticky;top:18px;max-height:calc(100vh - 110px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border:1px solid #47617a;border-radius:10px;background:radial-gradient(ellipse at 50% 0,#1d3448 0,transparent 48%),linear-gradient(155deg,#121f2e,#0c1521 76%);box-shadow:0 12px 32px #0005,inset 0 1px #ffffff0a;scrollbar-color:#52677a #111b27;scrollbar-width:thin}
.deck-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.deck-sidebar-title{margin:0;color:#f0d9aa;font-size:11px;letter-spacing:1.7px}
.deck-sidebar-title:after{display:none}
.deck-sidebar-caption{display:block;margin-top:5px;color:#91a7b9;font-size:10px;line-height:1.4}
.deck-size-indicator{display:flex;align-items:baseline;gap:2px;flex:0 0 auto;padding:6px 10px;border:1px solid #4b6880;border-radius:6px;background:#0a1521;color:#a7b9c8;font:12px var(--font)}
.deck-size-indicator strong{color:#e9f7ff;font:700 21px/1 var(--title)}
.deck-progress{height:5px;margin:12px 0 15px;overflow:hidden;border-radius:10px;background:#263848}
.deck-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3099c8,#81e2ff);box-shadow:0 0 12px #42bde977;transition:width .2s ease}
.deck-name-label{margin-bottom:6px;color:#aebdcc;font-size:10px;font-weight:600;letter-spacing:.5px}
.deck-builder:not(.admin-deck-builder)>.deck-sidebar #deck-name{width:100%;min-height:42px;padding:10px 12px;border-color:#40556a;border-radius:6px;background:#09131e;color:#f1f4f5;font-size:13px}
.deck-builder:not(.admin-deck-builder)>.deck-sidebar #deck-name:focus{border-color:#61c9ef;box-shadow:0 0 0 3px #4fc4f322}
.curve-block{margin-top:16px;padding:10px 11px 6px;border:1px solid #293e50;border-radius:7px;background:#0a1420aa}
.deck-section-caption{color:#829aaf;font-size:9px;font-weight:700;letter-spacing:1.25px}
.deck-builder:not(.admin-deck-builder) .curve{height:76px;gap:7px;margin-top:4px;padding:9px 1px 16px}
.deck-builder:not(.admin-deck-builder) .curve-bar{min-width:0;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#83ddfb,#286587 82%);box-shadow:0 0 10px #50bce41c}
.deck-builder:not(.admin-deck-builder) .curve-bar small{bottom:-15px;color:#a3b9c9;font-size:8px}
.deck-builder:not(.admin-deck-builder) .deck-summary{gap:6px;margin:10px 0 0;color:#c1d0dc;font-size:10px}
.deck-builder:not(.admin-deck-builder) .deck-summary span{padding:5px 7px;border:1px solid #35495a;border-radius:20px;background:#122231;color:#b8c9d5;white-space:nowrap}
.deck-builder:not(.admin-deck-builder) .deck-validation{margin:12px 0 7px;padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.55}
.deck-builder:not(.admin-deck-builder) .deck-validation.is-valid{border-color:#3d7566;background:#102820;color:#b7e8ce}
.deck-builder:not(.admin-deck-builder) .deck-validation.is-invalid{border-color:#885c4b;background:#2a1d1a;color:#f1c5a9}
.deck-builder:not(.admin-deck-builder) .deck-actions{position:sticky;bottom:-1px;z-index:2;gap:8px;margin:0;padding:8px 0 10px;background:linear-gradient(180deg,#101b2900,#101b29 24%)}
.deck-builder:not(.admin-deck-builder) .deck-actions button{min-height:39px;padding:9px 14px;border-radius:6px;font-size:13px}
.deck-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 7px;padding-top:10px;border-top:1px solid #2a3d4f;color:#e2d3b7;font-size:11px}
.deck-list-heading span{color:#8198aa;font-size:9px;text-transform:uppercase;letter-spacing:.7px}
.deck-builder:not(.admin-deck-builder) .deck-list{width:100%;min-width:0;gap:5px;margin-top:0}
.deck-builder:not(.admin-deck-builder) .deck-item{box-sizing:border-box;display:flex;align-items:center;gap:6px;width:100%;min-width:0;padding:4px 5px 4px 8px;border:1px solid #2a3d4d;border-left:3px solid var(--faction);border-radius:6px;background:linear-gradient(100deg,#182a3a,#0c1621);font-size:11px}
.deck-builder:not(.admin-deck-builder) .deck-item .deck-card-details{display:flex;align-items:center;gap:7px;flex:1 1 auto;width:auto;min-width:0;height:34px;padding:0 2px;background:transparent;color:#dce7ee;font-size:11px}
.deck-builder:not(.admin-deck-builder) .deck-item .blue{flex:0 0 22px;width:22px;color:#83d9fa;text-align:center;font-size:10px;font-weight:700}
.deck-builder:not(.admin-deck-builder) .deck-card-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.deck-builder:not(.admin-deck-builder) .deck-card-count{flex:0 0 auto;min-width:25px;padding:4px 6px;border:1px solid #40586b;border-radius:5px;background:#0a1723;color:#d9eaf2;font-size:10px;text-align:center}
.deck-builder:not(.admin-deck-builder) .deck-item>button[data-action="remove-card"],.deck-builder:not(.admin-deck-builder) .deck-item>button[data-action="add-card"]{flex:0 0 29px;width:29px;height:29px;border:1px solid #344a5e;border-radius:5px;background:#172839;color:#c1d4e0;font-size:16px;line-height:1;transition:background .15s,border-color .15s,color .15s}
.deck-builder:not(.admin-deck-builder) .deck-item>button[data-action="remove-card"]:hover{border-color:#a76969;background:#382326;color:#ffd4d0}
.deck-builder:not(.admin-deck-builder) .deck-item>button[data-action="add-card"]:hover:not(:disabled){border-color:#5fbce1;background:#12344a;color:#e1f8ff}
.deck-builder:not(.admin-deck-builder) .deck-item>button:focus-visible{outline-offset:1px}
@media(max-width:900px){.deck-builder:not(.admin-deck-builder){grid-template-columns:minmax(0,1fr) minmax(265px,300px);gap:16px}}
@media(max-width:650px){.deck-builder:not(.admin-deck-builder){display:flex;flex-direction:column-reverse;gap:16px}.deck-builder:not(.admin-deck-builder)>.deck-sidebar{position:static;width:100%;max-height:min(62vh,480px);padding:15px}.deck-builder:not(.admin-deck-builder) .deck-actions{bottom:-1px}.deck-builder:not(.admin-deck-builder) .deck-item{gap:5px}.deck-builder:not(.admin-deck-builder) .deck-item .deck-card-details{gap:6px}}
/* Mantém as ações acessíveis quando a lista interna é rolada. */
.deck-builder:not(.admin-deck-builder) .deck-actions{top:0;bottom:auto;background:linear-gradient(180deg,#101b29 72%,#101b2900)}

.deck-page-balance{padding:8px 12px;border:1px solid #b9975544;border-radius:6px;background:linear-gradient(120deg,#282419,#111b25);white-space:nowrap}.deck-page-balance .currency{gap:0;color:#d5c9b0}.deck-page-balance .currency strong{color:#f0d38e}

.deck-add-quantity{margin:18px 0 12px;padding:14px 16px;border:1px solid #304559;border-radius:4px;background:#1424357a}.deck-add-quantity>label{display:block;margin-bottom:9px;color:#dbc89f;font-size:12px;font-weight:700}.deck-add-quantity-control{display:flex;align-items:center;gap:12px}.deck-add-quantity-control input{width:94px;padding:9px 10px}.deck-add-quantity-control span,.deck-add-quantity small{color:#aebfd0;font-size:11px}.deck-add-quantity small{display:block;margin-top:8px;line-height:1.55}.deck-add-rules{margin-top:12px}


.deck-zone-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:13px 0 10px}.deck-zone-tabs button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #35495d;border-radius:5px;background:linear-gradient(145deg,#172535,#0c1621);color:#9db2c5;font:11px var(--font);cursor:pointer}.deck-zone-tabs button.active{border-color:#6abce0;background:linear-gradient(145deg,#173a50,#102638);color:#d9f4ff;box-shadow:inset 0 0 0 1px #75d9fa33}.deck-zone-tabs button b{color:#e8d5ac;font-size:10px}.sideboard-builder-note{margin:5px 0 14px;color:#a9bfd0;font-size:11px;line-height:1.6}.sideboard-swap-form{display:grid;gap:16px}.sideboard-swap-form>p{color:#a9bdcd;font-size:12px;line-height:1.7}.sideboard-swap-form label{display:grid;gap:7px;color:#d7c69f;font-size:11px;letter-spacing:.4px;text-transform:uppercase}.sideboard-swap-form select{width:100%;padding:11px;color:#e6edf2;background:#101b27;border:1px solid #3b5267;border-radius:4px}.modal:has(.sideboard-swap-form) .modal-footer{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.modal:has(.sideboard-swap-form) .modal-footer .metal-btn{flex:1 1 160px}@media(max-width:600px){.deck-zone-tabs button{font-size:10px;padding:9px 7px}.modal:has(.sideboard-swap-form) .modal-footer{display:grid;grid-template-columns:1fr}.modal:has(.sideboard-swap-form) .modal-footer .metal-btn{width:100%}}

.domain-entry{display:grid;align-content:start;gap:8px;min-width:0}.domain-entry>.collection-card{gap:8px}.domain-state{padding:4px 6px;border:1px solid #705e3d;border-radius:3px;background:#16130e;color:#e5ca8d;text-align:center;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.domain-ability-button{width:100%;min-height:32px;padding:7px 8px;border:1px solid #705e3d;border-radius:4px;background:linear-gradient(#302718,#17130e);color:#f4dfa8;font-size:10px;font-weight:700}.domain-ability-button:hover:not(:disabled){border-color:#e0be68;background:linear-gradient(#49391f,#211a11)}.domain-ability-button:disabled{opacity:.45;cursor:not-allowed}.domain-target-choice{align-content:start}.domain-target-choice small{white-space:normal;line-height:1.35}
.game-card.family-domain{background:linear-gradient(140deg,#45382c,#111b25 56%,#5a4531);border-color:#aa7851;box-shadow:0 8px 18px #0008,inset 0 0 0 2px #3a2b1e}.family-domain .card-paper{background:linear-gradient(#fff7e7,#e8d4b7);color:#3d2d21}.family-domain .card-type{background:linear-gradient(#5b432d,#36291f);color:#fff8e8;text-shadow:none}.family-domain .card-type span{color:#fff8e8}.family-domain .card-rules{color:#3d2d21}.family-domain .card-rarity{color:#825a37}.family-domain .frame-corner{border-color:#ead4b1}.family-tile-domain{--family-accent:#aa7851;border-color:#6b4d35;background:#2e2720;color:#f6ebd5}.family-tile-domain:hover,.family-tile-domain.active{border-color:#d5b88e;background:#413327;box-shadow:0 0 0 1px #aa785155}.family-tile-domain small{color:#d7c1a1}
