/* Panel shell + chapter selection + packing layout. Other pages keep their own content styles. */
#modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:24px}
#modal-shade{position:absolute;inset:0;background:#020a12bf;backdrop-filter:blur(8px) saturate(.8)}
#panel,#panel.equipment-panel{position:relative;display:flex;flex-direction:column;width:min(1140px,96vw);max-height:calc(100dvh - 48px);min-height:0;padding:28px 34px;overflow:hidden;border:1px solid #afc3bd30;background:linear-gradient(120deg,#10232ef5,#08141ffa 70%);box-shadow:0 30px 100px #0008;isolation:isolate}
#panel:focus{outline:none}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}
#panel-eyebrow{font:10px/1.5 var(--sans);letter-spacing:2px;color:var(--gold)}
#panel-title{font:29px/1.4 var(--serif);letter-spacing:2px;margin:6px 0 0;color:#e6e8d8;font-weight:400}
#close-modal{width:38px;height:38px;flex:0 0 auto;background:#c6b78d08;border:1px solid #b0c5bb38;color:#b6c6ba}
#close-modal:hover{background:#c6b78d1b;border-color:#c6b78d88}
#panel-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6f8c8155 transparent;scroll-padding-block:14px;padding:0 4px 2px 0}
#panel-body p{font:13px/1.85 var(--sans);color:#b8c8be}
#panel-body .lead{font:23px/1.75 var(--serif);font-weight:400;letter-spacing:.5px;color:#e3e5d8;margin:14px 0 22px}
#panel-body .fine{font:11px/1.85 var(--sans);color:#99afa8}
#panel-body h3{font:18px/1.5 var(--serif);color:#dbe1d2}
#panel-body>.primary{margin-top:20px;width:100%}
#panel .panel-head .icon-button .ui-icon{width:17px;height:17px}

