/* 桌面公开课投屏模式 */
body.classroom #hud,body.classroom #edu,body.classroom #ladder,
body.classroom #dock,body.classroom #planetbar,body.classroom #gestureHud{display:none!important;}
body.classroom #ctrls,body.classroom #moreMenu{display:none!important;}
body.classroom.scene-transition #classHero{opacity:0;transform:translate(-50%,5px);}

#cleanBadge{position:fixed;right:18px;bottom:18px;z-index:22;display:none;gap:8px;align-items:center;
  border:1px solid var(--line-strong);border-radius:999px;background:rgba(8,11,24,.78);
  backdrop-filter:blur(12px);padding:8px 10px;box-shadow:0 12px 34px rgba(0,0,0,.32);}
body.classroom.clean #cleanBadge{display:flex;}
body.classroom.clean #classroomPanel,body.classroom.clean #classReadout,body.classroom.clean #classLayers{display:none!important;}
body.classroom.clean #classHero .hsub{display:none;}
#cleanBadge button{min-height:36px;border:1px solid var(--line-strong);background:rgba(255,255,255,.05);color:#eaf0ff;
  border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;}
#cleanBadge button.primary{background:var(--gold);color:#111827;border-color:rgba(255,207,122,.8);font-weight:900;}

#classroomPanel{position:fixed;left:50%;bottom:18px;z-index:18;transform:translateX(-50%);
  width:min(1120px,calc(100vw - 36px));display:none;padding:9px 10px;
  background:rgba(8,11,24,.82);border:1px solid var(--line-strong);border-radius:12px;
  backdrop-filter:blur(14px);box-shadow:0 18px 58px rgba(0,0,0,.38);}
body.classroom #classroomPanel{display:block;}
#classroomPanel .compact-row{min-height:46px;display:flex;align-items:center;gap:16px;}
#classroomPanel .compact-title{min-width:220px;flex:1;display:grid;gap:3px;overflow:hidden;}
#classroomPanel .compact-title span{display:flex;align-items:center;gap:8px;}
#classroomPanel .compact-title b{font-size:11px;color:#9fc1ff;letter-spacing:.5px;}
#classroomPanel .compact-title small{color:var(--gold);font-size:11px;font-weight:800;}
#classroomPanel .compact-title strong{font-size:16px;color:#fff;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#classroomPanel .compact-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;}
#classroomPanel button{min-height:36px;border:1px solid var(--line);background:rgba(255,255,255,.045);
  color:#dbe4ff;border-radius:8px;padding:7px 11px;font-size:13px;cursor:pointer;transition:.18s;white-space:nowrap;}
#classroomPanel button:hover{border-color:rgba(122,162,255,.58);color:#fff;background:rgba(122,162,255,.12);}
#classroomPanel button.primary{color:#111827;background:var(--gold);border-color:rgba(255,207,122,.8);font-weight:800;}
#classroomPanel button.on{color:#fff;background:rgba(122,162,255,.22);border-color:rgba(122,162,255,.55);}
#classroomPanel .class-details{display:none;max-height:214px;overflow:auto;padding-top:10px;border-top:1px solid var(--line);}
body.classroom.tray-open #classroomPanel .class-details{display:block;}
#classroomPanel .presets{display:flex;gap:6px;flex-wrap:wrap;}
#classroomPanel .preset{min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;}
#classroomPanel .preset.on{color:#111827;background:var(--gold);border-color:rgba(255,207,122,.8);font-weight:900;}
#classroomPanel .cgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px;}
#classroomPanel .citem{border:1px solid rgba(140,165,230,.16);border-radius:8px;padding:8px 9px;
  background:rgba(122,162,255,.06);min-height:70px;}
#classroomPanel .citem b{display:block;color:#9fc1ff;font-size:11px;margin-bottom:4px;}
#classroomPanel .citem span{display:block;color:#d9e3ff;font-size:12px;line-height:1.45;}
#classroomPanel .ccontrols{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;margin-top:8px;
  padding:8px 9px;border:1px solid rgba(140,165,230,.14);border-radius:9px;background:rgba(255,255,255,.03);}
#classroomPanel .ccontrols .play{min-width:58px;text-align:center;}
#classroomPanel .ccontrols .date{min-width:66px;text-align:right;color:#ffcf7a;font-weight:900;font-size:12px;}
#classroomPanel .ccontrols input[type=range]{width:100%;height:4px;border-radius:999px;appearance:none;outline:none;
  background:linear-gradient(90deg,#9fd1ff 0 25%,#ffe28a 25% 50%,#ffb36d 50% 75%,#a8c0ff 75% 100%);}
#classroomPanel .ccontrols input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;
  border:2px solid #fff;background:#ffcf7a;box-shadow:0 0 12px rgba(255,207,122,.65);cursor:pointer;}
#classroomPanel .season-marks{display:none;}
#classroomPanel .cbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;}
#classroomPanel .cdots{display:flex;gap:5px;align-items:center;}
#classroomPanel .cdot{width:6px;height:6px;border-radius:50%;background:rgba(140,165,230,.35);}
#classroomPanel .cdot.on{width:18px;border-radius:999px;background:var(--gold);}
#classroomPanel .cactions{display:flex;gap:6px;}
body.classroom #mission.show{display:block;left:16px;bottom:96px;width:310px;max-height:min(360px,calc(100dvh - 210px));z-index:20;}

#classHero{position:fixed;top:82px;left:50%;z-index:17;transform:translateX(-50%);display:none;
  width:min(920px,calc(100vw - 80px));text-align:center;pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
body.classroom #classHero{display:block;}
#classHero .hmain{font-size:clamp(34px,3.8vw,48px);line-height:1.08;font-weight:950;color:#fff;
  text-shadow:0 3px 22px rgba(0,0,0,.75),0 0 1px rgba(255,255,255,.5);}
