:root{--bg: #1d1611;--bg-glow: #3a2a1a;--panel: #2a2019;--panel-2: #342820;--ink: #f3e9d6;--muted: #b9a88a;--line: #4a3a2b;--accent: #d9a441;--on-accent: #1d1611;--blood: #e0574a;--heal: #6cc77a;--mana: #5aa6e6;--frame: #8a7d6c;--arena-art: url(/assets/arena-BzC6Lyer.webp)}@media(min-width:720px)and (min-aspect-ratio:6/5){:root{--arena-art: url(/assets/arena-wide-B9kbZ-Cw.webp)}}[data-hero=knight]{--frame: #6f95c2}[data-hero=mage]{--frame: #a57ad8}[data-hero=priest]{--frame: #e0bf62}[data-hero=druid]{--frame: #c1834c}[data-hero=hunter]{--frame: #9eb864}[data-hero=rogue]{--frame: #bca69f}[data-hero=shaman]{--frame: #71b2c8}[data-hero=warlock]{--frame: #b987c2}[data-hero=warrior]{--frame: #cb7d64}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 50% 0,var(--bg-glow),transparent 60%) var(--bg);color:var(--ink);font-family:Sarabun,system-ui,sans-serif;font-synthesis:none}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}h1,h2,.room-code{font-family:Taviraj,serif}h2{margin:0;font-size:26px;line-height:1.2}.topbar{display:flex;justify-content:space-between;max-width:480px;margin:0 auto;padding:12px 16px;font-size:14px;color:var(--muted)}main{max-width:480px;margin:0 auto;padding:0 16px 40px}section{display:grid;gap:14px}.label{margin:0;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.hint,.or{margin:0;text-align:center;font-size:14px;color:var(--muted)}body[data-screen=home] .topbar{display:none}.title{position:fixed;inset:0;z-index:1;display:grid;align-content:center;overflow:hidden auto;background:#140c06}.title-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:blur(3px) brightness(.55) saturate(1.2);animation:drift 24s ease-in-out infinite alternate}.title:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgb(20 12 6 / .85) 85%),linear-gradient(transparent 60%,#140c06)}.title:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(2px 2px at 12% 82%,#ffcf70,transparent),radial-gradient(1.5px 1.5px at 34% 52%,#ffe0a0,transparent),radial-gradient(2.5px 2.5px at 58% 92%,#ffb54d,transparent),radial-gradient(1.5px 1.5px at 76% 38%,#c79bff,transparent),radial-gradient(2px 2px at 90% 70%,#ffcf70,transparent),radial-gradient(1.5px 1.5px at 48% 14%,#ffe0a0,transparent);background-size:300px 400px;animation:embers 16s linear infinite}@keyframes embers{to{background-position:60px -400px}}@media(prefers-reduced-motion:reduce){.title-art,.title:after,.logo{animation:none}}@keyframes drift{to{transform:scale(1.08) translateY(-1.5%)}}.title-back{position:absolute;top:max(12px,env(safe-area-inset-top));left:16px;z-index:2;padding:6px 12px;border-radius:99px;background:#00000073;font-size:14px;color:#e9dcc6}.title-body{position:relative;z-index:2;display:grid;justify-items:center;gap:10px;width:100%;max-width:640px;margin:0 auto;padding:38px 16px max(24px,env(safe-area-inset-bottom));text-align:center}.title-tag{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;color:#e3c98f;text-shadow:0 1px 4px #000}.logo{margin:0;padding:.12em .05em .02em;font-size:clamp(44px,13vw,72px);animation:logo-in .9s cubic-bezier(.2,1.4,.4,1) backwards;white-space:nowrap;font-weight:800;line-height:1.05;background:linear-gradient(#fff6d2,#f5cb62 45%,#b57a22 80%,#e9b44c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #3d2306) drop-shadow(0 0 26px rgb(255 190 80 / .5))}@keyframes logo-in{0%{opacity:0;transform:scale(1.25)}}.lineup{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:590px;margin:8px 0 0}.lineup .hero-card{display:grid;grid-template-columns:none;padding:0;overflow:hidden;border-color:#ffffff1f;background:#1a120c;text-align:center;filter:brightness(.76) saturate(.8);animation:rise .6s cubic-bezier(.2,1.2,.4,1) backwards;transition:transform .25s,filter .25s,box-shadow .25s,border-color .25s}.lineup .hero-card:nth-child(2){animation-delay:.1s}.lineup .hero-card:nth-child(3){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.lineup .hero-card .art{width:100%;height:auto;aspect-ratio:2 / 1;object-position:center 30%;border:0;border-radius:0}.lineup .hero-card b{padding:3px 4px 5px;font-size:clamp(15px,3.5vw,20px)}.lineup .hero-card small,.lineup .hero-card .power-text,.lineup .hero-card b:after{display:none}.lineup .hero-card.picked{filter:none;transform:translateY(-2px)}.hero-info{display:grid;gap:2px;min-height:4.6em;margin:2px 0 6px;font-size:14px;line-height:1.5;color:#d9c7a8;text-shadow:0 1px 4px #000}.hero-info b{font-size:17px;color:#fff3d6}.game-btn{width:min(100%,400px);padding:16px 20px;border:2px solid #f6d98a;border-radius:16px;background:linear-gradient(#f5cd68,#b5832c);color:#2a1a08;font-family:Taviraj,serif;font-size:22px;font-weight:800;box-shadow:0 5px #6b4a17,0 10px 24px #0000008c,0 0 30px #ffbe5040;transition:transform .08s,box-shadow .08s}.game-btn:active{transform:translateY(4px);box-shadow:0 1px #6b4a17,0 4px 12px #0000008c}.game-btn--dark{border-color:#8d6c3d;background:linear-gradient(#463222eb,#241911eb);color:#f3e3c3;box-shadow:0 5px #20150c,0 10px 24px #0000008c}.menu-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;max-width:440px}.menu-card{position:relative;display:grid;align-content:center;gap:2px;aspect-ratio:5 / 4;padding:10px;overflow:hidden;border:2px solid #d9b25a;border-radius:14px;background:linear-gradient(#1d120a99,#1d120ad6),url(/assets/hs-card-back-BVsegw8l.webp) center / cover;box-shadow:inset 0 0 0 4px #140c06b3,inset 0 0 0 5px #d9b25a73,0 8px 20px #00000080;color:#f6dc95;transition:transform .15s,box-shadow .15s}.menu-card b{font-family:Taviraj,serif;font-size:clamp(19px,5.4vw,24px);font-weight:800;text-shadow:0 2px 6px #000}.menu-card small{font-size:13px;color:#d9c7a8;text-shadow:0 1px 4px #000}.menu-card--friend{border-color:#8d6c3d;color:#f1e3c3}.menu-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 4px #140c06b3,inset 0 0 0 5px #d9b25a73,0 0 24px #ffbe5059}.menu-card{pointer-events:none}.menu-card:before{content:"";position:absolute;inset:0 0 3px;pointer-events:auto}.menu-card:hover:before{bottom:0}.menu-card:active{transform:translateY(1px) scale(.97)}.title .link{color:#d9c7a8}.sheet .panel h2{text-align:center;color:var(--accent)}.panel{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.panel p{margin:0}label{display:grid;gap:6px;font-size:15px;font-weight:600}input{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);font-size:17px}#code{font-size:22px;letter-spacing:.3em;text-transform:uppercase}.btn{display:block;width:100%;padding:14px 18px;border:0;border-radius:12px;background:var(--accent);color:var(--on-accent);font-size:17px;font-weight:700}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{border:1.5px solid var(--line);background:transparent;color:var(--ink)}.link{justify-self:center;padding:8px;border:0;background:none;color:var(--muted);font-size:15px;text-decoration:underline}.error{margin:0;color:var(--blood);font-size:15px}.rules ol{display:grid;gap:8px;max-height:60dvh;margin:0;padding-left:20px;overflow-y:auto;line-height:1.6}.invite{grid-template-columns:1fr auto;align-items:center;background:#2a2019eb}.invite-code{display:grid;gap:8px;justify-items:start}.invite .hint{grid-column:1 / -1}.room-code{padding-left:.2em;font-size:40px;font-weight:800;line-height:1;letter-spacing:.16em}.qr svg{display:block;width:120px;height:120px;border-radius:8px}.list{display:grid;margin:0;padding:0;list-style:none}.list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:10px 2px;border-bottom:1px solid var(--line);font-size:17px}.list li:last-child{border-bottom:0}.list em,.list .muted{font-size:14px;font-style:normal;color:var(--muted)}.badge,.tag{padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}.badge{background:var(--accent);color:var(--on-accent)}.tag{margin-left:auto;border:1px solid var(--line);color:var(--muted)}img.art{pointer-events:none}body[data-screen=pick],body[data-screen=lobby]{background:linear-gradient(#140c06c7,#140c06 55%),url(/duel/cover.jpg) center top / 100% auto no-repeat #140c06}.choose-title{margin-top:6px;text-align:center;font-size:34px;font-weight:800;background:linear-gradient(#fff6d2,#f5cb62 50%,#c08a2c);-webkit-background-clip:text;background-clip:text;color:transparent}.heroes{display:grid;gap:10px}.hero-card{display:grid;grid-template-columns:92px 1fr;grid-auto-rows:min-content;column-gap:14px;row-gap:3px;align-content:center;padding:10px;border:2px solid var(--line);border-radius:16px;background:#2a2019eb;text-align:left;transition:transform .15s,border-color .15s,box-shadow .15s}.hero-card .art{grid-row:span 4;width:92px;height:112px;border:2px solid var(--frame);border-radius:12px;object-fit:cover;object-position:center 20%}.hero-card b{font-family:Taviraj,serif;font-size:22px;line-height:1.2;color:var(--frame)}.hero-card small{font-size:15px;line-height:1.4}.hero-card .power-text{font-size:13px;line-height:1.4;color:var(--muted)}.hero-card:active{transform:scale(.98)}.hero-card.picked{border-color:var(--frame);background:color-mix(in srgb,var(--frame) 22%,#2a2019);box-shadow:0 0 0 1px var(--frame),0 0 24px color-mix(in srgb,var(--frame) 55%,transparent)}.hero-card.picked b:after{content:" ✓"}.dock{position:sticky;bottom:0;display:grid;justify-items:center;gap:4px;margin:0 -16px -40px;padding:18px 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#140c06 26%)}.dock .game-btn{width:100%}.game-btn:disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed}.waiting{animation:waiting 1.4s ease-in-out infinite alternate}@keyframes waiting{0%{opacity:.35}}body[data-screen=duel]{overflow:hidden}body[data-screen=duel] .topbar{display:none}.stage{--hero-width: clamp(66px, 11.7vh, 90px);position:fixed;inset:0;z-index:1;display:flex;flex-direction:column;gap:4px;padding:max(6px,env(safe-area-inset-top)) 8px max(4px,env(safe-area-inset-bottom));background:linear-gradient(#140e0a3d,#140e0a3d),var(--arena-art) center / cover,var(--bg);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.stage>*{width:100%;max-width:var(--col, 464px);margin-inline:auto;zoom:var(--z, 1)}.stage>.classic-environment{position:absolute;z-index:-2;inset:0;max-width:none;zoom:1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#855437 30%,#482b1f 76%,#1e1719)}.classic-surface,.classic-scenery{position:absolute;background-image:var(--board-art);background-repeat:no-repeat}.classic-surface{inset:12% max(2%,calc(50% - 520px)) 11%;border:5px ridge #e7ba79;border-radius:12%/15%;background-size:177.8% 288%;background-position:44% 46%;box-shadow:0 0 0 7px #3e241b,0 0 0 13px #97663b,0 16px 36px #100805bb}.classic-scenery{width:clamp(130px,29vw,410px);height:min(32vh,315px);filter:drop-shadow(0 7px 9px #1b0c0980);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14% 74%,transparent),linear-gradient(0deg,transparent,#000 18% 84%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14% 74%,transparent),linear-gradient(0deg,transparent,#000 18% 84%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.classic-scenery.top-left{top:-1%;left:max(-4%,calc(50% - 610px));background-size:400% 347%;background-position:16.7% 0%}.classic-scenery.top-right{top:-1%;right:max(-4%,calc(50% - 610px));background-size:512% 350%;background-position:82.5% 0%}.classic-scenery.bottom-left{bottom:-1%;left:max(-4%,calc(50% - 610px));background-size:362% 335%;background-position:15.6% 93.4%}.classic-scenery.bottom-right{bottom:-1%;right:max(-4%,calc(50% - 610px));background-size:428% 410%;background-position:82.8% 86%}@media(max-width:719px){.classic-surface{inset:11% 1%}.classic-scenery{height:min(21vh,135px);opacity:.76}}.stage-top{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:34px}.menu-btn{width:34px;height:34px;padding:0;border:1px solid rgb(255 255 255 / .18);border-radius:50%;background:#0006;font-size:16px;line-height:1}.foe-hand{position:absolute;top:-26px;left:50%}.back{position:absolute;top:0;left:0;width:40px;height:58px;border:1.5px solid #c39a52;border-radius:6px;background:url(/assets/card-back-BV0T3HS_.webp) center / cover,#5a1f28;box-shadow:0 2px 5px #0009;transform:translate(calc(-50% + var(--x)),calc(var(--y) * -1)) rotate(calc(var(--r) * -1));transform-origin:50% -80%}.mana-chip{position:absolute;left:8px;bottom:25%;display:inline-flex;align-items:center;gap:7px;padding:3px 9px;border-radius:99px;background:#00000073;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}.mana-chip{color:#bfe1ff}.mana-crystal{width:11px;height:15px;background:linear-gradient(140deg,#bdefff,#5aa6e6 52%,#25529a 55%,#6cd4fa);clip-path:polygon(50% 0,91% 24%,85% 72%,50% 100%,15% 72%,9% 24%)}.pile{position:absolute;top:50%;right:6px;display:grid;place-items:center;width:38px;height:54px;margin-top:-33px;border:1.5px solid #c39a52;border-radius:6px;background:url(/assets/card-back-BV0T3HS_.webp) center / cover,#5a1f28;box-shadow:2px 2px #3a1a14,4px 4px #2a120e,5px 6px 10px #0009}.pile b{padding:1px 6px;border-radius:99px;background:#000000b3;font-size:13px;color:#f3e3c3}.pile.empty{border-style:dashed;background:none;box-shadow:none}.hero-row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-bottom:10px}@media(min-width:720px)and (min-height:631px){.hero-row--mine{padding-bottom:23px}}.hero-secrets{position:absolute;z-index:3;left:50%;top:-7px;display:flex;gap:4px;transform:translate(-50%)}.hero-secrets b{display:grid;place-items:center;width:23px;height:23px;border:1px solid #f1bbff;border-radius:50%;background:radial-gradient(circle at 35% 25%,#9a59b9,#452055 65%);box-shadow:0 2px 5px #0009;color:#fff3fc;font-size:14px}.portrait.frozen,.minion.frozen{box-shadow:0 0 0 2px #b8e9ff,0 0 16px 5px #79c8ff8c}.weapon-slot{justify-self:end;position:relative;width:49px;height:49px;display:grid;place-items:center;border:3px ridge #b48e54;border-radius:50%;background:radial-gradient(#1f302e,#0b1110);box-shadow:0 3px 9px #0008}.weapon-slot:empty{opacity:.48}.weapon-slot .art{width:100%;height:100%;border-radius:50%;object-fit:cover}.weapon-slot b{position:absolute;bottom:-6px;width:19px;height:21px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0bd,#bc8127 57%,#805119);clip-path:polygon(50% 0,100% 25%,93% 76%,50% 100%,7% 76%,0 25%);color:#24150b;font-size:12px}.weapon-slot .weapon-atk{left:-4px}.weapon-slot .weapon-durability{right:-4px;background:linear-gradient(145deg,#f6f4de,#9ca7a7 55%,#576570)}.hero-row--foe .weapon-slot{width:40px;height:40px}.portrait{cursor:help;position:relative;width:var(--hero-width);height:calc(var(--hero-width) * 106 / 90);padding:0;border:5px ridge #cba162;border-radius:50%;background:var(--panel);box-shadow:0 4px 14px #0009;transition:box-shadow .3s}.portrait.ready{cursor:crosshair}.portrait .art{width:100%;height:100%;border-radius:50%;object-fit:cover}.portrait.active{box-shadow:0 0 0 3px #ffd67859,0 0 22px 6px #ffc85a80}.hp-gem{position:absolute;right:-10px;bottom:-2px;display:grid;place-items:center;min-width:32px;height:32px;padding:0 5px;border:2px solid #ffd2c4;border-radius:50%/58% 58% 42% 42%;background:radial-gradient(circle at 35% 30%,#ff8f78,var(--blood) 55%,#8a1d15);color:#fff;font-size:16px;font-weight:800;text-shadow:0 1px 2px rgb(0 0 0 / .7)}.armor-gem{position:absolute;left:-5px;top:0;min-width:30px;height:33px;display:grid;place-items:center;clip-path:polygon(50% 0,94% 17%,84% 73%,50% 100%,16% 73%,6% 17%);background:linear-gradient(145deg,#fff6d4,#9facab 48%,#50636f 52%,#a4b7bc);color:#18212a;font-size:15px}.hero-attack{position:absolute;left:-9px;bottom:-3px;min-width:28px;height:28px;display:grid;place-items:center;border:1px solid #f3cf83;border-radius:8px;background:#79551e;color:#fff2d4;font-size:15px}.nameplate{position:absolute;bottom:-13px;left:50%;max-width:100px;padding:1px 9px;overflow:hidden;border:1px solid var(--frame);border-radius:99px;background:#1d1611eb;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%)}.power,.power-chip{justify-self:start;position:relative;padding:0;border:3px solid var(--frame);border-radius:50%;background:var(--panel);box-shadow:0 3px 10px #0000008c}.power{width:52px;height:52px}.power-chip{width:36px;height:36px;border-width:2px}.power .art,.power-chip .art{width:100%;height:100%;border-radius:50%;object-fit:cover}.power.ok{border-color:var(--heal);box-shadow:0 0 14px 3px #6cc77abf}.power.used,.power-chip.used{filter:grayscale(1) brightness(.55)}.power .cost{top:-10px;left:50%;transform:translate(-50%)}.mana{position:absolute;left:7px;bottom:20%;display:grid;justify-items:start;gap:4px;padding:5px 7px;border:1px solid #b5955270;border-radius:9px;background:linear-gradient(#17383c,#101f22);box-shadow:inset 0 1px #83c5d435,0 3px 7px #090b0b82;font-size:12px}.mana .gems{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:1px;max-width:72px}.mana .gems i{width:13px;height:17px;clip-path:polygon(50% 0,94% 24%,83% 72%,50% 100%,17% 72%,6% 24%);background:linear-gradient(135deg,#537787,#223b4b 51%,#122633 53%,#436579)}.mana .gems i.full{background:linear-gradient(132deg,#e7fbff,#7de2f5 35%,#3a94ed 48%,#1a4eae 51%,#4faaf5 75%,#9cedff)}.mana .gems i.locked{background:linear-gradient(130deg,#ffbe8f,#b33b25 53%,#541618)}.classic-battle :is(.pile,.foe-hand .back){background-image:var(--active-card-back, url(/assets/hs-card-back-BVsegw8l.webp))}.back-options{margin:0;padding:6px 8px 9px;border:1px solid var(--line);border-radius:8px}.back-options legend{padding:0 4px;color:var(--muted);font-size:13px}.back-options>div{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.back-options button{min-width:0;padding:3px;border:1px solid transparent;border-radius:6px;background:none}.back-options button[aria-pressed=true]{border-color:#ffda89;background:#59401f}.back-options .art{width:100%;max-height:65px;object-fit:contain}.mana b{font-size:13px;color:#cfe8ff}@media(min-width:960px){.mana{left:auto;right:64px;justify-items:end}.mana .gems{justify-content:flex-end;max-width:104px}}@media(max-width:400px){.mana{bottom:12%}.mana .gems{max-width:58px}.mana .gems i{width:10px;height:13px}.weapon-slot{width:38px;height:38px}}@media(max-width:350px){.mana .gems{display:none}}.lane{--m: 60px;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:calc(var(--m) * 1.3 + 22px);padding:8px 4px;border-radius:40px;background:radial-gradient(ellipse at center,rgb(0 0 0 / .16),transparent 75%);box-shadow:inset 0 0 0 1px #ffd69612}.stage:not(.has-battlefield) #my-board[data-placing]{position:relative}.stage:not(.has-battlefield) #my-board[data-placing]:after{content:"";position:absolute;left:var(--slot-x);top:50%;width:4px;height:68px;border-radius:2px;background:#ffdda3;box-shadow:0 0 12px #f1c985;transform:translate(-50%,-50%);pointer-events:none}.minion{position:relative;display:grid;place-items:center;flex:0 0 auto;width:var(--m);height:calc(var(--m) * 1.3);padding:0;border:2px solid var(--frame);border-radius:50%;background:var(--panel-2);box-shadow:0 5px 10px #0000008c;transition:transform .15s}.minion .art{position:absolute;inset:0;width:100%;height:100%;border-radius:calc(var(--m) / 2 - 2px) calc(var(--m) / 2 - 2px) 10px 10px;object-fit:cover}.minion .atk,.minion .hp,.card .atk,.card .hp{position:absolute;bottom:-7px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 4px;border:1.5px solid rgb(255 255 255 / .55);border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 2px 4px #00000080}.minion .atk,.card .atk{left:-7px;background:radial-gradient(circle at 35% 30%,#ffe3a0,var(--accent) 60%,#8a5e17);color:var(--on-accent)}.minion .hp,.card .hp{right:-7px;background:radial-gradient(circle at 35% 30%,#ff8f78,var(--blood) 60%,#8a1d15);color:#fff}.minion .hp.hurt{background:#fff;color:var(--blood)}.minion .up{box-shadow:0 0 0 2px var(--heal)}.minion.taunt:before{content:"🛡";position:absolute;top:-11px;z-index:1;font-size:16px}.minion.asleep:after{content:"💤";position:absolute;top:-6px;right:-6px;z-index:1;font-size:13px}.minion.shield{box-shadow:0 0 14px 4px #f6d77a}.minion.ready{border-color:var(--heal);box-shadow:0 0 14px 4px #6cc77acc}.picked{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(-4px)}.target{cursor:pointer;outline:3px solid var(--blood);outline-offset:2px;animation:pulse .9s ease-in-out infinite alternate}.target.aim{outline-color:#fff;transform:scale(1.08)}@keyframes pulse{to{outline-color:color-mix(in srgb,var(--blood) 30%,transparent)}}.seam{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:44px}.seam:before{content:"";position:absolute;top:50%;left:50%;z-index:-1;width:100%;height:1px;background:linear-gradient(90deg,transparent,#bc8c52 18%,#e7bd7b 50%,#bc8c52 82%,transparent);box-shadow:0 0 7px #ffbe5a4d;transform:translate(-50%)}.log{margin:0;justify-self:start;padding:3px 8px;border-radius:6px;background:#23170f;font-size:12.5px;line-height:1.35;color:var(--ink);text-shadow:0 1px 3px #000;opacity:.85}.end-btn{min-width:96px;padding:10px 14px;border:3px ridge #f6d98a;border-radius:11px 16px 16px 11px;background:linear-gradient(#ffe097,#e5b755 48%,#b1772c 52%,#d3a34d);color:#2a1a08;font-size:15px;font-weight:800;box-shadow:0 4px #6b4a17,0 6px 14px #00000080}.end-btn:active{translate:0 2px;box-shadow:0 2px #6b4a17,0 4px 10px #00000080}@media(min-width:960px){.end-btn{position:absolute;inset-inline-end:-123px;top:50%;width:108px;transform:translateY(-50%)}}.end-btn.ready{border-color:#c9f5c2;background:linear-gradient(#93e293,#3c974c);box-shadow:0 4px #22602d,0 0 16px 4px #6cc77ab3;animation:breathe 1.1s ease-in-out infinite alternate}.end-btn:disabled{border-color:#5a4a3a;background:#3a2f27;color:var(--muted);box-shadow:none;animation:none}@keyframes breathe{to{box-shadow:0 4px #22602d,0 0 26px 8px #6cc77ae6}}.peek{display:grid;gap:3px;padding:8px 12px 10px;border:2px solid var(--accent);border-radius:14px;background:#18110cf2;box-shadow:0 8px 24px #000000b3;text-align:left}.peek[hidden]{display:none}.peek b{display:flex;align-items:center;gap:8px;font-family:Taviraj,serif;font-size:16px}.peek .cost{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c8e6ff,var(--mana) 55%,#1d5a92);color:#fff;font-size:13px;font-style:normal}.peek p{margin:0;font-size:14px;line-height:1.45}.peek small{font-size:12px;font-weight:700;color:var(--heal)}.peek small.no{color:var(--blood)}.hand{position:relative;flex:0 0 140px}.hand .card{position:absolute;bottom:30px;left:50%;margin-left:-38px;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--hand-scale, 1));transform-origin:50% 108%;transition:transform .15s}@media(min-width:720px){.stage{--hand-scale: 1.15}}@media(max-height:630px){.stage{--hero-width: 62px}.stage-top{min-height:26px}.hand{flex-basis:112px}.hand .card{bottom:16px}.lane{min-height:calc(var(--m) * 1.3 + 10px)}}.hand .card.picked{z-index:40;transform:translate(var(--x),calc(var(--y) - 26px)) scale(1.08)}@media(hover:hover){.hand .card:hover{z-index:50;filter:none;transform:translate(var(--x),calc(var(--y) - 46px)) scale(1.35)}.hand .card:hover:after{content:"";position:absolute;top:100%;left:0;right:0;height:56px}}.hand .card.lifted{opacity:.25}.card{position:relative;display:grid;grid-template-rows:54px auto 1fr;justify-items:center;width:76px;height:106px;padding:4px 4px 8px;border:2px solid var(--frame);border-radius:10px;background:linear-gradient(170deg,#3d2e21,#1f160f);box-shadow:0 6px 14px #0009;filter:brightness(.6) saturate(.7);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.card.ok,.card--big{filter:none}.card.ok{border-color:var(--heal);box-shadow:0 0 12px 2px #6cc77aa6,0 6px 14px #0009}.card .cost,.power .cost{position:absolute;z-index:1;display:grid;place-items:center;width:26px;height:26px;border:1.5px solid #d6ecff;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c8e6ff,var(--mana) 55%,#1d5a92);color:#fff;font-size:14px;font-style:normal;font-weight:800;text-shadow:0 1px 2px rgb(0 0 0 / .6)}.card .cost{top:-9px;left:-9px}.card .art{width:100%;height:54px;border-radius:6px;object-fit:cover}.card .name{margin-top:4px;font-size:10.5px;font-weight:600;line-height:1.2;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card .spell{align-self:end;font-size:10px;color:var(--muted)}.fx{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none}.fx>*{position:absolute}.fx .ghost{z-index:5;margin:0;transform:translate(-50%,-65%) scale(1.12)}.pop{z-index:2;font-family:Taviraj,serif;font-size:30px;font-weight:800;white-space:nowrap;text-shadow:0 2px 0 #000,0 0 10px #000;transform:translate(-50%,-50%)}.pop--hit{color:#ff6b57}.pop--heal{color:#8cf09a}.pop--shield{color:#ffe08a;font-size:18px}.orb{width:26px;height:26px;border-radius:50%;transform:translate(-50%,-50%)}.orb--fire{background:radial-gradient(circle,#fff6c8,#ffb03a 40%,#e2401f 68%,transparent 72%);box-shadow:0 0 24px 10px #ff7828cc}.orb--heal{background:radial-gradient(circle,#fff,#b9ffbf 45%,#3fbf63 68%,transparent 72%);box-shadow:0 0 24px 10px #78f08cb3}.orb--holy{background:radial-gradient(circle,#fff,#ffe9a8 45%,#e0b040 68%,transparent 72%);box-shadow:0 0 24px 10px #ffdc78cc}.burst{width:110px;height:110px;border-radius:50%;transform:translate(-50%,-50%)}.burst--fire{background:radial-gradient(circle,rgb(255 225 160 / .95),rgb(255 110 40 / .7) 45%,transparent 70%)}.burst--heal{background:radial-gradient(circle,rgb(225 255 225 / .9),rgb(100 220 120 / .6) 45%,transparent 70%)}.burst--holy{background:radial-gradient(circle,rgb(255 250 220 / .95),rgb(255 210 110 / .6) 45%,transparent 70%)}.reveal{z-index:3;display:grid;justify-items:center;gap:10px;perspective:700px;filter:drop-shadow(0 14px 30px rgb(0 0 0 / .85))}.reveal small{font-size:12px;color:var(--muted);text-shadow:0 1px 3px #000}.reveal .card--big{width:200px;min-height:0}.reveal .card--big .art{height:140px}.banner{z-index:4;display:grid;justify-items:center;gap:2px;min-width:min(80vw,420px);padding:12px 28px;border-block:2px solid var(--accent);background:linear-gradient(90deg,transparent,rgb(20 12 6 / .88) 16%,rgb(20 12 6 / .88) 84%,transparent);color:#fff4d6;font-family:Taviraj,serif;font-size:34px;font-weight:800;line-height:1.2;text-align:center;text-shadow:0 2px 0 #000,0 0 18px rgb(0 0 0 / .8);white-space:nowrap;transform:translate(-50%,-50%)}.banner small{font-family:Sarabun,sans-serif;font-size:14px;font-weight:600;color:var(--muted)}.banner--mine{color:#ffe08a}.banner--win{border-color:#ffd76a;color:#ffd76a;font-size:64px;box-shadow:0 0 70px 24px #ffc85a4d}.banner--lose{border-color:#6d5f52;color:#cfc5b8;font-size:56px}#aim{inset:0;width:100%;height:100%;overflow:visible}#aim path{fill:none;stroke:#ffd76a;stroke-width:7;stroke-linecap:round;stroke-dasharray:1 13;filter:drop-shadow(0 0 3px #000)}#aim circle{fill:#ffd76a26;stroke:#ffd76a;stroke-width:3}#aim.on path,#aim.on circle{stroke:var(--blood)}#aim.on circle{fill:#e0574a4d}.sheet{position:fixed;inset:0;z-index:9;display:grid;place-items:center;padding:16px;background:#0009}.sheet .panel{width:min(380px,100%)}.zoom{position:fixed;inset:0;z-index:10;display:grid;place-content:center;justify-items:center;gap:14px;padding:16px;background:#000000b8}.card--big{width:230px;height:auto;min-height:300px;gap:8px;padding:18px 16px 22px;grid-template-rows:auto auto 1fr auto;border:3px ridge var(--frame);background:linear-gradient(160deg,#503a25,#1e150d 74%)}.card--big .cost{width:42px;height:42px;top:-12px;left:-12px;font-size:21px}.card--big .art{width:100%;height:170px;border-radius:45% 45% 6px 6px/23% 23% 6px 6px}.card--big .name{font-family:Taviraj,serif;font-size:22px;font-weight:700;-webkit-line-clamp:unset}.card--big .text{margin:0;font-size:15px;line-height:1.5;text-align:center}.card--big .stats{width:100%}.card--big .atk,.card--big .hp{bottom:-12px;min-width:38px;height:38px;border-radius:19px;font-size:19px}.card--big .atk{left:-12px}.card--big .hp{right:-12px}.card--big .spell{display:block;text-align:center;font-size:12px}.classic-preview{display:grid;justify-items:center;gap:8px;text-align:center}.classic-preview img{display:block;width:auto;max-width:min(72vw,255px);height:min(48vh,352px);object-fit:contain;filter:drop-shadow(0 8px 16px #0009)}.classic-preview p{max-width:280px;margin:0;color:#fff1d4;font-size:14px}.classic-preview p:empty{display:none}.card .hp.durability{background:linear-gradient(145deg,#e8e8db,#748693);color:#18212a}.title-links{display:flex;justify-content:center;gap:22px}body[data-screen=deck] main,body[data-screen=deck] .topbar{max-width:1180px}.deck-builder{gap:16px}.deck-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.deck-header .link{justify-self:start}.deck-header h1{margin:0;font-size:clamp(1.25rem,4vw,2rem);text-align:center}#deck-count{justify-self:end;color:#ffd88e;font-variant-numeric:tabular-nums}.deck-workspace{display:grid;grid-template-columns:minmax(0,1fr) 268px;align-items:start;gap:16px}.deck-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}.deck-browser{display:grid;gap:12px}.deck-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.deck-filters select{color:inherit;background:var(--panel);border:1px solid var(--frame);border-radius:8px;padding:8px}.collection-inspect{display:grid;place-items:center;padding:0;background:none;border:0}.collection-inspect img{width:100%;aspect-ratio:.67;object-fit:contain}.collection-add{min-height:32px;border:1px solid var(--frame);border-radius:6px;background:#453020;color:#ffe6b6}.collection-add:not(:disabled):hover{border-color:#f2cc82}.collection-add:disabled{opacity:.62}.collection-card{position:relative;display:grid;gap:3px;min-width:0;padding:6px 6px 9px;border:1px solid var(--frame);border-radius:8px;background:linear-gradient(#34291e,#201913);text-align:start}.collection-card:focus-within{border-color:#f2cc82}.collection-card strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.collection-card small{color:#e0c29d}.deck-sidebar li i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,#73c5e9,#22558d);border:1px solid #b9e9ff;color:#fff;font-style:normal;font-weight:800}.deck-sidebar{position:sticky;top:12px;display:grid;gap:12px;padding:12px;border:1px solid #765534;border-radius:10px;background:#211810}#deck-list{display:grid;gap:4px;max-height:64vh;overflow:auto;margin:0;padding:0;list-style:none}.deck-sidebar li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;padding:3px 4px;background:#36281b;border-radius:5px;font-size:13px}.deck-sidebar li>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.deck-sidebar li button{min-height:34px;padding:2px 7px;border:1px solid #6e5134;border-radius:5px;background:#211810}.deck-actions{display:grid;gap:7px}@media(max-width:700px){.deck-workspace{grid-template-columns:1fr}.deck-library{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));max-height:44svh;overflow:auto;padding:3px}.deck-sidebar{position:static}#deck-list{max-height:23svh}.deck-actions{grid-template-columns:1fr 1fr}}body[data-screen=opening]{background:radial-gradient(ellipse at 50% 39%,#432d1bd9,#18100cb8 78%),var(--arena-art) center / cover fixed,var(--bg)}body[data-screen=opening] main,body[data-screen=opening] .topbar{max-width:1020px}body[data-screen=opening] main{padding:0}.opening-board{display:grid;justify-items:center;align-content:center;gap:clamp(25px,5vh,54px);min-height:calc(100svh - 70px);padding:24px 18px 34px}.opening-heading{text-align:center}.opening-heading p{margin:0 0 6px;color:#efc789;font-weight:700}.opening-heading h1{margin:0;font-family:Taviraj,serif;font-size:clamp(1.9rem,4vw,3rem);line-height:1.2}.opening-cards{display:flex;justify-content:center;align-items:stretch;gap:clamp(14px,2.6vw,34px);width:100%;margin:0;padding:0;list-style:none}.opening-card{position:relative;width:min(21vw,178px);transition:transform .18s ease}.opening-card .card--big{width:100%;min-height:clamp(217px,31vh,285px);height:100%;padding:10px 10px 14px;border-color:var(--frame);box-shadow:0 12px 26px #0b0605bd}.opening-card .art{height:auto;aspect-ratio:1.15}.opening-card .name{font-size:clamp(.94rem,2vw,1.2rem)}.opening-card .text{font-size:clamp(.74rem,1.8vw,.88rem)}.opening-card .cost{top:-8px;left:-8px;width:32px;height:32px;font-size:17px}.opening-card .atk,.opening-card .hp{min-width:28px;height:28px;bottom:-7px;font-size:15px}.opening-card .atk{left:-6px}.opening-card .hp{right:-6px}.opening-card button{position:absolute;inset:0;width:100%;border:0;border-radius:10px;background:transparent}.opening-card:has(button[aria-pressed=true]){transform:translateY(-8px)}.opening-card:has(button[aria-pressed=true]) .card--big{border-color:#f6c873;box-shadow:0 0 0 2px #c2863e,0 5px 24px #d99a453f}.opening-mark{display:none;position:absolute;top:6px;right:6px;width:30px;height:30px;place-items:center;border-radius:50%;background:#eac177;color:#2b170c;font-size:1.35rem;line-height:1;pointer-events:none}.opening-card:has(button[aria-pressed=true]) .opening-mark{display:grid}.opening-card button:focus-visible{outline:3px solid #fff2c9;outline-offset:4px}.opening-card button:disabled{cursor:default}.opening-footer{display:grid;justify-items:center;gap:10px}#opening-hint{margin:0;color:var(--muted)}#opening-confirm{min-width:184px}@media(hover:hover){.opening-card:has(button:hover:not(:disabled)){transform:translateY(-8px)}.opening-card button:hover:not(:disabled):after{content:"";position:absolute;inset:100% 0 -8px}}@media(max-width:580px){.opening-board{gap:21px;padding-top:12px}.opening-cards{display:grid;grid-template-columns:repeat(2,minmax(0,148px));gap:16px}.opening-card{width:100%}.opening-card:last-child:nth-child(3){grid-column:1 / -1;width:min(100%,148px);justify-self:center}.opening-card .card--big{min-height:166px;gap:4px}.opening-card .art{aspect-ratio:1.45}.opening-card .text{line-height:1.35}}@media(prefers-reduced-motion:reduce){.opening-card{transition:none}}.verdict{justify-items:center;text-align:center}.verdict h2{font-size:46px;color:var(--accent)}.duo{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}.duo figure{display:grid;justify-items:center;gap:6px;margin:0}.duo .art{width:84px;height:84px;border:3px solid var(--frame);border-radius:50%;object-fit:cover}.duo .won .art{width:104px;height:104px;box-shadow:0 0 26px 8px #ffc85a80}.duo .lost .art{filter:grayscale(1) brightness(.55)}.duo figcaption{display:grid;font-weight:700}.duo small{font-size:12px;font-weight:400;color:var(--muted)}.vs{font-family:Taviraj,serif;font-weight:800;color:var(--muted)}.done-actions{display:grid;gap:10px}.toast{position:fixed;bottom:24px;left:50%;z-index:11;max-width:calc(100% - 32px);margin:0;padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:15px;transform:translate(-50%)}.invited .host-only{display:none}.stage>.battlefield{position:absolute;z-index:-1;inset:0;max-width:none;pointer-events:none;zoom:1}.battlefield canvas{display:block;width:100%!important;height:100%!important}.stage.has-battlefield .lane{background:none;box-shadow:none}.stage.has-battlefield :is(.portrait,.minion){background:none;border-color:transparent;box-shadow:none;outline:none;animation:none;transform:none}.stage.has-battlefield :is(.portrait,.minion)>*,.stage.has-battlefield .minion:before,.stage.has-battlefield .minion:after{visibility:hidden}.stage.has-battlefield :is(.portrait,.minion):focus-visible{outline:2px solid #f8e6bd;outline-offset:5px}.stage.has-battlefield :is(.foe-hand .back,.pile){opacity:0}.stage.has-battlefield .hand .card{background:none;border-color:transparent;box-shadow:none;filter:none}.stage.has-battlefield .hand .card>*{visibility:hidden}
