@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&family=Noto+Serif+TC:wght@500;600;700&display=swap";@layer base,components,responsive;@layer base{:root{font-family:Noto Sans TC,sans-serif;color:#e8dec7;background:#0c1216;font-synthesis:none;font-weight:400;--gold: #cba76b;--gold-muted: #827050;--frost: #80c7ca;--ember: #d88457;--line: #bda3742b;--muted: #83918e;--serif: "Cormorant Garamond", "Noto Serif TC", Georgia, serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--frost)}input:focus,select:focus{outline:1px solid var(--gold)}button{transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s}input,select{background:#0e171c;border:1px solid #48504b;color:#e8dec7;border-radius:3px;padding:10px 12px}a{color:var(--frost)}p,h1,h2,h3{margin:0}svg{flex-shrink:0}button:disabled:hover{transform:none}::selection{background:#5d868875}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#56605a;border-radius:5px}}@layer components{.app{min-height:100dvh;background:radial-gradient(ellipse at 50% 40%,#22313645,transparent 70%),#0e1519}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#10181cf5;position:relative;z-index:20;gap:30px}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);padding:0}.sigil{width:35px;height:44px;color:var(--gold)}.brand .sigil{width:32px;height:45px}.brand>span{font-family:var(--serif);font-size:25px;letter-spacing:4px;font-weight:600;line-height:1}.brand small{display:block;font-family:"Noto Serif TC",serif;font-size:10px;letter-spacing:10px;color:#b8ad95;margin-top:8px}.topbar nav{display:flex;align-self:stretch;gap:36px;margin-left:25px;margin-right:auto}.topbar nav button{position:relative;display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:1.4px;color:#9ba6a3;padding:0 3px}.topbar nav button span{font-family:var(--serif);font-size:10px;color:#a7987a;margin-left:3px;letter-spacing:1.6px}.topbar nav button:hover,.topbar nav button.active{color:#ead5ae}.topbar nav button.active:after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.topbar-actions{display:flex;align-items:center;gap:17px}.invite-button{display:flex;align-items:center;gap:9px;font-size:12px;border:1px solid #b99a6055;border-radius:3px;padding:9px 15px;background:#c7a76b09;color:#d7c29c}.invite-button:hover{background:#c7a76b20;border-color:var(--gold)}.top-divider{height:23px;width:1px;background:var(--line);margin-left:4px}.icon-button{display:flex;align-items:center;justify-content:center;padding:8px;color:#98a5a3;border-radius:4px}.icon-button:hover{background:#ffffff0b;color:#eed8ae}.eyebrow{font-family:var(--serif);font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:600}.battle-page{max-width:1800px;margin:auto;padding:0 30px}.battle-heading{height:107px;display:flex;justify-content:space-between;align-items:center;padding:0 14px}.battle-heading h1{font-family:var(--serif);font-size:25px;letter-spacing:5px;font-weight:500;display:flex;align-items:center;gap:17px;margin-top:7px}.battle-heading h1>span{font-size:7px;color:#987f52}.battle-heading p{font-size:10px;letter-spacing:1.5px;color:#8b9490;margin-top:6px}.battle-heading p>span{padding:0 10px;color:#555e59}.match-status{display:flex;align-items:center;gap:9px;font-size:11px;color:#a4aca4;letter-spacing:1px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8bbbaa;box-shadow:0 0 7px #88bdae60}.status-dot.offline{background:#d69b60;box-shadow:none}.match-divider{height:12px;border-left:1px solid var(--line);margin:0 10px}.arena{isolation:isolate;position:relative;border:1px solid #8f79504d;border-radius:7px 7px 30px 30px;background:#182120;box-shadow:0 22px 65px #0008,inset 0 0 70px #0009}.arena:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(#08111248,#11171c03 65%,#091116),url(/art/arena.png) center 42% / cover;border-radius:inherit}.arena:after{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid #ac8d5814;border-radius:4px 4px 23px 23px;z-index:-1}.arena-atmosphere{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 5% 50%,#588e8d1a,transparent 25%),radial-gradient(ellipse at 96% 45%,#bb783219,transparent 25%);border-radius:inherit;z-index:-1}.enemy-bar{height:112px;display:flex;align-items:center;justify-content:space-between;padding:10px 36px 9px}.hero{display:flex;align-items:center;gap:14px;text-align:left;min-width:185px;padding:0}.hero-portrait{height:75px;width:60px;border:1px solid #85c8c877;background-color:#121d21;position:relative;box-shadow:0 0 0 4px #07131c99,0 0 0 5px #55757750;border-radius:22px 22px 13px 13px}.hero.ember .hero-portrait{border-color:#c7955b;box-shadow:0 0 0 4px #1a111099,0 0 0 5px #c5914944}.hero-health{position:absolute;left:50%;transform:translate(-50%);bottom:-15px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--serif);font-size:29px;font-weight:600;width:42px;height:41px;background:radial-gradient(ellipse,#253437,#0d171c);border:1px solid var(--gold-muted);clip-path:polygon(10% 0,90% 0,100% 70%,50% 100%,0 70%);line-height:1;color:#f0dfb6;text-shadow:0 2px 8px #000}.hero-health small{font-family:Noto Sans TC,sans-serif;font-size:7px;letter-spacing:1px;margin-top:1px;color:#a9a998}.hero-copy{display:flex;flex-direction:column;gap:5px;min-width:122px}.hero-copy>small{font-size:9px;letter-spacing:1px;color:#9da59a}.hero-copy>strong{font-family:var(--serif);font-size:16px;letter-spacing:2px;font-weight:500}.health-track{width:120px;height:3px;margin-top:5px;background:#74797233}.health-track>i{display:block;height:100%;background:#78b4b1;transition:width .4s}.ember .health-track>i{background:#c18a56}.hero.target .hero-portrait{box-shadow:0 0 0 4px #efb36b44,0 0 23px #ffac6d99;animation:target-pulse 1.8s infinite}.opponent-hand{height:98px;display:flex;position:absolute;left:50%;top:-5px;transform:translate(-50%);padding:0 20px}.card-back{height:90px;width:62px;border-radius:5px;background:radial-gradient(ellipse,#243a3a,#11252b 60%,#101d22);border:1px solid #92836a;box-shadow:0 0 0 2px #0d161c,inset 0 0 0 4px #102028,inset 0 0 0 5px #75858044,2px 5px 10px #0008;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.card-back:before{content:"";position:absolute;inset:10px;border:1px solid #b99a5c30;transform:rotate(45deg)}.card-back .sigil{height:43px;width:33px;opacity:.6}.opponent-hand .card-back{width:58px;height:79px;margin:0 -8px;transform:rotate(var(--card-rotation));transform-origin:50% -20px;background:radial-gradient(ellipse,#483528,#1f2224 65%);border-color:#968067}.opponent-hand>span{position:absolute;bottom:-11px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:9px;letter-spacing:2px;color:#949587}.mana-display{display:flex;align-items:center;gap:12px}.mana-orb{font-family:var(--serif);font-size:30px;width:55px;height:55px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,#3d6569,#163034 55%,#111c20);border:1px solid #8ba6a0;border-radius:50%;box-shadow:0 0 0 3px #0e2025,0 0 0 4px #a8996844,inset 0 0 8px #93e0dd20;position:relative;color:#eff6e6}.mana-orb>small{font-family:var(--serif);font-size:12px;color:#b4bca6;align-self:center;margin-top:14px;margin-left:2px}.resource-label{font-size:9px;letter-spacing:2px;color:#9ea79c}.mana-gems{display:flex;gap:5px;margin:8px 0}.mana-gems i{display:block;transform:rotate(45deg);width:7px;height:7px;border:1px solid #617977;background:#293639}.mana-gems i.filled{background:#8eced0;border-color:#c0e4d8;box-shadow:0 0 7px #66dad055}.faction-gems{display:flex;gap:12px;font-size:10px}.faction-gems>span{display:flex;align-items:center;gap:4px}.frost{--faction: #80c7ca}.ember{--faction: #d88457}.faction-gems .frost,.faction-label.frost{color:var(--frost)}.faction-gems .ember,.faction-label.ember{color:var(--ember)}.compact .mana-orb{height:45px;width:45px;font-size:25px}.compact .resource-label{display:none}.compact .mana-gems{margin-top:2px}.arena-middle{display:grid;grid-template-columns:106px minmax(0,1fr) 177px;gap:22px;padding:4px 26px 0 22px}.left-rail{display:flex;align-items:center;flex-direction:column;position:relative;padding:14px 0 2px;gap:12px}.deck-stack{position:relative;display:flex;flex-direction:column;align-items:center;width:63px}.deck-stack .card-back{width:48px;height:67px;transform:rotate(-8deg);box-shadow:3px 3px #26343a,4px 4px #9c8a66,7px 7px #1d262c,8px 8px #796d56,0 4px 12px #000;opacity:.95}.deck-stack .card-back .sigil{width:27px;height:38px}.deck-stack>span{font-size:8px;letter-spacing:1px;color:#89918b;margin-top:9px}.deck-stack>b{position:absolute;bottom:17px;right:-1px;width:25px;height:23px;background:#13222a;border:1px solid #746747;border-radius:4px;font-family:var(--serif);font-weight:500;font-size:18px;text-align:center}.graveyard{display:flex;align-items:center;gap:7px;color:#adb1a0;font-family:var(--serif);font-size:17px}.graveyard>svg{color:#82958f}.graveyard>small{font-family:Noto Sans TC;font-size:8px;color:#7a8d84}.rail-divider{display:none}.arena-mark{height:49px;position:relative;display:flex;align-items:center;justify-content:center;opacity:.6;margin:0}.arena-mark .sigil{width:23px;height:33px}.arena-mark>span{font-family:var(--serif);position:absolute;font-size:8px;background:#1b2224;color:#b59a67}.battlefield{position:relative;padding:17px 16px 6px;min-width:0;background:linear-gradient(90deg,#17232265,#24292540 48%,#22241b50);border:1px solid #ab96603a;border-radius:12% 12% 10% 10%/4% 4% 5% 5%;box-shadow:inset 0 0 25px #050c0d66,0 0 0 4px #0c151a44,0 0 0 5px #ad915215}.lane-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;height:145px;align-items:center}.lane{height:133px;position:relative;border:1px solid #a1946728;border-radius:8px 8px 12px 12px;box-shadow:inset 0 0 0 4px #111e2020,inset 0 0 0 5px #a1946711;background:#0e191421}.lane:before{content:"";position:absolute;inset:7px;border:1px solid #a1946721;border-radius:4px 4px 7px 7px;pointer-events:none}.lane-rune{position:absolute;top:-15px;left:50%;transform:translate(-50%);color:#b4a27d55;font-family:var(--serif);font-size:9px}.empty-lane{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;z-index:2;border-radius:8px}.empty-lane .sigil{width:25px;height:40px;color:#c1b07a;opacity:.16}.empty-lane span{font-size:9px;color:#c4e4d6;position:absolute;bottom:17px;letter-spacing:1px}.empty-lane:hover{background:#abc2ad0a}.lane.available{border-color:#91c7bda0;background:#95d4c718;box-shadow:0 0 13px #72cbbc12,inset 0 0 14px #82c7c12b}.lane.available .empty-lane .sigil{opacity:.6;color:#a1dfd9}.lane.available:hover{background:#89cbbc30}.unit-card{position:absolute;inset:-3px -2px -2px;z-index:4;border:1px solid #70877c;border-radius:12px 12px 16px 16px;background:#142125;box-shadow:0 0 0 2px #192429,0 0 0 3px #73857c40,0 7px 11px #0009;overflow:visible;padding:0}.unit-card:before{content:"";position:absolute;inset:3px;border:1px solid #bec4a660;border-radius:9px 9px 12px 12px;pointer-events:none;z-index:2}.unit-art{position:absolute;inset:4px;border-radius:8px 8px 10px 10px;filter:saturate(.85)}.unit-shade{position:absolute;inset:0;background:linear-gradient(transparent 43%,#09131b33 60%,#0a131e 96%);border-radius:inherit}.unit-title{position:absolute;bottom:26px;left:2px;right:2px;font-family:"Noto Serif TC",serif;font-size:9px;letter-spacing:.6px;text-shadow:0 1px 5px #000;z-index:3}.unit-keywords{position:absolute;top:5px;right:6px;display:flex;flex-direction:column;gap:2px;color:#d2d6b9;z-index:3}.unit-keywords span{width:17px;height:17px;background:#13242ec9;border:1px solid #a7996677;display:flex;align-items:center;justify-content:center;border-radius:50%}.unit-stats{display:flex;align-items:center;justify-content:space-between;position:absolute;bottom:-10px;left:4px;right:4px;z-index:6}.unit-stats>b{font-family:var(--serif);font-size:26px;font-weight:600;width:30px;height:32px;display:flex;align-items:center;justify-content:center;text-shadow:0 2px 3px #000;background:radial-gradient(ellipse,#354437,#101d21 85%);border:1px solid #b8a26d88}.attack-stat{color:#e8cc8a;clip-path:polygon(50% 0,100% 25%,85% 100%,15% 100%,0 25%)}.health-stat{color:#e8e5be;clip-path:polygon(0 0,100% 0,95% 75%,50% 100%,5% 75%)}.health-stat.hurt{color:#f28f72}.unit-state{font-size:12px;letter-spacing:2px;color:#9fbead;text-shadow:0 0 10px #80cab4}.unit-card.exhausted .unit-state{color:#b9a77a}.unit-card.ready{border-color:#a1c4b4;box-shadow:0 0 0 2px #182728,0 0 0 3px #769d9080,0 7px 11px #0009,0 0 14px #71b7b01a}.unit-card.ember{border-color:#a68a62}.unit-card:hover{transform:translateY(-5px);box-shadow:0 0 0 2px #1a282c,0 0 0 3px #bfdac37a,0 5px 20px #000}.unit-card.selected{transform:translateY(-6px);border-color:#c9e9d1;box-shadow:0 0 0 2px #73948b,0 0 26px #8bddce55}.unit-card.target{border-color:#e7bb78;box-shadow:0 0 0 2px #e9a96070,0 0 24px #ffb85c44}.terrain-art{position:absolute;inset:2px;border-radius:8px;opacity:.3}.terrain-label{position:absolute;bottom:-18px;left:0;right:0;display:flex;gap:3px;align-items:center;justify-content:center;font-size:7px;color:#a8c9b4;white-space:nowrap}.battle-divider{display:flex;align-items:center;justify-content:center;gap:10px;height:48px}.battle-divider>span{height:1px;background:linear-gradient(90deg,transparent,#bea67665);flex:1}.battle-divider>span:last-child{transform:rotate(180deg)}.battle-divider i{font-size:12px;font-style:normal;color:var(--gold-muted)}.battle-divider p{font-size:10px;letter-spacing:4px;color:#c9b58b}.board-edge{height:15px;display:flex;align-items:center;justify-content:center;gap:15px;color:#788980;font-size:8px;position:relative;bottom:-16px}.board-edge .sigil{height:26px;width:26px;background:#172123;transform:rotate(90deg)}.right-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:325px;padding-top:15px}.battle-log{width:100%;height:206px;overflow:hidden;mask-image:linear-gradient(#000 85%,transparent)}.log-heading{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px;color:#aaa78d;border-bottom:1px solid var(--line);padding-bottom:10px}.log-events{padding-top:12px;display:flex;flex-direction:column;gap:10px}.log-event{display:flex;gap:8px;animation:log-in .3s ease-out}.log-symbol{color:#b18e62;padding-top:3px;min-width:14px}.log-symbol i{font-size:6px}.log-event.yours .log-symbol{color:#8db9b0}.log-event small{font-size:8px;color:#bba984;letter-spacing:1px}.log-event.yours small{color:#90bcb3}.log-event p{font-size:9px;line-height:1.8;color:#8f9b94;margin-top:2px}.end-turn{height:108px;width:108px;border-radius:50%;border:1px solid #a68d5f;box-shadow:0 0 0 4px #152222,0 0 0 5px #a690613f,0 0 0 9px #a690610c,inset 0 0 18px #87b7a30c;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:radial-gradient(ellipse at 50% 80%,#365b534d,#182c2e 60%,#152127);color:#d5c397;margin-top:12px;position:relative}.end-turn.your-turn{border-color:#bda16d;box-shadow:0 0 0 4px #152222,0 0 0 5px #a6906155,0 0 0 9px #a690610c,0 0 32px #829e5630,inset 0 0 18px #87b7a31c}.end-turn:disabled{opacity:.65}.end-turn:hover:enabled{box-shadow:0 0 0 4px #152222,0 0 0 5px #bca877a0,0 0 35px #cca45640;transform:scale(1.025)}.end-turn strong{font-family:"Noto Serif TC";font-size:13px;letter-spacing:2px;font-weight:500}.end-turn small{font-family:var(--serif);font-size:7px;letter-spacing:1.7px;color:#939881}.end-turn>svg{height:20px;margin-bottom:2px}.turn-hint{font-size:8px;letter-spacing:1px;color:#929482;margin-top:12px}.turn-spinner{height:18px;width:18px;border:1px solid #b6a26a;border-top-color:transparent;border-radius:50%;animation:spin 2s linear infinite}.selection-panel{width:100%;min-height:201px}.selection-panel h3{font-family:"Noto Serif TC";font-size:16px;letter-spacing:2px;margin:11px 0}.selection-panel>p{font-size:10px;line-height:1.9;color:#a7b4a8}.selection-cost{display:flex;align-items:center;gap:12px;color:#bbaa84;font-size:10px;padding:12px 0}.selection-cost>span{display:flex;align-items:center;gap:4px}.selection-panel .text-button{font-size:9px;padding:7px}.selection-panel .primary-button{font-size:11px;min-height:34px;padding:7px 9px}.instruction-bar{margin:22px auto 0;height:31px;width:70%;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(90deg,transparent,#142123b3,transparent);color:#abb8aa;font-size:10px;letter-spacing:1px;position:relative}.instruction-bar>span{display:inline-block;width:4px;height:4px;background:#80806e;border-radius:50%}.instruction-bar>span.turn-indicator{background:#aedbc6;box-shadow:0 0 8px #95d1bb}.instruction-bar>button{display:flex;align-items:center;color:#a9b6ac;padding:4px}.player-area{display:grid;grid-template-columns:245px minmax(0,1fr) 173px;gap:10px;min-height:212px;align-items:center;padding:7px 31px 11px;position:relative;background:linear-gradient(180deg,transparent,#0b141b66 40%,#0b141bb3);border-radius:0 0 30px 30px}.player-profile{display:flex;flex-direction:column;gap:33px;padding:3px 0 10px}.player-profile .hero-portrait{height:63px;width:52px}.player-profile .hero-copy>strong{font-size:15px}.player-profile .hero-copy>small{font-size:8px}.player-profile .hero{gap:14px}.player-profile .mana-display{padding-left:5px;gap:16px}.player-profile .mana-orb{height:47px;width:47px;font-size:30px}.player-profile .mana-gems{margin:7px 0}.player-profile .resource-label{display:none}.hand{display:flex;justify-content:center;align-items:center;align-self:start;padding-top:7px;min-width:0;height:203px;perspective:1000px;position:relative;z-index:10}.game-card{width:131px;min-width:131px;height:187px;position:relative;padding:0;display:block;border:1px solid #86aab1;border-radius:7px 7px 9px 9px;box-shadow:0 0 0 2px #111b23,0 0 0 3px #687f7b70,0 10px 20px #0008;background:#11212a;color:#e7e4cf;text-align:left;isolation:isolate;transition:transform .23s,box-shadow .23s,filter .23s;overflow:visible}.game-card.ember{border-color:#ab7c51;background:#2b251f}.game-card:after{content:"";position:absolute;inset:3px;border:1px solid #ccd1aa45;border-radius:4px 4px 7px 7px;pointer-events:none;z-index:5}.card-illustration{position:absolute;inset:4px 4px 65px;border-radius:4px 4px 0 0}.card-vignette{position:absolute;inset:5px;background:linear-gradient(transparent 41%,#14252b80 54%,#14232d 69%);border-radius:4px;z-index:1}.ember .card-vignette{background:linear-gradient(transparent 41%,#27251c80 54%,#292822 69%)}.mana-cost{position:absolute;top:-8px;left:-8px;width:31px;height:33px;background:radial-gradient(circle at 45% 30%,#407280,#152d3b 65%);border:1px solid #9cced5;box-shadow:0 0 0 2px #10202a,0 3px 10px #0009;clip-path:polygon(50% 0,93% 22%,100% 70%,50% 100%,0 70%,7% 22%);font-family:var(--serif);font-size:25px;text-align:center;line-height:29px;font-weight:600;color:#e6f1db;z-index:10}.ember .mana-cost{background:radial-gradient(circle at 45% 30%,#ab703b,#4c301f 65%);border-color:#d6b374}.card-faction{position:absolute;right:8px;top:9px;color:var(--faction);display:flex;gap:3px;align-items:center;z-index:4;filter:drop-shadow(0 1px 3px #000)}.card-faction small{font-size:10px}.card-copy{position:absolute;z-index:3;top:105px;left:9px;right:9px}.card-copy h3{font-family:"Noto Serif TC",serif;font-size:12px;letter-spacing:1px;font-weight:600;white-space:nowrap;color:#e9e3c9;text-shadow:0 1px 2px #000}.card-type{display:block;font-size:7px;letter-spacing:.7px;color:#adbaaa;padding:4px 0;border-bottom:1px solid #a5bdb232}.card-type>span{font-size:4px;padding:0 3px;color:#bc9e69}.card-copy p{font-size:7px;line-height:1.75;color:#b9c8bd;padding-top:5px}.card-stats{position:absolute;bottom:0;left:6px;right:6px;display:flex;align-items:center;justify-content:space-between;z-index:7}.card-stats>span{display:flex;align-items:center;gap:4px;font-family:var(--serif);font-size:20px;font-weight:600;color:#e2cd95}.card-stats>span:last-child{color:#cee0bb}.card-stats svg{width:10px;height:10px;opacity:.7}.card-stats>i{font-size:6px;color:#bba272}.spell-mark{position:absolute;bottom:0;left:50%;transform:translate(-50%);z-index:7;color:#a3c0b0}.spell-mark>svg{width:13px;height:13px}.burned-mark{position:absolute;bottom:3px;right:8px;color:#e7a05b;font-size:10px;z-index:7}.hand .game-card{transform:translateY(var(--hand-y)) rotate(var(--hand-angle));margin:0 -7px;transform-origin:50% 120%;flex-shrink:1;min-width:90px}.hand .game-card.dim{filter:saturate(.65) brightness(.72)}.hand .game-card:hover,.hand .game-card.selected{transform:translateY(-34px) rotate(0) scale(1.13);z-index:30;filter:brightness(1.08);box-shadow:0 0 0 2px #162b33,0 0 0 3px #b9d4bf99,0 13px 30px #000a,0 0 25px #79c2c02b}.hand .game-card.selected{box-shadow:0 0 0 2px #284a51,0 0 0 4px #9dd2c4,0 13px 30px #000a}.hand.burn-mode .game-card{box-shadow:0 0 0 2px #24281f,0 0 0 3px #ba8b5750,0 0 18px #d492593b;filter:brightness(1)}.burn-area{display:flex;flex-direction:column;align-items:center;gap:7px;padding-bottom:8px}.burn-button{width:61px;height:61px;border:1px solid #967546;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,#84562d3f,#24281f 65%,#1b2423);box-shadow:0 0 0 4px #10191d,0 0 0 5px #75684e44;display:flex;align-items:center;justify-content:center;color:#c5a66d;margin-bottom:4px}.burn-button:hover:enabled,.burn-button.active{background:radial-gradient(ellipse,#99704775,#3b3422 65%);box-shadow:0 0 0 4px #10191d,0 0 0 5px #b9946088,0 0 27px #dbaa4e33;color:#efd296}.burn-area>strong{font-size:11px;letter-spacing:2px;font-weight:400;color:#c8b993}.burn-area>small{font-size:8px;color:#8d988a;display:flex;align-items:center;gap:3px}.empty-hand{color:#96a99a;font-size:11px;align-self:center}.battle-footer{height:45px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#677a74;padding:0 12px}.battle-footer>span{display:flex;align-items:center;gap:6px}.battle-footer>span>i{font-style:normal;margin:0 5px}.battle-footer>button{display:flex;align-items:center;gap:7px;font-size:9px;color:#a89b7d}.primary-button,.secondary-button,.danger-button{width:100%;min-height:43px;border:1px solid #a58c575e;background:linear-gradient(135deg,#40504a,#293b37);color:#eddfb8;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;letter-spacing:1.5px;border-radius:3px;padding:11px 18px}.primary-button:hover:enabled{background:linear-gradient(135deg,#53635b,#354b45);border-color:#c0a676}.secondary-button{background:#19282c;border-color:#4b5e5666;color:#b8c5b6}.secondary-button:hover{background:#24363a}.danger-button{background:#4b2c2745;color:#d8aa90;border-color:#a475573f}.danger-button:hover{background:#6b3b3260}.text-button{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#afae95;padding:12px;margin:auto}.text-button:hover{color:#e0c58d}.fine-print{color:#85988d;font-size:9px;line-height:1.9;text-align:center;letter-spacing:.6px}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#060e15c9;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;padding:24px;animation:log-in .2s}.modal{width:460px;max-width:100%;max-height:90dvh;overflow-y:auto;border:1px solid #9c85524f;border-radius:6px;background:radial-gradient(ellipse at 50% 0,#30413b60,transparent 75%),#121e24;box-shadow:0 20px 100px #0009,inset 0 0 0 5px #80917c05;position:relative;padding:33px 34px 26px;outline:none}.modal.wide{width:655px}.modal-close{position:absolute;right:15px;top:15px}.modal>h2{font-family:"Noto Serif TC";font-size:25px;letter-spacing:3px;font-weight:500;margin:10px 0 20px}.modal-intro{font-size:11px;line-height:2;color:#acb7a7;margin-bottom:22px}.segmented{display:flex;border:1px solid #7585772f;background:#0c181d80;border-radius:4px;padding:3px;gap:3px}.segmented>button{padding:9px 13px;font-size:11px;color:#91a498;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:2px;white-space:nowrap}.segmented>button.active{background:#50645a44;color:#e3d6b2;box-shadow:inset 0 0 0 1px #a194622b}.segmented>button:hover{background:#6f867423}.lobby-tabs{margin:0 0 21px}.lobby-tabs>button{flex:1}.field-label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#b9c2af;letter-spacing:1px;margin-bottom:17px}.field-label>input{width:100%;font-size:12px;padding:11px 12px}.faction-options{display:flex;gap:12px;margin:-4px 0 17px}.faction-options>button{flex:1;border:1px solid #7c887b33;padding:14px 8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border-radius:3px}.faction-options>button.chosen{border-color:var(--faction);background:color-mix(in srgb,var(--faction) 8%,transparent)}.faction-options>button>svg{color:var(--faction)}.faction-options b{font-family:"Noto Serif TC";font-size:12px;letter-spacing:1px;font-weight:500}.faction-options small{font-size:9px;color:#8ea498}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:11px;margin:10px 0 24px;color:#a9b6a7}.checkbox-label small{color:#809485;font-size:9px}.checkbox-label input{accent-color:#a7ba98}.modal form+.fine-print{margin-top:18px}.form-error{background:#84473822;border:1px solid #a36e483d;padding:10px;font-size:11px;line-height:1.8;color:#dcad88;margin-bottom:15px}.waiting-content{text-align:center;display:flex;align-items:center;flex-direction:column}.waiting-content>.sigil{width:60px;height:85px;margin:0 0 12px}.waiting-content>p{font-size:11px;line-height:1.8;color:#a7b7a7}.room-code{font-family:var(--serif);font-size:42px;letter-spacing:8px;color:#e4c996;border:1px dashed #a6955b55;width:100%;padding:12px 0;margin:22px 0}.waiting-players{width:100%;display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--line);padding:20px 0;margin-top:22px}.waiting-players>span{display:flex;align-items:center;justify-content:center;gap:8px;color:#a4b5a6;font-size:11px}.waiting-screen{min-height:calc(100dvh - 78px);background:linear-gradient(#0e17198c,#0e1719e8),url(/art/arena.png) center/cover;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.waiting-screen>.sigil{height:100px;width:75px}.waiting-screen h1{font-family:"Noto Serif TC";font-size:32px;letter-spacing:4px;font-weight:500}.waiting-screen p{color:#a8bba7;font-size:12px;max-width:450px;text-align:center;line-height:2}.waiting-screen>.primary-button{max-width:230px;margin-top:15px}.rules-intro{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;color:#adbbac;font-size:12px;line-height:2.1}.rules-intro>.sigil{width:41px;height:59px;opacity:.75}.rules-list{padding:8px 0 20px}.rules-list>div{display:flex;gap:17px;padding:13px 0}.rules-list>div>span{font-family:var(--serif);font-size:26px;color:#ad9867}.rules-list h3{font-size:13px;font-weight:500;letter-spacing:1px;color:#dacdab;margin:2px 0 6px}.rules-list p{font-size:11px;line-height:2;color:#9eb0a1}.setting-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:17px 0}.setting-row>span{display:flex;align-items:center;gap:12px;font-size:12px;color:#b8c5b6}.setting-row svg{color:#afbd9c}.toggle{height:23px;width:43px;border-radius:15px;background:#35413d;border:1px solid #65746750;padding:3px}.toggle>i{height:15px;width:15px;display:block;background:#a6b6a2;border-radius:50%;transition:transform .2s}.toggle.on{background:#637961;border-color:#9dab8550}.toggle.on>i{transform:translate(18px);background:#e2ddb3}.settings-actions{display:flex;flex-direction:column;gap:12px;padding:24px 0}.card-detail{display:flex;gap:27px;align-items:center;padding:12px 0}.card-detail>.game-card{flex-shrink:0;transform:scale(1.05);transform-origin:left center;margin-right:8px}.card-detail>div p{font-size:11px;line-height:2;color:#acbfae;margin-top:15px;text-align:left}.faction-label{display:flex;align-items:center;gap:6px;font-size:11px}.toast{position:fixed;z-index:100;bottom:29px;left:50%;transform:translate(-50%);padding:13px 17px;display:flex;align-items:center;gap:12px;border:1px solid #a791566b;background:#23312fed;color:#e2d2ad;border-radius:4px;box-shadow:0 6px 40px #0009;font-size:12px;max-width:90vw;animation:log-in .25s}.toast>span{color:#bfb377;font-size:7px}.toast>button{display:flex;color:#c3bba0;padding:3px;margin-left:4px}.result-overlay{position:fixed;inset:78px 0 0;background:radial-gradient(ellipse,#253936eb,#0b1419f5);backdrop-filter:blur(9px);z-index:45;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.result-overlay>.sigil{width:75px;height:105px}.result-overlay>h1{font-family:"Noto Serif TC";font-size:43px;color:#e6cc9c;letter-spacing:6px;font-weight:500}.result-overlay>p{font-size:12px;color:#a8b5a1;margin-bottom:17px}.result-overlay>button{max-width:260px}.spin{animation:spin 1.2s linear infinite}.collection-page{max-width:1580px;margin:auto;padding:42px 45px 70px;min-height:calc(100dvh - 78px);background:radial-gradient(ellipse at 75% 0,#35433a26,transparent 60%)}.collection-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.collection-heading h1{font-family:"Noto Serif TC";font-weight:500;font-size:30px;letter-spacing:4px;margin:9px 0 11px}.collection-heading p{font-size:12px;letter-spacing:1px;color:#8fa395}.collection-total{display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:19px;color:#c9b68e}.collection-total>small{display:block;font-family:Noto Sans TC;font-size:10px;color:#90a18f;border-left:1px solid var(--line);padding-left:13px;margin-left:6px}.collection-filters{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin-bottom:30px}.search{display:flex;align-items:center;gap:7px;background:#101d22;border:1px solid #4a5e533d;border-radius:3px;padding:0 9px;color:#7b9184;margin-left:auto;max-width:210px}.search input{border:none;background:none;min-width:0;width:100%;padding:10px 0;font-size:11px;outline:none}.collection-filters>select{font-size:10px;max-width:115px;border-color:#4a5e533d}.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 27px;padding:6px}.collection-item{display:flex;align-items:center;flex-direction:column;min-width:0}.collection-item .game-card{width:100%;height:auto;aspect-ratio:131/187;min-width:0;max-width:180px}.collection-item .card-illustration{bottom:35%}.collection-item .card-copy{top:55%;left:8%;right:8%}.collection-item .card-copy h3{font-size:clamp(11px,1vw,16px)}.collection-item .card-copy p{font-size:clamp(7px,.6vw,10px)}.collection-item .card-type{font-size:8px;padding:6px 0}.collection-item .card-stats{bottom:3px}.collection-item .card-stats>span{font-size:24px}.collection-item .game-card:hover{transform:translateY(-8px);box-shadow:0 0 0 2px #1b3137,0 0 0 3px #99bca05f,0 15px 25px #0008}.collection-layout{display:grid;grid-template-columns:minmax(0,1fr)}.deck-editor .collection-layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px}.deck-editor .collection-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.deck-editor .collection-filters{flex-wrap:wrap;gap:9px}.deck-editor .segmented>button{font-size:10px;padding:8px}.deck-editor .search{max-width:170px}.deck-editor .collection-filters>select{padding:8px;font-size:10px}.quantity-control{display:flex;align-items:center;justify-content:center;gap:19px;margin-top:16px}.quantity-control>button{padding:4px;display:flex;border:1px solid #7a89654d;border-radius:50%;color:#d1c397}.quantity-control>span{font-family:var(--serif);font-size:15px;letter-spacing:2px;color:#8ea18f}.deck-panel{border:1px solid var(--line);background:linear-gradient(#1e302f99,#11202466);padding:24px 20px;border-radius:5px;align-self:start;position:sticky;top:22px;max-height:90dvh;overflow:auto}.deck-panel h2{font-family:"Noto Serif TC";font-size:19px;font-weight:500;letter-spacing:1px;margin:10px 0 16px;display:flex;justify-content:space-between;align-items:center}.deck-panel h2>span{font-family:var(--serif);font-size:26px}.deck-panel h2 small{font-size:14px;color:#91a191;margin-left:2px}.complete{color:#aad3b5}.incomplete{color:#ddaa73}.deck-presets{display:flex;gap:8px;margin:16px 0}.deck-presets>button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;font-size:9px;padding:9px 3px;border:1px solid #7f8c6e42;border-radius:3px}.deck-presets>button:hover{background:#7a906521}.deck-list{display:flex;flex-direction:column;gap:3px;max-height:355px;overflow-y:auto}.deck-row{display:flex;align-items:center;gap:9px;background:#7687690d;border-bottom:1px solid #8a997712;font-size:10px;min-height:30px}.deck-row>b{width:24px;background:#649b9e24;text-align:center;height:26px;line-height:26px;font-family:var(--serif);font-size:16px;color:#a6d0c8;font-weight:500}.deck-row>span{margin-right:auto;color:#bbc6ac}.deck-row>button{padding:3px;display:flex;color:#9ea786}.deck-row>small{font-family:var(--serif);font-size:14px;color:#cdb582;padding-right:7px}.mana-curve{display:flex;align-items:flex-end;gap:8px;height:91px;border-bottom:1px solid var(--line);margin:12px 0 11px}.mana-curve>div{display:flex;flex:1;flex-direction:column;gap:5px;text-align:center}.mana-curve span{display:block;background:linear-gradient(#91b4a5,#48665e);max-height:68px}.mana-curve small{font-size:9px;color:#7d9786}.deck-panel>.primary-button{margin-top:15px}.empty-results{padding:50px;text-align:center;font-size:13px;color:#93a88f}.reduce-motion *{animation:none!important;transition:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes log-in{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@keyframes target-pulse{50%{filter:brightness(1.3)}}}@layer responsive{@media(max-width:700px){.player-area .hand{padding-left:20px;padding-right:8px}.player-area .hand .game-card{margin-inline:clamp(-23px,calc(-3px - var(--hand-count) * 2px),-13px)}.right-rail .selection-panel .text-button{display:flex;padding:4px;font-size:8px}}@media(min-width:1550px){.battle-page{padding:0 45px}.arena-middle{grid-template-columns:125px minmax(0,1fr) 202px;gap:30px}.lane-row{height:170px;gap:17px}.lane{height:153px}.unit-title{font-size:11px}.player-area{grid-template-columns:265px minmax(0,1fr) 202px;min-height:240px}.game-card{width:146px;height:210px;min-width:146px}.card-copy{top:118px}.card-copy h3{font-size:14px}.card-copy p{font-size:8px}.card-illustration{bottom:73px}.hand{height:225px;padding-top:12px}.hand .game-card{margin:0 -4px}.right-rail{min-height:360px}.end-turn{height:121px;width:121px}.battle-log{height:226px}.enemy-bar{height:120px}}@media(max-width:1200px){.topbar{padding:0 22px;gap:20px}.topbar nav{gap:22px;margin-left:0}.brand>span{font-size:21px;letter-spacing:3px}.topbar-actions{gap:9px}.battle-page{padding:0 18px}.arena-middle{grid-template-columns:72px minmax(0,1fr) 132px;gap:14px;padding:4px 20px 0 12px}.battlefield{padding:15px 10px 6px}.lane-row{gap:7px;height:131px}.lane{height:119px}.unit-title{font-size:8px;letter-spacing:0}.unit-stats>b{font-size:22px;width:25px;height:28px}.right-rail{min-height:304px}.battle-log{height:184px}.end-turn{height:95px;width:95px}.end-turn strong{font-size:12px}.end-turn small{font-size:6px}.log-event p{font-size:8px}.player-area{grid-template-columns:211px minmax(0,1fr) 139px;padding:9px 23px;gap:4px}.hand .game-card{margin:0 -13px}.player-profile .hero-copy{min-width:100px}.hero-copy>strong{font-size:14px}.hero-copy>small{font-size:8px}.hero-copy .health-track{width:100px}.player-profile .hero{gap:11px}.hero{min-width:160px}.hero-portrait{width:53px;height:67px}.enemy-bar{padding-left:28px;padding-right:28px}.collection-page{padding:35px 30px}.collection-grid{gap:30px 20px;grid-template-columns:repeat(5,minmax(0,1fr))}.deck-editor .collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.deck-editor .collection-layout{gap:24px;grid-template-columns:minmax(0,1fr) 260px}.collection-item .card-copy p{font-size:9px}.collection-item .card-copy h3{font-size:13px}.deck-editor .search{margin-left:0}}@media(max-height:840px)and (min-width:1050px){.topbar{height:67px}.battle-heading{height:86px}.battle-heading h1{font-size:23px}.enemy-bar{height:93px}.hero-portrait{height:61px;width:50px}.opponent-hand{height:82px}.opponent-hand .card-back{height:66px;width:48px}.opponent-hand .sigil{height:34px;width:24px}.arena-middle{padding-top:2px}.lane-row{height:125px}.lane{height:114px}.battlefield{padding-top:14px}.battle-divider{height:41px}.right-rail{min-height:284px}.battle-log{height:171px}.end-turn{width:91px;height:91px;margin-top:4px}.turn-hint{margin-top:9px}.left-rail{gap:9px;padding-top:9px}.deck-stack .card-back{height:53px;width:39px}.deck-stack>span{font-size:7px}.arena-mark{height:35px}.instruction-bar{margin-top:15px;height:28px}.player-area{min-height:182px;padding-top:0}.hand{height:177px;padding-top:6px}.hand .game-card{width:119px;height:171px;min-width:85px}.hand .card-copy{top:95px}.hand .card-copy h3{font-size:11px}.hand .card-copy p{font-size:6.8px}.hand .card-type{font-size:6px;padding:4px 0}.hand .card-stats{bottom:-1px}.hand .card-stats>span{font-size:18px}.player-profile{gap:26px}.player-profile .hero-portrait{width:44px;height:51px}.player-profile .mana-orb{height:40px;width:40px;font-size:25px}.player-profile .hero-health{height:36px;width:37px;font-size:26px}.battle-footer{height:34px}.result-overlay{top:67px}}@media(max-width:1000px){.topbar{height:69px;padding:0 20px;gap:14px}.topbar nav{gap:18px}.topbar nav button{font-size:11px;letter-spacing:.5px;gap:5px}.topbar nav button span{display:none}.brand>span{font-size:18px;letter-spacing:2px}.brand .sigil{width:25px}.brand{gap:8px}.topbar-actions{gap:4px}.invite-button{font-size:10px;padding:8px 10px;gap:6px}.top-divider{display:none}.topbar-actions>.icon-button:last-child{display:none}.battle-heading{height:100px}.battle-heading h1{font-size:22px}.match-status{font-size:9px;gap:7px}.battle-page{padding:0 13px}.arena-middle{grid-template-columns:54px minmax(0,1fr) 94px;gap:10px;padding-left:8px;padding-right:15px}.battle-log{display:none}.right-rail{justify-content:center;padding:0;gap:8px;min-height:270px}.end-turn{height:81px;width:81px}.end-turn strong{font-size:11px;letter-spacing:1px}.end-turn small{font-size:5.5px;letter-spacing:1px}.turn-hint{font-size:7px;text-align:center;line-height:2}.selection-panel{padding:0 0 12px;min-height:0}.selection-panel .eyebrow{display:none}.selection-panel h3{font-size:12px;letter-spacing:1px}.selection-panel p{font-size:8px}.selection-cost{font-size:8px;gap:6px;flex-wrap:wrap;padding:6px 0}.selection-panel .text-button{font-size:8px;padding:5px}.selection-panel .primary-button{padding:7px 3px;font-size:9px;gap:2px}.lane-row{gap:6px;height:119px}.lane{height:106px}.lane:before{inset:5px}.unit-title{font-size:7px;bottom:22px}.unit-stats>b{font-size:21px;width:23px;height:26px}.unit-stats{left:1px;right:1px;bottom:-8px}.unit-keywords span{width:14px;height:14px}.unit-keywords svg{width:10px}.unit-state{font-size:8px}.battlefield{padding:15px 8px 5px}.battle-divider{height:40px}.battle-divider p{font-size:8px;letter-spacing:3px}.battle-divider{gap:7px}.left-rail{gap:10px}.deck-stack .card-back{height:48px;width:35px}.deck-stack .sigil{height:28px;width:23px}.deck-stack>span{font-size:7px}.deck-stack>b{font-size:15px;width:21px;height:20px;right:6px}.graveyard{font-size:14px;gap:4px}.graveyard svg{width:13px}.graveyard small{display:none}.arena-mark{height:29px}.enemy-bar{height:108px;padding:9px 23px}.hero-copy{min-width:90px}.hero-copy>strong{font-size:13px;letter-spacing:1px}.hero-copy>small{font-size:7px;letter-spacing:.5px}.hero-copy .health-track{width:90px}.hero{min-width:145px;gap:10px}.hero-portrait{width:46px;height:62px}.compact .mana-orb{height:40px;width:40px;font-size:23px}.compact .mana-gems{gap:4px}.compact .mana-gems i{width:5px;height:5px}.compact .faction-gems{font-size:9px}.compact{gap:9px}.opponent-hand .card-back{height:66px;width:45px}.opponent-hand{height:80px;padding:0}.player-area{grid-template-columns:157px minmax(0,1fr) 101px;min-height:203px;padding:5px 17px 14px;gap:2px}.player-profile .hero{gap:10px}.player-profile .hero-portrait{width:39px;height:53px}.player-profile .hero-copy>strong{font-size:12px}.player-profile .hero-copy>small{font-size:7px}.player-profile .hero-copy{min-width:86px}.player-profile .mana-display{gap:12px;padding-left:2px}.player-profile .mana-orb{width:38px;height:38px;font-size:25px}.player-profile .mana-gems{gap:4px}.player-profile .mana-gems i{width:6px;height:6px}.hero-health{font-size:26px;width:36px;height:37px}.hand .game-card{width:117px;height:172px;min-width:73px;margin:0 -17px}.hand .card-copy{top:94px;left:7px;right:7px}.hand .card-copy h3{font-size:10px;letter-spacing:.3px}.hand .card-copy p{font-size:6px}.hand .card-type{font-size:6px;padding:4px 0}.hand .card-stats{bottom:1px}.hand .card-stats>span{font-size:18px}.hand .mana-cost{width:26px;height:28px;font-size:21px;line-height:25px}.hand{height:175px;padding-top:11px}.burn-button{height:49px;width:49px}.burn-area strong{font-size:10px;letter-spacing:1px}.burn-area small{font-size:7px;letter-spacing:0}.instruction-bar{width:80%;font-size:8px;letter-spacing:.5px;height:34px;margin-top:17px}.battle-footer{font-size:7px}.battle-footer>span:nth-child(2){display:none}.collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.deck-editor .collection-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.deck-editor .collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 16px}.deck-editor .card-copy h3{font-size:10px}.deck-editor .card-copy p{font-size:7px}.deck-editor .card-type{font-size:6px}.collection-filters{flex-wrap:wrap}.collection-heading h1{font-size:25px}.collection-total{font-size:16px}.collection-total small{display:none}}@media(max-width:700px){.topbar{height:auto;min-height:109px;flex-wrap:wrap;padding:13px 17px 0;gap:4px 10px}.brand>span{font-size:20px}.brand .sigil{width:27px;height:38px}.brand small{font-size:8px;margin-top:6px;letter-spacing:9px}.topbar-actions{margin-left:auto;gap:6px;align-self:flex-start;padding-top:4px}.topbar nav{order:3;width:100%;height:44px;gap:32px;justify-content:center;margin:5px 0 0}.topbar nav button{font-size:11px}.topbar-actions>.icon-button:last-child{display:flex}.topbar-actions>.icon-button{padding:6px}.invite-button{font-size:9px;padding:7px}.invite-button svg{width:13px}.battle-page{padding:0 8px;overflow:hidden}.battle-heading{height:91px;padding:0 7px}.battle-heading .eyebrow{font-size:7px;letter-spacing:2px}.battle-heading h1{font-size:19px;letter-spacing:3px;margin-top:7px}.battle-heading p{font-size:8px;letter-spacing:.5px}.battle-heading p>span{padding:0 6px}.match-status{font-size:8px;gap:5px}.match-divider{margin:0 3px}.match-status>.icon-button{display:none}.arena{border-radius:7px 7px 15px 15px}.enemy-bar{height:97px;padding:7px 13px 15px;align-items:flex-end}.hero{min-width:123px;gap:8px}.hero-portrait{width:35px;height:45px;border-radius:12px 12px 7px 7px}.hero-copy>strong{font-size:10px}.hero-copy>small{font-size:6px;letter-spacing:0}.hero-copy{min-width:72px;gap:4px}.hero-copy .health-track{width:69px;margin-top:2px}.hero-health{width:29px;height:28px;font-size:21px;bottom:-11px}.hero-health small{font-size:5px}.opponent-hand{left:51%;top:2px;height:52px}.opponent-hand .card-back{height:41px;width:29px;margin:0 -6px;border-radius:2px}.opponent-hand .sigil{width:16px;height:24px}.opponent-hand>span{font-size:6px;bottom:-2px;letter-spacing:1px}.compact .mana-orb{width:30px;height:30px;font-size:19px}.compact{gap:7px}.compact .mana-orb small{font-size:9px;margin-top:8px}.compact .mana-gems{gap:4px;margin-bottom:6px}.compact .mana-gems i{width:4px;height:4px}.compact .faction-gems{font-size:7px;gap:7px}.compact .faction-gems svg{width:9px;height:9px}.arena-middle{display:flex;flex-wrap:wrap;padding:8px 10px 0;gap:8px}.left-rail{display:none}.battlefield{width:100%;padding:16px 9px 6px}.lane-row{height:89px;gap:5px}.lane{height:78px;border-radius:5px}.lane:before{inset:4px}.empty-lane .sigil{width:17px;height:27px}.empty-lane span{font-size:6px;bottom:8px;letter-spacing:0}.unit-card{border-radius:7px 7px 10px 10px;inset:-1px}.unit-card:before{inset:2px;border-radius:5px}.unit-art{inset:3px;border-radius:4px}.unit-title{font-size:5.6px;bottom:18px;left:1px;right:1px}.unit-keywords{top:3px;right:3px;gap:0}.unit-keywords span{width:12px;height:12px}.unit-keywords svg{width:8px;height:8px}.unit-stats>b{font-size:17px;width:20px;height:22px}.unit-stats{left:0;right:0;bottom:-7px}.unit-state{font-size:6px;letter-spacing:1px}.battle-divider{height:37px}.battle-divider p{font-size:8px;letter-spacing:3px}.lane-rune{font-size:8px;top:-14px}.board-edge{height:12px;bottom:-13px}.board-edge .sigil{width:20px;height:22px}.terrain-label{font-size:5px;bottom:-15px;gap:1px}.terrain-label svg{width:7px}.right-rail{flex-direction:row;min-height:63px;height:63px;width:100%;padding:6px 3px 0;justify-content:space-between;gap:4px;position:relative}.right-rail .turn-hint{font-size:8px;margin:0;order:-1;text-align:left;color:#a79a79;max-width:100px;letter-spacing:0}.end-turn{width:125px;height:35px;border-radius:3px;flex-direction:row;gap:8px;padding:0;margin:0;box-shadow:0 0 0 2px #08151c,0 0 0 3px #ad965040}.end-turn.your-turn{box-shadow:0 0 0 2px #08151c,0 0 0 3px #ad965040}.end-turn strong{font-size:10px;letter-spacing:2px}.end-turn>small{display:none}.end-turn>svg{height:16px;width:16px;margin:0}.turn-spinner{height:14px;width:14px}.selection-panel{position:absolute;left:0;right:140px;min-height:0;max-height:58px;top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:0 9px;background:#18252ce6;padding:0}.selection-panel h3{font-size:11px;margin:2px 0}.selection-panel>p,.selection-cost,.selection-panel .text-button{display:none}.selection-panel .primary-button{width:auto;height:28px;min-height:28px;font-size:9px;padding:4px 9px}.selection-panel+.end-turn{margin-left:auto}.selection-panel~.turn-hint{visibility:hidden}.instruction-bar{margin-top:2px;width:94%;height:30px;font-size:7px;letter-spacing:0;gap:5px}.player-area{grid-template-columns:1fr 69px;grid-template-rows:187px 71px;padding:2px 12px 10px;gap:0}.player-profile{grid-row:2;grid-column:1/-1;flex-direction:row;gap:0;justify-content:space-between;padding:5px 4px 0;align-items:center}.player-profile .hero-portrait{width:36px;height:43px}.player-profile .hero-copy>strong{font-size:11px}.player-profile .hero-copy>small{font-size:6px}.player-profile .hero{gap:10px}.player-profile .mana-display{padding:0;gap:10px}.player-profile .mana-orb{height:33px;width:33px;font-size:22px}.player-profile .mana-orb>small{font-size:10px;margin-top:10px}.player-profile .mana-gems{gap:4px;margin:4px 0 6px}.player-profile .mana-gems i{height:5px;width:5px}.player-profile .faction-gems{font-size:8px;gap:10px}.player-profile .faction-gems svg{width:10px;height:10px}.hand{grid-row:1;grid-column:1;justify-content:center;padding:18px 4px 0;height:170px;overflow:visible;margin-right:5px}.hand .game-card{width:93px;height:148px;min-width:58px;margin:0 -17px;transform:translateY(calc(var(--hand-y) * .7)) rotate(var(--hand-angle))}.hand .game-card:hover,.hand .game-card.selected{transform:translateY(-27px) rotate(0) scale(1.2)}.hand .card-copy{top:80px;left:5px;right:5px}.hand .card-copy h3{font-size:8px;letter-spacing:.1px}.hand .card-copy p{font-size:5.5px;line-height:1.7;padding-top:4px}.hand .card-type{font-size:5px;letter-spacing:0;padding:3px 0}.hand .card-illustration{inset:3px 3px 59px}.hand .card-stats{bottom:1px;left:5px;right:5px}.hand .card-stats>span{font-size:15px;gap:2px}.hand .card-stats svg{width:8px;height:8px}.hand .mana-cost{width:23px;height:25px;left:-6px;top:-6px;font-size:19px;line-height:22px}.hand .card-faction{top:6px;right:6px;gap:1px}.hand .card-faction svg{width:10px;height:10px}.hand .card-faction small{font-size:7px}.hand .spell-mark{bottom:0}.hand .spell-mark svg{width:10px}.burn-area{grid-column:2;grid-row:1;padding-top:25px;gap:7px}.burn-button{width:41px;height:41px}.burn-button svg{height:19px;width:19px}.burn-area strong{font-size:8px;letter-spacing:.5px}.burn-area small{font-size:6px;text-align:center;line-height:1.7;max-width:60px}.battle-footer{height:36px;font-size:7px;letter-spacing:0;padding:0 3px}.battle-footer>button{font-size:8px;gap:4px}.collection-page{padding:26px 18px 50px}.collection-heading{margin-bottom:25px}.collection-heading h1{font-size:22px;letter-spacing:3px}.collection-heading p{font-size:9px;line-height:1.7;letter-spacing:.5px}.collection-total{font-size:13px;gap:5px;white-space:nowrap}.collection-total>svg{width:14px}.collection-filters{gap:9px;padding:12px 0;margin-bottom:24px}.collection-filters .segmented{width:100%}.collection-filters .segmented>button{flex:1;padding:8px 5px;font-size:10px}.search{max-width:none;flex:1;margin-left:0}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px;padding:4px}.collection-item .card-copy h3{font-size:9px;letter-spacing:.5px}.collection-item .card-copy p{font-size:6px;padding-top:4px}.collection-item .card-type{font-size:5px;padding:3px 0}.collection-item .card-stats>span{font-size:17px}.collection-item .card-stats svg{width:8px}.collection-item .mana-cost{width:25px;height:28px;font-size:21px;line-height:26px}.collection-item .card-faction svg{width:11px}.collection-item .card-faction{right:7px;top:7px}.deck-editor .collection-layout{display:flex;flex-direction:column}.deck-editor .collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 16px}.deck-panel{position:relative;top:0;width:100%;max-height:none}.deck-editor .card-copy h3{font-size:9px}.deck-editor .card-copy p{font-size:6px}.deck-editor .card-type{font-size:5px}.deck-editor .search{max-width:none}.deck-list{max-height:240px}.quantity-control{gap:12px;margin-top:13px}.quantity-control span{font-size:12px}.quantity-control>button{padding:3px}.quantity-control svg{width:10px;height:10px}.modal{padding:27px 23px 22px;max-height:90dvh}.modal>h2{font-size:22px;letter-spacing:2px}.modal-backdrop{padding:15px}.modal.wide{width:100%}.rules-intro p,.rules-list p{font-size:10px}.rules-list>div{gap:12px;padding:11px 0}.rules-list h3{font-size:12px}.card-detail{gap:22px}.card-detail>.game-card{width:119px;min-width:119px;height:177px;transform:none}.card-detail>.game-card .card-copy{top:99px}.card-detail>.game-card .card-copy h3{font-size:10px}.card-detail>div p{font-size:10px}.faction-label{font-size:9px}.toast{bottom:17px;font-size:10px;padding:10px 12px;gap:8px;min-width:240px;text-align:left;line-height:1.8}.result-overlay{top:109px;padding:25px}.result-overlay>h1{font-size:30px;letter-spacing:4px}.result-overlay>p{font-size:10px;line-height:2;text-align:center}.waiting-screen{min-height:calc(100dvh - 109px);padding:25px}.waiting-screen h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-height:760px)and (min-width:1001px){.topbar{height:58px}.brand>span{font-size:22px}.brand .sigil{height:37px}.battle-heading{height:66px}.battle-heading h1{font-size:20px;margin-top:5px}.battle-heading .eyebrow{font-size:8px}.battle-heading p{font-size:8px;margin-top:4px}.enemy-bar{height:77px}.hero-portrait{height:49px;width:41px}.hero-copy>strong{font-size:13px}.hero-copy>small{font-size:7px}.hero-health{font-size:23px;width:33px;height:32px;bottom:-12px}.hero-health small{font-size:6px}.opponent-hand{height:65px}.opponent-hand .card-back{height:54px;width:40px}.opponent-hand .sigil{height:29px}.opponent-hand>span{font-size:8px;bottom:-3px}.compact .mana-orb{height:37px;width:37px;font-size:23px}.lane-row{height:103px}.lane{height:91px}.unit-title{font-size:8px;bottom:22px}.unit-stats>b{height:27px;width:25px;font-size:22px}.unit-stats{bottom:-8px}.battle-divider{height:32px}.battlefield{padding:15px 14px 4px}.right-rail{min-height:250px;padding-top:8px}.battle-log{height:148px}.end-turn{height:79px;width:79px;margin-top:3px;gap:2px}.end-turn strong{font-size:11px;letter-spacing:1px}.end-turn small{font-size:6px;letter-spacing:1px}.end-turn>svg{height:18px}.turn-hint{margin-top:8px;font-size:7px}.left-rail{padding-top:5px;gap:7px}.deck-stack .card-back{height:42px;width:31px}.deck-stack .card-back .sigil{height:25px;width:20px}.deck-stack>span{font-size:7px}.deck-stack>b{font-size:14px;width:20px;height:20px;right:7px}.graveyard{font-size:13px}.graveyard svg{height:12px;width:12px}.graveyard small{font-size:7px}.arena-mark{height:22px}.arena-mark .sigil{height:25px}.instruction-bar{height:25px;margin-top:12px;font-size:9px}.player-area{min-height:158px;padding-top:0;padding-bottom:5px}.hand{height:152px;padding-top:5px}.hand .game-card{height:149px;width:109px;min-width:80px}.hand .card-copy{top:79px}.hand .card-illustration{bottom:64px}.hand .card-copy h3{font-size:10px}.hand .card-copy p{font-size:6px;line-height:1.5;padding-top:3px}.hand .card-type{font-size:6px;padding:3px 0}.hand .card-stats>span{font-size:16px}.hand .mana-cost{font-size:22px;width:27px;height:29px;line-height:26px}.hand .game-card:hover,.hand .game-card.selected{transform:translateY(-28px) rotate(0) scale(1.17)}.player-profile{gap:21px;padding-bottom:3px}.player-profile .hero-portrait{height:43px;width:36px}.player-profile .hero-health{font-size:23px;width:33px;height:31px}.player-profile .mana-orb{height:35px;width:35px;font-size:23px}.player-profile .mana-orb small{margin-top:10px;font-size:10px}.player-profile .mana-gems{margin:5px 0}.burn-button{height:48px;width:48px}.burn-button>svg{height:22px}.burn-area>strong{font-size:10px}.burn-area>small{font-size:7px}.battle-footer{height:27px;font-size:7px}.selection-panel{min-height:144px}.selection-panel h3{font-size:13px;margin:7px 0}.selection-panel p{font-size:9px}.selection-cost{padding:8px 0}.result-overlay{top:58px}}}@layer components{.unit-motion,.unit-hit,.unit-presence{position:absolute;inset:0}.unit-motion{z-index:4;--effect-color: #a7eff1}.unit-motion.ember{--effect-color: #ffc180}.lane:has(.is-hit){z-index:20}.lane:has(.is-attacking){z-index:30}.unit-motion.is-attacking{z-index:30;animation:card-strike .6s cubic-bezier(.2,.75,.25,1) both}.combat-playing .unit-card{pointer-events:none}.combat-playing .unit-card:hover{transform:none}.unit-hit.is-hit{animation:card-recoil .33s var(--impact-at) ease-out both}.unit-hit.is-hit .unit-card{animation:card-hit-light .37s var(--impact-at) ease-out both}.unit-hit.is-blocked .unit-card{--effect-color: #c1e7f2}.unit-presence.is-dying{animation:card-death .46s var(--death-at) ease-in both}.combat-impact{position:absolute;inset:-10%;pointer-events:none;z-index:45;color:var(--effect-color, #ffce94)}.impact-ring{position:absolute;inset:12% -5%;border-radius:50%;border:2px solid currentColor;box-shadow:0 0 18px currentColor,inset 0 0 16px currentColor;animation:impact-ring .42s var(--impact-at) ease-out both}.impact-cut{position:absolute;left:48%;top:10%;width:3px;height:80%;background:linear-gradient(transparent,#fff9da 25%,currentColor 70%,transparent);box-shadow:0 0 14px currentColor;--cut-angle: 38deg;animation:impact-cut .28s var(--impact-at) ease-out both}.impact-cut.second{--cut-angle: -42deg;height:58%;top:20%}.damage-number{position:absolute;top:20%;left:50%;color:#fff0d2;font-family:var(--serif);font-size:clamp(26px,3vw,46px);font-weight:700;white-space:nowrap;text-shadow:0 2px 2px #371409,0 0 6px #441409,0 0 20px #e57937;animation:damage-rise .78s var(--impact-at) cubic-bezier(.15,.7,.25,1) both}.blocked .damage-number{color:#d4f5ff;font-family:inherit;font-size:clamp(14px,1.7vw,22px);letter-spacing:2px;text-shadow:0 2px 3px #052733,0 0 15px #a2e6ff}.blocked .impact-cut{display:none}.death-fragments{position:absolute;inset:0;pointer-events:none;z-index:35}.death-fragment{position:absolute;inset:4px;border-radius:8px;filter:saturate(.6) sepia(.25);animation:card-shatter .54s var(--death-at) ease-out both}.shard-0{clip-path:polygon(0 0,54% 0,41% 42%,0 30%);--shard-x: -25px;--shard-y: -32px;--shard-turn: -20deg}.shard-1{clip-path:polygon(54% 0,100% 0,100% 42%,41% 42%);--shard-x: 23px;--shard-y: -26px;--shard-turn: 16deg}.shard-2{clip-path:polygon(0 30%,41% 42%,55% 65%,0 74%);--shard-x: -33px;--shard-y: 0px;--shard-turn: -25deg}.shard-3{clip-path:polygon(41% 42%,100% 42%,100% 75%,55% 65%);--shard-x: 35px;--shard-y: 8px;--shard-turn: 23deg}.shard-4{clip-path:polygon(0 74%,55% 65%,42% 100%,0 100%);--shard-x: -20px;--shard-y: 36px;--shard-turn: -13deg}.shard-5{clip-path:polygon(55% 65%,100% 75%,100% 100%,42% 100%);--shard-x: 26px;--shard-y: 42px;--shard-turn: 18deg}.death-rune{position:absolute;inset:20% 0;text-align:center;color:var(--effect-color);font:70px var(--serif);text-shadow:0 0 24px currentColor;animation:soul-release .55s var(--death-at) ease-out both}.combat-hero-hit .hero-portrait{overflow:visible;animation:hero-recoil .34s var(--impact-at) ease-out both}.combat-hero-hit .combat-impact{--effect-color: #ffd398}.combat-reduced .combat-impact .damage-number{animation:none!important;opacity:1;transform:translate(-50%)}.combat-reduced,.combat-reduced *{animation:none!important}.combat-reduced .impact-ring,.combat-reduced .impact-cut,.combat-reduced .death-fragments{display:none}@keyframes card-strike{0%{transform:translate(0) scale(1)}22%{transform:translate(calc(var(--strike-x) * -.08),calc(var(--strike-y) * -.08)) scale(1.055)}50%{transform:translate(var(--strike-x),var(--strike-y)) scale(1.08);filter:drop-shadow(0 0 12px var(--effect-color))}62%{transform:translate(calc(var(--strike-x) * .82),calc(var(--strike-y) * .82)) scale(1.025)}to{transform:translate(0) scale(1)}}@keyframes card-recoil{0%{transform:translate(0) rotate(0)}18%{transform:translate(6px,1px) rotate(3deg)}42%{transform:translate(-5px,-1px) rotate(-2deg)}68%{transform:translate(2px) rotate(1deg)}to{transform:none}}@keyframes card-hit-light{0%,to{filter:brightness(1)}18%{filter:brightness(1.65);box-shadow:0 0 0 2px #fff0b5,0 0 26px var(--effect-color)}}@keyframes impact-ring{0%{opacity:0;transform:scale(.25)}12%{opacity:.9}to{opacity:0;transform:scale(1.25)}}@keyframes impact-cut{0%{opacity:0;transform:rotate(var(--cut-angle)) scaleY(.15)}15%{opacity:1}to{opacity:0;transform:rotate(var(--cut-angle)) scaleY(1.1)}}@keyframes damage-rise{0%{opacity:0;transform:translate(-50%,14px) scale(.6)}13%{opacity:1;transform:translate(-50%,-5px) scale(1.15)}35%{opacity:1;transform:translate(-50%,-13px) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-55px) scale(.92)}}@keyframes card-death{0%{opacity:1;filter:brightness(1);transform:scale(1)}30%{opacity:.5;filter:brightness(1.5) saturate(.3);transform:scale(.96)}to{opacity:0;filter:brightness(.5) saturate(0);transform:translateY(16px) scale(.8)}}@keyframes card-shatter{0%{opacity:0;transform:none}15%{opacity:.85}to{opacity:0;transform:translate(var(--shard-x),var(--shard-y)) rotate(var(--shard-turn)) scale(.7)}}@keyframes soul-release{0%{opacity:0;transform:scale(.45)}25%{opacity:.8}to{opacity:0;transform:translateY(-40px) scale(1.1)}}@keyframes hero-recoil{0%,to{transform:none;filter:brightness(1)}20%{transform:translate(5px);filter:brightness(1.5)}45%{transform:translate(-4px)}70%{transform:translate(2px)}}}
