/* Full-screen student world; the conventional teacher/direction layout is untouched. */
.classroom3d[hidden],.classroom3d [hidden]{display:none!important}.classroom3d{position:fixed;inset:0;background:#0e1a24;z-index:20;color:#173042;font:15px/1.4 'Segoe UI',sans-serif}.class-stage,.class-labels{position:absolute;inset:0}.class-stage{touch-action:none}.class-stage canvas{display:block;cursor:grab;width:100%;height:100%}.class-stage canvas.class-pointer{cursor:pointer}.class-labels{pointer-events:none;overflow:hidden}.class-object-label{position:absolute;top:0;left:0;pointer-events:auto;border:0;border-radius:9px;padding:8px 12px;background:#fbf8f2ee;box-shadow:0 3px 12px #0004;color:#173042;font-size:12px;white-space:nowrap;max-width:230px}.class-object-label:hover{background:#0b7c7e;color:white}.class-hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));display:flex;justify-content:space-between;gap:12px;align-items:flex-start;pointer-events:none}.class-hud>*{pointer-events:auto}.class-identity{display:flex;align-items:center;gap:10px;background:#fbf8f2ee;border:0;border-radius:12px;padding:8px 12px;max-width:380px;text-align:left;color:#173042;font-weight:600}.class-identity img{width:58px;height:43px;object-fit:contain;background:white;border-radius:3px}.class-controls{display:flex;gap:8px;align-items:flex-start}.class-controls>button,.class-directory>summary{border:0;background:#fbf8f2ef;color:#173042;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:12px;list-style:none}.class-directory{position:relative}.class-directory>div{position:absolute;right:0;top:48px;width:320px;max-width:calc(100vw - 28px);max-height:65vh;overflow:auto;background:#fbf8f2;padding:12px;border-radius:14px;box-shadow:0 12px 40px #0005;display:grid;gap:6px}.class-directory button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d6e1de;border-radius:8px;padding:10px;background:white;color:#173042;font-size:13px}.class-directory small{font-size:11px;color:#5b6b72}.class-intro{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(490px,calc(100% - 32px));box-sizing:border-box;background:#fbf8f2;padding:22px 26px;border-radius:20px;box-shadow:0 20px 50px #0005;transition:opacity .5s,transform .5s}.class-intro h1{font:800 clamp(26px,4vw,34px)/1.08 'Trebuchet MS',sans-serif;letter-spacing:-.03em;margin:10px 0}.class-intro p{font-size:14px;color:#5b6b72}.class-intro.opening{opacity:0;transform:translate(-50%,25px);pointer-events:none}.class-intro button{margin-top:6px}.class-walk-help{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;max-width:90vw;pointer-events:none;color:#f0f4ee;text-shadow:0 1px 4px #000}.class-walk-help p{font-size:12px;margin:4px}.class-walk-help small{font-size:11px;opacity:.8}.class-dpad{display:flex;justify-content:center;gap:8px;margin-top:10px;pointer-events:auto}.class-dpad button{width:48px;height:46px;background:#fbf8f2ed;color:#173042;border:1px solid #fff;border-radius:12px;font-size:24px;touch-action:none;padding:4px}.class-notice{position:absolute;bottom:20px;left:18px;max-width:270px;font-size:11px;color:#e5f2ee;pointer-events:none}.class-panel-heading{display:none}.classroom-mode{overflow:hidden;background:#0e1a24}.classroom-mode>.sidebar,.classroom-mode>.copyright,.classroom-mode #pilot-report,.classroom-mode .shell>.topbar,.classroom-mode .hero,.classroom-mode .principles,.classroom-mode main>footer,.classroom-mode .student-return,.classroom-mode #student-atelier{display:none!important}.classroom-mode>.shell{display:none;z-index:30;position:fixed;top:90px;bottom:24px;right:20px;width:min(790px,calc(100vw - 40px));margin:0;border-radius:20px;background:#fbf8f2;box-shadow:0 20px 60px #0007;overflow:auto;overscroll-behavior:contain}.classroom-mode.classroom-panel-open>.shell{display:block}.classroom-mode .shell main{padding:22px;margin:0}.classroom-mode .class-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 18px;border-bottom:1px solid #d6e1de;margin-bottom:18px;position:sticky;top:-22px;background:#fbf8f2;z-index:3}.class-panel-heading button{padding:9px 12px;font-size:12px;flex-shrink:0}.classroom-mode .workbench{display:none!important}.classroom-mode #workspacebody>.workbench{display:flex!important;flex-direction:column;align-items:flex-start}.classroom-mode #workspace{margin-top:0}.classroom-mode .sectionhead{margin-top:0}.classroom-mode .courses .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classroom-mode .courses #leveltools{display:none}.classroom-mode dialog{z-index:100;max-height:90dvh}.classroom3d button:focus-visible,.classroom3d summary:focus-visible{outline:3px solid #f1b84e;outline-offset:4px}.classroom-mode.classroom-panel-open .class-object-label,.classroom-mode.classroom-panel-open .class-walk-help{display:none!important}
@media(max-width:760px){.class-hud{flex-wrap:wrap}.class-identity{max-width:100%;font-size:12px;padding:6px 10px}.class-identity img{width:42px;height:32px}.class-controls{width:100%;justify-content:flex-end;gap:6px}.class-controls>button,.class-directory>summary{padding:8px;font-size:11px}.classroom-mode>.shell{top:auto;bottom:0;left:0;right:0;width:100%;height:76dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}.classroom-mode .shell main{padding:18px}.classroom-mode .class-panel-heading{top:-18px;gap:8px;font-size:13px}.class-panel-heading button{font-size:11px}.classroom-mode .courses .grid{grid-template-columns:1fr}.class-object-label{font-size:11px;padding:7px 9px;max-width:190px}.class-notice{display:none}.class-walk-help{width:95vw}.class-walk-help small{display:none}.classroom-mode.classroom-panel-open .class-controls{display:none}}
@media(prefers-reduced-motion:reduce){.class-intro{transition:none}}
/* Studio finish: warm glass, restrained typography and comfortable touch controls. */
.classroom3d{font-family:'Segoe UI',sans-serif}.class-identity{background:#fbf8f2ed;border:1px solid #ffffffb0;box-shadow:0 8px 24px #0b25251a;backdrop-filter:blur(18px);padding:9px 15px;border-radius:16px;line-height:1.45}.class-identity img{border:1px solid #e1e8dc;border-radius:8px;padding:4px;width:63px;height:46px}.class-identity span{font-size:12px;font-weight:650;letter-spacing:.015em}.class-controls{background:#faf7edc9;backdrop-filter:blur(18px);padding:5px;border:1px solid #ffffff96;border-radius:16px;box-shadow:0 8px 25px #0b252517}.class-controls>button,.class-directory>summary{background:transparent;border-radius:11px;padding:10px 12px;font-weight:600;transition:background .18s}.class-controls>button:hover,.class-directory>summary:hover{background:#e4ede6}.class-controls>.class-exit-button{background:#173f47;color:#fff7e8;border:1px solid #173f47}.class-controls>.class-exit-button:hover{background:#245b61}.class-object-label{background:#fbfaf3ee;border:1px solid #ffffffba;box-shadow:0 6px 18px #112d3326;backdrop-filter:blur(10px);border-radius:11px;font-weight:600;padding:8px 13px}.class-object-label:hover{border-color:#1b686b}.class-intro{background:#fbf8f2f2;border:1px solid #fff8e3;backdrop-filter:blur(20px);border-radius:24px;padding:25px 28px;box-shadow:0 20px 65px #0b25253d}.class-intro h1{font-weight:700}.class-intro button{border-radius:12px;padding:12px 20px}.class-walk-help{background:#12333de8;backdrop-filter:blur(18px);border:1px solid #e5f2e129;border-radius:22px;padding:11px 21px 12px;box-shadow:0 9px 28px #09252b3d;text-shadow:none;width:max-content;max-width:calc(100vw - 36px)}.class-walk-help p{font-size:12px;color:#fff7e7;margin:0 0 3px}.class-walk-help small{color:#c0d4d1;font-size:10px}.class-dpad{margin-top:9px;gap:7px}.class-dpad button{background:#fff8e9;border:1px solid #fff8e9;width:43px;height:40px;font-size:22px;border-radius:11px;box-shadow:0 3px 0 #b8c9bc}.class-dpad button:hover{background:#d9eee2}.class-dpad button:active{transform:translateY(2px);box-shadow:none}.class-notice{color:#153e45;background:#faf7edda;border:1px solid #ffffff7a;border-radius:12px;padding:9px 13px;max-width:240px;box-shadow:0 4px 15px #193e4117}.classroom-mode>.shell{background:#faf8f1f5;border:1px solid #ffffffaa;backdrop-filter:blur(22px);border-radius:22px;box-shadow:0 22px 70px #0e303347}.classroom-mode .class-panel-heading{background:#faf8f1f5}.class-panel-heading strong{font-size:13px;color:#31575a}.class-panel-heading button{border-radius:10px;background:#edf2e9;border-color:#cbdad1}.class-directory>div{border:1px solid #e5ecdf;border-radius:16px;box-shadow:0 14px 40px #14383b33}.class-directory button{border-color:#e1e8dc;border-radius:10px;padding:12px}.class-directory button:hover{background:#edf3e9}.classroom3d:has(.class-directory[open]) .class-walk-help{visibility:hidden}
.class-exit-card{position:absolute;left:50%;bottom:max(30px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(420px,calc(100vw - 40px));box-sizing:border-box;background:#fbf8f2f2;backdrop-filter:blur(20px);border:1px solid #ffffffc9;border-radius:20px;padding:22px 26px;text-align:center;box-shadow:0 15px 50px #0e30334d;z-index:5}.class-exit-card strong{font-size:20px;font-weight:650;color:#16444b}.class-exit-card p{font-size:13px;color:#55706e;margin:8px 0 0}.class-exiting .class-controls,.class-exiting .class-identity,.class-exiting .class-labels,.class-exiting .class-walk-help,.class-exiting .class-notice{opacity:0;pointer-events:none!important}.class-exiting .class-stage{pointer-events:none}.class-exiting .shell{display:none!important}
@media(max-width:1000px){.class-hud{flex-wrap:wrap}.class-controls{margin-left:auto}.class-notice{display:none}.class-identity{max-width:100%}}
@media(max-width:760px){.class-controls{width:auto;max-width:100%;padding:4px;gap:2px;flex-wrap:wrap;justify-content:flex-end}.class-controls>button,.class-directory>summary{font-size:10px;padding:9px 8px}.class-identity{padding:6px 10px;border-radius:13px}.class-identity img{width:46px;height:34px;padding:3px}.class-identity span{font-size:11px}.class-walk-help{padding:10px 15px;border-radius:18px}.class-walk-help p{font-size:10px}.class-dpad button{width:43px;height:39px}.classroom-mode>.shell{border-radius:22px 22px 0 0}.class-exit-card{padding:20px}.class-exit-card strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.class-controls>button,.class-directory>summary{transition:none}.class-dpad button:active{transform:none}}

.class-teacher-guide{position:absolute;z-index:35;bottom:110px;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 32px));max-height:55dvh;overflow:auto;padding:22px;border:1px solid #9dc9c4;border-radius:22px;background:#fffdf6;box-shadow:0 12px 48px #102d3d40;color:#19394b}.class-teacher-guide[hidden]{display:none}.class-teacher-guide strong{font-size:1.2rem}.class-teacher-guide p{line-height:1.6}.class-teacher-guide>div{display:flex;flex-wrap:wrap;gap:8px}.class-teacher-guide button{min-height:44px;padding:10px 14px;border-radius:12px;border:1px solid #bad4d3;background:white;color:#19394b}.class-teacher-guide button:first-child{background:#087f86;color:white}@media(max-width:600px){.class-teacher-guide{bottom:125px;padding:16px;max-height:48dvh}}
