:root{color-scheme:dark;font-family:system-ui,sans-serif;--ink: #e6e8ec;--panel: #1e222a;--edge: #3a4048;--frame: #6b5836;--gold: #ffd166;--green: #6ee7a8;--red: #ff6b6b;--blue: #7fb2ff;--hero-w: 118px;--hero-h: 178px;--hero-strip-h: 112px;--token-w: 84px;--token-h: 116px;--card-w: 168px;--card-h: 236px;--hand-reveal: .6;--foe-card-w: 104px;--foe-card-h: 154px;--foe-reveal: .42}body{margin:0;background:#14161a;color:var(--ink)}.app{display:grid;grid-template-columns:1fr var(--log-w, 220px);height:100vh;transition:grid-template-columns .22s cubic-bezier(.2,.85,.3,1)}.app.log-collapsed{--log-w: 34px}.table{display:flex;gap:10px;position:relative;overflow:hidden;background-image:linear-gradient(#0a0c1047,#0a0c1047),var(--board, none);background-size:100% 100%;background-position:center;--playfield-inset-x: 9%;--playfield-inset-y: 2.2%;padding:var(--playfield-inset-y) var(--playfield-inset-x)}.ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-motes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ambient-drift{position:absolute;left:-30%;top:-25%;width:70%;height:150%;background:radial-gradient(ellipse 50% 50% at 50% 50%,#ffd6961a,#ffd69600 70%);animation:fx-light-drift 46s ease-in-out infinite}@keyframes fx-light-drift{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(210%);opacity:1}}.table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 76% 70% at 50% 50%,#0000 40%,#0405084d 76%,#0203059e)}.field{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:2px}.rail{position:absolute;right:calc(var(--playfield-inset-x) * .5);top:var(--playfield-inset-y);bottom:var(--playfield-inset-y);width:78px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2px 0;z-index:6}.rail-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.history{position:absolute;left:calc(var(--playfield-inset-x) * .62);top:var(--playfield-inset-y);display:flex;flex-direction:column;gap:4px;z-index:6;pointer-events:auto}.history-slot{position:relative;width:46px;height:48px;padding:0;border:none;background:none;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7));transition:transform .13s ease,filter .13s ease}.history-slot:hover{transform:translate(3px) scale(1.08);z-index:2}.history-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.history-window{position:absolute;overflow:hidden;z-index:1;background:#14100c}.history-art{width:100%;height:100%;object-fit:cover;display:block}.history-blank{background:linear-gradient(#39424f,#22262f)}.history-slot.played .history-art{filter:saturate(1.05)}.history-slot.died .history-art{filter:grayscale(.85) brightness(.55)}.history-slot.died{filter:drop-shadow(0 2px 4px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(255,90,90,.45))}.deck{display:flex;flex-direction:column;align-items:center;gap:3px}.deck-stack{position:relative;width:54px;height:74px}.deck-stack:before{content:"";position:absolute;top:-9px;right:-11px;bottom:-9px;left:-11px;border-radius:10px;background:#0000006b;box-shadow:inset 0 0 12px #000000bf;border:1px solid rgba(255,205,130,.13);pointer-events:none}.deck-card{position:absolute;left:calc(var(--layer, 0) * 1.5px);top:calc(var(--layer, 0) * -2px);width:54px;height:74px;object-fit:cover;border-radius:5px;border:1px solid #241c14;box-shadow:0 2px 5px #0000008c}.deck-out{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:1px dashed rgba(230,232,236,.2);border-radius:5px;font-size:10px;opacity:.5}.deck-count{font-size:13px;font-weight:800;color:#e8dcc0;padding:1px 9px;border-radius:999px;background:#0a0805b3;border:1px solid rgba(255,214,150,.22);text-shadow:0 1px 3px rgba(0,0,0,.9)}.foe-hand{display:flex;justify-content:center;align-items:flex-start;height:calc(var(--foe-card-h) * var(--foe-reveal));min-height:calc(var(--foe-card-h) * var(--foe-reveal));margin-top:calc(var(--playfield-inset-y) * -1)}.foe-card{flex:0 0 var(--foe-card-w);width:var(--foe-card-w);height:var(--foe-card-h);object-fit:cover;border-radius:7px;border:1px solid #241c14;margin-top:calc(var(--foe-card-h) * (var(--foe-reveal) - 1));transform-origin:50% -70%;transform:rotate(var(--fan-rot, 0deg));box-shadow:0 3px 8px #0009}.foe-card+.foe-card{margin-left:min(6px,calc((100% - var(--n, 1) * var(--foe-card-w)) / (var(--n, 2) - 1)))}.gem{position:absolute;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;z-index:4;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.55)}.gem.atk,.gem.hp{background-position:center;background-repeat:no-repeat;background-size:contain;border:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85)}.gem.atk{left:-5px;bottom:2px;width:30px;height:30px;background-image:url(/art/ui/gem-attack.webp);color:#fff3d4}.gem.hp{right:-5px;bottom:2px;width:30px;height:30px;background-image:url(/art/ui/gem-health.webp);color:#ffe9e9}.gem.hp.hurt{filter:drop-shadow(0 2px 3px rgba(0,0,0,.85)) brightness(.78) saturate(1.25)}.hero{height:var(--hero-strip-h);display:grid;grid-template-columns:minmax(0,1fr) var(--orb) auto var(--orb) minmax(0,1fr);--orb: 86px;align-items:center;gap:10px;font-size:13px}.hero.active{color:var(--gold)}.hero:before{content:"";grid-column:2}.hero>*,.hero:before{grid-row:1}.hero-top .piece-hero{margin-bottom:calc(var(--hero-strip-h) - var(--hero-h))}.hero-bottom .piece-hero{margin-top:calc(var(--hero-strip-h) - var(--hero-h))}.hero .hero-id{grid-column:1;justify-self:end;text-align:right}.hero .piece-hero{grid-column:3}.hero .power-orb{grid-column:4;position:relative}.hero .mana-bar{grid-column:5;justify-self:start;position:relative}.piece-hero{flex:0 0 auto;display:inline-flex}.piece-hero:before{content:"";position:absolute;left:50%;top:50%;width:150%;height:122%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#ffcd8221 34%,#ffcd820d 52%,#0000 68%),radial-gradient(circle,#0000008c 44%,#0000 62%);pointer-events:none;z-index:-1}.hero.active .piece-hero:before{background:radial-gradient(circle,#ffd16638 34%,#ffd16614 52%,#0000 68%),radial-gradient(circle,#0000008c 44%,#0000 62%)}.hero .portrait{position:relative;width:var(--hero-w);height:var(--hero-h);padding:0;border:none;background:none;color:inherit;cursor:pointer;filter:drop-shadow(0 3px 8px rgba(0,0,0,.7));transition:filter .14s ease}.hero.active .portrait{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,209,102,.9))}.portrait-art{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.hero .token-window{border-radius:48% 48% 12% 12%/40% 40% 8% 8%}.hp-gem,.armor-gem{position:absolute;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;pointer-events:none;z-index:4;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hp-gem,.armor-gem{font-size:15px;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85)}.hp-gem{right:-6px;bottom:4px;width:42px;height:42px;background-image:url(/art/ui/gem-health.webp);color:#ffe9e9}.armor-gem{left:-6px;bottom:4px;width:40px;height:40px;background-image:url(/art/ui/gem-armor.webp);color:#eef3fa}.hero-id{display:flex;flex-direction:column;gap:1px;min-width:0;align-items:flex-end}.hero-id strong{font-size:17px;letter-spacing:.02em;text-shadow:0 2px 4px rgba(0,0,0,.9)}.hero-sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.5}.hero .song-slots{grid-column:2;justify-self:center}.song-slots{position:relative;display:flex;align-items:flex-start;justify-content:center;--song-gap: 6px;--song-pip-h: 7px;--song-track: var(--orb, 86px);--song-max-w: 38px;--song-n: 2;--song-w: min(var(--song-max-w), calc((var(--song-track) - (var(--song-n) - 1) * var(--song-gap)) / var(--song-n)));--song-leave: .3s;--song-slide: .16s;gap:var(--song-gap);height:calc(var(--song-w) + var(--song-pip-h))}.song-socket{position:relative;width:var(--song-w);display:flex;flex-direction:column;align-items:center;gap:3px}.song-socket:empty:before{content:"";width:var(--song-w);height:var(--song-w);border-radius:50%;border:1px solid rgba(226,214,190,.15);background:radial-gradient(circle at 50% 40%,#00000073,#00000026);box-shadow:inset 0 2px 5px #000000a6}.song-medallion{position:relative;flex:0 0 auto;display:block;width:var(--song-w);height:var(--song-w);padding:0;border:none;background:none;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.75));animation:song-breathe 3.6s ease-in-out infinite}.song-medallion:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 7px rgba(255,209,102,.9))}@keyframes song-breathe{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 2px rgba(255,209,102,.25))}50%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 7px rgba(255,209,102,.55))}}.song-medallion.song-in{animation:song-arrive .25s cubic-bezier(.2,1.3,.4,1)}.song-medallion.song-in.song-in-after{animation-delay:calc(var(--song-leave) + var(--song-slide));animation-fill-mode:backwards}@keyframes song-arrive{0%{transform:translateY(10px) scale(.2);opacity:0}to{transform:none;opacity:1}}.song-socket.song-shift{animation:song-slide var(--song-slide) ease var(--song-leave) backwards}@keyframes song-slide{0%{transform:translate(calc(var(--song-shift, 0) * (var(--song-w) + var(--song-gap))))}to{transform:none}}.song-pips{display:flex;gap:2px}.song-pip{width:4px;height:4px;border-radius:50%;background:#e2d6be2e;box-shadow:inset 0 0 1px #000c}.song-pip.lit{background:#f0c874;box-shadow:0 0 4px #ffd166d9}.song-pip.spent{animation:song-pip-out .42s ease-out}@keyframes song-pip-out{0%{background:#ffe6b0;box-shadow:0 0 8px #ffe2b0;transform:scale(1.9)}to{background:#e2d6be2e;box-shadow:none;transform:scale(1)}}.song-ripple{position:absolute;left:50%;top:50%;width:42vw;height:42vw;max-width:760px;max-height:760px;margin:-21vw 0 0 -21vw;border-radius:50%;border:2px solid rgba(255,209,102,.55);pointer-events:none;z-index:6;opacity:0;animation:song-ripple-out .62s cubic-bezier(.15,.7,.35,1)}@keyframes song-ripple-out{0%{transform:scale(.04);opacity:.95;border-width:3px}70%{opacity:.35}to{transform:scale(1);opacity:0;border-width:1px}}.song-flare{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;background:radial-gradient(circle,#ffe9b0f2,#ffd16600 70%);pointer-events:none;opacity:0;animation:song-flare-pass .38s ease-out;animation-delay:calc(var(--wave, 0) * 55ms)}@keyframes song-flare-pass{0%{opacity:0;transform:scale(.7)}35%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(1)}}.gem.atk.lifted{filter:drop-shadow(0 2px 3px rgba(0,0,0,.85)) drop-shadow(0 0 6px rgba(255,209,102,.75)) saturate(1.15);color:#fff6df}.song-ghosts{position:absolute;left:0;top:0;pointer-events:none}.song-ghost{position:absolute;top:0;left:calc(var(--song-slot, 0) * (var(--song-w) + var(--song-gap)));width:var(--song-w);height:var(--song-w);animation:song-leave var(--song-leave) ease-in both}@keyframes song-leave{0%{opacity:1;filter:none;transform:scale(1)}to{opacity:0;filter:grayscale(1);transform:scale(.72)}}.mana-bar{display:flex;align-items:center;gap:2px;--rail-h: 36px;--cap: 1.5188;height:var(--rail-h);box-sizing:border-box;padding:0 4px;border-style:solid;border-width:0 calc(var(--rail-h) * var(--cap));border-image-source:url(/art/ui/chrome-rail.webp);border-image-slice:0 243 0 243 fill;border-image-repeat:stretch}.crystal{width:20px;height:23px;background:url(/art/ui/gem-mana.webp) center / contain no-repeat;transition:filter .18s ease,opacity .18s ease}.crystal.full{filter:drop-shadow(0 0 5px rgba(127,178,255,.9))}.crystal.spent{filter:grayscale(.55) brightness(.62);opacity:.95}.crystal.locked{filter:grayscale(.9) brightness(.5);opacity:.6}.mana-text{position:absolute;left:calc(var(--rail-h) * var(--cap) * -.72);font-size:13px;font-weight:800;color:#eaf4ff;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.8);pointer-events:none}.power-orb{flex:0 0 auto;width:86px;height:86px;padding:0;border:none;background:none;color:var(--gold);font:inherit;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:transform .12s ease,filter .14s ease}.orb-face{position:absolute;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 36% 26%,#4a5570,#262d3c 58%,#12161d);box-shadow:inset 0 -3px 8px #0009;z-index:1}.power-orb:not(:disabled):hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,209,102,.95))}.power-orb:not(:disabled):active{transform:scale(.93)}.power-icon{width:54%;height:54%;fill:#f0c874;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));pointer-events:none}.power-orb:disabled .power-icon{fill:#7e8899}.power-cost{position:absolute;z-index:3;top:-6px;left:-6px;width:28px;height:28px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#eaf4ff;background:url(/art/ui/gem-mana.webp) center / contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85);pointer-events:none}.power-spent{position:absolute;top:4px;right:4px;bottom:4px;left:4px;z-index:3;border-radius:50%;background:linear-gradient(120deg,transparent 44%,rgba(230,236,245,.6) 46%,rgba(230,236,245,.6) 54%,transparent 56%);pointer-events:none}.board{position:relative;display:flex;flex-direction:column;justify-content:center;flex:1;gap:2px}.board:before{content:"";position:absolute;top:-6%;right:-3%;bottom:-6%;left:-3%;border-radius:50%;background:radial-gradient(ellipse 58% 52% at 50% 50%,#96764a33,#96764a00 72%),radial-gradient(ellipse 46% 40% at 50% 50%,#d6b2741a,#0000 78%);pointer-events:none}.board>*{position:relative}.board-divider{height:2px;margin:2px 6%;border-radius:2px;background:linear-gradient(90deg,#ffd16600,#ffd16647,#ffd16661,#ffd16647,#ffd16600)}.row{display:flex;gap:10px;align-items:center;justify-content:center;min-height:calc(var(--token-h) + 10px)}.piece-slot{flex:0 0 0;width:0;min-width:0;overflow:hidden;transition:flex-basis .17s ease,width .17s ease,margin .17s ease}.row:not(.placing) .piece-slot .slot{display:none}.row.placing .piece-slot{flex:0 0 34px;width:34px}.piece-slot .slot{width:34px;height:calc(var(--token-h) - 34px);border:2px dashed rgba(110,231,168,.45);border-radius:10px;background:#6ee7a812;cursor:pointer;padding:0}.piece-slot .slot:hover{border-color:var(--green);background:#6ee7a829}.minion{position:relative;width:var(--token-w);height:var(--token-h);padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:transform .13s ease,filter .13s ease}.token-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.token-window{position:absolute;border-radius:50%;overflow:hidden;z-index:1;background:#14100c}.minion:hover{transform:translateY(-3px) scale(1.05)}.token-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.token-blank{background:linear-gradient(#39424f,#22262f)}.token-name{position:absolute;left:50%;bottom:-13px;transform:translate(-50%);font-size:11px;font-weight:600;letter-spacing:.01em;max-width:calc(var(--token-w) + 26px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#e8dcc0;opacity:.92;text-shadow:0 1px 3px rgba(0,0,0,.98),0 0 6px rgba(0,0,0,.8);pointer-events:none}.guard-shield{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:3px solid #8ea3c2;box-shadow:0 0 12px #8caad273;pointer-events:none}.minion.can-act{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 5px rgba(110,231,168,.95))}.minion.selected{animation:fx-armed .9s ease-in-out infinite;z-index:9}@keyframes fx-armed{0%,to{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 6px 10px rgba(0,0,0,.8)) drop-shadow(0 0 8px rgba(255,209,102,.9))}50%{transform:translateY(-8px) scale(1.06);filter:drop-shadow(0 8px 12px rgba(0,0,0,.8)) drop-shadow(0 0 16px rgba(255,209,102,1))}}.minion.targetable,.hero .portrait.targetable{animation:fx-target .7s ease-in-out infinite}@keyframes fx-target{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,107,107,.85))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 15px rgba(255,107,107,1))}}.minion.golem{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 5px rgba(159,200,255,.85))}.counters{position:absolute;top:-6px;right:-6px;z-index:4;font-size:11px;font-weight:800;color:#2a1a02;background:radial-gradient(circle at 35% 28%,#ffe3a3,#c98a1e);border:1px solid #6d4708;border-radius:10px;padding:1px 5px}.hand{display:flex;justify-content:center;align-items:flex-start;height:calc(var(--card-h) * var(--hand-reveal));min-height:calc(var(--card-h) * var(--hand-reveal));padding:0 84px}.hand .card+.card{margin-left:min(14px,calc((100% - var(--n, 1) * var(--card-w)) / (var(--n, 2) - 1)))}.hand .card{transform-origin:50% 125%;transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}.hand .card:hover,.hand .card.selected{transform:rotate(0) translateY(calc(var(--card-h) * (var(--hand-reveal) - 1) - 18px)) scale(1.14);z-index:10}.card,.preview{position:relative;color:inherit;font:inherit;padding:0;border:none;background:none;cursor:pointer}.card{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6))}.card{width:var(--card-w);height:var(--card-h);flex:0 0 var(--card-w);font-size:calc(var(--card-w) / 13)}.frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.card-window{position:absolute;border-radius:50%;overflow:hidden;z-index:1;background:#14100c}.card-art{width:100%;height:100%;object-fit:cover;display:block}.card-blank{background:linear-gradient(#39424f,#22262f)}.slot{position:absolute;box-sizing:border-box;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;pointer-events:none;line-height:1.15}.slot-cost,.slot-atk,.slot-hp{font-weight:800;font-size:1.05em;z-index:5;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.9));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85)}.slot-cost{background-image:url(/art/ui/gem-mana.webp)}.slot-atk{background-image:url(/art/ui/gem-attack.webp)}.slot-hp{background-image:url(/art/ui/gem-health.webp)}.slot-cost{color:#eaf4ff}.slot-atk{color:#fff3d4}.slot-hp{color:#ffe9e9}.slot-hp.hurt{filter:drop-shadow(0 2px 3px rgba(0,0,0,.9)) brightness(.78) saturate(1.25)}.slot-ribbon{z-index:4;border-radius:4px/50%;background:linear-gradient(#5a4322,#2e2011 60%,#241a0f),linear-gradient(#5a4322,#241a0f);border-top:1px solid rgba(255,214,150,.4);border-bottom:1px solid rgba(0,0,0,.7);box-shadow:0 2px 6px #000000a6;color:#f8e7bd;font-weight:700;font-size:.92em;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.95);padding:0 4%;white-space:nowrap}.slot-text{flex-direction:column;gap:.3em;color:#e3d6bb;font-size:.86em;line-height:1.28;padding:0 9%;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.slot-plaque{z-index:4;border-radius:999px;background:linear-gradient(#4a3620,#241a0f);border:1px solid rgba(255,214,150,.35);box-shadow:0 2px 5px #0009;color:#d9b877;font-size:.66em;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:0 3%}.kw-row{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.kw{font-size:.85em;text-transform:uppercase;letter-spacing:1px;padding:1px 6px;border-radius:8px;border:1px solid rgba(255,209,102,.45);color:var(--gold)}.card.rarity-rare{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(77,127,196,.85))}.card.rarity-epic{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(154,99,208,.9))}.card.rarity-legendary{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(224,145,47,.95))}.card.playable{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(110,231,168,.9))}.card.selected{filter:drop-shadow(0 8px 16px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,209,102,1))}.preview{position:fixed;z-index:100;pointer-events:none}.preview .slot-plaque{font-size:.52em;letter-spacing:.1em}.preview:before{content:"";position:absolute;top:4%;right:6%;bottom:4%;left:6%;border-radius:12px;background:linear-gradient(#241a12,#100b08);box-shadow:0 18px 40px #000000d9,0 0 0 1px #0009;z-index:0}@keyframes fx-preview{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.preview-plate{gap:4px;padding:6px 10px}.preview-cost{top:-10px;left:-10px;width:44px;height:44px;font-size:22px;border-width:3px}.preview-name{font-size:16px;font-weight:700;color:#f8e7bd;text-shadow:0 1px 3px rgba(0,0,0,.95)}.preview-kind{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#c9a464}.preview-text{font-size:12px;line-height:1.35;color:#e2d6bd}.preview-keywords{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.kw{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:2px 7px;border-radius:9px;border:1px solid rgba(255,209,102,.45);color:var(--gold)}.preview-gem-atk{left:-8px;bottom:10px;width:42px;height:42px;font-size:21px;z-index:5}.preview-gem-hp{right:-8px;bottom:10px;width:42px;height:42px;font-size:21px;z-index:5}.end-turn{--plaque-h: 52px;--plaque-cap: .41;min-height:var(--plaque-h);box-sizing:border-box;padding:12px 4px;border-style:solid;border-width:0 calc(var(--plaque-h) * var(--plaque-cap));border-image-source:url(/art/ui/chrome-plaque.webp);border-image-slice:0 82 0 82 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.8);filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:filter .14s ease,transform .1s ease}.end-turn:not(:disabled){animation:fx-endturn-idle 2.4s ease-in-out infinite}.end-turn:not(:disabled):hover{animation:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(255,209,102,1));transform:scale(1.04)}.end-turn:not(:disabled):active{transform:scale(.97) translateY(1px)}@keyframes fx-endturn-idle{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,209,102,.45))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 15px rgba(255,209,102,.9))}}.rail-toggles{display:flex;gap:6px;justify-content:center}.rail-toggle{flex:0 0 auto;width:34px;height:34px;padding:0;display:grid;place-items:center;border:none;border-radius:50%;background:radial-gradient(circle at 38% 28%,#4a5570,#262d3c 58%,#12161d);box-shadow:inset 0 -2px 5px #000000a6,0 0 0 1px #9678468c,0 2px 5px #0000008c;color:var(--gold);cursor:pointer;transition:transform .11s ease,box-shadow .14s ease,color .14s ease}.rail-toggle:hover{color:#fff0d6;box-shadow:inset 0 -2px 5px #000000a6,0 0 0 1px #ffd166d9,0 0 11px #ffd16680}.rail-toggle:active{transform:scale(.92)}.rail-icon{width:19px;height:19px;display:block}.rail-icon path{fill:currentColor}.rail-icon path[fill=none]{stroke:currentColor}.concede{margin-top:4px;padding:4px 8px;cursor:pointer;font:inherit;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be85;background:linear-gradient(180deg,#2e271eeb,#14120ff2);border:1px solid rgba(150,120,70,.42);border-radius:5px;box-shadow:0 1px 3px #0000008c,inset 0 1px #ffe2aa14;transition:color .13s ease,border-color .13s ease,transform 90ms ease,box-shadow .14s ease}.concede:active:not(:disabled){transform:translateY(1px)}.game-over{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:6px;background:#080a0ec7;font-size:26px;letter-spacing:2px;color:var(--gold);z-index:40}.game-over span{font-size:14px;letter-spacing:0;color:var(--ink)}.log{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:linear-gradient(180deg,#221d16f5,#0f0e0dfa);box-shadow:inset 1px 0 #a0804a59,inset 8px 0 22px #0000008c}.log-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:6px;--rail-h: 30px;--cap: 1.5188;height:var(--rail-h);box-sizing:border-box;padding:0 2px;border-style:solid;border-width:0 calc(var(--rail-h) * var(--cap));border-image-source:url(/art/ui/chrome-rail.webp);border-image-slice:0 243 0 243 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95)}.log-toggle:hover{color:#fff0d6}.log-title{overflow:hidden;text-overflow:ellipsis}.log-caret{flex:0 0 auto;width:0;height:0;border:4px solid transparent;border-left-color:currentColor;transform:rotate(90deg);transition:transform .2s ease}.log-shut .log-caret{transform:rotate(0)}.log-shut .log-toggle{height:100%;flex:1 1 auto;flex-direction:column;justify-content:flex-start;gap:12px;padding:12px 0;border:none;background:linear-gradient(180deg,#2c251cf2,#12100efa);letter-spacing:.3em}.log-shut .log-title{writing-mode:vertical-rl}.log-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 9px 16px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin;scrollbar-color:rgba(160,128,74,.45) transparent}.log-row{font-size:11.5px;line-height:1.5;color:#cec3ae;opacity:max(.42,1 - var(--age, 0) * .042);transition:opacity .18s ease}.log-body:hover .log-row,.log-body:focus-within .log-row{opacity:1}.log-who{font-weight:700}.log-who.p0{color:#9ce7bb}.log-who.p1{color:#ff9d92}.log-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;margin:0 1px;padding:1px 5px 1px 1px;vertical-align:-3px;border:1px solid rgba(160,128,74,.55);border-radius:9px;background:linear-gradient(180deg,#3e3322e6,#1d1913f2);box-shadow:0 1px 2px #0009,inset 0 1px #ffe2aa1f;color:#f0dcae;font:inherit;font-size:10.5px;font-weight:600;line-height:1.3;cursor:pointer;transition:border-color .13s ease,transform .11s ease,box-shadow .14s ease}.log-chip:hover,.log-chip:focus-visible{outline:none;transform:translateY(-1px);border-color:#ffd166e6;box-shadow:0 2px 6px #000000a6,0 0 9px #ffd1666b}.log-chip-art{flex:0 0 auto;width:15px;height:15px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 1px #786038e6}.log-chip-blank{background:linear-gradient(#39424f,#22262f)}.log-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row.log-turn{margin:8px 0 3px;opacity:1}.log-rule{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffd166e0;white-space:nowrap}.log-rule>span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.log-rule:before,.log-rule:after{content:"";flex:1 1 6px;height:1px}.log-rule:before{background:linear-gradient(90deg,transparent,rgba(180,145,84,.8))}.log-rule:after{background:linear-gradient(90deg,rgba(180,145,84,.8),transparent)}.log-row.log-result{margin:7px 0;padding:4px 6px;opacity:1;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#241a0e;background:linear-gradient(180deg,#f0cd84,#c9954a);border-radius:4px}.log-row.log-result .log-who{color:inherit}.log-row.log-illegal{color:#ff8c82c7;font-size:10.5px;font-style:italic}.log-body>.log-row:first-child{animation:fx-log-in .24s cubic-bezier(.2,.9,.3,1)}@keyframes fx-log-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}button:disabled{opacity:.4;cursor:default}.piece{position:relative;display:flex;flex:0 0 auto}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.fx-float{position:absolute;left:50%;top:2px;margin-left:calc(var(--fx-i, 0) * 18px);font-weight:800;font-size:22px;line-height:1;white-space:nowrap;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9);animation:fx-float-up .7s ease-out both;animation-delay:calc(.14s + var(--fx-i, 0) * .13s)}@keyframes fx-float-up{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}18%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}70%{opacity:1;transform:translate(-50%,-26px) scale(1)}to{opacity:0;transform:translate(-50%,-40px) scale(.95)}}.fx-float.fx-float-damage{animation-name:fx-float-hit;font-size:26px}@keyframes fx-float-hit{0%{opacity:0;transform:translate(-50%,10px) scale(.35)}11%{opacity:1;transform:translate(-50%,-3px) scale(1.55)}24%{opacity:1;transform:translate(-50%,-8px) scale(.96)}36%{opacity:1;transform:translate(-50%,-13px) scale(1.08)}70%{opacity:1;transform:translate(-50%,-28px) scale(1)}to{opacity:0;transform:translate(-50%,-44px) scale(.95)}}.fx-float-damage{color:var(--red)}.fx-float-heal{color:var(--green)}.fx-float-armor{color:#9ec5ff}.fx-float-buff{color:var(--gold);font-size:16px}.piece.fx-attacking{animation:fx-lunge .28s ease-out;z-index:10}@keyframes fx-lunge{0%{transform:translateY(0)}35%{transform:translateY(-24px) scale(1.08)}55%{transform:translateY(-16px)}to{transform:translateY(0)}}.fx-burst{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#ffc880d9 32%,#ff60487a 60%,#ff3c2800 78%);animation:fx-burst .22s ease-out both;animation-delay:calc(.12s + var(--fx-i, 0) * .13s)}@keyframes fx-burst{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(2.6)}to{opacity:0;transform:scale(4.4)}}.fx-burst-ring{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:2px solid rgba(255,214,160,.9);animation:fx-burst-ring .26s cubic-bezier(.1,.7,.3,1) both;animation-delay:calc(.12s + var(--fx-i, 0) * .13s)}@keyframes fx-burst-ring{0%{opacity:.95;transform:scale(.4);border-width:3px}to{opacity:0;transform:scale(4.2);border-width:.5px}}.fx-hit{animation:fx-hit .32s ease-out .12s both}@keyframes fx-hit{0%{filter:brightness(1);box-shadow:0 0 #ff505000}12%{filter:brightness(2.4) saturate(.5);box-shadow:0 0 0 4px #ff5a5ae6,0 0 22px 6px #ff3c3c80}to{filter:brightness(1);box-shadow:0 0 #ff505000}}.fx-healed{animation:fx-healed .38s ease-out .1s both}@keyframes fx-healed{0%{filter:brightness(1);box-shadow:0 0 #6ee7a800}20%{filter:brightness(1.5);box-shadow:0 0 0 4px #6ee7a8d9,0 0 18px 4px #6ee7a866}to{filter:brightness(1);box-shadow:0 0 #6ee7a800}}.fx-buffed{animation:fx-buffed .42s ease-out .1s both}@keyframes fx-buffed{0%{filter:brightness(1);box-shadow:0 0 #ffd16600}25%{filter:brightness(1.6) saturate(1.3);box-shadow:0 0 0 4px #ffd166e6,0 0 24px 6px #ffd16673}to{filter:brightness(1);box-shadow:0 0 #ffd16600}}.piece.fx-summoning{animation:fx-summon .32s cubic-bezier(.2,1.4,.4,1)}@keyframes fx-summon{0%{opacity:0;transform:scale(.4) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.piece.fx-summoning.from-hand{animation:fx-play-in .4s cubic-bezier(.2,.9,.3,1)}@keyframes fx-play-in{0%{opacity:.85;transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(1.5)}to{opacity:1;transform:translate(0) scale(1)}}.card.flying{animation:fx-fly-in .62s cubic-bezier(.18,.9,.26,1) backwards;animation-delay:calc(var(--deal-i, 0) * 38ms);z-index:6}@keyframes fx-fly-in{0%{opacity:.15;transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(.4) rotateY(180deg) rotate(-16deg)}18%{opacity:1}82%{transform:translateY(-9px) scale(1.07) rotateY(0) rotate(2deg)}to{transform:translate(0) scale(1) rotateY(0) rotate(0)}}.card.dealt{animation:fx-draw .26s ease-out}@keyframes fx-draw{0%{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.deck.dealing .deck-stack{animation:fx-deal .42s ease-out}@keyframes fx-deal{0%{transform:translateY(0) scale(1)}30%{transform:translateY(3px) scale(.96)}to{transform:translateY(0) scale(1)}}.card{transition:transform .18s cubic-bezier(.2,.85,.3,1),filter .13s ease}.minion.ghost{pointer-events:none;border-color:#6b2b2b;animation:fx-death .34s ease-in .18s both}@keyframes fx-death{0%{opacity:1;transform:scale(1) rotate(0);filter:grayscale(0) brightness(1)}to{opacity:0;transform:scale(.6) rotate(-12deg);filter:grayscale(1) brightness(.35)}}.table.shake{animation:fx-shake .38s ease-out}@keyframes fx-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-4px,-2px)}60%{transform:translate(4px,2px)}80%{transform:translate(-2px,1px)}}.turn-banner{position:absolute;left:0;right:0;top:46%;display:grid;place-items:center;pointer-events:none;z-index:30;animation:fx-banner 1.4s ease-out both}.turn-banner span{padding:7px 30px;font-size:19px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:linear-gradient(90deg,#0a0c1000,#0a0c10d9 22%,#0a0c10d9 78%,#0a0c1000);text-shadow:0 2px 8px rgba(0,0,0,.95)}@keyframes fx-banner{0%{opacity:0;transform:translate(-40px)}14%{opacity:1;transform:translate(0)}72%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.minion.can-act{animation:fx-ready 2.6s ease-in-out infinite}@keyframes fx-ready{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(110,231,168,.55))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 11px rgba(110,231,168,1))}}.hero.active .portrait{animation:fx-hero-active 3.4s ease-in-out infinite}@keyframes fx-hero-active{0%,to{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,209,102,.55))}50%{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,209,102,.95))}}.power-orb:not(:disabled){animation:fx-orb-ready 3s ease-in-out infinite}@keyframes fx-orb-ready{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(255,209,102,.4))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(255,209,102,.85))}}.crystal.full{animation:fx-crystal 2.2s ease-in-out infinite}@keyframes fx-crystal{0%,to{filter:drop-shadow(0 0 4px rgba(127,178,255,.75))}50%{filter:drop-shadow(0 0 9px rgba(160,205,255,1))}}.hand .card.playable:not(:hover):not(.selected):not(.flying):not(.dealt){animation:fx-playable 3.2s ease-in-out infinite}@keyframes fx-playable{0%,to{transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}50%{transform:rotate(var(--fan-rot, 0deg)) translateY(calc(var(--fan-dip, 0px) - 5px))}}.history-slot{animation:fx-history-in .26s cubic-bezier(.2,.9,.3,1)}@keyframes fx-history-in{0%{opacity:0;transform:translate(-16px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.card,.minion,.portrait{touch-action:none}.app.dragging{cursor:grabbing}.hand .card.dragging{opacity:.2;filter:grayscale(.65);transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}.drag-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.drag-card{position:absolute;width:var(--card-w);height:var(--card-h);transform:translate(-50%,-58%) scale(1.12) rotate(-3deg);font-size:calc(var(--card-w) / 13);filter:drop-shadow(0 18px 22px rgba(0,0,0,.55));transition:filter .14s ease-out}.drag-card.legal{filter:drop-shadow(0 18px 22px rgba(0,0,0,.55)) drop-shadow(0 0 15px rgba(126,240,156,.85))}.attack-arrow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.arrow-line{fill:none;stroke:#ecb25ceb;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.arrow-head{fill:#ecb25cf2;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.attack-arrow.legal .arrow-line{stroke:#7ef09cf2}.attack-arrow.legal .arrow-head{fill:#7ef09cfa}.minion.drop-hover,.hero .portrait.drop-hover{animation:fx-drop-lock .56s ease-in-out infinite}@keyframes fx-drop-lock{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(126,240,156,.9))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 20px rgba(126,240,156,1))}}.piece-slot .slot.drop-hover{border-color:var(--green);border-style:solid;background:#7ef09c42;box-shadow:inset 0 0 12px #7ef09c80}.hero .thinking{display:flex;align-items:center;gap:5px;margin-top:4px;animation:fx-thinking-in .24s ease-out}@keyframes fx-thinking-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.thinking-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#e2b25cd9}.hero .thinking .dot{width:5px;height:5px;border-radius:50%;background:var(--gold, #e2b25c);animation:fx-think-pulse 1.1s ease-in-out infinite}.hero .thinking .dot:nth-child(2){animation-delay:.16s}.hero .thinking .dot:nth-child(3){animation-delay:.32s}@keyframes fx-think-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}.foe-card.considering{transform:rotate(var(--fan-rot, 0deg)) translateY(26px) scale(1.06);filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)) drop-shadow(0 0 10px rgba(226,178,92,.55));z-index:3}.foe-card{transition:transform .2s cubic-bezier(.2,.9,.3,1),filter .2s ease-out}.held-card{position:fixed;left:50%;top:34%;width:calc(var(--card-w) * 1.18);height:calc(var(--card-h) * 1.18);transform:translate(-50%,-50%);font-size:calc(var(--card-w) * 1.18 / 13);z-index:150;pointer-events:none;filter:drop-shadow(0 22px 30px rgba(0,0,0,.7));animation:fx-held .26s cubic-bezier(.15,.9,.25,1)}@keyframes fx-held{0%{opacity:0;transform:translate(-50%,-50%) translateY(-40px) scale(.72) rotateX(35deg)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1) rotateX(0)}}.hand.locked{opacity:.62;filter:saturate(.75)}.hand.locked .card{cursor:default}.setup{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#30241a8c,#080605f0),var(--board, #0b0908);background-size:cover;background-position:center;overflow:auto;padding:24px}.setup-panel{position:relative;z-index:1;width:min(760px,100%);display:flex;flex-direction:column;gap:18px;padding:26px 30px 30px;border-radius:14px;background:linear-gradient(180deg,#16100bd1,#0a0806e6);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9);border:1px solid rgba(226,178,92,.3);box-shadow:0 30px 70px #000000b3,inset 0 1px #ffe2b01a}.setup-title{margin-bottom:4px}.setup-row h2{margin:0 0 8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#e2d6be99}.pick{display:flex;gap:10px;flex-wrap:wrap}.pick-hero,.pick-tier{flex:1 1 190px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px;cursor:pointer;border-radius:10px;border:1px solid rgba(226,178,92,.22);background:#1e1610b3;color:#ece0cee6;transition:border-color .14s,background .14s,transform .14s}.pick-tier{align-items:flex-start;text-align:left}.pick-hero:hover,.pick-tier:hover{border-color:#e2b25c99;transform:translateY(-2px)}.pick-hero.chosen,.pick-tier.chosen{border-color:var(--gold, #e2b25c);background:#3c2c1ad9;box-shadow:0 0 16px #e2b25c59}.pick-name{font-size:14px;letter-spacing:.06em}.pick-sub{font-size:11px;color:#e2d6be99}.pick-heroes{gap:14px}.pick-hero{gap:8px;padding:16px 10px 13px;border-radius:12px;border-color:#e2b25c24;background:linear-gradient(180deg,#281d1380,#0e0b089e);filter:saturate(.4) brightness(.6);opacity:.8;transition:border-color .18s ease,background .18s ease,transform .18s ease,filter .18s ease,opacity .18s ease,box-shadow .18s ease}.pick-hero:hover{filter:saturate(.8) brightness(.86);opacity:1}.pick-hero.chosen{filter:none;opacity:1;transform:translateY(-3px);border-color:#e2b25cb3;background:linear-gradient(180deg,#543c1e8c,#18110bb8);box-shadow:0 0 24px #e2b25c42,inset 0 1px #ffe1aa24}.pick-portrait{position:relative;width:var(--hero-w);height:var(--hero-h);filter:drop-shadow(0 4px 10px rgba(0,0,0,.75));transition:filter .18s ease}.pick-hero.chosen .pick-portrait{animation:fx-hero-active 3.4s ease-in-out infinite}.pick-hero .pick-name{font-size:15px;letter-spacing:.1em;text-transform:uppercase}.pick-hero.chosen .pick-name{color:var(--gold, #e2b25c)}.pick-tiers{gap:8px}.pick-tier{gap:4px;padding:11px 13px;border-radius:8px;border-color:#e2b25c1f;background:#0e0b088c;color:#ece0cead}.pick-tier.chosen{border-color:#e2b25c99;background:#342616b8;box-shadow:0 0 14px #e2b25c2e;color:#f3e6cc}.pick-tier .pick-name{letter-spacing:.1em;text-transform:uppercase;font-size:12px}.pick-tier.chosen .pick-name{color:var(--gold, #e2b25c)}.pick-tier .pick-sub{line-height:1.45}@media(max-width:620px){.setup{padding:12px}.setup-panel{padding:20px 14px 22px}.pick-heroes{gap:6px;flex-wrap:nowrap}.pick-hero{flex:1 1 0;min-width:0;padding:10px 4px 9px}.pick-portrait{width:76px;height:115px}.pick-hero .pick-name{font-size:11px;letter-spacing:.02em}.pick-hero .pick-sub{font-size:10px}}.unknown-foe{margin:0;padding:12px 14px;border-radius:10px;border:1px dashed rgba(226,178,92,.3);background:#1e161080;color:#e2d6be9e;font-size:13px;font-style:italic;text-align:center}.concede:hover:not(:disabled){color:#ffa096f2;border-color:#ff786e99}.concede.armed{color:#ffe1dc;border-color:#ff6b6be6;background:linear-gradient(180deg,#8a2620d9,#481411e6);box-shadow:0 0 10px #ff5a5073,inset 0 1px #ffc8be24}.concede:disabled{opacity:.25;cursor:default}.game-over .again{align-self:center;margin-top:4px;padding:11px 40px;cursor:pointer;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#241a0e;border:none;border-radius:8px;background:linear-gradient(180deg,#f0cd84,#c9954a);box-shadow:0 5px 16px #00000080}.game-over .again:hover{filter:brightness(1.1)}.begin{align-self:center;margin-top:6px;min-width:240px}.game-over .again{margin-top:12px}.history-slot{position:relative}.history-slot:after{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;border-radius:2px;pointer-events:none}.history-slot.mine:after{background:#7ef09cd9}.history-slot.theirs:after{background:#ff7a6ed9}.turn-clock{display:flex;align-items:center;gap:6px;width:100%;margin-top:6px}.clock-track{flex:1;height:5px;border-radius:3px;overflow:hidden;background:#00000080;border:1px solid rgba(226,178,92,.25)}.clock-fill{height:100%;transform-origin:left center;background:linear-gradient(90deg,#7ef09c,#e2b25c)}.turn-clock.urgent .clock-fill{background:linear-gradient(90deg,#ff9a5c,#ff5f52);animation:fx-rope .7s ease-in-out infinite}@keyframes fx-rope{0%,to{filter:brightness(1)}50%{filter:brightness(1.55)}}.clock-seconds{min-width:18px;font-size:12px;font-weight:700;text-align:right;color:#ff9a8f;font-variant-numeric:tabular-nums}.coinflip{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#080605d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fx-flip-in .22s ease-out}@keyframes fx-flip-in{0%{opacity:0}to{opacity:1}}.coin{width:112px;height:112px;border-radius:50%;transform-style:preserve-3d;box-shadow:0 12px 34px #0009}.coin-face{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover}.coin.spinning{animation:fx-coin-spin .42s linear infinite}@keyframes fx-coin-spin{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(180deg) translateY(-26px)}to{transform:rotateY(360deg) translateY(0)}}.coin.you,.coin.them{animation:fx-coin-land .42s cubic-bezier(.2,1.4,.4,1) both}.coin.you{box-shadow:0 0 34px #7ef09cbf,0 12px 30px #0009}.coin.them{box-shadow:0 0 34px #ff7a6eb3,0 12px 30px #0009}@keyframes fx-coin-land{0%{transform:rotateY(720deg) scale(1.15)}to{transform:rotateY(720deg) scale(1)}}.coinflip-text{margin:0;font-size:20px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold, #e2b25c)}.coinflip-sub{margin:0;font-size:12px;color:#e2d6be9e}.coinflip-skip{margin-top:10px;padding:5px 18px;cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be8c;background:transparent;border:1px solid rgba(226,214,190,.22);border-radius:6px}.coinflip-skip:hover{color:#fff0d6f2;border-color:#e2b25c99}@media(prefers-reduced-motion:reduce){.piece.fx-attacking,.piece.fx-summoning,.piece.fx-summoning.from-hand,.card.dealt,.card.flying,.table.shake,.minion.ghost,.deck.dealing .deck-stack,.preview{animation:none}.minion.selected,.minion.targetable,.hero .portrait.targetable,.minion.drop-hover,.hero .portrait.drop-hover,.hero .thinking,.hero .thinking .dot,.held-card,.foe-card.considering,.coin,.coin.spinning,.coinflip,.turn-clock.urgent .clock-fill,.minion.can-act,.hero.active .portrait,.power-orb:not(:disabled),.crystal.full,.hand .card.playable,.history-slot,.end-turn:not(:disabled){animation:none}.song-medallion,.song-medallion.song-in,.song-pip.spent,.song-socket.song-shift{animation:none}.song-ripple,.song-flare,.song-ghost{display:none}.card:hover,.minion:hover,.log-chip:hover{transform:none}.ambient-drift{animation:none;opacity:.55}.fx-burst{animation:fx-burst-still .24s ease-out both;transform:scale(2.2)}.fx-burst-ring{display:none}@keyframes fx-burst-still{0%,to{opacity:0}30%{opacity:.9}}.log-body>.log-row:first-child{animation:none}.fx-float{animation-duration:.7s}.minion.ghost{opacity:.35;filter:grayscale(1)}.turn-banner{animation:fx-banner-still 1.4s ease-out both}@keyframes fx-banner-still{0%,68%{opacity:1}to{opacity:0}}}.shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0%,#30241a80,#080605f5),#0b0908}.chrome{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid rgba(226,178,92,.18);background:linear-gradient(180deg,#0a0806b8,#0a080600)}.chrome-brand{font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold, #e2b25c);text-decoration:none}.shell-main{position:relative;z-index:0;flex:1;display:flex;justify-content:center;padding:40px 24px}.legal-footer{position:relative;z-index:1;padding:18px 24px 24px;text-align:center;font-size:12px;color:#e2d6be80}.legal-footer a{color:inherit}.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 35%,#30241a8c,#080605f0),#0b0908}.gate-panel{position:relative;z-index:1;width:min(460px,100%);display:flex;flex-direction:column;align-items:center;gap:16px;padding:34px 30px 22px;border-radius:14px;background:linear-gradient(180deg,#16100bd1,#0a0806e6);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9);border:1px solid rgba(226,178,92,.3);box-shadow:0 30px 70px #000000b3,inset 0 1px #ffe2b01a;text-align:center}.gate-title{margin-bottom:2px}.gate-line{margin:0;font-size:14px;color:#e2d6beb8}.gate-play{width:min(280px,100%);margin:2px auto 0;font-size:16px}.gate-signin{width:100%}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;height:44px;padding:0 12px;border-radius:22px;border:1px solid #8e918f;background:#131314;color:#e3e3e3;font-family:Roboto,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;text-decoration:none;box-sizing:border-box}.google-mark{width:18px;height:18px;flex:0 0 18px}.google-btn:disabled{opacity:.5}.gate-note{margin:8px 0 0;font-size:12px;color:#e2d6be80}.gate-account{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px 0}.gate-handle{font-size:15px;letter-spacing:.04em;color:var(--gold, #e2b25c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-handle-missing{color:#e2d6beb8;font-style:italic}.gate-signout{flex:0 0 auto;padding:7px 14px;border-radius:8px;border:1px solid rgba(226,178,92,.35);background:transparent;color:#ece0cedb;font-size:13px}.page-form{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%}.page{width:min(620px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.page-title{margin:0;font-size:26px;letter-spacing:.1em;color:var(--gold, #e2b25c)}.page-body{margin:0;font-size:15px;line-height:1.6;color:#ece0cedb}.page-note{margin:0;font-size:12px;color:#e2d6be80}.page-status{margin:0;font-size:15px;color:#ece0cedb}.page-action{margin-top:6px;padding:11px 20px;border-radius:8px;border:1px solid rgba(226,178,92,.45);background:#3c2c1ab3;color:#f6e6c4;font-size:14px;text-decoration:none}.page-action:disabled{opacity:.45}.placeholder-mark{margin:0;padding:8px 12px;border-radius:6px;border:1px dashed var(--red, #ff6b6b);color:var(--red, #ff6b6b);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.form-field{display:flex;flex-direction:column;gap:6px;width:min(320px,100%)}.form-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#e2d6be99}.form-input{padding:10px 12px;border-radius:8px;border:1px solid rgba(226,178,92,.28);background:#0c0907cc;color:var(--ink);font-size:15px}.form-input[aria-invalid=true]{border-color:var(--red, #ff6b6b)}.form-help{margin:0;font-size:12px;line-height:1.5;color:#e2d6be8c}.shell-main .setup{position:static;min-height:0;width:100%;padding:0;background:none}.gate-panel,.setup-panel{box-sizing:border-box;min-width:0}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.menu-scene{position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;background:url(/art/ui/menu-forge.jpg) center / cover no-repeat;transform:scale(1.06);filter:blur(6px) saturate(.95) brightness(.78)}.menu-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 66% at 50% 44%,#0000,#0605083d 56%,#020204d1),linear-gradient(180deg,#0806053d,#06050475)}.wordmark{margin:0;text-align:center;font-size:clamp(30px,4.4vw,44px);font-weight:700;line-height:1.12;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;background:linear-gradient(176deg,#fff4d8 2%,#ecc87e 26%,#b98c3f 48%,#f6e0a8 60%,#a2762f 82%,#d8b169);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 10px rgba(255,142,46,.26));animation:fx-wordmark-breathe 9s ease-in-out infinite}@media(max-width:620px){.wordmark{letter-spacing:.16em;text-indent:.16em}}@keyframes fx-wordmark-breathe{0%,to{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 8px rgba(255,142,46,.2))}50%{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 22px rgba(255,152,58,.48))}}.plaque{--plaque-h: 56px;--plaque-cap: .41;display:block;min-height:var(--plaque-h);box-sizing:border-box;padding:16px 8px;border-style:solid;border-width:0 calc(var(--plaque-h) * var(--plaque-cap));border-image-source:url(/art/ui/chrome-plaque.webp);border-image-slice:0 82 0 82 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-weight:800;font-size:15px;letter-spacing:.2em;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.8);filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:filter .14s ease,transform .1s ease;animation:fx-endturn-idle 2.4s ease-in-out infinite}.plaque:hover{animation:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(255,209,102,1));transform:scale(1.03)}.plaque:active{transform:scale(.98) translateY(1px)}.settings-scrim{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#06080c9e;z-index:45;animation:settings-scrim-in .13s ease-out both}.settings-panel{min-width:234px;padding:15px 17px 13px;display:flex;flex-direction:column;gap:7px;background:linear-gradient(180deg,#2e271ef7,#12100dfa);border:1px solid rgba(150,120,70,.5);border-radius:10px;box-shadow:0 18px 44px #000000b8,inset 0 1px #ffe2aa17;animation:settings-panel-in .17s cubic-bezier(.2,.85,.3,1) both}.settings-heading{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--gold)}.settings-switch{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;font:inherit;color:#e2d6bedb;background:#ffe2aa0d;border:1px solid rgba(150,120,70,.34);border-radius:6px;transition:color .13s ease,border-color .13s ease,background .13s ease}.settings-switch:hover{color:#ffe9c2;border-color:#ffd16699}.settings-switch .rail-icon{width:20px;height:20px}.settings-name{font-size:12px;letter-spacing:.04em;text-align:left}.settings-state{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.settings-switch[aria-checked=false],.settings-switch[aria-checked=false] .settings-state{color:#e2d6be70}.settings-panel .concede{margin-top:6px;display:block;width:100%;box-sizing:border-box}.settings-close{margin-top:2px;padding:5px 8px;cursor:pointer;font:inherit;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be9e;background:transparent;border:1px solid rgba(226,214,190,.22);border-radius:6px}.settings-close:hover{color:#ffe9c2;border-color:#e2b25c99}@keyframes settings-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes settings-panel-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}::view-transition{background:#0b0908}::view-transition-old(root),::view-transition-new(root){animation-duration:.24s;animation-timing-function:ease}@media(prefers-reduced-motion:reduce){.wordmark,.plaque,.pick-hero.chosen .pick-portrait{animation:none}.plaque:hover,.pick-hero:hover,.pick-tier:hover,.pick-hero.chosen{transform:none}.settings-scrim,.settings-panel{animation:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.12s}}
