/* The campaign is a place. The battle keeps its existing compact controls. */
.journey-dialog{--paper:#d6c391;--ink:#32281d;--oak:#5a4026;--gold:#ccb171;width:min(1140px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;background:#15251e;color:#eee0b9;border:1px solid #9c8354;border-radius:4px;box-shadow:0 24px 100px #000b;font:15px/1.45 'Segoe UI',sans-serif;overscroll-behavior:contain}
.journey-dialog *{box-sizing:border-box}.journey-dialog [hidden]{display:none!important}.journey-dialog button,.small-menu button{min-height:44px;touch-action:manipulation;border-radius:3px}.journey-dialog button:focus-visible,.small-menu button:focus-visible{outline:3px solid #97daf1;outline-offset:3px}.journey-dialog button[aria-pressed="true"]{border-color:#ecdba8;box-shadow:inset 0 0 0 1px #ecdba8}.journey-dialog button:disabled{opacity:.5;cursor:not-allowed}.journey-dialog h1,.journey-dialog h2,.journey-dialog h3{font-family:Georgia,serif;line-height:1.08;margin:0}.journey-dialog p{margin:0 0 12px}.journey-dialog .primary,.small-menu .primary{background:linear-gradient(#ddc388,#b08b4d);color:#211b11;border:1px solid #f0dcab;box-shadow:0 3px 0 #6f5029;font-weight:700;padding:12px 20px}.journey-dialog .primary:hover:not(:disabled){background:#ead398}.journey-dialog .quiet{background:transparent;border-color:#667365;color:#eee0b9}.journey-header{display:flex;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid #697052;background:#17281f}.journey-header h1{flex:1;font-size:26px}.journey-header button{padding:8px 18px}.journey-header h1:focus{outline:none}#campaign-notice{margin:0;padding:0 24px;background:#283c30;color:#f3d893}#campaign-notice:not(:empty){padding:10px 24px}
.journey-footer{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 24px;background:#122219;border-top:1px solid #516047;font-size:12px;color:#bfcab8}.journey-footer .campaign-wallet{margin:0;gap:18px}.journey-footer .fan-notice{margin:0 0 0 auto;font-size:10px;color:#a4b39e}.journey-footer #storage-status{font-size:11px}.journey-dialog[data-screen="title"] .journey-header{position:absolute;z-index:2;right:0;background:none;border:0}.journey-dialog[data-screen="title"] .journey-header h1{display:none}.journey-dialog[data-screen="title"] .journey-footer .campaign-wallet{display:none}
.title-scene{position:relative;isolation:isolate;min-height:550px;overflow:hidden;background:linear-gradient(90deg,#0b1e1aed 3%,#132b23a8 50%,#14261f55),url('assets/painted-local/woodland-terrain.png') center/cover}.title-scene::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#122219,transparent 45%,#17291f99)}.title-copy{position:relative;z-index:1;width:55%;padding:60px 0 52px 7%}.title-copy h2{font-size:clamp(44px,6.2vw,76px);color:#f3dfa9;letter-spacing:-2px;text-shadow:0 3px 0 #523e26,0 4px 24px #0009}.title-copy h2 span{font-size:.83em}.title-copy>p:not(.title-kicker){color:#c9d7bd;font-size:18px;margin-top:24px}.title-kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#bfbd87}.title-actions{display:grid;gap:12px;max-width:290px;margin-top:24px}.title-actions .quiet{border:none;text-align:left;padding-left:0;font-size:14px}.title-keep{position:absolute;width:45%;height:85%;object-fit:contain;right:0;bottom:0;filter:drop-shadow(0 20px 22px #061710b3);transform:rotate(-3deg)}.title-copy #resume-summary{font-size:12px;margin:18px 0 0;max-width:300px}.title-mist{position:absolute;bottom:0;left:0;right:0;height:90px;background:linear-gradient(0deg,#122219,transparent)}
.campaign-route{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:520px}.route-board{position:relative;padding:24px 26px 32px;background:linear-gradient(#102b1fc9,#14251ae8),url('assets/painted-local/woodland-terrain.png') center/cover}.route-board #campaign-progress{color:#c8d4b9;font-size:13px}.mission-nodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 18px;position:relative;align-items:start;padding:26px 0}.mission-nodes::before{content:'';position:absolute;left:15%;right:15%;top:23%;bottom:20%;border:3px dashed #c2b88670;border-left:none;border-radius:0 80px 80px 0;pointer-events:none}.route-node{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:6px;min-width:0;padding:8px 4px;background:transparent;border:1px solid transparent;color:#f0dfb7}.route-node:nth-child(4){grid-area:2/3}.route-node:nth-child(5){grid-area:2/2}.route-node:nth-child(6){grid-area:2/1}.route-node:hover{background:#b0c99e16}.route-node[aria-pressed="true"]{background:#284433b0;box-shadow:none!important;border-color:#c9b77a!important}.route-node strong{font:700 17px/1.15 Georgia,serif;text-shadow:0 2px 2px #000}.route-node small{font-size:11px;min-height:18px;color:#d9c68c}.node-medallion{position:relative;display:block;width:112px;height:100px;border:3px solid #b8a569;border-radius:50%;box-shadow:0 5px 12px #07120bcc;background:#17281f}.node-medallion canvas{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.node-medallion b{position:absolute;left:-3px;bottom:-3px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#c1a86e;color:#252719;font-size:12px;border:2px solid #eee0b9}.route-node.locked{opacity:.68}.route-node.locked canvas{filter:saturate(.5)}.route-node.locked:hover,.route-node.locked:focus-visible{opacity:1}.mission-paper{padding:0 24px 26px;background:var(--paper);color:var(--ink);border-left:5px solid #6c5636}.mission-paper>canvas{width:calc(100% + 48px);height:150px;object-fit:cover;margin:0 -24px 18px;display:block;border-bottom:3px solid #736d43}.terrain-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#685533}.mission-paper h2{font-size:29px;margin-bottom:12px}.mission-paper p{font-size:13px}.mission-paper .mission-facts{font-size:12px;font-weight:600}.mission-paper .record{color:#52612d;font-weight:700}.difficulty-field{border:0;padding:0;margin:20px 0 18px}.difficulty-field legend{font:700 17px Georgia,serif;margin-bottom:9px}.journey-dialog .difficulty-buttons{display:flex;gap:5px}.journey-dialog .difficulty-buttons button{flex:1;min-width:0;font-size:12px;padding:8px 6px;color:#3c331e;background:#c4ad7b;border:1px solid #9f8a5d}.journey-dialog .difficulty-buttons [aria-pressed="true"]{background:#254d58;color:#f5e7c9;border-color:#254d58;box-shadow:inset 0 -3px #bbd8d6}.mission-paper #difficulty-help{font-size:12px;min-height:36px;margin:8px 0 0}.mission-paper>.primary{width:100%}
#loadout-step{padding:22px 26px 26px}.party-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.party-heading h2{font-size:27px}.party-heading h2 span{font:14px 'Segoe UI',sans-serif;color:#c6cdb7;margin-left:8px}.party-heading p{font-size:12px;color:#c9b67d;margin:0 0 5px}.party-hint{font-size:12px;color:#bfccb6;margin-top:14px!important}.party-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:12px 0 22px}.party-slots button{display:grid;grid-template-columns:42px 1fr;align-items:center;position:relative;gap:5px;padding:10px 8px;background:#284131;border:1px solid #71816a;color:#e8dbb4;min-width:0;text-align:left;min-height:76px}.party-slots button[aria-pressed="true"]{background:#365445}.party-slots button>small{position:absolute;top:3px;right:6px;color:#c8bc89;font-size:10px}.party-slots strong{font-size:12px;line-height:1.15}.party-slots .class-portrait{transform:scale(.8);transform-origin:left center;width:40px}.empty-slot{font:32px Georgia;color:#91a384;text-align:center}.roster-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:26px}.journey-dialog .loadout-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-content:start}.journey-dialog .pick-tower{display:flex;gap:6px;align-items:center;position:relative;min-width:0;min-height:83px;padding:8px 7px;background:#20372a;border:1px solid #465c47;color:#dedbc3;text-align:left}.journey-dialog .pick-tower::after{content:none}.journey-dialog .pick-tower[aria-pressed="true"]{background:#314d3b}.journey-dialog .pick-tower>span:last-of-type{display:grid;min-width:0;gap:3px}.journey-dialog .pick-tower strong{font-size:13px}.journey-dialog .pick-tower small{font-size:10px;color:#bfccb6;line-height:1.15}.journey-dialog .pick-tower b{font-size:11px;color:#dbc386}.journey-dialog .pick-tower i{position:absolute;right:5px;top:2px;color:#a9c391;font:12px 'Segoe UI',sans-serif}.journey-dialog .pick-tower .class-portrait{flex-shrink:0;transform:scale(.85);transform-origin:center;width:45px}.class-inspect{padding:20px 20px 14px;background:#d6c391;color:#32281d;border-top:4px solid #b39a61;align-self:start;position:sticky;top:14px}.class-inspect>.class-portrait{transform:scale(1.35);transform-origin:left center;margin:6px 0 20px}.class-inspect h3{font-size:26px;margin-bottom:10px}.class-inspect p{font-size:13px}.class-inspect .class-role{font-size:11px;color:#615532;font-weight:600}.class-inspect .class-targets{font-size:12px;font-weight:700}.class-inspect>small{display:block;font-size:12px;color:#645333;margin-bottom:18px}.class-inspect button{width:100%;font-size:12px;margin-top:9px;padding:10px!important}.class-inspect .quiet{color:#4e442b;border:0;text-decoration:underline}.supply-disclosure{margin:22px 0 0;padding-top:16px;border-top:1px solid #566047}.supply-disclosure summary{font:700 18px Georgia;cursor:pointer;min-height:44px;padding:9px 0}.supply-disclosure summary span{font:12px 'Segoe UI',sans-serif;color:#b3c2a7;margin-left:10px}.supply-disclosure>p{font-size:12px}.journey-dialog .inventory-picker{gap:14px}.journey-dialog .inventory-card{background:transparent;border:1px solid #526446;border-radius:2px;padding:12px}.journey-dialog .inventory-card p{font-size:12px;margin:10px 0}.journey-dialog .inventory-card button{font-size:12px;width:100%;background:#293e2f}.journey-dialog .inventory-card [aria-pressed="true"]{color:#ebdcae;background:#3c5338}
.journey-dialog[data-screen="pause"]{max-width:500px}.pause-step{text-align:center;padding:18px 48px 30px;background:linear-gradient(#14281deb,#14281def),url('assets/painted-local/woodland-terrain.png') center/cover}.pause-step>img{height:100px;width:130px;object-fit:contain}.pause-step h2{font-size:35px;margin:8px 0 15px}.pause-step p{font-size:12px;color:#bac9b0}.pause-actions{display:grid;gap:10px;margin:23px 0}.pause-actions button{padding:12px;background:#2b4231;border:1px solid #647356;color:#eadcb6}.small-menu{width:min(440px,calc(100vw - 28px));padding:28px;background:#1b3023;color:#e4d7b2;border:1px solid #b29a61;border-radius:3px}.small-menu h2{font:700 29px Georgia;margin:0 0 22px}.small-menu p{font-size:13px;line-height:1.6;color:#c6d0ba}.small-menu>button{margin:8px 8px 8px 0}.small-menu label{display:flex;justify-content:space-between;margin-top:18px}.small-menu input{display:block;width:100%;min-height:44px;accent-color:#ccb171}.small-menu #settings-sound{width:100%}#help-dialog{max-width:720px;max-height:calc(100dvh - 32px);background:#1a3023;border:1px solid #b49a63;padding:26px;color:#d9dfc7}#help-dialog h2{font-family:Georgia}#help-dialog p{font-size:14px;line-height:1.6}#retry-dialog{background:#1a3023;border:1px solid #b49a63;color:#e9dfc1}#result-dialog{background:#1a3023;color:#e9dfc1;border:1px solid #b49a63;border-radius:4px;max-height:calc(100dvh - 24px)}#result-dialog h2{font-family:Georgia;line-height:1.12}#result-dialog .result-actions{gap:10px}#result-dialog button{min-height:44px}#result-dialog .result-map{border-radius:0}.journey-dialog[open]>section:not([hidden]){animation:menu-arrive 160ms ease-out}@keyframes menu-arrive{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.journey-dialog[open]>section:not([hidden]){animation:none}}
@media(max-width:900px){.journey-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.campaign-route{grid-template-columns:minmax(0,1fr) 310px}.route-board{padding:20px 14px}.mission-nodes{gap:34px 6px}.node-medallion{width:90px;height:84px}.route-node strong{font-size:15px}.mission-paper{padding-left:18px;padding-right:18px}.mission-paper>canvas{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px}.roster-layout{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.journey-dialog .loadout-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.party-slots button{grid-template-columns:1fr;justify-items:center;text-align:center;padding:8px 2px}.party-slots .class-portrait{transform-origin:center}.title-scene{min-height:530px}.title-copy{padding-left:6%;width:60%}.title-keep{right:-4%;width:52%}}
@media(max-width:640px){.journey-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.journey-header{padding:12px;gap:9px}.journey-header h1{font-size:21px}.journey-header button{padding:8px 12px;font-size:12px}.journey-footer{padding:12px;gap:8px;justify-content:space-between}.journey-footer .fan-notice{margin:0;width:100%;font-size:9px}.journey-footer .campaign-wallet{font-size:11px;gap:12px}.title-scene{min-height:650px}.title-copy{width:100%;padding:65px 25px 30px}.title-copy h2{font-size:54px}.title-copy>p:not(.title-kicker){font-size:16px;margin-top:18px}.title-kicker{font-size:9px}.title-actions{max-width:260px}.title-keep{width:56%;height:46%;right:-9%;bottom:-20px;opacity:.85;z-index:0}.title-scene{background-image:linear-gradient(90deg,#0b1e1af5,#132b23ce),url('assets/painted-local/woodland-terrain.png')}.campaign-route{display:flex;flex-direction:column}.route-board{padding:16px 12px}.route-board #campaign-progress{font-size:12px;margin-bottom:6px}.mission-nodes{gap:16px 5px;padding:8px 0}.node-medallion{width:72px;height:65px}.node-medallion b{width:22px;height:22px;font-size:10px}.route-node{gap:5px;padding:5px 2px}.route-node strong{font-size:13px}.route-node small{font-size:10px}.mission-nodes::before{top:25%;bottom:27%}.mission-paper{border-left:0;border-top:4px solid #756342;padding:18px}.mission-paper>canvas{float:right;width:96px;height:76px;margin:0 0 12px 12px;border:1px solid #8b794e}.mission-paper h2{font-size:26px}.mission-paper .terrain-label{font-size:10px;max-width:180px}.mission-paper .mission-facts{clear:both}.difficulty-field{margin:14px 0}.mission-paper #difficulty-help{min-height:0}#loadout-step{padding:16px 12px}.party-heading{display:block}.party-heading h2{font-size:24px}.party-heading .primary{width:100%;margin-top:14px}.party-hint{font-size:11px}.party-slots{gap:4px;margin-bottom:16px}.party-slots button{min-height:75px;padding:10px 1px 6px}.party-slots strong{font-size:9px;overflow-wrap:anywhere}.party-slots .class-portrait{transform:scale(.7);width:38px;height:39px}.roster-layout{display:flex;flex-direction:column;gap:14px}.journey-dialog .loadout-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.journey-dialog .pick-tower{min-height:77px;padding:6px 3px;gap:1px}.journey-dialog .pick-tower strong{font-size:12px}.journey-dialog .pick-tower small{font-size:9px}.journey-dialog .pick-tower .class-portrait{transform:scale(.75);width:42px}.class-inspect{position:static;width:100%;padding:18px}.class-inspect>.class-portrait{float:right;margin:0 10px 12px 25px}.class-inspect>button{min-height:46px}.class-inspect>small{margin-bottom:4px}.journey-dialog .inventory-picker{grid-template-columns:1fr}.pause-step{padding:16px 28px}.journey-dialog[data-screen="pause"] .journey-header h1{font-size:18px}.journey-dialog[data-screen="pause"] .journey-header button{padding:7px;font-size:11px}}
@media(max-height:500px) and (min-width:641px){.title-scene{min-height:335px}.title-copy{padding:28px 0 24px 7%}.title-copy h2{font-size:46px}.title-copy>p:not(.title-kicker){font-size:13px;margin:12px 0}.title-kicker{font-size:9px}.title-actions{gap:7px;margin-top:15px;max-width:245px}.title-actions button{min-height:40px;padding:8px 16px}.title-actions .quiet{padding:2px 0;min-height:30px}.title-keep{width:50%}.journey-header{padding:10px 16px}.campaign-route{min-height:450px}.pause-step>img{display:none}}

/* Keep the six equipped slots in view while browsing the roster. */
.party-slots{position:sticky;top:0;z-index:3;background:#15251e;padding:8px 0;box-shadow:0 8px 12px #15251e;}

.journey-dialog button{margin:0}.journey-header{padding:14px 24px}.journey-footer .campaign-wallet{padding:0}.journey-dialog .mission-paper p,.journey-dialog .class-inspect p,.small-menu .class-inspect p{color:#453a27}.journey-dialog .pick-tower{opacity:1;min-height:74px}.journey-dialog .loadout-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.journey-dialog .difficulty-buttons button{min-height:44px}.mission-paper>canvas{height:130px}.difficulty-field{margin:14px 0}.mission-paper #difficulty-help{min-height:20px}.journey-header h1{font-size:25px}.journey-footer{min-height:44px}.journey-dialog .class-inspect .quiet{color:#4e442b}.journey-dialog .mission-paper .terrain-label{color:#685533}.journey-dialog .mission-paper .record{color:#46582a}#mobile-class-dialog{padding:0;overflow:auto;max-height:calc(100dvh - 24px);background:#d6c391}#mobile-class-dialog .class-inspect{position:static;border:0;margin:0}#mobile-class-dialog .class-inspect p{color:#453a27}#mobile-class-dialog>button{margin:0 18px 18px;color:#453a27;background:transparent;border:1px solid #8c7953;width:calc(100% - 36px)}
@media(max-width:1100px){.journey-dialog .loadout-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.journey-dialog .loadout-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.journey-header{padding:12px}.journey-header h1{font-size:21px}.mission-paper>canvas{height:76px}.roster-layout>#class-inspect{display:none}.journey-dialog .loadout-picker{width:100%}.journey-dialog .pick-tower{min-height:77px}}
.small-menu input{margin:0}.small-menu #settings-sound{margin-right:0}

.journey-dialog[data-screen="pause"] .journey-footer .campaign-wallet,.journey-dialog[data-screen="pause"] .journey-footer .fan-notice{display:none}
@media(max-height:500px) and (min-width:641px){.journey-dialog[data-screen="pause"] .journey-header{padding:10px 18px}.journey-dialog[data-screen="pause"] .journey-header h1{font-size:23px}.pause-step{padding:10px 24px}.pause-step h2{font-size:27px;margin:3px 0 9px}.pause-step p{font-size:11px;margin-bottom:8px}.pause-actions{grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.pause-actions button{padding:8px;font-size:12px}.pause-actions button:first-child{grid-column:1/-1}.journey-dialog[data-screen="pause"] .journey-footer{padding:7px 20px;min-height:30px}}

.party-hint.party-warning{color:#f0cb85;font-weight:600}

.mission-tactics{font-weight:600;line-height:1.5;border-left:3px solid #8b794e;padding-left:10px}.party-tactics{font-size:13px!important;line-height:1.5;color:#e2cf95!important;margin-top:12px!important;max-width:75ch}

.backup-menu{width:min(560px,calc(100vw - 24px));box-sizing:border-box}.backup-menu textarea,.backup-menu input[type=file]{width:100%;box-sizing:border-box;max-width:100%;font:inherit;color:inherit}.backup-menu textarea{background:#18251f;border:1px solid #87744b;padding:8px;resize:vertical}.backup-menu h3{margin:18px 0 6px}.backup-menu details{margin:12px 0}.backup-menu summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.backup-menu label{display:block;margin:8px 0}.backup-summary{white-space:pre-line}.backup-menu #backup-preview{border-top:1px solid #87744b;padding-top:6px}.backup-menu #backup-status{min-height:2.5em}.backup-menu button{min-height:44px}

.backup-menu input[type=file]::file-selector-button{min-height:44px;margin-right:8px}
