:root{font-family:Songti SC,STSong,"Noto Serif SC",serif;color:#f2e8d6;background:#090707;font-synthesis:none;--red:#c8382f;--deep:#701b1b;--gold:#d6ae72;--paper:#cbb58d;--panel:#130e0d;--line:#4d3730;--muted:#a18a78}*{box-sizing:border-box}html,body,#app{margin:0;min-width:320px;min-height:100%;background:#090707}body{overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer}.noise{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.topbar{height:64px;display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid #594036;background:#0d0909f2;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.back{width:38px;height:38px;border:1px solid #654a3e;background:#211411;font:22px/1 sans-serif}.brand{display:flex;align-items:baseline;gap:10px;background:none;border:0;padding:0}.brand b{font-size:23px;color:#efcf9f;letter-spacing:.12em}.brand span{font-size:10px;color:#998270;letter-spacing:.2em}.routebar{flex:1;display:flex;justify-content:center;align-items:center;gap:12px;font-size:10px;color:#a8917d}.routebar i{display:block;width:min(26vw,300px);height:4px;background:#34231f}.routebar u{display:block;height:100%;background:linear-gradient(90deg,#751d1e,#d14b36);box-shadow:0 0 12px #c6342f}.top-actions{display:flex;gap:8px}.top-actions button{border:1px solid #594137;background:#1b1110;padding:8px 12px;font-size:11px}.primary,.secondary,.danger,.massive{border:1px solid #a34236;background:linear-gradient(#8c2822,#591816);padding:14px 24px;box-shadow:inset 0 0 24px #2b0b0b,0 8px 30px #0008}.secondary{background:#17100f;border-color:#635047}.danger{background:#240d0d;color:#c9887e}.massive{font-size:18px;min-width:220px;padding:18px 30px}.text-btn{border:0;background:none;color:#98816e;text-decoration:underline;text-underline-offset:5px}.title-screen{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,#3b1716 0,#120c0b 46%,#080606 76%)}.title-screen:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 55%,transparent 0 60px,#7a30200d 62px 63px)}.title-screen .moon{position:absolute;top:-28vw;left:50%;translate:-50%;width:min(70vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 38%,#b74835,#67191a 65%,#2f0a0b);box-shadow:0 0 100px #a2211e55;animation:moonPulse 5s ease-in-out infinite}.title-screen>img{position:absolute;width:min(540px,67vh);height:min(620px,74vh);object-fit:cover;bottom:0;left:50%;translate:-50%;mix-blend-mode:screen;filter:sepia(.3) contrast(1.2) drop-shadow(0 22px 30px #000);opacity:.62}.title-screen>img:after{content:""}.title-copy{position:relative;z-index:2;text-align:center;margin-top:14vh;padding:30px}.title-copy>span{font:10px/1.4 Georgia,serif;letter-spacing:.45em;color:#bd826c}.title-copy h1{font-size:clamp(78px,12vw,166px);line-height:.75;margin:48px 0 34px;color:#f0dfbd;text-shadow:0 15px 50px #000;letter-spacing:-.08em}.title-copy h1 small{display:block;font-size:.17em;letter-spacing:.7em;margin-top:34px;margin-left:1em;color:#c5ae91}.title-copy p{letter-spacing:.13em;color:#c1aa93;margin:30px 0}.title-copy button{display:block;margin:12px auto}.battle-page{height:calc(100svh - 64px);overflow:hidden;background:#0a0707}.battle-stage{height:calc(100svh - 434px);min-height:330px;display:grid;grid-template-columns:minmax(250px,320px) 1fr minmax(190px,240px);position:relative;background:radial-gradient(ellipse at 56% 48%,#4b281e 0,#1b1110 43%,#090707 75%);border-bottom:1px solid #5a3f34;overflow:hidden}.battle-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0006,transparent 26% 72%,#0008),repeating-linear-gradient(0deg,transparent 0 48px,#a36d4308 49px);pointer-events:none}.battle-feed{z-index:3;margin:14px 0 14px 14px;background:#0c0808dc;border:1px solid #5c4136;overflow:auto;box-shadow:15px 0 40px #0005}.feed-title{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:13px 15px;background:#241411;border-bottom:1px solid #6e4639;z-index:2}.feed-title b{font-size:17px}.feed-title span{font:9px sans-serif;color:#e6846c;text-transform:uppercase}.battle-feed article{display:grid;grid-template-columns:31px 1fr;gap:8px;padding:10px 13px;border-bottom:1px solid #30231f;animation:feedIn .25s ease}.battle-feed article>small{font:9px Georgia;color:#8a7568;margin-top:3px}.battle-feed article b{font-size:13px;color:#dfcbb2}.battle-feed article p{font-size:10px;line-height:1.45;color:#9f8a79;margin:3px 0}.battle-feed article.good{border-left:3px solid #a67d47}.battle-feed article.hurt,.battle-feed article.enemy{border-left:3px solid #a0322d}.battle-feed article.relic{border-left:3px solid #8c65b0;background:#2a172b44}.enemy-zone{position:relative;z-index:2;display:grid;grid-template-columns:minmax(170px,280px) minmax(230px,350px);grid-template-rows:1fr auto;align-items:center;justify-content:center;padding:15px 12px 8px}.intent-card{align-self:start;margin-top:10px;border:2px solid #bd4938;background:linear-gradient(135deg,#3a1412f2,#160c0cee);padding:14px 16px;box-shadow:0 0 35px #a42b2533;position:relative}.intent-card:after{content:"";position:absolute;right:-8px;top:25px;width:14px;height:14px;background:#471815;border-right:2px solid #bd4938;border-top:2px solid #bd4938;rotate:45deg}.intent-card>span{display:block;color:#e1765e;font:10px sans-serif;letter-spacing:.14em}.intent-card strong{display:block;font-size:22px;margin:5px 0}.intent-card>b{font:48px/1 Georgia;color:#f1b77c;float:left;margin-right:9px}.intent-card small{font-size:9px;color:#bd9c84}.intent-card p{font-size:10px;line-height:1.45;color:#bba28e;margin:7px 0 0;clear:both}.enemy-portrait{height:100%;min-height:210px;position:relative;align-self:stretch;display:grid;place-items:center;overflow:hidden}.enemy-portrait:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 18px 14px #1b1110;pointer-events:none}.enemy-portrait img{width:min(100%,340px);height:100%;max-height:360px;object-fit:contain;mix-blend-mode:screen;filter:sepia(.18) contrast(1.08) drop-shadow(0 18px 16px #000);z-index:1}.enemy-portrait.hit img{animation:enemyHit .34s cubic-bezier(.2,.8,.3,1)}.enemy-aura{position:absolute;width:65%;aspect-ratio:1;border-radius:50%;background:#8b28221f;box-shadow:0 0 80px #a5271d33;animation:aura 3s ease-in-out infinite}.enemy-panel{grid-column:1/3;width:min(620px,96%);justify-self:center;text-align:center;padding:2px 20px 8px}.enemy-panel>span{font:9px sans-serif;letter-spacing:.25em;color:#b77864}.enemy-panel h2{font-size:clamp(23px,2.5vw,38px);margin:2px 0 7px;text-shadow:0 3px 10px #000}.health{height:26px;position:relative;background:#0c0808;border:1px solid #795247;box-shadow:inset 0 0 8px #000}.health i{position:absolute;inset:3px auto 3px 3px;background:linear-gradient(90deg,#651517,#c83a2d);transition:width .35s}.health b{position:absolute;inset:0;text-align:center;font:12px/24px Georgia;letter-spacing:.08em}.enemy-status{display:flex;justify-content:center;gap:6px;margin-top:6px}.enemy-status em{font-style:normal;font:9px sans-serif;color:#c2aa94;border:1px solid #594139;background:#170f0e;padding:4px 8px}.relic-rail{z-index:3;margin:14px 14px 14px 0;background:#0c0808d9;border:1px solid #5c4136;overflow:auto}.relic-rail>div{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;padding:13px;background:#241411;border-bottom:1px solid #6e4639}.relic-rail>button{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;border-bottom:1px solid #33241f;padding:8px;text-align:left}.relic-rail>button img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid #705144}.relic-rail>button span{font-size:11px}.relic-rail .active-relic{background:#54301b;animation:activeRelic 1.5s infinite}.combo{position:absolute;z-index:6;right:260px;top:18px;width:116px;text-align:right}.combo small{font:9px sans-serif;color:#b79881}.combo>b{display:block;font:50px/.8 Georgia;color:#ead3ad}.combo>i{display:block;height:3px;background:#34231f;margin:7px 0}.combo u{display:block;height:100%;background:#cc3c2e}.combo span{font-size:9px;color:#9d8673}.combo.hot b{color:#ffb55c;text-shadow:0 0 18px #e23b22;animation:comboPulse .5s infinite alternate}.build-meter{position:absolute;z-index:5;left:340px;bottom:8px;display:flex;gap:5px;flex-wrap:wrap}.build-meter span{font:9px sans-serif;background:#100b0bd9;border:1px solid #563b33;padding:4px 7px;color:#c7ab91}.peek{position:absolute;z-index:8;right:250px;bottom:8px;width:230px;background:#170c0dec;border:1px solid #8c372e;padding:8px}.peek>b{font-size:10px;color:#e58a74}.peek button{display:flex;justify-content:space-between;width:100%;background:none;border:0;border-top:1px solid #3b2823;padding:6px 0;text-align:left}.peek span{font-size:10px}.peek small{font-size:7px;color:#a77d6e}.float{position:absolute;z-index:9;left:50%;top:28%;font:700 46px Georgia;color:#ffdb94;text-shadow:0 3px 0 #5a0b0b,0 0 18px #f0442c;animation:floatDamage .75s forwards}.float.burn{color:#ff743c}.relic-pop{position:absolute;z-index:20;left:50%;top:42%;translate:-50% -50%;display:grid;grid-template-columns:58px 1fr;gap:10px;min-width:280px;background:#1f111ce8;border:1px solid #b080cf;padding:10px;box-shadow:0 0 50px #7f3f9655;animation:relicPop 1.15s forwards}.relic-pop img{width:58px;height:58px;object-fit:cover;border-radius:50%}.relic-pop b{font-size:17px;align-self:end}.relic-pop span{grid-column:2;font:8px sans-serif;color:#b897cb}.player-hud{height:88px;display:flex;align-items:stretch;background:#17100f;border-bottom:1px solid #5c4136;padding:7px 20px;gap:4px}.portrait{width:130px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #4d3730}.portrait span,.resource>span{font:9px sans-serif;color:#a28a78}.portrait b{font-size:16px}.resource{min-width:75px;padding:5px 12px;border-right:1px solid #3e2c26;display:flex;flex-direction:column;justify-content:center}.resource strong{font:25px Georgia}.resource strong small{font-size:12px;color:#9b8170}.resource.life{min-width:150px}.resource.life>i{display:block;height:4px;background:#3c2723}.resource.life u{display:block;height:100%;background:#bd332c}.resource.mana strong{color:#a7b8df}.end-turn{margin-left:auto;min-width:190px;background:linear-gradient(135deg,#5d1717,#2d0c0d);border:1px solid #a53b32;text-align:right;padding:8px 16px}.end-turn span{display:block;font:9px sans-serif;color:#c68f7c}.end-turn b{font-size:16px}.hand-dock{height:282px;display:grid;grid-template-columns:55px 1fr 55px;align-items:center;background:linear-gradient(#110c0b,#080606);padding:10px 12px max(12px,env(safe-area-inset-bottom));position:relative}.hand{height:252px;display:flex;align-items:flex-end;justify-content:center;gap:8px;overflow-x:auto;overflow-y:hidden;padding:16px 8px 5px;scrollbar-width:thin}.pile{display:flex;flex-direction:column;align-items:center;color:#8e7969}.pile b{display:grid;place-items:center;width:38px;height:52px;border:1px solid #60453a;background:#1d1311;font:18px Georgia;box-shadow:-3px 3px #0a0707,-5px 5px #443028}.pile span{font-size:8px;margin-top:7px}.empty-hand{height:220px;min-width:320px;display:grid;place-items:center;align-content:center;border:1px dashed #48342e;color:#7f6b5d}.empty-hand b{font-size:20px}.empty-hand span{font-size:10px;margin-top:6px}.game-card{flex:0 0 164px;width:164px;height:230px;position:relative;border:1px solid #967050;border-radius:7px;background:linear-gradient(145deg,#d5c19a,#9c8165);color:#1c120f;text-align:left;padding:12px 12px 10px;box-shadow:0 12px 20px #0009,inset 0 0 0 4px #3b221b44;transition:transform .16s,filter .16s;overflow:hidden}.game-card:hover{transform:translateY(-14px) rotate(-1deg);filter:brightness(1.08);z-index:3}.game-card.spell{background:linear-gradient(145deg,#b7adad,#72606c)}.game-card.ritual{background:linear-gradient(145deg,#c09b81,#75443d)}.card-cost{position:absolute;left:8px;top:8px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#261413;color:#f1d6ab;font:700 16px Georgia;z-index:2}.card-type{position:absolute;right:9px;top:9px;font-size:21px;opacity:.5}.card-level{position:absolute;right:8px;top:35px;background:#691b1a;color:#ffe2a8;padding:3px 7px;border-radius:10px;font:700 10px sans-serif}.card-art{height:66px;margin:-12px -12px 7px;background:radial-gradient(circle,#75231d,#25120f);position:relative;overflow:hidden}.card-art i{position:absolute;width:70px;height:70px;border:1px solid #d3a56355;border-radius:50%;left:48%;top:-25px;box-shadow:0 0 0 8px #a7794433}.card-art b{position:absolute;right:8px;bottom:5px;color:#e6cda5;font:8px sans-serif;letter-spacing:.15em}.game-card h3{font-size:17px;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-card>small{font-size:8px;opacity:.65}.game-card p{font-size:9px;line-height:1.45;margin:9px 0;max-height:55px;overflow:hidden}.game-card .stats{position:absolute;left:10px;bottom:8px;font:9px sans-serif;color:#48261e}.game-card.selected{outline:3px solid #e24835;translate:0 -10px;box-shadow:0 0 32px #d6352a}.section-head{text-align:center;max-width:850px;margin:0 auto}.section-head>span,.fate-page>span,.death-page>span,.legacy-page>span,.ending-page>span,.church-hero>span{font:9px sans-serif;letter-spacing:.4em;color:#d07761}.section-head h2,.fate-page h2,.death-page h2,.legacy-page h2,.ending-page h2,.church-hero h2{font-size:clamp(34px,5vw,68px);margin:10px 0}.section-head p,.fate-page p,.death-page p{color:#9f8978;line-height:1.7}.choice-page,.codex-shell,.church-shell,.ending-shell{min-height:calc(100svh - 64px);background:radial-gradient(circle at 50% 20%,#2c1916,#0b0808 60%);padding:6vh 5vw}.reward-page{max-width:1160px;margin:auto}.lane-title{margin:35px 0 10px;padding-bottom:8px;border-bottom:1px solid #563d34;color:#c9ad8e}.reward-cards{display:flex;justify-content:center;gap:20px}.reward-cards>div{text-align:center}.reward-cards>div>button:last-child{border:1px solid #9a4236;background:#5b1917;padding:9px 18px;margin-top:7px}.reward-relics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.relic-card{min-height:150px;display:grid;grid-template-columns:125px 1fr;gap:14px;background:#17100f;border:1px solid #60463b;text-align:left;padding:8px;overflow:hidden}.relic-card:hover{border-color:#d48d5e;background:#241411}.relic-card img{width:125px;height:132px;object-fit:cover}.relic-card small{font:9px sans-serif;color:#c3846f}.relic-card h3{font-size:20px;margin:8px 0}.relic-card p{font-size:10px;line-height:1.55;color:#af9783}.relic-card.rarity-传说{border-color:#cf9f46;box-shadow:inset 0 0 24px #b6751822}.relic-card.rarity-史诗{border-color:#87599d}.relic-card.rarity-诅咒{border-color:#9a302f;background:#21100f}.heal-choice{display:block;margin:30px auto;border:0;background:none;color:#9c8472;text-decoration:underline}.ritual-options,.legacy-page>div{max-width:1050px;margin:6vh auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#5c4238}.ritual-options button,.legacy-page>div button{min-height:300px;border:0;background:#17100f;padding:35px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px}.ritual-options button:hover,.legacy-page>div button:hover{background:#351713}.ritual-options i{font:52px Georgia;color:#8f362f}.ritual-options b,.legacy-page b{font-size:26px}.ritual-options span,.legacy-page span{font-size:11px;color:#a58e7b;line-height:1.6}.deck-grid{max-width:1250px;margin:35px auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:13px}.deck-grid .game-card{width:100%}.select-page footer{position:sticky;bottom:8px;text-align:center}.fate-page,.death-page,.legacy-page,.ending-page{text-align:center;max-width:1050px;margin:auto}.fate-sigil{margin:auto;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;border:1px solid #923328;font-size:48px;box-shadow:0 0 40px #7a1c1c}.fate-page>div:last-child,.death-page>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:45px}.fate-page button,.death-page button{min-height:220px;background:#17100f;border:1px solid #66483e;padding:30px}.fate-page button b,.death-page button b{display:block;font-size:24px;margin-bottom:16px}.fate-page button small,.death-page button small{color:#af9783;line-height:1.7}.church-page{max-width:1250px;margin:auto}.church-hero{border-left:2px solid #a13b31;padding-left:28px}.church-grid{display:grid;grid-template-columns:repeat(5,1fr);margin:6vh 0;border-block:1px solid #513a32}.church-grid article{min-height:160px;padding:25px;border-right:1px solid #513a32}.church-grid i{font-style:normal;color:#a7483c}.church-grid b{display:block;font-size:21px;margin:15px 0}.church-grid span{font-size:10px;color:#8f796a;line-height:1.5}.graveyard{background:#080606;border:1px solid #44312b;padding:25px}.graveyard>header{position:static;background:none;border:0;padding:0;display:flex;justify-content:space-between}.graveyard h3{font-size:30px;margin:5px 0}.graveyard>div article{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;padding:13px;border-bottom:1px solid #382924}.graveyard article span,.graveyard article small{font-size:10px;color:#937e6f}.tabs{display:flex;justify-content:center;gap:4px;border-bottom:1px solid #50382f;margin:35px 0}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:13px 22px;color:#978171}.tabs button.active{border-color:#c54035;color:#f0dec7}.relic-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px}.enemy-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.enemy-library article{display:grid;grid-template-columns:125px 1fr;background:#17100f;border:1px solid #543b32;min-height:185px}.enemy-library img{width:125px;height:185px;object-fit:cover;mix-blend-mode:screen}.enemy-library div{padding:14px}.enemy-library small{color:#be6b57}.enemy-library h3{font-size:20px;margin:5px 0}.enemy-library b{font-size:12px}.enemy-library p{font-size:10px;color:#9f8978;line-height:1.5}.ending-page{padding-top:12vh}.ending-page p{font-size:14px;line-height:2;color:#b19a86;max-width:680px;margin:20px auto}.ending-page button{margin:10px}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#080505da;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.modal section{width:min(520px,90vw);text-align:center;background:#17100f;border:1px solid #71483b;padding:45px}.modal h2{font-size:40px;margin:8px}.modal p{color:#9b8472}.modal button{display:block;width:100%;margin-top:10px}@keyframes moonPulse{50%{filter:brightness(1.18);box-shadow:0 0 140px #bd342c77}}@keyframes enemyHit{25%{translate:-16px;filter:sepia(.4) contrast(1.8) brightness(1.8)}55%{translate:10px}to{translate:0}}@keyframes aura{50%{scale:1.12;opacity:.55}}@keyframes floatDamage{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.25)}to{opacity:0;translate:0 -85px;transform:scale(.9)}}@keyframes relicPop{0%{opacity:0;scale:.7}18%{opacity:1;scale:1.05}75%{opacity:1;scale:1}to{opacity:0;translate:-50% -120%;scale:.85}}@keyframes feedIn{0%{opacity:0;translate:-10px}}@keyframes comboPulse{to{scale:1.08}}@keyframes activeRelic{50%{box-shadow:inset 0 0 25px #d98e34}}@keyframes shake{25%{translate:-5px 3px}50%{translate:5px -2px}75%{translate:-2px 4px}}.screen-shake{animation:shake .22s linear}@media(max-width:980px){.battle-stage{grid-template-columns:230px 1fr 160px}.combo{right:180px}.enemy-zone{grid-template-columns:180px 1fr}.intent-card strong{font-size:18px}.intent-card>b{font-size:38px}.relic-rail>button span{font-size:9px}.build-meter{left:246px}.peek{right:170px}.resource{min-width:62px;padding:4px 7px}.portrait{width:100px}.resource.life{min-width:125px}}@media(max-width:720px){.topbar{height:54px;padding:0 8px;gap:7px}.back{width:34px;height:34px}.brand b{font-size:19px}.brand span,.routebar span:first-child{display:none}.routebar{gap:4px}.routebar i{width:70px}.top-actions button{padding:6px 7px}.battle-page{height:calc(100svh - 54px)}.battle-stage{height:calc(100svh - 338px);min-height:370px;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 140px}.enemy-zone{grid-column:1;grid-row:1;grid-template-columns:145px 1fr;padding:6px}.enemy-portrait{min-height:170px}.enemy-portrait img{max-height:235px}.intent-card{margin:3px 0 0 2px;padding:9px}.intent-card strong{font-size:17px}.intent-card>b{font-size:34px}.intent-card p{font-size:8px;max-height:28px;overflow:hidden}.enemy-panel{padding:0 8px}.enemy-panel h2{font-size:21px}.battle-feed{grid-column:1;grid-row:2;margin:0 6px 5px;display:flex;overflow-x:auto;overflow-y:hidden;background:#0a0707eb}.feed-title{min-width:85px;display:block}.battle-feed article{min-width:210px;grid-template-columns:25px 1fr}.battle-feed article:nth-of-type(n+6){display:none}.relic-rail{position:absolute;right:4px;top:4px;width:52px;height:190px;margin:0;border:0;background:transparent;overflow-y:auto}.relic-rail>div{display:none}.relic-rail>button{padding:2px;border:0}.relic-rail>button img{width:38px;height:38px}.relic-rail>button span{display:none}.combo{right:62px;top:6px;width:62px}.combo>b{font-size:36px}.combo span{display:none}.build-meter{left:6px;bottom:142px;max-width:72vw}.build-meter span{font-size:7px;padding:3px 4px}.peek{right:4px;bottom:142px;width:155px;padding:4px}.peek>b{font-size:8px}.peek button small{display:none}.relic-pop{min-width:230px;grid-template-columns:45px 1fr}.relic-pop img{width:45px;height:45px}.player-hud{height:70px;padding:4px 6px;overflow-x:auto}.portrait{display:none}.resource{min-width:55px;padding:2px 6px}.resource.life{min-width:110px}.resource>span{font-size:7px}.resource strong{font-size:20px}.end-turn{position:sticky;right:0;min-width:135px;padding:5px 8px}.end-turn span{font-size:7px}.end-turn b{font-size:13px}.hand-dock{height:214px;grid-template-columns:35px 1fr 35px;padding:4px}.hand{height:204px;justify-content:flex-start;padding:10px 4px 2px;gap:5px}.pile b{width:27px;height:38px;font-size:13px}.pile span{font-size:7px}.game-card{flex-basis:130px;width:130px;height:188px;padding:8px}.card-art{height:47px;margin:-8px -8px 5px}.card-cost{width:25px;height:25px;font-size:13px}.card-type{font-size:17px}.game-card h3{font-size:14px}.game-card p{font-size:8px;max-height:42px;margin:6px 0}.game-card .stats{font-size:7px}.choice-page,.codex-shell,.church-shell,.ending-shell{min-height:calc(100svh - 54px);padding:4vh 13px}.section-head h2,.fate-page h2,.death-page h2,.legacy-page h2,.ending-page h2,.church-hero h2{font-size:35px}.reward-cards{justify-content:flex-start;overflow-x:auto}.reward-relics,.relic-library{grid-template-columns:1fr}.relic-card{grid-template-columns:90px 1fr;min-height:120px}.relic-card img{width:90px;height:105px}.relic-card h3{font-size:17px}.ritual-options,.legacy-page>div{grid-template-columns:1fr;margin-top:25px}.ritual-options button,.legacy-page>div button{min-height:145px}.deck-grid{grid-template-columns:repeat(2,1fr);gap:6px}.deck-grid .game-card{width:100%}.fate-page>div:last-child,.death-page>div{grid-template-columns:1fr}.fate-page button,.death-page button{min-height:130px}.church-grid{grid-template-columns:repeat(5,145px);overflow-x:auto}.graveyard>header{display:block}.graveyard>div article{grid-template-columns:1fr}.tabs{justify-content:flex-start;overflow-x:auto}.tabs button{white-space:nowrap}.enemy-library{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.noise{display:none}}.game-card.sealed{filter:grayscale(.65) brightness(.58);pointer-events:none;box-shadow:inset 0 0 0 2px #72607f,0 0 24px #5c437d88}.seal-mark{position:absolute;z-index:8;inset:50% auto auto 50%;translate:-50% -50%;display:grid;place-items:center;width:52px;height:52px;border:2px solid #b49acf;border-radius:50%;background:#1b1227dd;color:#eadfff;font:800 25px/1 serif;rotate:-12deg;box-shadow:0 0 22px #8d63bc}.select-page{padding-bottom:118px!important}.select-page footer{position:fixed!important;z-index:120;left:50%;right:auto;bottom:calc(18px + env(safe-area-inset-bottom));translate:-50% 0;display:flex;justify-content:center;width:min(520px,calc(100vw - 28px));padding:10px;border:1px solid #785b45;border-radius:12px;background:linear-gradient(180deg,#211712f5,#110c09fa);box-shadow:0 10px 45px #000,0 0 0 3px #09060588;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.select-page footer button{position:relative;z-index:121;flex:1;min-height:52px;margin:0!important;touch-action:manipulation}.battle-page{height:calc(100dvh - 64px);min-height:0!important;overflow:hidden}.battle-page .battle-stage{height:calc(100dvh - 434px);min-height:0}@media(max-width:700px){.battle-page{height:calc(100dvh - 54px)}.battle-page .battle-stage{height:calc(100dvh - 338px);min-height:0}}@media(max-width:700px){.topbar{padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right));gap:5px}.back{width:40px;height:40px;min-width:40px}.brand{min-width:42px}.brand b{font-size:18px}.routebar{flex:1;min-width:44px}.routebar i{width:100%;max-width:70px}.top-actions{gap:3px}.top-actions button{min-width:42px;min-height:38px;padding:5px}.battle-stage{--mobile-feed:clamp(76px,14dvh,116px);grid-template-rows:minmax(0,1fr) var(--mobile-feed)}.enemy-zone{min-height:0}.enemy-portrait{min-height:0;overflow:hidden}.enemy-portrait img{max-height:100%}.battle-feed{height:var(--mobile-feed);min-height:0}.battle-feed article{min-width:min(210px,68vw);padding-block:7px}.build-meter,.peek{bottom:calc(var(--mobile-feed) + 2px)}.intent-card{width:auto;max-width:100%;overflow:hidden}.intent-card strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;line-height:1.12}.intent-card p{overflow:hidden;text-overflow:ellipsis}.enemy-panel{min-width:0}.enemy-panel h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enemy-health{max-width:100%;overflow:hidden}.player-hud{display:grid;grid-template-columns:86px repeat(3,minmax(42px,1fr)) 112px;align-items:stretch;gap:2px;overflow:hidden;padding-inline:max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-right))}.player-hud>.resource{min-width:0!important;padding:3px 4px}.player-hud>.resource:nth-child(6),.player-hud>.resource:nth-child(7){display:none}.resource.life{min-width:0}.resource strong{font-size:18px}.end-turn{position:static;min-width:0;width:100%;margin-left:0;padding:4px 6px}.end-turn span{font-size:8px}.hand,.battle-feed,.relic-rail,.church-grid,.tabs,.reward-cards{scrollbar-width:none}.hand::-webkit-scrollbar,.battle-feed::-webkit-scrollbar,.relic-rail::-webkit-scrollbar,.church-grid::-webkit-scrollbar,.tabs::-webkit-scrollbar,.reward-cards::-webkit-scrollbar{display:none}.hand-dock{padding-bottom:max(4px,env(safe-area-inset-bottom))}.game-card{touch-action:manipulation}.select-page footer{bottom:calc(14px + env(safe-area-inset-bottom))}}@media(max-width:420px){.enemy-zone{grid-template-columns:132px minmax(0,1fr)}.intent-card{padding:8px 7px}.intent-card strong{font-size:15px}.intent-card>b{font-size:31px}.enemy-portrait img{max-width:100%}.relic-rail{width:44px}.relic-rail>button img{width:34px;height:34px}.combo{right:51px}.build-meter{max-width:78vw}.hand-dock{grid-template-columns:30px 1fr 30px}.game-card{flex-basis:124px;width:124px}}@media(max-width:360px){.brand span{display:none}.top-actions button{font-size:9px;min-width:36px;padding-inline:4px}.player-hud{grid-template-columns:76px repeat(3,minmax(34px,1fr)) 96px}.resource strong{font-size:16px}.end-turn b{font-size:12px}.end-turn span{font-size:7px}.enemy-zone{grid-template-columns:116px minmax(0,1fr)}.enemy-panel{padding-inline:3px}.enemy-status em{padding:3px 4px;font-size:7px}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.select-page footer{width:calc(100vw - 16px);padding:7px}.select-page footer button{padding-inline:8px}.modal section{width:calc(100vw - 24px);padding:28px 18px}}@media(max-width:720px)and (max-height:560px)and (orientation:landscape){.topbar{height:46px}.battle-page{height:calc(100dvh - 46px)}.battle-page .battle-stage{height:calc(100dvh - 262px);grid-template-rows:1fr;min-height:0}.battle-feed{display:none}.enemy-zone{grid-row:1;grid-template-columns:120px minmax(190px,1fr);padding:2px 70px 2px 4px}.enemy-portrait{min-height:90px}.enemy-portrait img{max-height:118px}.enemy-panel{position:absolute;left:25%;right:11%;bottom:2px;width:auto;padding:0}.enemy-panel>span,.enemy-status{display:none}.enemy-panel h2{font-size:16px;margin:0}.health{height:18px}.health b{font-size:9px;line-height:16px}.intent-card{align-self:center;margin:0;padding:6px}.intent-card>span,.intent-card p,.intent-card small{display:none}.intent-card strong{font-size:13px;margin:0}.intent-card>b{font-size:25px}.relic-rail{height:112px}.combo{top:2px}.combo>b{font-size:27px}.build-meter{bottom:2px;left:4px;max-width:24vw}.player-hud{height:58px}.hand-dock{height:158px}.hand{height:150px;padding-top:4px}.game-card{height:140px;flex-basis:112px;width:112px}.card-art{height:34px}.game-card p{max-height:27px;margin:3px 0}.game-card .stats{display:none}.empty-hand{height:132px}.choice-page,.codex-shell,.church-shell,.ending-shell{min-height:calc(100dvh - 46px);padding-top:18px}.section-head h2,.fate-page h2,.death-page h2,.legacy-page h2,.ending-page h2,.church-hero h2{font-size:28px}.ritual-options,.legacy-page>div{grid-template-columns:repeat(3,1fr)}.ritual-options button,.legacy-page>div button{min-height:120px;padding:16px}.fate-page>div:last-child,.death-page>div{grid-template-columns:repeat(3,1fr);margin-top:18px}.fate-page button,.death-page button{min-height:110px;padding:14px}}@media(hover:none){.game-card:hover,.relic-card:hover{transform:none;filter:none}.game-card:active{transform:translateY(-5px);filter:brightness(1.08)}button{touch-action:manipulation;-webkit-tap-highlight-color:#c83a2f33}}html,body,#app{min-width:0!important;width:100%}html,body{overflow-x:clip!important}