#classHero .hsub{margin-top:7px;color:#b9c4e6;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;}

#classReadout{position:fixed;right:16px;top:132px;z-index:17;display:none;width:244px;
  border:1px solid var(--line-strong);border-radius:12px;background:rgba(8,11,24,.84);
  backdrop-filter:blur(14px);box-shadow:0 18px 48px rgba(0,0,0,.32);overflow:hidden;}
body.classroom.readout-open #classReadout{display:block;}
#classReadout .rt{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 10px 8px;
  color:#eaf0ff;font-weight:900;font-size:13px;}
#classReadout .rt button,#classLayers .lt button{width:28px;height:28px;border:1px solid var(--line);border-radius:7px;
  background:rgba(255,255,255,.04);color:#aeb9dd;font-size:17px;cursor:pointer;}
#classReadout .season{color:#111827;background:var(--gold);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;}
#classReadout .rgrid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(140,165,230,.14);}
#classReadout .cell{padding:9px 11px;border-right:1px solid rgba(140,165,230,.12);border-bottom:1px solid rgba(140,165,230,.12);}
#classReadout .cell:nth-child(2n){border-right:none;}
#classReadout .k{display:block;color:#8f9dc5;font-size:10px;margin-bottom:5px;}
#classReadout .v{display:block;color:#fff;font-size:19px;font-weight:900;font-variant-numeric:tabular-nums;}
#classReadout .mini{height:82px;margin:9px 11px 10px;border-radius:9px;border:1px solid rgba(140,165,230,.16);
  background:radial-gradient(circle at 48% 45%,rgba(95,160,255,.22),rgba(5,12,30,.92) 62%,rgba(3,4,10,.98));position:relative;overflow:hidden;}
#classReadout .mini:before{content:"";position:absolute;left:50%;top:50%;width:62px;height:62px;border-radius:50%;
  transform:translate(-50%,-50%);background:linear-gradient(90deg,#111a2c 0 45%,#2f84d8 48%,#8fc7ff 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 18px rgba(122,162,255,.35);}
#classReadout .mini:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:76px;background:rgba(221,240,255,.65);
  transform:translate(-50%,-50%) rotate(var(--axisTilt,23deg));}
#classReadout .observer{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:0 11px 11px;}
#classReadout .observer button{height:30px;border-radius:8px;border:1px solid var(--line);
  background:rgba(255,255,255,.04);color:#aeb9dd;font-size:11px;cursor:pointer;}
#classReadout .observer button.on{color:#111827;background:var(--gold);border-color:rgba(255,207,122,.85);font-weight:900;}

#classLayers{position:fixed;left:16px;top:132px;z-index:17;display:none;width:220px;
  border:1px solid var(--line-strong);border-radius:12px;background:rgba(8,11,24,.84);
  backdrop-filter:blur(14px);box-shadow:0 18px 48px rgba(0,0,0,.32);padding:11px;}
body.classroom.layers-open #classLayers{display:block;}
#classLayers .lt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
#classLayers .lt b{font-size:14px;color:#eef3ff;}
#classLayers .lt>span{display:flex;align-items:center;gap:7px;}
#classLayers .lt small{font-size:9px;color:#7180a8;letter-spacing:2px;text-transform:uppercase;}
#classLayers .tog{display:flex;align-items:center;justify-content:space-between;gap:10px;height:32px;
  color:#cdd7f4;font-size:12px;border-top:1px solid rgba(140,165,230,.10);}
#classLayers .tog:first-of-type{border-top:none;}
#classLayers input{appearance:none;width:36px;height:20px;border-radius:999px;position:relative;cursor:pointer;
  background:rgba(140,165,230,.25);border:1px solid rgba(255,255,255,.10);transition:.18s;}
#classLayers input:before{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#aab4d2;transition:.18s;}
#classLayers input:checked{background:rgba(122,162,255,.78);}
#classLayers input:checked:before{transform:translateX(16px);background:#fff;}
#classLayers .legend{display:grid;gap:5px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(140,165,230,.12);
  color:#8f9dc5;font-size:10px;line-height:1.35;}
#classLayers .legend span{display:flex;align-items:center;gap:6px;}
#classLayers .sw{width:15px;height:2px;border-radius:999px;background:#fff;}
#classLayers .sw.sun{background:#ffc85a;}.sw.term{background:#fff;}.sw.lat{background:#ff8fb3;}.sw.orbit{background:#8bdcff;}

@media(max-height:760px){
  #classHero{top:72px;}
  #classHero .hmain{font-size:34px;}
  #classroomPanel{bottom:12px;}
  body.classroom.tray-open #classroomPanel .class-details{max-height:188px;}
  #classroomPanel .citem{min-height:62px;}
}
