/* Camp owns its layout; the surrounding modal keeps focus and visibility. */
#panel[data-page=camp]{width:min(1160px,96vw);height:min(940px,calc(100dvh - 48px));background:#131e21}
#panel[data-page=camp] #panel-body{display:flex;flex-direction:column;overflow:hidden;padding:0}
.camp-scroll{overflow:auto;min-height:0;flex:1;scrollbar-width:thin;padding-right:8px}
.camp-scene{padding:22px 26px;min-height:118px;position:relative;background:linear-gradient(90deg,#111b20eb,#15242660),url('../assets/ui/charcoal-camp.webp') 64% 58%/cover;border-bottom:1px solid #b3a37c40}
.camp-scene #camp-continue{position:absolute;right:25px;bottom:25px;min-width:190px;min-height:46px;margin:0}
.camp-scene>span{font:10px var(--mono);letter-spacing:2px;color:#cfbd91}
#panel-body .camp-scene h3{font:23px/1.45 var(--serif);letter-spacing:2px;margin:10px 0;color:#e6e0c9}
#panel-body .camp-scene p{font-size:12px;color:#c3c9b8;margin:8px 0 0;max-width:520px}
.camp-chapters{display:flex;flex-wrap:wrap;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.camp-chapters button{padding:6px 0;font:12px var(--sans);color:#869b94;border-bottom:1px solid transparent}
.camp-chapters [aria-pressed=true]{color:#d5c99d;border-color:#d5c99d}
.camp-desk{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:24px 0 26px}
#panel-body .camp-desk h3{font:21px var(--serif);margin:0 0 20px;color:#e0d8be}
.camp-desk h3 small{display:block;font:10px var(--mono);letter-spacing:1px;color:#94a295;margin-bottom:10px}.camp-desk h3>span{font:12px var(--mono);color:#9cad96;margin-left:12px}
.camp-notebook{border-right:1px solid var(--line);padding-right:36px}
.camp-evidence{position:relative;border-bottom:1px solid #c2b58e2c;padding:4px 0 18px;margin-bottom:20px}
.camp-evidence>span{float:right;font:10px var(--sans);color:#b7c9aa;border:1px solid #b7c9aa55;padding:4px 6px;transform:rotate(-5deg)}
.camp-evidence h4{font:16px var(--serif);color:#d3ceb7;margin:4px 60px 8px 0}.camp-evidence>small{font:10px/1.7 var(--sans);color:#8ea095}
#panel-body .camp-evidence p{font-size:12px;color:#aebca9}
.camp-empty{min-height:130px;display:flex;gap:20px;align-items:center;background:repeating-linear-gradient(0deg,transparent,transparent 31px,#b4bd9122 32px)}
.camp-empty>span{font:40px var(--serif);color:#a7ad8166}.camp-empty p{font-size:12px!important}
.camp-rules{margin-top:24px}.camp-rules summary,.camp-unfinished summary{cursor:pointer;font:11px/1.7 var(--sans);color:#b1ad93}.camp-rules p{font-size:11px!important}
.camp-crew{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:14px}.camp-crew article>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.camp-crew strong{font:16px var(--serif);color:#d9d9c1}.camp-crew span{font:10px var(--sans);color:#bcc399}.camp-crew meter{display:block;width:100%;height:6px;margin:12px 0;background:#334443;accent-color:#b6a27b}.camp-crew small{display:block;font:10px/1.7 var(--sans);color:#8ca093}
#camp-rest{font-size:11px;width:100%;padding:10px;min-height:38px}#panel-body .camp-plan-heading{margin-top:28px}
.camp-plans{display:grid;gap:9px}.camp-plan{display:flex;gap:12px;text-align:left;padding:13px 15px;border:1px solid #78877c33;background:#bac59604}.camp-plan[aria-pressed=true]{border-color:#a79464b3;background:#b8a4720b}.camp-plan>span{font:12px var(--sans);color:#c5b588;padding-top:3px}.camp-plan strong{font:14px var(--serif);color:#d2d4b9}.camp-plan p{font-size:11px!important;margin:7px 0!important;line-height:1.7!important}.camp-plan small{font:10px/1.6 var(--sans);color:#a7a184}.camp-plan:disabled{opacity:.45}
.camp-footer{flex:0 0 auto;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}.camp-launch{display:flex;align-items:center;gap:24px;justify-content:space-between}.camp-launch p{margin:0!important;font-size:11px!important}.camp-launch small{display:block;color:#7f9588;font:10px/1.7 var(--sans);margin-top:5px}.camp-launch .primary{margin:0;min-width:230px;min-height:48px}.camp-unfinished{display:block;margin-bottom:5px}.camp-unfinished p{font-size:11px!important;margin:0}.camp-unfinished .outline{font-size:11px;padding:9px 12px}.camp-unfinished details{margin-top:9px!important;padding:9px 0!important;border:0!important}.camp-unfinished details summary{color:#cbbb92;font-size:11px}.camp-unfinished details p{margin:12px 0!important;max-width:600px}.camp-unfinished .camp-launch{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.camp-unfinished label{display:block;font:11px/1.8 var(--sans);color:#d1c598;margin-top:6px}.camp-unfinished input{accent-color:#b2a477}.camp-unfinished .text-link{font-size:11px}#panel-body #camp-status{font:11px/1.6 var(--sans);color:#dfb698;margin:6px 0 0}#camp-status:empty{display:none}
.camp-tutorial-choice{display:block;margin:0 0 12px;font:11px/1.5 var(--sans);color:#c8c4ab}.camp-tutorial-choice input{accent-color:#c6b482;margin-right:6px}
@media(max-width:760px){#panel[data-page=camp]{width:100%;height:calc(100dvh - 24px)}.camp-desk{grid-template-columns:1fr;gap:28px}.camp-notebook{border-right:0;padding-right:0}.camp-scene{padding:22px;min-height:110px}.camp-scene #camp-continue{position:static;margin-top:14px;width:100%}.camp-launch{gap:12px}.camp-launch .primary{min-width:180px}.camp-launch small{display:none}.camp-chapters{gap:15px}}
@media(max-width:450px){.camp-launch{align-items:stretch;flex-direction:column;gap:10px}.camp-launch .primary{width:100%}.camp-scene h3{font-size:24px!important}.camp-crew{gap:16px}}
@media(max-height:540px){#panel[data-page=camp]{height:calc(100dvh - 20px)}.camp-scene{min-height:130px;padding:20px}.camp-scene h3{font-size:22px!important}.camp-footer{padding-top:10px}.camp-launch .primary{min-height:40px;padding:10px 16px}.camp-unfinished{margin-bottom:8px}}

@media(max-height:600px){#panel[data-page=camp] #panel-body{display:block;overflow:auto}.camp-scroll{overflow:visible;padding-right:0}.camp-footer{margin-top:12px}.camp-scene{min-height:90px;padding:15px 20px}}

.camp-crew meter::-webkit-meter-bar{background:#34453c;border:0;border-radius:0}.camp-crew meter::-webkit-meter-optimum-value{background:#a19369}.camp-crew meter::-moz-meter-bar{background:#a19369}
