.classroom-topbar{gap:18px}.classroom-brand{display:flex;align-items:center;gap:8px;font-weight:900;color:#dbe4f6;letter-spacing:-.02em}.classroom-brand small{font-size:9px;letter-spacing:.12em;color:#7f899b;border:1px solid var(--line);padding:4px 6px;border-radius:999px}.classroom-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(72,226,146,.08)}.classroom-link-btn{border:0;background:none;color:inherit;padding:9px 12px;cursor:pointer}.classroom-shell{padding-bottom:50px}.classroom-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:end;padding:42px 0 28px}.classroom-hero h1{margin:8px 0 13px;font-size:clamp(48px,7vw,82px);line-height:.92;letter-spacing:-.07em}.classroom-hero p{max-width:720px;margin:0;color:#aab4c6;line-height:1.65;font-size:17px}.classroom-principle{padding:18px;border:1px solid #283449;border-radius:18px;background:#0b111a}.classroom-principle span{display:block;font-size:9px;font-weight:900;letter-spacing:.13em;color:#738098;margin-bottom:7px}.classroom-principle b{font-size:19px}.classroom-auth{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:30px;margin-bottom:20px}.classroom-auth-copy h2,.classroom-workspace-head h2,.classroom-card h2{margin:7px 0 8px;font-size:30px;letter-spacing:-.04em}.classroom-auth-copy p{color:#98a1b3;line-height:1.6;max-width:480px}.classroom-auth-panel form{display:grid;gap:12px;margin-top:16px}.classroom-auth-panel label,.classroom-card label{display:grid;gap:7px;color:#cbd1df;font-size:12px;font-weight:850}.classroom-auth-panel input,.classroom-card input,.classroom-card textarea{width:100%;background:#0d1118;border:1px solid #30394b;border-radius:12px;padding:12px;color:white;outline:none;resize:vertical}.classroom-auth-panel input:focus,.classroom-card input:focus,.classroom-card textarea:focus{border-color:#68779b}.classroom-tabs{display:flex;gap:7px}.classroom-tabs button,.classroom-duration button{border:1px solid #30394b;background:#0d1118;color:#9aa6b9;border-radius:999px;padding:9px 13px;font-weight:850;cursor:pointer}.classroom-tabs button.active,.classroom-duration button.active{color:#fff;border-color:#6d5bdb;background:rgba(124,92,255,.12)}.classroom-msg{min-height:20px;color:#98a1b3;font-size:13px;margin:10px 0 0}.classroom-msg.error{color:#ff96aa}.classroom-msg.success{color:var(--green)}.classroom-workspace-head,.classroom-library-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 18px}.classroom-status{font-size:10px;font-weight:900;letter-spacing:.12em;color:#aeb9cd;border:1px solid var(--line);padding:8px 10px;border-radius:999px}.classroom-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px}.classroom-card{padding:26px}.classroom-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.classroom-create form{display:grid;gap:15px;margin-top:18px}.classroom-duration{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.classroom-room{min-height:430px}.classroom-empty{padding:25px 0;color:#9da8bb}.classroom-empty p{color:#7f899b}.room-code-label{font-size:10px;font-weight:900;letter-spacing:.15em;color:#778399;margin-top:20px}.room-code{max-width:100%;font-size:clamp(48px,6vw,68px);font-weight:950;letter-spacing:.045em;line-height:1;margin:8px 0 14px;font-variant-numeric:tabular-nums;white-space:nowrap}.room-meta{display:flex;gap:8px;flex-wrap:wrap}.room-meta span{padding:7px 9px;border:1px solid var(--line);border-radius:999px;color:#9eabc0;font-size:10px;font-weight:900;letter-spacing:.1em}.room-question{font-size:19px;line-height:1.4;color:#d8dfeb;margin:22px 0}.room-actions{display:flex;gap:8px;flex-wrap:wrap}.classroom-library{margin-top:16px}.classroom-poll-list{display:grid;gap:10px}.classroom-poll{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0d1118}.classroom-poll h3{margin:0 0 7px;font-size:18px}.classroom-poll-meta{display:flex;gap:8px;flex-wrap:wrap;color:#7f899b;font-size:12px}.classroom-poll-actions{display:flex;gap:7px;align-items:center}.classroom-stage-map{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.classroom-stage{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #252c3b;border-radius:15px;color:#778399}.classroom-stage>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #374056;font-weight:900}.classroom-stage b{display:block;color:#a8b2c4;font-size:13px}.classroom-stage small{display:block;margin-top:3px;font-size:10px;line-height:1.35}.classroom-stage.done{border-color:rgba(72,226,146,.24);background:rgba(72,226,146,.035)}.classroom-stage.done>span{color:var(--green);border-color:rgba(72,226,146,.35)}.classroom-stage.done b{color:#e7f5ed}@media(max-width:850px){.classroom-hero{grid-template-columns:1fr}.classroom-principle{max-width:420px}.classroom-auth{grid-template-columns:1fr}.classroom-grid{grid-template-columns:1fr}.classroom-stage-map{grid-template-columns:1fr 1fr}}@media(max-width:620px){.classroom-topbar{flex-wrap:wrap}.classroom-brand{order:3;width:100%;font-size:13px}.classroom-hero{padding:22px 0 18px}.classroom-hero h1{font-size:48px}.classroom-hero p{font-size:15px}.classroom-auth,.classroom-card{padding:18px;border-radius:20px}.classroom-answer-grid{grid-template-columns:1fr}.classroom-workspace-head{align-items:flex-start;flex-direction:column}.classroom-poll{grid-template-columns:1fr}.classroom-poll-actions{justify-content:flex-start}.classroom-stage-map{grid-template-columns:1fr}.room-code{font-size:56px}.classroom-library-head{align-items:flex-start;flex-direction:column}}
/* Stage 2 — live student polling */
.room-join-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:8px}
.room-waiting-main{min-width:0}
.room-qr-wrap{display:grid;grid-template-columns:174px minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#0d1118}
.room-qr{width:174px;height:174px;padding:12px;border-radius:12px;background:#fff;box-sizing:border-box;display:grid;place-items:center;overflow:visible}
.room-qr canvas{display:block!important;width:150px!important;height:150px!important;max-width:150px!important;max-height:150px!important}
.room-qr img{display:none!important}
.room-qr-actions{display:grid;gap:9px;justify-items:start;min-width:0}
.room-join-link{color:#dce5f5;font-size:12px;font-weight:900;text-decoration:none}
.room-copy-link{padding:8px 11px!important;font-size:11px!important}
.room-live-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.room-live-counts span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 9px;border:1px solid rgba(72,226,146,.14);border-radius:999px;background:rgba(72,226,146,.035);color:#8f9bad;font-size:11px}
.room-live-counts b{color:#eaf6ef;font-size:16px}
@media(max-width:620px){.room-join-grid{grid-template-columns:1fr}.room-qr-wrap{grid-template-columns:1fr;justify-items:center;text-align:center}.room-qr{width:174px;height:174px}.room-qr img,.room-qr canvas{width:150px!important;height:150px!important}.room-qr-actions{justify-items:center}}

.classroom-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Stage 3 — teacher results, history and reuse */
.classroom-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.classroom-card-head h2{margin-bottom:0}
.classroom-template-btn{white-space:nowrap}
.teacher-results{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.teacher-results-list{display:grid;gap:10px;margin-top:12px}
.teacher-result-row{padding:12px;border:1px solid var(--line);border-radius:14px;background:#0d1118}
.teacher-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.teacher-result-head span{font-weight:850;color:#dbe4f2}
.teacher-result-head b{font-size:12px;color:#aeb9ca}
.teacher-result-track{height:8px;margin-top:9px;border-radius:999px;background:#222937;overflow:hidden}
.teacher-result-fill{height:100%;background:linear-gradient(90deg,#6d55d8,#39b7c9)}
.classroom-history{margin-top:16px}
.classroom-history-list{display:grid;gap:10px}
.classroom-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#0d1118}
.classroom-history-item h3{margin:0 0 7px;font-size:17px;line-height:1.3}
.classroom-history-meta{display:flex;gap:8px;flex-wrap:wrap;color:#7f899b;font-size:11px}
.classroom-history-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap}
.classroom-history-results{display:grid;gap:7px;margin-top:12px}
.classroom-history-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font-size:11px;color:#aeb9ca}
.classroom-history-result-bar{height:6px;margin-top:4px;border-radius:999px;background:#222937;overflow:hidden}
.classroom-history-result-bar>span{display:block;height:100%;background:linear-gradient(90deg,#6d55d8,#39b7c9)}
.classroom-stage.current{border-color:rgba(124,92,255,.35);background:rgba(124,92,255,.06)}
.classroom-stage.current>span{color:#c7bcff;border-color:rgba(124,92,255,.5)}
.classroom-stage.current b{color:#f2efff}
@media(max-width:700px){
  .classroom-card-head{flex-direction:column}
  .classroom-history-item{grid-template-columns:1fr}
  .classroom-history-actions{justify-content:flex-start}
}

/* Stage 4 — automatic Classroom flow: waiting → countdown → result */
.room-start-btn{width:100%;margin-top:4px}
.room-waiting-question{margin:18px 0 14px}
.room-live-view{text-align:center;padding:20px 4px 8px}
.room-countdown-label{font-size:10px;font-weight:900;letter-spacing:.18em;color:#7f8aa0}
.room-countdown{font-size:clamp(112px,16vw,180px);font-weight:950;line-height:.9;letter-spacing:-.07em;margin:15px 0 18px;font-variant-numeric:tabular-nums;color:#f5f7ff}
.room-countdown-track{height:10px;border-radius:999px;background:#222938;overflow:hidden;max-width:420px;margin:0 auto}
.room-countdown-track>div{height:100%;width:100%;background:linear-gradient(90deg,#6d55d8,#39b7c9);transition:width .18s linear}
.room-live-question{max-width:620px;margin:26px auto 16px;font-size:clamp(24px,3vw,38px);line-height:1.15;letter-spacing:-.035em}
.room-live-stats{display:flex;justify-content:center;align-items:baseline;gap:7px;color:#8f9bad;font-size:13px}
.room-live-stats b{font-size:21px;color:#eaf6ef}
.room-result-view{padding:10px 0 4px}
.room-result-question{margin:10px 0 22px;font-size:clamp(26px,3.6vw,42px);line-height:1.14;letter-spacing:-.04em;color:#f2f5fb}
.room-result-view .teacher-results-list{gap:12px}
.room-result-view .teacher-result-row{padding:15px}
@media(min-width:851px) and (max-width:1180px){.classroom-grid{grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr)}}
@media(max-width:620px){
  .room-code{font-size:clamp(42px,15vw,58px)}
  .room-countdown{font-size:clamp(96px,30vw,150px)}
  .room-live-question,.room-result-question{font-size:26px}
}

/* Stage 4 — full-screen Classroom presentation mode */
.classroom-presentation{
  position:fixed;inset:0;z-index:9999;overflow:hidden;color:var(--text);
  background:
    radial-gradient(circle at 14% 0,rgba(124,92,255,.13),transparent 34rem),
    radial-gradient(circle at 90% 18%,rgba(127,231,255,.07),transparent 30rem),
    var(--bg)
}
.classroom-presenting>.topbar,
.classroom-presenting>.classroom-shell,
.classroom-presenting>.legal-footer{visibility:hidden}
.presentation-scene{
  height:100vh;height:100dvh;min-height:0;width:min(1180px,100%);
  margin:0 auto;padding:clamp(18px,3vh,34px) clamp(18px,4vw,48px);
  box-sizing:border-box
}

/* Lobby / first contact */
.presentation-join{
  position:relative;display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:clamp(18px,3vh,28px)
}
.presentation-join:before{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  left:-260px;top:-220px;background:rgba(124,92,255,.13);filter:blur(18px);pointer-events:none
}
.presentation-join:after{
  content:"";position:absolute;width:300px;height:300px;border-radius:50%;
  right:-240px;bottom:-220px;background:rgba(127,231,255,.07);filter:blur(18px);pointer-events:none
}
.presentation-lobby-head{position:relative;z-index:1;text-align:center}
.presentation-brand{
  position:relative;display:inline-block;
  font-weight:950;text-align:center;padding-right:clamp(70px,7vw,96px)
}
.presentation-brand>strong{
  display:inline-block;font-size:clamp(22px,2.4vw,30px);letter-spacing:.14em;color:var(--text)
}
.presentation-subbrand{
  position:absolute;left:calc(100% - clamp(72px,7vw,92px));bottom:-2px;
  display:inline-flex;align-items:baseline;gap:3px;
  margin:0!important;padding:0 0 5px!important;border:0!important;background:transparent!important;
  font-size:clamp(14px,1.45vw,18px)!important;letter-spacing:-.04em!important;font-weight:950;
  white-space:nowrap
}
.presentation-subbrand-by{color:#f5f7fb}
.presentation-subbrand-60sec{color:var(--cyan);text-shadow:0 0 16px rgba(127,231,255,.16)}
.presentation-subbrand:after{
  content:"";position:absolute;left:18%;right:0;bottom:0;height:2px;border-radius:999px;
  background:linear-gradient(90deg,rgba(72,226,146,.95),rgba(127,231,255,.55));
  box-shadow:0 0 12px rgba(72,226,146,.22)
}
.presentation-lobby-head p{
  margin:9px 0 0;color:var(--muted);font-size:clamp(13px,1.4vw,16px)
}
.presentation-join-panel{
  position:relative;z-index:1;width:min(980px,94vw);display:grid;
  grid-template-columns:minmax(250px,340px) minmax(0,1fr);align-items:center;
  gap:clamp(30px,5vw,70px);padding:clamp(26px,4vh,42px);
  box-sizing:border-box;border:1px solid var(--line);border-radius:28px;
  background:linear-gradient(145deg,rgba(18,20,29,.98),rgba(8,11,16,.98));
  box-shadow:var(--shadow);overflow:hidden
}
.presentation-join-panel:before{
  content:"";position:absolute;width:360px;height:360px;right:-210px;top:-230px;
  border-radius:50%;background:rgba(127,231,255,.045);pointer-events:none
}
.presentation-qr-side{display:grid;gap:10px;justify-items:center}
.presentation-qr-label{
  color:#8f98aa;font-size:10px;font-weight:900;letter-spacing:.16em
}
.presentation-qr-card{
  width:100%;max-width:330px;aspect-ratio:1;padding:16px;border-radius:24px;
  background:#fff;display:grid;place-items:center;box-sizing:border-box;
  box-shadow:0 16px 42px rgba(0,0,0,.26)
}
.presentation-qr{
  width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#fff
}
.presentation-qr canvas{
  display:block!important;width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important
}
.presentation-qr img{display:none!important}

.presentation-join-copy{position:relative;z-index:1;min-width:0;text-align:left}
.presentation-kicker{
  margin-bottom:10px;color:#9ca6ba;font-size:12px;font-weight:900;letter-spacing:.13em
}
.presentation-code{
  font-size:clamp(76px,10vw,136px);font-weight:950;line-height:.88;
  letter-spacing:.045em;font-variant-numeric:tabular-nums;white-space:nowrap
}
.presentation-join-help{
  max-width:470px;margin:20px 0 22px;color:var(--muted);
  font-size:clamp(14px,1.4vw,17px);line-height:1.55
}
.presentation-join-help strong{color:var(--text)}
.presentation-start{
  width:min(270px,100%)!important;min-width:0;font-size:17px!important;
  padding:15px 22px!important;margin-top:0!important
}
.presentation-ready{
  display:flex;align-items:center;gap:8px;margin-top:14px;color:#798397;
  font-size:12px;font-weight:800
}
.presentation-ready span{
  width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(72,226,146,.5);
  animation:presentationReadyPulse 1.45s ease-in-out infinite
}
@keyframes presentationReadyPulse{
  0%,100%{transform:scale(1);opacity:.9;box-shadow:0 0 0 0 rgba(72,226,146,.42)}
  50%{transform:scale(1.16);opacity:1;box-shadow:0 0 0 7px rgba(72,226,146,0)}
}
@media (prefers-reduced-motion:reduce){
  .presentation-ready span{animation:none;box-shadow:0 0 14px rgba(72,226,146,.45)}
}

/* Live question */
.presentation-live{
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center
}
.presentation-countdown{
  font-size:clamp(130px,20vw,260px);font-weight:950;line-height:.78;
  letter-spacing:-.07em;font-variant-numeric:tabular-nums;margin-bottom:38px;
  background:linear-gradient(90deg,var(--purple),var(--cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 12px 36px rgba(94,122,255,.16))
}
.presentation-question{
  max-width:980px;margin:0 0 34px;font-size:clamp(42px,5vw,76px);
  line-height:1.03;letter-spacing:-.05em
}
.presentation-options{
  width:min(980px,100%);display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.presentation-option{
  display:flex;align-items:center;gap:18px;min-height:92px;padding:20px 24px;
  border:1px solid #2c3446;border-radius:20px;
  background:linear-gradient(145deg,#121722,#0e131c);text-align:left
}
.presentation-option span{
  display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;
  background:rgba(124,92,255,.12);border:1px solid rgba(124,92,255,.38);
  font-size:22px;font-weight:950;color:#dcd6ff
}
.presentation-option b{font-size:clamp(22px,2.2vw,32px);line-height:1.2}
.presentation-progress{margin-top:24px;color:#8f9bad;font-size:15px;font-weight:800}

/* Results */
.presentation-result{display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(56px,8vh,84px)}
.presentation-result>.eyebrow{text-align:center}
.presentation-result-question{
  max-width:1000px;margin:12px auto 34px;text-align:center;
  font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.05em
}
.presentation-results{width:min(980px,100%);margin:0 auto;display:grid;gap:12px}
.presentation-result-row{
  padding:17px 19px;border:1px solid var(--line);border-radius:17px;background:#0d1118
}
.presentation-result-head{
  display:flex;justify-content:space-between;gap:20px;
  font-size:clamp(19px,1.8vw,26px);font-weight:900
}
.presentation-result-head b{color:#aeb9ca}
.presentation-result-track{
  height:11px;margin-top:12px;border-radius:999px;background:#232a39;overflow:hidden
}
.presentation-result-track>div{
  height:100%;background:linear-gradient(90deg,var(--purple),var(--cyan))
}
.presentation-no-results{text-align:center;color:#aeb9ca;font-size:20px}
.presentation-back{align-self:center;margin-top:24px}

/* Responsive presentation */
@media(max-width:700px){
  .presentation-scene{padding:14px}
  .presentation-join{gap:12px}
  .presentation-lobby-head p{margin-top:5px}
  .presentation-join-panel{
    width:min(520px,94vw);grid-template-columns:1fr;justify-items:center;
    gap:16px;padding:18px;border-radius:22px
  }
  .presentation-qr-side{gap:6px}
  .presentation-qr-card{width:min(46vw,24vh,220px);padding:11px;border-radius:18px}
  .presentation-join-copy{text-align:center}
  .presentation-kicker{margin-bottom:6px}
  .presentation-code{font-size:clamp(60px,20vw,96px)}
  .presentation-join-help{margin:9px auto 13px;font-size:13px}
  .presentation-start{width:min(230px,78vw)!important;padding:11px 18px!important}
  .presentation-ready{justify-content:center;margin-top:9px}
  .presentation-options{grid-template-columns:1fr}
  .presentation-option{min-height:74px;padding:15px 17px}
  .presentation-countdown{font-size:clamp(110px,38vw,190px);margin-bottom:28px}
  .presentation-question,.presentation-result-question{font-size:clamp(32px,9vw,48px)}
}
@media(max-height:650px) and (min-width:701px){
  .presentation-join{gap:12px}
  .presentation-lobby-head p{display:none}
  .presentation-join-panel{
    grid-template-columns:minmax(190px,250px) minmax(0,1fr);
    gap:28px;padding:18px 24px
  }
  .presentation-code{font-size:clamp(64px,14vh,96px)}
  .presentation-join-help{margin:11px 0 13px;font-size:13px}
  .presentation-start{padding:10px 18px!important}
}

@media(max-width:700px){
  .presentation-brand{padding-right:66px}
  .presentation-subbrand{left:calc(100% - 64px);bottom:-1px;font-size:14px!important}
}


/* Desktop first-screen fit: keep the full Teacher Account card inside the initial viewport. */
@media (min-width:901px) and (min-height:700px){
  .classroom-hero{
    grid-template-columns:1fr;
    gap:0;
    padding:20px 0 16px;
  }
  .classroom-hero h1{
    margin:6px 0 10px;
    font-size:clamp(52px,5.5vw,68px);
    line-height:.9;
  }
  .classroom-hero p{
    max-width:780px;
    font-size:15px;
    line-height:1.45;
  }
  .classroom-auth{
    gap:22px;
    padding:22px 26px;
    margin-bottom:16px;
  }
  .classroom-auth-copy h2{
    margin:6px 0 6px;
    font-size:27px;
  }
  .classroom-auth-copy p{
    margin:0;
    line-height:1.48;
    font-size:14px;
  }
  .classroom-auth-panel form{
    gap:8px;
    margin-top:10px;
  }
  .classroom-auth-panel label{
    gap:5px;
    font-size:11px;
  }
  .classroom-auth-panel input{
    padding:10px 12px;
  }
  .classroom-auth-panel .btn.big{
    padding-top:11px;
    padding-bottom:11px;
  }
  .classroom-msg{
    min-height:16px;
    margin-top:6px;
  }
}


/* Auth-only desktop composition: hero left, complete Teacher Account card right. */
@media (min-width:901px){
  body.classroom-auth-mode .classroom-shell{
    min-height:calc(100vh - 76px);
    min-height:calc(100dvh - 76px);
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);
    gap:clamp(36px,5vw,72px);
    align-items:center;
    padding-top:10px;
    padding-bottom:18px;
    box-sizing:border-box;
  }
  body.classroom-auth-mode .classroom-hero{
    display:block;
    padding:0;
  }
  body.classroom-auth-mode .classroom-hero h1{
    margin:8px 0 16px;
    font-size:clamp(54px,5.7vw,82px);
    line-height:.9;
  }
  body.classroom-auth-mode .classroom-hero p{
    max-width:650px;
    font-size:16px;
    line-height:1.5;
  }
  body.classroom-auth-mode .classroom-auth{
    grid-template-columns:1fr;
    gap:18px;
    padding:26px;
    margin:0;
    align-self:center;
  }
  body.classroom-auth-mode .classroom-auth-copy h2{
    margin:5px 0 5px;
    font-size:27px;
  }
  body.classroom-auth-mode .classroom-auth-copy p{
    margin:0;
    max-width:none;
    font-size:13px;
    line-height:1.45;
  }
  body.classroom-auth-mode .classroom-auth-panel form{
    gap:8px;
    margin-top:10px;
  }
  body.classroom-auth-mode .classroom-auth-panel label{
    gap:5px;
    font-size:11px;
  }
  body.classroom-auth-mode .classroom-auth-panel input{
    padding:10px 12px;
  }
  body.classroom-auth-mode .classroom-auth-panel .btn.big{
    padding-top:11px;
    padding-bottom:11px;
  }
  body.classroom-auth-mode .classroom-msg{
    min-height:14px;
    margin-top:5px;
  }
}
@media (min-width:901px) and (max-height:760px){
  body.classroom-auth-mode .classroom-shell{
    gap:34px;
    padding-top:4px;
    padding-bottom:10px;
  }
  body.classroom-auth-mode .classroom-hero h1{
    font-size:clamp(48px,5vw,68px);
    margin-bottom:12px;
  }
  body.classroom-auth-mode .classroom-hero p{
    font-size:14px;
  }
  body.classroom-auth-mode .classroom-auth{
    padding:20px 22px;
    gap:14px;
  }
  body.classroom-auth-mode .classroom-auth-copy p{
    font-size:12px;
  }
}


/* 2026-10-10 — teacher workspace redesign */
body.classroom-app:not(.classroom-auth-mode) .classroom-hero{display:none}
body.classroom-app:not(.classroom-auth-mode) .classroom-shell{
  padding-top:12px;
  padding-bottom:44px;
}
.classroom-workspace{display:block}
.classroom-workspace-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:26px;
  padding:24px 0 18px;
}
.classroom-workspace-intro h1{
  margin:4px 0 8px;
  font-size:clamp(42px,5vw,62px);
  line-height:.95;
  letter-spacing:-.06em;
}
.classroom-workspace-intro h1 span{color:var(--brand-cyan)}
.classroom-workspace-intro p{
  margin:0;
  max-width:620px;
  color:#8f9caf;
  font-size:14px;
  line-height:1.5;
}
.classroom-account-chip{
  min-width:250px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #2b3446;
  border-radius:16px;
  background:#0d1118;
}
.classroom-account-dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(72,226,146,.07);
}
.classroom-account-chip small{
  display:block;
  margin-bottom:3px;
  color:#6f7c91;
  font-size:8px;
  font-weight:950;
  letter-spacing:.13em;
}
.classroom-account-chip b{
  display:block;
  max-width:230px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e9eef6;
  font-size:12px;
}

.classroom-workspace-strip{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid #252d3d;
  border-radius:18px;
  background:#0b0f15;
}
.classroom-workspace-strip>div{
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  column-gap:9px;
  align-items:center;
}
.classroom-workspace-strip>div>span{
  grid-row:1/3;
  width:28px;height:28px;
  display:grid;place-items:center;
  border:1px solid rgba(127,231,255,.22);
  border-radius:9px;
  background:rgba(127,231,255,.045);
  color:var(--brand-cyan);
  font-size:10px;
  font-weight:950;
}
.classroom-workspace-strip b{
  color:#dfe6f1;
  font-size:11px;
  line-height:1.2;
}
.classroom-workspace-strip small{
  color:#69768a;
  font-size:9px;
  line-height:1.2;
}
.classroom-workspace-strip>i{
  color:#47546a;
  font-style:normal;
  font-size:15px;
}

.classroom-workspace-grid{
  grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr)!important;
  gap:14px!important;
}
.classroom-workspace .classroom-card{
  padding:22px;
  border-radius:22px;
  box-shadow:none;
  background:linear-gradient(180deg,rgba(17,21,29,.98),rgba(9,12,17,.98));
}
.classroom-workspace .classroom-card h2{
  margin:4px 0 4px;
  font-size:26px;
}
.classroom-card-sub{
  margin:0!important;
  color:#7f8b9f!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.classroom-create form{
  gap:12px;
  margin-top:14px;
}
.classroom-workspace .classroom-card textarea{
  min-height:78px;
  max-height:120px;
}
.classroom-workspace .classroom-card input,
.classroom-workspace .classroom-card textarea{
  border-color:#2b3446;
  background:#0b1017;
}
.classroom-answer-grid{gap:9px}
.classroom-form-row{
  display:grid;
  grid-template-columns:minmax(0,auto) minmax(180px,1fr);
  align-items:end;
  gap:16px;
}
.classroom-form-tip{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 10px;
  border:1px solid #222a38;
  border-radius:12px;
  background:#0b0f15;
  color:#748197;
  font-size:10px;
  line-height:1.35;
}
.classroom-form-tip span{
  flex:0 0 7px;
  width:7px;height:7px;border-radius:50%;
  background:var(--brand-cyan);
  box-shadow:0 0 12px rgba(127,231,255,.35);
}

.classroom-room{min-height:0!important}
.classroom-room-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.classroom-room-state{
  padding:6px 8px;
  border:1px solid rgba(72,226,146,.18);
  border-radius:999px;
  background:rgba(72,226,146,.035);
  color:#9edebd;
  font-size:8px;
  font-weight:950;
  letter-spacing:.13em;
}
.classroom-room-empty{
  min-height:285px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:24px 6px!important;
}
.classroom-empty-icon{
  width:40px;height:40px;
  display:grid;place-items:center;
  margin-bottom:14px;
  border:1px solid rgba(127,231,255,.18);
  border-radius:12px;
  background:rgba(127,231,255,.045);
  color:var(--brand-cyan);
  font-size:20px;
}
.classroom-room-empty b{
  color:#e8edf5;
  font-size:18px;
}
.classroom-room-empty p{
  max-width:320px;
  margin:7px 0 0;
  font-size:12px;
  line-height:1.5;
}

.classroom-secondary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:14px;
}
.classroom-secondary-grid .classroom-library,
.classroom-secondary-grid .classroom-history{
  margin-top:0!important;
}
.classroom-secondary-grid .classroom-library-head{
  margin:0 0 14px;
  align-items:flex-start;
}
.classroom-secondary-grid .classroom-poll,
.classroom-secondary-grid .classroom-history-item{
  padding:13px;
  border-radius:14px;
}
.classroom-secondary-grid .classroom-poll h3,
.classroom-secondary-grid .classroom-history-item h3{
  font-size:14px;
}
.classroom-secondary-grid .btn{
  padding:9px 11px;
  font-size:11px;
}

/* Teacher workspace header should stay clean; QA/stage language is internal only. */
body.classroom-app:not(.classroom-auth-mode) .classroom-brand small{
  color:#8d9aaf;
}
body.classroom-app:not(.classroom-auth-mode) .classroom-stage-map{display:none!important}

@media(min-width:901px) and (min-height:720px){
  body.classroom-app:not(.classroom-auth-mode) .classroom-shell{
    padding-top:4px;
  }
  .classroom-workspace-intro{
    padding:14px 0 12px;
  }
  .classroom-workspace-intro h1{
    font-size:52px;
  }
  .classroom-workspace-strip{
    margin-bottom:12px;
    padding:10px 12px;
  }
  .classroom-workspace .classroom-card{
    padding:18px 20px;
  }
  .classroom-workspace .classroom-card h2{
    font-size:23px;
  }
  .classroom-create form{
    gap:10px;
    margin-top:10px;
  }
  .classroom-workspace .classroom-card textarea{
    min-height:64px;
  }
  .classroom-workspace .classroom-card input,
  .classroom-workspace .classroom-card textarea{
    padding:10px;
  }
  .classroom-room-empty{
    min-height:240px;
  }
}

@media(max-width:900px){
  .classroom-workspace-intro{
    align-items:flex-start;
    flex-direction:column;
  }
  .classroom-account-chip{
    min-width:0;
    width:100%;
  }
  .classroom-workspace-strip{
    grid-template-columns:1fr 1fr;
  }
  .classroom-workspace-strip>i{display:none}
  .classroom-workspace-grid,
  .classroom-secondary-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px){
  body.classroom-app:not(.classroom-auth-mode) .classroom-shell{
    padding-top:0;
  }
  .classroom-workspace-intro{
    padding:10px 0 12px;
    gap:14px;
  }
  .classroom-workspace-intro h1{
    font-size:42px;
  }
  .classroom-workspace-strip{
    grid-template-columns:1fr;
    gap:7px;
  }
  .classroom-workspace .classroom-card{
    padding:17px;
    border-radius:19px;
  }
  .classroom-form-row{
    grid-template-columns:1fr;
  }
}



/* 2026-10-10 — teacher first-screen fit v3: balanced density */
@media(min-width:901px){
  body.classroom-app:not(.classroom-auth-mode) .classroom-shell{
    padding-top:2px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-intro{
    padding:12px 0 10px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-intro h1{
    font-size:50px!important;
    margin:3px 0 6px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-intro p{
    font-size:13px!important;
    line-height:1.4!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-account-chip{
    padding:10px 13px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-strip{
    margin-bottom:11px!important;
    padding:9px 11px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-strip>div>span{
    width:27px!important;
    height:27px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card{
    padding:16px 18px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card h2{
    font-size:22px!important;
    margin:3px 0 3px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-card-sub{
    font-size:10.5px!important;
    line-height:1.35!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-create form{
    gap:8px!important;
    margin-top:9px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-card label{
    gap:4px!important;
    font-size:10.5px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card textarea{
    min-height:58px!important;
    height:58px!important;
    max-height:78px!important;
    padding:9px 10px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card input{
    padding:9px 10px!important;
    min-height:40px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-answer-grid{
    gap:7px 9px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-form-row{
    gap:11px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-duration{
    gap:6px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-duration button{
    padding:7px 11px!important;
    font-size:10px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-form-tip{
    min-height:36px!important;
    padding:7px 9px!important;
    font-size:9.5px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) #savePollBtn{
    padding:11px 14px!important;
    margin-top:2px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-msg{
    min-height:12px!important;
    margin-top:2px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-room-empty{
    min-height:215px!important;
    padding:16px 4px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-brand small{
    display:none!important;
  }
}

@media(min-width:901px) and (max-height:760px){
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-intro h1{
    font-size:46px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace-strip{
    padding:7px 10px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card{
    padding:14px 16px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card textarea{
    min-height:52px!important;
    height:52px!important;
  }
  body.classroom-app:not(.classroom-auth-mode) .classroom-workspace .classroom-card input{
    min-height:37px!important;
    padding:8px 9px!important;
  }
}


/* Only account status uses the green live dot in teacher workspace */
body.classroom-app:not(.classroom-auth-mode) .classroom-dot{
  display:none!important;
}
body.classroom-app:not(.classroom-auth-mode) .classroom-account-dot{
  animation:classroomAccountPulse 1.5s ease-in-out infinite;
}
@keyframes classroomAccountPulse{
  0%,100%{transform:scale(1);opacity:.88;box-shadow:0 0 0 0 rgba(72,226,146,.42)}
  50%{transform:scale(1.15);opacity:1;box-shadow:0 0 0 6px rgba(72,226,146,0)}
}
@media (prefers-reduced-motion:reduce){
  body.classroom-app:not(.classroom-auth-mode) .classroom-account-dot{
    animation:none;
    box-shadow:0 0 12px rgba(72,226,146,.4);
  }
}


/* Teacher workspace title: Classroom lives beside the workspace title */
.classroom-workspace-title-row{
  display:flex;
  align-items:baseline;
  gap:18px;
  flex-wrap:wrap;
}
.classroom-workspace-title-row h1{
  margin-right:0!important;
}
.classroom-inline-brand{
  color:#eef4fb;
  font-size:18px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.025em;
  white-space:nowrap;
}
@media(max-width:620px){
  .classroom-workspace-title-row{
    gap:10px;
  }
  .classroom-inline-brand{
    font-size:15px;
  }
}






/* Teacher workspace identity v10 — tuck CLASSROOM to the workspace corner */
.classroom-workspace-title-row{
  position:relative;
  display:inline-block;
  padding-right:0;
  margin-bottom:2px;
}
.classroom-workspace-title-row h1{
  margin:0!important;
  display:inline-block;
}
.classroom-inline-brand{
  position:absolute;
  right:-82px;
  bottom:1px;
  display:block!important;
  color:var(--brand-cyan);
  font-size:10px;
  line-height:1;
  font-weight:950;
  letter-spacing:.17em;
  white-space:nowrap;
}
@media(max-width:620px){
  .classroom-inline-brand{
    right:-70px;
    bottom:1px;
    font-size:9px;
  }
}
