/* A deliberately compact game viewport. Long learning material remains in the existing accessible pages. */
html[data-screen=sections] .campus-main{max-width:none;padding:0!important;margin:0;height:calc(100dvh - 62px);min-height:480px;overflow:hidden}
html[data-screen=sections] .campus-main>.campus-location{display:none}
.world-stage{position:relative;isolation:isolate;width:100%;height:100%;min-height:480px;overflow:hidden;background:linear-gradient(#aa7078 0%,#de9a82 43%,#9a6672 44%,#3a273a 100%);color:#fff6e9;font-family:Inter,Manrope,system-ui,sans-serif}
.world-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}
.world-canvas:focus-visible{outline:3px solid #ffd595;outline-offset:-5px}
.world-sky{position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 14%,#ffd3a086,transparent 35%),linear-gradient(#8f6880,#db9b83 55%,#3b253d)}
.world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.world-entrance-label{position:absolute;z-index:2;display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%);min-width:110px;min-height:39px;padding:5px 9px!important;border:1px solid #ffc584!important;border-radius:12px!important;background:#321b31ed!important;color:#fff2df!important;box-shadow:0 3px 0 #a7594e,0 8px 23px #170d1bac!important;white-space:nowrap;pointer-events:auto;cursor:pointer;font-size:11px;text-align:left}
.world-entrance-label span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f4b66f;color:#3c2335;font:800 15px Georgia}
.world-entrance-label b{font-size:11px}.world-entrance-label small{font-size:8px;color:#ffd197}.world-entrance-label.target{border-color:#fff3c6!important;box-shadow:0 0 0 3px #faba76a0,0 7px 25px #170d1b!important}
.world-hud-top{position:absolute;top:16px;left:18px;right:18px;display:flex;align-items:center;gap:14px;pointer-events:none}.world-hud-top>*{pointer-events:auto}
.world-brand,.world-location,.world-hud-side,.world-minimap,.world-hud-bottom,.world-door-prompt{border:1px solid #dba28f75;background:#2c172edb;box-shadow:0 12px 40px #22112665;backdrop-filter:blur(14px)}
.world-brand{display:grid;gap:2px;min-width:145px;padding:10px 14px;border-radius:15px}.world-brand span{font-size:21px;font-weight:900;letter-spacing:-.065em;line-height:1}.world-brand i{font-style:normal;color:#ffc27b}.world-brand small{font-size:7px;letter-spacing:.15em;color:#e7b9aa;font-weight:750}
.world-location{display:grid;gap:2px;padding:10px 15px;border-radius:15px}.world-location span{font-size:8px;letter-spacing:.16em;color:#ffc27b;font-weight:850}.world-location strong{font-size:12px;font-weight:750}
.world-map-toggle{margin-left:auto;min-height:40px;padding:7px 13px!important;border-radius:11px!important;border:1px solid #e3ae9f!important;background:#382239e8!important;color:#fff1e6!important;font-weight:800;font-size:11px}
.world-hud-side{position:absolute;right:18px;top:80px;z-index:5;width:205px;padding:14px;border-radius:18px}.world-hud-side label{display:block;margin-bottom:7px;font-size:9px;font-weight:850;letter-spacing:.13em;color:#ffd7a6}.world-destination{display:block;width:100%;min-height:42px;padding:8px 11px;border:1px solid #e1aa8b!important;border-radius:9px;background:#644054!important;color:#fff8ee!important;font-size:13px;font-weight:800}.world-destination option{background:#44283e}
.world-direction{display:flex;align-items:center;gap:12px;margin:11px 0;padding:11px 0;border-top:1px solid #c28b8b55;border-bottom:1px solid #c28b8b55}.world-arrow{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffc078;color:#3b2030;font-size:24px;font-weight:900;transition:transform .18s}.world-direction strong{display:block;font-size:13px;line-height:1.2}.world-direction small{display:block;margin-top:3px;font-size:10px;color:#e8c8c4}
.world-hud-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.world-hud-actions button{min-height:39px;padding:7px!important;border:1px solid #b48687!important;border-radius:9px!important;background:#634153!important;color:#fff4e8!important;font-size:10px;font-weight:750}.world-hud-actions button:last-child{background:#ffc27f!important;color:#3b2131!important;border-color:#ffe1a7!important}
.world-minimap{position:absolute;left:18px;bottom:68px;z-index:3;width:158px;padding:8px;border-radius:17px}.world-minimap small{display:block;text-align:center;font-size:8px;color:#f7d8bc;margin-top:5px}.world-minimap small span{color:#ffbe72}
.world-map{position:relative;width:100%;aspect-ratio:1;border-radius:12px;border:1px solid #d093917d;overflow:hidden;background:radial-gradient(circle at center,#a15f6499 0 17%,transparent 18%),linear-gradient(90deg,transparent 43%,#d797756e 44% 56%,transparent 57%),linear-gradient(0deg,transparent 43%,#d797756e 44% 56%,transparent 57%),#4b3045}.world-map-path{position:absolute;inset:21%;border:1px solid #ebad7d8a;border-radius:50%}.world-map-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffcc79;font-size:14px}.world-map-room{position:absolute;display:grid;place-items:center;width:20px;height:20px;min-height:20px;padding:0!important;transform:translate(-50%,-50%);border:1px solid #d3a4a4!important;border-radius:6px!important;background:#382136!important;color:#ffe0ac!important;font:800 10px Georgia!important;box-shadow:none!important}.world-map-room.selected{background:#ffc47e!important;color:#371e2f!important;border-color:#fff0c3!important;outline:2px solid #ffcf8f}.world-map-player{position:absolute;z-index:2;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);background:#fff8e8;border:2px solid #f7914f;box-shadow:0 0 0 3px #281423}
.world-door-prompt{position:absolute;left:50%;bottom:66px;z-index:6;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:7px 8px 7px 13px;border-radius:13px;white-space:nowrap}.world-door-prompt[hidden]{display:none}.world-door-prompt span{font-size:12px;font-weight:750}.world-door-prompt button{min-height:38px;border-radius:8px!important;background:#ffc078!important;color:#352036!important;font-weight:850}.world-door-prompt kbd{font-size:9px;opacity:.7}
.world-hud-bottom{position:absolute;bottom:12px;left:194px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:13px}.world-hud-bottom>span{font-size:10px;color:#f2d2c2;text-align:center}.world-hud-bottom button{min-height:34px;padding:4px 11px!important;border-radius:8px!important;background:#684154!important;color:#fff5e9!important;border:1px solid #a67484!important;font-size:11px}
.world-touch{display:none}.world-guide{position:absolute;z-index:22;inset:0;display:grid;place-items:center;padding:20px;background:#211422b0;backdrop-filter:blur(5px)}.world-guide[hidden]{display:none}.world-guide>div{max-width:470px;padding:27px;border:1px solid #ffcc94;border-radius:24px;background:linear-gradient(140deg,#553148,#2c1b31);box-shadow:0 25px 80px #140b18;line-height:1.45}.world-guide span{font-size:10px;color:#ffc37d;letter-spacing:.16em;font-weight:850}.world-guide h2{margin:9px 0 16px;font-size:27px;line-height:1.08;color:#fff7e8}.world-guide ol{padding-left:20px;margin:0 0 20px}.world-guide li{margin:8px 0;font-size:13px;color:#f4d9ce}.world-guide b{color:#ffcd91}.world-guide button{width:100%;min-height:45px;border-radius:10px!important;background:#ffc47e!important;color:#382337!important;font-weight:850}
.world-fallback{display:none;position:absolute;z-index:10;inset:0;overflow:auto;padding:25px;background:#2c1c31}.world-fallback>div{max-width:720px;margin:auto}.world-fallback h1{font-size:clamp(24px,5vw,38px);margin:5px 0}.world-fallback p{color:#ebcbbb;font-size:13px}.world-fallback .world-map{width:min(45vw,230px);margin:18px auto}.world-fallback-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.world-fallback-list button{display:flex;align-items:center;gap:9px;min-height:47px;padding:8px 12px!important;border-radius:11px!important;border:1px solid #ad7e87!important;background:#533348!important;color:#fff1e5!important;text-align:left;font-size:12px}.world-fallback-list button span{color:#ffce92;font:18px Georgia}.world-fallback-list button b{margin-left:auto}.world-try-3d{margin-top:15px;color:#ffd099;background:transparent;border:0}
.world-stage.map-mode .world-fallback{display:block}.world-stage.map-mode .world-entrance-label,.world-stage.map-mode .world-hud-side,.world-stage.map-mode .world-minimap,.world-stage.map-mode .world-hud-bottom,.world-stage.map-mode .world-touch,.world-stage.map-mode .world-door-prompt,.world-stage.map-mode .world-canvas{display:none}.world-stage.graphics-failed .world-try-3d{display:none}
.world-notes{max-width:1040px;margin:auto}.world-notes-head{padding:22px;background:#56374b;border:1px solid #b2848b;border-radius:16px}.world-notes-head span{font-size:10px;color:#ffc78a;letter-spacing:.15em;font-weight:850}.world-notes-head h1{margin:6px 0}.world-notes-head p{margin:0;color:#efd6cf}.world-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.world-notes-grid button{display:grid;gap:5px;min-height:110px;text-align:left;padding:14px!important;border-radius:13px!important;border:1px solid #b48690!important;background:#56384d!important;color:#fff6e9!important}.world-notes-grid span{color:#e9cfd0}.world-notes-grid small{color:#ffcb8e}
@media(max-width:800px){html[data-screen=sections] .campus-main{height:calc(100dvh - 58px - 62px);min-height:430px}.world-hud-top{top:8px;left:8px;right:8px;gap:6px}.world-brand{min-width:0;padding:8px 10px}.world-brand span{font-size:17px}.world-brand small{font-size:5px}.world-location{display:none}.world-map-toggle{min-height:37px;font-size:10px;padding:5px 8px!important}.world-hud-side{top:58px;right:8px;width:min(180px,44vw);padding:9px;border-radius:12px}.world-hud-side label{font-size:8px}.world-destination{min-height:36px;font-size:11px}.world-direction{gap:7px;margin:6px 0;padding:7px 0}.world-arrow{width:27px;height:27px;flex-basis:27px;font-size:18px}.world-direction strong{font-size:11px}.world-direction small{font-size:9px}.world-hud-actions{gap:4px}.world-hud-actions button{font-size:9px;min-height:34px;padding:4px!important}.world-minimap{left:8px;bottom:83px;width:100px;padding:5px;border-radius:12px}.world-minimap small{display:none}.world-map-room{width:15px;height:15px;min-height:15px;font-size:7px!important}.world-hud-bottom{left:8px;right:8px;bottom:5px;padding:5px}.world-hud-bottom>span{display:none}.world-hud-bottom button{min-height:33px;font-size:10px}.world-touch{position:absolute;right:8px;bottom:52px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:2px;touch-action:none}.world-touch>div{display:flex;gap:2px}.world-touch button{display:grid;place-items:center;width:43px;height:43px;min-height:43px;padding:0!important;border-radius:11px!important;background:#38233bdd!important;border:1px solid #dcaa8b!important;color:#ffe1ad!important;font-size:14px;touch-action:none}.world-door-prompt{bottom:114px;left:50%;font-size:10px}.world-door-prompt span{font-size:10px}.world-entrance-label{min-width:0;min-height:30px;padding:3px 5px!important;border-radius:8px!important}.world-entrance-label span{width:19px;height:19px;font-size:10px}.world-entrance-label b{font-size:9px}.world-entrance-label small{display:none}.world-guide>div{max-height:calc(100dvh - 130px);overflow:auto;padding:18px}.world-guide h2{font-size:23px}.world-guide li{font-size:12px}.world-fallback{padding:12px}.world-fallback-list{grid-template-columns:1fr 1fr}.world-fallback-list button{font-size:10px;min-height:43px;padding:5px!important}.world-notes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:390px){.world-hud-side{width:155px}.world-hud-actions{grid-template-columns:1fr}.world-hud-actions button{min-height:27px}.world-minimap{width:87px}.world-touch button{width:39px;height:39px;min-height:39px}.world-hud-top .world-brand small{display:none}.world-entrance-label{gap:3px}}
@media(max-height:650px){html[data-screen=sections] .campus-main{height:calc(100dvh - 62px)!important;min-height:350px!important;overflow:hidden!important}.world-stage{min-height:350px}.world-minimap{width:88px;bottom:53px}.world-hud-bottom{bottom:4px}.world-hud-side{top:60px}.world-touch{bottom:45px}.world-touch button{height:37px;width:37px;min-height:37px}}
@media(prefers-reduced-motion:reduce){.world-arrow{transition:none}.world-stage *{scroll-behavior:auto!important}}
.world-note-detail{display:grid;gap:11px;margin-top:12px;padding:18px;border:1px solid #ae828c;border-radius:16px;background:#4b3044}.world-note-detail>button{justify-self:start;min-height:36px;padding:7px 11px!important;border-radius:8px!important;border:1px solid #d9a283!important;background:#614153!important;color:#fff5e9!important}.world-note-detail>button:last-child{background:#ffbf7e!important;color:#341d2d!important;font-weight:800}.world-note-detail>span{font-size:10px;letter-spacing:.1em;color:#ffc68c}.world-note-detail h2{margin:0;font-size:22px}.world-note-detail p{margin:0;line-height:1.5;color:#f7e6de}.world-note-detail>div{padding:12px;border-radius:10px;background:#614457}.world-note-detail>div b{color:#ffd297}.world-note-detail small{color:#f3c8bc}
html[data-screen=sections] .campus-shell .main-shell{height:100dvh!important;min-height:0!important;display:flex;flex-direction:column;overflow:hidden!important}
html[data-screen=sections] .campus-shell .main-shell .campus-main{height:auto!important;min-height:0!important;flex:1 1 auto;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden!important}
html[data-screen=sections] .campus-shell .main-shell .campus-main .world-stage{height:100%;min-height:0}
@media(max-width:800px){html[data-screen=sections] .campus-shell .main-shell{height:calc(100dvh - 62px - env(safe-area-inset-bottom))!important}.world-fallback .world-map{width:190px}}
html[data-screen=sections] .campus-shell .campus-jump{display:none!important}
@media(max-width:800px){html[data-screen=sections] .campus-shell .topbar{height:52px!important;min-height:52px!important;flex:0 0 52px!important;grid-template-rows:42px!important;align-content:center}html[data-screen=sections] .campus-shell .topbar .phone-brand-cluster{grid-row:1}html[data-screen=sections] .campus-shell .topbar>div:not(.phone-brand-cluster){grid-row:1}html[data-screen=sections] .campus-shell .main-shell{height:calc(100dvh - 62px - env(safe-area-inset-bottom))!important}}
