@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101416;--panel:#151c1e;--line:#2a3434;--muted:#849390;--gold:#d8b777;--teal:#82cdb7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#e7eae2;font:14px 'Noto Sans KR',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:1px solid var(--line);transition:.18s}button:hover{border-color:var(--gold);background:#d8b77710}button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}main{max-width:1800px;margin:auto;padding:0 32px}header{height:102px;display:flex;align-items:center;gap:55px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:#e7dbc0;text-decoration:none;font:700 25px Cinzel,Georgia,serif;letter-spacing:2px}.brand small{display:block;font:12px 'Noto Sans KR';color:#96a6a0;letter-spacing:5px;margin-top:5px}.rune{font-size:50px;color:var(--gold)}.chapter{border-left:1px solid var(--line);padding-left:25px}.chapter span{display:block;font:11px Cinzel,serif;color:var(--gold);letter-spacing:2px;margin-bottom:5px}.chapter b{font-size:16px;font-weight:500}nav{display:flex;gap:10px;margin-left:auto}nav button{border:none;padding:9px;color:#b5c0bb;font-size:13px}kbd{font-family:inherit;font-size:11px;border:1px solid #45514f;border-radius:3px;padding:2px 5px;color:#bcc8c2;margin-left:4px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 246px;margin-top:24px;border:1px solid var(--line)}.game-wrap{position:relative;overflow:hidden;background:#091719;aspect-ratio:16/9;isolation:isolate}canvas{width:100%;height:100%;display:block}.hud{position:absolute;top:24px;left:26px;right:26px;z-index:2;display:flex;justify-content:space-between;pointer-events:none;text-shadow:0 2px 3px #000}.vitals{width:210px}.player-title{display:flex;justify-content:space-between;margin-bottom:9px}.player-title span{color:var(--gold);font-size:13px}.health{position:relative;height:15px;border:1px solid #c073663f;background:#331e20}.health i{display:block;background:linear-gradient(90deg,#8f3d39,#ce6b58);height:100%;width:100%;transition:width .1s}.health span{position:absolute;inset:0;text-align:center;font:10px monospace;line-height:14px}.xp{height:3px;background:#1a3b39;margin-top:6px}.xp i{display:block;height:100%;background:var(--teal);width:0}.wave-label{text-align:center}.wave-label span{font:13px Cinzel;letter-spacing:3px;color:var(--gold)}.wave-label b{display:block;font-weight:400;font-size:12px;color:#b9c5bd;margin-top:8px}.run-stats{text-align:right}.run-stats b{display:block;font:22px Cinzel}.run-stats span{font-size:11px;color:#b6c3bc}.run-stats strong{color:var(--gold);margin-left:8px}.zone-stamp{position:absolute;bottom:18px;left:24px;font:10px Cinzel;letter-spacing:2px;color:#91a49c88;pointer-events:none}.zone-stamp span{margin-left:16px}.overlay{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#071315d9,#08171966,#071315c9);padding:25px}.overlay.hidden{display:none}.start-screen{text-align:center;max-width:660px}.eyebrow{font:12px Cinzel;letter-spacing:5px;color:var(--gold);margin-bottom:15px}.start-screen h1{font:600 clamp(35px,4.5vw,68px) Cinzel,Georgia;margin:0;color:#f0e3c7;text-shadow:0 4px 30px #000;letter-spacing:5px}.start-screen h2{font-size:16px;letter-spacing:9px;font-weight:400;margin:7px 0 24px;color:#d3c8ad}.start-screen p{color:#aabbae;line-height:1.9;font-size:14px}.primary{background:#cfb075;color:#19201e;border:1px solid #edce8b;padding:14px 35px;font-weight:700;letter-spacing:1px;margin-top:15px;box-shadow:0 0 30px #d8b77713}.primary:hover{background:#e5c58b;color:#111}.start-screen .sub{font-size:11px;color:#87958e;margin-top:14px}.start-runes{display:flex;justify-content:center;gap:30px;color:#a3b2a6;font-size:12px;margin:25px 0}.start-runes b{color:var(--gold);margin-right:6px}aside{background:var(--panel);padding:23px 22px;border-left:1px solid var(--line);overflow:auto}.aside-heading{font-size:13px;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.aside-heading span{font:9px monospace;color:#7b928b;letter-spacing:1px}.progress{margin-bottom:28px}.progress>div{display:flex;align-items:center;gap:12px;padding:13px 0;color:#64746f;border-bottom:1px solid #263130}.progress>div>span{font:18px Cinzel}.progress>div>div{font-size:12px}.progress small{display:block;font-size:10px;margin-top:5px;opacity:.6}.progress b{margin-left:auto;font-weight:400}.progress .current{color:#d7bf8f}.progress .complete{color:#82cdb7}dl{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 26px;font-size:12px}dt{color:#8d9e97}dd{margin:0;color:#d8dfd3}.empty{font-size:12px;color:#72877c;line-height:1.9;margin:0;padding:15px 0}.item{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #2a3431}.item>span{font-size:22px;color:var(--gold)}.item b{font-size:11px;color:var(--gold);font-weight:500}.item small{font-size:10px;display:block;color:#8ea196;margin-top:4px}.tip{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.tip>span{color:var(--gold);font-size:11px}.tip p{color:#82978c;font-size:11px;line-height:1.9;margin-bottom:0}.loadout{display:flex;padding:20px 0 23px;gap:28px;border-bottom:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:10px;color:#a4b2a9;font-size:12px;margin-bottom:12px}.section-label>span{font-size:10px;color:#61796b}.weapons{width:32%}#weapons{display:flex;gap:8px}.weapon{flex:1;position:relative;height:70px;padding:7px;background:#151d1e;color:#9cad9f}.weapon.active{border-color:#bea166;background:#a18a4620;color:#e0c68b}.weapon em{position:absolute;top:4px;left:6px;font:10px monospace;color:#6c7f76}.weapon b{display:block;font-size:25px;font-weight:400}.weapon span{font-size:11px}.skills{flex:1}#skills{display:flex;gap:9px}.skill{height:70px;position:relative;flex:1;text-align:left;padding:9px 8px 9px 41px;background:#171f20;min-width:0}.skill b{position:absolute;left:12px;top:12px;color:var(--teal);font-size:23px}.skill span{font-size:11px;white-space:nowrap}.skill small{display:block;font-size:10px;color:#7f9889;margin-top:7px}.skill kbd{position:absolute;left:9px;bottom:7px;font-size:9px;margin:0}.skill.locked{opacity:.4}.skill .cooldown{position:absolute;inset:0;background:#101819b8;display:grid;place-items:center;font-size:19px;color:#eed9a2;pointer-events:none}.dodge{min-width:135px;border-left:1px solid var(--line);padding-left:25px}.dodge>div{display:flex;gap:15px;align-items:center;height:70px}.dodge b{font-size:30px;color:var(--gold)}.dodge small{display:block;font-size:10px;color:#81968a;margin-top:10px}.dodge>div>span{font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;padding:19px 0;color:#60786c;font-size:10px}footer i{display:inline-block;width:5px;height:5px;background:var(--teal);border-radius:50%;margin-right:8px}footer kbd{font-size:9px}footer b{color:#91a494;font-weight:400;margin-left:8px}#toast{position:absolute;z-index:4;left:50%;bottom:70px;transform:translateX(-50%);padding:12px 20px;background:#0b191bea;border:1px solid #977f50;color:#eed39a;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s;white-space:nowrap;font-size:13px}#bossHUD{position:absolute;top:95px;left:30%;right:30%;text-align:center;z-index:3;font-size:12px;color:#e7b5a3}#bossHUD>div{height:6px;background:#391f28;margin-top:8px}#bossbar{display:block;height:100%;width:100%;background:#bd5959}.choice-screen{width:100%;max-width:900px;text-align:center}.choice-screen h2{font-size:28px;margin:0 0 7px;color:#e4c791}.choice-screen p{color:#a4b6a7;font-size:13px}.choices{display:flex;gap:15px;margin-top:25px}.choice{flex:1;padding:24px 17px;background:linear-gradient(#24342fea,#132222fa);text-align:left;min-width:0}.choice>i{font-size:33px;color:#a7dcca;font-style:normal;display:block;margin-bottom:22px}.choice em{font-size:10px;font-style:normal;letter-spacing:2px;color:#c8ac75}.choice b{display:block;font-size:18px;margin:10px 0}.choice p{font-size:12px;line-height:1.8;min-height:43px}.choice small{display:block;color:#cdb783;margin-top:25px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;font-size:14px;margin:25px 0}.mobile{display:none}.stats-summary{display:flex;justify-content:center;gap:35px;margin:20px}.stats-summary b{display:block;font-size:27px;color:var(--gold)}.stats-summary span{font-size:12px;color:#93a898}@media (min-width:1550px){.workspace{grid-template-columns:minmax(0,1fr) 270px}aside{padding:30px}.progress>div{padding:18px 0}}@media (max-width:1150px){main{padding:0 18px}header{gap:25px;height:84px}.workspace{grid-template-columns:minmax(0,1fr) 205px}aside{padding:16px 14px}.progress{margin-bottom:16px}.progress>div{padding:9px 0}dl{gap:7px;margin-bottom:16px}.tip{display:none}.loadout{gap:16px}.dodge{display:none}.brand{font-size:21px}.skill{padding-left:33px}.skill b{left:8px}.hud{top:18px;left:20px;right:20px}.vitals{width:165px}.wave-label b{font-size:10px}}@media (max-width:800px){main{padding:0 12px}header{height:76px}.brand{font-size:19px}.brand small{font-size:10px}.rune{font-size:38px}.chapter{display:none}nav{gap:0}nav button{font-size:12px}nav button span,nav kbd{display:none}.workspace{display:block;margin-top:12px}.game-wrap{aspect-ratio:4/3}aside{display:none}.loadout{flex-wrap:wrap;gap:15px;padding:15px 0}.weapons{width:100%}.skills{width:100%;flex:auto}.weapon{height:56px}.weapon b{font-size:22px}.weapon span{font-size:10px}.skill{height:60px}.hud{top:12px;left:12px;right:12px}.vitals{width:120px}.wave-label b{display:none}.wave-label span{font-size:10px}.run-stats b{font-size:17px}.player-title{font-size:11px}.overlay{padding:16px}.start-screen h1{font-size:36px;letter-spacing:2px}.start-screen h2{font-size:12px;margin-bottom:15px}.start-screen p{font-size:12px}.start-runes{margin:15px 0;gap:13px;font-size:10px}.eyebrow{font-size:10px;margin-bottom:12px}.primary{padding:11px 24px;margin-top:8px}.choices{gap:8px;margin-top:16px}.choice{padding:13px 10px}.choice>i{margin-bottom:10px;font-size:25px}.choice b{font-size:14px}.choice p{font-size:10px}.choice small{margin-top:10px;font-size:10px}.choice-screen h2{font-size:22px}footer>span:nth-child(2){display:none}footer{font-size:9px}.mobile{position:absolute;bottom:10px;left:10px;right:10px;display:flex;justify-content:space-between;z-index:4;pointer-events:none}.mobile>div{display:flex;gap:4px}.mobile button{background:#101d21a9;min-width:33px;height:37px;font-size:11px;pointer-events:auto;touch-action:none}.zone-stamp{display:none}#bossHUD{top:65px;left:25%;right:25%}#toast{font-size:10px;bottom:60px;max-width:95%;white-space:normal}.help-grid{font-size:11px}.start-screen .sub{font-size:10px}}
/* Endless expedition and automatic skills */
.difficulty{font:11px monospace;color:#9cafa2;margin:-7px 0 16px;line-height:1.7}.aside-heading #cycleBadge{color:#efd598;letter-spacing:0;font:12px 'Noto Sans KR'}#autoSkills{display:grid;gap:6px;margin:-4px 0 22px}.auto-skill{display:flex;align-items:center;gap:10px;padding:8px;background:#152b265c;border:1px solid #37594b5c}.auto-skill>b{font-size:23px;color:#b0edcf}.auto-skill>span{font-size:12px;flex:1}.auto-skill small{display:block;font-size:10px;color:#9cb0a1;margin-top:3px}.auto-skill em{font:9px monospace;color:#a3dfb5}.auto-skill.locked{opacity:.4;background:none}.progress{margin-bottom:20px}.progress>div{padding:9px 0}.game-wrap{box-shadow:inset 0 0 70px #0006}.skill:not(.locked):hover{box-shadow:0 0 20px #93ddbc1c;border-color:#9bceb4}.weapon.active{box-shadow:inset 0 -2px #c8ac69,0 0 18px #c8ac6911}.start-screen h1{background:linear-gradient(#fff9e8,#d2b37b);background-clip:text;-webkit-background-clip:text;color:transparent}.primary{box-shadow:0 0 32px #ccad7526}.hud{filter:drop-shadow(0 3px 7px #031110)}
@media (max-width:600px){.mobile{align-items:end}.mobile>div:first-child{display:grid;grid-template-columns:repeat(2,34px)}.mobile>div:last-child{display:grid;grid-template-columns:repeat(3,34px)}.mobile button{min-width:34px;height:34px}.game-wrap{min-height:330px}}
/* Fit the entire combat interface to the available viewport. */
html,body{height:100%;overflow:hidden}main{height:100vh;height:100dvh;max-width:none;display:grid;grid-template-rows:60px minmax(0,1fr) 104px 26px;gap:0;padding:0 18px;overflow:hidden}header{height:auto;min-height:0;gap:30px}.brand{font-size:21px}.brand small{font-size:10px;letter-spacing:3px;margin-top:2px}.rune{font-size:38px}.chapter{padding-left:20px}.chapter b{font-size:14px}.workspace{min-height:0;min-width:0;margin:8px 0 0;grid-template-columns:minmax(0,1fr) 240px;overflow:hidden}.game-wrap{height:100%;min-height:0!important;min-width:0;aspect-ratio:auto}canvas{object-fit:contain;touch-action:none}aside{min-height:0;min-width:0;padding:12px;display:flex;flex-direction:column;overflow:hidden}.side-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;flex-shrink:0}.side-tabs button{padding:8px 4px;font-size:13px;color:#92a799}.side-tabs .selected{color:#efcf93;background:#bc9d6120;border-color:#b69a62}.side-panel{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#4a6155 transparent}.side-panel[hidden]{display:none}.aside-heading{margin-bottom:13px}.tip{display:none}.progress>div{padding:13px 0}.loadout{min-height:0;margin:0;padding:10px 0 8px;gap:20px;align-items:stretch}.section-label{height:16px;margin-bottom:7px;font-size:12px}.weapon,.skill{height:60px}.weapon.locked{opacity:.4;filter:saturate(.3)}.weapon.locked:hover{opacity:.75}.weapon span{font-size:11px}.dodge>div{height:60px}.dodge{min-width:125px;padding-left:18px}footer{padding:5px 0;align-items:center;min-height:0}.hud{top:14px;left:18px;right:18px}.start-screen h1{font-size:clamp(28px,4vw,58px)}.start-screen h2{margin-bottom:15px}.start-runes{margin:15px 0}.overlay{padding:18px;overflow:auto}.choice-screen{max-height:100%;}.choice-screen h2{font-size:24px}.choice{padding:18px 14px}.choice>i{margin-bottom:12px;font-size:28px}.choice b{font-size:17px;margin:8px 0}.choice small{margin-top:15px}.choice p{font-size:13px;line-height:1.65;margin:8px 0}.choices{margin-top:16px}.weapon-metrics{font-size:11px;line-height:1.8;color:#d6c394;padding-top:8px;border-top:1px solid #4a594944}.armory{max-width:1100px}.armory .choice em{letter-spacing:0;font-size:12px}.armory .choice p{min-height:44px}
@media (max-width:1100px){main{padding:0 12px;grid-template-rows:54px minmax(0,1fr) 96px 22px}.workspace{grid-template-columns:minmax(0,1fr) 205px}.loadout{gap:12px}.weapon,.skill{height:55px}.dodge{display:none}header{gap:20px}.chapter{padding-left:12px}.hud .wave-label b{display:none}.skill{padding-left:34px}.skill span{font-size:10px}.skill b{left:8px}.choice{padding:12px 10px}.choice b{font-size:15px}.choice p{font-size:12px}.choice>i{font-size:24px}.choice small{margin-top:10px}}
@media (max-width:800px){main{padding:0 8px;grid-template-rows:48px minmax(0,1fr) 146px}.workspace{display:block;margin-top:5px}.game-wrap{height:100%;min-height:0!important}aside{display:none}.chapter{display:none}.brand{font-size:17px}.brand small{font-size:9px}.rune{font-size:30px}nav button{padding:6px}.loadout{display:grid;grid-template-columns:1fr;grid-template-rows:63px 63px;gap:6px;padding:7px 0}.weapons,.skills{width:100%;min-width:0}.section-label{height:12px;font-size:11px;margin-bottom:4px}.weapon,.skill{height:46px}.weapon b{font-size:18px}.weapon span{font-size:10px}.skill{padding:6px 8px 5px 37px}.skill b{font-size:21px;top:6px}.skill kbd{bottom:3px;font-size:9px}.skill small{margin-top:3px;font-size:9px}.skill span{font-size:11px}footer{display:none}.choices{gap:8px}.armory .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.armory .choice{padding:10px 12px}.armory .choice>i{float:left;margin:0 10px 0 0;font-size:24px}.armory .choice b{margin:4px 0;font-size:14px}.armory .choice p{min-height:0;margin:6px 0;font-size:11px}.armory .choice small{margin-top:5px}.weapon-metrics{font-size:10px;padding-top:4px}.armory .eyebrow{display:none}.armory h2{font-size:19px}.armory>p{font-size:11px}.hud{top:10px;left:10px;right:10px}.overlay{padding:12px}.start-screen h1{font-size:34px}.start-screen h2{font-size:12px;letter-spacing:6px;margin:6px 0 12px}.start-screen p{font-size:12px}.start-runes{font-size:10px;margin:12px 0}.mobile{bottom:8px}.mobile button{height:30px}.mobile>div:first-child{grid-template-columns:repeat(2,30px)}.mobile>div:last-child{grid-template-columns:repeat(3,30px)}.mobile button{min-width:30px}#bossHUD{top:62px}}
@media (max-height:560px) and (min-width:600px){main{grid-template-rows:42px minmax(0,1fr) 74px;padding:0 8px}footer{display:none}.workspace{margin-top:4px}.brand small{display:none}.brand{font-size:17px}.rune{font-size:30px}.loadout{display:flex;gap:12px;padding:5px 0}.weapons{width:33%}.skills{flex:1;width:auto}.section-label{font-size:10px;height:12px;margin-bottom:4px}.weapon,.skill{height:46px}.weapon b{font-size:18px}.skill b{top:5px;font-size:19px}.skill small{margin-top:3px}.start-screen h1{font-size:30px}.start-screen h2{margin:4px 0 8px;font-size:12px}.start-screen p,.start-runes,.start-screen .sub{display:none}.start-screen .eyebrow{margin-bottom:8px}.primary{padding:10px 25px;margin-top:8px}.choice-screen .eyebrow{display:none}.choice-screen h2{font-size:19px}.choice-screen>p{font-size:11px;margin:5px 0}.choices,.armory .choices{display:flex;margin-top:8px;gap:8px}.choice{padding:9px}.choice>i{display:none}.choice b{font-size:14px;margin:5px 0}.choice p{font-size:11px;min-height:0;line-height:1.45}.choice small{margin-top:7px}.weapon-metrics{font-size:10px}.hud{top:8px}.vitals{width:135px}#bossHUD{top:62px}.zone-stamp{display:none}}
#editSkills{padding:1px 7px;font-size:11px;color:#d5c194;border-color:#665b4144}#mechanicHint{position:absolute;z-index:3;bottom:17px;left:20px;color:#dfc6a4;font-size:12px;text-shadow:0 2px 4px #000;pointer-events:none}.zone-stamp{display:none}#combatBuff{position:absolute;z-index:3;top:88px;left:20px;color:#a9efd2;font-size:12px;font-weight:600;pointer-events:none;text-shadow:0 2px 4px #000}.library-screen{display:flex;flex-direction:column;width:min(1040px,100%);max-height:100%;min-height:0}.library-top{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-shrink:0;margin-bottom:14px}.library-top h2{margin:0;color:#e8cb95;font-size:23px}.library-top h2 small{font:13px monospace;color:#a1bbad;margin-left:12px}.library-top p{font-size:12px;color:#a7bbae;margin-bottom:0}.library-top>button{padding:8px 12px;white-space:nowrap;font-size:12px}.skill-library{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;scrollbar-width:thin}.library-skill{text-align:left;padding:12px;background:#142726ed;border-color:#384e44;position:relative}.library-skill:disabled{opacity:.42;cursor:default}.library-skill.equipped{border-color:#dab97a;background:#3c3723df}.library-skill i{font-style:normal;font-size:25px;color:#d3e9dd;float:left;margin-right:10px}.library-skill b{font-size:13px;display:block;margin:0 0 6px}.library-skill small{font-size:10px;color:#a4bfaf;display:block}.library-skill p{clear:both;font-size:12px;color:#b4c8b9;line-height:1.65;margin:10px 0;min-height:39px}.library-skill em{font-size:10px;font-style:normal;color:#dec38e}.game-wrap .overlay{background:linear-gradient(90deg,#051515e8,#0b1b1bbe,#051515e8)}
@media (max-width:900px){.skill-library{grid-template-columns:repeat(3,minmax(0,1fr))}.library-top h2{font-size:18px}.library-top p{font-size:11px}.library-skill{padding:9px}.library-skill p{font-size:11px}.library-skill b{font-size:12px}#mechanicHint{font-size:10px;bottom:85px;max-width:65%}#combatBuff{top:72px;font-size:10px}}
@media (max-width:560px){.skill-library{grid-template-columns:repeat(2,minmax(0,1fr))}.library-top p{display:none}.library-top{margin-bottom:8px}.library-top h2{font-size:16px}.library-top>button{padding:7px;font-size:10px}.library-skill p{min-height:0;margin:6px 0}.library-skill i{font-size:20px}#mechanicHint{font-size:9px}.library-skill small{font-size:9px}}
@media (max-height:560px){.library-top p{display:none}.library-top{margin-bottom:8px}.library-top h2{font-size:17px}.library-skill p{font-size:10px;min-height:0;margin:6px 0}.library-skill{padding:8px}.library-skill i{font-size:19px}.library-skill b{font-size:11px}#combatBuff{top:62px}#mechanicHint{bottom:8px}}

.painted-icon{display:inline-block;width:36px;height:36px;vertical-align:middle;overflow:hidden;filter:drop-shadow(0 2px 3px #0008)}.weapon b .painted-icon{height:30px;width:38px}.skill b .painted-icon{width:32px;height:34px}.choice>i .painted-icon{width:62px;height:66px}.item>span .painted-icon{width:32px;height:36px}.library-skill i .painted-icon{width:39px;height:42px}.choice.reward-selected{border-color:#efd391;box-shadow:inset 0 0 0 1px #efd391,0 0 24px #d9b56720;background:#514329b8}.reward-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;text-align:left}.reward-controls>span{font-size:11px;color:#bac8bd}.reward-controls .primary{margin:0;padding:10px 18px;white-space:nowrap;font-size:12px}.reward-controls .primary:disabled{opacity:.45;cursor:default}.choice-screen{max-height:100%;overflow:auto;scrollbar-width:thin}
@media (max-height:700px){.choice>i .painted-icon{height:42px;width:48px}.reward-controls{margin-top:10px}.reward-controls .primary{padding:8px 12px}}
@media (max-width:600px){.reward-controls{flex-wrap:wrap;justify-content:center;text-align:center;gap:8px}.reward-controls>span{font-size:10px}.choice>i .painted-icon{height:34px;width:38px}}

.reward-controls{flex-wrap:wrap}.reroll-reward{padding:7px 12px;font-size:12px;color:#d5bf93}.reroll-reward:disabled{opacity:.35}.evolution-recipes{flex-shrink:0;font-size:12px;color:#b6c7b9;margin-bottom:10px;border:1px solid #63563a;padding:9px 12px;max-height:150px;overflow:auto}.evolution-recipes summary{cursor:pointer;color:#e4c68f}.evolution-recipes p{margin:8px 0}.evolution-recipes small{display:block;color:#8fa69a;margin-top:3px}.evolution-recipes .complete{color:#edcd89}
/* Compact combat surface: one location, one skill row, contextual details. */
main{grid-template-rows:52px minmax(0,1fr) 126px;padding:0 16px}header{height:52px;gap:24px}.brand{font-size:19px;letter-spacing:1px}.brand small,.rune,.zone-stamp{display:none}.chapter{border:0;padding:0;display:flex;align-items:center;gap:14px}.chapter span{font:12px 'Noto Sans KR';letter-spacing:0;margin:0}.chapter b{font-size:13px}nav{gap:4px}nav button{font-size:12px;padding:7px}.workspace{margin-top:8px;grid-template-columns:minmax(0,1fr) 226px;min-height:0}.game-wrap{min-height:0}.hud{top:15px;left:18px;right:18px}.wave-label span{font:13px 'Noto Sans KR';letter-spacing:0}.wave-label b{font-size:12px;margin-top:4px}.run-stats b{font-size:18px}.run-stats span{font-size:11px}aside{padding:14px;background:#121a1c}.aside-heading{margin:16px 0 9px;font-size:13px}.side-tabs{gap:3px}.side-tabs button{font-size:12px}.progress{margin-bottom:12px}.progress>div{padding:12px 0}.progress small{font-size:11px}.difficulty{font-size:11px;line-height:1.65}.item b,.auto-skill span{font-size:12px}.item small,.auto-skill small{font-size:11px;line-height:1.5}.item{padding:8px 0}.build-detail{border-top:1px solid #2a3532;padding:12px 0;font-size:12px;color:#aabdaf}.build-detail summary{cursor:pointer;color:#d4c39b}.build-detail p{line-height:1.7;margin:7px 0}.build-detail b{display:none}.build-detail strong{color:#e4cf9f;font-weight:500}.auto-skill em{display:none}.loadout{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(350px,1.6fr);grid-template-rows:66px 36px;gap:7px 18px;padding:8px 0;border:0}.weapons,.skills{width:auto;min-width:0}.section-label{height:14px;margin-bottom:5px;font-size:12px;gap:5px}#weapons,#skills{gap:6px}.weapon,.skill{height:47px}.weapon{display:flex;align-items:center;justify-content:center;gap:5px;padding:4px}.weapon b .painted-icon{height:34px;width:23px}.weapon span{font-size:11px}.weapon em{display:none}.skill{padding:7px 6px 5px 39px}.skill b{left:5px;top:5px}.skill b .painted-icon{height:33px;width:31px}.skill>span{font-size:12px}.skill small{font-size:10px;margin-top:4px}.skill kbd{font-size:10px;bottom:4px;right:5px}.specials{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0}.specials>button{display:flex;align-items:center;gap:7px;padding:5px 10px;height:34px;background:#17201f;border-color:#4b4938;min-width:185px}.specials>button:disabled{cursor:default;opacity:.55}.specials span{font-size:12px}.specials small{margin-left:auto;font:11px monospace;color:#b9c6b9}.specials kbd{margin:0;color:#eed7a4}.basic-keys{margin-left:auto;color:#94a99e;font-size:11px!important;white-space:nowrap}.basic-keys kbd{margin-left:8px}#dodgeCd{font-size:10px;color:#d7c49c}#inspect{display:none}#combatBuff{top:78px;font-size:12px}#mechanicHint{bottom:12px;font-size:12px;max-width:80%}.choices .choice small:empty{display:none}.choice-screen h2{font-size:23px}.choice>i .painted-icon{width:50px;height:52px}.choice p{font-size:13px;line-height:1.65}.choice-screen .eyebrow{display:none}.reward-controls>span{font-size:12px}.reward-controls{gap:10px;margin-top:12px}.library-top p{font-size:12px}.library-skill p{font-size:12px}.library-skill small{font-size:11px}.library-skill b{font-size:13px}.evolution-recipes{font-size:12px}.start-screen h1{font-size:clamp(30px,4vw,52px)}.start-screen p{font-size:13px}.start-screen .eyebrow{display:none}
@media (max-width:1050px){main{padding:0 8px}.workspace{grid-template-columns:minmax(0,1fr) 195px}.chapter{gap:8px}.chapter b{font-size:12px}.specials>button{min-width:170px}.basic-keys{font-size:10px!important}.basic-keys kbd{margin-left:4px}.loadout{gap:7px 9px}.weapon span{font-size:10px}.skill>span{font-size:11px}aside{padding:10px}}
@media (max-width:800px){main{grid-template-rows:46px minmax(0,1fr) 168px;padding:0 6px}header{height:46px;gap:8px}.brand{font-size:15px}.chapter{display:none}nav button{padding:6px;font-size:11px}nav kbd{display:none}#inspect{display:block}.workspace{display:block;position:relative;margin-top:4px}.game-wrap{height:100%}aside{display:none}aside.inspect-open{display:block;position:absolute;right:0;top:0;bottom:0;width:230px;z-index:7;background:#101a1cf5;box-shadow:-20px 0 35px #0007;overflow:auto}.loadout{grid-template-columns:1fr;grid-template-rows:49px 49px 46px;gap:5px;padding:6px 0}.section-label{display:none}.weapon,.skill{height:47px}.weapon span{font-size:12px}.skill>span{font-size:12px}.specials{gap:6px;align-items:stretch}.specials>button{flex:1;min-width:0;padding:5px 7px;height:40px}.specials>button span{font-size:11px}.specials small{font-size:10px}.basic-keys{display:none}.hud{top:10px;left:10px;right:10px}.vitals{width:145px}.wave-label b{display:block!important;font-size:10px}.wave-label span{font-size:11px}.run-stats b{font-size:16px}.run-stats span{font-size:10px}#combatBuff{top:68px;font-size:10px}#mechanicHint{bottom:82px;font-size:10px}.choice-screen h2{font-size:19px}.choice p{font-size:12px}.choice>i .painted-icon{width:34px;height:36px}.reward-controls>span{font-size:11px}.reward-controls .primary{font-size:11px}.brand small{display:none}}
@media (max-height:560px) and (min-width:600px){main{grid-template-rows:38px minmax(0,1fr) 106px}header{height:38px}.loadout{grid-template-columns:minmax(180px,.8fr) minmax(280px,1.6fr);grid-template-rows:50px 34px;padding:5px 0;gap:6px}.section-label{display:none}.specials>button{height:30px}.specials{height:32px}.weapon,.skill{height:47px}.basic-keys{display:none}.workspace{margin-top:3px}.start-screen h2{font-size:12px}.start-screen p{display:none}.choice>i{display:none}.choice-screen h2{font-size:17px}.choice p{font-size:11px}.reward-controls{margin-top:7px}.reward-controls .primary{padding:7px 12px}#combatBuff{top:61px}.hud{top:8px}#bossHUD{top:59px}.evolution-recipes{max-height:100px}.specials>button{min-width:160px}}
.mobile-controls,.mobile-top,#closeInfo{display:none}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}main{position:fixed;inset:0;width:100%;height:100dvh;display:block;padding:0;overflow:hidden}header,.loadout,footer{display:none!important}.workspace{position:absolute;inset:0;margin:0;border:0;display:block}.game-wrap{width:100%;height:100%;aspect-ratio:auto;min-height:0}#game{width:100%;height:100%;object-fit:cover;touch-action:none}aside{display:none}aside.inspect-open{display:block;position:absolute;inset:0 0 0 auto;width:min(300px,88vw);z-index:10;padding:calc(env(safe-area-inset-top) + 14px) 16px calc(env(safe-area-inset-bottom) + 14px);background:#111c20f7;overflow:auto}#closeInfo{display:block;width:100%;height:40px;margin-bottom:12px;color:#e8d1a0}.mobile-top{display:block;position:absolute;inset:calc(env(safe-area-inset-top) + 8px) calc(env(safe-area-inset-right) + 10px) auto calc(env(safe-area-inset-left) + 10px);z-index:5;pointer-events:none}.mobile-route{display:flex;justify-content:space-between;gap:10px;color:#d4c4a5;text-shadow:0 1px 5px #000;font-size:11px}.mobile-route small{font-size:10px;color:#bbcebf}.mobile-tools{display:flex;justify-content:flex-end;gap:5px;margin-top:7px;pointer-events:auto}.mobile-tools button{height:38px;min-width:38px;padding:5px 9px;background:#112025c9;border-color:#b6a67750;border-radius:6px;font-size:11px;touch-action:manipulation}.mobile-tools #mobileWeapon{margin-right:auto;color:#f3da9e;min-width:80px}#mobileRadar{position:absolute;width:116px;height:48px;right:0;top:127px;object-fit:fill;border:1px solid #c3c5a633;border-radius:4px;opacity:.8}.hud{top:calc(env(safe-area-inset-top) + 74px);left:calc(env(safe-area-inset-left) + 12px);right:calc(env(safe-area-inset-right) + 12px);gap:8px}.vitals{width:145px;flex-shrink:0}.player-title{font-size:12px;margin-bottom:5px}.player-title span{font-size:11px}.health{height:13px}.health span{line-height:12px}.wave-label{margin-left:auto;text-align:right}.wave-label span{font-size:11px}.wave-label b{display:block!important;font-size:10px}.run-stats{display:none}#bossHUD{top:calc(env(safe-area-inset-top) + 120px);left:12px;right:12px;width:auto;transform:none;font-size:11px}#combatBuff{top:calc(env(safe-area-inset-top) + 150px);left:12px;font-size:11px;max-width:55%}#mechanicHint{bottom:calc(env(safe-area-inset-bottom) + 240px);left:12px;font-size:11px;max-width:80%;background:#111a2199;padding:4px 7px;border-radius:3px}#mechanicHint:empty{display:none}#toast{top:45%;max-width:85%;font-size:12px;pointer-events:none}.mobile-controls{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-controls[hidden],.mobile-top[hidden]{display:none!important}#joystick{position:absolute;left:calc(env(safe-area-inset-left) + 18px);bottom:calc(env(safe-area-inset-bottom) + 32px);width:126px;height:126px;border-radius:50%;background:#0a171b66;border:1px solid #becba638;box-shadow:inset 0 0 26px #0006;pointer-events:auto;touch-action:none;display:grid;place-items:center}.stick-ring{position:absolute;inset:22px;border:1px solid #c8d5c22a;border-radius:50%}#stickKnob{width:51px;height:51px;border-radius:50%;border:1px solid #e4d7b778;background:radial-gradient(circle at 35% 30%,#a5b4a585,#29403dc9);box-shadow:0 3px 12px #0006;pointer-events:none}#joystick small{position:absolute;bottom:9px;font-size:10px;color:#b3c0b19c;pointer-events:none}#joystick.pressed{border-color:#d3d6b278}.touch-actions{position:absolute;right:calc(env(safe-area-inset-right) + 12px);bottom:calc(env(safe-area-inset-bottom) + 16px);width:160px;display:flex;flex-direction:column;gap:7px;pointer-events:none}.touch-actions button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;position:relative;border-radius:12px;background:#0d1c24c9;border:1px solid #c8b47c77;box-shadow:0 3px 14px #0005;color:#eee9d4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 3px;min-height:46px;transition:background .08s,transform .08s}.touch-actions button span{font-size:10px;line-height:1.2;text-align:center;pointer-events:none}.touch-actions button small{font-size:11px;font-family:monospace;color:#e8cf9b;pointer-events:none}.touch-actions button.pressed{transform:scale(.93);background:#81764b99}.touch-actions button.cooling{background:#0a151de0;border-color:#546469;color:#94a59e}.touch-actions button:disabled{opacity:.35;cursor:default}.touch-specials{display:grid;grid-template-columns:1fr 1fr;gap:7px}.touch-specials button{min-height:44px;border-color:#ad8cd270}.touch-skills{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.touch-basic{display:flex;align-items:center;justify-content:flex-end;gap:9px}.touch-basic #touchAttack{width:78px;height:78px;border-radius:50%;border-color:#e5c788;background:radial-gradient(circle,#745537b8,#1c2226d9)}#touchAttack span{font-size:17px;font-weight:700}#touchAttack small{font:9px 'Noto Sans KR';color:#d6c29a}.touch-basic #touchDodge{width:62px;height:62px;min-height:62px;border-radius:50%;border-color:#93c5b6}#touchDodge span{font-size:13px}.overlay{padding:calc(env(safe-area-inset-top) + 14px) 12px calc(env(safe-area-inset-bottom) + 14px);background:#061317e0}.choice-screen{width:100%;max-height:100%;overflow:auto}.choices,.armory .choices{display:grid;grid-template-columns:1fr;gap:7px;margin-top:10px}.choice{padding:9px 12px;text-align:left;min-height:0}.choice>i{display:block!important;float:left;margin:0 10px 0 0}.choice>i .painted-icon{width:38px;height:42px}.choice b,.armory .choice b{font-size:14px;margin:3px 0}.choice em{font-size:9px}.choice p,.armory .choice p{font-size:11px;min-height:0;margin:4px 0;line-height:1.5}.weapon-metrics{font-size:10px;padding-top:4px}.reward-controls{position:sticky;bottom:0;background:#102023f2;padding:9px 5px;justify-content:center;gap:7px}.reward-controls>span{display:none}.reward-controls .primary{padding:10px 15px;min-height:42px}.reroll-reward{min-height:42px}.library-screen{height:100%;max-height:100%;padding:3px 0}.skill-library{grid-template-columns:repeat(2,minmax(0,1fr))}.library-top h2{font-size:18px}.library-top p{display:none}.library-top>button{min-height:40px;font-size:12px}.library-skill p{font-size:11px}.start-screen h1{font-size:clamp(30px,8vw,50px)}.start-screen h2{font-size:13px}.start-screen p{display:block;font-size:12px}.start-screen .primary{min-height:46px}
}
@media (pointer:coarse) and (orientation:landscape),(max-width:800px) and (orientation:landscape),(max-width:1000px) and (max-height:500px){.mobile-top{inset:calc(env(safe-area-inset-top) + 5px) calc(env(safe-area-inset-right) + 10px) auto calc(env(safe-area-inset-left) + 10px)}.mobile-route{position:absolute;top:1px;left:170px;right:230px;justify-content:center}.mobile-route small{display:none}.mobile-tools{margin-top:0}.mobile-tools #mobileWeapon{margin-right:auto}.mobile-tools button{height:34px}.hud{top:calc(env(safe-area-inset-top) + 47px);left:12px;right:12px}.vitals{width:160px}.wave-label{margin-right:0}.run-stats{display:block}.run-stats b{font-size:13px}.run-stats span{font-size:9px}#bossHUD{top:calc(env(safe-area-inset-top) + 35px);left:28%;right:28%;width:auto}#bossHUD>span{font-size:10px}#combatBuff{top:calc(env(safe-area-inset-top) + 94px);font-size:10px}#mobileRadar{right:auto;left:0;top:105px;width:90px;height:37px}#joystick{width:112px;height:112px;left:calc(env(safe-area-inset-left) + 22px);bottom:calc(env(safe-area-inset-bottom) + 16px)}.touch-actions{width:226px;bottom:calc(env(safe-area-inset-bottom) + 10px);display:grid;grid-template-columns:118px 98px;gap:6px}.touch-specials{grid-column:1;gap:6px}.touch-specials button{min-height:44px}.touch-skills{grid-column:1;gap:6px}.touch-skills button{min-height:44px}.touch-basic{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:6px}.touch-basic #touchAttack{width:70px;height:70px}.touch-basic #touchDodge{width:56px;height:56px;min-height:56px}.touch-actions button span{font-size:9px}#mechanicHint{bottom:12px;left:160px;max-width:40%;font-size:10px}.choices,.armory .choices{grid-template-columns:repeat(3,minmax(0,1fr))}.armory .choices{grid-template-columns:repeat(4,minmax(0,1fr))}.choice>i{display:none!important}.choice-screen h2{font-size:17px}.choice p{font-size:11px}.reward-controls{padding:5px;margin-top:7px}.skill-library{grid-template-columns:repeat(4,minmax(0,1fr))}.evolution-recipes{max-height:75px}.library-top{margin-bottom:6px}.overlay{padding-top:calc(env(safe-area-inset-top) + 8px);padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}

@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){.run-stats{display:block;min-width:36px}.run-stats b{font-size:13px}.run-stats span{font-size:9px}.mobile-route{white-space:nowrap}.mobile-route small{font-size:10px}.wave-label{min-width:55px}.mobile-route>span{overflow:hidden;text-overflow:ellipsis}}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
.touch-actions{gap:8px;width:164px;filter:drop-shadow(0 4px 7px #0006)}.touch-actions button{--skill-color:#dec38c;isolation:isolate;overflow:hidden;border-radius:13px;border:1px solid #c9b9889c;background:radial-gradient(ellipse at 50% 30%,#34494dde,#0b141cf5 75%);box-shadow:inset 0 0 0 2px #060e18,inset 0 0 0 3px #a9b7b12e,inset 0 3px 8px #ffffff19,0 3px 0 #03090dc9;gap:0;padding:0;transition:transform .08s,filter .1s,border-color .1s;transform:translateZ(0)}.touch-actions button:not(:disabled):not(.cooling){border-color:var(--skill-color);box-shadow:inset 0 0 0 2px #060e18,inset 0 0 0 3px #a9b7b144,0 0 10px #d6c08417,0 3px 0 #03090dcc}.touch-art{position:absolute;inset:3px 3px 13px;display:flex;justify-content:center;align-items:center;font-style:normal;z-index:0;pointer-events:none;opacity:1}.touch-art .painted-icon{width:100%;height:100%;max-width:66px;filter:drop-shadow(0 0 5px #d4e8da33) drop-shadow(0 2px 2px #000);transition:filter .12s}.touch-actions button>span{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:6px 2px 5px;background:linear-gradient(transparent,#071016dd 35%);font-size:10px;font-weight:500;letter-spacing:-.3px;color:#eceddf;text-shadow:0 1px 3px #000;white-space:nowrap}.touch-actions button>small{position:absolute;left:0;right:0;top:35%;z-index:4;font:700 18px Georgia,serif;color:#fff2ce;text-shadow:0 2px 3px #000,0 0 4px #000;line-height:1}.touch-shade{position:absolute;inset:3px;z-index:2;border-radius:10px;pointer-events:none}.touch-actions button.cooling .touch-art{filter:saturate(.5);opacity:.7}.touch-actions button.cooling{border-color:#637272;background:#0b151ef5}.touch-actions button:disabled{opacity:.58;filter:saturate(.3)}.touch-actions button:disabled>small{top:31%;font:600 12px 'Noto Sans KR';color:#c9c7b9}.touch-actions button:disabled>span{color:#8e9f9c}.empty-rune{font:27px Georgia;color:#6b8981;text-shadow:0 0 12px #8cac9433}.touch-skills{gap:7px}.touch-skills button{height:61px;min-height:61px}.touch-skills button::after{content:attr(data-slot-label);position:absolute;z-index:3;top:5px;left:7px;color:#efe0bd8c;font:9px Georgia;pointer-events:none}.touch-specials{gap:7px}.touch-specials button{height:47px;min-height:47px;border-radius:9px}.touch-specials .touch-art{inset:1px 3px 10px}.touch-specials button>span{font-size:9px;padding-bottom:4px}.touch-specials button>small{font-size:16px;top:27%}.touch-basic{gap:9px}.touch-basic #touchAttack{width:80px;height:80px;background:radial-gradient(circle at 40% 30%,#625346de,#171d25f5 70%);border:2px solid #e5c48b;box-shadow:inset 0 0 0 2px #141718,inset 0 0 0 3px #b38d554d,0 0 16px #e1b96218,0 4px 0 #060d10}.touch-basic #touchAttack .touch-art{inset:7px 10px 19px}.touch-basic #touchAttack>span{font-size:12px;padding-bottom:9px}.touch-basic #touchAttack>small{display:none}.touch-basic #touchDodge{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 40% 30%,#284343e6,#0c1920f5 80%);border-color:#98cbb7}.touch-basic #touchDodge .touch-art{inset:6px 7px 14px}.touch-basic #touchDodge>span{font-size:11px;padding-bottom:7px}.touch-basic .touch-shade{border-radius:50%}.touch-actions button.pressed:not(:disabled){transform:translateY(2px) scale(.95);filter:brightness(1.45);box-shadow:inset 0 0 0 2px #decd9b80,inset 0 0 18px #dbcda533,0 1px 0 #040b0f}.touch-actions button.pressed .touch-art{filter:brightness(1.3)}#joystick{border:1px solid #d2c39647;background:radial-gradient(circle,#2b424347,#0b171e70 60%,#090f1666);box-shadow:inset 0 0 0 3px #05101655,inset 0 0 0 4px #b1c8b21a,0 5px 18px #0003}#stickKnob{border-color:#dbce9a9c;background:radial-gradient(circle at 40% 30%,#657b72cc,#1c3339eb 65%,#101e25);box-shadow:inset 0 0 0 3px #06131c88,inset 0 0 0 4px #c9d4b955,0 4px 12px #0009}.stick-ring{border-color:#d1c79824}#joystick.pressed #stickKnob{box-shadow:inset 0 0 0 3px #06131c88,inset 0 0 0 4px #d9e1bc99,0 0 15px #a6d5b738,0 4px 12px #0009}.mobile-tools button{border-color:#afa08069;background:linear-gradient(#293b3bcf,#0e1b24ed);box-shadow:inset 0 1px 0 #b8bfa326;border-radius:7px}#mechanicHint{bottom:calc(env(safe-area-inset-bottom) + 280px)}
}
@media (pointer:coarse) and (orientation:landscape),(max-width:800px) and (orientation:landscape),(max-width:1000px) and (max-height:500px){.touch-actions{width:237px;grid-template-columns:132px 97px;gap:7px}.touch-skills{gap:6px}.touch-skills button{height:51px;min-height:51px}.touch-specials{gap:6px}.touch-specials button{height:44px;min-height:44px}.touch-art{inset:3px 3px 10px}.touch-actions button>span{font-size:9px;padding-bottom:4px}.touch-basic #touchAttack{width:74px;height:74px}.touch-basic #touchDodge{width:59px;height:59px;min-height:59px}.touch-specials button>span{font-size:8px;letter-spacing:-.4px}#mechanicHint{bottom:12px}}

.specials>button:disabled{opacity:.9;cursor:default}.specials kbd{font-size:9px}@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){.touch-specials button:disabled{opacity:.92;filter:none;cursor:default}.touch-specials button:disabled>span{color:#dbdcca}.touch-specials button:disabled>small{font:600 13px Georgia;color:#f1d8a6;top:21%}.touch-specials button::after{content:'AUTO';position:absolute;z-index:5;top:4px;left:5px;color:#cebda0;font:7px sans-serif;letter-spacing:.5px}.touch-specials{opacity:.9}.touch-specials button.pressed{transform:none}}

/* Build ledger: readable effect cards, scroll inside the paused overlay. */
.passive-section{margin:14px 0 22px}.passive-section h3{font-size:18px;color:#e9d5ac;margin:0 0 8px}.passive-section>p{font-size:14px;color:#aebfba;line-height:1.6}.passive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.passive-card{display:flex;gap:12px;background:linear-gradient(125deg,#263239,#142024);border:1px solid #b3a27b44;border-left:2px solid #c4a66e;padding:14px;border-radius:6px;text-align:left;min-width:0}.passive-card>i{flex:0 0 40px}.passive-card .painted-icon{width:40px;height:44px}.passive-card b{display:block;font-size:15px;color:#efe3c8;margin:3px 0}.passive-card small{font-size:12px;color:#aabbb7}.passive-card p{font-size:14px;color:#c7d3cf;line-height:1.65;margin:5px 0 8px}.passive-card em{font-size:12px;color:#e7c68e;font-style:normal}#autoSkills .passive-grid{grid-template-columns:1fr}#autoSkills .passive-card{padding:10px;gap:8px}#autoSkills .passive-card>i{flex-basis:28px}#autoSkills .painted-icon{width:28px;height:34px}#threatBadge{color:#efb594;display:block}.library-screen{overflow-y:auto;overscroll-behavior:contain}.library-top{position:sticky;top:0;z-index:2;background:#112026;padding:10px 0}.build-detail[hidden]{display:none!important}@media (max-width:600px){.passive-grid{grid-template-columns:1fr}.passive-card{padding:12px}.passive-card p{font-size:14px}.passive-section>p{font-size:14px}.library-screen .library-top h2{font-size:17px}}
.records-screen{max-width:820px}.records-screen>p{max-width:680px;margin-left:auto;margin-right:auto}.score-table{margin:18px auto 22px;width:min(100%,760px);border:1px solid #b6a67744;border-radius:7px;overflow:hidden;background:#10191c}.score-head,.score-row{display:grid;grid-template-columns:36px 112px 1.2fr 1.2fr 86px;gap:10px;align-items:center;padding:10px 14px;text-align:left}.score-head{background:#263338;color:#d9c99f;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.score-row{border-top:1px solid #b6a6771c;color:#d0ded9}.score-row strong{color:#f0d79d;font-size:17px}.score-row span{font-size:12px;line-height:1.45}.score-row small{color:#8da29c}.score-row em{font-size:11px;color:#ebaa86;font-style:normal}.score-row em.clear{color:#a9e3c2}.score-empty{padding:30px;color:#9eb0aa}.secondary{display:block;width:max-content;margin:9px auto 0;padding:10px 17px;border:1px solid #bea97688;border-radius:4px;background:#1a292d;color:#efdfbb;cursor:pointer}.stats-summary .score-stat b{color:#f0d79d}#threatBadge{font-size:11px;letter-spacing:.04em}@media (max-width:600px){.score-head,.score-row{grid-template-columns:24px 82px 1fr 1fr 65px;gap:5px;padding:9px 7px}.score-head{font-size:9px}.score-row strong{font-size:13px}.score-row span{font-size:10px}.score-row em{font-size:9px}.records-screen>p{font-size:12px}.secondary{min-height:42px}}
.active-section{flex:0 0 auto;margin:2px 0 18px}.active-section h3{font-size:18px;color:#e9d5ac;margin:0 0 6px}.active-section>p{font-size:14px;color:#aebfba;line-height:1.6;margin:0 0 10px}.active-section .skill-library{overflow:visible}.active-section .library-skill:not(:disabled){opacity:1;border-color:#5e8875;background:linear-gradient(135deg,#1e3834,#142526)}.active-section .library-skill:not(:disabled).equipped{border-color:#e7c981;background:linear-gradient(135deg,#4a4327,#23352f);box-shadow:inset 0 0 0 1px #eed69533,0 0 16px #e6c87918}.active-section .library-skill:disabled{opacity:.28;filter:saturate(.25);background:#111b1c;border-color:#33423d}.active-section .library-skill:disabled i,.active-section .library-skill:disabled b,.active-section .library-skill:disabled p{color:#71827b}.active-section .library-skill:disabled em{color:#82928b}.active-section .library-skill .painted-icon{width:40px;height:44px}.passive-section{flex:0 0 auto}
.touch-actions button{background:linear-gradient(145deg,rgba(24,43,49,.96),rgba(10,22,28,.94));border-color:#d8c88d99;box-shadow:0 4px 18px #0009,inset 0 0 0 1px #ffffff0d;backdrop-filter:blur(5px)}.touch-specials button{background:linear-gradient(145deg,rgba(52,42,43,.96),rgba(19,25,31,.95));border-color:#dbb487aa}.touch-skills button{background:linear-gradient(145deg,rgba(26,50,57,.96),rgba(10,22,28,.95));border-color:#9ed9d0aa}.touch-basic #touchAttack{background:radial-gradient(circle at 38% 30%,rgba(165,116,72,.96),rgba(30,27,29,.98));box-shadow:0 4px 22px #000b,inset 0 0 16px #f5d49422}.touch-basic #touchDodge{background:radial-gradient(circle at 38% 30%,rgba(91,150,139,.96),rgba(16,29,32,.98));box-shadow:0 4px 18px #000b}.touch-actions button:disabled{opacity:.68}.touch-actions button.cooling{background:linear-gradient(145deg,rgba(26,37,42,.97),rgba(8,16,21,.97));opacity:.82}.touch-actions button.pressed{filter:brightness(1.3);box-shadow:0 1px 7px #000c,inset 0 0 18px #f4dda044}

/* Ember market and compact effect language. */
.ember-stat{color:#dfc384!important}.ember-stat strong{color:#ffe1a0!important}.shop-screen{width:min(1060px,100%);max-height:100%;overflow:auto;padding:4px 8px 10px;text-align:left}.shop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;border-bottom:1px solid #bea9763d;padding-bottom:16px}.shop-head h2{font:600 32px Cinzel,Georgia,serif;color:#f0d59d;margin:0 0 7px}.shop-head p{font-size:13px;color:#afc0b6;line-height:1.7;margin:0;max-width:680px}.shop-wallet{min-width:112px;padding:13px 16px;border:1px solid #d7b77277;border-radius:8px;background:linear-gradient(135deg,#3d3520,#1c292a);text-align:center;box-shadow:0 0 24px #d8b77718}.shop-wallet span{font-size:20px;color:#ffe3a2}.shop-wallet b{display:block;font:700 25px Cinzel;color:#ffe4a8}.shop-wallet small{color:#b4c0ae;font-size:11px}.shop-route{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0;padding:10px 13px;border-left:2px solid #82cdb7;background:#182728}.shop-route span{grid-row:span 2;font-size:10px;color:#88a89a;letter-spacing:.08em}.shop-route b{font-size:14px;color:#e7d3a3}.shop-route small{font-size:11px;color:#96aaa0}.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.shop-card{position:relative;min-height:190px;padding:16px 15px 13px;text-align:left;border:1px solid #a9915c55;border-radius:7px;background:linear-gradient(145deg,#233334,#121e22);display:flex;flex-direction:column;align-items:flex-start}.shop-card:not(:disabled):hover{transform:translateY(-2px);border-color:#e0c57e;box-shadow:0 10px 24px #0005}.shop-card:disabled{cursor:default;opacity:.48}.shop-card.sold{opacity:.5}.shop-card>i{font-style:normal;font-size:30px;color:#e3ca8d;margin-bottom:9px;text-shadow:0 0 16px #e8c97c33}.shop-card em{font-style:normal;font-size:9px;letter-spacing:.12em;color:#82cdb7}.shop-card b{font-size:17px;color:#f0e2c7;margin:7px 0}.shop-card p{font-size:12px;line-height:1.65;color:#b8c9bf;margin:0 0 12px}.shop-card strong{margin-top:auto;font:600 14px Cinzel;color:#f5d793}.shop-card small{display:block;margin-top:5px;font-size:10px;color:#a8b8ad}.shop-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid #bea9763d}.shop-foot>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.shop-foot span{font-size:10px;color:#83978c}.shop-reroll{padding:9px 12px;border-color:#7d948a66;color:#b6c6ba;background:#152325}.shop-reroll:disabled{opacity:.45;cursor:default}.shop-foot .primary{margin:0;white-space:nowrap}.shop-passive{border-left-color:#d8b777}.skill-tags{display:inline-block!important;margin:6px 0 0;padding:2px 5px;border:1px solid #81cdb055;border-radius:3px;color:#9bd9c0!important;background:#6abca815;font-size:9px!important;letter-spacing:.02em}.library-skill .skill-tags+em{display:block;margin-top:6px}
@media (max-width:720px){.shop-screen{padding:0;max-height:100%}.shop-head{gap:10px;padding-bottom:10px}.shop-head h2{font-size:24px}.shop-head p{font-size:11px;line-height:1.5}.shop-wallet{min-width:82px;padding:9px 8px}.shop-wallet b{font-size:20px}.shop-route{margin:9px 0;padding:8px 10px}.shop-grid{grid-template-columns:1fr;gap:7px}.shop-card{min-height:0;padding:10px 11px 9px;display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto auto;column-gap:8px}.shop-card>i{grid-row:1/4;margin:0;font-size:24px;align-self:center}.shop-card em{grid-column:2;font-size:8px}.shop-card b{grid-column:2;font-size:14px;margin:2px 0}.shop-card p{grid-column:2;font-size:10px;margin:0;line-height:1.45}.shop-card strong{grid-column:3;grid-row:1;font-size:12px;align-self:start}.shop-card small{grid-column:3;grid-row:2/4;align-self:center;font-size:9px}.shop-foot{align-items:stretch;flex-direction:column;margin-top:9px}.shop-foot>div{justify-content:space-between}.shop-foot .primary{width:100%;margin:0}.shop-reroll{flex:1}.shop-foot span{flex:1;text-align:right}}
@media (max-height:560px) and (min-width:600px){.shop-head p{max-width:520px;font-size:11px}.shop-grid{gap:8px}.shop-card{min-height:145px;padding:10px}.shop-card b{font-size:14px}.shop-card p{font-size:10px}.shop-card>i{font-size:24px}.shop-foot{margin-top:8px}}

/* Mobile combat safe zones: controls hug the edges while the joystick follows the first touch. */
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
  .mobile-top{inset:calc(env(safe-area-inset-top) + 6px) calc(env(safe-area-inset-right) + 7px) auto calc(env(safe-area-inset-left) + 7px);height:42px}
  .mobile-route{position:absolute;left:0;right:204px;top:0;height:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;line-height:1.1;min-width:0}
  .mobile-route>span{max-width:100%;font-size:10px;overflow:hidden;text-overflow:ellipsis}
  .mobile-route small{display:block;max-width:100%;font-size:9px;overflow:hidden;text-overflow:ellipsis}
  .mobile-tools{position:absolute;right:0;top:0;margin:0;gap:4px;align-items:flex-start}
  .mobile-tools button{width:31px;min-width:31px;height:33px;padding:3px 2px;font-size:10px;border-radius:8px}
  .mobile-tools #mobileWeapon{width:64px;min-width:64px;max-width:64px;margin-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f3da9e}
  #mobileRadar{right:0;top:101px;width:102px;height:40px;opacity:.74;border-color:#c3c5a625;background:#08141966}
  .hud{top:calc(env(safe-area-inset-top) + 53px);left:calc(env(safe-area-inset-left) + 9px);right:calc(env(safe-area-inset-right) + 9px);gap:5px}
  .vitals{width:132px}
  .player-title{margin-bottom:4px;font-size:10px}
  .player-title span{font-size:10px}
  .health{height:12px}
  .health span{line-height:11px;font-size:9px}
  .xp{margin-top:4px}
  .wave-label{min-width:52px}
  .wave-label span{font-size:10px;letter-spacing:1px}
  .wave-label b{font-size:9px;margin-top:3px}
  .run-stats{display:block;min-width:46px}
  .run-stats b{font-size:12px}
  .run-stats span{font-size:8px}
  #bossHUD{top:calc(env(safe-area-inset-top) + 149px);left:22%;right:22%;font-size:10px}
  #bossHUD>div{height:5px;margin-top:5px}
  #combatBuff{top:calc(env(safe-area-inset-top) + 178px);left:10px;font-size:10px;max-width:46%}
  #mechanicHint{bottom:calc(env(safe-area-inset-bottom) + 224px);left:10px;max-width:calc(100% - 158px);font-size:10px;padding:3px 6px;background:#0b171bd9;border:1px solid #b6a67728}
  .mobile-controls{z-index:4}
  #joystick{left:0;top:0;bottom:auto;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:7}
  #joystick.floating-hidden{opacity:0;pointer-events:none}
  #joystick.floating-visible{opacity:1;pointer-events:auto}
  .touch-actions{right:calc(env(safe-area-inset-right) + 7px);bottom:calc(env(safe-area-inset-bottom) + 8px);width:141px;gap:5px}
  .touch-specials,.touch-skills{gap:5px}
  .touch-specials button{height:38px;min-height:38px}
  .touch-skills button{height:48px;min-height:48px}
  .touch-actions button>span{font-size:9px;padding-bottom:4px}
  .touch-actions button>small{font-size:15px}
  .touch-specials button>small{font-size:13px;top:24%}
  .touch-basic{gap:6px}
  .touch-basic #touchAttack{width:68px;height:68px}
  .touch-basic #touchDodge{width:53px;height:53px;min-height:53px}
  .touch-basic #touchAttack .touch-art{inset:6px 8px 17px}
  .touch-basic #touchDodge .touch-art{inset:5px 6px 12px}
  .touch-basic #touchAttack>span{font-size:10px;padding-bottom:7px}
  .touch-basic #touchDodge>span{font-size:10px;padding-bottom:5px}
  .touch-actions button{border-radius:10px}
  .touch-art .painted-icon{max-width:52px}
}
@media (pointer:coarse) and (orientation:landscape),(max-width:800px) and (orientation:landscape),(max-width:1000px) and (max-height:500px){
  .mobile-top{height:36px}
  .mobile-route{left:150px;right:205px;top:0;height:32px;flex-direction:row;align-items:center;justify-content:center;gap:8px}
  .mobile-route>span{font-size:10px}
  .mobile-route small{font-size:9px}
  .mobile-tools button{height:31px}
  #mobileRadar{left:0;right:auto;top:78px;width:84px;height:34px}
  .hud{top:calc(env(safe-area-inset-top) + 40px);left:9px;right:9px}
  .vitals{width:145px}
  #bossHUD{top:calc(env(safe-area-inset-top) + 116px);left:28%;right:28%}
  #combatBuff{top:calc(env(safe-area-inset-top) + 143px);left:9px}
  #mechanicHint{top:calc(env(safe-area-inset-top) + 158px);bottom:auto;left:105px;max-width:38%}
  .touch-actions{right:calc(env(safe-area-inset-right) + 7px);bottom:calc(env(safe-area-inset-bottom) + 6px);width:204px;grid-template-columns:114px 84px;gap:5px}
  .touch-specials,.touch-skills{gap:5px}
  .touch-specials button{height:37px;min-height:37px}
  .touch-skills button{height:43px;min-height:43px}
  .touch-basic{gap:5px}
  .touch-basic #touchAttack{width:67px;height:67px}
  .touch-basic #touchDodge{width:51px;height:51px;min-height:51px}
  .touch-actions button>span{font-size:8px;padding-bottom:3px}
  .touch-actions button>small{font-size:13px}
}
@media (max-width:380px) and (orientation:portrait){
  .mobile-route{right:190px}
  .mobile-tools button{width:29px;min-width:29px;font-size:9px}
  .mobile-tools #mobileWeapon{width:58px;min-width:58px;max-width:58px}
  .touch-actions{width:132px}
  .touch-skills button{height:45px;min-height:45px}
  .touch-basic #touchAttack{width:63px;height:63px}
  .touch-basic #touchDodge{width:49px;height:49px;min-height:49px}
  #mechanicHint{bottom:calc(env(safe-area-inset-bottom) + 212px);max-width:calc(100% - 148px)}
}

/* Mobile transient notices stay compact and let the battlefield show through. */
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
  #toast{top:46%;bottom:auto;width:fit-content;max-width:min(78vw,260px);padding:7px 12px;background:rgba(8,18,23,.44);border:1px solid rgba(216,190,123,.38);border-radius:7px;box-shadow:0 4px 14px rgba(0,0,0,.22);backdrop-filter:blur(3px);font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-shadow:0 1px 3px #000;transform:translate(-50%,-50%)}
}

/* Final responsive pass: one border per control, readable cards, and a
   scrollable guide that never covers the whole battlefield on a phone. */
.guide-screen{width:min(760px,100%);max-height:100%;display:flex;flex-direction:column;text-align:left;background:linear-gradient(145deg,#122426f2,#0b1719f2);border:1px solid #c2a66a55;border-radius:10px;padding:22px 24px;box-shadow:0 18px 55px #0008}
.mobile-orientation-note{margin:8px 0 0;text-align:center;color:#aebfba;font-size:12px;line-height:1.5}
.guide-screen h2{text-align:center;margin:0 0 12px;color:#efd39e}.guide-scroll{overflow:auto;overscroll-behavior:contain;padding:0 4px 4px;max-height:min(66vh,560px)}
.guide-scroll section{padding:12px 0 14px;border-top:1px solid #b6a67724}.guide-scroll section:first-child{border-top:0}.guide-scroll h3{margin:0 0 6px;color:#e7c98f;font-size:15px}.guide-scroll p{margin:5px 0;color:#b9c9bf;font-size:12px;line-height:1.75}.guide-scroll strong{color:#ffe1a0}
#guideButton{margin-top:8px}.guide-screen .primary{align-self:center;min-width:130px;margin-top:12px}
.choice.rarity-epic{box-shadow:inset 0 0 34px #68c8ff14,0 0 18px #68c8ff12}.choice.rarity-unique{box-shadow:inset 0 0 44px #c08aff1c,0 0 24px #c08aff20}.choice.rarity-unique>i{filter:drop-shadow(0 0 9px #c08aff80)}.choice.rarity-epic>i{filter:drop-shadow(0 0 7px #68c8ff66)}
.skill.skill-rarity-epic b{filter:drop-shadow(0 0 6px #68c8ff88)}.skill.skill-rarity-unique b{filter:drop-shadow(0 0 9px #c08affaa)}
.relic-loadout-head{flex-wrap:wrap}.relic-loadout-head .relic-tier-legend{flex-basis:100%;margin:2px 0 0}.relic-slot,.relic-vault-card,.shop-card,.choice{border-width:1px;outline:0}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
  .guide-screen{padding:12px 13px;border-radius:8px;width:100%;max-height:100%;min-height:0}.guide-screen h2{font-size:20px;margin-bottom:7px}.guide-scroll{max-height:none;min-height:0;flex:1}.guide-scroll h3{font-size:14px}.guide-scroll p{font-size:11px;line-height:1.6}.guide-screen .primary{min-height:42px;margin-top:8px}
  .overlay{padding-left:8px;padding-right:8px}.choice-screen,.shop-screen,.library-screen{max-height:100%;min-height:0}.choices{max-height:none}.choice{border-radius:7px}.reward-controls{border-top:1px solid #b6a6772a;box-shadow:0 -5px 14px #07121488}
  .mobile-tools button{min-height:34px;opacity:.82}.touch-actions{opacity:.86}.touch-actions button{border-width:1px;box-shadow:0 3px 12px #0007,inset 0 0 0 1px #ffffff0b}.touch-actions button:active{filter:brightness(1.22)}
  #joystick{opacity:.72}.floating-visible{opacity:.82!important}.relic-loadout-head{align-items:flex-start}.relic-loadout-head>span{margin-left:auto}.relic-tier-legend{line-height:1.6}
}
@media (max-width:430px){.guide-scroll p{font-size:10px}.guide-scroll h3{font-size:13px}.relic-slot b{font-size:10px}.relic-slot small{font-size:8px}.relic-vault-card p{font-size:9px}.shop-card{min-height:58px}}
@media (pointer:coarse) and (orientation:landscape),(max-width:800px) and (orientation:landscape),(max-width:1000px) and (max-height:500px){
  #toast{top:52%;max-width:min(58vw,320px);padding:6px 11px;font-size:10px}
}
@media (max-width:380px) and (orientation:portrait){
  #toast{max-width:76vw;padding:6px 10px;font-size:10px}
}
.shop-card>i.shop-relic-art{display:flex;align-items:center;justify-content:center;width:50px;height:58px}
.shop-card>i.shop-relic-art .painted-icon{width:50px;height:58px}
@media (max-width:720px){
  .shop-card>i.shop-relic-art{width:34px;height:42px}
  .shop-card>i.shop-relic-art .painted-icon{width:34px;height:42px}
}

/* Keep combat count and ember currency visually distinct at a glance. */
.run-stats .kill-stat{color:#c88780!important}
.run-stats #kills{color:#f08a7d!important}
.run-stats #embers{color:#f0cb72!important}
.run-stats .ember-stat{color:#c5aa72!important}

/* Relic collection/loadout: every find is stored, only six are active. */
.relic-loadout{margin:22px 0 10px;border-top:1px solid #b9a77733;padding-top:16px;text-align:left}
.relic-loadout-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:10px}
.relic-loadout-head h3{margin:0;color:#e9d5ac;font-size:18px}
.relic-loadout-head h3 small{font:12px monospace;color:#a9c6b8;margin-left:8px}
.relic-loadout-head p{margin:4px 0 0;color:#9db0a8;font-size:12px}
.relic-loadout-head>span{font-size:11px;color:#d3bc86;white-space:nowrap}
.relic-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:12px}
.relic-slot{min-width:0;min-height:108px;padding:8px 5px;background:#1b2929;border-color:#8f7b4c66;text-align:center}
.relic-slot span{display:block;height:47px}
.relic-slot .painted-icon{width:42px;height:47px}
.relic-slot b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.relic-slot small{font-size:9px;color:#9eb7aa}
.relic-slot.empty{opacity:.5;border-style:dashed}
.relic-vault{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:250px;overflow:auto}
.relic-vault-card{display:flex;gap:8px;align-items:flex-start;padding:8px;text-align:left;background:#142423;border-color:#52685b}
.relic-vault-card.active{border-color:#e5c887;background:#3b3523}
.relic-vault-card>i{flex:0 0 42px;font-style:normal}
.relic-vault-card>i .painted-icon{width:40px;height:44px}
.relic-vault-card b{font-size:12px;color:#efe2c6;display:block}
.relic-vault-card small{font-size:10px;color:#e7c781}
.relic-vault-card p{font-size:10px;line-height:1.4;color:#a9bbb2;margin:4px 0 0}
.item.equipped{border-left:2px solid #e5c887;padding-left:7px;background:#e5c8870b}
@media (max-width:700px){.relic-slots{grid-template-columns:repeat(3,1fr)}.relic-vault{grid-template-columns:1fr}.relic-loadout-head h3{font-size:16px}.relic-loadout-head p{font-size:11px}}
/* Skill rarity language: the same tier colors are used in rewards, loadout and HUD. */
.choice.rarity-common>i,.choice.rarity-common em,.skill.skill-rarity-common b{color:#f2f1e9}
.choice.rarity-epic>i,.choice.rarity-epic em,.skill.skill-rarity-epic b{color:#68c8ff}
.choice.rarity-unique>i,.choice.rarity-unique em,.skill.skill-rarity-unique b{color:#c08aff}
.choice.rarity-common{border-color:#f2f1e933}.choice.rarity-epic{border-color:#68c8ff66;box-shadow:inset 0 0 28px #68c8ff0d}.choice.rarity-unique{border-color:#c08aff88;box-shadow:inset 0 0 34px #c08aff14}
.library-skill.rarity-common i{color:#f2f1e9}.library-skill.rarity-epic i{color:#68c8ff}.library-skill.rarity-unique i{color:#c08aff}
.skill.skill-rarity-common,.skill.skill-rarity-epic,.skill.skill-rarity-unique{border:1px solid var(--line);box-shadow:none}
.active-section .library-skill:not(:disabled).equipped{box-shadow:0 0 16px #e6c87918}
.skill-growth{display:block;margin-top:5px;color:#e8c981;font-size:10px;font-weight:600}
.relic-tier-legend{color:#b9c8bd;font-size:10px;letter-spacing:.03em}
.relic-tier{font-style:normal;font-weight:600}.relic-tier-name.tier-craft,.relic-tier.tier-craft{color:#f2f1e9!important}.relic-tier-name.tier-masterwork,.relic-tier.tier-masterwork{color:#f29a52!important}.relic-tier-name.tier-masterpiece,.relic-tier.tier-masterpiece{color:#ef6257!important}
.choice.rarity-relic-craft>i,.choice.rarity-relic-craft em,.choice.rarity-relic-craft b{color:#f2f1e9}.choice.rarity-relic-masterwork>i,.choice.rarity-relic-masterwork em,.choice.rarity-relic-masterwork b{color:#f29a52}.choice.rarity-relic-masterpiece>i,.choice.rarity-relic-masterpiece em,.choice.rarity-relic-masterpiece b{color:#ef6257}
.choice.rarity-relic-craft{border-color:#f2f1e955}.choice.rarity-relic-masterwork{border-color:#f29a5266}.choice.rarity-relic-masterpiece{border-color:#ef625766}
.shop-card .relic-tier-name{font-weight:700}.shop-card .relic-tier{letter-spacing:.02em}

/* Legendary tier: gold is reserved for rare skills and their dedicated art. */
.choice.rarity-legendary,.library-skill.rarity-legendary{border-color:#f4c75eaa;background:linear-gradient(145deg,#463719,#1d2925);box-shadow:inset 0 0 42px #f4c75e18,0 0 26px #f4c75e18}
.choice.rarity-legendary>i,.choice.rarity-legendary>em,.choice.rarity-legendary>b,.library-skill.rarity-legendary>i,.library-skill.rarity-legendary>b,.skill.skill-rarity-legendary b{color:#f4c75e!important;filter:drop-shadow(0 0 8px #f4c75e66)}
.choice.rarity-legendary>p,.library-skill.rarity-legendary>small,.library-skill.rarity-legendary>em,.skill.skill-rarity-legendary span,.skill.skill-rarity-legendary small{color:#f4c75ecc!important}
.skill.skill-rarity-legendary{border-color:#f4c75e88!important;background:linear-gradient(145deg,#4a3a1e,#162728);box-shadow:0 0 17px #f4c75e28}
.legendary-skill-icon,.legendary-relic-icon{filter:drop-shadow(0 0 8px #f4c75e40)}
.legendary-relic-icon{background:transparent;border-radius:8px}
.shop-card .legendary-relic-icon{filter:drop-shadow(0 0 9px #f4c75e66)}
.library-skill.rarity-legendary .skill-tags{border-color:#f4c75e66;color:#f4c75e!important;background:#f4c75e12}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){.choice.rarity-legendary>i .painted-icon,.library-skill.rarity-legendary>i .painted-icon{filter:drop-shadow(0 0 6px #f4c75e66)}.shop-card>i.shop-relic-art .legendary-relic-icon{width:34px;height:42px}}

/* Ember Market cards keep relic and skill purchases visually distinct while
   reusing the same rarity language as level-up rewards. */
.shop-card.shop-card-skill{border-color:#68c8ff44;background:linear-gradient(145deg,#1c3440,#121e22)}
.shop-card.shop-card-skill.rarity-epic{border-color:#68c8ff77;box-shadow:inset 0 0 26px #68c8ff12}
.shop-card.shop-card-skill.rarity-unique{border-color:#c08aff88;background:linear-gradient(145deg,#302442,#121e22);box-shadow:inset 0 0 30px #c08aff16}
.shop-card.shop-card-skill.rarity-legendary{border-color:#f4c75eaa;background:linear-gradient(145deg,#463719,#1d2925);box-shadow:inset 0 0 35px #f4c75e18,0 0 18px #f4c75e16}
.shop-card.shop-card-skill.rarity-common>i,.shop-card.shop-card-skill.rarity-common em,.shop-card.shop-card-skill.rarity-common b{color:#f2f1e9}
.shop-card.shop-card-skill.rarity-epic>i,.shop-card.shop-card-skill.rarity-epic em,.shop-card.shop-card-skill.rarity-epic b{color:#68c8ff}
.shop-card.shop-card-skill.rarity-unique>i,.shop-card.shop-card-skill.rarity-unique em,.shop-card.shop-card-skill.rarity-unique b{color:#c08aff}
.shop-card.shop-card-skill.rarity-legendary>i,.shop-card.shop-card-skill.rarity-legendary em,.shop-card.shop-card-skill.rarity-legendary b{color:#f4c75e;filter:drop-shadow(0 0 7px #f4c75e55)}
.shop-card>i.shop-skill-art{display:flex;align-items:center;justify-content:center;width:50px;height:58px}
.shop-card>i.shop-skill-art .painted-icon{width:50px;height:58px}
@media (max-width:720px){.shop-card>i.shop-skill-art{width:34px;height:42px}.shop-card>i.shop-skill-art .painted-icon{width:34px;height:42px}}

/* Tier colour is applied to the item name itself everywhere a relic appears.
   The label and border keep their existing treatment, while the name is the
   quickest way to identify a relic in a crowded shop or mobile vault. */
.shop-card.rarity-relic-craft>b,.relic-slot .relic-tier-name.tier-craft,.relic-vault-card .relic-tier-name.tier-craft,#inventory .relic-tier-name.tier-craft{color:#f2f1e9!important}
.shop-card.rarity-relic-masterwork>b,.relic-slot .relic-tier-name.tier-masterwork,.relic-vault-card .relic-tier-name.tier-masterwork,#inventory .relic-tier-name.tier-masterwork{color:#f29a52!important}
.shop-card.rarity-relic-masterpiece>b,.relic-slot .relic-tier-name.tier-masterpiece,.relic-vault-card .relic-tier-name.tier-masterpiece,#inventory .relic-tier-name.tier-masterpiece{color:#ef6257!important}

/* Build cards and the four combat slots use the same skill tier language. */
.library-skill.rarity-common>b,.skill.skill-rarity-common>span{color:#f2f1e9!important}
.library-skill.rarity-epic>b,.skill.skill-rarity-epic>span{color:#68c8ff!important;text-shadow:0 0 8px #68c8ff35}
.library-skill.rarity-unique>b,.skill.skill-rarity-unique>span{color:#c08aff!important;text-shadow:0 0 9px #c08aff44}
.library-skill.rarity-legendary>b,.skill.skill-rarity-legendary>span{color:#f4c75e!important;text-shadow:0 0 11px #f4c75e66}

/* Keep every stage marker on the same right edge on desktop.  Stages 2 and 3
   retain their legacy nested markup, so both direct and nested diamonds share
   the same anchored placement. */
@media (min-width:801px){
  .progress>div{position:relative}
  .progress>div>b,.progress>div>div>b{position:absolute;right:0;top:50%;margin:0;transform:translateY(-50%)}
  /* Share the available expedition panel height among all seven zones. */
  #panel0:not([hidden]){display:flex;flex:1;flex-direction:column}
  #panel0 .aside-heading,#panel0 .difficulty{flex-shrink:0}
  #panel0 .progress{display:grid;grid-template-rows:repeat(7,minmax(48px,1fr));flex:1;min-height:0;margin-bottom:0}
  #panel0 .progress>div{min-height:0;padding:4px 0}
}
/* v62 mobile landscape reward art */
@media (orientation:landscape) and (max-width:900px){.choice-screen{max-width:96vw}.choices{gap:10px}.choice{padding:12px 10px;display:grid;grid-template-columns:58px 1fr;column-gap:10px;align-items:start}.choice>i{grid-row:1 / span 4;width:58px;height:58px;margin:0;display:grid;place-items:center;font-size:22px}.choice>i .painted-icon{width:58px;height:58px}.choice em,.choice b,.choice p,.choice small{grid-column:2}.choice b{margin:4px 0;font-size:13px}.choice p{min-height:0;font-size:10px;line-height:1.45;margin:4px 0}.choice small{margin-top:4px;font-size:9px}}
img.masterpiece-art{display:block;width:100%;height:100%;object-fit:contain;background:transparent}

/* v65: reward and starter artwork must remain visible in mobile landscape. */
@media (pointer:coarse) and (orientation:landscape),
       (max-width:800px) and (orientation:landscape),
       (max-width:1000px) and (max-height:500px){
  .choice>i{display:grid!important;visibility:visible!important;opacity:1!important}
  .choice>i .painted-icon{display:block!important;width:58px;height:58px;max-width:100%;object-fit:contain}
  .choice>i svg,.choice>i img{display:block!important;max-width:100%;max-height:100%}
}

/* Shield extends the health gauge to the right, matching the health bar scale. */
.health{overflow:visible}.health #barrierbar{position:absolute;left:100%;top:-1px;display:none;height:calc(100% + 2px);min-width:0;background:linear-gradient(90deg,#438eb7,#73d8ee);border:1px solid #a1edff;box-shadow:0 0 7px #49c9f477;transition:width .12s ease;pointer-events:none}.health #barrierbar[style*="display: block"]{border-left:2px solid #c8f7ff}

.health #barrierbar #barrieramount{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:auto;height:auto;transform:none;background:none;border:0;box-shadow:none;color:#f2fbff;font:10px monospace;line-height:14px;text-align:center;text-shadow:0 1px 2px #05364d;white-space:nowrap;pointer-events:none}

/* A compact two-line preview of equipped skill evolutions. The details panel
   still opens and scrolls through every full recipe. */
.evolution-recipes{min-height:58px}
.evolution-recipes summary{display:grid;grid-template-columns:12px minmax(0,1fr);column-gap:8px;align-content:center;min-height:38px;line-height:1.35;list-style:none}
.evolution-recipes summary::-webkit-details-marker{display:none}
.evolution-recipes summary::before{content:'▸';grid-row:1/3;align-self:center;color:#e4c68f}
.evolution-recipes[open] summary::before{content:'▾'}
.evolution-recipes summary strong{grid-column:2;font-size:12px;font-weight:600}
.evolution-recipes .evolution-summary-hint{grid-column:2;min-width:0;color:#a6bcae;font-size:11px;white-space:normal;overflow-wrap:anywhere}
.evolution-recipes:not([open]){max-height:none;overflow:visible}
.evolution-recipes[open]{max-height:min(55vh,320px)}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
 .evolution-recipes{min-height:54px;padding:7px 10px}
 .evolution-recipes summary{min-height:36px}
 .evolution-recipes summary strong{font-size:11px}
 .evolution-recipes .evolution-summary-hint{font-size:10px}
 .evolution-recipes[open]{max-height:min(52vh,260px)}
}

/* Allow transient messages to wrap inside the battlefield at desktop and
   mobile widths; preserve the compact mobile placement above. */
#toast{max-width:min(640px,calc(100% - 32px));white-space:normal;overflow-wrap:break-word;line-height:1.4}
@media (pointer:coarse),(max-width:800px),(max-width:1000px) and (max-height:500px){
 #toast{max-width:min(78vw,260px)}
}
@media (pointer:coarse) and (orientation:landscape),(max-width:800px) and (orientation:landscape),(max-width:1000px) and (max-height:500px){
 #toast{max-width:min(58vw,320px)}
}
/* Compact pause utilities remain touchable in portrait and landscape. */
.pause-tools{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:14px}.pause-tools button{min-height:44px;min-width:132px;padding:10px 16px}.pause-tools button[aria-pressed="true"]{color:#c6edda;border-color:#80bba6}.pause-tools button[aria-pressed="false"]{color:#a4aaa7}.pause-tools span{font-size:1.2em;margin-right:6px}.mobile-pause-guide{max-height:90dvh;overflow:auto}.mobile-pause-guide .help-grid{gap:10px;text-align:left}@media(max-height:500px){.mobile-pause-guide h2{font-size:23px;margin:8px 0}.mobile-pause-guide .help-grid{font-size:12px;gap:7px}.pause-tools{margin-top:8px}}
