/* 学生空间 · 课堂驾驶舱视觉层
   只调整视觉层和响应式层级，不改变题目、接口或学习记录。 */
body.student-theme {
  --canvas:#0b1424; --surface:#111f35; --ink:#edf4ff; --muted:#8ea2bf; --line:#243754;
  --orange:#6d9cff; --orange-dark:#4e7de2; --orange-soft:rgba(109,156,255,.14);
  --green:#46d9a0; --green-soft:rgba(70,217,160,.14); --blue:#6d9cff; --blue-soft:rgba(109,156,255,.14);
  --radius:16px; --shadow:0 18px 55px rgba(0,0,0,.24);
  background-color:var(--canvas);
  background-image:radial-gradient(900px 460px at 78% -120px,rgba(88,130,255,.22),transparent 66%),linear-gradient(120deg,rgba(47,88,161,.08),transparent 45%);
}
body.student-theme::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.28; background-image:linear-gradient(rgba(154,186,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(154,186,255,.045) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,black,transparent 72%); }
.student-app .sidebar { width:228px; padding:28px 17px 20px; background:rgba(8,18,34,.9); border-right:1px solid rgba(125,158,214,.18); box-shadow:16px 0 40px rgba(0,0,0,.16); backdrop-filter:blur(20px); }
.student-app .brand { color:#f5f8ff; margin-bottom:34px; padding:0 10px; }
.student-app .brand-mark { width:38px; height:38px; flex-basis:38px; border-radius:13px; background:linear-gradient(145deg,#83b0ff,#4e73df); box-shadow:0 8px 22px rgba(78,125,226,.38); }
.student-app .brand-sub { color:#91a6c6; letter-spacing:1.5px; }
.student-app .nav-items { gap:6px; }
.student-app .nav-button { min-height:46px; border-radius:12px; color:#91a4c1; gap:12px; }
.student-app .nav-button:hover { background:rgba(121,158,226,.1); color:#eaf2ff; }
.student-app .nav-button[aria-current=page] { background:linear-gradient(135deg,#5b8df6,#466fd2); color:#fff; box-shadow:0 9px 24px rgba(70,111,210,.35); }
.student-app .nav-button small { background:rgba(255,255,255,.1); color:#cfe0ff; }
.student-nav-divider { background:rgba(125,158,214,.18); margin:18px 10px 14px; }
.student-app .sidebar-foot { border-color:rgba(125,158,214,.18); color:#8195b2; }
.student-app .sidebar-foot .student-account-name { color:#dce8fb; }
.student-app .workspace { margin-left:228px; }
.student-app .topbar { height:72px; padding-inline:clamp(24px,4vw,52px); background:rgba(11,20,36,.7); border-color:rgba(125,158,214,.16); backdrop-filter:blur(20px); }
.student-app .breadcrumb { color:#8ca1bf; }.student-app .breadcrumb strong { color:#eef5ff; }
.student-app .grade-select,.student-app .school-demo-control select { background:#13243d!important; border-color:#2e476d!important; color:#dfeaff!important; border-radius:10px!important; }
.student-app .avatar { background:linear-gradient(145deg,#29456f,#1a2e4c); color:#e3eeff; border:1px solid #3a5b8f; }
.student-app .page { max-width:1280px; padding:42px clamp(24px,4vw,56px) 70px; }
.student-app h1 { font-size:34px; letter-spacing:-.8px; color:#f4f8ff; }.student-app h2 { color:#e8f0fc; }
.student-theme .btn { border-radius:11px; min-height:42px; transition:transform .18s,box-shadow .18s,background .18s,border-color .18s; }
.student-theme .btn:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 8px 22px rgba(26,64,126,.3); }
.student-theme .btn.primary { background:linear-gradient(135deg,#6d9cff,#4b76df); box-shadow:0 8px 22px rgba(70,111,210,.28); }
.student-theme .btn.primary:hover:not(:disabled) { background:linear-gradient(135deg,#7ca8ff,#5b83ed); }
.student-theme .btn.secondary { background:#152640; border-color:#2b466d; color:#dbe8ff; }.student-theme .btn.secondary:hover:not(:disabled) { background:#1b3152; border-color:#5276ae; }
.student-theme .btn.ghost { color:#9cb0ce; }.student-theme .btn.ghost:hover:not(:disabled) { color:#e6f0ff; background:rgba(123,161,231,.1); }
.student-theme :focus-visible { outline:2px solid #79a6ff; outline-offset:3px; }
.student-theme input,.student-theme textarea,.student-theme select { background:#13243d; border-color:#2e476d; color:#e9f2ff; border-radius:10px; }
.student-theme textarea:focus,.student-theme input:focus,.student-theme select:focus { border-color:#76a2ff; box-shadow:0 0 0 4px rgba(109,156,255,.14); }
.student-theme .panel,.student-theme .stat-card,.student-theme .wrong-card,.student-app .review-card { background:linear-gradient(145deg,rgba(20,37,62,.96),rgba(14,28,49,.96)); border-color:#263e61; border-radius:16px; box-shadow:var(--shadow); }
.student-app .hero-card { background:linear-gradient(135deg,#172f55,#182844 60%,#213b68); border-color:#355988; box-shadow:0 22px 60px rgba(5,18,41,.45); }
.student-app .badge { background:rgba(126,165,239,.13); color:#b8d0f8; border:1px solid rgba(126,165,239,.16); border-radius:999px; }
.student-app .subject-icon { background:rgba(126,165,239,.15); color:#a9c5f4; border-radius:10px; }
.student-app .student-day-summary,.student-app .student-section-heading { border-color:rgba(125,158,214,.18); }
.student-app .stat-value,.student-app .xp-pill { color:#a9c7ff; }
.student-app .nav-button[aria-current=page] { animation:none; }
.student-app .student-date,.student-app .student-subject { color:#a8c9ff; }
.student-app .student-date::before { background:#7eacff; }
.student-app .student-stat-strip { background:linear-gradient(120deg,#152741,#102039); border-color:#2a456a; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.student-app .student-stat-strip::before { background:linear-gradient(90deg,transparent,#6b9cff88,transparent); }
.student-app .student-stat-flame { color:#8ab5ff; }.student-app .student-stat-label { color:#a3b5ce; }
.student-app .student-week-bar.today i { background:#79a7ff; box-shadow:none; }
.student-app .student-next,.student-app .student-question-box { background:linear-gradient(150deg,#182c49,#122138); border:1px solid #2b466c; border-radius:18px; box-shadow:0 16px 35px #030c192e; }
.student-app .student-next { border-top:3px solid #7caaFF; }
.student-app .student-next-body h3 { color:#f2f6ff; }.student-app .student-question-preview,.student-app .student-first-question>p,.student-app .student-question-box label { color:#b7c8df; }
.student-app .student-question-source,.student-app .student-section-heading>span { color:#9db2cf; }
.student-app .student-live-link { display:flex;align-items:center;justify-content:space-between;gap:12px;background:#182e4c;border-color:#3b5c89;color:#d3e4ff;min-height:58px; }
.student-app .student-live-link .muted { color:#a6bedf; }
.student-app .student-live-banner { background:linear-gradient(120deg,#14775a,#165d60);border:1px solid #50caa488;box-shadow:0 10px 24px #061e1d44; }
.student-app .today-buddy { grid-template-columns:130px minmax(0,1fr);background:linear-gradient(130deg,#14293d,#152a30);border-color:#2a4958;padding:18px 24px;box-shadow:none;margin-top:24px; }
.student-app .today-buddy-avatar { width:104px; }.student-app .today-buddy-pet:hover { background:#b7e3f009; }
.student-app .today-buddy-petinfo strong { color:#def0ed; }.student-app .today-buddy-lv { color:#a3e4cf;background:#285449; }
.student-app .today-buddy-stage,.student-app .today-buddy-hint { color:#aac7c6; }
.student-app .today-buddy-hunger { background:#24443f; }.student-app .today-buddy-hunger i { background:#66cfac; }
.student-app .today-buddy-bubble { background:#183647;border-color:#345768;color:#d4e8ee;box-shadow:none; }
.student-app .today-buddy-bubble::after { border-right-color:#183647; }
.student-app .today-buddy-stats { color:#b5d4d7; }.student-app .today-buddy-concepts-label { color:#a8c9c9; }
.student-app .today-buddy-concept { background:#23473e;border-color:#3c695d;color:#c9eddb; }
.student-app .badges-card { background:#142239;border-color:#2a3f60;color:#dce6fa; }
.student-app .badges-card summary .muted { color:#9aaecb; }.student-app .badge-item { background:#172840;border-color:#2d4363;opacity:1;color:#a3b4cc; }
.student-app .badge-item.earned { background:linear-gradient(135deg,#373329,#1e2b3d);border-color:#817047;color:#f0dca8; }
.student-app .teacher-push-card,.student-app .teacher-push-box { background:#162a43;border-color:#345579;color:#e0ecfd; }
.student-app .student-more-nav>div { background:#14243b;border-color:#30486a; }
.student-app .student-more-nav>summary,.student-app .student-more-nav>summary.active { color:#c9dcff; }
.student-app .student-more-nav[open]>summary,.student-app .student-more-nav>summary.active { background:#294770; }
@media(max-width:720px){ .student-app .workspace{margin-left:0}.student-app .sidebar{width:100%;background:rgba(8,18,34,.96);border-top-color:#263e61}.student-app .topbar{height:62px;padding-inline:16px}.student-app .page{padding:28px 18px 38px}.student-app h1{font-size:28px}.student-theme .panel,.student-theme .stat-card,.student-theme .wrong-card,.student-app .review-card{border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.2)} }
@media(max-width:720px){.student-app .today-buddy{grid-template-columns:92px minmax(0,1fr);padding:16px 12px;gap:12px}.student-app .today-buddy-avatar{width:80px}.student-app .today-buddy-bubble::after{display:none}.student-app .student-live-link{font-size:13px;flex-wrap:wrap}.student-app .grade-lock{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-app .student-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.student-app .student-stat-label{font-size:11px;white-space:normal}.student-app .student-stat-num{font-size:23px}}
@media(prefers-reduced-motion:reduce){.student-theme .btn:hover:not(:disabled){transform:none}.student-app .nav-button[aria-current=page]{animation:none}}
