:root{font-synthesis:none;--bg:#0c161c;--text:#edf1e8;--muted:#a3b4b6;--mint:#a8dbb0;--gold:#e4c88a;--line:#ffffff19;--surface:#213137;--panel:#14242a;--life:#f0b7ac;--mana:#a4d7e8;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 75% 20%, #23443f66, transparent 65%), var(--bg);min-width:360px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:7px;min-height:44px;transition:border-color .15s,background .15s,transform .15s}button:hover:not(:disabled){border-color:var(--mint);background-color:#304741}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button.primary{background:var(--mint);color:#14261f;border-color:var(--mint);padding:12px 26px;font-weight:750}button.primary:hover:not(:disabled){background:#c8efd0}button.primary:disabled{color:#d6dfd9;background:#52655b;border-color:#0000}.subtle{background:0 0;padding:9px 14px}.muted,.small,small{color:var(--muted)}.small{font-size:13px;line-height:1.8}h1,h2,p{margin-top:0}.eyebrow{color:var(--gold);letter-spacing:.16em;font-size:11px;font-weight:650}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;padding:0 4%;display:flex}.brand{text-align:left;letter-spacing:.15em;background:0 0;border:0;align-items:center;gap:13px;padding:0;font-size:12px;display:flex}.brand small{letter-spacing:.35em;margin-top:5px;font-size:12px;display:block}.brand-sigil{color:var(--gold);font-size:37px}.topbar nav{align-items:center;gap:12px;display:flex}.build-label{color:var(--muted);margin-right:20px;font-size:11px}.lobby{grid-template-columns:1fr 1fr;align-items:center;max-width:1280px;min-height:calc(100vh - 84px);margin:auto;padding:80px 40px;display:grid}.lobby-copy{z-index:1}.save-recovery{border:1px solid var(--gold);background:var(--surface);border-radius:10px;max-width:500px;margin-bottom:24px;padding:18px}.save-recovery h2{color:var(--gold);font-size:18px}.save-recovery p{font-size:14px;line-height:1.7}.recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.lobby h1{letter-spacing:.15em;margin:22px 0;font-family:ui-serif,Georgia,serif;font-size:clamp(44px,6vw,76px)}.intro{margin-bottom:14px;font-size:21px}.lobby .muted{line-height:1.8}.hero-choice{border-block:1px solid var(--line);gap:22px;max-width:460px;margin:34px 0;padding:22px 0;display:flex}.hero-choice h2{margin:6px 0 8px;font-size:23px}.hero-choice p{color:var(--muted);margin:0;font-size:13px}.hero-glyph{color:var(--mint);background:#a8dbb00b;border:1px solid #a8dbb033;border-radius:28px 5px;place-items:center;width:85px;font-size:65px;display:grid}button.enter{justify-content:space-between;width:min(100%,360px);margin-bottom:16px;padding:17px 25px;font-size:17px;display:flex}.scope{color:var(--muted);margin-top:32px;font-size:12px}.lobby-art{isolation:isolate;place-items:center;height:510px;display:grid;position:relative}.orbit{border:1px solid #a8dbb033;border-radius:35px;width:380px;height:380px;position:absolute;transform:rotate(45deg)}.orbit.outer{opacity:.6;border-style:dashed;border-radius:50%;width:440px;height:440px}.orbit.inner:before,.orbit.inner:after{content:"";background:var(--gold);width:12px;height:12px;position:absolute;top:-6px;left:-6px;box-shadow:0 0 28px #e4c88a55}.orbit.inner:after{inset:auto -6px -6px auto}.crystal{color:var(--mint);text-shadow:0 0 100px #a8dbb040;font-size:220px;animation:6s ease-in-out infinite breathe}.coordinate{color:var(--muted);letter-spacing:.2em;font-size:10px;line-height:2;position:absolute;bottom:0;right:0}.battle-layout{grid-template-columns:215px minmax(0,1fr);gap:22px;max-width:1600px;margin:auto;padding:24px 28px;display:grid}.history{border-right:1px solid var(--line);padding-right:20px}.history h2{margin-bottom:24px;font-size:17px}.history ol{max-height:680px;margin:0 0 20px;padding:0;list-style:none;overflow-y:auto}.history li{color:#b5c3c2;border-bottom:1px solid #ffffff0a;padding:10px 0;font-size:12px;line-height:1.7}.history li:first-child{color:var(--mint)}.history li span{color:var(--muted);letter-spacing:.12em;font-size:9px;display:block}.arena{background:radial-gradient(at 50% 25%,#2e493822,#0000 65%);min-width:0}.hero-row{border:1px solid var(--line);background:#132228cc;border-radius:10px;align-items:center;gap:16px;min-height:96px;padding:10px 14px;display:flex}.hero-portrait{width:68px;height:68px;color:var(--mint);background:#223c35;border-radius:24px 5px;flex-shrink:0;font-size:46px}.enemy .hero-portrait{color:#d5c2eb;background:#342d40}.hero-meta{flex-direction:column;gap:3px;display:flex}.hero-meta .eyebrow{font-size:10px}.hero-meta strong{font-size:15px}.life{color:var(--life);font-size:21px;font-weight:700}.life small{font-size:12px;font-weight:400}.resource{flex-direction:column;align-items:center;gap:3px;margin-left:auto;display:flex}.resource>strong{color:var(--mana);font-size:25px}.resource small{font-size:14px}.resource>span{color:var(--muted);font-size:10px}.mana-dots{gap:3px;margin-top:3px;display:flex}.mana-dots i{border:1px solid #ffffff25;width:7px;height:7px;transform:rotate(45deg)}.mana-dots .filled{background:var(--mana);border-color:var(--mana)}.mana-dots .spent{background:#365465}.mana-dots .locked{border-color:var(--gold);background:#7b5738}.pile-info{color:var(--muted);flex-direction:column;gap:9px;margin-inline:12px;font-size:12px;display:flex}.pile-info b{color:var(--text);margin-left:6px}.card-backs{justify-content:center;width:130px;padding-right:14px;display:flex}.card-backs i{width:29px;height:44px;color:var(--gold);background:#273a3f;border:1px solid #647879;border-radius:3px;place-items:center;margin-right:-14px;font-style:normal;display:grid}.power{border-color:#a8dbb066;grid-template-columns:30px 1fr;gap:2px 6px;min-width:140px;padding:8px 13px;display:grid}.power span{color:var(--mint);grid-row:span 2;font-size:30px}.power strong{font-size:13px}.power small{font-size:10px}.power:disabled{opacity:.5}.board{justify-content:center;align-items:center;gap:8px;min-height:168px;padding:12px 0;display:flex}.unit-entry{position:relative}.unit{background:linear-gradient(145deg,#31443e,#18292e);border:1px solid #668178;border-radius:20px 5px;flex-direction:column;flex:0 112px;align-items:center;width:112px;min-width:0;height:137px;padding:6px 6px 25px;display:flex;position:relative;overflow:hidden}.unit.guard-unit{background:linear-gradient(145deg,#405449,#18292e);border-width:2px 2px 5px;border-color:#e4c88aaa;border-radius:28px 28px 52px 52px/18px 18px 38px 38px;padding-inline:9px;box-shadow:inset 0 -8px 15px #d4b96f24,0 3px #6d5c36}.unit-symbol{color:var(--mint);font-size:32px;line-height:1.35}.unit-art{background:#20342f;border-radius:13px 3px 5px;flex:auto;place-items:center;width:100%;min-height:0;margin-bottom:5px;display:grid;position:relative;overflow:hidden}.unit-art img,.card-art img{z-index:1;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.unit-art i,.card-art i{font-style:normal}.unit-art i{color:var(--mint);font-size:28px}.unit strong{z-index:2;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#07110ed9 48%);padding:8px 2px 2px;font-size:12px;position:absolute;bottom:21px;left:4px;right:4px;overflow:hidden}.unit-tags{z-index:2;color:#ffe8aa;text-overflow:ellipsis;white-space:nowrap;background:#07110ecc;border-radius:99px;max-width:calc(100% - 10px);padding:2px 5px;font-size:9px;position:absolute;top:5px;left:5px;overflow:hidden}.unit-description{z-index:3;opacity:0;color:#f4f4e9;background:#071510ed;place-items:center;padding:12px 9px 24px;font-size:10px;line-height:1.45;transition:opacity .15s;display:grid;position:absolute;inset:0}.unit:focus-visible .unit-description{opacity:1}@media (hover:hover){.unit:hover .unit-description{opacity:1}}.unit-stats{z-index:6;pointer-events:none;justify-content:space-between;font-size:15px;display:flex;position:absolute;bottom:-4px;left:2px;right:2px}.unit-stats b{background:#102026f2;border:1px solid #ffffff2e;border-radius:50%;min-width:34px;padding:3px 5px;box-shadow:0 2px 7px #0008}.unit-stats .attack-stat{color:#ead499}.unit-stats .health-stat{color:#d6ddcb}.unit-stats b.wounded{color:#ffad9f}.death-mark{z-index:7;color:#ddd0e9;background:#231b2bea;border:1px solid #a998b8;border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;display:grid;position:absolute;bottom:-3px;left:50%;transform:translate(-50%);box-shadow:0 2px 7px #0008}.unit.shielded{box-shadow:inset 0 0 0 3px #e4c88a40}.unit.stealthed{border-style:dashed;border-color:#bba9dd;box-shadow:inset 0 0 12px #ae9bc766}.unit.frozen{border-color:#9de0f8;box-shadow:inset 0 0 14px #6bbada88}.unit.silenced .unit-art{filter:grayscale(.75)}.unit.can-act{border-bottom:4px solid var(--mint)}.targetable{outline:2px dashed var(--gold);outline-offset:3px;border-color:var(--gold)}.target-selected,.slot[aria-pressed=true],.power[aria-pressed=true],.selected{outline:2px solid var(--mint);outline-offset:2px;background-color:#314d42}.slot{min-width:24px;height:70px;color:var(--gold);border:1px dashed var(--gold);background:#e4c88a08;flex:0 32px;padding:0;font-size:25px}.empty-board{color:#99ada488;text-align:center;letter-spacing:.15em;margin:0;font-size:12px}.empty-board span{word-spacing:20px;color:#c3d0c322;margin-top:12px;font-size:20px;display:block}.turn-line{border-block:1px solid var(--line);min-height:38px;color:var(--gold);align-items:center;gap:14px;font-size:11px;display:flex}.turn-line>span:first-child{padding-left:12px;font-size:17px}.turn-line>span:last-child{color:var(--muted);margin-left:auto;padding-right:14px}.input-bar{align-items:center;gap:10px;padding:14px 0;display:flex}.input-bar p{color:var(--mint);flex:1;margin:0;font-size:12px}.end-turn{border-color:var(--gold);color:var(--gold);white-space:nowrap;padding:12px 20px;font-size:13px}.end-turn:disabled{opacity:.45;border-color:var(--line)}.end-turn span{margin-left:12px}.hand{scrollbar-width:thin;scrollbar-color:#637e71 transparent;gap:10px;min-height:224px;padding:8px 4px 12px;display:flex;overflow-x:auto}.card{text-align:center;background:linear-gradient(145deg,#2b3d3e,#17272c);border:1px solid #586a67;border-radius:9px;flex-direction:column;align-items:stretch;width:135px;min-width:135px;height:203px;padding:9px;display:flex;position:relative}.card-cost{z-index:2;color:#d0f1fb;background:#193743;border:1px solid #91cadd;border-radius:7px 2px;place-items:center;min-width:26px;height:28px;font-size:18px;font-weight:700;display:grid;position:absolute;top:6px;left:7px}.card-art{color:#b8cbb2;border-bottom:1px solid var(--line);background:radial-gradient(#b2dda822,#0000 70%);border-radius:5px 5px 2px 2px;flex-shrink:0;place-items:center;height:72px;margin-bottom:6px;font-size:44px;display:grid;position:relative;overflow:hidden}.card-art img{object-position:center 35%}.card-art.art-spell{color:#c3b9e6;background:radial-gradient(#c3b9e622,#0000 70%)}.card>strong{font-size:13px}.card-kind{color:var(--gold);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:3px 0 7px;font-size:9px;overflow:hidden}.card-text{color:#c3cfcd;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:0;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-stats{color:#e3d3a0;flex-shrink:0;justify-content:space-between;margin-top:auto;padding:3px 4px 0;font-size:15px;display:flex}.card-stats b:last-child{color:#e6c7bd}.card.playable{border-color:var(--mint);box-shadow:0 0 10px #a8dbb012}.hand .card:hover{transform:translateY(-4px)}.battle-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;font-size:10px;display:flex}.battle-footer .subtle{font-size:12px}.mulligan{text-align:center;max-width:950px;margin:65px auto;padding:0 20px}.mulligan h1{margin:15px 0;font-size:36px}.mulligan .muted{font-size:14px;line-height:1.8}.mulligan-cards{flex-wrap:wrap;justify-content:center;gap:24px;margin:40px 0;display:flex}.mulligan .card{width:160px;height:238px}.mulligan .card-art{height:88px}.replace-badge{background:var(--gold);color:#182820;border-radius:3px;padding:5px;font-size:11px;font-weight:700;position:absolute;bottom:-13px;left:20px;right:20px}.mulligan .replace{outline-color:var(--gold)}.result{text-align:center;background:linear-gradient(100deg,#243c32,#182a2f);border:1px solid #e4c88a88;border-radius:8px;margin-bottom:20px;padding:24px}.result h1{color:var(--gold);letter-spacing:.12em;margin:8px 0 12px;font-size:36px}.result p{font-size:13px}.result .subtle{margin-left:12px}dialog{color:inherit;background:var(--panel);border:1px solid #6b897b;border-radius:14px;width:min(960px,100% - 32px);max-height:85vh;padding:24px}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040e16cc}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.dialog-head h2{margin:0;font-size:22px}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:16px;margin-top:25px;display:grid}.collection-grid .card{width:100%}.search{color:var(--muted);align-items:center;gap:15px;font-size:13px;display:flex}.search input{color:#edf1e8;background:#0e1a20;border:1px solid #6b897b;border-radius:5px;width:min(350px,65%);padding:12px}.guide-text{color:#d3dfd9;line-height:2.2}.motion-setting{align-items:center;gap:10px;padding:10px 0;display:flex}.motion-setting input{width:24px;height:24px;accent-color:var(--mint)}.storage-warning{text-align:center;color:var(--gold);padding:14px;font-size:12px}@keyframes breathe{50%{opacity:.75;transform:scale(1.03)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1200px){.battle-layout{grid-template-columns:170px minmax(0,1fr);gap:15px;padding:18px}.unit{height:127px}.unit strong{font-size:10px}.board{gap:6px}.lobby-art{transform:scale(.8)}}@media (width<=960px){.history{display:none}.battle-layout{display:block}.lobby{padding:50px 30px}.lobby-art{transform:scale(.65)}.build-label{display:none}}@media (width<=700px){.topbar{gap:8px;height:70px;padding:0 16px}.brand{letter-spacing:.04em;gap:8px;font-size:9px}.brand-sigil{font-size:28px}.brand small{font-size:10px}.topbar nav{gap:5px}.topbar .subtle{padding:8px;font-size:11px}.lobby{min-height:0;padding:45px 24px;display:block;position:relative;overflow:hidden}.lobby-copy{position:relative}.lobby h1{font-size:48px}.lobby-art{opacity:.15;z-index:0;pointer-events:none;position:absolute;top:10px;right:-150px}.intro{font-size:17px}.lobby-copy>.muted{font-size:13px}.battle-layout{padding:12px 8px}.hero-row{gap:8px;min-height:82px;padding:8px}.hero-portrait{border-radius:15px 4px;width:44px;height:54px;font-size:34px}.hero-meta strong{font-size:12px}.hero-meta .eyebrow{letter-spacing:.04em;font-size:8px}.life{font-size:18px}.pile-info{gap:5px;margin:0;font-size:10px}.card-backs{display:none}.resource>strong{font-size:20px}.resource small{font-size:11px}.mana-dots{gap:2px}.mana-dots i{width:5px;height:5px}.power{flex-direction:column;align-items:center;gap:3px;min-width:58px;padding:7px;display:flex}.power span{display:none}.power strong{font-size:10px}.power small{font-size:8px}.board{justify-content:flex-start;min-height:146px;padding-inline:5px;overflow-x:auto}.unit{flex:0 0 82px;height:124px}.slot{flex:0 0 26px}.empty-board{margin:auto;font-size:10px}.empty-board span{word-spacing:12px}.input-bar{flex-wrap:wrap;gap:7px}.input-bar p{flex-basis:100%;min-height:17px;font-size:11px}.input-bar .end-turn{margin-left:auto}.input-bar .primary{padding:10px;font-size:12px}.hand{gap:9px;min-height:217px}.hand .card{width:125px;min-width:125px}.battle-footer>span:nth-child(2){display:none}.mulligan{margin:35px auto}.mulligan h1{font-size:28px}.mulligan-cards{gap:22px 12px;margin:28px 0}.mulligan .card{width:143px;min-width:143px;height:215px}.mulligan .card-art{height:65px}dialog{padding:18px}.search{display:block}.search input{width:100%;margin-top:10px;display:block}}select{font:inherit;color:inherit;background:#14242a;border:1px solid #6b897b;border-radius:6px;width:100%;min-height:44px;padding:8px}select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.lobby-copy{min-width:0}.deck-setup{border:1px solid var(--line);border-radius:10px;min-width:0;max-width:500px;margin:0 0 20px;padding:16px}.deck-setup legend{color:var(--gold);padding:0 6px}.deck-choice{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;margin-bottom:14px;display:grid}.deck-choice label{font-size:13px}.deck-choice select{margin-top:6px}.deck-choice button{font-size:12px}.deck-choice p{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px;line-height:1.7}.deck-setup>p{margin:0}.lobby-actions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.lobby-actions .enter{margin:0}.mana-curve{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.mana-curve li{text-align:center;background:#263b39;border-radius:6px;gap:8px;min-width:44px;padding:10px;display:grid}.mana-curve li span{color:var(--gold)}.deck-advice{border-left:2px solid var(--gold);padding:0 12px;line-height:1.8}.deck-advice h3{color:var(--gold);margin-bottom:4px;font-size:15px}.deck-advice p{margin-top:4px}.deck-advice ul{padding-left:20px}.ai-style{max-width:180px;color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.5}.deck-list{padding:0;list-style:none}.deck-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.tutorial-panel{border:1px solid var(--gold);background:#213630;border-radius:10px;margin-bottom:18px;padding:18px}.tutorial-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.tutorial-heading h1{margin:0;font-size:22px}.tutorial-heading label{min-width:150px;font-size:12px}.tutorial-heading select{margin:5px 0 12px}.tutorial-panel p{line-height:1.8}.tutorial-hint{color:var(--gold);font-size:15px}.tutorial-actions{flex-wrap:wrap;gap:8px;display:flex}.tutorial-actions button{font-size:12px}.unit-entry{flex:0 112px;min-width:72px}.unit-entry .unit{width:100%}.hand-entry{flex-direction:column;flex:none;gap:6px;display:flex}.detail-trigger{width:100%;min-height:44px;color:var(--muted);background:0 0;margin-top:4px;font-size:12px}.mulligan .detail-trigger{margin-top:10px}.card-detail{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:24px;display:grid}.card-detail .card{width:160px;height:230px}.detail-copy{min-width:0}.detail-copy p,.detail-copy li{line-height:1.8}.detail-copy dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 16px;display:grid}.detail-copy dt{color:var(--muted)}.detail-copy dd{overflow-wrap:anywhere;margin:0}.detail-copy ul{padding-left:20px;font-size:13px}.mobile-export{display:none}@media (width<=960px){.mobile-export{display:block}}@media (width<=700px){.unit-entry{flex:0 0 82px}.tutorial-panel{padding:12px}.tutorial-heading{display:block}.tutorial-heading h1{margin-bottom:10px;font-size:20px}.card-detail{grid-template-columns:1fr;gap:16px}.card-detail>.card{margin:auto}.dialog-head{gap:10px}.dialog-head h2{font-size:18px}.dialog-head button{flex-shrink:0}.detail-copy dl{font-size:13px}}.builder-dialog{width:min(1000px,100vw - 32px)}.deck-builder{min-width:0;line-height:1.7}.deck-builder label{gap:4px;min-width:0;font-size:13px;display:grid}.deck-builder input,.deck-builder textarea{width:100%;min-width:0;min-height:44px;color:inherit;font:inherit;background:#14242a;border:1px solid #6b897b;border-radius:6px;padding:10px}.deck-builder textarea{resize:vertical}.deck-builder textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.deck-builder button:disabled{opacity:.45}.deck-builder h3{color:var(--gold);font-size:16px}.builder-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.builder-actions button{font-size:13px}.builder-library{max-height:240px;padding:0;list-style:none;overflow:auto}.builder-library li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.builder-editor,.builder-import{border:1px solid var(--line);background:#162b28;border-radius:10px;margin:16px 0;padding:16px}.builder-message,.builder-count{color:var(--gold)}.builder-filters{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.builder-catalog,.builder-chosen{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.builder-chosen{max-height:320px;overflow:auto}.builder-card{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:start;gap:8px;min-width:0;padding:10px 4px;display:flex}.builder-card h4,.builder-card p{margin:0 0 5px}.builder-card h4{font-size:14px}.builder-card-actions{flex-shrink:0;gap:4px;display:flex}.builder-card-actions button{width:44px;padding:0}@media (width<=700px){.builder-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-catalog,.builder-chosen{grid-template-columns:minmax(0,1fr)}.builder-editor,.builder-import{padding:10px}.deck-builder .mana-curve{gap:4px}.deck-builder .mana-curve li{min-width:40px;padding:6px}}body.in-battle{min-width:0;height:100dvh;min-height:0;overflow:hidden}.in-battle #app{grid-template-rows:58px minmax(0,1fr);height:100%;display:grid}.in-battle .topbar{height:58px;min-height:0;padding:0 clamp(10px,2vw,28px)}.in-battle .brand-sigil{font-size:29px}.in-battle .brand small{margin-top:1px}.in-battle .topbar nav{gap:8px}.speed-setting{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.speed-setting select{width:auto;min-height:34px;padding:4px 25px 4px 7px;font-size:11px}.in-battle .storage-warning{z-index:150;border:1px solid var(--gold);background:#14242aee;border-radius:6px;width:min(92vw,700px);padding:8px;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.in-battle .battle-layout,.in-battle .opening-layout{width:100%;max-width:1680px;height:100%;min-height:0;margin:auto;padding:clamp(6px,1vh,12px) clamp(8px,1.5vw,22px);overflow:hidden}.in-battle .battle-layout{display:block}.in-battle .arena{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.in-battle .hero-row{flex:0 0 clamp(54px,8.5vh,74px);gap:10px;min-height:0;padding:5px 10px}.in-battle .hero-portrait{width:clamp(42px,6vh,54px);height:clamp(42px,6vh,54px);font-size:clamp(28px,4vh,37px)}.in-battle .life{font-size:clamp(16px,2.5vh,20px)}.in-battle .resource>strong{font-size:clamp(17px,2.7vh,22px)}.in-battle .pile-info{gap:3px}.in-battle .board{flex:90px;gap:clamp(2px,.45vw,7px);height:auto;min-height:58px;padding:4px 2px;overflow:visible}.in-battle .unit-entry{flex:0 clamp(62px,8vw,105px);min-width:0;height:min(100%,118px);position:relative}.in-battle .unit{border-radius:14px 4px;width:100%;height:100%;min-height:48px;padding:5px}.in-battle .unit-symbol{font-size:clamp(18px,3.2vh,29px)}.in-battle .unit-tags{margin-top:2px}.in-battle .unit-entry .detail-trigger,.in-battle .hand-entry .detail-trigger{z-index:5;color:#0000;background:#0b171dcc;border-radius:50%;width:25px;height:25px;min-height:25px;margin:0;padding:0;position:absolute;top:3px;right:3px;overflow:hidden}.in-battle .unit-entry .detail-trigger{opacity:0;transition:opacity .15s}.in-battle .unit-entry:hover .detail-trigger,.in-battle .unit-entry:focus-within .detail-trigger{opacity:1}@media (hover:none){.in-battle .unit-entry .detail-trigger{opacity:1}}.in-battle .unit-entry .detail-trigger:after,.in-battle .hand-entry .detail-trigger:after{content:"i";color:var(--muted);font:700 12px ui-serif,serif}.in-battle .slot{flex:0 25px;min-width:13px;height:min(54px,70%)}.in-battle .turn-line{flex:0 0 26px;min-height:0}.in-battle .input-bar{flex:0 0 43px;min-height:0;padding:3px 0}.in-battle .input-bar button{min-height:36px;padding-block:7px}.in-battle .hand{isolation:isolate;flex:0 0 clamp(116px,20vh,174px);justify-content:center;align-self:center;gap:0;width:min(100%,1120px);min-height:0;padding:5px 28px 3px;overflow:visible}.in-battle .hand-entry{flex:1 1 0;min-width:32px;max-width:128px;height:100%;transition:transform .15s;position:relative}.in-battle .hand-entry:hover,.in-battle .hand-entry:focus-within{z-index:20;transform:translateY(-8px)}.in-battle .hand .card{width:100%;min-width:0;max-width:128px;height:100%;min-height:105px}.in-battle .hand .card-art{height:clamp(31px,6vh,51px);font-size:clamp(24px,4vh,37px)}.in-battle .hand .card-text{-webkit-line-clamp:2;line-height:1.25}.in-battle .battle-footer{flex:0 0 31px;min-height:0;padding:1px 0}.in-battle .battle-footer button{min-height:27px;padding:3px 9px}.in-battle .result{z-index:30;width:min(500px,100% - 20px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 15px 80px #000c}.in-battle .tutorial-panel{flex:none;max-height:min(130px,18vh);margin:0 0 4px;padding:8px 12px;overflow-y:auto}.in-battle .tutorial-panel .tutorial-heading h1{font-size:16px}.in-battle .tutorial-panel .muted.small,.in-battle .tutorial-panel>p:not(.tutorial-hint){display:none}.in-battle .tutorial-hint{margin:3px 0;font-size:12px;line-height:1.35}.in-battle .tutorial-actions button{min-height:30px;padding:3px 8px}.in-battle .mulligan{flex-direction:column;justify-content:center;max-width:950px;height:100%;margin:auto;padding:10px 20px;display:flex}.in-battle .mulligan h1{margin:4px 0;font-size:clamp(23px,4vh,34px)}.in-battle .mulligan-cards{flex-wrap:nowrap;min-height:0;margin:clamp(8px,2vh,20px) 0}.in-battle .mulligan .hand-entry{min-width:0;position:relative}.in-battle .mulligan .card{width:clamp(105px,17vh,145px);min-width:0;height:clamp(157px,28vh,215px)}.in-battle .mulligan .detail-trigger{min-height:30px}.end-confirm-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.battle-log{padding-left:28px;line-height:1.8}.attack-reminder{animation:.8s ease-in-out 2 attack-reminder}@keyframes attack-reminder{50%{box-shadow:0 0 0 5px #a8dbb088,0 0 25px #a8dbb077}}.battle-effects{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:hidden}.action-caption{z-index:4;color:#fff3ce;text-align:center;background:#081419e8;border:1px solid #e4c88a77;border-radius:99px;max-width:min(88vw,650px);padding:7px 15px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #0009}.played-card{z-index:3;position:absolute;top:15%;left:50%;transform:translate(-50%)}.played-card .card{width:130px;min-width:130px;height:190px;box-shadow:0 14px 45px #000c,0 0 25px #e4c88a55}.trigger-card{color:var(--gold);border:1px solid var(--gold);background:#14242aee;border-radius:8px;padding:10px 18px}.effect-number{z-index:5;text-shadow:0 2px 5px #000;font-size:27px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.effect-number.damage{color:#ff9a8a}.effect-number.heal{color:#aff0bc}.effect-number.shield{color:#ffe29c;font-size:16px}.effect-ray{z-index:2;transform-origin:0;background:linear-gradient(90deg,#e4c88a22,#fff0a8,#e4c88a22);height:4px;position:absolute;box-shadow:0 0 10px #fff0a8}.effect-ray.heal,.effect-ray.buff,.effect-ray.summon{background:#a8dbb0;box-shadow:0 0 10px #a8dbb0}@media (width<=700px){body.in-battle{min-width:0;min-height:0}.in-battle #app{grid-template-rows:48px minmax(0,1fr)}.in-battle .topbar{height:48px;padding:0 7px}.in-battle .brand span:not(.brand-sigil){display:none}.in-battle .topbar nav{gap:3px}.in-battle .topbar .subtle{min-height:32px;padding:4px 6px;font-size:10px}.speed-setting{gap:2px}.speed-setting>span{display:none}.speed-setting select{max-width:72px;min-height:32px}.in-battle .battle-layout{padding:4px}.in-battle .hero-row{flex-basis:clamp(46px,7.5vh,58px);gap:5px;padding:3px 5px}.in-battle .hero-portrait{border-radius:11px 3px;width:34px;height:38px;font-size:25px}.in-battle .hero-meta .ai-style{display:none}.in-battle .hero-meta strong{font-size:10px}.in-battle .life{font-size:14px}.in-battle .life small,.in-battle .resource>span,.in-battle .mana-dots{display:none}.in-battle .resource>strong{font-size:15px}.in-battle .pile-info{gap:1px;font-size:8px}.in-battle .power{min-width:48px;min-height:34px;padding:3px}.in-battle .board{flex-basis:63px;justify-content:center;gap:2px;padding:2px 0;overflow:visible}.in-battle .unit-entry{flex:0 47px;min-width:31px;height:min(100%,82px)}.in-battle .board:has(.slot) .unit-entry{flex-basis:36px}.in-battle .unit{border-radius:9px 2px;padding:2px}.in-battle .unit-symbol{font-size:17px}.in-battle .unit strong{text-overflow:ellipsis;max-width:100%;font-size:7px;overflow:hidden}.in-battle .unit-tags{white-space:nowrap;max-width:100%;font-size:6px;overflow:hidden}.in-battle .unit-description{padding:6px 4px 17px;font-size:6px;line-height:1.25}.in-battle .unit-stats{font-size:9px;bottom:-2px;left:-1px;right:-1px}.in-battle .unit-stats b{min-width:22px;padding:2px}.in-battle .death-mark{width:17px;height:17px;font-size:9px;bottom:-2px}.in-battle .unit-entry .detail-trigger{width:18px;height:18px;min-height:18px;top:0;right:0}.in-battle .slot{flex-basis:13px;height:36px;font-size:15px}.in-battle .turn-line{flex-basis:20px;font-size:8px}.in-battle .turn-line>span:first-child{padding-left:4px;font-size:11px}.in-battle .input-bar{flex-wrap:nowrap;flex:0 0 55px;gap:3px;padding:2px 0}.in-battle .input-bar p{flex:auto;min-width:30px;font-size:9px;line-height:1.15}.in-battle .input-bar button{min-height:31px;padding:4px 6px;font-size:9px}.in-battle .input-bar .end-turn{margin-left:0}.in-battle .end-turn span{margin-left:3px}.in-battle .hand{flex-basis:clamp(104px,19vh,145px);min-height:0;padding:3px 16px}.in-battle .hand-entry{flex:1 1 0;min-width:25px;max-width:91px}.in-battle .hand .card{width:100%;min-width:0;max-width:91px;padding:4px}.in-battle .hand .card-cost{min-width:20px;height:21px;font-size:13px}.in-battle .hand .card-art{height:30px;margin-bottom:3px;font-size:23px}.in-battle .hand .card>strong{font-size:8px}.in-battle .hand .card-kind,.in-battle .hand .card-text{margin-block:1px;font-size:6px}.in-battle .hand .card-stats{font-size:9px}.in-battle .hand-entry .detail-trigger{width:20px;height:20px;min-height:20px}.in-battle .battle-footer{flex-basis:25px;gap:3px;font-size:7px}.in-battle .battle-footer>span{display:none}.in-battle .battle-footer button{min-height:22px;padding:2px 5px;font-size:8px}.in-battle .tutorial-panel{max-height:95px;padding:4px 6px}.in-battle .tutorial-panel .tutorial-heading{display:flex}.in-battle .tutorial-panel .tutorial-heading h1{font-size:12px}.in-battle .tutorial-panel .tutorial-heading label{min-width:115px;font-size:8px}.in-battle .tutorial-panel .tutorial-heading select{min-height:28px;margin:0;padding:2px;font-size:8px}.in-battle .tutorial-hint{font-size:8px}.in-battle .tutorial-actions{gap:2px}.in-battle .tutorial-actions button{min-height:23px;padding:2px 4px;font-size:7px}.in-battle .mulligan{padding:5px}.in-battle .mulligan>.muted{display:none}.in-battle .mulligan-cards{gap:4px}.in-battle .mulligan .card{width:min(82px,22vw);height:min(150px,24vh);padding:5px}.in-battle .mulligan .card-art{height:38px;font-size:28px}.in-battle .mulligan .card-text{font-size:7px}.in-battle .mulligan .detail-trigger{min-height:24px;font-size:9px}.played-card{top:12%}.played-card .card{width:105px;min-width:105px;height:155px}.action-caption{font-size:10px;top:47%}}@media (height<=650px){.in-battle .card-text,.in-battle .unit-tags,.in-battle .hero-meta .eyebrow,.in-battle .card-backs,.in-battle .battle-footer{display:none}.in-battle .hand{flex-basis:92px}.in-battle .tutorial-panel{max-height:72px}}.in-battle .player-dock{flex:0 0 clamp(140px,22vh,182px);gap:10px;min-width:0;min-height:0;display:flex}.in-battle .player-dock .friendly{background:linear-gradient(135deg,#203c35,#122229);border-color:#9cc8ad44;flex:0 0 174px;grid-template-columns:44px 1fr;align-content:center;gap:3px 8px;padding:6px 8px;display:grid}.in-battle .player-dock .hero-portrait{width:42px;height:42px;font-size:29px}.in-battle .player-dock .hero-meta strong{font-size:11px}.in-battle .player-dock .hero-meta .eyebrow{display:none}.in-battle .player-dock .life{font-size:17px}.in-battle .player-dock .pile-info{font-size:10px}.in-battle .player-dock .hand{flex:1 1 0;align-self:stretch;width:0;min-width:0;padding:5px 6px 3px}.audio-toggle[aria-pressed=false]{opacity:.6}@media (width<=700px){.in-battle .player-dock{flex-basis:145px;gap:4px}.in-battle .player-dock .friendly{flex-basis:98px;grid-template-columns:30px 1fr;gap:3px;padding:4px}.in-battle .player-dock .hero-portrait{width:30px;height:36px;font-size:23px}.in-battle .player-dock .hero-meta strong{font-size:9px}.in-battle .player-dock .life{font-size:14px}.in-battle .player-dock .pile-info{font-size:8px}.in-battle .player-dock .hand{justify-content:flex-start;gap:5px;padding-top:8px;overflow:auto hidden}.in-battle .player-dock .hand-entry{flex:0 0 86px}.in-battle .player-dock .hand .card{width:86px;max-width:none}}@media (height<=650px){.in-battle .player-dock{flex-basis:118px}}.in-battle .input-bar{flex-wrap:wrap;flex-shrink:0;flex-basis:auto}.in-battle .turn-controls{align-items:center;gap:10px;margin-left:auto;display:flex}.in-battle .player-energy{grid-template-columns:auto auto;gap:2px 5px;margin:0;display:grid}.in-battle .player-energy>strong{font-size:18px}.in-battle .player-energy>span{font-size:10px;display:block}.in-battle .player-energy .mana-dots{grid-column:1/-1;gap:3px;margin:0;display:flex}.in-battle .player-energy .mana-dots i{width:8px;height:8px}.in-battle .turn-controls .power{grid-template-columns:auto auto;gap:1px 5px;min-height:44px;padding:4px 10px;display:grid}.in-battle .turn-controls .power>span{grid-row:1/3;align-self:center;font-size:22px}.in-battle .turn-controls .power strong{font-size:11px}.in-battle .turn-controls .power small{font-size:10px}.in-battle .turn-controls .end-turn{min-height:44px;margin-left:0}.in-battle .player-dock .friendly .pile-info{flex-direction:row;grid-column:1/-1;justify-content:space-around;margin-top:7px}.in-battle .opponent-hand{flex:0 0 clamp(38px,6vh,60px);justify-content:center;gap:5px;min-height:0;padding:3px 4px;display:flex}.opponent-card-back{color:#d5c2eb;background:repeating-linear-gradient(45deg,#342d40 0 5px,#292537 5px 10px);border:1px solid #9784ac;border-radius:5px;flex:0 40px;place-items:center;min-width:0;display:grid;box-shadow:inset 0 0 0 3px #171e2a,inset 0 0 0 4px #9784ac55}.opponent-card-back span{font-size:22px}.opponent-card-back.leaving-hand{border-color:var(--gold);transform:translateY(7px);box-shadow:0 0 12px #e4c88a}.flying-card-back{z-index:5;width:46px;height:64px;position:absolute}@media (width<=700px){.in-battle .input-bar{gap:4px;padding:4px 0}.in-battle .input-bar>p{flex-basis:100%;font-size:10px}.in-battle .turn-controls{gap:5px}.in-battle .player-energy .mana-dots{gap:2px}.in-battle .player-energy .mana-dots i{width:6px;height:7px}.in-battle .turn-controls .power{min-width:78px;padding:3px 7px}.in-battle .turn-controls .end-turn{padding:4px 8px}.in-battle .opponent-hand{flex-basis:38px;gap:3px}.opponent-card-back{flex-basis:29px}.opponent-card-back span{font-size:16px}}
