.oltre-brand{width:104px;height:49px;object-fit:contain;background:#fff;padding:3px 6px;border-radius:7px;box-shadow:0 3px 16px #0002}
.oltre-intro{display:block;width:220px;height:100px;object-fit:contain;background:white;border-radius:10px;padding:9px;margin-bottom:23px}
.intro-copy h2{font-size:61px}.intro-dialog{max-height:calc(100dvh - 32px);overflow:auto}.intro-dialog[open]{padding-top:35px;padding-bottom:35px}
.mission-toggle{position:absolute;right:10px;top:6px;min-height:28px;background:transparent;color:#cee8d9;font-size:10px;padding:3px 5px}.mission-kicker{padding-right:85px}.mission-card{padding-top:27px}
body.mission-collapsed .mission-card{width:260px;padding:14px 16px 10px;max-height:none;overflow:visible}
body.mission-collapsed .mission-card>:not(h1):not(.mission-kicker):not(.mission-toggle){display:none!important}
body.mission-collapsed .mission-card h1{font-size:21px;line-height:1.15;margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.mission-collapsed .mission-kicker{font-size:8px;letter-spacing:.7px;padding-right:92px;white-space:nowrap}
.world-hub-button{right:28px;top:357px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:9px;padding:9px 17px;background:#345b42f2;border:1px solid #c0ed7e80;color:var(--lime);font-size:12px}
.npc-request{left:50%;transform:translateX(-50%);bottom:148px;display:flex;align-items:center;gap:12px;max-width:460px;width:max-content;padding:14px 17px;background:#143f45f5;border:1px solid #8ed8c4;border-radius:14px;box-shadow:0 8px 30px #0004;text-align:left;font-size:12px}
.npc-request strong{display:block;font-size:13px;color:#c0ed7e}.npc-request div>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:300px;line-height:1.5;margin-top:4px}.npc-request>span:last-child{white-space:nowrap;font-size:10px;color:#a4e5da}.npc-dot{height:9px;width:9px;border-radius:50%;background:#b9ef79;box-shadow:0 0 10px #b9ef7980;flex-shrink:0}
.campus-board{width:min(1060px,calc(100vw - 36px));}.campus-board .dialog-header h2{font-size:40px}.campus-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0 18px}.campus-path{display:flex;flex-direction:column;gap:9px;text-align:left;padding:23px;background:#193640;border:1px solid #779ca35c;border-radius:13px}.campus-path.featured{background:linear-gradient(135deg,#385639,#173f45);border-color:#b9de8170}.campus-path>span{color:#90d9cd;font-size:9px;letter-spacing:1.4px}.campus-path strong{font:600 28px 'Barlow Condensed',sans-serif}.campus-path small{font-size:12px;line-height:1.6;color:#c6dcda}.campus-path:hover{border-color:var(--lime);background:#305247}
.campus-program-note{padding:15px 18px;border-left:3px solid #cbbb7b;background:#65542328;font-size:12px;line-height:1.7;color:#d0d8d0;margin:16px 0}.campus-board-actions{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.campus-board-actions button,.campus-board-actions a{font-size:12px}.campus-board-actions .secondary:disabled{opacity:.45}.campus-filter{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:11px;margin:25px 0 12px}.campus-filter select{background:#1b353e;color:#dcefeb;border:1px solid #708b9655;padding:8px 12px;border-radius:8px}
.campus-module{border:1px solid #8aa2ad44;border-radius:13px;overflow:hidden;margin:17px 0 25px}.campus-module>header{padding:21px 23px;background:#1c3541}.campus-module header>span{font-size:9px;letter-spacing:1.2px;color:#99dacc}.campus-module h3{font:600 29px 'Barlow Condensed',sans-serif;margin:8px 0}.campus-module header p{font-size:12px;line-height:1.65;color:#bbd2d3}.campus-quest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px}.campus-quest{background:#142e38;text-align:left;padding:18px;border:1px solid #839eac48;border-radius:9px;display:flex;flex-direction:column;gap:10px}.campus-quest>span{font-size:9px;color:#b7df80}.campus-quest strong{font-size:15px;line-height:1.5}.campus-quest small{font-size:10px;line-height:1.5;color:#8fcabf}.campus-quest p{font-size:11px;color:#bbced0;line-height:1.7}.campus-quest:disabled{opacity:.53}.campus-quest:not(:disabled):hover{border-color:#bfe986;background:#28453e}.campus-quest.done{border-color:#b7df8070}
.campus-lesson{width:min(800px,calc(100vw - 32px));}.campus-lesson .dialog-header h2{font-size:36px;line-height:1.12}.campus-lesson .eyebrow{line-height:1.7}.campus-dialogue{display:flex;align-items:flex-start;gap:17px;background:#254c4770;border-radius:12px;border:1px solid #72a7a142;padding:19px;margin:15px 0}.campus-portrait{flex-shrink:0;display:grid;place-items:center;border-radius:16px 16px 40% 40%;background:linear-gradient(145deg,#b5e17e,#5faca5);color:#19352c;font:700 32px 'Barlow Condensed',sans-serif;width:58px;height:66px;box-shadow:inset 0 -7px #32554844}.campus-dialogue strong{display:block;font-size:16px;color:#d7f3b9}.campus-dialogue span{font-size:10px;color:#a5c9c4;display:block;margin:4px 0}.campus-dialogue blockquote{margin:12px 0 0;line-height:1.75;font-size:15px;color:#ebf6ef}.campus-context{font-size:12px;line-height:1.7;color:#b6cccf}.campus-context p+p{margin-top:5px;color:#d4dcae}.campus-stage-progress{display:flex;gap:8px;align-items:center;margin:20px 0}.campus-stage-progress>span{width:31px;height:31px;border:1px solid #8ca8aa55;border-radius:8px;display:grid;place-items:center;font-size:11px;color:#91abb2}.campus-stage-progress>span.current{border-color:#c0ed7e;color:#c0ed7e}.campus-stage-progress>span.done{background:#c0ed7e;color:#253e2c}.campus-stage-progress>i{font-style:normal;color:#8ba8ae;font-size:11px}
.campus-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}.campus-materials>div{background:#203945;border:1px solid #a0b6c12e;border-radius:8px;padding:13px 15px;font-size:12px;line-height:1.75;color:#d2e2e3;white-space:pre-line}.campus-materials span{display:block;font-size:10px;color:#90b9be;margin-bottom:5px}.campus-materials strong{font-size:13px;font-weight:600}.campus-lesson>h3{font-size:18px;line-height:1.5;margin:18px 0 8px}.campus-lesson .small-note{margin:9px 0 14px}.campus-lesson .choice{font-size:14px}.campus-order-row{display:flex;align-items:center;gap:8px;padding:12px;background:#1c3a44;border:1px solid #83a7b145;border-radius:9px;margin:9px 0}.campus-order-row>span{flex:1;font-size:14px;line-height:1.5}.campus-order-row button{width:44px;min-width:44px;padding:5px}.campus-order-row button:disabled{opacity:.25}.campus-number{display:block;font-size:13px;color:#b8dbd0}.campus-number input{display:block;font-size:20px;color:#e9f5ef;background:#25463e;border:1px solid #8ed3b0;border-radius:8px;padding:15px;margin:10px 0;width:100%;max-width:350px}.campus-select-row{display:flex;align-items:center;gap:15px;background:#1c3a44;border:1px solid #83a7b145;border-radius:9px;padding:15px;line-height:1.6;font-size:14px;margin:10px 0;cursor:pointer}.campus-select-row input{width:20px;height:20px;flex-shrink:0;accent-color:#c0ed7e}.campus-hint{padding:15px 18px;background:#6e642035;border-left:3px solid #e0cf72;border-radius:0 9px 9px 0;font-size:13px;line-height:1.7;margin:9px 0 16px}.campus-feedback{padding:18px;border:1px solid #cba86480;background:#6e462133;border-radius:10px;font-size:14px;line-height:1.75;margin:16px 0;color:#f0dfbc;outline-offset:4px}.campus-feedback.good{border-color:#a2d77d80;background:#355a3a44;color:#d9efc5}.campus-term-links{display:flex;flex-wrap:wrap;gap:13px;margin:8px 0 20px}.campus-lesson>.wide{margin-top:12px}.campus-term-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.campus-info{width:min(730px,calc(100vw - 28px))}.campus-info h3{font-size:19px;line-height:1.5;margin:25px 0 12px}.campus-info p{font-size:14px;line-height:1.8;margin:12px 0;color:#cfdddc}.campus-info a{text-decoration:underline;text-underline-offset:4px;color:#b9e3ac}.campus-info .primary{margin-top:20px}.campus-term-art{margin:16px 0 25px;overflow:hidden;background:#274752;border-radius:13px}.campus-term-art canvas{width:100%;height:auto;display:block;aspect-ratio:9/4}.campus-term-art figcaption{font-size:10px;color:#c5dadd;padding:12px;text-align:center;background:#102b38}.campus-info .campus-big-score{font:600 65px 'Barlow Condensed',sans-serif;color:#c0ed7e}
.mobile-guide,.mobile-map{display:none}.dialog-open .world-hub-button,.dialog-open .npc-request,.dialog-open .mobile-guide,.dialog-open .mobile-map{visibility:hidden}.dialog-open .learner-status{visibility:hidden}
@media(max-width:900px),(max-height:650px){
 .topbar{padding:9px 12px;gap:12px;height:62px}.oltre-brand{width:93px;height:42px}.brand{font-size:19px;letter-spacing:1px;gap:9px}.brand small{font-size:6px;letter-spacing:1px}.session-progress{position:static;width:120px}.session-progress>span{font-size:8px;letter-spacing:.3px}.hud-tools{gap:4px}.tool{min-width:38px;min-height:38px;padding:7px}.hud-tools .tool-label{display:none}
 .mission-card,body.course-active .mission-card,body.campus-active .mission-card{top:68px;left:12px;width:270px;max-height:calc(100dvh - 140px);overflow:auto;padding:29px 17px 12px;z-index:6;backdrop-filter:none}
 body.mission-collapsed .mission-card{width:238px;max-height:none;padding:15px 14px 10px;overflow:hidden}
 body.mission-collapsed .mission-card h1{font-size:20px;margin:6px 0 0}.mission-toggle{top:5px;right:8px;min-height:30px}
 .mission-card .route-actions,.mission-card .course-hud-extra,.mission-card .route-hint,.mission-card .guide-extras{position:static!important;top:auto!important;left:auto!important;width:auto!important}
 .mission-card .course-hud-extra>p{display:block;font-size:10px}.mission-card>p#missionGoal{max-height:none!important;font-size:12px!important;line-height:1.65!important}.mission-card .route-walk{min-height:42px}.mission-card .route-destinations{min-height:36px}.mission-card .mission-location{font-size:11px}.mission-card .course-hud-extra .text-button{font-size:11px;min-height:36px}
 .map-card{display:none;top:64px;right:12px;width:200px;z-index:7}.map-open .map-card{display:block}.xp-counter,.equipment-badge,.control-help,.touch-look{display:none!important}
 .learning-tools,body.course-active .learning-tools{left:auto!important;top:114px!important;right:12px!important;width:125px!important;gap:0;z-index:5}.learning-tools>:not(#vocabularyButton){display:none!important}#vocabularyButton{width:125px;min-height:38px;font-size:10px;padding:8px;gap:5px}#vocabularyButton kbd,#vocabBadge{display:none}
 .world-hub-button{top:68px;right:12px;width:125px;min-height:38px;padding:8px;font-size:11px;z-index:5}.world-hub-button svg{width:17px}.mobile-guide{display:block;left:12px;bottom:32px;min-height:39px;font-size:11px;border:1px solid #c0ed7e70;background:#294d3ae8;color:#dbefba;border-radius:9px;padding:8px 13px}.mobile-map{display:block;right:12px;top:160px;min-height:34px;border:1px solid #73aba664;background:#173640e8;border-radius:8px;padding:8px 13px;font-size:10px}
 .movement-pad{display:none!important}.compass{bottom:32px;left:50%;max-width:44vw;min-width:0;padding:8px 11px;gap:9px;border-radius:10px}.compass div small{display:none}.compass div>span{font-size:10px}.compass strong{font-size:11px}.compass #directionArrow{font-size:24px}.interact-button{bottom:32px;max-width:56vw;min-height:43px;padding:9px 14px;font-size:12px}.interact-button kbd{display:none}
 .mouse-travel{top:auto;bottom:82px;max-width:300px;padding:6px 9px}.mouse-travel strong{font-size:10px}.mouse-travel small{display:none}.mouse-travel button{min-height:30px;min-width:30px;padding:6px}
 .npc-request{bottom:84px;max-width:calc(100% - 40px);padding:10px 13px;gap:8px;z-index:5}.npc-request strong{font-size:11px}.npc-request div>span{font-size:10px;max-width:330px;-webkit-line-clamp:1}.npc-request>span:last-child{font-size:10px}
 .near-term-button,.dock-nearby-button{bottom:31px;right:12px;left:auto;transform:none;max-width:160px;padding:8px;font-size:10px;min-height:38px}.near-term-button kbd{display:none}.dock-nearby-button{bottom:77px}.toast{top:64px;bottom:auto;max-width:calc(100% - 28px);font-size:11px;z-index:9}.learner-status{bottom:3px;right:12px;min-height:24px;padding:4px 9px;max-width:220px;font-size:9px}
 .campus-quest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-board,.campus-info,.campus-lesson{max-height:calc(100dvh - 20px);overflow:auto;padding:23px}.campus-board .dialog-header h2,.campus-lesson .dialog-header h2{font-size:30px}.campus-board .eyebrow{font-size:8px;line-height:1.6}.campus-path{padding:17px}.campus-path strong{font-size:25px}.campus-dialogue{padding:14px;gap:12px}.campus-dialogue blockquote{font-size:14px}.campus-portrait{width:44px;height:53px;font-size:27px}.campus-materials{margin:14px 0}.campus-materials>div{font-size:12px}.campus-lesson .choice{font-size:13px}.campus-order-row>span{font-size:13px}
 .intro-dialog[open]{padding:24px;gap:24px}.oltre-intro{width:180px;height:82px;margin-bottom:16px}.intro-copy h2{font-size:43px;margin:13px 0}.intro-lead{font-size:13px!important}.intro-facts{flex-wrap:wrap;gap:8px;margin:16px 0}.intro-facts span:before{display:none}.intro-note{font-size:11px;line-height:1.7}.intro-controls{padding-left:23px}.intro-controls .command-row{margin-top:17px}.intro-controls .command-row strong{font-size:12px}.intro-controls .command-row p>span{font-size:11px}
}
@media(max-width:560px){
 .brand>span{display:none}.session-progress{width:105px}.hud-tools{gap:3px}.hud-tools .tool{min-width:35px;min-height:35px;padding:6px}.topbar{gap:8px;padding:8px 10px}.oltre-brand{width:90px;height:41px}.desktop-only{display:none!important}
 body.mission-collapsed .mission-card{width:calc(100vw - 156px);min-width:170px;top:67px;left:10px}.mission-card .mission-kicker{font-size:7px!important;letter-spacing:0!important;padding-right:78px!important}.mission-toggle{font-size:9px;padding:3px}.mission-kicker .live-dot{display:none}body.mission-collapsed .mission-card h1{font-size:19px}
 .world-hub-button{right:10px;width:123px}.learning-tools{right:10px!important}.mobile-map{right:10px}.compass{left:50%;bottom:83px;max-width:65vw}.interact-button{bottom:83px;max-width:85vw;font-size:12px}.mobile-guide{bottom:35px;left:10px}.near-term-button{bottom:35px;right:10px;max-width:180px}.dock-nearby-button{bottom:134px}.npc-request{bottom:136px}.mouse-travel{bottom:135px}.campus-active .near-term-button,.campus-active .dock-nearby-button{display:none!important}
 .campus-paths,.campus-quest-grid{grid-template-columns:1fr}.campus-quest-grid{padding:11px}.campus-board,.campus-info,.campus-lesson{width:calc(100vw - 20px);padding:20px 16px;border-radius:15px}.campus-board .dialog-header h2{font-size:30px}.campus-board-actions{gap:8px}.campus-board-actions .secondary{flex:1 1 140px;font-size:11px;padding:11px}.campus-materials{grid-template-columns:1fr}.campus-module>header{padding:17px}.campus-module h3{font-size:26px}.campus-term-grid{grid-template-columns:1fr}.campus-program-note{font-size:11px;padding:13px}.campus-dialogue blockquote{font-size:14px}.campus-context{font-size:11px}.campus-order-row{padding:10px;gap:5px}.campus-order-row button{min-width:36px;width:36px}.campus-info .campus-big-score{font-size:53px}.intro-dialog[open]{display:block}.intro-controls{border-left:0;border-top:1px solid var(--line);padding:23px 0 0;margin-top:25px}
}
@media(orientation:landscape) and (max-height:500px){
 .intro-dialog[open]{display:grid;grid-template-columns:1.2fr 1fr}.intro-dialog .intro-controls{margin:0;border-left:1px solid var(--line);border-top:0;padding:0 0 0 23px}.intro-copy h2{font-size:38px}.oltre-intro{width:145px;height:66px;margin-bottom:12px}.campus-lesson,.conversation-dialog,.menu-dialog{max-height:calc(100dvh - 16px)}
 body.mission-collapsed .mission-card{width:225px}.world-marker>span:last-child{font-size:10px;max-width:160px}.world-marker>span:first-child{padding:5px}.world-marker svg{height:16px;width:16px}.term-label-layer{max-height:100%}.world-term-label{font-size:9px;min-height:26px;padding:5px 7px}.world-term-label small{display:none}.compass{max-width:36vw}.npc-request{bottom:80px}.npc-request div>span{max-width:350px}.campus-active .near-term-button,.campus-active .dock-nearby-button{display:none!important}
}

/* One guided world: compact requests, with optional explanation and visible case data. */
#campusButton{display:none!important}
.world-hub-button[hidden]{display:none!important}
.campus-lesson [hidden],.campus-board [hidden]{display:none!important}
.campus-lesson{width:min(680px,calc(100vw - 28px));padding:25px;max-height:calc(100dvh - 24px);overflow:auto}
.campus-lesson .dialog-header{align-items:flex-start;gap:14px}
.campus-lesson .dialog-header h2{font-size:29px;line-height:1.12}
.campus-lesson .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:5px}
.campus-dialogue{gap:10px;padding:11px 13px;margin:12px 0;background:#24483d55;border-radius:9px}
.campus-portrait{width:33px;height:40px;font-size:24px;border-radius:9px 9px 40% 40%}
.campus-dialogue strong{font-size:13px;display:inline;margin-right:8px}
.campus-dialogue span{display:inline;font-size:9px;margin:0}
.campus-dialogue blockquote{margin:6px 0 0;font-size:14px;line-height:1.5}
.campus-case{margin:12px 0;padding:11px 13px;background:#203944;border-left:2px solid #89b5bd;border-radius:0 8px 8px 0;font-size:12px;line-height:1.6;color:#dce7e5;white-space:pre-line}
.campus-lesson .narration-row{margin:8px 0;gap:9px}
.campus-lesson .audio-button{font-size:11px;padding:6px 9px;min-height:34px}
.campus-lesson .learning-audio-status{font-size:9px}
.campus-materials{margin:10px 0;gap:7px}
.campus-materials>div{padding:9px 11px;font-size:12px;line-height:1.5}
.campus-lesson>h3{font-size:16px;line-height:1.45;margin:12px 0 9px}
.campus-lesson .choice{font-size:13px;line-height:1.45;padding:12px;margin:7px 0;min-height:44px}
.campus-lesson .small-note{margin:5px 0 10px;font-size:11px}
.campus-select-row{gap:10px;padding:11px 12px;line-height:1.5;font-size:13px;margin:7px 0;min-height:44px}
.campus-order-row{padding:9px 10px;margin:7px 0}
.campus-order-row>span{font-size:13px;line-height:1.45}
.campus-order-row button{min-height:40px}
.campus-number input{font-size:19px;padding:11px;margin:7px 0;min-height:44px}
.campus-feedback{padding:12px 14px;font-size:13px;line-height:1.55;margin:12px 0}
.campus-hint{padding:11px 13px;font-size:12px;line-height:1.6}
.campus-details{border-top:1px solid #85a6a735;margin-top:17px;padding-top:11px;color:#b4cbca}
.campus-details summary{cursor:pointer;font-size:11px;padding:6px 0;min-height:32px;line-height:1.6}
.campus-details .campus-context{margin:9px 0;font-size:12px}
.campus-details .campus-term-links{gap:8px;margin:5px 0 0}
.campus-details .text-button{font-size:11px;min-height:32px}
.npc-request{max-width:360px;padding:10px 13px;gap:9px}
.npc-request div>span{-webkit-line-clamp:1;margin-top:2px;max-width:260px;font-size:11px}
@media(max-width:560px){
 .campus-lesson{padding:18px 14px;width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}
 .campus-lesson .dialog-header h2{font-size:26px}
 .campus-dialogue{padding:10px;margin:10px 0}
 .campus-dialogue blockquote{font-size:13px}
 .campus-portrait{width:29px;height:36px;font-size:22px}
 .campus-case{font-size:12px;padding:10px;line-height:1.55}
 .campus-lesson .choice{font-size:12px;padding:11px}
 .campus-lesson .learning-audio-status{display:none}
 .campus-lesson .choice-letter{min-width:25px;min-height:25px}
}
@media(orientation:landscape) and (max-height:500px){
 .campus-lesson{width:min(720px,calc(100vw - 24px));padding:17px 20px;max-height:calc(100dvh - 16px)}
 .campus-lesson .dialog-header h2{font-size:25px}
 .campus-dialogue{padding:9px 11px;margin:10px 0}
 .campus-case{margin:9px 0;padding:9px 11px}
 .campus-lesson .choice{padding:10px 12px;margin:6px 0}
}
