/* Shared classroom entrances and student / teacher workspaces. */
.classroom-work,.conversation-panel{position:relative}
.button-link{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:white;text-decoration:none;font-size:14px;line-height:1.4}
.button-link.small{padding:7px 11px;font-size:13px}.button-link.primary{background:var(--green);color:white;border-color:var(--green)}
.run-strip .button-link{color:var(--green)}
.entry-page{max-width:1210px;margin:auto;padding:72px 42px 30px}
.entry-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,1fr);gap:80px;align-items:center;min-height:58vh}
.entry-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--muted);margin-bottom:26px}
.entry-intro h1{font-size:clamp(28px,3vw,44px);line-height:1.4;margin-bottom:20px;overflow-wrap:anywhere}
.entry-question{font-size:18px;line-height:1.9;color:#50665b;max-width:570px}
.entry-stages{list-style:none;padding:14px 0 0;margin:25px 0 0;border-top:1px solid var(--line);max-height:280px;overflow:auto}
.entry-stages li{display:flex;gap:15px;align-items:baseline;padding:10px 0;line-height:1.7;font-size:14px}
.entry-stages li>span{font:12px/1.7 ui-monospace,monospace;color:#8a9d84;min-width:23px}
.entry-choices{display:grid;gap:18px}
.entry-choice{display:flex;gap:20px;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:17px;text-decoration:none;color:var(--ink);box-shadow:0 8px 28px #254b3405;transition:background .15s,border-color .15s}
.entry-choice:hover{border-color:#7f9e8c;background:#fff}.entry-choice h2{margin-bottom:8px;font-size:23px}.entry-choice p{font-size:14px;color:var(--muted);margin-bottom:18px}.entry-choice strong{font-size:14px;color:var(--green)}
.entry-icon{font:18px/1.4 ui-monospace,monospace;color:#709881;background:#eaf1e5;border-radius:12px;height:48px;min-width:48px;display:grid;place-items:center}.teacher-choice .entry-icon{background:#f3ecd9;color:#9a8053}
.entry-role-label{font-size:12px;color:var(--green);letter-spacing:2px;margin-bottom:12px}.entry-other{margin:22px 0 0;font-size:13px;text-align:center}.entry-login h2{font-size:25px}.entry-login form{margin-top:26px}.switch-identity{margin-top:18px}.switch-identity summary{font-size:13px;cursor:pointer;color:var(--muted)}
.entry-footer{border-top:1px solid var(--line);margin-top:60px;padding-top:20px;color:var(--muted);font-size:12px}
.share-title{display:flex;gap:15px;align-items:center;margin-bottom:24px}.share-title h3{margin:0;font-size:20px}.share-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:30px}.share-link{margin-bottom:20px}.share-link label{margin-bottom:8px}.share-link input{font-size:12px;background:#f7f9f3}.share-link a{font-size:13px}.entry-qr{margin:0;text-align:center;padding:14px;border:1px solid var(--line);border-radius:12px;align-self:start}.entry-qr img{display:block;width:100%;aspect-ratio:1;object-fit:contain}.entry-qr figcaption{font-size:13px;line-height:1.9}.entry-qr strong{letter-spacing:1px}.entry-qr p{margin:12px 0 0}.share-bottom{display:flex;gap:12px;justify-content:flex-end;padding-top:18px;border-top:1px solid var(--line)}
.classroom-shell{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:100dvh}
.classroom-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:25px;background:#173f35;color:#f2f6ed;padding:25px 17px;min-width:0}
.classroom-brand{text-decoration:none;color:inherit}.classroom-brand .brand{font-size:18px;gap:10px}.classroom-brand .brandmark{background:#ffffff13;border:1px solid #ffffff20}.classroom-brand .tag{display:none}
.classroom-course{font-size:13px;line-height:1.8;overflow-wrap:anywhere;color:#e4ecdf}.classroom-course small{display:block;color:#a9c0b2;font-size:12px;margin-top:8px}
.classroom-stages{display:grid;gap:8px;overflow-y:auto;scrollbar-width:thin;min-height:0}
.classroom-stages button{display:flex;align-items:center;gap:10px;text-align:left;background:transparent;color:#cdded2;border:1px solid transparent;padding:13px 10px;font-size:13px;line-height:1.65}
.classroom-stages button:hover:not(:disabled){background:#ffffff12}.classroom-stages button.active{background:#ffffff14;border-color:#ffffff24;color:white}.classroom-stages button:disabled{cursor:default;opacity:.4}
.stage-number{min-width:27px;height:27px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;font-size:12px}
.classroom-stages .active .stage-number{background:#c5dfb7;color:#214b39;border-color:#c5dfb7}.classroom-stages small{display:block;color:#afc7b8;font-size:11px}
.classroom-side-bottom{margin-top:auto;display:grid;gap:13px;border-top:1px solid #ffffff20;padding-top:18px}.classroom-side-bottom a,.classroom-side-bottom button{font-size:12px;color:#d1e3d6;text-align:left;padding:0;border:0;background:transparent;text-decoration:none;line-height:1.9}
.classroom-main{min-width:0;padding:0 28px 18px}.classroom-top{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:56px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.classroom-top>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-label{white-space:nowrap;font-size:12px}
.classroom-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}.classroom-heading h1{font-size:25px;line-height:1.45;margin:0}.classroom-heading .tag{white-space:nowrap}
.student-classroom{height:100dvh;min-height:0;overflow:hidden}.student-classroom .classroom-main{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.student-classroom .classroom-top,.student-classroom .classroom-heading{flex:none}
.classroom-columns{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:22px}
.classroom-columns .panel{padding:22px;margin:0}.classroom-columns .feedback-head{gap:12px;align-items:center}.classroom-columns h2{font-size:19px;margin:0}.classroom-columns .feedback-head>span{font-size:11px;white-space:nowrap}
.conversation-panel{min-height:0;display:flex;flex-direction:column;box-shadow:0 5px 22px #203c3404}.conversation-panel>.feedback-head{flex:none;margin-bottom:14px}
.conversation-scroll{flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:7px}
.classroom-task{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.classroom-task h3{font-size:13px;color:var(--muted);margin-bottom:8px}.classroom-task .tasktext{font-size:14px}.lesson-materials summary{font-size:13px;font-weight:600;cursor:pointer}.lesson-materials .materials{background:#f1f5ee;font-size:13px;line-height:1.9;margin-bottom:0}
.discussion-label{font-size:12px;color:var(--green);margin-bottom:10px}.conversation-panel .chatlog{max-height:none;overflow:visible;gap:12px;min-height:30px}.conversation-panel .chatlog:empty{padding:0}.conversation-panel .bubble{max-width:96%;font-size:14px;line-height:1.85}.conversation-panel .bubble.user{background:#e8f0ed}
.classroom-composer{flex:none;border-top:1px solid var(--line);padding-top:12px;margin-top:8px}.classroom-composer textarea{display:block;min-height:58px;height:66px;max-height:120px;font-size:13px}.classroom-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.classroom-tools button{font-size:12px;padding:7px 9px;white-space:nowrap}.classroom-tools .voice-start{background:#eaf2e9;border-color:#d2e0cd;color:#396448}.classroom-tools #chatSend{margin-left:auto;padding-inline:16px}.composer-note{font-size:11px;color:var(--muted);line-height:1.5;margin:6px 0 0}
.classroom-work{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.classroom-work>.panel{min-height:100%}.current-score{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;margin:8px 0 17px;border-bottom:1px solid var(--line);font-size:12px}.current-score strong{font-size:13px}.current-score small{font-weight:400}.current-score>span{font-size:11px;color:var(--muted)}
.classroom-work label{font-size:13px;font-weight:600;margin-bottom:9px}.classroom-work .workarea{min-height:165px;font-size:14px}.work-submit-row{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.inline-feedback{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.inline-feedback h2{font-size:16px;margin-bottom:8px}.inline-feedback .score{display:none}.inline-feedback .muted{font-size:13px}.inline-feedback .feedback-part{margin-top:15px}.inline-feedback .feedback-list{font-size:13px}.classroom-work .attachment-list:empty{margin:0}.classroom-work .attachment-list{margin-bottom:0}
.teacher-classroom-content{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:22px;align-items:start}.teacher-main-column{min-width:0}.teacher-reference{position:sticky;top:20px;min-width:0}.teacher-reference h2{font-size:17px}.teacher-reference .tasktext,.teacher-reference .materials{font-size:13px}.teacher-reference summary{font-size:13px;cursor:pointer}.teacher-classroom .metrics{padding-bottom:20px;gap:23px}.teacher-classroom .metric b{font-size:27px}.teacher-classroom .panel{padding:22px}.teacher-classroom .panel h2{font-size:18px}.teacher-classroom .feedback-head{gap:12px;flex-wrap:wrap}
.classroom-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.classroom-group-card{padding:15px;border:1px solid var(--line);background:#fff;min-width:0;text-align:left;border-radius:11px}.classroom-group-card:hover{border-color:#89a897;background:#f7faf4}.group-card-top,.group-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-card-top strong{font-size:14px}.group-card-top .status{font-size:10px}.group-card-score{display:block;font-size:28px;color:var(--green);margin:13px 0;font-weight:600}.group-card-score small{font-size:12px;font-weight:400}.group-card-bottom{font-size:11px;color:var(--muted);flex-wrap:wrap}.group-card-bottom>span{color:var(--green)}.teacher-archive h3{margin-bottom:12px;font-size:14px}
@media(min-width:1650px){.classroom-main{padding-inline:38px}.classroom-columns{grid-template-columns:minmax(0,1.5fr) minmax(390px,1fr)}.classroom-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.entry-grid{gap:38px}.classroom-shell{grid-template-columns:170px minmax(0,1fr)}.classroom-sidebar{padding:23px 13px}.classroom-main{padding-inline:18px}.classroom-columns{gap:14px;grid-template-columns:minmax(0,1.2fr) minmax(285px,1fr)}.classroom-columns .panel{padding:16px}.classroom-heading h1{font-size:22px}.teacher-classroom-content{grid-template-columns:1fr}.teacher-reference{position:static;display:grid;grid-template-columns:1fr auto;gap:16px}.classroom-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.entry-grid{grid-template-columns:1fr;gap:32px}.entry-page{padding:40px 26px 20px}.entry-intro h1{font-size:32px}.entry-stages{max-height:180px}.entry-choices{grid-template-columns:1fr 1fr}.entry-choice{padding:22px;gap:12px}.entry-icon{display:none}.entry-login{max-width:560px;width:100%;justify-self:center}.entry-footer{margin-top:30px}.classroom-shell{grid-template-columns:140px minmax(0,1fr)}.classroom-brand .brand{font-size:15px;gap:7px}.classroom-brand .brandmark{width:29px;height:29px}.classroom-stages button{padding:10px 5px;gap:7px;font-size:12px}.stage-number{min-width:23px;height:23px;font-size:11px}.classroom-columns{grid-template-columns:1fr;grid-template-rows:minmax(310px,72%) minmax(0,1fr);gap:12px}.classroom-heading{padding:14px 0}.classroom-heading h1{font-size:21px}.classroom-top{min-height:48px}.classroom-top>span{max-width:60%}.conversation-scroll{min-height:80px}.classroom-work .panel{min-height:100%}.classroom-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-reference{display:block}}
@media(max-width:580px){.entry-page{padding:27px 20px}.entry-grid{gap:24px}.entry-meta{margin-bottom:18px;flex-wrap:wrap;gap:9px}.entry-intro h1{font-size:28px}.entry-question{font-size:16px;margin-bottom:15px}.entry-stages{margin-top:18px}.entry-choices{grid-template-columns:1fr}.entry-choice{padding:23px}.entry-choice h2{font-size:21px}.entry-icon{display:grid}.share-layout{grid-template-columns:1fr;gap:12px}.entry-qr{width:210px;justify-self:center}.share-bottom{flex-wrap:wrap}.share-title{flex-wrap:wrap}.classroom-shell{display:flex;flex-direction:column}.classroom-sidebar{position:static;height:auto;flex:none;padding:9px 13px;gap:7px}.classroom-brand,.classroom-course{display:none}.classroom-stages{display:flex;gap:5px;overflow-x:auto;scrollbar-width:thin}.classroom-stages button{flex:0 0 auto;max-width:160px;min-width:95px;padding:6px;font-size:11px}.classroom-stages small{display:none}.classroom-side-bottom{display:flex;justify-content:flex-end;gap:16px;margin:0;padding-top:4px}.classroom-side-bottom a,.classroom-side-bottom button{font-size:11px}.student-classroom .classroom-main{flex:1;min-height:0;height:auto;padding:0 12px 8px}.classroom-main{padding:0 12px 15px}.classroom-top{min-height:39px}.classroom-top .sync-label{display:none}.classroom-top>span{font-size:11px;max-width:75%}.classroom-top button{padding:4px 9px;font-size:11px}.classroom-heading{padding:11px 0;gap:8px}.classroom-heading h1{font-size:19px}.classroom-heading .tag{font-size:11px}.classroom-columns{grid-template-rows:minmax(300px,75%) minmax(0,1fr);gap:10px}.classroom-columns .panel{padding:13px}.classroom-columns h2{font-size:17px}.conversation-panel>.feedback-head{margin-bottom:10px}.conversation-scroll{min-height:60px}.classroom-composer{padding-top:8px;margin-top:4px}.classroom-composer textarea{height:55px;min-height:48px}.classroom-tools{gap:5px;margin-top:7px}.classroom-tools button{padding:6px 7px;font-size:11px}.composer-note{font-size:10px}.teacher-classroom .classroom-heading{flex-wrap:wrap}.teacher-classroom .panel{padding:16px}.classroom-group-card{padding:11px}.group-card-top{flex-wrap:wrap}.teacher-classroom .metrics{gap:15px}.teacher-classroom .metric b{font-size:23px}}
@media print{.classroom-sidebar,.classroom-top,.classroom-tools,.classroom-composer{display:none}.classroom-shell,.classroom-main,.classroom-columns{display:block;height:auto;overflow:visible}.classroom-work,.conversation-scroll{overflow:visible}.classroom-main{padding:0}.panel{break-inside:avoid}}
