/* The encounter replaces exploration controls for the duration of a fight. */
.game-shell.fighting .view-buttons,.game-shell.fighting .canvas-toast,.game-shell.fighting .mobile-pad,.game-shell.fighting .context-controls{display:none}.encounter{position:absolute;inset:16px 22px 0;pointer-events:none}.encounter-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:20px;text-shadow:0 2px 5px #163022}.encounter-heading span{font-size:14px;font-variant-numeric:tabular-nums;color:#f5dfb3}.enemy-track{height:6px;overflow:hidden;background:#163c2e;border-radius:6px;margin:10px 0 14px}.enemy-track i{height:100%;display:block;background:#f2c781;transition:width .2s}.intent-card{background:#173d49ed;border:1px solid #aac8bd55;border-radius:12px;padding:11px 14px;color:#ffebba;box-shadow:0 4px 16px #183c3526;max-width:540px;margin:auto}.intent-card b{font-size:17px}.intent-card p{font-size:14px;line-height:1.6;margin:4px 0 0;color:#c5d8d6}.battle-note{position:absolute;bottom:0;left:0;right:0;min-height:38px;font-size:14px;line-height:1.5;text-align:center;color:#fff5d5;margin:0;padding:8px;background:#112e3ee8;border-radius:10px 10px 0 0}.battle-controls{display:none;width:100%}.fighting .battle-controls{display:block}.battle-main-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.battle-main-actions button{min-height:57px;border:1px solid #d5e7b3;border-radius:13px;padding:8px 5px;font-size:17px;font-weight:650;background:#f4dca3;color:#38382c;box-shadow:0 4px 0 #102f24}.battle-main-actions button:nth-child(2){background:#b7d5d4}.battle-main-actions button:nth-child(3){background:#d6c1e4;border-color:#f2e6bd}.battle-main-actions button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #102f24}.battle-main-actions button small{display:block;margin-top:4px;font-size:12px;font-weight:500;line-height:1.25}.battle-secondary{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:14px}.battle-secondary>span{font-size:12px;color:#c9dabb;margin-right:auto}.battle-secondary button{border:1px solid #8baf79;border-radius:10px;min-height:44px;padding:8px 13px;background:#234650;font-size:14px}.battle-controls[aria-busy=true] #battle-phase{color:#f4d692}.game-shell.fighting .objective-mark{color:#8c6843;background:#eadabb}

