:root{--paper:#e5d6b8;--muted:#938570;--red:#9d302b;--gold:#d4a55f;--line:#413a30}*{box-sizing:border-box}body{margin:0;background:#111110;color:var(--paper);font-family:Georgia,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid var(--line);background:#211e19;cursor:pointer;padding:10px 15px}button:hover:not(:disabled){border-color:var(--gold);background:#342a20}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}header{height:80px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}header a{color:var(--paper);text-decoration:none;font-size:22px;letter-spacing:-1px}header a b{color:var(--gold)}header>span{font-size:11px;letter-spacing:2px;color:var(--muted)}header i{font-style:normal}header button{font-size:11px;padding:8px 12px;background:none}main{max-width:1440px;margin:auto;padding:24px 4%}.runbar{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;margin-bottom:14px}#phase{color:var(--gold)}.arena{height:365px;position:relative;overflow:hidden;background:linear-gradient(0deg,#191615 0%,#19161588 40%,#19161555),url('assets/cover.png') center 28%/cover;border:1px solid #554638;border-bottom:3px solid #6c5440}.arena:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(20deg,transparent 0 4px,#00000020 4px 5px);box-shadow:inset 0 0 90px #000}.arches{position:absolute;inset:0;display:flex;justify-content:space-around;opacity:.4}.arches i{width:13%;height:95%;border:12px solid #0b0c0c;border-radius:50% 50% 0 0}.moon{position:absolute;width:130px;height:130px;background:#b6422b;border-radius:50%;left:48%;top:20px;filter:blur(2px);opacity:.35}.floor{position:absolute;bottom:0;width:100%;height:45px;background:linear-gradient(0deg,#161412,transparent);border-bottom:1px solid #73604b}.scene-caption{position:absolute;bottom:12px;left:20px;font-size:8px;letter-spacing:2px;color:#b9a48b;z-index:4}.fighter{position:absolute;bottom:28px;height:295px;width:240px;z-index:3;transition:filter .2s,opacity .4s,transform .25s}.hunter{left:9%}.sprite{width:100%;height:100%;background-image:url('assets/characters.png');background-size:300% 100%;background-position:left center;filter:drop-shadow(3px 8px 4px #000)}.enemy{right:13%;cursor:pointer}.enemy .sprite{background-position:50% center}.enemy.boss{height:320px;width:265px}.enemy.boss .sprite{background-position:100% center}.enemy.selected{filter:drop-shadow(0 0 3px #d4a55f)}.enemy.selected:before{content:'▼ TARGET';position:absolute;top:-12px;left:36%;font:9px sans-serif;letter-spacing:1px;color:var(--gold)}.nameplate{position:absolute;bottom:-5px;left:0;width:100%;text-align:center;font-size:10px;letter-spacing:2px}.intent{position:absolute;top:10px;left:15%;width:75%;text-align:center;background:#211714ed;border:1px solid #794338;padding:8px;font:11px Georgia;color:#edb7a0;z-index:4}.enemy-health{position:absolute;bottom:-18px;left:25%;width:50%;height:4px;background:#31251f}.enemy-health i{display:block;height:100%;background:#b65542}.attack{animation:lunge .4s}.hurt{animation:hurt .4s}.dead{opacity:0;transform:translateY(45px) rotate(12deg);pointer-events:none}.float{position:absolute;z-index:10;color:#f1c79a;font-size:32px;text-shadow:1px 2px #000;animation:float 1s forwards;pointer-events:none}.combat-hud{display:grid;grid-template-columns:1fr 1fr .65fr;gap:32px;padding:24px 0;border-bottom:1px solid var(--line)}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted)}.health-label{display:flex;align-items:center;justify-content:space-between;margin:8px 0}.health-label b{font-size:24px;font-weight:normal}.health-label span{font-size:9px;letter-spacing:2px;color:var(--muted)}.meter{height:5px;background:#302b24}.meter i{display:block;height:100%;background:#ab493d;transition:width .3s}.equipment{font-size:8px;letter-spacing:1px;margin-top:12px;color:var(--muted)}.equipment strong{color:var(--paper);font-size:11px;letter-spacing:0;margin-left:9px}.equipment button{padding:3px 6px;font-size:9px;margin-left:8px}#effects{font-size:10px;color:var(--gold);margin-top:8px}.wick-panel{display:flex;gap:18px;align-items:center;border-left:1px solid var(--line);padding-left:25px}.wick-panel>div:last-child{flex:1}.wick-panel b{font-size:39px;font-weight:normal}.wick-panel span:not(.eyebrow){font-size:10px;color:var(--muted)}.gold i{background:var(--gold)}.wick-panel small{font-size:10px;color:var(--muted);display:block;margin-top:8px}.candle{position:relative;width:28px;height:66px;margin-top:16px}.wax{position:absolute;bottom:0;width:25px;height:48px;background:linear-gradient(90deg,#8b7651,#f2dfb0,#b29a70);clip-path:polygon(0 0,30% 5%,40% 0,60% 8%,100% 0,95% 100%,0 100%)}.flame{position:absolute;top:-10px;left:6px;background:#ffe5a2;width:14px;height:26px;border-radius:80% 0 70% 40%;transform:rotate(-20deg);box-shadow:0 0 22px #e9a23b;animation:flicker .8s infinite alternate}.actions-panel{border-left:1px solid var(--line);padding-left:25px}#ap{display:flex;gap:7px;margin:12px 0 15px}#ap i{width:14px;height:14px;transform:rotate(45deg);border:1px solid var(--gold);background:var(--gold)}#ap i.empty{background:none}.primary{background:#ad8a54;color:#171511;border-color:#cda76a;font-size:11px;letter-spacing:2px}.primary:hover:not(:disabled){background:#d5b47d}.actions-panel .primary{width:100%;display:flex;justify-content:space-between}.hand-wrap{padding-top:17px}.hand-title{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:13px}.hand-title small{font:10px Georgia;letter-spacing:0}#hand{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{min-height:150px;text-align:left;position:relative;background:linear-gradient(125deg,#2d2921,#191816);padding:15px;border-top:2px solid #8e7655;transition:transform .15s}.card:hover:not(:disabled){transform:translateY(-5px)}.card-top{display:flex;justify-content:space-between;color:var(--gold);font-size:9px;letter-spacing:1px}.card h3{font-weight:normal;font-size:20px;margin:17px 0 9px}.card p{font:12px/1.5 Georgia;color:#b3a68f;margin:0}.card .sigil{position:absolute;right:17px;top:28px;color:#766348;font-size:35px;opacity:.3}.logbar{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);margin-top:20px;padding:12px 0;font-size:11px;color:#af9d83}.logbar>span{font-size:8px;letter-spacing:2px;color:#746957}.logbar p{margin:0}.overlay{position:fixed;inset:0;background:#080909dd;z-index:30;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:20px}.overlay.hidden{display:none}.modal{max-width:760px;width:100%;padding:45px;border:1px solid #7a6241;background:linear-gradient(140deg,#2d251c,#141413);box-shadow:0 20px 90px #000;max-height:90vh;overflow:auto}.modal.cover{background:linear-gradient(90deg,#141413f5,#141413aa),url('assets/cover.png') center/cover}.modal h1{font-size:60px;line-height:.95;font-weight:normal;margin:20px 0}.modal h2{font-size:34px;font-weight:normal}.modal p{color:#c3b49b;font-size:15px;line-height:1.7;max-width:500px}.modal .subtitle{color:var(--gold);letter-spacing:4px;font-size:10px}.modal button{margin-top:15px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choices button{text-align:left;line-height:1.5}.choices strong{display:block;color:var(--gold);font-size:17px}.choices small{display:block;font-size:11px;margin-top:10px}.modal li{font-size:14px;color:#c3b49b;line-height:1.8}.low .wick-panel{color:#f18855}.low .flame{box-shadow:0 0 30px #ff3600}@keyframes lunge{50%{transform:translateX(35px)}}@keyframes hurt{40%{filter:brightness(3) sepia(1);transform:translateX(-10px)}}@keyframes float{to{transform:translateY(-70px);opacity:0}}@keyframes flicker{to{transform:rotate(-10deg) scale(.85,1.1)}}@media(max-width:750px){header{height:65px;padding:0 15px}header>span{display:none}header a{font-size:17px}header button{font-size:9px;padding:6px}main{padding:18px 12px}.arena{height:300px}.fighter{width:175px;height:230px}.hunter{left:0}.enemy{right:0}.enemy.boss{width:205px;height:265px}.combat-hud{gap:12px;grid-template-columns:1fr 1fr;padding:15px 0}.wick-panel{padding-left:12px;gap:9px}.actions-panel{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border:0;padding:0;gap:10px}.actions-panel .primary{width:auto;min-width:150px}#ap{margin:5px}#hand{grid-template-columns:repeat(2,1fr);gap:8px}.card{min-height:125px;padding:12px}.card h3{font-size:18px;margin-top:12px}.hand-title small{display:none}.modal{padding:25px}.modal h1{font-size:45px}.choices{grid-template-columns:1fr}.runbar{font-size:8px;letter-spacing:1px}.scene-caption{font-size:6px}.equipment button{margin:5px 0 0}.intent{font-size:9px}.nameplate{font-size:8px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.arena{background:linear-gradient(0deg,#14131255,#14131222),url('assets/chapel.png') center 62%/cover}.arches,.moon{display:none}.sprite{background-image:url('assets/characters.png?v=2')}.intent{top:-10px}.enemy.selected:before{top:-32px}.fighter{height:260px;bottom:38px}.enemy.boss{height:290px}.sprite{background-size:300% 100%}.hunter .sprite{background-position:0% center}.arena:after{box-shadow:inset 0 0 40px #0008}.scene-caption{bottom:8px}.hunter .nameplate{bottom:-16px}.enemy-health{bottom:-25px}.enemy .nameplate{bottom:-14px}@media(max-width:750px){.fighter{height:220px;width:170px}.enemy.boss{height:245px;width:195px}.intent{top:-10px}.enemy.selected:before{top:-27px}}
.arena{background:linear-gradient(0deg,#11121165,#11121155),url('assets/chapel.png') center 62%/cover}.enemy:not(.boss) .sprite{clip-path:inset(0 6% 0 12%)}.fighter .sprite{filter:drop-shadow(0 0 2px #e7ca8a77) drop-shadow(3px 8px 4px #000)}.card p{font-size:13px}.hand-title{font-size:10px}.logbar{font-size:12px}
.planning{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;margin-bottom:12px;border:1px solid #735a37;background:#292318;gap:20px}.planning b{display:block;font-size:17px;font-weight:normal;color:var(--gold)}.planning span{display:block;color:#bdae96;font-size:12px;margin-top:5px}.planning button{white-space:nowrap}.reading .flame{animation-play-state:paused}.reading .card:disabled{opacity:.8}.card-wrap{display:flex;flex-direction:column}.card-wrap .card{width:100%;flex:1}.study{font-size:9px;letter-spacing:1px;border-top:0;padding:9px;background:#181715;color:#c5ad88}.volume{font-size:10px;color:#a9987b;display:inline-flex;gap:6px;align-items:center;margin:0 8px}.volume input{width:65px;accent-color:#bd965e}.choices.reward-grid{grid-template-columns:repeat(3,1fr)}.choices.two{grid-template-columns:repeat(2,1fr)}.sprite{animation:breathe 3s ease-in-out infinite}.enemy .sprite{animation-delay:-1.4s}.bolt{position:absolute;left:25%;top:49%;height:3px;width:65px;background:#efdab2;box-shadow:0 0 8px #e7bd7e;z-index:9;animation:bolt-flight .28s ease-in forwards}.holy-bolt{height:5px;box-shadow:0 0 15px 6px #f2b64e;background:#fff9cf}.spark{position:absolute;width:4px;height:8px;background:#c6a16c;z-index:10;animation:spark .7s ease-out forwards}.holy-spark{background:#ffeab2;box-shadow:0 0 8px #f8b544}.shoot{animation:recoil .65s!important}.enemy-strike{animation:enemy-strike .8s!important}.cleave{animation:cleave 1s!important}.shielded:after{content:'';position:absolute;inset:20% 5% 5%;border:3px solid #bdbda5;border-radius:50%;box-shadow:0 0 30px #d7cc9a88;animation:ward .7s forwards;pointer-events:none}.marked:after{content:'⟐';position:absolute;left:35%;top:30%;font-size:70px;color:#e5b55c;text-shadow:0 0 20px #d47124;animation:ward .7s forwards}.impact{animation:impact .35s}.dead .sprite{animation:crumble .75s forwards!important}.dead{transition:opacity .8s,transform .8s;transform:translateY(30px) rotate(8deg)}@keyframes breathe{50%{transform:translateY(-3px) rotate(.3deg)}}@keyframes recoil{25%{transform:translateX(-13px) rotate(-3deg)}55%{transform:translateX(7px)}}@keyframes enemy-strike{40%{transform:translateX(-70px) rotate(-6deg)}70%{transform:translateX(-15px)}}@keyframes cleave{25%{transform:translateY(-15px) rotate(10deg)}50%{transform:translateX(-85px) rotate(-12deg)}70%{transform:translateX(-40px)}}@keyframes bolt-flight{to{left:76%;opacity:.1}}@keyframes spark{to{transform:translate(var(--dx),var(--dy)) rotate(var(--spin));opacity:0}}@keyframes ward{0%{opacity:0;transform:scale(.5)}30%{opacity:1}100%{opacity:0;transform:scale(1.2)}}@keyframes crumble{to{filter:grayscale(1);transform:translateY(35px) rotate(10deg);clip-path:inset(75% 0 0 0)}}@keyframes impact{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateY(2px)}}@media(max-width:750px){header .volume{display:none}.planning{padding:11px;gap:10px}.planning b{font-size:15px}.planning span{font-size:10px}.planning button{font-size:9px;padding:12px}.choices.reward-grid{grid-template-columns:1fr 1fr}.choices.two{grid-template-columns:1fr}.study{font-size:8px}.card-wrap .card{min-height:135px}}@media(prefers-reduced-motion:reduce){.sprite,.bolt,.spark,.shoot,.enemy-strike,.cleave,.impact,.dead .sprite{animation:none!important}.bolt{display:none}}
.dead{opacity:1;animation:dissolve .85s forwards!important}@keyframes dissolve{0%,25%{opacity:1}100%{opacity:0;transform:translateY(40px) rotate(10deg)}}@media(prefers-reduced-motion:reduce){.dead{animation:none!important;opacity:0}}
/* Proportional stage and touch layout. Sprite cells retain their native 557:941 ratio. */
html{color-scheme:dark}body{overflow-x:hidden}main{max-width:1120px;padding:20px 24px}header{padding:0 max(20px,calc((100vw - 1072px)/2));height:68px}header>span{font-size:9px;letter-spacing:1px}header>div{display:flex;align-items:center;gap:4px}header button{min-height:38px}.arena{height:auto;aspect-ratio:16/6.8;min-height:360px;background-size:cover}.fighter{width:190px;height:321px;bottom:38px}.enemy.boss{width:205px;height:346px}.hunter{left:10%}.enemy{right:10%}.enemy .intent{top:8px;left:-6%;width:112%}.enemy.selected:before{top:-12px;left:32%}.enemy.boss .intent{top:26px}.enemy.boss.selected:before{top:6px}.sprite{background-size:300% 100%}.combat-hud{gap:22px;padding:18px 0}.hand-title small{font-size:11px}.planning{min-height:68px}.planning button{min-height:44px}.choices button{min-height:130px}.choices.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card-wrap{min-width:0}.card{min-height:155px}.study{min-height:38px}.modal{overscroll-behavior:contain}.primary,button{touch-action:manipulation}.volume{margin:0 4px}.volume input{width:50px}
@media(min-width:751px) and (max-width:1050px){header>span{display:none}.fighter{height:300px;width:178px}.enemy.boss{height:330px;width:195px}.card-top{font-size:8px;letter-spacing:0}.card h3{font-size:18px}}
@media(max-width:750px){header{height:auto;min-height:60px;padding:10px 12px;gap:8px;flex-wrap:wrap}header a{font-size:19px}header>div{gap:5px}header button{font-size:11px;min-height:40px;padding:7px 9px}main{padding:12px 10px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.runbar{gap:6px;font-size:9px;letter-spacing:.5px}.runbar #phase{font-size:8px}.planning{padding:10px;gap:10px;min-height:70px}.planning b{font-size:15px}.planning span{font-size:11px;line-height:1.4}.planning .primary{font-size:10px;letter-spacing:.5px;min-width:110px}.arena{aspect-ratio:auto;height:245px;min-height:0}.fighter{width:133px;height:225px;bottom:29px}.hunter{left:2%}.enemy{right:2%}.enemy.boss{width:140px;height:237px}.enemy .intent{font-size:10px;padding:6px;top:27px;width:158px;left:-12px}.enemy.selected:before{top:10px;font-size:8px}.enemy.boss .intent{top:16px}.enemy.boss.selected:before{top:0}.nameplate{letter-spacing:.5px;font-size:9px}.enemy .nameplate{width:160px;left:-13px}.scene-caption{display:none}.combat-hud{grid-template-columns:1fr 1fr;gap:12px;padding:13px 0}.health-label b{font-size:22px}.wick-panel{gap:9px;padding-left:12px}.wick-panel b{font-size:28px}.wick-panel small{font-size:10px;line-height:1.3}.candle{height:50px;width:20px;margin-top:10px}.wax{height:38px;width:20px}.flame{height:20px;width:10px;left:5px;top:-7px}.equipment{font-size:8px;line-height:1.6}.equipment strong{display:block;margin:0;font-size:12px}.equipment button{font-size:11px;min-height:38px;margin-top:5px}#effects{font-size:10px;line-height:1.5}.actions-panel{grid-column:1/-1;gap:10px}.actions-panel>.eyebrow{font-size:9px}.actions-panel .primary{min-height:44px;min-width:145px}#ap{gap:6px}#ap i{width:11px;height:11px}.hand-wrap{padding-top:12px}.hand-title{font-size:9px;line-height:1.4;margin-bottom:10px}#hand{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.card-wrap .card{min-height:120px;padding:11px}.card h3{font-size:17px;margin:12px 0 7px}.card p{font-size:12px;line-height:1.4}.card-top{font-size:8px;letter-spacing:0}.study{min-height:44px;font-size:9px;letter-spacing:.3px;padding:8px}.card:hover:not(:disabled){transform:none}.overlay{padding:12px}.modal{padding:22px;max-height:calc(100dvh - 24px)}.modal h1{font-size:46px}.modal h2{font-size:29px}.modal p{font-size:14px;line-height:1.6}.modal .subtitle{font-size:9px;letter-spacing:2px}.choices,.choices.reward-grid,.choices.two{grid-template-columns:1fr;gap:9px}.choices button{min-height:94px;margin-top:0;padding:14px}.choices strong{font-size:18px}.choices small{font-size:13px;line-height:1.5;margin-top:7px}.logbar{font-size:12px;align-items:flex-start;gap:10px;line-height:1.5}}
@media(max-width:370px){header a{font-size:17px}header button{font-size:10px;padding:6px}.planning .primary{min-width:100px;font-size:9px}.fighter{width:121px;height:205px}.enemy.boss{width:133px;height:225px}.card h3{font-size:15px}.card-top{font-size:7px}.actions-panel .primary{min-width:130px}.actions-panel>.eyebrow{display:none}}
@media(max-height:550px) and (orientation:landscape){.overlay{align-items:flex-start}.modal{max-height:calc(100dvh - 24px)}.arena{height:270px;min-height:0}.fighter{height:230px;width:136px}.enemy.boss{height:250px;width:148px}}
@media(max-width:750px){header{min-height:52px;flex-wrap:nowrap;padding:7px 10px;gap:6px}header a{font-size:15px;white-space:nowrap}header button{font-size:9px;min-height:36px;padding:6px 7px}header>div{gap:4px}.planning{min-height:62px;padding:8px}.planning b{font-size:14px}.planning span{font-size:10px}.arena{height:200px}.fighter{height:186px;width:110px;bottom:25px}.enemy.boss{height:197px;width:117px}.hunter{left:4%}.enemy{right:4%}.enemy .intent{top:19px;font-size:9px;width:143px;left:-20px}.enemy.selected:before{top:3px;font-size:7px}.enemy.boss .intent{top:12px}.enemy.boss.selected:before{top:-2px}.enemy .nameplate{width:145px;left:-19px;font-size:8px}.hunter .nameplate{font-size:8px}.enemy-health{bottom:-20px}.combat-hud{padding:10px 0;gap:8px 10px}.health-label{margin:5px 0}.health-label b{font-size:20px}.equipment{margin-top:6px}.equipment strong{display:inline;margin-left:5px;font-size:11px}.equipment button{min-height:36px}.wick-panel{padding-left:10px}.wick-panel .eyebrow{font-size:8px;letter-spacing:1px}.wick-panel b{font-size:26px}.wick-panel small{font-size:9px}.candle{width:18px;height:45px}#effects{margin-top:5px;font-size:9px;line-height:1.4}.actions-panel .primary{min-height:44px}.hand-wrap{padding-top:10px}.card-wrap .card{min-height:94px;padding:9px}.card h3{font-size:15px;margin:9px 0 6px}.card p{font-size:11px;line-height:1.35}.card-top{font-size:7px}.study{font-size:8px;min-height:40px}.logbar{margin-top:12px;font-size:11px}} 
@media(min-width:751px){.arena{height:clamp(280px,35vh,360px);min-height:0;aspect-ratio:auto}.fighter{height:82%;width:auto;aspect-ratio:557/941}.enemy.boss{height:91%;width:auto;aspect-ratio:557/941}.card{min-height:135px}.combat-hud{padding:15px 0}.planning{min-height:64px;padding:11px 16px}}
.character-choices button{padding:16px;overflow:hidden}.character-art{display:block;height:190px;width:113px;margin:0 auto 12px;background:url('assets/players.png') 0% center/300% 100% no-repeat}.character-art.vampire{background-position:50% center}.character-art.knight{background-position:100% center}.hunter[data-character] .sprite{background-image:url('assets/players.png');background-position:0% center}.hunter[data-character=vampire] .sprite{background-position:50% center}.hunter[data-character=knight] .sprite{background-position:100% center}#resource{color:#d0a66a;letter-spacing:1px;font-size:11px;margin-top:9px}.skill-reason{display:block;color:#d19578;font-size:10px;margin-top:5px}.melee-swing{animation:player-swing .65s!important}.sword-slash{position:absolute;left:72%;top:40%;width:60px;height:110px;border-right:7px solid #eddec0;border-radius:50%;z-index:10;transform:rotate(35deg);animation:slash .6s forwards;box-shadow:8px 0 20px #dac49b44}.blood-slash{border-color:#da493d;box-shadow:8px 0 25px #c83124}@keyframes player-swing{35%{transform:translateX(48px) rotate(5deg)}65%{transform:translateX(18px) rotate(-4deg)}}@keyframes slash{0%{opacity:0;transform:rotate(-40deg) scale(.6)}40%{opacity:1;transform:rotate(25deg) scale(1.2)}100%{opacity:0;transform:rotate(60deg)}}@media(max-width:750px){.character-art{height:105px;width:62px;float:left;margin:0 12px 8px 0}.character-choices button{min-height:140px}.character-choices small{font-size:12px}#resource{font-size:9px;margin-top:5px}.skill-reason{font-size:9px}.card-wrap .card{min-height:107px}.card p{font-size:10px}}
.character-art{width:163px;height:190px;background-size:300% 100%}.hunter[data-character]{width:auto;aspect-ratio:2009/2349}.hunter[data-character=knight] .sprite{clip-path:polygon(20% 0,100% 0,100% 100%,0 100%,0 40%,20% 40%)}@media(max-width:750px){.character-art{width:90px;height:105px}.hunter[data-character]{width:159px;height:186px;aspect-ratio:2009/2349;left:0}.card h3{font-size:14px}.character-choices button{min-height:155px}}@media(max-width:370px){.hunter[data-character]{width:146px;height:171px;left:-2%}}
#journey{display:flex;align-items:center;gap:9px;margin:0 0 13px}#journey span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #4e4231;font-size:10px;color:#89785f}#journey .current{border-color:#d4a55f;color:#edcb92;background:#35291b}#journey .cleared{color:#a9ae80;border-color:#68704c}#subtitles{position:absolute;left:12%;right:12%;bottom:26px;padding:8px 12px;background:#0b0b0be8;color:#ead7b8;text-align:center;font-size:14px;line-height:1.5;border-top:1px solid #8e7047;z-index:12;pointer-events:none}.settings-grid{display:grid;gap:18px;margin:20px 0}.settings-grid label{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:15px}.settings-grid input[type=range]{width:60%;accent-color:#c4a16a}.calm-motion .sprite,.calm-motion .impact,.calm-motion .spark,.calm-motion .shoot,.calm-motion .melee-swing,.calm-motion .enemy-strike,.calm-motion .cleave{animation:none!important}.calm-motion .spark,.calm-motion .bolt{display:none}.hunter[data-character=hunter] .sprite{background-image:url('assets/hunter-poses.png');background-size:400% 100%;background-position:0% center}.hunter[data-character=hunter][data-pose='1'] .sprite{background-position:33.3333% center}.hunter[data-character=hunter][data-pose='2'] .sprite{background-position:66.6667% center}.hunter[data-character=hunter][data-pose='3'] .sprite{background-position:100% center}.hunter[data-character=hunter]{aspect-ratio:538/731}.holy-bolt:after{content:'';position:absolute;inset:-20px 0;background:radial-gradient(ellipse,#f9cc7177,transparent 70%)}.modal.cover{position:relative;isolation:isolate;overflow:hidden}.title-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;z-index:-1}.arena .mist{position:absolute;inset:0;background:linear-gradient(100deg,transparent,#ded4bb0b,transparent);animation:chapel-mist 14s linear infinite;z-index:1;pointer-events:none}@keyframes chapel-mist{from{transform:translateX(-50%)}to{transform:translateX(50%)}}@media(max-width:750px){header a{font-size:13px}header button{font-size:8px;padding:5px;min-height:36px}header>div{gap:3px}#journey{gap:6px;margin-bottom:9px}#journey span{width:21px;height:21px;font-size:9px}#subtitles{font-size:11px;left:4%;right:4%;bottom:21px;padding:6px}.hunter[data-character=hunter]{width:136px;height:186px;aspect-ratio:538/731;left:0}.character-art{float:none}.character-choices .character-art{float:left}.settings-grid label{font-size:13px}.settings-grid input[type=range]{width:55%}}@media(prefers-reduced-motion:reduce){.title-film{display:none}.arena .mist{animation:none!important}}
@media(max-width:750px){#game[data-character=hunter] #resource{display:none}#game[data-character=hunter] .arena{height:185px}#game[data-character=hunter] .hunter{height:173px;width:127px}#game[data-character=hunter] .enemy{height:173px;width:103px}#game[data-character=hunter] .enemy.boss{height:182px;width:108px}#game[data-character=hunter] .card-wrap .card{min-height:84px;padding:8px}#game[data-character=hunter] .card h3{font-size:14px;margin:7px 0 5px}#game[data-character=hunter] .study{min-height:40px}}
/* Illustrated pose animation: idle, attack, magic and defense for each soul. */
.hunter[data-character=vampire] .sprite{background-image:url('assets/vampire-poses.png');background-size:400% 100%;background-position:0 center;clip-path:none}
.hunter[data-character=knight] .sprite{background-image:url('assets/knight-poses.png');background-size:400% 100%;background-position:0 center;clip-path:none}
.hunter[data-character=vampire],.hunter[data-character=knight]{aspect-ratio:512/683}
.hunter[data-character][data-pose='1'] .sprite{background-position:33.3333% center}.hunter[data-character][data-pose='2'] .sprite{background-position:66.6667% center}.hunter[data-character][data-pose='3'] .sprite{background-position:100% center}
.enemy[data-kind=duelist] .sprite,.enemy[data-kind=bell] .sprite,.enemy[data-kind=hound] .sprite,.enemy[data-kind=wax] .sprite{background-image:url('assets/enemies-expanded.png');background-size:400% 100%;clip-path:none}
.enemy[data-kind=duelist] .sprite{background-position:0 center}.enemy[data-kind=bell] .sprite{background-position:33.3333% center}.enemy[data-kind=hound] .sprite{background-position:66.6667% center}.enemy[data-kind=wax] .sprite{background-position:100% center}
.enemy[data-kind=duelist],.enemy[data-kind=bell],.enemy[data-kind=hound],.enemy[data-kind=wax]{aspect-ratio:512/683;width:auto}.enemy[data-kind=hound] .sprite{animation:hound-prowl 2.2s ease-in-out infinite}.enemy[data-kind=bell] .sprite{animation:bell-sway 4s ease-in-out infinite}.enemy[data-kind=wax] .sprite{animation:wax-flicker 2s ease-in-out infinite}.enemy[data-kind=duelist].enemy-strike{animation:duelist-lunge .8s!important}.enemy[data-kind=hound].enemy-strike{animation:hound-pounce .8s!important}.enemy[data-kind=bell].cleave{animation:bell-toll 1s!important}
.character-art.vampire{background-image:url('assets/vampire-poses.png');background-size:400% 100%;background-position:0 center}.character-art.knight{background-image:url('assets/knight-poses.png');background-size:400% 100%;background-position:0 center}.character-choices button:hover .character-art,.character-choices button:focus-visible .character-art{animation:choose-soul 1.4s ease-in-out infinite}
.class-spell{position:absolute;z-index:8;pointer-events:none;left:16%;top:22%;width:105px;height:140px;border-radius:50%;animation:spell-bloom .9s ease-out forwards}.blood-pact{border:4px solid #a91524;box-shadow:0 0 25px #b41928,inset 0 0 20px #b41928}.blood-feast{left:64%;border:5px solid #d03444;box-shadow:0 0 35px #aa1229,inset 0 0 35px #aa1229}.mist-veil{background:radial-gradient(ellipse,#b6a4b777,transparent 70%);width:170px;filter:blur(6px)}.oath-ring{border:4px solid #f1deaa;box-shadow:0 0 25px #e6d9b5,inset 0 0 20px #e6d9b5}.bell-wave{left:55%;width:40%;height:80%;top:10%;border:4px solid #bdaa70;animation:bell-wave .9s ease-out forwards}.wax-flare{left:64%;background:radial-gradient(ellipse,#ffe6a0aa,#d5a85844,transparent 70%)}
@keyframes spell-bloom{0%{opacity:0;transform:scale(.4) rotate(-20deg)}35%{opacity:1}100%{opacity:0;transform:scale(1.3) rotate(35deg)}}@keyframes hound-prowl{50%{transform:translateY(-2px) translateX(-4px)}}@keyframes bell-sway{50%{transform:rotate(-1.5deg)}}@keyframes wax-flicker{50%{filter:drop-shadow(0 0 7px #e9b86f66)}}@keyframes duelist-lunge{30%{transform:translateX(12px)}50%{transform:translateX(-75px) rotate(-4deg)}}@keyframes hound-pounce{25%{transform:translateY(8px)}50%{transform:translate(-80px,-20px) rotate(-7deg)}}@keyframes bell-toll{30%{transform:rotate(7deg)}60%{transform:rotate(-6deg)}}@keyframes bell-wave{to{transform:translateX(-70%) scale(1.5);opacity:0}}@keyframes choose-soul{50%{transform:translateY(-5px)}}
.calm-motion .class-spell{display:none}.calm-motion .enemy .sprite,.calm-motion .character-art{animation:none!important}.calm-motion .title-film{display:none}
@media(max-width:750px){.hunter[data-character=vampire],.hunter[data-character=knight]{width:139px;height:186px;left:0}.enemy[data-kind=duelist],.enemy[data-kind=bell],.enemy[data-kind=hound],.enemy[data-kind=wax]{width:139px;height:186px;right:0}.enemy .intent{z-index:3}.class-spell{width:75px;height:105px;left:12%}.blood-feast,.wax-flare{left:65%}.bell-wave{left:50%}.mist-veil{width:130px}}
@media(prefers-reduced-motion:reduce){.class-spell{display:none}.character-art{animation:none!important}}
@media(max-width:750px){#game[data-character=hunter] .arena{height:210px}#game[data-character=hunter] .enemy[data-kind=bell]{height:170px;width:127px;bottom:24px}#game[data-character=hunter] .enemy[data-kind=bell] .intent{top:0}#game[data-character=hunter] .enemy[data-kind=bell].selected:before{top:-16px}}
.dialogue-caption{color:#edcf9c!important;border-top:1px solid #735a37;padding-top:12px;font-style:italic;font-size:14px!important}.dialogue-caption[hidden]{display:none}
/* Thornbound Harvester: ready, sickle, conjure, cultivate. */
.character-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.character-art.harvester{background:url('assets/harvester-poses.png') 0 center/400% 100% no-repeat;width:143px}.hunter[data-character=harvester]{aspect-ratio:512/683;width:auto}.hunter[data-character=harvester] .sprite{background-image:url('assets/harvester-poses.png');background-size:400% 100%;background-position:0 center;clip-path:none}.hunter[data-character=harvester][data-pose='1'] .sprite{background-position:33.3333% center}.hunter[data-character=harvester][data-pose='2'] .sprite{background-position:66.6667% center}.hunter[data-character=harvester][data-pose='3'] .sprite{background-position:100% center}.hunter .nameplate{white-space:normal;line-height:1.3}.harvest-slash{border-color:#b2a17b;box-shadow:8px 0 20px #b1243844}.thorn-vines{left:66%;border:4px solid #747c45;border-radius:40% 60% 35% 65%;box-shadow:0 0 16px #94313e,inset 0 0 12px #6a7545;transform:rotate(30deg)}.thorn-vines:before,.thorn-vines:after{content:'✿';position:absolute;color:#bd304b;font-size:28px;left:10%;top:10%}.thorn-vines:after{left:70%;top:65%}.rose-shelter{border:3px solid #9b3544;box-shadow:0 0 26px #742d3b;background:radial-gradient(ellipse,#841b3433,transparent)}.rose-harvest{left:65%;border:6px double #a52745;box-shadow:0 0 30px #a82d44,inset 0 0 24px #a82d44}.rose-harvest:after{content:'✿';position:absolute;inset:0;display:grid;place-items:center;color:#ca4658;font-size:80px}#resource:has(.bloom-rose){display:flex;align-items:center;gap:12px;min-height:34px}#resource small{display:block;font-size:9px;letter-spacing:.5px;color:#ba9a7b;margin-top:4px}.bloom-rose{display:inline-block;position:relative;width:32px;height:32px;flex:none}.bloom-rose i{position:absolute;left:11px;top:1px;width:10px;height:17px;border:1px solid #71454b;background:#2b1d21;border-radius:80% 80% 25% 25%;transform-origin:50% 15px;transform:rotate(calc(var(--petal)*72deg))}.bloom-rose i.filled{background:#bc3b53;border-color:#e47589;box-shadow:0 0 6px #a42c43}
@media(max-width:750px){.character-choices{grid-template-columns:1fr}.character-choices button{min-height:145px}.character-art.harvester{width:78px;height:105px}.hunter[data-character=harvester]{height:173px;width:130px;left:1%}#game[data-character=harvester] .arena{height:210px}#game[data-character=harvester] .hunter .nameplate{width:140px;left:-8px;font-size:8px}#game[data-character=harvester] .card-wrap .card{min-height:120px}.vitals>.eyebrow{font-size:9px;letter-spacing:1px}#resource small{font-size:8px}.bloom-rose{transform:scale(.8);margin-right:-4px}}
/* Clarity pass: one semantic palette, anchored bodies and a quiet combat HUD. */
:root{--stat-ap:#ceb9ff;--stat-damage:#ffb086;--stat-vitality:#a7dcae;--stat-wick:#f2cf80;--stat-block:#9cdee7;--stat-blood:#ff8da6;--stat-resolve:#b3c8ff;--stat-bloom:#efafd2;--stat-mark:#f3d999}
.stat-token{display:inline-flex;align-items:center;gap:3px;white-space:normal;font-variant-numeric:tabular-nums;font-size:inherit;line-height:inherit}.stat-token>span{font-family:Georgia,serif;flex:none}.stat-ap{color:var(--stat-ap)}.stat-damage{color:var(--stat-damage)}.stat-vitality{color:var(--stat-vitality)}.stat-wick{color:var(--stat-wick)}.stat-block{color:var(--stat-block)}.stat-blood{color:var(--stat-blood)}.stat-resolve{color:var(--stat-resolve)}.stat-bloom{color:var(--stat-bloom)}.stat-mark{color:var(--stat-mark)}.stat-cost{border:1px solid #a66b73;border-radius:3px;padding:1px 4px;background:#6d283026}.blessing-copy{border-left:2px solid #9fb995;padding-left:10px;color:#c9d8bd}.curse-copy{border-left:2px solid #ba6c7d;padding-left:10px;color:#dbb0b4}.blessing-copy b,.curse-copy b{font-size:10px;letter-spacing:1.2px}.visual-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;font-size:14px}.visual-legend p{grid-column:1/-1}.journal{max-width:720px}.journal h3{font-size:19px;margin:24px 0 8px}.journal p{font-size:14px;line-height:1.6}.journal-tabs{display:flex;gap:10px;margin:20px 0}
.arena .fighter:not(.dead) .sprite{transform-origin:50% 98%;animation:grounded-ready 5.5s ease-in-out infinite!important}.arena .enemy:not(.dead) .sprite{animation-delay:-2s!important}.arena .enemy[data-kind=hound]:not(.dead) .sprite{animation-name:grounded-hound!important}.busy .arena .fighter .sprite{animation-play-state:paused!important}.ground-shadow{display:block;position:absolute;left:20%;bottom:0;width:60%;height:9px;background:radial-gradient(ellipse,#000c,transparent 72%);z-index:-1;pointer-events:none}.enemy.selected:before{display:none}
@keyframes grounded-ready{0%,100%{transform:rotate(-.18deg) scaleX(1)}50%{transform:rotate(.25deg) scaleX(.995)}}@keyframes grounded-hound{0%,100%{transform:rotate(-.3deg)}50%{transform:rotate(.35deg) scaleX(.99)}}
#journey,.scene-caption,.planning-copy,#planning-copy,.equipment,#effects,.logbar,.vitals>.eyebrow,.hand-title small,#phase,#wickstatus{display:none!important}.runbar{font-size:10px;letter-spacing:1px;margin-bottom:10px}.planning{padding:8px 12px;min-height:48px;margin-bottom:10px;border-color:#4d4537;background:#201d18}.planning b{font-size:15px}.planning button{font-size:11px;min-height:40px;padding:9px 16px}.combat-hud{padding:12px 0;gap:18px;grid-template-columns:1.1fr .9fr .9fr;align-items:center}.health-label{justify-content:flex-start;gap:9px;margin:0 0 7px}.health-label>span:last-child{display:none}.health-label b{font-size:24px;color:var(--stat-vitality)}#hp:before{content:'♥ ';font-size:18px}.meter i{background:#79b282}.gold i{background:var(--stat-wick)}#blockstat{font-size:11px}.wick-panel{gap:10px;padding-left:16px}.wick-panel b{font-size:29px;color:var(--stat-wick)}.wick-panel .eyebrow{font-size:8px;letter-spacing:1px}.wick-panel b:before{content:'◷ ';font-size:19px}.wick-panel .candle{display:none}.wick-panel small{display:none}.actions-panel{gap:9px}.actions-panel>.eyebrow{display:none}#ap i{background:var(--stat-ap);border-color:var(--stat-ap);width:10px;height:10px}#ap i.empty{background:transparent;opacity:.25}.actions-panel .primary{font-size:11px;min-height:42px;padding:10px 14px}#resource{margin-top:8px!important;font-size:11px;letter-spacing:.4px;color:var(--paper);min-height:0!important}#resource small{display:none}.bloom-rose{width:25px;height:25px;transform:scale(.75);margin:-4px -5px -4px -3px}.hand-wrap{padding-top:12px}.hand-title{font-size:9px;margin-bottom:8px}.card-wrap{position:relative}.card-wrap .card{min-height:128px;padding:12px 12px 28px;text-align:left}.card h3{font-size:17px;margin:12px 0 8px}.card p{font-size:12px;line-height:1.6;display:flex;flex-wrap:wrap;gap:5px 9px}.card-top{font-size:9px;letter-spacing:0}.card-top>span:last-child{color:#8c806e}.card .sigil{display:none}.study{position:absolute;right:4px;bottom:3px;border:0;background:transparent;min-height:32px;min-width:36px;padding:3px;font-size:19px;color:#bba988;letter-spacing:0}.study:hover{background:#342a20}.skill-reason{font-size:9px;line-height:1.3}.intent .stat-token{display:inline-flex}.nameplate{font-size:9px;letter-spacing:1px}#subtitles{bottom:7px;left:8%;right:8%;font-size:13px;border-color:#6f5b3d;padding:7px 12px}.calm-motion .arena .fighter:not(.dead) .sprite{animation:none!important}
.route-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:22px 0}.modal.routes{max-width:1000px;background:#181a18;border-color:#657061}.routes h2{margin-bottom:8px}.route-key{font-size:12px!important;color:#bdc5b1!important}.route-card{padding:0!important;overflow:hidden;text-align:left;background:#20241f;border-color:#59634c;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.route-card:hover{transform:translateY(-4px);border-color:#d7bd78!important;background:#252b22!important}.route-art{display:block;width:100%;aspect-ratio:1.6;background:url('assets/routes.png') 0 0/200% 200% no-repeat;border-bottom:1px solid #657061}.route-ossuary{background-position:100% 0}.route-armory{background-position:0 100%}.route-vigil{background-position:100% 100%}.route-content{padding:15px;display:flex;flex-direction:column;gap:10px;flex:1}.route-skulls{font-size:23px;letter-spacing:6px;color:#b8c3ab;line-height:1}.difficulty-2{color:#e7c282}.difficulty-3{color:#e69b98}.route-content strong{font-size:21px;line-height:1.2;color:#e3dbc4;font-weight:normal}.route-content small{font-size:13px;line-height:1.5;color:#bdc3b3}.route-reward{border-top:1px solid #434d3d;padding-top:10px}.route-enter{font-size:10px;letter-spacing:1px;color:#c4ca9d;margin-top:auto;padding-top:8px}.choices.reward-grid button:before{content:'✧ OFFERING';display:block;color:#bca2d1;font-size:9px;letter-spacing:1.5px;margin-bottom:12px}
@media(max-width:750px){header #help{font-size:9px}main{padding-top:10px}.runbar{font-size:8px;letter-spacing:.5px;gap:8px;margin-bottom:8px}.planning{min-height:46px;padding:5px 9px;gap:8px}.planning b{font-size:13px}.planning .primary{min-height:36px;min-width:108px;font-size:9px;padding:8px 10px}#game .arena,#game[data-character=hunter] .arena,#game[data-character=harvester] .arena{height:215px}#game .fighter{bottom:30px}#game .hunter[data-character=hunter]{height:173px;width:127px}#game .hunter[data-character=harvester]{height:173px;width:130px}#game .hunter[data-character=vampire],#game .hunter[data-character=knight]{height:173px;width:130px}#game .enemy{height:173px}#game .enemy.boss{height:180px}#game .enemy .intent,#game .enemy.boss .intent{top:1px;font-size:9px;padding:5px;width:151px;left:-20px}#game[data-character=hunter] .enemy[data-kind=bell] .intent{top:0}.combat-hud{grid-template-columns:1.1fr .9fr;gap:10px;padding:10px 0}.health-label{gap:6px;margin-bottom:5px}.health-label b{font-size:20px}#hp:before{font-size:15px}#blockstat{font-size:9px}.wick-panel{padding-left:12px;gap:0}.wick-panel b{font-size:25px}.wick-panel .eyebrow{font-size:8px}.wick-panel .meter{margin-top:4px}#resource{font-size:10px;margin-top:6px!important}#resource:has(.bloom-rose){gap:6px}.actions-panel{grid-column:1/-1;justify-content:space-between;display:flex;align-items:center}.actions-panel .primary{font-size:10px;min-width:125px;min-height:40px}#ap{gap:8px}.hand-wrap{padding-top:10px}.hand-title{font-size:9px;margin-bottom:7px}#hand{gap:8px}.card-wrap .card,#game[data-character=hunter] .card-wrap .card,#game[data-character=harvester] .card-wrap .card{min-height:108px;padding:9px 9px 25px}.card h3,#game[data-character=hunter] .card h3{font-size:15px;margin:8px 0 6px}.card p{font-size:10px;line-height:1.4;gap:3px 7px}.card-top{font-size:8px}.study,#game[data-character=hunter] .study{min-height:32px;min-width:36px;font-size:18px;padding:2px;right:3px;bottom:2px}.stat-cost{padding:0 3px}.nameplate{font-size:8px!important}#subtitles{font-size:11px;bottom:3px;left:3%;right:3%;padding:6px}.visual-legend{grid-template-columns:1fr 1fr;font-size:13px;gap:12px}.route-choices{grid-template-columns:1fr;gap:12px;margin:16px 0}.route-card{display:grid;grid-template-columns:112px 1fr;min-height:175px}.route-art{height:100%;aspect-ratio:auto;border-right:1px solid #657061;border-bottom:0;background-size:250% 200%}.route-content{padding:12px;gap:7px}.route-content strong{font-size:19px}.route-content small{font-size:12px}.route-skulls{font-size:18px;letter-spacing:4px}.route-enter{font-size:9px;padding-top:4px}.route-key{font-size:11px!important}.journal p{font-size:13px}.journal h3{font-size:18px;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.arena .fighter:not(.dead) .sprite{animation:none!important}.route-card{transition:none}.route-card:hover{transform:none}}
@media(max-width:750px){.card p{font-size:11px;line-height:1.4}.study,#game[data-character=hunter] .study{min-height:40px;min-width:44px}.enemy .intent{font-size:10px!important}}
.stat-icon{width:10px;height:13px;vertical-align:-2px;display:inline-block}#ap:before{content:'AP';font-size:9px;letter-spacing:1px;color:var(--stat-ap);margin-right:4px;align-self:center}
/* Scene and command-deck pass: action controls live together beneath the field. */
header{height:44px;min-height:44px;padding:0 24px}.game-brand{display:block!important;font-size:19px;letter-spacing:-.5px;color:#e5d6b8}.game-brand b{color:var(--gold)}header>span:not(.game-brand){font-size:9px;letter-spacing:2px}main{max-width:1440px;padding:10px 20px 14px}#game{display:grid;grid-template-rows:auto minmax(330px,1fr) auto auto auto;gap:8px;min-height:790px;height:calc(100svh - 68px)}.runbar{margin:0;font-size:9px;align-items:center}#location{color:#b8a17c;letter-spacing:1px}#game .arena,#game[data-character=hunter] .arena,#game[data-character=harvester] .arena{height:100%;min-height:0;aspect-ratio:auto;transition:background-image .4s ease}.arena[data-scene=crypt]{background:linear-gradient(#10131325,#10131335),url('assets/scene-crypt.png') center 62%/cover}.arena[data-scene=ossuary]{background:linear-gradient(#19101025,#19101035),url('assets/scene-ossuary.png') center 62%/cover}.arena[data-scene=armory]{background:linear-gradient(#13120e25,#13120e35),url('assets/scene-armory.png') center 62%/cover}.arena[data-scene=vigil]{background:linear-gradient(#18150f25,#18150f35),url('assets/scene-vigil.png') center 62%/cover}#game .fighter,#game .hunter[data-character],#game .enemy[data-kind]{height:84%;width:auto;bottom:29px}#game .hunter[data-character=hunter]{aspect-ratio:538/731;left:9%}#game .hunter[data-character=vampire],#game .hunter[data-character=knight],#game .hunter[data-character=harvester]{aspect-ratio:512/683;left:7%}#game .enemy{aspect-ratio:557/941;right:10%}#game .enemy[data-kind=duelist],#game .enemy[data-kind=bell],#game .enemy[data-kind=hound],#game .enemy[data-kind=wax]{aspect-ratio:512/683;right:7%}#game .enemy.boss{height:88%;width:auto}#game .enemy .intent,#game .enemy.boss .intent{top:4px;left:-8%;width:116%;font-size:11px}#game .enemy[data-kind=bell] .intent{top:4px}.combat-hud{grid-template-columns:1fr 1fr;padding:6px 0;gap:30px;border-bottom:0}.health-label{margin-bottom:4px}.health-label b{font-size:22px}.wick-panel{padding-left:18px}.wick-panel b{font-size:25px}.wick-panel>div:last-child{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 15px}.wick-panel .eyebrow{grid-column:1}.wick-panel>div:last-child>div:not(.meter){grid-column:2;grid-row:1/3}.wick-panel .meter{grid-column:1;grid-row:2}#resource{margin-top:5px!important}.battle-dialogue{display:flex;gap:12px;align-items:center;min-height:78px;padding:10px 14px;background:#191c20;border:2px solid #92816a;border-radius:5px;box-shadow:inset 0 0 0 2px #24242a}.talk-portrait{flex:none;width:49px;height:57px;background:url('assets/candle.svg') center/30px no-repeat;border-right:1px solid #675a49;margin-right:2px}.talk-copy{min-width:0;flex:1}.talk-copy>b{font-size:10px;letter-spacing:1.3px;color:#dbc294;text-transform:uppercase}.talk-copy p{font-size:15px;line-height:1.45;margin:6px 0 0;min-height:22px}.battle-dialogue button{font-size:11px;min-height:40px;flex:none;border-color:#867456}.battle-dialogue [hidden]{display:none!important}.battle-dialogue[data-actor=hunter] .talk-portrait{background-image:url('assets/hunter-poses.png');background-size:400% 100%;background-position:0 0}.battle-dialogue[data-actor=vampire] .talk-portrait{background-image:url('assets/vampire-poses.png');background-size:400% 100%;background-position:0 0}.battle-dialogue[data-actor=knight] .talk-portrait{background-image:url('assets/knight-poses.png');background-size:400% 100%;background-position:0 0}.battle-dialogue[data-actor=harvester] .talk-portrait{background-image:url('assets/harvester-poses.png');background-size:400% 100%;background-position:0 0}.battle-dialogue[data-actor=grave] .talk-portrait,.battle-dialogue[data-actor=warden] .talk-portrait{background-image:url('assets/characters.png');background-size:300% 100%;background-position:50% 0}.battle-dialogue[data-actor=bone] .talk-portrait{background-image:url('assets/characters.png');background-size:300% 100%;background-position:100% 0}.battle-dialogue[data-actor=duelist] .talk-portrait,.battle-dialogue[data-actor=bell] .talk-portrait,.battle-dialogue[data-actor=hound] .talk-portrait,.battle-dialogue[data-actor=wax] .talk-portrait{background-image:url('assets/enemies-expanded.png');background-size:400% 100%}.battle-dialogue[data-actor=duelist] .talk-portrait{background-position:0 0}.battle-dialogue[data-actor=bell] .talk-portrait{background-position:33.3333% 0}.battle-dialogue[data-actor=hound] .talk-portrait{background-position:66.6667% 0}.battle-dialogue[data-actor=wax] .talk-portrait{background-position:100% 0}.command-dock{border-top:1px solid #64523b;background:#171613;padding:8px 0 0}.dock-commands{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:7px 0}.dock-commands .planning{border:0;background:none;padding:0;margin:0;min-height:40px;gap:15px}.planning b{font-size:12px;white-space:nowrap}.planning .primary{min-width:160px;min-height:40px}.dock-commands .actions-panel{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex:1}.actions-panel .primary{min-height:40px}.hand-wrap{padding-top:0}.hand-title{display:none}#hand{gap:10px}.card-wrap .card{min-height:98px;padding:9px 10px 24px}.card h3{font-size:16px;margin:8px 0 6px}.card p{font-size:11px}.dock-utilities>div{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding-top:6px}.dock-utilities button{font-size:10px;min-height:32px;padding:6px 12px;background:transparent}.dock-utilities .volume{display:none}.equipped-banner{display:flex;align-items:center;gap:10px;min-height:36px;padding:5px 10px;background:#24211a;border:1px solid #5e503b}.equipped-banner .weapon-icon{width:31px;height:31px}.equipped-banner>span:nth-child(2){display:flex;align-items:baseline;gap:8px}.equipped-banner small{font-size:8px;letter-spacing:1.2px;color:#bfa57a}.equipped-banner strong{font-size:14px;font-weight:normal;color:#f0dbb5}.equipped-banner #equipped-stats{display:flex;gap:9px;font-size:11px;flex:1}.equipped-banner button{font-size:10px;min-height:30px;padding:5px 10px}.equipped-banner.new-weapon{border-color:#eed18b;box-shadow:inset 0 0 14px #b48a2733}.equipped-banner.new-weapon small:before{content:'NEW · ';color:#f3d987}.weapon-icon{width:74px;height:74px;color:#d9c295;flex:none}.weapon-offer{border-color:#b49b63!important}.weapon-offer>.weapon-icon{width:55px;height:55px;display:block;margin-bottom:6px}.weapon-comparison{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.weapon-card{border:1px solid #74603f;background:#242017;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.weapon-card small{font-size:9px;letter-spacing:1.5px;color:#c1a568}.weapon-card strong{font-size:21px;font-weight:normal}.weapon-card p{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0;font-size:14px}.pickup-actions{display:flex;gap:10px;flex-wrap:wrap}.pickup-actions button{min-height:44px}.loadout .weapon-comparison{align-items:start}.loadout .weapon-comparison .weapon-card{grid-row:1}.loadout .weapon-comparison button{grid-row:2;min-height:44px}.route-art{aspect-ratio:3/2;height:auto;background-size:200% 200%}.enemy{cursor:default}
@media(max-width:750px){header{height:34px;min-height:34px;padding:0 10px;justify-content:center}.game-brand{font-size:16px}header>span:not(.game-brand){display:none}main{padding:5px 8px 8px}#game{height:calc(100svh - 48px);min-height:735px;grid-template-rows:18px minmax(240px,1fr) auto auto auto;gap:6px}.runbar{font-size:8px;letter-spacing:0;gap:5px}#location{font-size:7px;letter-spacing:.3px;max-width:115px;text-align:right}#game .arena,#game[data-character=hunter] .arena,#game[data-character=harvester] .arena{height:100%;min-height:0}#game .fighter,#game .hunter[data-character],#game .enemy[data-kind],#game .enemy.boss{height:83%;width:auto;bottom:26px}#game .hunter[data-character=hunter]{left:0}#game .hunter[data-character=vampire],#game .hunter[data-character=knight],#game .hunter[data-character=harvester]{left:0}#game .enemy{right:3%}#game .enemy[data-kind=duelist],#game .enemy[data-kind=bell],#game .enemy[data-kind=hound],#game .enemy[data-kind=wax]{right:0}#game .enemy .intent,#game .enemy.boss .intent{font-size:9px!important;width:150px;left:auto;right:-5px;top:0}#game[data-character=hunter] .enemy[data-kind=bell] .intent{top:0}#game .hunter .nameplate{width:145px!important;left:0!important;font-size:8px!important}.enemy .nameplate{left:auto;right:-5px;width:145px}.combat-hud{padding:2px 0;gap:10px}.health-label b{font-size:19px}.health-label{gap:5px;margin-bottom:4px}.wick-panel{padding-left:10px}.wick-panel b{font-size:23px}.wick-panel .eyebrow{font-size:7px;letter-spacing:.5px}.wick-panel>div:last-child{gap:3px 8px}#resource{font-size:9px;margin-top:3px!important}#resource:has(.bloom-rose){min-height:16px!important}.bloom-rose{margin:-7px -5px -7px -3px;transform:scale(.65)}.battle-dialogue{min-height:70px;padding:7px 9px;gap:7px}.talk-portrait{width:35px;height:46px}.talk-copy>b{font-size:8px;letter-spacing:.6px}.talk-copy p{font-size:12px;line-height:1.35;margin-top:4px}.battle-dialogue button{font-size:9px;padding:5px 6px;min-height:36px}.command-dock{padding-top:5px}.equipped-banner{gap:6px;min-height:34px;padding:3px 6px}.equipped-banner .weapon-icon{width:27px;height:27px}.equipped-banner>span:nth-child(2){display:block;line-height:1.15;min-width:0;flex:1}.equipped-banner small{display:block;font-size:7px;letter-spacing:.7px}.equipped-banner strong{font-size:12px}.equipped-banner #equipped-stats{font-size:8px;display:flex;gap:4px;flex:none;flex-direction:column}.equipped-banner button{font-size:8px;padding:4px 6px;min-height:30px}.dock-commands{gap:7px;margin:6px 0}.dock-commands .planning{min-height:36px;gap:0;flex:1}.planning>div{display:none}.planning .primary{min-width:0;width:100%;min-height:38px;font-size:9px;padding:7px 9px}.dock-commands .actions-panel{grid-column:auto;gap:8px;flex:1}.actions-panel .primary{min-width:0;min-height:38px;font-size:9px;padding:7px 9px;flex:1}#ap{gap:5px}#ap i{width:8px;height:8px}#ap:before{font-size:7px;margin-right:0}.hand-wrap{padding:0}#hand{gap:6px}.card-wrap .card,#game[data-character=hunter] .card-wrap .card,#game[data-character=harvester] .card-wrap .card{min-height:88px;padding:7px 8px 22px}.card h3,#game[data-character=hunter] .card h3{font-size:14px;margin:6px 0 4px}.card p{font-size:10px;line-height:1.3;gap:2px 6px}.card-top{font-size:8px}.study,#game[data-character=hunter] .study{min-height:30px;min-width:34px;font-size:17px}.dock-utilities>div{gap:4px;padding-top:5px;justify-content:space-between}.dock-utilities button{font-size:9px;min-height:30px;padding:5px 7px}.weapon-comparison{gap:10px;margin:18px 0}.weapon-card{padding:12px 8px;gap:8px}.weapon-card strong{font-size:17px}.weapon-card p{font-size:12px;gap:7px}.weapon-card .weapon-icon{width:60px;height:60px}.pickup-actions{display:grid;grid-template-columns:1fr;gap:8px}.pickup-actions button{font-size:11px}.route-card{grid-template-columns:120px 1fr;align-items:start;min-height:160px}.route-art{align-self:start;aspect-ratio:3/2;height:auto;width:100%;background-size:200% 200%;border-bottom:1px solid #657061;border-right:0}.route-content{padding:10px;gap:7px}.route-content strong{font-size:18px}.route-content small{font-size:12px}.route-skulls{font-size:18px}.route-key{font-size:10px!important}}
@media(max-height:700px){#game{height:auto;min-height:780px;grid-template-rows:20px 300px auto auto auto}}
