/* ============================================================
   V2 · 影院级暗色主题（先声夺人）
   基调：近黑画布 + 纯白大标题 + 单一红色电压 #da291c
   加载顺序：student.css 之后，覆盖亮色规则
   ============================================================ */

/* ---------- 全局基调 ---------- */
body.student-theme{--canvas:#181818;--surface:#1e1f23;--ink:#f4f4f3;--muted:#9a9a97;--line:#2c2d31;--orange:#da291c;--orange-dark:#b81f0c;--orange-soft:rgba(218,41,28,.14);--green:#03904a;--green-soft:rgba(3,144,74,.16);--radius:12px;color-scheme:dark;background-color:#181818;background-image:radial-gradient(1100px 480px at 75% -140px,rgba(218,41,28,.13),transparent 65%);background-repeat:no-repeat}

/* ---------- 侧栏 ---------- */
.student-app .sidebar{background:#101114;border-right:1px solid #26272b;color:#9aa0ab}
.student-app .brand{color:#fff}
.student-app .brand-mark{background:linear-gradient(135deg,#e0321f,#b81f0c);border-radius:11px 11px 11px 4px;box-shadow:0 6px 18px rgba(218,41,28,.35);font-weight:700}
.student-app .brand-sub{color:#7d818c;letter-spacing:2px}
.student-app .nav-button{color:#9aa0ab;border-radius:10px;transition:background .16s,color .16s,box-shadow .16s}
.student-app .nav-button:hover{background:rgba(255,255,255,.05);color:#fff}
.student-app .nav-button[aria-current=page]{background:linear-gradient(135deg,#e0321f,#b81f0c);color:#fff;box-shadow:0 6px 18px rgba(218,41,28,.30);font-weight:650;animation:navGlow 2.4s ease-in-out infinite}
.student-app .nav-button small{background:rgba(255,255,255,.10);color:#c9ccd1}
.student-app .nav-button[aria-current=page] small{background:rgba(255,255,255,.22);color:#fff}
.student-nav-divider{background:#26272b}
.student-app .sidebar-foot{border-top:1px solid #26272b;color:#8b8f98}
.student-app .sidebar-foot .student-account-name{color:#e8e9eb}
@keyframes navGlow{0%,100%{box-shadow:0 6px 18px rgba(218,41,28,.30)}50%{box-shadow:0 6px 26px rgba(218,41,28,.48)}}

/* ---------- 顶栏 ---------- */
.student-app .topbar{background:rgba(24,24,24,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-color:#26272b}
.student-app .breadcrumb{color:#8b8f98}
.student-app .breadcrumb strong{color:#f0f0ef}
.student-app .grade-select,.student-app .school-demo-control select{background:#202226!important;border:1px solid #34353a!important;color:#e8e9ea!important}
.student-app .avatar{background:#26272b;color:#e8e9ea;border:1px solid #3a3b40}

/* ---------- 标题字级：纯白大标题是冲击力来源 ---------- */
.student-app h1{font-size:32px;font-weight:750;letter-spacing:-.8px;color:#fff}
.student-app h2{color:#f0f0ef}

/* ---------- 按钮 ---------- */
.student-theme .btn{border-radius:10px;font-weight:600;transition:background .16s,transform .16s,box-shadow .16s,border-color .16s,color .16s}
.student-theme .btn:hover:not(:disabled){transform:translateY(-1px)}
.student-theme .btn.primary{background:#da291c;color:#fff;box-shadow:0 6px 18px rgba(218,41,28,.28)}
.student-theme .btn.primary:hover:not(:disabled){background:#b81f0c;box-shadow:0 8px 22px rgba(218,41,28,.38)}
.student-theme .btn.secondary{background:#222327;border-color:#34353a;color:#e8e9ea}
.student-theme .btn.secondary:hover:not(:disabled){border-color:rgba(218,41,28,.55);background:#26272c;color:#fff}
.student-theme .btn.ghost{color:#9aa0ab}
.student-theme .btn.ghost:hover:not(:disabled){color:#fff;background:rgba(255,255,255,.06)}

/* ---------- 表单控件 ---------- */
.student-theme :focus-visible{outline:2px solid #da291c;outline-offset:3px}
.student-theme textarea:focus,.student-theme input:focus,.student-theme select:focus{border-color:#da291c;box-shadow:0 0 0 3px rgba(218,41,28,.15)}
.student-theme input,.student-theme textarea,.student-theme select{background:#202226;border-color:#34353a;color:#eceff1;border-radius:8px}
.student-theme .field{color:#b6b9be}
.student-theme .muted{color:#9a9aa0}
.student-theme ::selection{background:rgba(218,41,28,.4)}
.student-theme ::-webkit-scrollbar{width:10px;height:10px}
.student-theme ::-webkit-scrollbar-thumb{background:#34353a;border-radius:6px;border:2px solid #181818}
.student-theme ::-webkit-scrollbar-thumb:hover{background:#46484f}
.student-theme ::-webkit-scrollbar-track{background:transparent}

/* ---------- 面板 / 卡片 ---------- */
.student-theme .panel,.student-theme .stat-card,.student-theme .wrong-card,.student-app .review-card{background:#1e1f23;border:1px solid #2b2c31;border-radius:14px;box-shadow:0 14px 36px rgba(0,0,0,.35)}
.student-theme .modal{background:#1e1f23;border:1px solid #303136;box-shadow:0 24px 70px rgba(0,0,0,.6)}
.student-app .badge{background:#26272c;color:#a8adb6}
.student-theme .badge.green{background:rgba(3,144,74,.18);color:#3ecf78}
.student-theme .badge.orange,.student-theme .badge.red{background:rgba(218,41,28,.16);color:#ff8a7a}
.student-app .subject-icon{background:rgba(218,41,28,.13);color:#ff8a7a}
.student-app .stat-value{color:#fff}
.student-app .chip{background:#202226;border-color:#34353a;color:#c9ccd1}
.student-app .chip:hover{border-color:rgba(218,41,28,.5)}
.student-app .chip.active,.student-app .paper-numbers .chip.active{background:#da291c;border-color:#da291c;color:#fff}

/* ---------- 首页 ---------- */
.student-date{display:flex;align-items:center;gap:10px;color:#ff6f5e;font-weight:700;letter-spacing:1px;margin-bottom:8px}
.student-date::before{content:'';width:22px;height:2px;background:#da291c;border-radius:2px}
.student-day-summary{border-bottom-color:#26272b;color:#9a9a97}
.student-day-summary strong{color:#fff;font-weight:700}
.student-day-summary>button:hover{color:#ff6f5e}
.student-next,.student-question-box{position:relative;overflow:hidden;background:linear-gradient(180deg,#232428,#1b1c20);border:1px solid #2e2f34;border-radius:16px;box-shadow:0 16px 44px rgba(0,0,0,.38);transition:transform .18s,border-color .18s}
.student-next:hover{transform:translateY(-2px);border-color:#3a3b41}
.student-next::before,.student-question-box::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,41,28,.5),transparent)}
.student-section-heading h2{color:#f0f0ef}
.student-section-heading>span{color:#8b8f98}
.student-subject{color:#ff6f5e;font-weight:650}
.student-next-body h3{color:#fff;font-size:26px;font-weight:700;letter-spacing:-.3px}
.student-question-preview{color:#c8cacd}
.student-question-source{color:#8b8f98}
.student-next-actions{border-top:1px solid #2b2c31}
.student-next-actions .btn.primary span{transition:transform .18s}
.student-next-actions .btn.primary:hover span{transform:translateX(3px)}
.student-question-box{background:linear-gradient(180deg,#1f2024,#1a1b1e)}
.student-question-box textarea{background:#18191c;border-color:#303136;color:#eceff1}
.student-question-box textarea::placeholder{color:#7c8087}
.student-question-box label{color:#9a9a97}
.student-preferences{border-bottom-color:#26272b}
.student-preferences summary{color:#b6b9be}
.student-preference-value{color:#8b8f98}
.student-preference-toggle{color:#ff6f5e}
.student-home-question-row{border-top-color:#26272b}
.student-home-question-row strong{color:#e8e9eb}
.student-home-question-row small{color:#8b8f98}
.student-home-question-row:hover,.student-paper-row:hover{background:rgba(255,255,255,.035)}
.student-paper-row{border-bottom-color:#26272b}
.student-paper-kind{background:rgba(218,41,28,.13);color:#ff8a7a;font-weight:650;border-radius:8px}
.student-paper-name strong{color:#eceff1}
.student-paper-name small{color:#8b8f98}
.student-paper-count{color:#8b8f98}
.student-paper-arrow{color:#8b8f98;transition:color .16s,transform .16s}
.student-paper-row:hover .student-paper-arrow{color:#ff6f5e;transform:translateX(2px)}
.student-row-subject{color:#8b8f98}
.student-inline-status{color:#8b8f98}
.student-home-footer{color:#8b8f98;border-top:1px solid #26272b;padding-top:16px}

/* ---------- 练习 / 答题 / 错题 / 导师 ---------- */
.student-app .answer-box,.student-app .hint-box,.student-app .reflection-box{background:#202226;border-color:#303136;color:#d6d8db}
.student-app .option{background:#202226;border-color:#303136;color:#e5e7ea}
.student-app .option.selected{border-color:#da291c;background:rgba(218,41,28,.12)}
.student-theme .option-correct{background:rgba(3,144,74,.16)!important;border:2px solid #03904a!important}
.student-theme .option-correct .option-key{background:#03904a;color:#fff}
.student-theme .option-wrong{background:rgba(241,58,44,.14)!important;border:2px solid #e0321f!important}
.student-theme .option-wrong .option-key{background:#e0321f;color:#fff}
#review-result-label{position:sticky;top:8px;z-index:5;box-shadow:0 2px 14px rgba(0,0,0,.5)}
.student-app .paper-coverage{background:rgba(218,41,28,.07);border-color:rgba(218,41,28,.4);color:#e8c7c2;border-radius:10px}
.student-app .paper-numbers .chip{border-color:#34353a;color:#9aa0ab;background:transparent}
.student-app .paper-numbers .chip.active{background:#da291c;border-color:#da291c;color:#fff}
.student-app .solution-upload{background:#202226;border-color:#303136}
.student-app .solution-upload p{color:#9a9a97}
.student-app .tutor-conversation{background:#1e1f23;border-color:#2b2c31}
.student-app .tutor-composer{background:#18191c;border-top-color:#26272b}
.student-app .tutor-user>div{background:rgba(218,41,28,.12);color:#eceff1}
.student-app .tutor-avatar{background:rgba(218,41,28,.16);color:#ff8a7a}
.student-app .tutor-history-item.active{background:#26272c}
.student-app .tutor-context{background:#202226;color:#9aa0ab}
.student-theme .grading-verdict.grading-correct{color:#3ecf78}
.student-theme .grading-verdict.grading-check{color:#ff8a7a}
.student-theme .toast{background:#26272c;color:#eceff1;border:1px solid #34353a}
.student-app .hero-card{background:#1e1f23;border-color:#2b2c31}

/* ---------- 切屏翻转过场 ---------- */
@keyframes pageFlipIn{0%{opacity:0;transform:perspective(1400px) rotateY(-12deg) translateX(38px)}100%{opacity:1;transform:perspective(1400px) rotateY(0deg) translateX(0)}}
@keyframes pageFlipOut{0%{opacity:1;transform:none}100%{opacity:0;transform:perspective(1400px) rotateY(9deg) translateX(-26px)}}
.page-flip .page{animation:pageFlipIn .42s cubic-bezier(.22,.9,.30,1) both;transform-origin:left center}
.page-flip-out .page{animation:pageFlipOut .16s ease-in both;transform-origin:left center}
@media (prefers-reduced-motion:reduce){.page-flip .page,.page-flip-out .page{animation:none}}
@media print{body.student-theme{background-image:none}.page-flip .page{animation:none}}

/* ---------- 登录页暗色（auth-dark 挂在 body 上） ---------- */
body.auth-dark{background-color:#101114;background-image:radial-gradient(900px 460px at 78% -120px,rgba(218,41,28,.16),transparent 65%);background-repeat:no-repeat;color:#e8e9eb;color-scheme:dark}
body.auth-dark .brand{color:#fff}
body.auth-dark .brand-mark{background:linear-gradient(135deg,#e0321f,#b81f0c);box-shadow:0 6px 18px rgba(218,41,28,.35)}
body.auth-dark .eyebrow{color:#ff6f5e}
body.auth-dark .auth-intro h1{color:#fff;font-weight:750}
body.auth-dark .auth-intro h1 span{color:#e0321f}
body.auth-dark .auth-intro>p{color:#9aa0ab}
body.auth-dark .auth-card{background:#1b1c20;border:1px solid #2b2c31;box-shadow:0 24px 70px rgba(0,0,0,.55);border-radius:20px}
body.auth-dark .auth-card h2{color:#f0f0ef}
body.auth-dark .auth-card>.muted{color:#9a9aa0}
body.auth-dark .auth-tabs{background:#202226}
body.auth-dark .auth-tabs button{color:#8b8f98}
body.auth-dark .auth-tabs button.active{background:#da291c;color:#fff;box-shadow:0 4px 14px rgba(218,41,28,.35)}
body.auth-dark .auth-tabs button:not(.active):hover{color:#fff}
body.auth-dark .school-role-choice{background:#202226;border:1px solid #2e2f34;color:#e8e9eb}
body.auth-dark .school-role-choice strong{color:#fff}
body.auth-dark .school-role-choice span{color:#8b8f98}
body.auth-dark .school-role-choice[aria-pressed=true]{border-color:#da291c;background:rgba(218,41,28,.10)}
body.auth-dark .field{color:#b6b9be}
body.auth-dark .field input,body.auth-dark .field select{background:#18191c;border-color:#34353a;color:#eceff1}
body.auth-dark .auth-form-submit,body.auth-dark #auth-form .btn.primary{min-height:46px}
body.auth-dark #auth-error:empty{display:none}

/* ---------- 游戏中心：题图/反馈/解析适配暗色（题图保持白底便于读题） ---------- */
.student-theme .game-question-image{background:#f5f6f8;border-color:#303136}
.student-theme .game-explanation{background:#202226;border-left-color:#e0321f;color:#d6d8db}
.student-theme .game-feedback.correct{background:rgba(3,144,74,.16);color:#3ecf78}
.student-theme .game-feedback.wrong{background:rgba(218,41,28,.14);color:#ff8a7a}
.student-theme .review-card,.student-theme .game-card{background:#1e1f23;border-color:#2b2c31}

/* ---------- 自主练习：题型卡（场馆入口式）与题目行 ---------- */
.student-theme .paper-type-tab{background:#202226;border-color:#2e2f34;color:#e8e9ea;border-radius:14px;padding:20px 22px;box-shadow:0 10px 28px rgba(0,0,0,.32);transition:transform .16s,border-color .16s,box-shadow .16s}
.student-theme .paper-type-tab:hover{transform:translateY(-2px);border-color:rgba(218,41,28,.5);box-shadow:0 14px 34px rgba(0,0,0,.45)}
.student-theme .paper-type-tab.active{border-color:#da291c;background:linear-gradient(160deg,rgba(218,41,28,.16),rgba(218,41,28,.05));box-shadow:0 10px 30px rgba(218,41,28,.18)}
.student-theme .paper-type-tab strong{color:#fff;font-size:28px;font-weight:750}
.student-theme .paper-type-tab small{color:#8b8f98}
.student-theme .paper-type-tab.active span{color:#ff6f5e;font-weight:650}
.student-theme .paper-typed-row{border-top-color:#26272b}
.student-theme .paper-typed-row h2{color:#eceff1}
.student-theme .paper-stem-preview{color:#b9bcc2}
.student-theme .student-paper-list-entry{border-top-color:#26272b}
.student-theme .student-paper-list-entry h2{color:#eceff1}
.student-theme .student-paper-list-entry .paper-metadata,.student-theme .student-paper-list-entry .paper-description>p:last-child{color:#8b8f98}
.student-theme .paper-mode-tabs .chip.active{background:#da291c;border-color:#da291c;color:#fff}
.student-theme .paper-directory>a,.student-theme .paper-directory h2{color:#c9ccd1}
.student-theme .paper-pagination .btn:disabled{opacity:.35;cursor:not-allowed}

/* ---------- 首页数据横幅（连续天数/今日/XP/掌握/待复习+周柱状图） ---------- */
.student-stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto auto;align-items:center;gap:26px;background:linear-gradient(120deg,#22242a 0%,#1b1c20 55%,#221316 100%);border:1px solid #2e2f34;border-radius:16px;padding:18px 26px;margin:0 0 30px;box-shadow:0 16px 40px rgba(0,0,0,.38);position:relative;overflow:hidden}
.student-stat-strip::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,41,28,.55),transparent)}
.student-stat{display:flex;flex-direction:column;gap:4px;min-width:0}
.student-stat-num{font-size:26px;font-weight:750;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1.1}
.student-stat-num.student-stat-flame{color:#ff6f5e}
.student-stat-num.student-stat-due{color:#ffb020}
.student-stat-label{font-size:11px;color:#8b8f98;letter-spacing:.5px;white-space:nowrap}
.student-week-chart{display:flex;align-items:flex-end;gap:5px;height:44px;padding:0 6px}
.student-week-bar{width:9px;height:100%;display:flex;align-items:flex-end;border-radius:3px;background:rgba(255,255,255,.05)}
.student-week-bar i{display:block;width:100%;border-radius:3px;background:linear-gradient(180deg,#5a5c63,#3a3b41)}
.student-week-bar.today i{background:linear-gradient(180deg,#ff5f4b,#b81f0c);box-shadow:0 0 12px rgba(218,41,28,.5)}
.student-strip-link{border:0;background:none;color:#9aa0ab;font-size:12px;cursor:pointer;white-space:nowrap;padding:8px 2px;transition:color .16s}
.student-strip-link:hover{color:#ff6f5e}
@media(max-width:1080px){.student-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:16px 20px}.student-week-chart{grid-column:1/-1;order:5}.student-strip-link{grid-column:1/-1;order:6;justify-self:end}}

/* ---------- 游戏中心：课程卡/段位卡/排行榜/表格 暗色适配 ---------- */
.student-theme .lesson-card{background:linear-gradient(180deg,#232428,#1b1c20);border-color:#2e2f34;border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.32);position:relative;overflow:hidden}
.student-theme .lesson-card::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,41,28,.45),transparent)}
.student-theme .lesson-card:hover{border-color:rgba(218,41,28,.55);box-shadow:0 14px 36px rgba(0,0,0,.45)}
.student-theme .lesson-card>strong{color:#fff}
.student-theme .lesson-card>span:not(.subject-icon),.student-theme .lesson-card>small{color:#8b8f98}
.student-theme .lesson-card .lesson-cta{color:#ff6f5e!important}
.student-theme .study-steps span{background:#202226;color:#9aa0ab}
.student-theme .study-steps span.active{background:rgba(218,41,28,.16);color:#ff6f5e}
.student-theme .support-notice{background:rgba(218,41,28,.08);color:#e8c7c2;border:1px solid rgba(218,41,28,.25)}
.student-theme .hint-stage span{background:#26272c;color:#9aa0ab}
.student-theme .hint-stage span.active{background:rgba(3,144,74,.18);color:#3ecf78}
.student-theme .learning-evidence-grid>div{background:#202226}
.student-theme .learning-evidence-grid strong{color:#fff}
.student-theme .reflection-box{background:#202226;border-color:#303136}
.student-theme .review-audio span{color:#9aa0ab}
.student-theme table th{color:#c9ccd1}
.student-theme .paper-image-scroll img{background:#f5f6f8}
.student-theme .modal .paper-image-scroll{background:#18191c}
.student-theme .game-leaderboard td,.student-theme table td{border-bottom-color:#26272b}
.student-theme .school-stats>div{background:#1e1f23;border-color:#2b2c31}
.student-theme .school-stats strong{color:#fff}
.student-theme .school-stats span{color:#8b8f98}
.student-theme .school-stats small{color:#6f7278}

/* ---------- 游戏中心：段位/排行榜语义类（替换旧紫色内联） ---------- */
.student-theme .game-tier-value,.student-theme .game-rank-table .game-tier-cell{color:#ff6f5e;font-weight:750}
.student-theme .game-rank-table tr.mine{background:rgba(218,41,28,.10);font-weight:700;box-shadow:inset 2px 0 0 #da291c}
.student-theme .game-rank-table td{border-bottom:1px solid #26272b;color:#d6d8db}
.student-theme .game-rank-table .game-rank-grade{color:#8b8f98;font-size:12px}
.student-theme .badge.blue{background:rgba(70,122,187,.16);color:#7fb0e0}

/* ---------- EXE 无边框窗口：应用内自定义标题栏（网页里自动注入） ---------- */
#app-titlebar{position:fixed;top:0;left:0;right:0;height:38px;z-index:9999;display:none;align-items:center;justify-content:space-between;background:#101114;border-bottom:1px solid #26272b;-webkit-app-region:drag;user-select:none}
.has-app-titlebar #app-titlebar{display:flex}
.app-titlebar-title{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#c9ccd1;padding-left:14px;letter-spacing:.5px}
.app-titlebar-mark{width:20px;height:20px;display:grid;place-items:center;background:linear-gradient(135deg,#e0321f,#b81f0c);color:#fff;border-radius:6px 6px 6px 2px;font-size:11.5px;font-weight:700;box-shadow:0 2px 8px rgba(218,41,28,.4)}
.app-titlebar-actions{display:flex;height:100%;-webkit-app-region:no-drag}
.app-titlebar-actions button{width:46px;height:100%;border:0;background:transparent;color:#9aa0ab;font-size:13px;cursor:pointer;display:grid;place-items:center;transition:background .12s,color .12s}
.app-titlebar-actions button:hover{background:rgba(255,255,255,.08);color:#fff}
.app-titlebar-actions button[data-win=close]:hover{background:#da291c;color:#fff}
/* 有标题栏时，侧栏顶部与页面整体下移，避免被盖 */
.has-app-titlebar body,.has-app-titlebar .app-shell{padding-top:0}
html.has-app-titlebar .sidebar{padding-top:calc(32px + 38px)}
html.has-app-titlebar .workspace .topbar{margin-top:38px}
html.has-app-titlebar .page{padding-top:calc(38px + 24px)}
/* 系统窗口（非EXE浏览器访问）不受影响：#app-titlebar 默认 display:none */
.student-theme .passage-panel{background:#23262b;border-color:#3a3f46;border-left-color:#6f8f5f}
.student-theme .passage-panel summary{color:#a8b2a0}
.student-theme .passage-body{color:#c6cad0}
.student-theme .paper-stem-main{color:#e4e7ea}