/* Home, companion and discovered keepsakes. */
.home-illustration{display:block;width:calc(100% + 54px);max-height:300px;object-fit:cover;margin:0 -27px 17px}.home-shelf{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0 18px}.home-shelf span{background:#38583e;color:#e1dfb4;border:1px solid #758759;border-radius:7px;padding:7px 9px;font-size:13px}.home-shelf b{color:#ffe39b}.companion-card{display:flex;gap:14px;align-items:center;margin:10px 0 20px;padding:10px;border:1px solid #799562;border-radius:14px;background:#345a3d}.companion-card p{font-size:15px;line-height:1.7;color:#ebedcd;margin:0}.cat-portrait{display:block;flex-shrink:0;width:100px;height:98px;background-image:url('/games/assets/character-atlas.png');background-size:300px 200px;background-position:-100px 0}.name-form label{display:block;font-size:14px;color:#d3dfb8;margin:18px 0 9px}.name-form>div{display:flex;gap:9px}.name-form input{width:0;flex:1;min-height:47px;border-radius:9px;background:#f8f1d9;color:#284633;border:1px solid #d1dba8;padding:10px;font:16px inherit;font-family:inherit}.name-form button{border:1px solid #e7dfa7;border-radius:9px;background:#e9d795;color:#36503b;font-size:14px;padding:9px 12px}.name-form small{display:block;min-height:20px;margin-top:10px;font-size:14px;color:#e3efb8}.journal-entries{display:grid;gap:11px;margin:18px 0}.journal-entries article{background:#f6efda;color:#36503d;border-radius:4px 13px 13px 4px;border-left:4px solid #d9b76b;padding:15px}.journal-entries strong{font-size:16px}.journal-entries p{font-size:14px;line-height:1.8;margin:7px 0 0;color:#627058}.creator-credit{font-size:12px;color:#bfd0a5;letter-spacing:.5px;margin-top:22px}.victory-emblem{font-size:80px;color:#edce7a;text-align:center;text-shadow:0 0 40px #dac47588}

.clue-note{display:flex;align-items:center;gap:16px;background:#f4edd8;color:#34503f;border-radius:12px;padding:16px;margin:18px 0}.clue-note>span{font-size:32px;color:#9b7439;flex-shrink:0}.clue-note p{margin:0;line-height:1.7;font-size:16px}.keepsake-reveal{display:flex;flex-direction:column;align-items:center;gap:10px;margin:18px 0 22px;padding:24px;border:1px solid #ccaf6f;border-radius:16px;background:radial-gradient(ellipse at top,#826d3d,#294d38 78%)}.keepsake-reveal>span{font-size:58px;color:#ffe2a0;line-height:1.2}.keepsake-reveal strong{font-size:22px;color:#fff0bc}.keepsake-reveal small{font-size:14px;color:#e9e2be}.home-collection{margin:18px 0}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.collection-heading h3{margin:0;font-size:18px}.collection-heading>span{font-size:14px;color:#c6d5ac}.keepsake-card{display:flex;align-items:center;gap:15px;padding:18px;border:1px dashed #809669;border-radius:12px;background:#294e37}.keepsake-card.collected{background:#f3e7c5;color:#334a33;border:1px solid #e5c889}.keepsake-mark{font-size:38px;color:#c7b278;line-height:1;flex-shrink:0}.collected .keepsake-mark{color:#a9792d}.keepsake-card strong{font-size:16px;line-height:1.5}.keepsake-card p{font-size:14px;line-height:1.7;margin:7px 0 0;color:#c7d4b3}.keepsake-card.collected p{color:#6d704e}.home-map-note{font-size:14px;line-height:1.6;color:#d1dbb7;padding:14px 0 10px;border-bottom:1px solid #79945e77}.home-cat-note{font-size:14px;line-height:1.7;color:#e1d9ac;margin:12px 0}.companion-memories{padding:15px;border-radius:12px;background:#193f30;margin:15px 0}.companion-memories strong{font-size:16px;color:#f0d89f}.companion-memories p{font-size:14px;line-height:1.6;color:#dce7c7;margin:10px 0}.companion-memories small{display:block;font-size:14px;line-height:1.6;color:#bbd2a5}dialog[data-mode=home] .home-illustration{max-height:190px}


@media(max-width:820px),(pointer:coarse){.game-shell.fighting .game-bottom{padding-left:15px;padding-right:15px}.battle-main-actions{gap:8px}.battle-main-actions button{font-size:16px;min-height:57px}.battle-main-actions button small{font-size:11px}.battle-secondary{gap:8px;margin-top:13px}.battle-secondary>span{font-size:12px}.battle-secondary button{font-size:13px;padding:8px 10px}.encounter{inset:12px 13px 0}.encounter-heading{font-size:18px}.enemy-track{margin:8px 0 10px}.intent-card{padding:9px 12px}.intent-card b{font-size:15px}.intent-card p{font-size:13px;line-height:1.5}.battle-note{font-size:13px;min-height:40px;padding:8px 6px}.home-illustration{width:calc(100% + 46px);margin-left:-23px;margin-right:-23px}.keepsake-card{padding:14px;gap:12px}.collection-heading h3{font-size:17px}}
@media(max-height:540px) and (orientation:landscape) and (max-width:1100px){.game-shell[data-input=touch].fighting .canvas-wrap{margin:0 192px 0 0}.game-shell[data-input=touch].fighting .game-bottom{left:auto;right:0;top:106px;bottom:0;width:192px;height:auto;min-height:0;padding:8px 12px;pointer-events:auto;align-items:center}.game-shell[data-input=touch] .battle-main-actions{grid-template-columns:1fr;gap:7px}.game-shell[data-input=touch] .battle-main-actions button{min-height:43px;padding:5px;font-size:14px;border-radius:10px}.game-shell[data-input=touch] .battle-main-actions button small{display:inline;margin:0 0 0 6px;font-size:11px}.game-shell[data-input=touch] .battle-secondary{gap:6px;margin-top:10px;flex-wrap:wrap;justify-content:stretch}.game-shell[data-input=touch] .battle-secondary>span{width:100%;font-size:11px;line-height:1.3}.game-shell[data-input=touch] .battle-secondary button{flex:1;padding:5px;min-height:40px;font-size:12px}.game-shell[data-input=touch] .encounter{inset:8px 12px 0}.game-shell[data-input=touch] .encounter-heading{font-size:15px}.game-shell[data-input=touch] .intent-card{padding:6px 10px;max-width:480px}.game-shell[data-input=touch] .intent-card b{font-size:14px}.game-shell[data-input=touch] .intent-card p{font-size:12px;margin-top:2px;line-height:1.4}.game-shell[data-input=touch] .enemy-track{margin:5px 0 7px}.game-shell[data-input=touch] .battle-note{font-size:12px;min-height:30px;padding:5px}.game-shell[data-input=touch].fighting .objective-strip{font-size:12px}}

/* Action labels, effects and keyboard controls stay legible in narrow desktop panels. */
.game-shell .battle-controls [data-shortcut]::after{display:none!important}.battle-button-title{display:flex;justify-content:center;align-items:center;gap:6px;line-height:1.3}.battle-button-detail{display:block;margin-top:5px;font-size:13px;font-weight:500;line-height:1.3}.battle-key{display:none;font-size:13px;line-height:1.4;padding:1px 5px;min-width:0;color:inherit;background:#ffffff30;border-color:currentColor;border-bottom-width:2px;opacity:1}.game-shell[data-input=keyboard] .battle-key{display:inline-block}.battle-main-actions button{min-height:66px}.battle-secondary button{min-height:48px}.battle-secondary .battle-button-detail{font-size:12px;margin-top:3px}
@media(max-width:374px){.battle-button-title{gap:3px}.battle-key{font-size:12px;padding:1px 3px}.battle-button-detail{font-size:12px}.battle-main-actions{gap:6px}}
@media(max-height:540px) and (orientation:landscape) and (max-width:1100px){.game-shell[data-input=touch] .battle-main-actions button{min-height:51px}.game-shell[data-input=touch] .battle-button-detail{font-size:12px;margin-top:3px}.game-shell[data-input=touch] .battle-secondary{margin-top:8px}.game-shell[data-input=touch] .battle-secondary button{min-height:42px}.game-shell[data-input=touch] .battle-secondary .battle-key{font-size:12px;padding:1px 3px}}

.intent-card[data-counter=true]{border-color:#f1ce88;box-shadow:0 0 0 2px #f1ce8822}.supply-explanation{font-size:15px;line-height:1.7;color:#c4d8d5;margin:6px 0 20px}.supply-options{display:grid;gap:12px;margin-bottom:15px}.supply-choice{width:100%;text-align:left;padding:17px 18px;border:1px solid #d8be7f8c;background:linear-gradient(130deg,#34545a,#1d3d48);border-radius:13px;min-height:94px}.supply-choice>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.supply-choice strong{font-size:18px;color:#ffe3a6}.supply-choice small{display:block;font-size:15px;line-height:1.65;color:#d4e1dd;margin-top:7px}.supply-choice:disabled{opacity:.6;border-color:#73939555}.supply-choice:disabled kbd{display:none}

/* Character growth takes the place of the decorative objective mark. */
.hero-progress{width:76px;min-width:76px;min-height:46px;align-self:center;padding:5px 5px 7px;border:1px solid #baad7555;border-radius:10px;background:#12333f;position:relative;color:#f7dfa6;display:flex;flex-direction:column;align-items:center;gap:3px}.hero-progress strong{font-size:15px;line-height:1.2}.hero-progress>span{font-size:12px;line-height:1.3;white-space:nowrap;color:#c4d8d4}.hero-xp-track{display:block;position:absolute;bottom:0;left:6px;right:6px;height:3px;overflow:hidden;border-radius:3px;background:#678b9238}.hero-xp-track i{display:block;height:100%;background:#e9c477;transition:width .25s}.hero-progress[data-ready=true]{background:#e9cf8d;color:#233b40;border-color:#fff1bd;box-shadow:0 0 0 3px #ebcd7b16}.hero-progress[data-ready=true]>span{color:#294047}.growth-summary{display:flex;gap:16px;align-items:center;margin:4px 0 14px}.growth-summary>strong{font-size:30px;color:#ffdfa2;white-space:nowrap}.growth-summary b{font-size:16px;line-height:1.5;display:block}.growth-summary span{display:block;font-size:13px;color:#b3d0ce;margin-top:5px;line-height:1.5}.growth-track{height:5px;border-radius:8px;background:#61868b44;overflow:hidden}.growth-track i{display:block;height:100%;background:#efca82}.growth-intro{font-size:15px;line-height:1.65;color:#c4d9d5;margin:17px 0}.growth-intro>span{display:block;margin-top:7px;font-size:13px}.growth-options{display:grid;gap:12px}.growth-choice{width:100%;text-align:left;padding:15px 16px;border:1px solid #b1c9be66;border-radius:13px;background:linear-gradient(120deg,#325259,#173944);color:#e4eddd}.growth-choice[data-path=sword]{border-left:3px solid #e7bf76}.growth-choice[data-path=trail]{border-left:3px solid #85bcb0}.growth-choice[data-path=bond]{border-left:3px solid #baa4d5}.growth-choice-heading{display:flex;align-items:center;gap:9px;margin-bottom:9px}.growth-choice-heading strong{font-size:17px;color:#ffe2a2}.growth-choice-heading>span{font-size:13px;color:#bad2d0;margin-left:auto}.growth-choice-heading kbd{font-size:12px}.growth-choice>b{font-size:15px;display:block;color:#f1eee0}.growth-choice p{font-size:14px;line-height:1.6;color:#c8dcda;margin:5px 0}.growth-choice small{display:block;font-size:12px;color:#a6c2c1;line-height:1.5;margin-top:8px}.growth-choice:disabled{opacity:1;cursor:default;background:#12313b}.growth-choice:disabled .growth-choice-heading strong{color:#d2decf}.growth-receipt{padding:10px 12px;border-radius:9px;background:#bbd59522;color:#e5efc1;font-size:14px;line-height:1.6}dialog[data-mode=growth]{width:min(540px,calc(100vw - 24px))}
@media(max-width:374px){.hero-progress{width:72px;min-width:72px}.growth-choice{padding:13px}.growth-choice-heading{gap:6px}.growth-choice-heading strong{font-size:16px}.growth-choice-heading>span{font-size:12px}.growth-summary{gap:12px}.growth-summary>strong{font-size:25px}}

/* Keyboard and mouse get a compact command bar. Touch retains its own controls. */
.desktop-movement{display:none}
dialog[data-mode=result]{width:min(510px,calc(100vw - 24px));border-color:#d4b97c88}
.result-enemy{margin:4px 0 20px;color:#ccddda;font-size:17px;line-height:1.6}
.result-loot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.result-loot>div{padding:19px 20px;background:#0b293766;border:1px solid #d3b87555;border-radius:14px}
.result-loot span{display:block;font-size:14px;color:#bdd0ce;margin-bottom:7px}
.result-loot strong{font-size:30px;color:#ffe1a1;font-variant-numeric:tabular-nums}
.result-growth{padding:17px;background:#8bbaa317;border-radius:12px}
.result-growth>strong{font-size:18px;color:#fae5b5}.result-growth>span{display:block;margin:7px 0 12px;font-size:14px;line-height:1.6;color:#c3d8d4}
.result-performance{font-size:15px;line-height:1.9;color:#dce8dc;margin:19px 0 0}
.result-bonus{font-size:15px;line-height:1.6;color:#ffde9f;padding:11px 13px;border-left:3px solid #e4bf79;background:#cfac5220;border-radius:4px 9px 9px 4px}
.result-saved{font-size:13px;line-height:1.7;color:#a7c4c2;margin:19px 0 0}.result-saved>span{display:block;margin-top:4px}
.game-shell[data-input=keyboard] .mobile-pad{display:none}
.game-shell[data-input=keyboard]:not(.fighting) .game-bottom{height:auto;min-height:88px;padding:12px 22px;gap:24px}
.game-shell[data-input=keyboard]:not(.fighting) .context-controls{width:auto;max-width:none;flex:1;flex-direction:row;align-items:center;gap:18px}
.game-shell[data-input=keyboard]:not(.fighting) .context-copy{flex:1;min-width:0;min-height:0}
.game-shell[data-input=keyboard]:not(.fighting) .context-actions{flex-shrink:0}
.game-shell[data-input=keyboard] .context-actions button{min-height:48px}
.game-shell[data-input=keyboard] #interact{min-width:140px}
@media(min-width:600px){.game-shell[data-input=keyboard]:not(.fighting) .desktop-movement{display:flex;flex-direction:column;flex-shrink:0;gap:7px}.desktop-movement>span{display:flex;align-items:center;gap:7px}.desktop-movement>span>span{font-size:12px;color:#a9c4c6}.desktop-movement small{font-size:13px;color:#b7cdce;line-height:1.5}.game-shell[data-input=keyboard] .context-copy p{font-size:14px}.game-shell[data-input=keyboard] .context-copy strong{font-size:16px}}
@media(max-width:599px){.game-shell[data-input=keyboard]:not(.fighting) .game-bottom{padding:12px 15px}.game-shell[data-input=keyboard]:not(.fighting) .context-controls{gap:10px;align-items:stretch;flex-direction:column}.game-shell[data-input=keyboard] .context-actions{width:100%}}

/* Light moves share the normal turn and damage display. */
.enemy-vitals{display:flex;align-items:center;gap:7px;white-space:nowrap}.enemy-vitals #enemy-heart{font-style:normal;color:#f5b59f;display:inline-block;animation:monster-heartbeat .6s ease-in-out infinite}.enemy-trait{font-size:12px;color:#ffe5a4;margin-top:5px;line-height:1.5}.enemy-trait[data-fear=light]{color:#e1d5ff}.battle-main-actions.has-light{grid-template-columns:repeat(4,minmax(0,1fr))}.battle-main-actions .light-action{background:#ffe7af;border-color:#f5cd75}.battle-main-actions .light-action[data-fear=light]{background:#c8c5ed;border-color:#eeebff}.battle-main-actions [hidden],.enemy-trait[hidden]{display:none!important}
@keyframes monster-heartbeat{0%,55%,100%{transform:scale(1)}15%{transform:scale(1.23)}30%{transform:scale(1)}40%{transform:scale(1.1)}}
@media(max-width:599px){.game-shell.fighting.light-battle .game-bottom{height:auto;min-height:calc(190px + env(safe-area-inset-bottom))}.battle-main-actions.has-light{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-main-actions.has-light button{min-height:53px;font-size:14px}.battle-main-actions.has-light .battle-button-detail{font-size:12px;margin-top:3px}}
@media(max-height:540px) and (orientation:landscape) and (max-width:1100px){.game-shell[data-input=touch].fighting.light-battle .game-bottom{height:auto;min-height:0;overflow-y:auto}.game-shell[data-input=touch] .battle-main-actions.has-light{grid-template-columns:1fr;gap:5px}.game-shell[data-input=touch] .battle-main-actions.has-light button{min-height:42px;padding:3px;font-size:13px}.game-shell[data-input=touch] .battle-main-actions.has-light .battle-button-detail{font-size:11px;margin-top:1px}}
@media(prefers-reduced-motion:reduce){.enemy-vitals #enemy-heart{animation:none}}

/* The short countdown is shared by pointer, touch and keyboard eating. */
.chocolate-strip{display:flex;align-items:center;gap:9px;flex-shrink:0;min-height:40px;padding:5px 20px;background:#352921;color:#d6b898;border-bottom:1px solid #c39e6130}.chocolate-strip>div{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.chocolate-strip strong{font-size:12px;font-weight:600}.chocolate-strip span:not(.chocolate-cube){font-size:12px;color:#bfa58e}.chocolate-cube{font-size:25px;color:#d5a773;line-height:1}.chocolate-strip[data-active=true]{background:#594032;border-color:#f4ce86;color:#ffe9b9}.chocolate-strip[data-active=true] span:not(.chocolate-cube){color:#f1d9ac}.chocolate-strip button{background:#f4d395;color:#483023;border:1px solid #ffe9b3;border-radius:8px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.chocolate-strip[hidden],.chocolate-strip [hidden]{display:none!important}
@media(max-width:650px){.chocolate-strip{padding:5px 12px;gap:6px}.chocolate-strip>div{display:block}.chocolate-strip strong,.chocolate-strip span:not(.chocolate-cube){display:block;font-size:11px;line-height:1.5}.chocolate-strip button{max-width:120px;padding:7px 8px}}
@media(max-height:540px) and (orientation:landscape) and (max-width:1100px){.game-shell[data-input=touch] .chocolate-strip{position:absolute;left:12px;bottom:4px;z-index:2;max-width:142px;padding:4px;min-height:0;flex-wrap:wrap;border-radius:8px}.game-shell[data-input=touch] .chocolate-strip>div{flex-basis:100%}.game-shell[data-input=touch] .chocolate-cube{display:none}}

/* A single contextual strip carries the current chapter's extra rule. */
.chapter-strip{display:flex;align-items:center;gap:10px;padding:8px 18px;background:#183c45;border-top:1px solid #b1e8dc26;color:#e7f6ee;flex:none;min-height:48px}
.chapter-strip[hidden]{display:none}.chapter-strip>div{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.chapter-strip strong{font-size:14px;white-space:nowrap;color:#b8f4df}.chapter-strip span{font-size:14px;line-height:1.35;color:#bed4d9}.chapter-strip button{font-size:14px;min-height:36px;padding:6px 13px;border:1px solid #a7cbb76b;border-radius:10px;background:#274f50;color:#fff5d9;white-space:nowrap}.chapter-strip[data-danger=true]{background:#4a3036}.chapter-strip[data-danger=true] strong{color:#ffd39d}.chapter-scene{width:100%;aspect-ratio:2.25;border-radius:16px;margin:10px 0 18px;background-image:url('/games/assets/chapter-scenes.png');background-size:200% 300%;box-shadow:inset 0 0 0 1px #fff2c329}.ending-medal{font-size:78px;text-align:center;color:#ffda7c;text-shadow:0 0 35px #ffc26d73}.ending-credit{text-align:center;font-size:16px;line-height:1.8;color:#cfded4}.game-shell:has(.chapter-strip:not([hidden])) .chocolate-strip{padding-block:5px;min-height:36px}.game-shell:has(.chapter-strip:not([hidden])) #chocolate-hint{display:none}
@media(max-width:700px){.chapter-strip{padding:7px 10px;gap:6px}.chapter-strip>div{display:block}.chapter-strip strong,.chapter-strip span{display:block;font-size:13px}.chapter-strip button{padding:6px 9px;font-size:13px;min-height:40px}.chapter-scene{aspect-ratio:1.8}}
@media(max-height:700px) and (min-width:701px){.chapter-strip{padding:5px 14px;min-height:38px}.chapter-strip button{min-height:30px}.game-shell:has(.chapter-strip:not([hidden])) .objective-strip{padding-block:6px}.chapter-scene{max-height:170px}}
.objective-strip{flex-wrap:wrap}.objective-copy{flex:1;min-width:190px}.objective-strip .chocolate-strip{margin-left:auto;min-height:46px;padding:6px 10px;border:1px solid #c39e6130;border-radius:10px;gap:8px}.objective-strip .chocolate-strip>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.objective-strip .chocolate-strip .chocolate-cube{width:30px;height:32px;font-size:0;background:url('/games/assets/chocolate-tiles.png') 0 0/200% 200%;flex-shrink:0}.objective-strip .chocolate-strip button{min-height:34px}.objective-strip .chocolate-strip[data-active=true]{border-color:#eac17e;box-shadow:0 0 16px #ffcd7420}
@media(max-width:780px){.objective-strip .chocolate-strip{flex-basis:100%;margin:0;min-height:32px;padding:4px 8px}.objective-strip .chocolate-strip>div{flex-direction:row;gap:12px;align-items:center}.objective-strip .chocolate-cube{display:none}.objective-strip #chocolate-hint{font-size:11px}.objective-strip .chocolate-strip strong{font-size:11px}.objective-strip .chocolate-strip button{min-height:32px;padding:4px 8px}}

/* Inventory and upgrades share a quiet, visual equipment panel. */
dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]){width:min(820px,calc(100vw - 28px));padding:24px;background:radial-gradient(ellipse at 20% 0,#35494b55,transparent 65%),#12242d;border-color:#b7a27366;border-radius:16px}
dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]) .modal-heading{margin-bottom:12px}dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]) .modal-title{font-size:23px;margin:0}dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]) .modal-description:empty{display:none}dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]) .modal-actions{justify-content:flex-end;margin-top:20px}dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]) .modal-actions button{flex:0 1 auto;min-width:140px}
.kit-icon{width:100%;height:100%;display:block;flex:none}.kit-portrait{display:block;width:100%;height:100%;background-image:url('/games/assets/character-atlas.png');background-size:300% 210%;border-radius:50%;background-position:50% 0}.kit-portrait-hero{background-position:0 0}.kit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #aab7b425;margin-bottom:20px}.kit-toolbar nav{display:flex;gap:6px}.kit-toolbar button{min-height:42px;background:transparent;border:1px solid transparent;border-radius:7px;padding:8px 14px;color:#b5c4c4;font-size:16px;display:flex;align-items:center;gap:8px}.kit-toolbar button[aria-pressed=true]{color:#ffe1a2;background:#bd975921;border-color:#c2a36766}.kit-toolbar button:hover{background:#bfd5d31a}.kit-toolbar kbd{font-size:12px;padding:0 4px;min-width:20px;border-bottom-width:2px;background:#0a1a2270;color:#bbc9c5}.kit-wallet{display:flex;align-items:center;gap:8px;color:#f1cc7e;font-size:19px;font-variant-numeric:tabular-nums}.kit-wallet .kit-icon{width:22px;height:22px}.kit-badge{border-radius:5px;padding:1px 6px;color:#1c2b30;background:#efcf8b;font-size:13px;min-width:22px}.kit-primary{width:100%;padding:12px 16px;min-height:46px;background:linear-gradient(145deg,#f3dfa7,#d7b774);color:#28312e;border:1px solid #f3dc9f;border-radius:7px;font-size:16px;font-weight:650}.kit-primary:hover{filter:brightness(1.1)}.kit-notice{color:#ebc4a0;font-size:14px}.kit-receipt{color:#b7e5bf;font-size:14px;line-height:1.7;margin:12px 0 0}.kit-receipt:empty{display:none}
.bag-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,1fr);gap:24px;align-items:start}.bag-section-label{display:flex;justify-content:space-between;color:#afc0bf;font-size:14px;margin-bottom:12px}.bag-section-label>span:last-child{color:#e3d1ab}.bag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bag-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;min-width:0;min-height:122px;padding:12px 6px 10px;border:1px solid #91aaa53b;border-radius:9px;background:linear-gradient(150deg,#294048aa,#162a34);color:#ded8c5;cursor:pointer}.bag-slot:hover{border-color:#c2b483}.bag-slot[aria-pressed=true]{border-color:#f0cc80;box-shadow:inset 0 0 0 1px #ecc57155;background:linear-gradient(150deg,#53503a66,#22353a)}.bag-slot strong{font-size:14px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}.bag-slot>span:last-of-type{color:#acbdbb;font-size:12px;line-height:1.4}.bag-slot[data-ready=true]>span:last-of-type{color:#ffda92}.bag-slot[data-missing=true] .bag-slot-art{opacity:.4}.bag-slot-art{display:block;width:40px;height:40px;color:#dbc28a}.bag-slot[data-item=cat] .bag-slot-art{width:45px;height:45px;margin:-2.5px 0}.bag-slot[data-item=light] .bag-slot-art{color:#cae2b0}.bag-slot[data-item=ward] .bag-slot-art{color:#b0c5ef}.bag-slot[data-item=supply] .bag-slot-art{color:#ecc887}.bag-equipped{position:absolute;right:7px;top:6px;font-size:13px;color:#a9d4b6;font-style:normal}.bag-detail{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #9baaa32c;border-radius:10px;background:linear-gradient(180deg,#2b414340,#0b1b2399);padding:18px;min-height:354px}.bag-detail-tag{font-size:13px;color:#bcc9be;align-self:flex-start;padding:4px 8px;background:#6f8b8030;border-radius:4px}.bag-detail-art{width:78px;height:78px;color:#edcc90;margin:20px 0 12px;filter:drop-shadow(0 5px 12px #d5bb6115)}.bag-detail h3{color:#f0dfb8;font-size:21px;line-height:1.4;margin:0 0 14px;overflow-wrap:anywhere}.bag-metric{display:flex;align-items:center;justify-content:center;gap:10px}.bag-metric strong{font-size:31px;line-height:1.2;font-weight:600;color:#e8eee6;font-variant-numeric:tabular-nums}.bag-metric span{font-size:14px;color:#b3c6c0}.bag-detail p{font-size:14px;line-height:1.7;color:#b7c7c5;margin:14px 0 20px}.bag-detail .kit-primary{margin-top:auto}.bag-control{display:flex;gap:8px;align-items:center;color:#c5cfca;font-size:14px;margin-top:auto;min-height:40px}.bag-control kbd{font-size:13px}.bag-pieces{display:flex;gap:6px;width:110px;margin-top:14px}.bag-pieces i{height:6px;border-radius:2px;background:#496361;flex:1}.bag-pieces i.filled{background:#e8c580}
.kit-progress{display:flex;align-items:center;gap:18px;margin-bottom:20px}.kit-progress>strong{font-size:29px;color:#e8d9b6;white-space:nowrap}.kit-progress>div{flex:1;min-width:0}.kit-progress-copy{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px;color:#c4d7ea;margin-bottom:8px}.kit-progress-copy b{font-weight:500;color:#e7dbb9}.kit-progress .growth-track{height:6px;background:#2a4055}.kit-progress .growth-track i{background:linear-gradient(90deg,#619ddc,#a7cdf2)}
dialog[data-mode=growth] .growth-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.growth-choice{--talent-color:#e9c581;display:flex;flex-direction:column;align-items:center;padding:16px 14px 12px;min-height:292px;border:1px solid #b4a37870;border-radius:11px;background:linear-gradient(160deg,#54483280,#182c35);text-align:center;color:#e1e6da;transition:transform .15s,border-color .15s}.growth-choice[data-path=trail]{--talent-color:#acd8c5;border-color:#79b6a16b;background:linear-gradient(160deg,#315c5180,#152c34)}.growth-choice[data-path=bond]{--talent-color:#d1b7e7;border-color:#ae90c26b;background:linear-gradient(160deg,#57465a80,#202a38)}.growth-choice:disabled{background:linear-gradient(160deg,#23363e,#12242d);border-color:#7b938c40;color:#b5c7c2}.growth-choice:not(:disabled):hover{border-color:var(--talent-color);transform:translateY(-3px);box-shadow:0 8px 20px #0002}.talent-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;width:100%;color:var(--talent-color)}.talent-heading strong{font-size:18px;font-weight:600}.talent-rank{display:flex;gap:5px}.talent-rank i{width:8px;height:8px;border-radius:50%;border:1px solid #adbfbb66}.talent-rank .learned{background:var(--talent-color);border-color:var(--talent-color)}.talent-rank .next{border-color:var(--talent-color);box-shadow:0 0 0 3px #e0d3a617}.talent-art{width:58px;height:58px;display:block;margin:20px 0 17px;color:var(--talent-color)}.talent-label{display:block;font-size:14px;color:#d6e0d7;line-height:1.4}.talent-delta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;min-height:48px;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.3;margin:7px 0 3px;overflow-wrap:anywhere;max-width:100%}.talent-delta>span{color:#a8b8b5}.talent-delta i{font-style:normal;color:#7e938f;font-size:17px}.talent-delta strong{font-size:27px;font-weight:650;color:var(--talent-color)}.talent-note{display:block;font-size:13px;color:#b5c9c4;line-height:1.6;margin-bottom:18px}.talent-cta{display:flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:8px;width:100%;border:1px solid #d6b67955;border-radius:6px;margin-top:auto;background:#e6c98b;color:#25342f;font-size:15px;font-weight:600}.talent-cta kbd{background:#182e2c14;color:inherit;border-color:#304d3d44;font-size:12px;min-width:20px;padding:0 4px}.growth-choice:disabled .talent-cta,.supply-choice:disabled .talent-cta{background:#32464177;color:#a9b8b0;border-color:transparent}.kit-learned{margin-top:18px;border-top:1px solid #a0b2ac26;padding-top:14px;font-size:14px;color:#b4c7c1}.kit-learned summary{cursor:pointer;min-height:26px}.kit-learned>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.kit-learned section{display:flex;flex-direction:column;gap:7px;line-height:1.6}.kit-learned b{color:#e3d5b1;font-weight:500}.kit-learned span{font-size:13px}
.supply-heading{display:flex;align-items:center;justify-content:space-between;margin:6px 0 18px;font-size:15px;color:#e4dfce}.supply-heading span{font-size:14px;color:#afc5c0}dialog[data-mode=supply]{width:min(620px,calc(100vw - 28px))}.supply-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.supply-choice{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #bdab755c;background:linear-gradient(155deg,#43483577,#172e38);border-radius:11px;padding:20px 16px 14px;min-height:270px}.supply-choice:nth-child(2){background:linear-gradient(155deg,#3c506780,#172a3a);border-color:#99b4d96b}.supply-choice .supply-art{width:54px;height:54px;display:block;padding:0;margin:8px 0 16px;color:#f4d492}.supply-choice:nth-child(2) .supply-art{color:#b3d2f3}.supply-choice strong{font-size:18px;color:#eae0c8}.supply-choice .supply-value{display:block;font-size:35px;line-height:1.4;color:#f2d48e;padding:0;margin:12px 0 8px}.supply-choice .supply-value small{display:inline;margin:0 0 0 7px;font-size:14px;color:#c6d5cc}.supply-choice .supply-note{display:block;padding:0;font-size:13px;color:#bbcec8;margin-bottom:22px}.supply-choice .talent-cta{display:flex;padding:8px;justify-content:center}.supply-choice:disabled{opacity:.65}.supply-choice:hover:not(:disabled){border-color:#f1d08a}.kit-toolbar button:focus-visible,.bag-slot:focus-visible,.growth-choice:focus-visible,.kit-primary:focus-visible,.supply-choice:focus-visible{outline:3px solid #b5dff0;outline-offset:3px}
@media(max-width:620px){dialog:is([data-mode=inventory],[data-mode=growth],[data-mode=supply]){padding:18px;width:calc(100vw - 20px)}.bag-layout{grid-template-columns:1fr;gap:16px}.bag-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.bag-slot{min-height:108px;padding:10px 4px 8px}.bag-slot strong{font-size:13px}.bag-slot-art{width:33px;height:33px}.bag-slot[data-item=cat] .bag-slot-art{width:38px;height:38px}.bag-detail{min-height:0;padding:16px;display:grid;grid-template-columns:62px 1fr;gap:8px 16px;text-align:left;align-items:center}.bag-detail-art{width:58px;height:58px;margin:0;grid-column:1;grid-row:1/4}.bag-detail-tag{grid-column:2;width:max-content;padding:2px 6px;font-size:12px}.bag-detail h3{font-size:18px;margin:0;grid-column:2}.bag-metric{justify-content:flex-start;grid-column:2}.bag-metric strong{font-size:25px}.bag-detail p{grid-column:1/-1;margin:5px 0;font-size:14px}.bag-detail .kit-primary,.bag-control,.bag-detail .bag-pieces{grid-column:1/-1}.bag-detail .bag-pieces{width:100%;margin:3px 0}.bag-control{justify-content:center}.kit-toolbar{gap:5px}.kit-toolbar button{padding:8px 10px}.kit-wallet{font-size:17px}.kit-progress{gap:12px}.kit-progress>strong{font-size:24px}dialog[data-mode=growth] .growth-options{grid-template-columns:1fr;gap:10px}.growth-choice{min-height:0;display:grid;grid-template-columns:48px 1fr 86px;gap:5px 12px;padding:14px;text-align:left;align-items:center}.talent-art{grid-column:1;grid-row:1/4;width:44px;height:44px;margin:0}.talent-heading{grid-column:2;grid-row:1}.talent-heading strong{font-size:16px}.talent-label{grid-column:2;grid-row:2;font-size:13px}.talent-delta{grid-column:2;grid-row:3;min-height:0;justify-content:flex-start;margin:0;font-size:15px;gap:6px}.talent-delta strong{font-size:22px}.talent-delta i{font-size:15px}.talent-note{grid-column:1/4;grid-row:4;margin:3px 0 0;font-size:12px}.talent-cta{grid-column:3;grid-row:1/4;margin:0;font-size:14px;padding:7px 5px;min-height:44px}.talent-cta kbd{display:none}.kit-learned>div{grid-template-columns:1fr;gap:12px}.kit-learned section{gap:3px}.supply-options{gap:10px}.supply-choice{padding:14px 10px;min-height:260px}.supply-choice .supply-value{font-size:29px}.supply-choice .supply-value small{display:block;margin:0}.supply-choice .supply-art{width:45px;height:45px}.supply-heading{font-size:14px}}
@media(max-width:360px){.bag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kit-toolbar button{padding:7px}.kit-toolbar kbd{display:none}.growth-choice{grid-template-columns:36px 1fr 74px;gap:6px}.talent-art{width:34px;height:34px}.talent-rank{gap:3px}.talent-rank i{width:6px;height:6px}.talent-delta strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.growth-choice{transition:none}.growth-choice:not(:disabled):hover{transform:none}}
/* Concrete quest items and a compact route through character growth. */
.quest-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.objective-item{display:flex;align-items:center;gap:9px;padding:14px 11px;background:#152e34;border:1px solid #78958c55;border-radius:12px}.objective-item>span{color:#eac578}.objective-item .kit-icon{width:24px;height:24px}.objective-item b,.objective-item small{display:block}.objective-item b{font-size:14px;color:#f2e1ba}.objective-item small{font-size:12px;margin-top:5px;color:#b8ccc6}.objective-item i{font-style:normal;margin-left:auto;color:#9daea4}.objective-item[data-done=true]{border-color:#93caa4;background:#23423b}.objective-item[data-done=true] i{color:#aae3af}.growth-route{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 12px}.growth-route>div{padding:15px;background:#17343b;border:1px solid #9aaf9255;border-radius:12px;display:grid;gap:7px}.growth-route small,.growth-route span{color:#bdd2cc;font-size:13px}.growth-route b{font-size:19px;color:#ffe1a1}.growth-tip{font-size:14px;color:#d5e2d4;margin:12px 0}.growth-tip span{display:block;color:#a9c1b9;margin-top:5px;font-size:13px}@media(max-width:600px){.quest-items{grid-template-columns:1fr}.objective-item{padding:10px 12px}.growth-route{grid-template-columns:1fr 1fr}.growth-route>div:last-child{grid-column:1/-1;grid-template-columns:1fr auto}.growth-route>div:last-child span{grid-column:1/-1}}
@media(min-width:601px){dialog[data-mode=growth] .kit-toolbar{padding-bottom:10px;margin-bottom:12px}dialog[data-mode=growth] .kit-progress{margin-bottom:10px}dialog[data-mode=growth] .growth-route{margin:10px 0;gap:9px}dialog[data-mode=growth] .growth-route>div{padding:10px 12px;gap:4px}dialog[data-mode=growth] .growth-options{margin-top:10px}dialog[data-mode=growth] .growth-choice{min-height:224px;padding:12px}dialog[data-mode=growth] .talent-art{width:42px;height:42px;margin:10px 0}dialog[data-mode=growth] .talent-delta{margin:7px 0;min-height:30px}dialog[data-mode=growth] .talent-note{margin-bottom:8px}dialog[data-mode=growth] .kit-learned{margin:10px 0}.growth-tip span{display:inline;margin-left:10px}}
@media(min-width:601px){dialog[data-mode=growth] .growth-route>div{padding:7px 10px;gap:3px}dialog[data-mode=growth] .modal-actions{margin-top:8px}dialog[data-mode=growth] .kit-learned{padding-top:6px;padding-bottom:6px}dialog[data-mode=growth]:has(.kit-receipt:not(:empty)) .growth-tip{display:none}}

/* Development chapter picker shares the game's equipment portraits and controls. */
#modal[data-mode="chapter-test"]{width:min(850px,calc(100vw - 28px));max-height:92dvh}
.chapter-test-note{margin:0 0 15px;color:#c8dace;font-size:14px}
.chapter-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chapter-test-card{position:relative;min-height:92px;text-align:left;padding:16px 14px 13px 51px!important;background:linear-gradient(135deg,#36565a,#213d45)!important;border:1px solid #63817b!important;border-radius:13px!important;color:#eef6e9!important;box-shadow:none!important}
.chapter-test-card[aria-pressed="true"]{border-color:#f0d187!important;background:linear-gradient(135deg,#456b5f,#34525a)!important;box-shadow:inset 0 0 0 1px #f0d187!important}
.chapter-test-card:focus-visible{outline:3px solid #ffe2a0;outline-offset:2px}
.chapter-test-card>.kit-icon{position:absolute;left:14px;top:44px;width:25px;height:25px;color:#e7ca8e}
.chapter-test-card>.kit-portrait{position:absolute;left:8px;top:36px;width:38px;height:38px}
.chapter-test-number{position:absolute;left:14px;top:13px;font-size:11px;letter-spacing:1px;color:#b7cac2}
.chapter-test-card strong{display:block;font-size:16px;line-height:1.4;padding-right:28px}
.chapter-test-card small{display:block;color:#c5d9d2;font-size:11px;line-height:1.6;margin-top:7px;font-weight:400}
.chapter-test-level{position:absolute;right:10px;top:17px;font-size:10px;color:#e8d29d}
.chapter-test-loadout{display:flex;gap:18px;align-items:center;justify-content:space-between;background:#102b304f;border:1px solid #6f88814a;border-radius:13px;margin-top:15px;padding:14px 18px}
.chapter-test-loadout>div:first-child{display:grid;gap:5px}.chapter-test-loadout strong{color:#f5dba0;font-size:23px}.chapter-test-loadout span{font-size:12px;color:#d2e1d8}
.chapter-test-gear{display:flex;gap:16px}.chapter-test-gear>span{display:grid;justify-items:center;gap:4px}.chapter-test-gear .equipment-icon{width:42px;height:42px}.chapter-test-gear small{font-size:10px}
.chapter-test-keys{color:#c3d1c5;font-size:12px;text-align:center;margin:12px 0 0}
#modal[data-mode="chapter-test"] .modal-description{display:none}
#modal[data-mode="chapter-test"] .modal-actions{margin-top:15px}
@media(max-width:600px){.chapter-test-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.chapter-test-card{min-height:108px;padding-left:40px!important}.chapter-test-card>.kit-icon{left:9px;width:22px}.chapter-test-number{left:10px}.chapter-test-card strong{font-size:14px;padding-right:0}.chapter-test-level{position:static;display:block;margin-top:3px}.chapter-test-card small{font-size:10px;margin-top:3px}.chapter-test-loadout{padding:12px;gap:8px;flex-wrap:wrap}.chapter-test-gear{gap:12px}.chapter-test-note{font-size:12px}.chapter-test-card>.kit-portrait{left:3px;width:34px}}
