/* Play is the primary surface: keep the battlefield beside the decisions. */
html{scroll-padding-top:18px;scroll-padding-bottom:140px}
body{padding-bottom:116px}
.app-shell{max-width:1400px;padding:0 30px}
.topbar{height:78px;gap:16px}
.brand{font-size:20px}
.top-actions{gap:5px}
.motion-button{border:1px solid #50624f;font-size:12px;white-space:nowrap}
.edition{display:none}
.page-intro{padding:22px 0 18px;gap:15px}
.page-intro h1{font-size:29px;letter-spacing:.5px}
.page-intro p{font-size:13px;margin-top:7px}
.eyebrow{font-size:10px;margin-bottom:7px}
.expedition-summary .compass{font-size:36px}
.game-layout{display:block}
.journey-panel,.right-column{display:none!important}
.play-column{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(370px,1fr);gap:14px 20px;align-items:start}
.play-column>.arena{grid-column:1;grid-row:1 / span 3;position:sticky;top:18px;width:100%;min-width:0}
.play-column>.phase-track{grid-column:2;grid-row:1;margin:0;gap:6px}
.play-column>.hand-panel,.play-column>.commands-panel,.play-column>.camp-panel,.play-column>.review-panel,.play-column>.outcome-panel{grid-column:2;grid-row:2;margin:0;min-width:0;width:100%}
.play-column>.turn-summary{grid-column:2;grid-row:3;margin:0}
body[data-phase="camp"] .play-column>.camp-panel,body[data-phase="won"] .play-column>.outcome-panel,body[data-phase="lost"] .play-column>.outcome-panel{grid-row:1 / span 2}
.phase-step{font-size:12px;min-height:40px;padding:6px;gap:5px}
.phase-step>b{width:21px;height:21px;font-size:11px}
.campaign-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:0 0 19px;list-style:none}
.map-stop{display:flex;align-items:center;gap:9px;min-height:42px;padding:7px 10px;border:1px solid #3c4b42;border-radius:9px;color:#a9b9ae;background:#18211f;font-size:12px;min-width:0}
.map-stop>span{display:grid;place-items:center;flex:none;border:1px solid #576752;width:25px;height:25px;border-radius:50%;font-size:12px}
.map-stop strong{font-weight:500;overflow-wrap:anywhere}
.map-stop.current{color:#eaf5d2;background:#2b3a29;border-color:#9fb97e}
.map-stop.current>span,.map-stop.cleared>span{background:#d8ecac;color:#21301f;border-color:#d8ecac}
.map-stop.cleared{color:#c9daba}
.hand-panel,.commands-panel,.camp-panel,.review-panel{padding:18px 20px;background:linear-gradient(145deg,#222e29,#182321);border-color:#455449}
.hand-heading{gap:10px;flex-wrap:nowrap}
.hand-heading h2,.camp-heading h2,.review-panel h2{font-size:22px;line-height:1.35;letter-spacing:0}
.hand-heading>div:first-child{flex:1 1 auto}
.micro{font-size:10px;letter-spacing:1.4px}
.fate-meter{min-height:43px;column-gap:5px;padding:5px 8px}
.fate-copy{font-size:11px}
.fate-meter>strong{font-size:18px}
.quick-start{font-size:12px;line-height:1.55;padding:8px 10px;margin:11px 0 0}
.hand-tools{margin:6px 0;gap:8px}
.hand-tools #suggest{display:none}
.hand-tools .text-button{min-height:36px;font-size:12px}
.selected-count{padding:3px 8px}
.selected-count b{font-size:17px}
.dice-tray{max-width:none;width:100%;gap:10px;margin:4px 0 0}
.die-owner{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:0;font-size:13px;line-height:1.3;margin-bottom:8px}
.die-portrait{display:block;width:39px;height:43px;overflow:hidden;pointer-events:none}
.die-portrait>svg{width:39px;height:49px;max-width:none}
.die-button{min-height:67px;aspect-ratio:1;max-height:105px;border-radius:13px;border-width:1px 1px 4px;box-shadow:inset 0 1px 0 #ffffff25,0 7px 0 #080e0b30,0 8px 18px #0003}
.die-button>svg{width:35px;height:35px}
.die-button.selected{box-shadow:0 0 0 2px #dceab235,0 6px 18px #b9d38116}
.die-key{font-size:11px;top:6px;left:8px}
.die-name{font-size:12px;margin-top:7px;line-height:1.4;min-height:17px}
.die-skill{min-height:52px;margin-top:7px;padding:6px 3px;border-color:#688a70;background:#203c30;color:#e0f0d4;gap:4px}
.die-skill strong{font-size:12px;line-height:1.4}
.die-skill small{font-size:11px;color:#d9c88b}
.die-skill:disabled small{color:#aabaad}
.die-faces{margin-top:6px;padding:5px 2px;gap:1px}
.die-faces svg{width:10px;height:10px}
.selection-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0;padding:7px 9px;border:1px solid #6d865240;background:#0f1a16;border-radius:9px}
.selection-strip>span{font-size:12px;color:#c2d3b8}
.selection-strip>div{display:flex;gap:6px}
.selection-chip,.selection-empty{display:flex;align-items:center;justify-content:center;width:44px;height:42px;border:1px dashed #5a6f58;border-radius:8px;background:#1b2a21;position:relative}
.selection-chip{border-style:solid;border-color:#819765;color:#d9ecb2}
.selection-chip svg{width:23px;height:23px}
.selection-chip small{position:absolute;right:3px;top:0;font-size:13px;color:#c3cdb5}
.selection-empty{color:#71836b;font-size:26px}
.selection-hint{font-size:12px;min-height:0;padding-top:7px;line-height:1.5}
.skill-receipt{padding:9px 10px;border:1px solid #bfa558;border-radius:8px;background:#403920;color:#fff0be;font-size:13px;line-height:1.6;margin-top:10px}
.just-shaped .die-button{animation:shape-result .65s ease both}
.dice-tray.rolling .die-button{animation:visible-dice-roll .58s ease both}
.dice-tray.rolling .die-wrap:nth-child(2) .die-button{animation-delay:.04s}
.dice-tray.rolling .die-wrap:nth-child(3) .die-button{animation-delay:.08s}
.dice-tray.rolling .die-wrap:nth-child(4) .die-button{animation-delay:.12s}
.move-opportunities{margin-top:11px}
.move-opportunities>strong{display:block;font-size:12px;font-weight:500;color:#c6d5bc;margin-bottom:6px}
.move-opportunities>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.move-chance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:8px;background:#15211b;border:1px solid #485b465c;border-radius:8px;min-width:0}
.move-chance>span:first-child{min-width:0}
.move-chance b{font-size:12px;line-height:1.4;font-weight:600;display:block}
.move-chance small{display:block;font-size:11px;color:#a8b99e;line-height:1.4;overflow-wrap:anywhere}
.move-chance em{font-size:10px;font-style:normal;color:#a6b59a;grid-column:2;line-height:1;text-align:right}
.move-chance.ready{border-color:#bed688;background:#30462b;box-shadow:inset 3px 0 #d9eca6}
.move-chance.ready b,.move-chance.ready em{color:#e3f4bf}
.need-chips{display:flex;align-items:center;gap:3px}
.need-chip{display:grid;place-items:center;width:20px;height:22px;border:1px solid #63744e;border-radius:4px;background:#142116}
.need-chip svg{width:13px;height:13px}
.need-chip.missing{opacity:.43;border-style:dashed}
.need-chip.met{background:#d5e9aa20;border-color:#bdd891}
.buff-grid,.combat-forecast{gap:6px;margin:10px 0 8px}
.buff-grid>div,.combat-forecast>div{padding:7px 4px;gap:4px}
.buff-grid span,.combat-forecast span{font-size:11px;line-height:1.4}
.buff-grid strong,.combat-forecast strong{font-size:19px}
.combo-status{font-size:12px;padding:8px;margin:8px 0}
#lock-dice,#resolve,.camp-actions{display:none}
.hand-footnote{display:none}
.command-intro{font-size:12px;line-height:1.6;margin-top:10px}
#suggest-commands{display:none}
.command-list{gap:9px;margin:13px 0}
.command-row{padding:7px 9px 9px;border-color:#5e74535e}
.command-legend{font-size:14px;line-height:1.4;position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:0 5px}
.command-legend small{font-size:11px;margin-left:1px}
.command-portrait{width:29px;height:34px;overflow:hidden;pointer-events:none}
.command-portrait>svg{width:29px;height:36px}
.command-options{gap:7px}
.command-choice{min-height:75px;padding:8px;gap:4px}
.command-choice>strong{font-size:13px;line-height:1.4}
.command-choice>small{font-size:11px;line-height:1.45}
.command-choice.chosen{padding:7px;background:#3a522b;border-color:#c5df8b;box-shadow:inset 0 0 0 1px #d8ecac1a}
.command-choice.chosen:after{font-size:13px;right:6px;top:7px}
.special-ready .command-legend{color:#e1efb8}
.hp-after,.forecast-note{font-size:12px;line-height:1.55}
.forecast-note{margin-bottom:0}
.review-panel>.micro{display:block;margin-bottom:6px}
.review-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:15px 0 11px}
.review-totals>div{display:flex;flex-direction:column;align-items:center;padding:10px 5px;border:1px solid #65804c66;border-radius:9px;background:#132219;text-align:center}
.review-totals span{font-size:11px;line-height:1.5;color:#b6c9a8}
.review-totals strong{font-size:29px;line-height:1.3;color:#e4f3c4;font-variant-numeric:tabular-nums;font-weight:500}
.review-totals>div:nth-child(2) strong{color:#bfe3be}
.review-totals>div:nth-child(3) strong{color:#b4d6f5}
.review-totals>div:nth-child(4) strong{color:#f3b5a2}
.review-message{font-size:13px;line-height:1.65;padding:10px 11px;background:#b1c9760d;border:1px solid #7e905345;border-radius:8px;color:#e1ebc7;min-height:58px}
.action-history{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.event-row{display:flex;align-items:flex-start;gap:10px;padding:11px 10px;border:1px solid #5d71533b;border-radius:9px;background:#111e18;transition:background .25s,border-color .25s}
.event-marker{display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid #526246;border-radius:50%;font-size:11px;color:#c2d0ab;background:#273022}
.event-row>div{min-width:0}
.event-row strong{font-size:13px;line-height:1.5;display:block;color:#dce7cf}
.event-row strong small{font-size:12px;font-weight:400;color:#b4c5a6;margin-left:5px}
.event-row p{font-size:12px;line-height:1.55;color:#c5d5b2;margin-top:3px}
.event-row.pending{opacity:.55}
.event-row.active{background:#334626;border-color:#c4da8a;box-shadow:inset 3px 0 #d8ecac}
.event-row.active .event-marker{background:#d8ecac;color:#21301b}
.review-footnote{font-size:11px;line-height:1.6;color:#aab9a1;margin-top:12px}
.camp-heading p{font-size:13px}
.party-selectors{gap:8px;margin:13px 0}
.camp-panel select{font-size:16px;min-height:46px;padding:8px 21px 8px 7px}
.party-selectors label{font-size:12px}
.hero-faces-editor{gap:9px}
.camp-panel .party-note{font-size:12px;margin-bottom:13px}
.hero-workshop,.collection-details{margin-top:12px}
.hero-workshop>summary,.collection-details>summary{font-size:13px;padding:12px}
.roster-grid{grid-template-columns:1fr;gap:10px}
.outcome-panel{padding:26px 20px}
.outcome-panel h2{font-size:27px}
.outcome-panel>.primary-button{display:none}
.page-footer{padding-top:19px;padding-bottom:16px;font-size:11px}
.action-dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:12px;width:min(1400px,100%);padding:14px 30px calc(14px + env(safe-area-inset-bottom));border:1px solid #78916366;border-bottom:0;border-radius:18px 18px 0 0;background:#14201af2;box-shadow:0 -12px 45px #060d0990;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.dock-context{display:flex;flex-direction:column;gap:4px;min-width:0;margin-right:auto}
.dock-context>span{font-size:11px;letter-spacing:1px;color:#d0e4a6;font-weight:600}
.dock-context>strong{font-size:14px;line-height:1.4;font-weight:500;color:#d4e1c7;overflow-wrap:anywhere}
.action-dock .primary-button,.action-dock .secondary-button{min-height:52px;padding:12px 22px;font-size:15px;line-height:1.4;border-radius:11px;white-space:normal}
.action-dock .primary-button{min-width:200px;max-width:330px;justify-content:space-between;gap:15px;color:#20301c;background:linear-gradient(120deg,#edf9c5,#cde594);border-color:#d9edb2;box-shadow:0 3px 0 #77934e}
.action-dock .primary-button:disabled{background:#35432b;border-color:#566547;box-shadow:none;color:#a3b793;opacity:1}
.action-dock .secondary-button{background:#26372a;border:1px solid #839863;color:#e0efcb;min-width:130px}
.action-dock .secondary-button:disabled{opacity:.5}
.action-dock svg{width:22px;height:22px;flex:none}
[hidden]{display:none!important}
@keyframes visible-dice-roll{0%{transform:translateY(0) rotate(-15deg) scale(.88)}24%{transform:translateY(-11px) rotate(20deg)}49%{transform:translateY(0) rotate(-13deg)}72%{transform:translateY(-5px) rotate(7deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes shape-result{0%{box-shadow:0 0 0 0 #efdc99aa;filter:brightness(1.7);transform:rotateY(90deg)}55%{box-shadow:0 0 0 10px #efdc9922;transform:rotateY(0)}100%{box-shadow:0 0 0 16px transparent;filter:none}}
@media(min-width:1500px){.app-shell{max-width:1500px}.play-column{grid-template-columns:minmax(0,1.4fr) minmax(420px,1fr)}}
@media(max-width:1040px){
 .app-shell{padding:0 22px}.play-column{grid-template-columns:minmax(0,1.12fr) minmax(350px,1fr);gap:12px 14px}.page-intro h1{font-size:26px}
 .hand-panel,.commands-panel,.camp-panel,.review-panel{padding:16px}.action-dock{padding-left:22px;padding-right:22px}.action-dock .primary-button{min-width:190px}.action-dock .secondary-button{min-width:115px}
 .map-stop{font-size:11px;padding:7px;gap:6px}.dice-tray{gap:8px}.die-button>svg{width:32px;height:32px}.move-chance{padding:7px;gap:4px}.need-chip{width:17px;height:20px}.need-chip svg{width:12px;height:12px}
}
@media(max-width:820px){
 .app-shell{padding:0 18px}.topbar{height:69px}.brand{font-size:18px}.brand-sub{font-size:10px}.brand-mark{width:35px;height:38px}.page-intro{padding:16px 0}.eyebrow{display:none}.page-intro h1{font-size:25px}.page-intro p{display:none}.compass{display:none}.expedition-summary .label{font-size:10px}.expedition-summary strong{font-size:22px}
 .play-column{display:flex;flex-direction:column;gap:12px}.play-column>.arena{position:relative;top:auto;order:0;width:100%}.play-column>.phase-track{order:1;width:100%;gap:7px}.play-column>.hand-panel,.play-column>.commands-panel,.play-column>.camp-panel,.play-column>.review-panel,.play-column>.outcome-panel{order:2;width:100%}.play-column>.turn-summary{order:3;width:100%;margin:0}
 .phase-step{min-height:42px;font-size:13px}.hand-panel,.commands-panel,.camp-panel,.review-panel{padding:18px 20px}.hand-heading h2,.camp-heading h2,.review-panel h2{font-size:23px}
 .dice-tray{gap:14px}.die-owner{flex-direction:row;justify-content:center;gap:4px;line-height:1.4}.die-portrait{height:33px;width:29px}.die-portrait svg{width:29px;height:36px}.die-button{min-height:70px;max-height:108px;aspect-ratio:1.3}.die-button>svg{width:40px;height:40px}.die-skill{min-height:50px}.die-faces svg{width:12px;height:12px}
 .move-chance{padding:9px}.need-chip{width:23px;height:24px}.need-chip svg{width:15px;height:15px}.move-chance b{font-size:13px}.move-chance small{font-size:12px}
 .command-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.command-options{grid-template-columns:1fr}.command-choice{min-height:68px}.command-choice>strong{font-size:14px}.command-choice>small{font-size:12px}.command-legend small{display:none}
 .action-dock{padding:12px 18px calc(12px + env(safe-area-inset-bottom));gap:10px}.action-dock .primary-button{min-width:190px}.dock-context>strong{font-size:12px}.dock-context>span{font-size:10px}
 .roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-map{gap:6px;margin-bottom:14px}.map-stop{min-height:35px}.map-stop strong{font-size:11px}
}
@media(max-width:560px){
 body{padding-bottom:132px}.app-shell{padding:0 12px}.topbar{height:65px;gap:8px}.brand{font-size:15px;letter-spacing:1.9px;gap:7px}.brand-mark{width:31px;height:34px}.brand-mark svg{width:21px;height:21px}.brand-sub{font-size:9px;letter-spacing:2px}.top-actions{gap:0}.top-actions .quiet-button{padding:0 7px;min-width:37px;min-height:42px}.top-actions .icon-button{width:36px;min-width:36px;min-height:42px}.motion-button{font-size:11px}.share-button>span{display:none}.share-button>svg{width:18px}.help-button{width:36px}.help-button>span:last-child{display:none}
 .page-intro{padding:13px 0 11px}.page-intro h1{font-size:23px}.expedition-summary strong{font-size:20px}.expedition-summary .label{font-size:9px}.expedition-summary strong span{font-size:11px}
 .campaign-map{gap:4px;margin-bottom:11px}.map-stop{padding:6px 3px;gap:5px;flex-direction:column;min-height:53px;border-radius:8px;line-height:1.3;text-align:center}.map-stop>span{width:20px;height:20px;font-size:10px}.map-stop strong{font-size:10px;white-space:normal;font-weight:400}
 .play-column{gap:10px}.phase-step{font-size:12px;padding:6px 4px;min-height:40px;gap:5px}.phase-step>b{width:19px;height:19px;font-size:10px}
 .hand-panel,.commands-panel,.camp-panel,.review-panel{padding:15px 13px;border-radius:14px}.hand-heading h2,.camp-heading h2,.review-panel h2{font-size:21px}.quick-start{font-size:12px}.fate-meter{padding:5px 7px}.fate-copy{font-size:10px}
 .dice-tray{gap:9px}.die-owner{flex-direction:column;gap:0;margin-bottom:8px;font-size:12px}.die-portrait{width:32px;height:35px}.die-portrait>svg{width:32px;height:40px}.die-button{min-height:65px;aspect-ratio:1.05;border-radius:11px}.die-button>svg{width:31px;height:31px}.die-name{font-size:11px}.die-key{font-size:10px;left:5px;top:4px}.die-skill{min-height:54px;padding:5px 2px;gap:3px}.die-skill strong{font-size:11px}.die-skill small{font-size:10px}.die-faces svg{width:9px;height:10px}
 .selection-strip{padding:6px 8px}.selection-strip>span{font-size:11px}.selection-chip,.selection-empty{width:40px;height:40px}.selection-chip svg{width:21px;height:21px}.selection-hint{font-size:11px}.move-chance{padding:7px;gap:4px}.move-chance b{font-size:12px}.move-chance small{font-size:10px}.need-chips{gap:2px}.need-chip{width:16px;height:19px}.need-chip svg{width:11px;height:11px}.move-chance em{font-size:10px}.buff-grid{gap:5px}.buff-grid>div{padding:7px 3px}.buff-grid span{font-size:10px}.buff-grid strong{font-size:18px}
 .command-list{gap:9px}.command-legend{font-size:13px;gap:4px}.command-portrait{width:25px;height:30px}.command-portrait svg{width:25px;height:32px}.command-row{padding:6px}.command-choice{padding:8px;min-height:71px}.command-choice.chosen{padding:7px}.command-choice>strong{font-size:12px}.command-choice>small{font-size:11px}.command-intro{font-size:12px}
 .combat-forecast{grid-template-columns:repeat(4,minmax(0,1fr))}.combat-forecast span{font-size:10px}.combat-forecast strong{font-size:18px}.hp-after{font-size:12px}.forecast-note{font-size:11px}
 .action-dock{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:9px 12px calc(10px + env(safe-area-inset-bottom));border-radius:15px 15px 0 0}.dock-context{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0}.dock-context>span{font-size:10px;letter-spacing:.4px;white-space:nowrap}.dock-context>strong{font-size:11px;line-height:1.35;text-align:right}
 .action-dock .primary-button,.action-dock .secondary-button{font-size:13px;min-height:50px;min-width:0;padding:10px 13px;border-radius:10px;line-height:1.4}.action-dock .primary-button{max-width:none;width:100%;gap:8px}.action-dock .secondary-button{min-width:102px}.action-dock:has(#dock-assist[hidden]) #dock-primary{grid-column:1/-1}.action-dock svg{width:18px;height:18px}
 .party-selectors{gap:7px}.party-selectors label{font-size:11px}.camp-panel select{font-size:16px;padding-left:7px}.hero-faces-editor{gap:8px;margin:12px}.roster-grid{grid-template-columns:1fr}.review-totals{gap:5px}.review-totals strong{font-size:25px}.review-totals span{font-size:10px}.review-message{font-size:12px}.event-row{padding:10px 8px;gap:8px}.event-row p{font-size:12px}.review-footnote{font-size:10px}
 .page-footer>span{max-width:65%}.page-footer{font-size:10px}.page-footer .text-button{font-size:11px}
}
@media(max-width:365px){.brand-mark{display:none}.brand{font-size:14px}.top-actions .quiet-button{padding:0 5px}.page-intro h1{font-size:21px}.hand-panel,.commands-panel,.camp-panel,.review-panel{padding:13px 10px}.dice-tray{gap:7px}.die-button{min-height:60px}.move-chance{padding:6px;gap:3px}.need-chip{width:14px;height:18px}.move-chance small{font-size:10px}.action-dock{padding-left:10px;padding-right:10px}}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.dice-tray.rolling .die-button,.just-shaped .die-button{animation:none}.action-dock{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* The expedition has a destination; the current encounter stays in the foreground. */
.page-intro.opening-vista{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:218px;margin:20px 0 10px;padding:30px 34px;border:1px solid #b6b89555;border-radius:18px;background:#172b2b;box-shadow:0 16px 42px #07121845}
.opening-vista .opening-key-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;opacity:.92;pointer-events:none}
.opening-vista::before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#102429f5,#14292bd9 32%,#172d2a45 70%,#14292b35),linear-gradient(0deg,#112729b8,transparent 68%);pointer-events:none}
.opening-vista .arrival-copy{max-width:66%;min-width:0}.opening-vista .eyebrow{display:flex;font-size:11px;line-height:1.5;letter-spacing:2.5px;color:#ddcf9f;margin:0 0 13px}
.page-intro.opening-vista h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,3.5vw,43px);font-weight:500;line-height:1.15;letter-spacing:.2px;color:#f6ecd1;text-shadow:0 3px 16px #071920;margin:0}
.page-intro.opening-vista p{display:block;max-width:540px;font-size:14px;line-height:1.75;color:#d6e1d2;margin:12px 0 0;text-wrap:pretty}
.opening-vista .arrival-checkpoint{display:inline-block;font:11px/1.65 system-ui,sans-serif;letter-spacing:.4px;color:#d8d3b5;border-left:2px solid #cfc494;padding:0 0 0 9px;margin-top:15px}
.opening-vista .expedition-summary{position:relative;margin-left:auto;align-self:flex-end;min-width:104px;gap:10px;padding:14px 16px;background:#0d252cb3;backdrop-filter:blur(5px);border:1px solid #d3d1a645;border-radius:12px;color:#e6dfbe}.opening-vista .compass{display:none}.opening-vista .expedition-summary .label{font-size:10px;color:#ccdabd}.opening-vista .expedition-summary strong{color:#f0deb4;font-size:30px}
body:not([data-phase="camp"]) .page-intro.opening-vista{min-height:144px;padding-top:21px;padding-bottom:21px}body:not([data-phase="camp"]) .opening-vista h1{font-size:30px}body:not([data-phase="camp"]) .opening-vista .eyebrow{margin-bottom:7px}body:not([data-phase="camp"]) .opening-vista .arrival-checkpoint{margin-top:9px}
.campaign-toolbar>.adventure-tools{display:flex;align-items:center;flex-wrap:nowrap}.campaign-toolbar>#campaign-progress{font-size:11px;line-height:1.5;letter-spacing:.8px}.adventure-tools #skills-button,.adventure-tools #journey-button{font-size:13px;min-height:44px}
.explore-menu{position:relative;z-index:15}.explore-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;list-style:none;min-height:44px;padding:7px 12px;font:13px/1.4 system-ui,sans-serif;color:#cad6be;border:1px solid #9eb38a40;border-radius:9px;cursor:pointer}.explore-menu>summary::-webkit-details-marker{display:none}.explore-menu>summary::after{content:'⌄';font-size:16px;line-height:1}.explore-menu[open]>summary{color:#f3dfad;background:#2b4038}.explore-menu[open]>summary::after{transform:rotate(180deg)}.explore-menu>summary:focus-visible{outline:2px solid #e9d6a0;outline-offset:3px}
.explore-menu-content{position:absolute;right:0;top:calc(100% + 7px);min-width:220px;padding:8px;background:#193033;border:1px solid #b1bd8b69;border-radius:12px;box-shadow:0 16px 38px #020f1cd9;display:grid;gap:3px}.campaign-toolbar .explore-menu-content .text-button{font-size:14px;min-height:48px;width:100%;padding:10px 13px;justify-content:flex-start;text-align:left;color:#dde3ca;border-radius:7px}.explore-menu-content .text-button:hover{background:#cad9a61c}
.route-disclosure{margin:0 0 16px;border:1px solid #98b29342;border-radius:12px;background:#18303233;overflow:hidden}.route-disclosure>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 15px;color:#cfdbbf;font:13px/1.45 system-ui,sans-serif;cursor:pointer}.route-disclosure>summary::-webkit-details-marker{display:none}.route-disclosure>summary::before{content:'✧';font-size:20px;color:#d7cd9d}.route-disclosure>summary::after{content:'+';font-size:22px;color:#bcccaa;margin-left:5px}.route-disclosure[open]>summary::after{content:'−'}.route-disclosure>summary:focus-visible{outline:2px solid #e8d9a6;outline-offset:-3px}.route-disclosure #route-status{margin-left:auto;font-size:12px;letter-spacing:1px;color:#d4cfab}.route-disclosure>.campaign-acts{margin:0 13px 12px}.route-disclosure>.campaign-route-vista{margin:0 13px 12px}.route-disclosure>.chapter-brief{margin:0 13px 13px}
body[data-phase="camp"] #progression-strip{display:none}body[data-phase="camp"] .camp-recovery{border:0;padding:0;background:transparent;font-size:12px;margin:8px 0;color:#adbfad}.camp-panel .camp-departure{display:flex;margin:14px 0 20px}.camp-panel .camp-departure .primary-button{min-height:52px;width:100%;font-size:14px}.play-column:has(#journey-coach:not([hidden])) .camp-first-steps{display:none}
#commands-title:focus{outline:none}#commands-title:focus-visible{outline:2px solid #cbd99f;outline-offset:5px;border-radius:3px}
.arena > .battle-utility{margin:0;padding:10px 18px 0;flex-wrap:wrap}.arena > .battle-utility[hidden]{display:none}#battle-decision-state{flex:1 1 210px;min-width:0}.arena > .battle-utility .text-button{flex:none;min-height:44px}
#companion-recovery:not([hidden]){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:14px 0;padding:16px 18px;border:1px solid #d8bc8070;border-radius:12px;background:#2e352b;color:#f0e1c1;font:14px/1.6 system-ui,sans-serif}#companion-recovery p{flex:1 1 280px;margin:0}#companion-recovery button{min-height:44px}#companion-recovery button:focus-visible{outline:2px solid #edd5a1;outline-offset:3px}
@media(max-width:820px){.page-intro.opening-vista{min-height:200px;margin-top:15px;padding:25px}.opening-vista .arrival-copy{max-width:77%}.opening-vista .expedition-summary{min-width:82px;padding:10px}.opening-vista .expedition-summary strong{font-size:25px}.opening-vista .eyebrow{font-size:10px;letter-spacing:1.5px}.page-intro.opening-vista p{font-size:13px}.opening-vista .arrival-checkpoint{font-size:11px}.campaign-toolbar>#campaign-progress{max-width:32%;letter-spacing:.2px}.campaign-toolbar>.adventure-tools{gap:5px}.route-disclosure>summary{min-height:48px}}
@media(max-width:560px){.page-intro.opening-vista{min-height:220px;margin:12px 0 5px;padding:23px 18px;border-radius:14px;align-items:flex-start}.opening-vista .opening-key-art{object-position:64% center}.opening-vista::before{background:linear-gradient(90deg,#12272beb,#142b2bd9 42%,#182e2b30),linear-gradient(0deg,#10272be8,transparent 86%)}.opening-vista .arrival-copy{max-width:100%;padding-right:0}.page-intro.opening-vista h1{font-size:29px;max-width:90%}.opening-vista .eyebrow{display:flex;margin-bottom:12px;font-size:10px;letter-spacing:1.4px}.page-intro.opening-vista p{max-width:94%;font-size:13px;line-height:1.7;margin-top:10px}.opening-vista .arrival-checkpoint{max-width:76%;font-size:11px;margin-top:15px;line-height:1.6}.opening-vista .expedition-summary{position:absolute;right:15px;bottom:17px;min-width:0;border:0;padding:0;background:none;backdrop-filter:none}.opening-vista .expedition-summary .label{display:none}.opening-vista .expedition-summary strong{font-size:22px}.opening-vista .expedition-summary strong span{font-size:11px}body:not([data-phase="camp"]) .page-intro.opening-vista{min-height:150px;padding:17px 18px}body:not([data-phase="camp"]) .opening-vista h1{font-size:25px}body:not([data-phase="camp"]) .opening-vista p{display:none}body:not([data-phase="camp"]) .opening-vista .arrival-checkpoint{max-width:77%;font-size:11px;margin-top:11px}.campaign-toolbar>#campaign-progress{display:none}.campaign-toolbar>.adventure-tools{width:100%;justify-content:space-between;gap:6px}.campaign-toolbar .adventure-tools>.text-button{flex:0 1 auto;min-width:52px;padding:7px 11px;font-size:13px}.explore-menu{flex:1}.explore-menu>summary{min-height:44px}.explore-menu-content{min-width:216px}.route-disclosure{margin-bottom:12px}.route-disclosure>summary{padding:10px 13px;font-size:12px}.route-disclosure>.campaign-acts{margin:0 8px 9px}.route-disclosure>.campaign-route-vista{margin:0 8px 9px}.route-disclosure>.chapter-brief{margin:0 8px 9px}}
