/* Story mode uses the whole stage. The home device and other modes keep their skin. */
#app[data-campaign-stage=true]{max-width:1320px;padding:18px 24px 42px}
#app[data-campaign-stage=true] .game-digivice{width:100%;padding:0;border:0;border-radius:0;background:#122522;box-shadow:0 18px 60px #0006;color:#e9ecdf;overflow:visible}
#app[data-campaign-stage=true] .game-digivice::before,#app[data-campaign-stage=true] .game-digivice::after{display:none}
#app[data-campaign-stage=true] .digivice-speaker,#app[data-campaign-stage=true] .digivice-brand{display:none}
#app[data-campaign-stage=true] .digivice-status{justify-content:flex-end;margin:0;padding:9px 20px;border-bottom:1px solid #53645a;font-family:var(--body);font-size:11px;letter-spacing:.06em;background:#0c1d1b}
#app[data-campaign-stage=true] .game-screen{border:0;border-radius:0;padding:0;background:#122522;box-shadow:none;overflow:visible}
#app[data-campaign-stage=true] .game-screen::before,#app[data-campaign-stage=true] .game-screen::after{display:none}
#app[data-campaign-stage=true] .device-home,#app[data-campaign-stage=true] .music-toggle{background:transparent;border:1px solid #687b6a;border-radius:2px;box-shadow:none;color:#e9ecdf;font-family:var(--body);min-height:36px}
#app[data-campaign-stage=true] .opening-screen{max-width:none;padding:26px 30px!important;font-family:var(--body);font-size:17px;line-height:1.55;display:block}
#app[data-campaign-stage=true] .campaign-screen>.story-eyebrow{font:600 12px/1.5 var(--body);letter-spacing:.16em;color:#c9b989;text-transform:uppercase}
#app[data-campaign-stage=true] .campaign-screen>h1{font:600 clamp(25px,3vw,38px)/1.16 var(--body);letter-spacing:-.025em;color:#f4eddb;margin:13px 0 24px;outline:none}
#app[data-campaign-stage=true] .campaign-screen>h1:focus-visible{outline:2px solid #e4c78e;outline-offset:5px}
.campaign-progress{display:flex;align-items:center;gap:18px;margin:12px 0;color:#b9c9bc;font-size:13px}
.campaign-chapters{display:flex;list-style:none;margin:0;padding:0;gap:5px}
.campaign-chapters li{width:23px;height:23px;display:grid;place-items:center;border:1px solid #56645c;font:12px/1 var(--body);color:#b8c3b8}
.campaign-chapters li.current{background:#e1c28a;color:#182824;border-color:#e1c28a}.campaign-chapters li.passed{border-color:#a9c3aa;color:#e5eedb}
.campaign-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:28px;align-items:start}
.campaign-story-flow{min-width:0}.campaign-scene-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;margin-bottom:22px;border:1px solid #667769}
#app[data-campaign-stage=true] .opening-art{margin:0;background:#0a1714;align-content:center;min-width:0}
#app[data-campaign-stage=true] .opening-art-window{border:0;border-radius:0;max-width:none;margin:0}
#app[data-campaign-stage=true] .opening-art figcaption{padding:10px 13px;font-size:12px;color:#c0cebd;margin:0;line-height:1.5}
.campaign-establishing-image{display:block;width:100%;height:100%;min-height:230px;object-fit:cover}
#app[data-campaign-stage=true] .campaign-cutscene{margin:0;border:0;background:#eee9db;color:#26352e;padding:20px;display:flex;flex-direction:column;min-width:0}
#app[data-campaign-stage=true] .cutscene-head{color:#765127;font:700 13px/1.4 var(--body);letter-spacing:.03em;margin-bottom:16px}
#app[data-campaign-stage=true] .cutscene-count{color:#536256;font-size:12px;font-weight:400}
#app[data-campaign-stage=true] .cutscene-stage{min-height:155px;gap:12px;flex:1}
#app[data-campaign-stage=true] .cutscene-words{font-size:18px;line-height:1.65;margin:0;color:#20352c}
#app[data-campaign-stage=true] .cutscene-portrait .campaign-dialogue-face{width:58px;height:80px;border:0;background:transparent;box-shadow:none}
#app[data-campaign-stage=true] .cutscene-portrait .mameo-face{width:70px;height:92px}
#app[data-campaign-stage=true] .cutscene-controls{margin-top:18px;gap:6px}
#app[data-campaign-stage=true] .btn{font-family:var(--body);font-size:15px;border-radius:2px;box-shadow:none;text-shadow:none;letter-spacing:0;background:#203d35;border:1px solid #718d78;color:#e9ecdf;min-height:44px}
#app[data-campaign-stage=true] .btn.primary{background:#dfc18b;color:#1c3029;border-color:#e2cd9d}
#app[data-campaign-stage=true] .btn:hover{background:#345446;border-color:#e1c28a;color:#fff6de;transform:none}
#app[data-campaign-stage=true] .btn.primary:hover{background:#f0dba8;color:#122522}
#app[data-campaign-stage=true] .cutscene-controls .btn{background:transparent;color:#314b3c;border-color:#a3ac98;font-size:13px;padding:7px 12px}
#app[data-campaign-stage=true] .cutscene-controls .btn.primary{background:#254839;color:#f8eed8;border-color:#254839}
#app[data-campaign-stage=true] .cutscene-controls .btn:hover{background:#d6d9c8;color:#182d22}
#app[data-campaign-stage=true] .cutscene-controls .btn.primary:hover{background:#3b604d;color:#fff}
#app[data-campaign-stage=true] .cutscene-transcript{font-size:13px;border-top:1px solid #c3c6b6;padding-top:10px;margin-top:13px}
#app[data-campaign-stage=true] .cutscene-transcript summary{color:#415d49;min-height:30px;align-content:center}
#app[data-campaign-stage=true] .cutscene-transcript p{font-size:16px;color:#20352c}
#app[data-campaign-stage=true] .cutscene-transcript .opening-speaker{color:#765127}
.campaign-expedition{border-left:1px solid #53645a;padding-left:20px;font-size:14px;min-width:0}
.campaign-expedition details{border-bottom:1px solid #53645a;padding:0 0 14px;margin:0 0 14px}
.campaign-expedition summary{cursor:pointer;font-weight:600;color:#e5d5ad;min-height:44px;align-content:center;line-height:1.4}
#app[data-campaign-stage=true] .campaign-expedition .team-bar{padding:0!important;margin:8px 0!important;background:none;border:0;border-radius:0;gap:8px;display:grid;grid-template-columns:1fr 1fr}
#app[data-campaign-stage=true] .campaign-expedition .tmember{min-width:0;max-width:none;padding:6px 3px;border-bottom:1px solid #3c574a}
#app[data-campaign-stage=true] .campaign-expedition .tmember .tn{font:12px/1.4 var(--body)}
.campaign-readiness,.campaign-training-note{font-size:12px!important;color:#b9c9b9;line-height:1.6!important}
#app[data-campaign-stage=true] .campaign-expedition .opening-toolbar{display:flex;flex-direction:column;margin:0;padding:0;gap:10px;border:0}
.campaign-expedition .opening-toolbar>*{width:100%;margin:0!important;min-width:0}.campaign-expedition .opening-journal{padding:0;background:transparent;border-radius:0;border:0;font-size:13px}
#app[data-campaign-stage=true] .campaign-expedition .opening-journal p{font-size:13px}
#app[data-campaign-stage=true] .campaign-current-objective{margin:0 0 14px;padding:0 0 0 10px;border-left:2px solid #d8bc83;font-size:15px;color:#d4dfcb}
.campaign-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campaign-decision-readiness{display:none;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #607866;padding:10px 0;margin:0 0 12px;font-size:13px;color:#d6dfc9}
.campaign-screen:has(.campaign-cutscene:not(.scene-finished)) .campaign-decision-readiness{display:none!important}
#app[data-campaign-stage=true] .campaign-decision-readiness .btn{font-size:12px;padding:6px 9px}
@media(max-width:999px){.campaign-decision-readiness{display:flex}}
#app[data-campaign-stage=true] .opening-offer{background:#1b332c;border:1px solid #607866;border-radius:0;padding:16px;margin:0 0 12px;min-width:0;box-shadow:none}
#app[data-campaign-stage=true] .opening-offer>.btn{width:100%;text-align:left;padding:12px 14px;font:600 17px/1.35 var(--body);margin:0 0 10px;min-height:52px}
#app[data-campaign-stage=true] .opening-offer p{font-size:14px;margin:8px 0;line-height:1.5}
#app[data-campaign-stage=true] .opening-choice-hint{color:#d5dfcc}
.campaign-choice-stakes{border-top:1px solid #4c6856;padding-top:5px}
#app[data-campaign-stage=true] .opening-cost{color:#f2c99e}#app[data-campaign-stage=true] .opening-reward{color:#c5dfbc}
.campaign-fight-cost{color:#ead4ac;font-weight:600}.campaign-intent-preview{color:#d4dec8}
#app[data-campaign-stage=true] .opening-later{color:#c8d7c3;border-left:2px solid #aab994;padding-left:9px}
#app[data-campaign-stage=true] .opening-choice-details{margin:12px 0 0;color:#c7d6c3;font-size:13px}
#app[data-campaign-stage=true] .opening-choice-details summary{min-height:36px;align-content:center;cursor:pointer}
#app[data-campaign-stage=true] .opening-receipt{background:#213b30;border:1px solid #6d876e;border-radius:0;padding:16px 20px;margin:18px 0}
#app[data-campaign-stage=true] .opening-receipt h2{font:600 18px/1.4 var(--body);color:#e0cf9e;margin-top:0}
#app[data-campaign-stage=true] .opening-family{border-radius:0;background:#1b332c;border:1px solid #607866;margin:12px 0}
#app[data-campaign-stage=true] .opening-family>summary{min-height:48px;padding:8px;font-weight:600;color:#e1d0a7}
#app[data-campaign-stage=true] .game-screen>.help-btn{margin:0 24px 18px auto;display:block;font-family:var(--body);font-size:13px;color:#d7c598;background:transparent;border:1px solid #607866;border-radius:2px;min-height:36px}
#app[data-campaign-stage=true] .campaign-battle-intent{border:1px solid #889b75;background:#233e31;color:#e4e7d0;padding:12px 16px;margin:0 0 12px;font-family:var(--body);text-align:left}
#app[data-campaign-stage=true] .campaign-battle-intent p{font-size:14px;line-height:1.5;margin:5px 0 0}
#app[data-campaign-stage=true] .campaign-tactics-prompt{justify-content:flex-start;padding:24px 18px;background:#122522f7;overflow-y:auto}
#app[data-campaign-stage=true] .campaign-tactics-prompt h2{font:600 26px/1.2 var(--body);color:#e6ca91}
#app[data-campaign-stage=true] .campaign-tactics-prompt p{font:16px/1.55 var(--body);max-width:620px;color:#e5ecda}
#app[data-campaign-stage=true] .campaign-tactics-prompt .campaign-tactics-matchup{white-space:pre-line;border-left:2px solid #d8bc83;padding-left:12px;font-size:14px;text-align:left}
#app[data-campaign-stage=true] .campaign-tactics-prompt>.btn{width:min(100%,560px)}
#app[data-campaign-stage=true] .campaign-tactics-swaps{font:15px/1.5 var(--body);width:min(100%,560px)}
#app[data-campaign-stage=true] .campaign-tactics-swaps summary{min-height:44px;align-content:center;color:#d5c498;cursor:pointer}
#app[data-campaign-stage=true] .campaign-tactics-swaps .btn{display:block;margin:8px 0;width:100%}
@media(max-width:1150px){.campaign-scene-layout{grid-template-columns:1fr}.campaign-scene-layout .opening-art{max-height:none}.campaign-scene-layout .opening-art-window{max-width:460px!important;margin:auto!important}.campaign-cutscene .cutscene-stage{min-height:100px!important}}
@media(max-width:999px){#app[data-campaign-stage=true]{padding:0 12px 24px}.campaign-layout{grid-template-columns:1fr;gap:18px}.campaign-expedition{border-left:0;border-top:1px solid #53645a;padding:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.campaign-expedition .opening-toolbar{grid-column:1/-1}.campaign-expedition .campaign-team-overview{grid-template-columns:repeat(3,1fr)!important}.campaign-scene-layout{grid-template-columns:1fr 1fr}#app[data-campaign-stage=true] .opening-screen{padding:22px!important}}
@media(max-width:650px){#app[data-campaign-stage=true]{padding:0 0 24px}#app[data-campaign-stage=true] .digivice-status{padding:7px 10px;gap:6px;font-size:10px;letter-spacing:0}#app[data-campaign-stage=true] .digivice-status>.status-light{display:none}#app[data-campaign-stage=true] .opening-screen{padding:18px 14px!important}.campaign-scene-layout{grid-template-columns:1fr}.campaign-decisions{grid-template-columns:1fr;gap:0}.campaign-progress{gap:10px;flex-wrap:wrap;margin:9px 0}.campaign-position{font-size:12px}.campaign-chapters li{width:20px;height:20px}.campaign-expedition{grid-template-columns:1fr;gap:0}#app[data-campaign-stage=true] .campaign-cutscene{padding:18px}#app[data-campaign-stage=true] .cutscene-words{font-size:18px}#app[data-campaign-stage=true] .cutscene-stage{min-height:115px!important}#app[data-campaign-stage=true] .campaign-screen>h1{margin-bottom:18px}.campaign-expedition .campaign-team-overview{grid-template-columns:repeat(3,1fr)!important}}
@media(prefers-reduced-motion:reduce){#app[data-campaign-stage=true] *{animation:none!important;transition:none!important}}