#panel[data-page=chapters]{width:min(1170px,96vw);height:min(860px,calc(100dvh - 48px))}
#panel[data-page=chapters] #panel-body{display:flex;flex-direction:column;overflow:hidden;padding:0}
.chapter-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6f8c8155 transparent;padding:0 6px 16px 0;scroll-padding-block:10px}
.chapter-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.chapter-intro p{margin:0}.chapter-intro span{font:10px/1.5 var(--mono);color:#b7ac8b;white-space:nowrap}
.chapter-offer{margin:0 0 14px;font-size:12px!important;color:#c8ba99!important}
.chapter-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.chapter-poster{position:relative;isolation:isolate;min-width:0;height:clamp(250px,32vh,350px);padding:0;text-align:left;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #99b5b73d;background:#061923;transition:border-color 200ms}
.chapter-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(1.45) saturate(.82);z-index:-2}
.chapter-poster::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#03101dfc,#06151aac 35%,#06151a10 78%,#06151a88)}
.chapter-poster:hover{border-color:#d1c599aa}.chapter-poster.selected{border-color:#c5b789;box-shadow:inset 0 -3px var(--gold)}
.poster-top{display:flex;align-items:center;justify-content:space-between;padding:17px;color:#d9cda8;font:10px/1.5 var(--mono);letter-spacing:1px}
.poster-check{display:grid;place-items:center;border:1px solid #c5b78988;min-width:24px;height:24px;color:#efe5c7}.poster-check .ui-icon{width:14px;height:14px}
.poster-bottom{display:block;padding:0 19px 20px}.poster-place{display:block;font:10px/1.5 var(--sans);letter-spacing:1px;color:#c2b88e;margin-bottom:9px}
.poster-bottom strong{display:block;font:23px/1.5 var(--serif);letter-spacing:1px;color:#e8e9dd}.poster-bottom small{display:block;font:11px/1.7 var(--sans);color:#b0c0b9;margin-top:8px}
.chapter-stamp{display:inline-block;font:10px var(--sans);color:#c0d3aa;margin-left:8px}.chapter-placeholder{background:radial-gradient(ellipse at 50% 35%,#40534c,#0b171b 75%);font:85px var(--serif);color:#a4b19b30}
.chapter-locked .poster-bottom small,.chapter-locked .poster-check{color:#d5c7a6}
.chapter-mode-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px 24px;margin-top:20px}
.chapter-mode-row .ui-section-label{margin:0;min-width:80px}.chapter-mode-row .ui-section-label:after{display:none}.chapter-mode-row .chip-row{margin:0}.chapter-mode-row p{grid-column:2;margin:0}
.chapter-confirm{flex:0 0 auto;display:flex;align-items:center;gap:24px;padding-top:16px;border-top:1px solid var(--line)}
.tutorial-choice{display:block;flex:0 0 auto;margin:10px 0;font:11px/1.6 var(--sans);color:#c4c8b3}.tutorial-choice input{accent-color:#c6b482;margin-right:6px}
.chapter-confirm .primary{margin:0;min-width:250px;max-width:65%;width:360px;min-height:52px}.chapter-confirm>span{font:11px/1.7 var(--sans);color:#a0b1a5}

.pack-objective{padding:12px 0;border-top:1px solid var(--line)}.pack-objective small{font:10px var(--sans);color:var(--gold)}#panel-body .pack-objective p{font:15px/1.6 var(--serif);color:#ddd8bc;margin:8px 0}.pack-objective span{font:11px/1.7 var(--sans);color:#a2b4a5}

/* Packing owns the live exhibit; options scroll without displacing the confirm action. */
#panel[data-page=loadout]{width:min(1140px,96vw);height:min(860px,calc(100dvh - 48px))}
#panel[data-page=loadout] #panel-body{display:flex;flex-direction:column;overflow:hidden;padding:0}
.packing-layout{display:grid;grid-template-columns:43% minmax(0,1fr);gap:30px;flex:1;min-height:0;overflow:hidden}
.pack-display{display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin;padding-right:4px}
#kit-portrait{display:block;width:100%;height:clamp(230px,35vh,390px);flex:0 0 auto;border:1px solid #a3babc30;box-shadow:inset 0 0 60px #0003;touch-action:pan-y}
.pack-display .kit-motto{font:15px/1.8 var(--serif)!important;letter-spacing:.5px;margin:15px 0!important;color:#c4ccb9!important}
.mandatory{padding:13px 0;border-block:1px solid var(--line)}.mandatory small{font:10px/1.5 var(--sans);letter-spacing:1px;color:#bfb288}.mandatory p{font:11px/1.8 var(--sans)!important;margin:7px 0 0!important;color:#a2b8b2!important}
.pack-display>.fine{font-size:11px!important;line-height:1.8!important;margin:12px 0 0!important;color:#91a8a2!important}
.pack-options{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 7px 10px 0;scrollbar-width:thin;scrollbar-color:#6f8c8155 transparent;scroll-padding-block:10px}
.pack-options>.eyebrow{display:block;font:10px/1.5 var(--sans);letter-spacing:2px;margin-bottom:12px}
.rig-options{display:grid;gap:8px}.rig-option{display:flex;align-items:center;gap:13px;min-height:64px;padding:12px 14px;text-align:left;border:1px solid #aec5bd32;background:#8bada305}.rig-option>span{flex:1}.rig-option>.ui-icon{width:27px;height:27px;color:#a4b5ab}
.rig-option b{font:15px/1.5 var(--serif);letter-spacing:.5px}.rig-option small{display:block;font:11px/1.6 var(--sans);color:#9ab0aa;margin-top:4px}.rig-option em{font-style:normal;color:var(--gold)}.rig-option em .ui-icon{width:16px;height:16px}
.rig-option.selected{border-color:#c5b789aa;background:#c5b78910}.rig-option:disabled{opacity:.5}
.pack-quantity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.pack-quantity b{font:13px/1.5 var(--sans);color:#ced6c8}.pack-quantity small{display:block;font:11px/1.7 var(--sans);color:#9ab0aa;margin-top:5px}
.stepper{display:flex;align-items:center;gap:15px}.stepper button{border:1px solid #adbcb53d;background:#a3b6bb06;width:37px;height:37px;font-size:20px}.stepper strong{font:22px var(--mono);color:var(--warm);min-width:17px;text-align:center}
.segmented{display:flex;border:1px solid #a0b6b83d}.segmented button{font:11px var(--sans);min-height:39px;padding:10px 13px}.segmented [aria-pressed=true]{background:#c2b58826;color:var(--warm)}
.pack-extras{display:flex;flex-wrap:wrap;gap:16px;padding:16px 0}.pack-extras label{display:flex;align-items:center;gap:7px;font:12px var(--sans);color:#c2cbbb}.pack-extras input{width:17px;height:17px;accent-color:var(--gold)}
.pack-load{display:flex;align-items:center;gap:16px;padding:6px 0;font:12px/1.5 var(--sans)}.pack-load>span{flex:1}.pack-load small{display:block;font:11px/1.5 var(--sans);color:#91a9a1;margin-top:5px}.pack-load>i{width:100px;height:4px;background:#576c7244}.pack-load>i>i{display:block;height:4px;background:var(--gold)}
#panel-body .pack-error{font-size:11px;min-height:18px;color:#deb18f;margin:7px 0}.pack-footer{display:flex;align-items:center;gap:24px;flex:0 0 auto;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}.pack-footer>span{flex:1;font:11px/1.7 var(--sans);color:#9cb1a6}.pack-footer .primary{width:250px;margin:0;min-height:52px}.pack-mobile-note{display:none}

.journey-assessment{margin:18px 0;padding:18px 0;border-block:1px solid var(--line)}
.journey-assessment>h3{margin:0 0 14px}.journey-assessment>summary{cursor:pointer;font:12px/1.8 var(--sans);color:#d6caa8}.journey-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:14px}.journey-facts strong{display:block;margin-bottom:5px}
.journey-assessment h4,.journey-assessment dt,.journey-assessment small{display:block;font:10px/1.7 var(--sans);letter-spacing:1px;color:#b7ac8b;margin:0 0 5px}
.journey-assessment p,.journey-assessment dd{font:13px/1.85 var(--sans);color:#c4d0c2;margin:0}.journey-assessment strong{font-weight:500;color:#e5dcc1}
.journey-assessment .journey-concern{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);color:#d7c399}
.debrief-notes{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.debrief-notes summary{font:12px/1.7 var(--sans);color:#d6caa8;cursor:pointer;padding:5px 0}.debrief-notes ul,.debrief-notes ol{padding-left:19px;margin:12px 0}.debrief-notes li{font:12px/1.9 var(--sans);color:#b3c4b9;margin:8px 0}.debrief-notes p{font-size:12px!important}
@media(max-height:800px){#panel,#panel.equipment-panel{padding:22px 28px}.panel-head{padding-bottom:14px;margin-bottom:16px}#panel-title{font-size:26px}.chapter-poster{height:260px}.chapter-mode-row{margin-top:17px}.chapter-confirm,.pack-footer{padding-top:13px}.pack-footer{margin-top:13px}}
@media(max-width:760px){
 #modal{padding:12px}#panel,#panel.equipment-panel{width:100%;max-height:calc(100dvh - 24px);padding:20px}
 #panel[data-page=chapters],#panel[data-page=loadout]{height:calc(100dvh - 24px);width:100%}
 #panel-title{font-size:24px}.panel-head{gap:12px;padding-bottom:13px;margin-bottom:15px}
 .chapter-gallery{grid-template-columns:1fr}.chapter-poster{height:220px}.chapter-intro{align-items:flex-start;gap:12px}.chapter-intro span{white-space:normal;text-align:right}.poster-bottom strong{font-size:23px}
 .chapter-mode-row{grid-template-columns:1fr;gap:10px}.chapter-mode-row p{grid-column:1}.chapter-confirm{gap:12px}.chapter-confirm .primary{min-width:0;width:100%;max-width:none}.chapter-confirm>span{display:none}
 .packing-layout{grid-template-columns:1fr;overflow:auto;gap:18px}.pack-display{overflow:visible;display:grid;grid-template-columns:42% 1fr;gap:12px;align-items:start}#kit-portrait{height:200px;grid-row:1/4}.pack-display .kit-motto{font-size:13px!important;margin:0!important}.pack-display>.fine{display:none}.mandatory{padding:10px 0}.pack-options{overflow:visible;padding-right:3px}
 .pack-footer{gap:12px}.pack-footer .primary{width:180px;min-width:0}.pack-footer>span{font-size:10px}.pack-mobile-note{display:inline}.pack-desktop-note{display:none}
}
@media(max-height:540px) and (min-width:700px){
 #modal{padding:10px}#panel,#panel.equipment-panel{max-height:calc(100dvh - 20px);padding:16px 22px}#panel[data-page=chapters],#panel[data-page=loadout]{height:calc(100dvh - 20px)}
 .panel-head{padding-bottom:10px;margin-bottom:12px}#panel-title{font-size:22px}.chapter-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.chapter-poster{height:225px}.poster-bottom{padding:0 13px 15px}.poster-bottom strong{font-size:18px}
 .packing-layout{grid-template-columns:40% minmax(0,1fr);overflow:hidden}.pack-display{display:flex;overflow:auto}#kit-portrait{height:230px}.pack-options{overflow:auto}.pack-display>.fine,.mandatory{display:none}.pack-display .kit-motto{font-size:12px!important;margin-top:10px!important}
 .pack-footer,.chapter-confirm{padding-top:10px;margin-top:10px}.pack-footer .primary,.chapter-confirm .primary{min-height:44px;padding:11px 16px}.pack-footer>span{font-size:10px}
}
@media(max-width:500px){.journey-facts{grid-template-columns:1fr}.pack-display{grid-template-columns:45% 1fr}#kit-portrait{height:180px}.pack-footer>span{max-width:42%}}
.reduced #modal-shade{backdrop-filter:none}

/* Graphics recovery pauses the simulation without replacing the open panel. */
.graphics-status{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:rgba(4,12,16,.94);padding:24px}
.graphics-status[hidden]{display:none}
.graphics-status>div{width:min(520px,100%);border:1px solid #758d854d;padding:32px;background:#0b1820}
.graphics-status span{font-size:11px;letter-spacing:.2em;color:var(--muted)}
.graphics-status h2{font-weight:400;font-size:26px;line-height:1.5;margin:16px 0}
.graphics-status p{line-height:1.8;margin:0 0 24px;color:#b4c3ba}
.graphics-status button{margin:8px 12px 0 0}

/* Community group: the QR is a support image, so keep it square and scannable. */
.community-qr{margin:24px 0;display:flex;flex-direction:column;align-items:center;gap:13px}
.community-qr img{display:block;width:min(266px,62vw);height:auto;border:1px solid #a9bda638}
.community-qr figcaption{font:11px/1.7 var(--sans);letter-spacing:.5px;color:#a4b3a8;text-align:center}
