@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--gold:#edc375;--ink:#eee7d8;--dim:#b1a79b;--green:#96d4a0;--blue:#7ac9ef}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 40%,#3c3030 0,#191b24 50%,#101218 100%);color:var(--ink);font-family:'DM Sans',sans-serif;min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #78664b;background:#2b2930;border-radius:7px;padding:11px 18px}button:hover:not(:disabled){filter:brightness(1.18);border-color:var(--gold)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}header{height:80px;border-bottom:1px solid #ffffff16;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;gap:16px}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;letter-spacing:3px;color:var(--gold);text-decoration:none}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);font-weight:700}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}h1{font-size:clamp(44px,6vw,80px);line-height:1.02;margin:20px 0}p{color:var(--dim);line-height:1.7} .lobby{max-width:1150px;margin:auto;padding:9vh 40px;min-height:calc(100vh - 80px)}.primary{background:linear-gradient(135deg,#efd08c,#b7843e);color:#201b17;font-weight:700;box-shadow:0 5px 22px #0004;border-color:#f6db9b;padding:15px 28px}.rules-strip{display:flex;gap:30px;color:var(--dim);font-size:14px;margin-top:44px}.lobby p{font-size:18px;margin-bottom:28px}
.art{background-image:url('portraits.png');background-size:300% 300%;background-position:var(--x) var(--y);background-repeat:no-repeat}header .brand{border:0;background:none;padding:0;box-shadow:none}.header-right{display:flex;align-items:center;gap:28px}.text-button{background:none;border-color:transparent;color:var(--dim);font-size:14px;padding:8px}.record{font-size:14px;color:var(--dim)}.record b{color:var(--gold)}.record span{margin:0 8px}.lobby{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;max-width:1300px;padding-top:6vh}.lobby-copy{position:relative;z-index:1}.lobby .fine{font-size:13px;line-height:1.8;margin-top:40px}.rules-strip b{display:block;color:var(--gold);font:600 27px 'Cormorant Garamond',serif;margin-bottom:6px}.actions{display:flex;gap:12px}.lobby-display{position:relative;height:460px}.lobby-display:before{content:'';position:absolute;inset:50px -40px;background:radial-gradient(ellipse,#d58b2523,transparent 70%)}.card{width:208px;height:310px;position:relative;display:flex;flex-direction:column;align-items:stretch;padding:8px 8px 22px;border:3px solid #aa8960;border-radius:14px;background:linear-gradient(125deg,#554636,#28262a 50%,#51402d);box-shadow:0 9px 18px #0007,inset 0 0 0 2px #1e1a1c;transition:transform .18s,box-shadow .18s;text-align:center;color:#f0e4cf;flex-shrink:0}.card:hover{transform:translateY(-7px);box-shadow:0 14px 30px #0009}.card .art{height:144px;flex-shrink:0;border-radius:7px 7px 30% 30%;border:1px solid #b68d51}.card .cost{position:absolute;z-index:2;left:-13px;top:-9px;width:43px;height:45px;display:grid;place-items:center;border:2px solid #9ce8ff;background:linear-gradient(135deg,#5896c5,#183f6b);border-radius:45%;font:700 29px Georgia;box-shadow:0 3px 6px #0009;color:white}.card-name{display:block;font:700 20px/1.1 'Cormorant Garamond',Georgia,serif;padding:10px 0 6px;min-height:44px}.card-text{font-size:13px;line-height:1.3;padding:2px 6px;flex:1;display:grid;place-items:center}.card-kind{font-size:10px;color:#c9b697;letter-spacing:1px;text-transform:uppercase;margin-top:5px}.stat{position:absolute;bottom:-9px;width:35px;height:35px;display:grid;place-items:center;border:2px solid #e5cc8b;border-radius:50%;font:bold 23px Georgia;box-shadow:0 2px 5px #0008;text-shadow:1px 1px 1px #000}.stat.attack{left:-7px;background:#9b7735}.stat.health{right:-7px;background:#a13943}.stat.hurt{color:#ffcebd}.card.rare{border-color:#77a6c6}.card.epic{border-color:#b48acf}.card.legendary{border-color:#ecae4f}.card.spell .art{border-radius:8px}.showcase{position:absolute;top:30px;width:225px;height:340px}.showcase .art{height:162px}.showcase .card-name{font-size:23px}.side-card{left:0;transform:rotate(-15deg);top:60px}.front-card{right:5px;transform:rotate(12deg)}.side-card:hover{transform:rotate(-15deg) translateY(-8px)}.front-card:hover{transform:rotate(12deg) translateY(-8px)}.table-seal{position:absolute;bottom:0;left:25%;text-align:center;font-size:28px;color:#b58f57}.table-seal small{font-size:10px;letter-spacing:5px}.selection{max-width:1100px;margin:auto;padding:38px 30px 60px;text-align:center}.selection h1{font-size:52px;margin:14px 0}.selection p{margin:0 0 28px}.hero-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.hero-choice{height:440px;position:relative;overflow:hidden;padding:0;border:1px solid #806d50;box-shadow:0 12px 32px #0007;text-align:left;transition:transform .2s}.hero-choice:hover{transform:translateY(-6px)}.hero-choice>.art{position:absolute;inset:0;opacity:.95}.hero-copy{position:absolute;bottom:0;left:0;right:0;padding:55px 24px 24px;background:linear-gradient(transparent,#14151dee 28%,#14151d)}.hero-copy h2{font-size:30px;margin:10px 0 16px}.power-preview{display:flex;flex-direction:column;gap:7px;font-size:14px;min-height:65px}.power-preview span{color:var(--dim);line-height:1.4}.choose-label{display:block;text-align:center;border-top:1px solid #77603b;margin-top:16px;padding-top:16px;color:var(--gold);font-size:14px}.draft-layout,.run-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:calc(100vh - 80px)}.draft-main{padding:48px 45px}.draft-heading{display:flex;align-items:center;justify-content:space-between}.draft-heading h1{font-size:52px;margin:12px 0 24px}.pick-count b{font:600 52px 'Cormorant Garamond',serif;color:var(--gold)}.pick-count span{color:var(--dim);margin-left:5px}.progress{height:3px;background:#ffffff15}.progress i{display:block;height:100%;background:var(--gold);transition:width .2s}.draft-main>p{margin:20px 0 35px;font-size:14px}.draft-cards{display:flex;gap:30px;justify-content:center;padding:8px 0 35px}.draft-cards .card{width:clamp(175px,17vw,230px);height:335px}.draft-cards .card .art{height:160px}.draft-cards .card-text{font-size:14px}.draft-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;color:var(--dim);border-top:1px solid #ffffff15;padding-top:20px}.deck-panel{background:#11131aad;border-left:1px solid #ffffff12;padding:27px 20px;max-height:calc(100vh - 80px);display:flex;flex-direction:column}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title h2{font-size:26px;margin:0}.panel-title>span{font-size:12px;color:var(--dim)}.curve{display:flex;align-items:end;justify-content:space-between;height:125px;gap:9px;padding:10px 3px 20px;margin:15px 0;border-bottom:1px solid #ffffff16;flex-shrink:0}.curve>div{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.curve i{display:block;background:linear-gradient(#a7cbe1,#406883);width:100%;max-height:70px;border-radius:3px 3px 0 0}.curve span,.curve label{font-size:12px;color:var(--dim);font-style:normal}.deck-list{overflow:auto;flex:1}.deck-row{display:flex;align-items:center;gap:9px;border-radius:3px;border:0;background:#242630;width:100%;font-size:13px;padding:7px 9px;margin:3px 0;text-align:left}.deck-row>b{color:#a5dbf6;background:#1a4260;padding:1px 6px;border-radius:3px}.deck-row>span{flex:1}.deck-row>em{font-style:normal;color:var(--gold)}.empty{padding:40px 0;text-align:center;font-size:14px}.run-summary{text-align:center;padding:40px 30px}.run-summary h1{font-size:52px;margin:15px 0}.hero-medallion{width:110px;height:125px;border:3px solid var(--gold);border-radius:50% 50% 40% 40%;margin:0 auto 24px;overflow:hidden;box-shadow:0 0 40px #c4862220}.hero-medallion>.art{height:100%}.big-score{display:flex;gap:32px;align-items:center;justify-content:center;margin:22px 0}.big-score>div{display:flex;flex-direction:column;gap:5px}.big-score b{font:600 60px 'Cormorant Garamond',serif;color:var(--gold)}.big-score span{font-size:11px;letter-spacing:3px;color:var(--dim)}.big-score i{font-size:35px;color:#776448;font-style:normal}.win-track{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.win-track span{border:1px solid #615139;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:12px;color:#8b8173}.win-track .won{background:var(--gold);color:#211f20;box-shadow:0 0 15px #cca75245}.fine{font-size:13px;color:var(--dim)}.battle-layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 80px);max-width:1600px;margin:auto}.match-sidebar{padding:32px 20px;background:#11141ca6;border-right:1px solid #ffffff12}.match-sidebar h2{font-size:30px;margin:10px 0}.round-label{color:var(--dim);font-size:14px}.match-record{font-size:21px;color:var(--gold);margin:22px 0 35px}.match-record span{color:#776d5e;margin:0 12px}.log-heading{letter-spacing:2px;color:#8b8379;font-size:11px}.battle-log{min-height:310px}.battle-log p{font-size:12px;line-height:1.4;color:#918d87;padding:10px 0;border-bottom:1px solid #ffffff09;margin:0}.battle-log .latest{color:#e9d4ad}.sidebar-actions{display:flex;flex-direction:column;align-items:start;gap:6px;margin-top:24px}.game-table{position:relative;padding:6px 25px 8px;background:radial-gradient(ellipse at 50% 45%,#584a3a 0%,#3a332f 42%,#24252c 80%);overflow:hidden;border:10px solid #242127;border-top:0;border-bottom:0;box-shadow:inset 0 0 70px #0005}.opponent-hand{height:37px;display:flex;justify-content:center;align-items:start}.card-back{width:32px;height:39px;background:linear-gradient(135deg,#394b60,#171e31);border:2px solid #998464;border-radius:4px;margin:0 -5px;text-align:center;color:#baa677;font-size:22px;box-shadow:0 2px 5px #0006}.opponent-hand>span:last-child:not(.card-back){font-size:11px;color:var(--dim);align-self:center;margin-left:22px}.hero-area{display:flex;align-items:center;justify-content:center;gap:24px;min-height:103px}.hero-info{width:200px;text-align:right;display:flex;flex-direction:column;gap:5px}.hero-info .eyebrow{font-size:10px;letter-spacing:2px}.hero-info strong{font:600 23px 'Cormorant Garamond',serif}.mana-text{font-size:11px;color:#c5bcae}.hero-avatar{width:85px;height:94px;flex-shrink:0;position:relative;padding:0;border:3px solid #a28c64;border-radius:45% 45% 38% 38%;background:#26222b;box-shadow:0 3px 15px #0009}.hero-avatar>.art{height:100%;border-radius:inherit}.hero-hp,.hero-attack{position:absolute;right:-13px;bottom:-6px;background:#a53140;border:2px solid #d6ac80;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font:bold 23px Georgia}.hero-attack{right:auto;left:-15px;background:#a98536}.hero-power-area{width:200px;display:flex;flex-direction:column;align-items:start;gap:8px}.power-button{display:grid;grid-template-columns:28px 1fr;text-align:left;gap:3px 7px;background:#242630;border:1px solid #8f7952;padding:9px 12px;max-width:195px}.power-button>span{grid-row:span 2;font-size:26px;color:var(--blue)}.power-button>b{font-size:13px;color:var(--gold)}.power-button>small{font-size:11px;color:#c7bdad;line-height:1.3}.weapon-label{font-size:11px;color:var(--gold)}.opponent-power{font-size:13px;color:#bca886}.board-row{display:flex;justify-content:center;align-items:center;gap:12px;min-height:130px;padding:8px 0}.board-empty{font-size:10px;letter-spacing:4px;color:#d7bda52e;pointer-events:none}.turn-divider{height:37px;display:flex;justify-content:center;align-items:center;position:relative;border-top:1px solid #bda47735;border-bottom:1px solid #14131955;margin:4px 0}.turn-divider>span{font-size:10px;letter-spacing:3px;color:#baa784}.turn-divider>button{position:absolute;right:0;top:-4px;z-index:5;font-size:13px;padding:10px 20px;background:linear-gradient(#cdae6c,#9f8047);border-color:#e4c185;color:#201b15;font-weight:700;box-shadow:0 4px 8px #0007}.turn-divider>button:disabled{background:#333139;color:#b7aca0;border-color:#655a4a;opacity:.8}.unit{position:relative;width:88px;height:110px;padding:3px;border:3px solid #9d805a;border-radius:45% 45% 35% 35%;background:#342a29;box-shadow:0 4px 10px #0009;flex-shrink:1;min-width:0;transition:transform .15s}.unit:hover{transform:translateY(-4px)}.unit>.art{width:100%;height:100%;border-radius:inherit}.unit-name{position:absolute;bottom:16px;left:0;right:0;font-size:10px;line-height:1.1;background:#151722cf;padding:4px 1px;color:#fff1d6}.unit .stat{width:29px;height:29px;font-size:20px;bottom:-7px}.keywords{position:absolute;top:5px;right:3px;font-size:14px;text-shadow:0 1px 4px #000;color:#fce9a5}.unit.taunt{border-radius:14px 14px 38% 38%;border-color:#c6c0af}.unit.shielded{box-shadow:0 0 0 4px #f6d97f65,0 0 16px #ffd85f70}.ready{border-color:#92cc82!important;box-shadow:0 0 10px #9ee78055!important}.targetable{border-color:#7ad4f5!important;box-shadow:0 0 0 3px #83dafa66,0 0 23px #7acff766!important;cursor:crosshair}.selected{border-color:#ffdc87!important;box-shadow:0 0 0 3px #ffce6780,0 0 23px #ffc65744!important}.frozen>.art{filter:sepia(.3) hue-rotate(140deg) saturate(.7)}.frozen{box-shadow:0 0 0 3px #8bd8ff80!important}.mana-crystals{display:flex;gap:3px;justify-content:center;align-items:center;margin:4px 0 7px;color:#628291;font-size:18px;height:22px}.mana-crystals i{font-style:normal;opacity:.35}.mana-crystals .full{color:#77d7fd;opacity:1;text-shadow:0 0 8px #46b9f755}.mana-crystals span{font-size:12px;margin-left:8px;color:#c9e5f2}.hand{display:flex;justify-content:center;align-items:end;padding:12px 16px 11px;min-height:183px}.hand .card{width:122px;height:169px;padding:5px 5px 13px;border-width:2px;margin:0 -7px;flex-shrink:0;transform-origin:bottom;z-index:1}.hand .card .art{height:63px}.hand .card-name{font-size:14px;padding:5px 0 3px;min-height:25px}.hand .card-text{font-size:10px;padding:0 2px;line-height:1.15}.hand .card-kind{font-size:8px;letter-spacing:0}.hand .card .cost{height:29px;width:28px;font-size:20px;left:-6px;top:-6px}.hand .card .stat{width:25px;height:25px;font-size:18px;bottom:-7px}.hand .card.playable{border-color:#9db680}.hand .card:hover,.hand .card:focus-visible{transform:translateY(-32px) scale(1.3);z-index:10}.table-help{text-align:center;color:#b8ada1;font-size:11px;padding:5px}.overlay{position:fixed;inset:0;z-index:30;background:#0c1015cf;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.mulligan-modal{text-align:center;width:100%;max-width:1000px}.mulligan-modal h1{font-size:56px;margin:12px 0}.mulligan-cards{display:flex;justify-content:center;gap:24px;margin:32px 0}.mulligan-cards .card{width:190px;height:295px}.mulligan-cards .card .art{height:134px}.mull-label{display:block;margin-top:18px;font-size:11px;letter-spacing:3px;color:var(--gold)}.card.replace{border-color:#e27972;filter:saturate(.4);transform:translateY(10px)}.result-modal{max-width:600px;text-align:center;border:1px solid #796246;border-radius:15px;background:radial-gradient(ellipse at top,#45382d,#1c1e29 75%);padding:40px 50px;box-shadow:0 25px 100px #000b}.result-symbol{font-size:65px;color:var(--gold);margin-bottom:18px}.result-modal h1{font-size:65px;margin:12px 0}.result-score{font-size:24px;color:var(--gold);margin:28px 0}.result-score span{padding:0 10px;color:var(--dim)}dialog{color:var(--ink);background:#20222d;border:1px solid #9d8459;border-radius:12px;padding:35px;max-width:650px;max-height:85vh;width:fit-content;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#070b11b5;backdrop-filter:blur(5px)}dialog>.card{margin:10px auto}dialog h2{font-size:38px;margin:5px 30px 20px 0}.dialog-close{position:absolute;right:8px;top:5px;border:0;background:none;font-size:28px;padding:3px 9px}.help-content p{font-size:14px}.help-content b{color:var(--ink)}.help-content dl{display:grid;grid-template-columns:130px 1fr;font-size:14px;gap:12px}.help-content dt{color:var(--gold)}.help-content dd{margin:0;color:var(--dim)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,10px);z-index:80;background:#303644;border:1px solid #c8ae77;color:#fff0d9;padding:13px 23px;border-radius:7px;box-shadow:0 8px 30px #0007;opacity:0;pointer-events:none;transition:.2s;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1400px){.game-table{padding-left:60px;padding-right:60px}.board-row{gap:20px}.unit{width:102px;height:121px}.hand .card{width:137px;height:184px}.hand .card .art{height:75px}.hand .card-text{font-size:11px}}
@media(max-width:1100px){.draft-main{padding:35px 25px}.draft-layout{grid-template-columns:minmax(0,1fr) 240px}.draft-cards{gap:19px}.draft-cards .card{width:165px;height:300px}.draft-cards .card .art{height:135px}.draft-cards .card-name{font-size:18px}.draft-footer{flex-direction:column}.match-sidebar{display:none}.battle-layout{grid-template-columns:1fr}.lobby-display .card{width:190px;height:300px}.lobby-display .card .art{height:130px}.lobby{gap:5px}.lobby-display{height:400px}.hand .card{margin:0 -13px}.hero-choices{gap:16px}}
@media(max-width:760px){header{height:66px;padding:0 18px}.brand{font-size:20px;letter-spacing:1px}.header-right{gap:8px}.header-right>.eyebrow{display:none}.record{font-size:12px}.text-button{font-size:12px}.lobby{display:flex;flex-direction:column;padding:40px 25px 30px;gap:15px}.lobby-copy{width:100%}.lobby h1{font-size:54px}.lobby-display{width:320px;height:340px;margin-top:20px}.lobby .fine{margin-top:20px}.lobby-display .card{width:170px;height:270px}.lobby-display .card .art{height:110px}.lobby-display .card-text{font-size:12px}.table-seal{bottom:-10px}.rules-strip{gap:24px;margin-top:25px;font-size:12px}.selection{padding:30px 20px}.selection h1{font-size:42px}.hero-choices{grid-template-columns:1fr;gap:15px}.hero-choice{height:210px}.hero-choice>.art{width:43%;background-size:300% 300%;inset:0}.hero-copy{left:40%;top:0;padding:25px 18px;background:linear-gradient(90deg,transparent,#14151d 8%)}.hero-copy h2{font-size:27px;margin:8px 0 12px}.choose-label{margin-top:7px;padding-top:9px}.power-preview{min-height:45px;font-size:13px}.draft-layout,.run-layout{grid-template-columns:1fr}.draft-main{padding:27px 20px}.draft-heading h1{font-size:42px}.draft-cards{gap:14px;justify-content:start;overflow-x:auto;padding:10px 12px 25px;margin:0 -12px}.draft-cards .card{width:calc((100vw - 70px)/3);min-width:145px;height:285px}.draft-cards .card .art{height:120px}.draft-cards .card-text{font-size:12px}.draft-cards .card-name{font-size:18px}.deck-panel{max-height:430px;border-left:0;border-top:1px solid #ffffff16;padding:20px}.deck-panel .curve{height:90px}.run-summary{padding:30px 20px}.run-summary h1{font-size:42px}.game-table{padding:5px 10px;border-width:4px}.hero-area{gap:12px;min-height:88px}.hero-info{width:130px}.hero-info strong{font-size:19px}.hero-info .eyebrow{font-size:9px;letter-spacing:1px}.hero-avatar{width:67px;height:78px}.hero-hp,.hero-attack{width:30px;height:30px;font-size:20px;right:-8px}.hero-power-area{width:130px}.mana-text{font-size:10px}.power-button{padding:7px;grid-template-columns:22px 1fr;gap:2px 3px}.power-button>b{font-size:11px}.power-button>span{font-size:22px}.power-button>small{font-size:10px}.board-row{gap:6px;min-height:118px}.unit{width:72px;height:93px;border-width:2px}.unit-name{font-size:9px;bottom:12px}.unit .stat{width:25px;height:25px;font-size:18px}.turn-divider>span{font-size:9px;letter-spacing:1px;margin-right:75px}.turn-divider>button{padding:9px 11px}.hand{justify-content:start;overflow-x:auto;overflow-y:hidden;margin:0 -7px;padding:16px 9px 14px;min-height:175px}.hand .card{width:115px;margin:0 3px;height:158px}.hand .card .art{height:58px}.hand .card:hover,.hand .card:focus-visible{transform:translateY(-5px);z-index:10}.hand .card-text{font-size:10px}.hand .card-name{font-size:13px}.table-help{font-size:10px;padding:7px 0}.opponent-hand{height:25px}.card-back{height:26px;width:24px;font-size:16px}.mulligan-modal h1{font-size:40px}.mulligan-modal>p{font-size:14px}.mulligan-cards{justify-content:start;overflow:auto;gap:16px;padding:8px 10px 15px;margin:20px -10px}.mulligan-cards .card{width:165px;height:275px}.mulligan-cards .card .art{height:115px}.overlay{padding:20px}.result-modal{padding:30px 24px}.result-modal h1{font-size:52px}dialog{max-width:calc(100vw - 30px);padding:28px 22px}.help-content dl{grid-template-columns:90px 1fr}.board-row:has(.unit:nth-child(6)){gap:5px}.board-row:has(.unit:nth-child(6)) .unit{width:calc((100vw - 68px)/7);height:80px}.board-row:has(.unit:nth-child(6)) .unit-name{font-size:8px}.board-row:has(.unit:nth-child(6)) .stat{width:22px;height:22px;font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.draft-cards{align-items:start}.draft-option{width:clamp(175px,17vw,230px);flex-shrink:0}.draft-option .card{width:100%}.recommend-label{font-size:11px;letter-spacing:1.5px;color:#928b81;text-align:center;min-height:33px}.recommended .recommend-label{color:var(--gold)}.recommended .card{box-shadow:0 0 0 1px #efc36b,0 5px 30px #dc9c2526}.advisor-rating{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:8px}.advisor-rating strong{font:600 32px 'Cormorant Garamond',Georgia,serif;color:var(--gold)}.advisor-rating small{font:400 12px 'DM Sans',sans-serif;color:#a49b8d;margin-left:4px}.advisor-rating>span{color:#d1c2a5;font-size:13px}.advisor-breakdown{font-size:12px;color:#b8afa1;margin-top:4px}.advisor-breakdown span{margin:0 5px}.advisor-reasons{list-style:none;padding:0;margin:14px 0 0}.advisor-reasons li{font-size:13px;line-height:1.5;color:#bcb2a1;border-top:1px solid #ffffff10;padding:8px 0}.draft-main>p{margin-bottom:15px}.draft-cards{padding-bottom:20px}.draft-main{padding-top:32px}.draft-heading h1{margin-bottom:18px}
@media(max-width:1100px){.draft-option{width:165px}}
@media(max-width:760px){.draft-option{width:calc((100vw - 70px)/3);min-width:145px}.draft-option .card{width:100%}.advisor-rating{display:block}.advisor-rating>span{display:block;font-size:12px}.advisor-reasons li{font-size:12px}.recommend-label{font-size:9px;letter-spacing:.7px}.advisor-breakdown{font-size:11px}.draft-main{padding-top:27px}}

.art.unique-art{display:block;width:100%;object-fit:cover;object-position:center;background-image:none}
/* Original browser-native combat effects; fixed overlay avoids board clipping. */
.combat-layer{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}
.combat-damage{position:absolute;z-index:2;transform:translate(-50%,-50%);color:#fff5d8;font:bold 22px Georgia,serif;text-shadow:0 2px 3px #000,0 0 5px #000;white-space:nowrap;background:#281c1dcc;border:1px solid #e8bd7799;border-radius:50%;min-width:34px;height:34px;display:grid;place-items:center;padding:0 5px}
.combat-blocked{color:#cef4ff;border-color:#9cdaef}
.card-preview{position:fixed;z-index:1100;pointer-events:none;filter:drop-shadow(0 15px 28px #000c);width:300px;max-width:calc(100vw - 24px)}
.card-preview>.card{width:100%;height:450px;max-height:calc(100vh - 24px);margin:0;transform:none!important;pointer-events:none;border-color:#d8b775;display:flex}
.card-preview>.card .art{height:260px;min-height:0;flex-shrink:1;object-fit:cover}
.card-preview>.card .card-name{font-size:25px}
.card-preview>.card .card-text{font-size:15px;line-height:1.4}
.card-preview>.card .card-kind{font-size:11px}
@media(max-height:510px){.card-preview{width:235px}.card-preview>.card .art{height:150px}.card-preview>.card .card-name{font-size:20px}.card-preview>.card .card-text{font-size:12px}}
.battle-log [data-log-index]{cursor:help;border-radius:4px}
.battle-log [data-log-index]:hover,.battle-log [data-log-index]:focus-visible{background:#eac27a18;outline:1px solid #c9a66b;padding-left:5px}
.event-preview{position:fixed;z-index:1100;pointer-events:none;width:350px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:hidden;padding:20px;background:#20222df5;border:1px solid #c9a66b;border-radius:12px;box-shadow:0 18px 50px #000b;color:var(--ink)}
.event-preview p{font-size:14px;line-height:1.5;margin:12px 0}.event-preview small{color:var(--dim);font-size:11px}
.recap-character{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #ffffff18}
.recap-character>.art{width:64px;height:64px;flex-shrink:0;border-radius:8px;object-fit:cover;border:1px solid #a28a61}
.recap-character>div:not(.art){display:grid;gap:4px}.recap-character b{font-size:13px}.recap-character span{font-size:12px;color:#efd49b;line-height:1.4}
.battlefield{position:relative;margin:8px 0 12px;padding:4px 10px;border:1px solid #e8c78877;border-radius:22px;background:linear-gradient(180deg,#b9845520 0%,#edc3750c 48%,#85c9df18 100%);box-shadow:inset 0 0 30px #edc3750b,0 0 16px #edc37518}
.battlefield .board-empty{color:#d5c6a9}
.battlefield .player-board{border-radius:0 0 17px 17px;background:linear-gradient(0deg,#91c7e00e,transparent)}
@media(max-width:760px){.battlefield{padding:3px 2px;margin:6px 0 10px;border-radius:15px}.battlefield .board-row{gap:5px}}
.unit.shielded{isolation:isolate;overflow:visible;box-shadow:0 0 14px #ffd56b77,inset 0 0 9px #ffe9a744}
.unit.shielded::after{content:"";position:absolute;inset:-9px -7px -7px;z-index:3;pointer-events:none;border:2px solid #ffe99dbb;border-radius:48% 48% 43% 43%;background:radial-gradient(ellipse at 29% 18%,#fffbdc88 0%,#fff1aa26 14%,transparent 34%),radial-gradient(ellipse at 50% 50%,transparent 45%,#f4c45226 72%,#ffe9a75c 95%);box-shadow:inset 0 0 9px #fff5c388,0 0 6px #ffdf7aaa,0 0 18px #ffc44c55}
.unit.shielded::before{content:"";position:absolute;z-index:4;pointer-events:none;top:1px;left:9%;width:32%;height:22%;border-top:3px solid #fffbe4cc;border-radius:50%;transform:rotate(-32deg)}
.unit.has-deathrattle{filter:drop-shadow(0 0 5px #b99ade55)}
.deathrattle-emblem{position:absolute;z-index:5;left:50%;bottom:-15px;transform:translateX(-50%);width:26px;height:26px;display:grid;place-items:center;border:1px solid #c2aecf;border-radius:50%;background:radial-gradient(circle at 40% 25%,#66516e,#28202f 75%);color:#f5eada;font:19px/1 Georgia,serif;box-shadow:0 2px 5px #0009,0 0 9px #b59ad966;pointer-events:none}
.unit.taunt{border:4px solid #d0c8b9;border-radius:16px 16px 43% 43%;background:linear-gradient(130deg,#e7ded0,#777580 40%,#c1b8a8 65%,#6c6470);box-shadow:0 0 0 2px #514b49,0 4px 8px #0008,inset 0 0 0 2px #f6edd699}
.unit.taunt>.art{border-radius:10px 10px 42% 42%;border:1px solid #514b49}

.unit.ready,.hero-avatar.ready,[data-attacking="true"] .targetable{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M3 2L11 5L21 16L16 21L5 10Z' fill='%23eff4f6' stroke='%2326242d' stroke-width='1.5'/%3E%3Cpath d='M4 3L18 18' stroke='%2399b1c1' stroke-width='1.5'/%3E%3Cpath d='M14 21L21 14L23 16L16 23Z' fill='%23e8be68' stroke='%2326242d' stroke-width='1.5'/%3E%3Cpath d='M20 20L25 25' stroke='%2326242d' stroke-width='6'/%3E%3Cpath d='M20 20L25 25' stroke='%23c99d52' stroke-width='3'/%3E%3C/svg%3E") 3 2,crosshair}
.battle-log p:has(.log-card-art){display:flex;gap:8px;align-items:center}
.log-card-art{display:block;flex:0 0 34px;width:34px;height:43px;border:1px solid #c9a66b88;border-radius:5px;overflow:hidden}
.log-card-art .art{height:100%;width:100%;object-fit:cover}
.card.spell{background:linear-gradient(135deg,#514b80,#24233f 52%,#494476);border-color:#aaa0e1;box-shadow:0 9px 18px #0007,inset 0 0 0 2px #17162e}
.card.spell .card-kind{color:#d2c5ff}.card.spell .art{border-color:#ada0df}.card-preview>.card.spell{border-color:#c6b6ff}
.opponent-power small{display:block;margin-top:5px;color:#a7a294;font-size:10px}
.hero-armor{position:absolute;left:-12px;bottom:0;display:grid;place-items:center;width:32px;height:35px;background:linear-gradient(#c9d3dc,#647385);border:2px solid #ebf0f5;border-radius:7px 7px 45% 45%;color:#19212c;font:bold 22px Georgia,serif;text-shadow:0 1px #fff8}
.hero-choices{row-gap:28px}.hero-choices .hero-choice{height:360px}.hero-choices .hero-copy h2{font-size:30px}
@media(max-width:760px){.hero-choices .hero-choice{height:230px}.hero-choices .hero-copy h2{font-size:26px}}
.hero-choice>.art.unique-art{height:100%;object-fit:cover;object-position:center 30%}
.hero-avatar>.art.unique-art{height:100%;object-fit:cover;object-position:center 30%}
@media(max-width:760px){.hero-choice>.art.unique-art{width:43%}}
.battle-layout{grid-template-columns:180px minmax(0,1fr) 215px;max-width:1800px}
.remaining-deck{padding:24px 14px;background:#161922b3;border-left:1px solid #d6b57733;min-width:0}
.remaining-deck .eyebrow{font-size:10px;letter-spacing:2px}.remaining-deck h2{font-size:27px;margin:12px 0}.remaining-deck h2>span{float:right;color:var(--gold);font-size:25px}
.deck-note,.deck-empty{font-size:11px;line-height:1.5}.remaining-list{max-height:calc(100vh - 255px);overflow:auto}.remaining-list .deck-row{font-size:11px;padding:7px 3px;gap:6px}.remaining-list .deck-row em{font-size:11px;white-space:nowrap}
@media(min-width:1101px) and (max-width:1399px){.game-table{padding-left:12px;padding-right:12px}.board-row{gap:7px}.unit{width:76px;height:103px}.unit-name{font-size:9px}.hand .card{width:115px;margin:0 -12px}.hand .card-name{font-size:14px}}
@media(max-width:1100px){.battle-layout{grid-template-columns:minmax(0,1fr)}.remaining-deck{border-left:0;border-top:1px solid #d6b57733}.remaining-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;max-height:320px}}
.mulligan-cards .card.replace{border:4px solid #ff7777;box-shadow:0 0 0 3px #651e29,0 0 26px #ee46566b;transform:translateY(-8px)}
.mulligan-cards .card.replace .art{filter:brightness(.4) saturate(.45)}
.mulligan-cards .card.replace::after{content:'×';position:absolute;left:50%;top:22%;transform:translateX(-50%);display:grid;place-items:center;width:76px;height:76px;border:3px solid #ffc3bf;border-radius:50%;background:#a92737ed;color:white;font:700 70px/1 Georgia,serif;box-shadow:0 4px 18px #0009;pointer-events:none}
.mulligan-cards>div:has(.replace) .mull-label{display:block;margin-top:17px;background:#a92737;border:1px solid #ff9999;color:#fff;padding:8px 12px;border-radius:5px;font-weight:800;letter-spacing:2px}
.mulligan-cards>div:not(:has(.replace)) .mull-label{display:block;margin-top:17px;padding:8px 12px;color:#baddb0;letter-spacing:2px}
.mulligan-cards .card.replace{filter:none}
.taunt-frame{position:absolute;inset:-10px -9px -16px;width:calc(100% + 18px);height:calc(100% + 26px);z-index:1;pointer-events:none;filter:drop-shadow(0 3px 4px #0009)}
.unit.taunt{border-width:2px;border-color:#857b6c;box-shadow:0 3px 10px #0008}
.unit.taunt .unit-name,.unit.taunt .stat,.unit.taunt .keywords{z-index:2}

.hero-info{position:relative}.hero-info:has(.equipped-weapon){padding-left:82px;min-height:94px;justify-content:center}
.equipped-weapon{position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:76px;height:82px;border:3px solid #a8a0b6;border-radius:50%;background:#252335;box-shadow:0 3px 9px #0009;text-align:center}
.equipped-weapon>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.weapon-name{position:absolute;bottom:15px;left:0;right:0;background:#141422dc;color:#fff1d8;font-size:9px;padding:3px 0;line-height:1.1}
.weapon-damage,.weapon-charges{position:absolute;bottom:-12px;width:31px;height:34px;border:2px solid #dfc99a;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font:bold 20px/1 Georgia;box-shadow:0 2px 4px #0009}.weapon-damage{left:-8px;background:#967324}.weapon-charges{right:-8px;background:#733c66}.equipped-weapon small{font:7px/1.2 sans-serif;letter-spacing:.3px}
@media(max-width:760px){.hero-info:has(.equipped-weapon){padding-left:60px;min-height:80px}.equipped-weapon{width:53px;height:62px;left:-5px}.weapon-name{font-size:8px;bottom:12px}.weapon-damage,.weapon-charges{width:25px;height:29px;font-size:17px}.hero-info:has(.equipped-weapon) strong{font-size:14px}.hero-info:has(.equipped-weapon) .mana-text{font-size:9px}}

.power-orb{width:83px;height:86px;position:relative;padding:0;border:3px solid #c5a369;border-radius:50%;box-shadow:0 3px 10px #0008;background:#292333;overflow:visible;color:#fff1d7}.power-orb>img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.power-orb>b{position:absolute;bottom:3px;left:-8px;right:-8px;background:#241c29e8;border:1px solid #a28662;border-radius:5px;font:600 12px Georgia;padding:4px 2px}.power-cost{position:absolute;top:-7px;left:-9px;width:28px;height:29px;background:#235786;border:2px solid #b2e1ff;border-radius:50%;font:bold 22px Georgia}.power-orb:disabled{opacity:.65;cursor:default}.power-orb.spent>img{filter:grayscale(.9) brightness(.5)}.power-used{position:absolute;top:16px;left:25px;font:bold 28px Georgia;color:#fce5ac;text-shadow:0 2px 5px #000}.power-tooltip{display:none;position:absolute;bottom:calc(100% + 10px);left:-40px;width:180px;padding:10px;background:#171b28;border:1px solid #b59c72;border-radius:7px;font-size:12px;line-height:1.4;z-index:20;pointer-events:none}.power-orb:hover .power-tooltip,.power-orb:focus-visible .power-tooltip{display:block}.hero-power-area{padding-left:8px}@media(max-width:760px){.power-orb{width:67px;height:71px}.power-orb>b{font-size:10px}.power-used{left:19px;top:13px}.power-tooltip{left:-95px}.hero-power-area{padding-left:0}}

#opponent-reveals{position:fixed;left:12px;top:245px;width:157px;z-index:25;pointer-events:none;display:flex;flex-direction:column;gap:8px}.opponent-reveal{border:1px solid #d4b071;border-radius:9px;background:#20232ef5;box-shadow:0 7px 24px #0009;padding:8px;color:#f8e9cd;animation:reveal-in .18s ease-out}.reveal-heading{display:block;font-size:8px;letter-spacing:.6px;margin-bottom:6px;color:#c8bda9}.reveal-heading b{float:right;color:#a0d8ff;font-size:8px}.opponent-reveal>.art{width:100%;height:65px;object-fit:cover;border-radius:5px}.opponent-reveal>strong{display:block;font:600 17px Georgia;margin-top:5px}.reveal-type{font-size:10px;color:#cfb789;text-transform:capitalize}.opponent-reveal p{font-size:11px;line-height:1.3;margin:5px 0}.reveal-target{display:block;border-top:1px solid #a98d5d55;padding-top:5px;font-size:11px;color:#a6dcec}@keyframes reveal-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@media(max-width:1100px){#opponent-reveals{left:auto;right:10px;top:90px;width:150px}}@media(prefers-reduced-motion:reduce){.opponent-reveal{animation:none}}

.class-badge{align-self:flex-end;font:700 10px/1.2 sans-serif;letter-spacing:1.1px;text-transform:uppercase;color:var(--class-color);border-bottom:2px solid var(--class-color);padding:3px 1px}.class-mage{--class-color:#87d9ff}.class-paladin{--class-color:#f3b6d3}.class-hunter{--class-color:#b0dc73}.class-priest{--class-color:#f4eee4}.class-rogue{--class-color:#fff071}.class-shaman{--class-color:#64a2ff}.class-warlock{--class-color:#c599f1}.class-warrior{--class-color:#d2a579}.class-druid{--class-color:#ffac66}
.remaining-deck .deck-row>.art{width:29px;height:32px;object-fit:cover;flex-shrink:0;border-radius:3px}.remaining-deck .deck-row{gap:5px;padding:5px}.remaining-deck .deck-row>span{min-width:0}.hero-equipped{position:relative;flex-shrink:0}.hero-equipped .equipped-weapon{top:50%;left:-53px;width:68px;height:108px;transform:translateY(-45%) rotate(-8deg);border:0;border-radius:0;background:none;box-shadow:none;z-index:2;pointer-events:none}.hero-equipped .equipped-weapon>img{border-radius:0;object-fit:contain;filter:drop-shadow(1px 3px 3px #0009)}.hero-equipped .weapon-name{display:none}.hero-equipped .weapon-damage,.hero-equipped .weapon-charges{bottom:-6px;transform:rotate(8deg);width:25px;height:29px;font-size:18px}.hero-equipped .weapon-damage{left:0}.hero-equipped .weapon-charges{right:2px}.hero-area:has(.equipped-weapon) .hero-info{padding-right:35px}.hero-info:has(.equipped-weapon){padding-left:0}
@media(max-width:760px){.class-badge{font-size:9px}.hero-equipped .equipped-weapon{left:-38px;width:52px;height:87px}.hero-area:has(.equipped-weapon) .hero-info{padding-right:20px}.hero-equipped .weapon-damage,.hero-equipped .weapon-charges{width:22px;height:26px;font-size:16px}.hero-equipped .equipped-weapon small{font-size:6px}}
.hero-area .hero-avatar{border-color:var(--class-color,#a28c64)}
.hero-equipped:has(.equipped-weapon) .hero-attack{left:4px;bottom:-13px;width:29px;height:29px;font-size:19px}
.hero-equipped:has(.equipped-weapon) .hero-attack{left:26px;width:25px;height:25px;font-size:17px}.hero-area:has(.equipped-weapon){padding-bottom:12px;min-height:118px}@media(max-width:760px){.hero-equipped:has(.equipped-weapon) .hero-attack{left:12px}.hero-area:has(.equipped-weapon){min-height:102px}}

/* Frozen is a full portrait ice casing; it does not intercept targeting. */
.ice-frame{position:absolute;inset:-12px -10px -16px;width:calc(100% + 20px);height:calc(100% + 28px);z-index:6;pointer-events:none;filter:drop-shadow(0 0 5px #63c5faaa)}
.unit.frozen>.art{filter:saturate(.65) brightness(1.08) sepia(.15) hue-rotate(155deg)}
.unit.frozen .unit-name,.unit.frozen .stat,.unit.frozen .keywords{z-index:7}.unit.frozen .deathrattle-emblem{z-index:8}
.unit.frozen.taunt .ice-frame{inset:-16px -13px -20px;width:calc(100% + 26px);height:calc(100% + 36px)}

#opponent-reveals{right:auto;width:156px;max-width:30vw;top:auto;left:auto}.opponent-reveal{background:#20232e;box-shadow:0 5px 18px #0009}.battle-log p{display:flex;flex-direction:column;align-items:stretch;gap:5px}.action-visuals{display:flex;align-items:center;gap:5px;min-height:30px}.action-symbol{width:24px;height:25px;border:1px solid #8f795855;border-radius:5px;display:grid;place-items:center;background:#282b37;color:#efcf8b;font-size:18px;flex-shrink:0}.action-portrait{display:block;width:29px;height:32px;flex-shrink:0;overflow:hidden;border:1px solid #a38b6355;border-radius:4px}.action-portrait>.art,.action-portrait>img{width:100%;height:100%;object-fit:cover}.action-arrow{color:#b7cedc;font-size:12px}.action-visuals>small{font-size:9px;color:#e4bc93}.action-description{font-size:11px;line-height:1.4}@media(max-width:760px){#opponent-reveals{width:132px;max-width:36vw}.opponent-reveal>.art{height:52px}.opponent-reveal>strong{font-size:14px}}

/* Original elemental surfaces and compact equipment/deck affordances. */
.battlefield{isolation:isolate;padding-right:50px}
.battlefield.map-fire{background:radial-gradient(ellipse at 10% 100%,#b9552529,transparent 65%),linear-gradient(170deg,#322722,#221b20);border-color:#bd794d77}
.battlefield.map-water{background:radial-gradient(ellipse at 95% 0%,#57bad529,transparent 70%),linear-gradient(170deg,#25313b,#1a242d);border-color:#78b8c777}
.battlefield.map-earth{background:radial-gradient(ellipse at 0% 90%,#8eac4b22,transparent 65%),linear-gradient(170deg,#303329,#20281f);border-color:#9aaa6b77}
.battlefield.map-air{background:radial-gradient(ellipse at 90% 10%,#bcb7e42a,transparent 65%),linear-gradient(170deg,#30303e,#22232d);border-color:#b8b6d477}
.battlefield #opponent-reveals{position:absolute!important;left:10px!important;top:10px!important;z-index:15;max-width:calc(100% - 20px);max-height:calc(100% - 20px);overflow:hidden}
.battlefield .opponent-reveal{max-width:150px;font-size:10px}.battlefield .opponent-reveal .art{height:70px}.battlefield .opponent-reveal p{margin:4px 0}
.deck-pile{position:absolute;right:9px;display:grid;place-items:center;width:27px;height:42px;background:#1c2c35;border:2px solid #bba66e;border-radius:4px;box-shadow:3px 2px 0 #22333d,5px 4px 0 #9d8c68;z-index:10;cursor:help;color:#c7ae7c}.deck-pile.b{top:35px}.deck-pile.p{bottom:30px}.deck-pile i{font-style:normal}.deck-pile-tooltip{display:none;position:absolute;right:38px;white-space:nowrap;background:#171b22;color:#eee1c4;padding:7px 9px;border:1px solid #887b5c;border-radius:5px;font-size:11px}.deck-pile:hover .deck-pile-tooltip,.deck-pile:focus .deck-pile-tooltip{display:block}
.unit.taunt.ready:not(.selected):not(.targetable) .taunt-frame{filter:drop-shadow(0 0 5px #79df87)}
.unit.taunt.ready:not(.selected):not(.targetable) .taunt-frame path:nth-child(1){stroke:#275b38}.unit.taunt.ready:not(.selected):not(.targetable) .taunt-frame path:nth-child(2){stroke:#8ae7a0}.unit.taunt.ready:not(.selected):not(.targetable) .taunt-frame path:nth-child(3){stroke:#e6ffe8}

.difficulty-options{display:flex;justify-content:center;gap:10px;margin:20px auto 30px;max-width:750px}.difficulty-choice{flex:1;min-width:0;padding:13px 15px;background:#232830;border:1px solid #756951;border-radius:10px;color:#e5d7b9;text-align:left}.difficulty-choice b{display:block;font-size:16px}.difficulty-choice small{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#ada796}.difficulty-choice.active{border-color:#e5c883;background:#36342b;box-shadow:0 0 0 1px #e5c88366}.difficulty-choice:focus-visible{outline:2px solid #e5c883;outline-offset:3px}@media(max-width:600px){.difficulty-options{gap:5px}.difficulty-choice{padding:10px 8px}.difficulty-choice small{font-size:10px}}

.pool-choice{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;color:#c3b899;margin:20px auto 0}.pool-choice select{background:#242932;color:#eadbb9;border:1px solid #756951;border-radius:7px;padding:9px 30px 9px 12px;font:inherit;min-width:150px}

.art.portrait-thumbnail{display:block;height:100%;background-repeat:no-repeat}.art.unique-art{background-color:#25252d}
.remaining-deck .deck-row>.portrait-thumbnail{flex:0 0 29px;width:29px;max-width:29px}
.arena-deck-row{position:relative;overflow:hidden;padding-right:70px;min-height:33px}.arena-deck-row>.arena-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arena-deck-row>b,.arena-deck-row>em{flex-shrink:0}.arena-deck-row>.arena-row-portrait{position:absolute;right:0;top:0;bottom:0;width:60px;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 25%)}.arena-row-portrait>.art{height:100%;width:100%}

.mulligan-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;align-items:center;width:100%;max-width:1400px}.mulligan-layout .mulligan-modal{min-width:0}.mulligan-layout .remaining-deck{display:flex;flex-direction:column;max-height:calc(100dvh - 60px);padding:18px 12px;border:1px solid #d6b57733;border-radius:10px;background:#161922}.mulligan-layout .remaining-list{min-height:0;max-height:none;overflow-y:auto}.mulligan-layout .deck-note{margin-top:0}.mulligan-layout .mulligan-cards{gap:clamp(12px,2vw,24px);overflow-x:auto;padding:10px 10px 16px;margin:22px 0}.mulligan-layout .mulligan-cards .card{width:clamp(145px,15vw,190px)}@media(max-width:1050px){.mulligan-overlay{align-items:flex-start}.mulligan-layout{grid-template-columns:minmax(0,1fr);gap:24px;max-width:1000px}.mulligan-layout .remaining-deck{width:100%;max-height:350px}.mulligan-layout .mulligan-cards .card{width:165px}.mulligan-layout .mulligan-cards{justify-content:center}}@media(max-width:600px){.mulligan-layout .mulligan-cards{justify-content:flex-start}.mulligan-layout .mulligan-modal h1{font-size:36px}}

.action-portrait{position:relative}.log-mana-cost{position:absolute;left:0;bottom:0;display:grid;place-items:center;min-width:15px;height:16px;padding:0 2px;border:1px solid #b7e8ff;border-radius:5px 5px 5px 0;background:#1a577c;color:#fff;font:700 10px/1 system-ui,sans-serif;box-shadow:1px -1px 3px #0009;pointer-events:none}

.mulligan-context{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.mulligan-opponent{border-left:1px solid #d6b57755;padding-left:14px;color:#b8ada1}.mulligan-opponent b{color:var(--gold);font-weight:700}
.class-card-mage{--class-fill:#255573}.class-card-paladin{--class-fill:#756027}.class-card-hunter{--class-fill:#345d34}.class-card-priest{--class-fill:#636575}.class-card-rogue{--class-fill:#45455f}.class-card-shaman{--class-fill:#256469}.class-card-warlock{--class-fill:#643967}.class-card-warrior{--class-fill:#743e3d}.class-card-druid{--class-fill:#59602d}
.card[class*="class-card-"]{background:linear-gradient(135deg,var(--class-fill),#24252d 85%)}.card.spell[class*="class-card-"]{background:linear-gradient(135deg,var(--class-fill),#352940 85%)}
.rare{--rarity-color:#66acf0}.epic{--rarity-color:#b886e6}.legendary{--rarity-color:#e7b850}
.card:is(.rare,.epic,.legendary){border-color:var(--rarity-color)!important}.hand .card:is(.rare,.epic,.legendary).playable{outline:1px solid #92cc82;outline-offset:2px}
.unit:is(.rare,.epic,.legendary){border-color:var(--rarity-color)}.unit:is(.rare,.epic,.legendary)>.art{outline:2px solid var(--rarity-color);outline-offset:-2px}
.unit:is(.rare,.epic,.legendary):not(.ready):not(.selected):not(.targetable) .taunt-frame path:nth-child(2){stroke:var(--rarity-color)}
.card[data-preview^="legend_"]>.art{object-position:center top}

/* Shared public mana state, with hollow crystals for spent mana. */
.mana-crystals i{width:15px;text-align:center;line-height:1}.mana-crystals .spent{color:#93a5ae;opacity:.7}.mana-crystals.b{margin:0 0 7px}
/* Static class texture: neutral cards remain plain; rarity keeps its border. */
.class-card-mage{--class-pattern:#87d9ff20}.class-card-paladin{--class-pattern:#ffe29a20}.class-card-hunter{--class-pattern:#b0dc7320}.class-card-priest{--class-pattern:#f4eee420}.class-card-rogue{--class-pattern:#fff07120}.class-card-shaman{--class-pattern:#64a2ff20}.class-card-warlock{--class-pattern:#c599f120}.class-card-warrior{--class-pattern:#ee958020}.class-card-druid{--class-pattern:#ffac6620}
.card[class*="class-card-"]{background:repeating-linear-gradient(135deg,transparent 0 10px,var(--class-pattern) 10px 11px,transparent 11px 20px),linear-gradient(135deg,var(--class-fill),#24252d 85%)}
.card.spell[class*="class-card-"]{background:repeating-linear-gradient(135deg,transparent 0 10px,var(--class-pattern) 10px 11px,transparent 11px 20px),linear-gradient(135deg,var(--class-fill),#352940 85%)}

/* Portraits are controls, not draggable browser images or selectable text. */
.card,.unit,.hero-avatar,.power-orb,.equipped-weapon{-webkit-user-select:none;user-select:none}.card img,.unit img,.hero-avatar img,.power-orb img,.equipped-weapon img{-webkit-user-drag:none}

/* Reuse each class's original power portrait on its selection card. */
.hero-choice .power-preview{flex-direction:row;gap:12px;align-items:center;min-height:65px}.selection-power-art{position:relative;display:block;width:56px;height:56px;flex:0 0 56px}.selection-power-art img{display:block;width:100%;height:100%;border:1px solid #b39b65;border-radius:50%;object-fit:cover}.selection-power-art i{position:absolute;left:-5px;top:-5px;display:grid;place-items:center;width:22px;height:22px;border:1px solid #c9efff;border-radius:50%;background:#246488;color:#fff;font:700 15px/1 Georgia,serif}.selection-power-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.selection-power-copy b{font-size:14px}.selection-power-copy span{font-size:13px}
@media(max-width:760px){.hero-choice .power-preview{gap:9px;min-height:56px}.selection-power-art{width:46px;height:46px;flex-basis:46px}.selection-power-copy{gap:4px}.selection-power-copy span{font-size:12px}}

.release-menu{max-width:450px;margin-top:24px;padding:15px 0;border-top:1px solid #d6b57733}.release-menu label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--dim)}.release-menu select{width:100%;padding:10px 12px;border:1px solid #786343;border-radius:5px;background:#20232d;color:var(--ink);font:inherit}.release-details{font-size:12px;color:var(--dim);margin-top:10px}.release-details small{font-size:11px}.release-details ul{margin:7px 0 0;padding-left:17px;line-height:1.5}.release-details li+li{margin-top:4px}

/* Static original sky spans the whole match; panel scrims keep UI readable. */
#app:has(.battle-layout){min-height:100dvh;background:#080e1c var(--match-background,url(art/aurora-space.webp)) center center/cover no-repeat}
.battle-layout .game-table{background:linear-gradient(#080e1826,#080e1840);border-color:#111a2680;box-shadow:inset 0 0 55px #050b1733}
.battle-layout .match-sidebar{background:#11151ddd}.battle-layout>.remaining-deck{background:#11151ddd}
@media(max-width:760px){#app:has(.battle-layout){background-image:var(--match-background-mobile,url(art/aurora-space-mobile.webp))}}

.background-menu{max-width:450px;display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:8px 12px;margin-top:22px}.background-menu label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--dim)}.background-menu select{width:100%;padding:10px;border:1px solid #786343;border-radius:5px;background:#20232d;color:var(--ink);font:inherit}.background-menu img{width:104px;height:65px;object-fit:cover;border-radius:5px;border:1px solid #ffffff22}.background-menu small{grid-column:1/-1;font-size:11px;color:var(--dim)}

.table-help{min-height:26px}.hand-count-hint{display:none;align-items:center;justify-content:center;gap:12px;color:#e5dfd2;font-size:12px}.hand-count-hint strong{font-size:11px;font-weight:600;color:#ddbf80}.hand-count-hint b{color:#f6e7c3;font-size:15px}.hand-count-slots{display:flex;gap:3px}.hand-count-slots i{display:block;width:9px;height:14px;border:1px solid #b5ac8a44;border-radius:2px;background:#131b2466}.hand-count-slots i.filled{background:#a68b50;border-color:#dfca91;box-shadow:inset 0 0 0 2px #302b2355}
.game-table:has(.deck-pile:is(:hover,:focus)) .help-default{display:none}
.game-table:has(.deck-pile.p:hover) .hand-count-hint.p,.game-table:not(:has(.deck-pile:hover)):has(.deck-pile.p:focus) .hand-count-hint.p,.game-table:has(.deck-pile.b:hover) .hand-count-hint.b,.game-table:not(:has(.deck-pile:hover)):has(.deck-pile.b:focus) .hand-count-hint.b{display:flex}
@media(max-width:480px){.hand-count-hint{gap:7px;font-size:11px}.hand-count-slots{gap:2px}.hand-count-slots i{width:7px;height:12px}}

.home-layout{display:grid;grid-template-columns:clamp(230px,22vw,310px) minmax(0,1fr);min-height:calc(100dvh - 80px)}.home-options{padding:38px 22px;background:#11141dcc;border-right:1px solid #ffffff12;min-width:0}.home-options .background-menu{margin-top:0;grid-template-columns:minmax(0,1fr) 62px;gap:10px}.home-options .background-menu img{width:62px;height:48px}.home-options .release-menu{margin-top:24px}.home-layout>.lobby{width:100%;min-width:0;padding-inline:clamp(24px,3vw,48px)}.home-options select{font-size:11px}.home-options .release-details{font-size:11px}@media(max-width:1100px){.home-layout{grid-template-columns:1fr}.home-options{grid-row:2;border-right:0;border-top:1px solid #ffffff12;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px}.home-options .release-menu{margin:0;padding:0;border-top:0}.home-layout>.lobby{grid-row:1}.home-options .background-menu{align-self:start}}@media(max-width:600px){.home-options{grid-template-columns:1fr}.home-options .release-menu{padding-top:18px;border-top:1px solid #ffffff12}.home-options .background-menu{grid-template-columns:minmax(0,1fr) 80px}.home-options .background-menu img{width:80px;height:50px}}

@media(min-width:1101px){.home-layout>.lobby{overflow:hidden}.home-layout .lobby h1{font-size:clamp(44px,4.8vw,76px)}}@media(min-width:1101px) and (max-width:1450px){.home-layout .lobby-display{transform:scale(.8);transform-origin:left center}}

.release-label{display:block;font-size:12px;color:var(--dim);margin-bottom:8px}.release-picker{position:relative}.release-picker summary{list-style:none;padding:10px 25px 10px 10px;border:1px solid #786343;border-radius:5px;background:#20232d;font-size:11px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-picker summary::-webkit-details-marker{display:none}.release-picker summary:after{content:"▾";position:absolute;right:9px;top:9px}.release-picker summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.release-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1b1f28;border:1px solid #88714e;border-radius:5px;box-shadow:0 8px 20px #0009;z-index:30;max-height:360px;overflow-y:auto;padding:4px}.release-options button{width:100%;display:block;text-align:left;padding:7px 8px;border:0;border-radius:3px;background:transparent;font-size:11px;line-height:1.4}.release-options button>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-options button time{display:block;font-size:10px;color:#e4c58c;opacity:0;min-height:14px}.release-options button:is(:hover,:focus-visible) time{opacity:1}.release-options button[aria-current="true"]{background:#c6a26615}.release-options button:is(:hover,:focus-visible){background:#364b61;filter:none}.release-options button:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

.action-portrait>.log-hero-art{display:block}.action-description{display:block}

.battlefield.elemental-frame{padding:18px clamp(42px,5vw,65px);border:0;background:#10182432;border-radius:18px;box-shadow:none;overflow:visible;margin:22px 0}.field-border{position:absolute;inset:-12px;display:block;pointer-events:none;z-index:0}.field-border img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.elemental-frame>.board-row,.elemental-frame>.turn-divider{position:relative;z-index:1}.battlefield.elemental-frame .player-board{background:none}.elemental-frame .deck-pile{right:22px}.elemental-frame .deck-pile.b{top:40px}.elemental-frame .deck-pile.p{bottom:35px}@media(max-width:760px){.battlefield.elemental-frame{padding:15px 29px;margin:19px 0}.field-border{inset:-7px}.elemental-frame .deck-pile{right:3px;width:19px;height:32px}.elemental-frame .board-row:has(.unit:nth-child(6)) .unit{width:calc((100vw - 105px)/7)}}

.run-record-menu{margin-top:24px;padding-top:15px;border-top:1px solid #d6b57733}.run-record-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.run-record-numbers b{display:block;font:600 26px Georgia;color:var(--gold)}.run-record-numbers span{display:block;font-size:10px;color:var(--dim);margin-top:6px}.run-record-menu>small{display:block;font-size:10px;line-height:1.6;color:var(--dim)}@media(min-width:601px) and (max-width:1100px){.home-options .run-record-menu{margin:0;grid-column:1/-1;max-width:400px}}

.run-record-totals{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 12px;font-size:11px;color:var(--dim)}.run-record-totals b{font-size:17px;font-weight:600;color:var(--gold);margin-left:4px}
@media(max-width:600px){.home-layout .lobby-display:before{inset:50px 0}.home-layout>.lobby{overflow:hidden}}

.recap-character>.recap-art{position:relative;display:block;width:64px;height:64px;flex:0 0 64px}.recap-art>.art{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #a28a61;border-radius:8px;box-sizing:border-box}.recap-art .log-mana-cost{min-width:19px;height:20px;font-size:12px;color:#fff;border-radius:5px 5px 5px 0}
img.art[src$="emberglass_adept.webp"]{object-position:center 24%}img.art[src$="dawnroot_channeler.webp"]{object-position:center 32%}

/* Heroes share the same static ice casing as frozen minions. */
.hero-avatar.frozen{overflow:visible;border-color:#79c9ef!important}.hero-avatar.frozen>.art{filter:saturate(.65) brightness(1.08) sepia(.15) hue-rotate(155deg)}.hero-avatar.frozen>.ice-frame{inset:-8px -7px -10px;width:calc(100% + 14px);height:calc(100% + 18px)}.hero-avatar.frozen .hero-hp,.hero-avatar.frozen .hero-attack,.hero-avatar.frozen .hero-armor{z-index:8}
/* The remembered sky also frames the home-page content. Static layers keep controls clear. */
.home-layout>.lobby{max-width:none;background-image:linear-gradient(90deg,#080d19a6,#080d1940 65%,#080d1966),var(--match-background);background-color:#080e1c;background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:760px){.home-layout>.lobby{background-image:linear-gradient(180deg,#080d1973,#080d1999),var(--match-background-mobile)}}
/* Carry the selected sky across the run overview, including the surrounding space. */
#app:has(.run-layout){min-height:100dvh;background:#080e1c;background-image:linear-gradient(90deg,#080d198c,#080d194d 65%,#080d1973),var(--match-background);background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:760px){#app:has(.run-layout){background-image:linear-gradient(180deg,#080d1973,#080d1999),var(--match-background-mobile)}}

.opponent-reveal[role=button]{pointer-events:auto;cursor:pointer}.opponent-reveal[role=button]:focus-visible{outline:2px solid #f5d68b;outline-offset:2px}

.arena-mode-menu{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #ffffff18}.arena-mode-menu .pool-choice{display:block;margin:0}.arena-mode-menu select{display:block;width:100%;margin-top:8px}.arena-mode-menu small{font-size:11px;color:var(--dim)}

.home-layout>.lobby{margin:0;align-self:stretch}
/* A separate opaque header above the remembered draft sky. */
#app>header{background:#15171f}
#app:has(.draft-layout){min-height:100dvh;background:#080e1c;background-image:linear-gradient(90deg,#080d198c,#080d194d 65%,#080d1973),var(--match-background);background-position:center;background-size:cover;background-repeat:no-repeat}
@media(max-width:760px){#app:has(.draft-layout){background-image:linear-gradient(180deg,#080d1973,#080d1999),var(--match-background-mobile)}}

/* Original static forged-metal header: no images or animation. */
#app>header{position:relative;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),linear-gradient(110deg,#12151b,#23252b 48%,#14171e);border-bottom:1px solid #9b60394d;box-shadow:0 3px 12px #0005;isolation:isolate}
#app>header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,#63372033,#c68a4c99 12%,#99502f44 42%,#63372022);pointer-events:none}
.brand-ember{display:inline-block;color:#f2c57b;text-shadow:0 0 5px #ffb34a70,0 0 13px #df692e45;margin-right:4px}


.brand-ember{color:#ffe0a0;text-shadow:0 0 4px #ffe1a5,0 0 10px #ffad4caa,0 0 22px #e263325e}
#app>header{background:radial-gradient(ellipse 230px 75px at 135px 50%,#a85a242e,transparent 85%),repeating-linear-gradient(0deg,#fff1d907 0 1px,#00000005 1px 4px),linear-gradient(110deg,#15171c,#303036 48%,#171a21);border-bottom:1px solid #bd794a;box-shadow:inset 0 1px 0 #e6bc8326,0 3px 12px #0006}
#app>header:after{height:2px;background:linear-gradient(90deg,#734227,#d99852 12%,#a56737 42%,#764528);box-shadow:0 1px 4px #b45b273d}

/* Static original fire silhouettes behind the existing header controls. */
#app>header{overflow:hidden}.header-flames{position:absolute;left:0;bottom:0;width:100%;height:42px;pointer-events:none;opacity:.88;z-index:-1}#app>header>.brand,#app>header>.header-right{position:relative;z-index:1;text-shadow:0 1px 3px #000,0 0 8px #000}
@media(max-width:760px){.header-flames{height:30px}.mulligan-cards{padding-top:30px;padding-bottom:24px}}

.mulligan-layout .mulligan-cards{padding:30px 16px 24px}

/* Original detailed static fire, with local shading for the same readable controls. */
#app>header{background-color:#160d0c;background-image:linear-gradient(90deg,#080a10b8,transparent 34%,transparent 70%,#080a1080),url(art/header-fire-v1.webp);background-size:cover;background-position:center 63%;background-repeat:no-repeat}
@media(max-width:760px){#app>header{background-image:linear-gradient(90deg,#080a10a6,#080a103d),url(art/mobile-header-fire-v1.webp);background-position:center 61%}}

.progress-menu{display:flex;flex-direction:column;gap:10px;padding:18px 0;border-top:1px solid #ffffff14}.progress-menu small{color:var(--muted,#b4ada0);line-height:1.5}.progress-import{display:block;border:1px solid #b89b5d;border-radius:5px;padding:10px;text-align:center;cursor:pointer}.progress-menu input[type=file]{max-width:100%;font:inherit;font-size:12px}.progress-menu button{width:100%}
