/* Work is performed beside the warehouse, never behind a classroom overlay. */
dialog.work-panel{position:fixed;inset:82px 16px auto auto;transform:none;margin:0;width:min(440px,calc(100vw - 32px));max-width:none;min-width:0;max-height:calc(100dvh - 100px);height:auto;padding:18px;background:#102d36f7;border:1px solid #7caca180;border-radius:16px;color:#e4f1ef;box-shadow:0 14px 40px #031b2850;overflow:auto;overscroll-behavior:contain;z-index:22}
dialog.work-panel::backdrop{background:transparent;backdrop-filter:none}
.work-panel .dialog-header{align-items:start;margin-bottom:12px;gap:12px}.work-panel .dialog-header h2{font-size:27px;line-height:1.1;margin:6px 0}.work-panel .dialog-header .tool{width:36px;height:36px;min-width:36px;min-height:36px;padding:8px}.work-panel .eyebrow{font-size:9px;letter-spacing:1px}
.work-panel .campus-dialogue{padding:11px;gap:9px;margin:0 0 12px;background:#23463f66;border-radius:10px}.work-panel .campus-portrait{width:34px;height:39px;flex:0 0 34px;font-size:24px}.work-panel #campusNpcName{font-size:12px}.work-panel #campusNpcRole{font-size:9px}.work-panel .campus-dialogue blockquote{font-size:13px;line-height:1.45;margin-top:6px}
.work-panel .narration-row{margin:8px 0 12px;gap:8px}.work-panel .learning-audio-status{font-size:8px}.work-panel .audio-button{font-size:10px;min-height:30px}.work-panel h3{font-size:15px;line-height:1.45;margin:12px 0 8px}.work-panel .small-note{font-size:10px;line-height:1.5;margin:6px 0 10px}.work-panel #campusInstructions{color:#b7d4cf}
.workpiece,.course-workpiece{background:#f2f0df;color:#233c38;border:1px solid #d4d2bd;border-left:5px solid #cfaa61;border-radius:5px;padding:13px;margin:10px 0 15px;box-shadow:2px 3px 0 #0002;position:relative}
.workpiece-title,.course-workpiece>strong{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:800;padding-bottom:8px;border-bottom:1px solid #233c3830}.workpiece dl{margin:0}.workpiece dl>div{display:grid;grid-template-columns:minmax(70px,.75fr) minmax(0,1.6fr);gap:9px;padding:8px 0;border-bottom:1px dashed #233c3820}.workpiece dl>div:last-child{border:0}.workpiece dt{font-size:10px;color:#617068}.workpiece dd{font-size:12px;font-weight:650;margin:0;overflow-wrap:anywhere}.workpiece-terminal{background:#102b28;border:4px solid #687c78;border-radius:11px;color:#d6f8bc;box-shadow:0 4px 0 #03100e}.workpiece-terminal .workpiece-title{border-color:#cbeab855}.workpiece-terminal dt{color:#a2c0ad}.workpiece-radio{background:#263d42;border-color:#8ba4a4;color:#d0e4d7}
.work-panel .choice,.work-operation{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:11px 12px;border:1px solid #6b9b9666;background:#23454a;color:#e5f2ee;font-family:inherit;font-size:12px;font-weight:500;line-height:1.45;border-radius:9px;min-height:43px;cursor:pointer;margin:6px 0}.work-panel .choice:hover,.work-operation:hover{background:#30615e;border-color:#c0ed7e}.work-operation:disabled{opacity:.5;cursor:default}.work-panel .choice-letter{display:none}.work-panel .choice>span{font-size:12px;line-height:1.45}
.work-panel .campus-select-row{padding:10px;border-radius:8px;background:#23454a;font-size:12px;margin:6px 0;gap:9px;align-items:start}.work-panel .campus-select-row input{flex:0 0 18px;width:18px;height:18px;margin:1px 0}.work-panel .campus-select-row:has(input:checked){border-color:#bce878;background:#395d43}.work-panel .campus-number{padding:12px;background:#102b28;border:3px solid #687c78;border-radius:10px;font-size:11px;color:#cae8c7}.work-panel .campus-number input{font-family:ui-monospace,monospace;font-size:23px;color:#d6f8bc;background:#091d19;border-color:#638775;margin-top:8px}
.work-panel .primary{min-height:39px;font-size:12px;padding:10px 14px;margin-top:8px}.work-panel .text-button{font-size:10px;min-height:30px}.work-panel .campus-feedback,.work-panel .course-feedback{font-size:12px;line-height:1.5;padding:12px;margin:10px 0}.work-panel .campus-details,.work-panel .lesson-details{margin-top:12px;font-size:11px}.work-panel details summary{font-size:11px}.work-panel details p,.work-panel .dialog-lead{font-size:12px;line-height:1.5}.work-panel #courseTermLinks{gap:5px;margin-top:10px}.work-executed{padding:9px 12px 9px 32px;background:#a4c88618;border-radius:9px;font-size:11px;line-height:1.5;color:#d4e8bd}.work-executed li{padding:3px}
.work-request{position:absolute;inset:auto auto 85px 50%;transform:translateX(-50%);width:min(410px,calc(100vw - 32px));height:auto;background:#103139f5;border:1px solid #8bb69c88;border-radius:12px;padding:15px;z-index:16;box-shadow:0 8px 25px #071c2966}.work-request>strong{font-size:11px;color:#c0ed7e}.work-request p{font-size:13px;line-height:1.45;margin:9px 0}.work-request .primary{font-size:12px;min-height:38px;padding:9px 15px}.work-request-close{position:absolute;right:6px;top:4px;border:0;background:transparent;color:#c7dad9;cursor:pointer;font-size:24px;width:30px;height:30px}.dialog-open .work-request{visibility:hidden}
.course-workpiece ul{list-style:none;padding:0;margin:8px 0 0}.course-workpiece li{font-size:12px;line-height:1.55;padding:5px 0;border-bottom:1px dashed #233c3820}.course-count-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0}.count-case{aspect-ratio:1;background:#bd8e57;border:2px solid #e5c78c;border-radius:4px;color:#261d11;font-size:13px;cursor:pointer}.count-case.is-counted{background:#447859;border-color:#d5edab;color:white}.work-panel .count-progress{font-size:12px;color:#c0ed7e}
body.working-at-bench #game .learning-tools,body.working-at-bench .map-card,body.working-at-bench #mouseTravel,body.working-at-bench #interactButton{visibility:hidden}body.working-at-bench .mission-card{max-width:220px;padding:12px}body.working-at-bench .mission-card h1{font-size:21px}body.working-at-bench .mission-card #missionGoal,body.working-at-bench .mission-location,body.working-at-bench .route-actions{display:none!important}body.working-at-bench #mobileGuide{visibility:hidden}
@media(max-height:650px),(max-width:900px){dialog.work-panel{inset:52px 8px auto auto;width:min(390px,48vw);max-height:calc(100dvh - 64px);padding:12px;border-radius:11px}.work-panel .dialog-header h2{font-size:23px}.work-panel .campus-dialogue{padding:9px}.work-panel #campusNpcRole{display:block;margin-left:0}.work-panel .learning-audio-status{display:none}.work-request{bottom:65px;width:min(350px,calc(100vw - 28px));padding:12px}.work-panel .campus-dialogue blockquote{font-size:12px}.workpiece,.course-workpiece{padding:10px;margin:8px 0}.work-panel .choice,.work-operation{padding:9px 10px}.work-panel .dialog-header .tool{position:sticky;top:0}.work-panel #courseNarrative{margin-top:4px}}
@media(max-width:520px) and (orientation:portrait){dialog.work-panel{inset:40dvh 8px auto 8px;width:auto;max-height:calc(60dvh - 10px)}body.working-at-bench .mission-card{max-width:190px}.work-request{bottom:70px}body.working-at-bench .work-panel .dialog-header h2{font-size:24px}}
body.working-at-bench .mission-card #journeyContinue:not([hidden]){display:none!important}
body.working-at-bench #learnerProfileButton{visibility:hidden}
.workpiece-radio dt{color:#bad2cc}
.work-panel .dialog-header{position:sticky;top:-18px;z-index:3;background:#102d36;padding:8px 0}
@media(max-height:650px),(max-width:900px){.work-panel .dialog-header{top:-12px}}
.work-connection{padding:9px 11px;margin:0 0 12px;border-left:3px solid #c0ed7e;background:#c0ed7e0e;border-radius:0 6px 6px 0}.work-connection strong{font-size:10px;color:#c0ed7e}.work-connection p{font-size:12px;line-height:1.45;margin:4px 0 0;color:#d3e8de}
.journey-connection{margin-top:10px;font-size:11px;line-height:1.45}.journey-connection summary{cursor:pointer;color:#c0ed7e}.journey-connection p{margin:6px 0 0;color:#d3e8de}
.mission-card #journeyConnection:not([hidden]){display:block!important}
body.working-at-bench .mission-card #journeyConnection:not([hidden]){display:none!important}

/* Orientation stays in the existing objective card, leaving the world playable. */
.journey-orientation{margin:10px 0 4px;padding-top:8px;border-top:1px solid #9abbad40}
.journey-orientation p{font-size:11px;line-height:1.4;margin:4px 0;color:#c4dcd5}
.journey-orientation #journeyEquipment{color:#ffde9c;font-weight:650}
.journey-orientation #journeyEquipment[data-ready="true"]{color:#c0ed7e}
.journey-orientation button{font-family:inherit;font-size:11px;font-weight:600;line-height:1.3;border:1px solid #a4c29c66;border-radius:7px;padding:8px 10px;min-height:36px;cursor:pointer;background:#173d43;color:#e4f1ef;text-align:left}
#journeyLocate{margin-top:5px}
#journeyHelp{border-left:3px solid #f2c777;padding-left:9px;margin-top:8px}
#journeyHelpText{color:#fff0ce}
#journeyGuideBack{width:100%;background:#c0ed7e;color:#102d36;margin-top:4px}
.journey-needs-help #journeyLocate,.journey-needs-help .route-actions,.journey-needs-help #mobileGuide{display:none!important}
.mission-card #journeyOrientation{display:block!important}
body.journey-needs-help .mission-card #missionGoal,body.journey-needs-help .mission-card #journeyConnection{display:none!important}
body.working-at-bench .mission-card #journeyOrientation{display:none!important}
@media(max-height:650px),(max-width:900px){.journey-orientation{margin-top:6px;padding-top:5px}.journey-orientation p{font-size:10px;margin:3px 0}.journey-orientation button{font-size:10px;min-height:32px;padding:7px 9px}#journeyHelp{margin-top:5px;padding-left:7px}}

/* Marta welcomes the learner with gestures and one next action, without a quiz. */
#campusLesson[data-onboarding="true"]{width:min(410px,calc(100vw - 32px))}
#campusLesson[data-onboarding="true"] :is(.work-connection,#campusBrief,#campusStageProgress,#campusWorkpiece,#campusMaterials,#campusPrompt,#campusInstructions,#campusControls,#campusSubmit,#campusHintButton,#campusHint,#campusFeedback,#campusNext,#campusDetails){display:none!important}
.campus-welcome .welcome-gesture{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #b8d6ca26}
.welcome-gesture>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 30px;background:#badb8525;color:#c0ed7e;font-weight:750;font-size:15px}
.welcome-gesture p{font-size:13px;line-height:1.45;color:#cfe0db;margin:0}
.welcome-gesture strong{display:block;color:#fff;font-size:14px;margin-bottom:3px}
.campus-welcome .welcome-next{font-size:12px;line-height:1.5;color:#c0ed7e;margin:13px 0 6px}
#campusWelcomeGo{min-height:44px;font-size:13px}
#campusLesson[data-onboarding="true"] .narration-row{margin:12px 0 0}
@media(max-height:650px),(max-width:900px){#campusLesson[data-onboarding="true"]{width:min(380px,48vw)}.campus-welcome .welcome-gesture{padding:8px 0;gap:9px}.welcome-gesture p{font-size:12px}.welcome-gesture strong{font-size:13px}.campus-welcome .welcome-next{margin-top:10px}}
@media(max-width:520px) and (orientation:portrait){#campusLesson[data-onboarding="true"]{width:auto;inset:auto 8px 10px;max-height:65dvh}}
@media(max-height:500px) and (orientation:landscape){
 #campusLesson[data-onboarding="true"] .dialog-header{padding:0;margin-bottom:6px;align-items:center}
 #campusLesson[data-onboarding="true"] .dialog-header .eyebrow{display:none}
 #campusLesson[data-onboarding="true"] .dialog-header h2{font-size:20px;line-height:1.15;margin:0}
 #campusLesson[data-onboarding="true"] .campus-dialogue{padding:7px 9px;margin:0 0 4px}
 #campusLesson[data-onboarding="true"] .campus-portrait{display:none}
 #campusLesson[data-onboarding="true"] #campusNpcRole{display:inline;margin-left:7px}
 #campusLesson[data-onboarding="true"] .campus-dialogue blockquote{font-size:11px;line-height:1.35;margin-top:3px}
 #campusLesson[data-onboarding="true"] .welcome-gesture{padding:6px 0}
 #campusLesson[data-onboarding="true"] .welcome-gesture p{font-size:11px;line-height:1.3}
 #campusLesson[data-onboarding="true"] .welcome-gesture strong{font-size:12px;margin-bottom:2px}
 #campusLesson[data-onboarding="true"] .welcome-next{font-size:10px;margin:7px 0 3px}
 #campusLesson[data-onboarding="true"] #campusWelcomeGo{min-height:36px;margin-top:5px;padding:8px 10px;font-size:12px}
 #campusLesson[data-onboarding="true"] .narration-row{margin-top:4px}
}

/* The objective can be tucked away without hiding the next required action. */
#game .mission-card{max-height:calc(100dvh - 160px);overflow:auto;scrollbar-width:thin;padding-top:12px}
#game .mission-card #missionToggle{display:flex;position:sticky;top:0;z-index:2;align-items:center;justify-content:flex-end;width:100%;min-height:44px;margin:0 0 6px;padding:8px 10px;border:1px solid #8cb7ac66;border-radius:8px;background:#16383f;color:#e5f3df;font-size:12px;line-height:1.2;cursor:pointer;touch-action:manipulation}
#game .mission-card #missionToggle:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
#game .mission-card .mission-kicker{padding-right:0!important}
#missionToggle .mission-toggle-help{display:none}
body.mission-collapsed #game .mission-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;width:min(340px,calc(100vw - 24px));min-width:0;max-width:none;padding:6px 8px 6px 12px;max-height:none;overflow:visible;border-radius:12px}
body.mission-collapsed #game .mission-card>:not(#missionToggle):not(#missionTitle):not(#journeyContinue){display:none!important}
body.mission-collapsed #game .mission-card #missionTitle{grid-column:1;grid-row:1;display:block;min-width:0;font:600 13px/1.25 'DM Sans',sans-serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0}
body.mission-collapsed #game .mission-card #missionToggle{grid-column:2;grid-row:1;position:static;width:auto;min-width:62px;margin:0;padding:8px;font-size:11px}
body.mission-collapsed #game .mission-card #journeyContinue:not([hidden]){grid-column:1/-1;display:block!important;min-height:44px;margin:4px 0 0}
body.mission-collapsed.journey-needs-help #game .mission-card{border-color:#ffcf77}
body.mission-collapsed.journey-needs-help #missionToggle .mission-toggle-normal{display:none}
body.mission-collapsed.journey-needs-help #missionToggle .mission-toggle-help{display:inline;color:#ffde9c}
body.working-at-bench.mission-collapsed #game .mission-card #journeyContinue:not([hidden]){display:none!important}
@media(max-width:900px),(max-height:650px){
 #game .mission-card{top:68px;left:12px;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 150px);padding:12px;background:#102b34f5}
 #game .mission-card #missionGoal{font-size:12px!important;line-height:1.5!important}
 body:not(.mission-collapsed) #game .mission-card #journeyOrientation{display:block!important}
 body.working-at-bench:not(.mission-collapsed) #game .mission-card #journeyOrientation{display:none!important}
 body:not(.mission-collapsed) #game .mission-card .mission-location{display:flex!important}
 body:not(.mission-collapsed) #game .mission-card #journalButton{display:block!important}
}
