.classroom-view{max-width:1560px;margin:auto}.class-hero{display:flex;justify-content:space-between;align-items:center;gap:25px}.class-hero h1{font-size:clamp(30px,3vw,48px);max-width:1000px}.class-hero>div>p:last-child{color:#bfd4cf}.class-state{padding:10px 16px;border:1px solid #8e9677;color:#ecd199;white-space:nowrap}.class-notice{padding:15px 20px;background:#283f45;border-left:3px solid #d4b675;overflow-wrap:anywhere}.class-notice:empty{display:none}.class-login-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.class-card{border:1px solid #4b6872;background:#1a303a;padding:24px;margin:20px 0;min-width:0}.class-card h2{font-size:24px}.class-card details{border-top:1px solid #4a626a;padding-top:16px;margin-top:18px}.class-card summary{color:#e2c797;cursor:pointer}.class-card textarea{min-height:95px;resize:vertical;line-height:1.8}.class-card input,.class-card select,.class-card textarea{font-size:15px}.class-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.class-two>*{min-width:0}.class-check{display:flex;gap:10px;align-items:flex-start;line-height:1.8;font-size:14px}.class-check input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:4px 0 0;accent-color:#9aceb7}.class-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0}.class-topline h2{font-size:30px;margin:7px 0}.class-topline p{font-size:14px;color:#b6ccc7}.class-code{font-size:14px;letter-spacing:1px;color:#e4c992}.class-problem{border:1px solid #71847d;border-left:4px solid #dec28e;background:linear-gradient(110deg,#29454a,#19303a);padding:25px 28px;margin:24px 0}.class-problem>span{font-size:13px;letter-spacing:2px;color:#d8bf8b}.class-problem h2{font-size:25px;line-height:1.7;margin:9px 0}.class-problem p{font-size:14px;color:#c6d4ca}.class-conflict{padding:24px;background:#493b30;border:2px solid #e2a476}.class-conflict h3{color:#f3cd9f}.class-command{display:flex;gap:20px;flex-wrap:wrap;align-items:center;border-bottom:1px solid #4d6870;padding:12px 0}.class-command>label:first-child{width:160px;margin:0}.class-command .button-row{flex:1;margin:0}.class-command button{font-size:14px;padding:8px 12px}.class-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0}.class-counts>div{padding:17px 20px;background:#1c333d;border:1px solid #4c6870}.class-counts b{display:block;font-size:31px;color:#dacc9f}.class-counts span{font-size:13px;color:#bad0c9}.class-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #6c7b72;padding:14px 0;margin-bottom:22px}.class-tabs button{font-size:15px}.class-floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.class-floor-card{border:1px solid #58717a;background:#192f39;min-width:0}.class-floor-card.is-preview{border-color:#d4b16f}.class-floor-card>header{position:static;background:#233e47;display:flex;justify-content:space-between;gap:15px;padding:15px 20px;z-index:auto;border-bottom:1px solid #5c7478}.class-floor-card h3{font-size:20px;margin:0}.class-floor-card header span{font-size:12px;color:#c7d5c9}.class-floor-card svg{width:100%;display:block}.class-floor-owner{padding:0 20px;color:#dec48f;font-size:14px}.class-floor-card .button-row{padding:0 20px 8px}.class-floor-card button{font-size:13px;padding:7px 10px}.class-member{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #3f5c66;font-size:14px}.class-member>span:last-child{font-size:12px;color:#c0cfc6}.online-dot{width:9px;height:9px;border-radius:50%;background:#72858c}.online-dot.on{background:#a5d9b4}.class-note{padding:15px 0;border-bottom:1px solid #4a646d;overflow-wrap:anywhere}.class-note>b{font-size:15px}.class-note p{font-size:14px;white-space:pre-wrap;margin:7px 0;line-height:1.8}.class-note small{font-size:12px}.class-note button{font-size:13px;padding:7px 11px}.class-candidate-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.class-candidate-toolbar label{width:230px;margin:0}.class-candidate-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.class-candidate-layout>.class-card{margin-top:0}.class-candidate-item{display:block;width:100%;text-align:left;margin-bottom:12px;padding:17px 20px;border-radius:3px}.class-candidate-item small{font-size:11px;color:#dbbe87}.class-candidate-item b{display:block;font-size:16px;line-height:1.7;margin:8px 0}.class-candidate-item span{font-size:12px;color:#bed3ca}.class-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.class-fields label{min-width:0;margin:0}.class-fields .full{grid-column:1/-1}.class-fields textarea{min-height:125px}.class-warning{padding:13px 17px;border:1px solid #d1a86a;color:#e8c68d;background:#453c2f}.class-review-summary{background:#29474b;border-left:3px solid #c9b884;padding:15px 18px}.class-peer-note{border:1px solid #66746b;border-left:4px solid #d4b57c;padding:18px 20px;margin:14px 0}.class-peer-note.challenge{border-left-color:#eca88b}.class-peer-note.support{border-left-color:#a9d6b1}.class-peer-note p{white-space:pre-wrap;font-size:14px;margin:10px 0;line-height:1.8}.class-peer-note details{font-size:13px}.class-peer-form,.class-admission{padding:20px;border:1px solid #6d897d;background:#203b43;margin:22px 0}.class-admission{border-color:#c0aa78}.class-admission h3{color:#e5ca91}.class-event{display:grid;grid-template-columns:170px minmax(220px,1fr) minmax(180px,1.3fr);gap:18px;padding:15px 0;border-bottom:1px solid #4a646d;font-size:13px}.class-event>span{color:#bacdc5}.class-event details{padding:0;margin:0;border:0}.classroom-view pre,#classDataDialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto;font-size:13px;line-height:1.85}.classroom-view #classCandidateDetail>.section-head{margin-top:0}.collab-labbar{position:sticky;top:0;z-index:19;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:8px 20px;border-bottom:1px solid #7a8c77;background:#1b383e;color:#dfd4ad;font-size:13px}.collab-labbar>div{display:flex;gap:7px;flex-wrap:wrap}.collab-labbar button{font-size:12px;padding:5px 9px}.projection .collab-labbar{position:static;font-size:12px;padding:6px 16px}.classroom-readonly #planEditor .dock-scroll input,.classroom-readonly #planEditor .dock-scroll select,.classroom-readonly #planEditor .dock-scroll button{pointer-events:none;opacity:.65}.classroom-readonly #planEditor .dock-scroll:before{content:'只读观察 · 认领本层后编辑，或进入独立沙盒';display:block;padding:9px;margin-bottom:12px;background:#39494a;color:#ead2a0;font-size:12px}
@media(max-width:1100px){.classroom-view .class-hero{align-items:flex-start}.classroom-view .class-hero h1{font-size:35px}.class-candidate-layout{grid-template-columns:230px minmax(0,1fr)}.class-card{padding:20px}.class-event{grid-template-columns:150px 1fr}.class-event details{grid-column:1/-1}.collab-labbar{flex-wrap:wrap;gap:6px}.class-floor-card header{flex-wrap:wrap}.class-floor-card h3{font-size:18px}}
@media(max-width:760px){.class-login-grid,.class-two,.class-floor-grid,.class-fields,.class-candidate-layout{grid-template-columns:minmax(0,1fr)}.class-counts{grid-template-columns:repeat(3,1fr)}.class-hero,.class-topline{flex-direction:column;align-items:flex-start}.class-command{align-items:stretch}.class-command .button-row{flex-basis:100%}.class-card{padding:17px}.class-problem{padding:20px}.class-problem h2{font-size:22px}.class-candidate-layout>aside{max-height:330px;overflow:auto}.class-event{grid-template-columns:minmax(0,1fr);gap:6px}.class-state{white-space:normal}.classroom-view .section-head{align-items:flex-start}.class-counts>div{padding:12px}.class-counts b{font-size:26px}.collab-labbar{position:static;padding:9px 12px}.collab-labbar>span{overflow-wrap:anywhere}.class-floor-card>header{padding:13px 16px}}
/* Iteration 2/3: readable numbering, visible learning route, semantic evidence editor. */
#classroom{color:var(--ink)}#classroomLesson{color:#edc28b;border-color:#977a56}
.classroom-connected .class-hero{padding:10px 0}.classroom-connected .class-hero h1{font-size:28px;margin:8px 0}.classroom-connected .class-hero>div>p:last-child{margin:0;font-size:14px}
.classroom-view{line-break:strict;word-break:normal;overflow-wrap:break-word}.classroom-view .class-card input,.classroom-view .class-card textarea,.classroom-view .class-card select{font-size:16px;line-height:1.8}.classroom-view .meta,.classroom-view .class-card label{font-size:14px}
.class-journey{border:1px solid #59777b;background:#192f38;margin:22px 0;padding:17px 20px}.class-journey>summary{cursor:pointer;font-size:17px;color:#ecd5a4}.class-journey>p{font-size:14px;color:#bbd1cd;margin-top:14px}
#classJourneySteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.class-journey article{min-width:0;border-left:2px solid #8fc4af;background:#203a42;padding:16px}.journey-number{font-size:15px;color:#e1c38c;letter-spacing:2px}.class-journey h3{font-size:18px;margin:5px 0 9px}.class-journey article p{font-size:14px;color:#d2dfd5;line-height:1.8;min-height:74px}.class-journey small{display:block;color:#b9d9c8;font-size:14px;margin:10px 0}.class-journey button{font-size:14px;min-height:42px}
.class-plan-caption,.class-plan-key{font-size:14px;line-height:1.8;padding:0 20px;margin:0 0 13px;color:#c7ddd2}.class-plan-key summary{cursor:pointer;color:#f0d7a9}.class-plan-key ul{padding:9px 0 0 20px}.class-plan-key li{padding:4px 0}.class-plan-key b{color:#f1d19a}.class-floor-card button{font-size:14px;min-height:42px}
.class-scaffold{border-left:3px solid #d6b87f;background:#1b343d;padding:22px;margin:22px 0}.class-scaffold h3{font-size:20px}.class-scaffold-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.class-scaffold p{font-size:14px;color:#cbded3;line-height:1.9}.class-scaffold b{display:block;color:#f0d4a0;font-size:16px;margin-bottom:6px}
.class-fields[data-scaffolded]{display:block}.class-field-group{min-width:0;border:1px solid #66817b;padding:18px;margin:20px 0}.class-field-group legend{font-size:18px;color:#e9cb93;padding:0 9px}.class-field-group>p{font-size:14px;color:#c5d6cb}.class-field-group textarea{min-height:160px}.classroom-view button:focus-visible,.classroom-view summary:focus-visible{outline:3px solid #f1d09e;outline-offset:3px}
@media(max-width:1100px){.class-candidate-layout{grid-template-columns:minmax(0,1fr)}.class-candidate-layout>aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-candidate-item{margin:0}#classJourneySteps{grid-template-columns:repeat(2,minmax(0,1fr))}.class-field-group .class-fields{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#classJourneySteps,.class-scaffold-grid,.class-candidate-layout>aside{grid-template-columns:minmax(0,1fr)}.class-field-group{padding:14px}.classroom-connected .class-hero h1{font-size:25px}.class-journey article p{min-height:0}.class-floor-grid{grid-template-columns:minmax(0,1fr)}}
/* Iteration 4: labels reserve interface areas, and the full model fits the recording frame. */
.plan-label text{font-size:24px}.plan-label text.plan-dimension{font-size:20px}.world-label,.projection .world-label{font-size:15px;line-height:1.65;padding:5px 9px;max-width:280px;white-space:normal;line-break:strict;word-break:normal;overflow-wrap:break-word}.world-label.focused{font-size:16px}
.architecture-toolbar button{font-size:14px;min-height:38px}.architecture-caption p{font-size:14px}.architecture-caption>span{font-size:12px}.world-title,.world-footer{font-size:14px}
.immersive-stage .world-shell{height:calc(100dvh - var(--stage-top,210px));min-height:360px}.immersive-stage #world{height:100%;min-height:0}.immersive-stage .architecture-caption{bottom:74px}.immersive-stage .architecture-caption strong{font-size:30px}
.classroom-view .class-card,.class-floor-card{box-shadow:0 10px 24px #07151b25}.classroom-view .class-card h2{letter-spacing:.3px}
@media(max-width:760px){.architecture-toolbar{right:10px;left:10px}.architecture-toolbar button{font-size:13px;min-height:36px}.architecture-caption{max-width:calc(100% - 36px);left:18px;padding:8px 12px}.architecture-caption strong,.immersive-stage .architecture-caption strong{font-size:24px}.architecture-caption p{font-size:13px}.world-title,.world-footer{font-size:12px}.world-label{font-size:14px;max-width:210px}.classroom-view .class-card input,.classroom-view .class-card textarea{font-size:16px}}
.world-label{width:max-content;box-sizing:border-box}
