/* Shared finish for student learning and teacher workspaces. */
:root{--surface:#fff;--ink:#183859;--subtle:#7488a1;--line:#e2ebf6;--accent:#087bf0}
body{background:radial-gradient(ellipse at 85% 0,#e8f3ff 0,transparent 48%),#f3f7fc;color:var(--ink)}
.main{padding:28px 32px 40px}.topbar{margin-bottom:26px}.topbar h1{letter-spacing:.5px}.topbar .crumb{line-height:1.6}.side{box-shadow:6px 0 28px #102b5310}.side button.nav-item{transition:background .18s,transform .18s}.side button.nav-item:hover{background:#ffffff12;transform:translateX(2px)}.side button.nav-item.on{background:linear-gradient(110deg,#1175df,#2393f1);box-shadow:0 6px 18px #001a4933}.side .who{border-radius:14px;background:#ffffff09;padding:16px}.btn{transition:box-shadow .18s,transform .18s}.btn:hover:not(:disabled){box-shadow:0 5px 14px #13559418;transform:translateY(-1px)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #42abef;outline-offset:3px}button:disabled{transform:none}.card,.product-card{border-color:var(--line);border-radius:18px;box-shadow:0 5px 22px #294f8007}.card h3,.product-card h3{margin:0 0 14px;line-height:1.6}.product-card p{line-height:1.85}.page-title{gap:14px;flex-wrap:wrap}.page-title>span{display:inline-flex;align-items:center;gap:8px}.page-title .pti{margin-right:0}.section-intro{display:flex;gap:18px;align-items:center;padding:26px 28px;margin-bottom:22px;border:1px solid #dce8f6;border-radius:20px;background:linear-gradient(115deg,#fff 28%,#edf6ff);box-shadow:0 8px 28px #153f7906;position:relative;overflow:hidden}.section-emblem{display:grid;place-items:center;flex:none;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#0c5eb6,#2f9df7);color:#fff;box-shadow:0 8px 20px #1871c92b}.section-eyebrow{font-size:10px;letter-spacing:2px;color:#6886a9}.section-intro h2{font-size:23px;line-height:1.4;margin:5px 0 7px;font-weight:800}.section-intro p{margin:0;font-size:13px;line-height:1.8;color:#7086a1}.section-action{margin-left:auto;flex:none}.metric-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0 0 24px}.metric-cards article{padding:21px 22px;border:1px solid var(--line);border-radius:16px;background:white;display:flex;gap:15px;align-items:center;box-shadow:0 5px 18px #1b477a05}.metric-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf4ff;color:#1976d2;flex:none}.metric-cards article:nth-child(2) .metric-icon{background:#e9f8f3;color:#289e7d}.metric-cards article:nth-child(3) .metric-icon{background:#f2edff;color:#8c62ce}.metric-cards article:nth-child(4) .metric-icon{background:#fff5e4;color:#c39532}.metric-cards article div>span{color:#7488a0;font-size:12px}.metric-cards strong{display:block;font-size:28px;color:#194776;margin-top:5px;font-weight:750}.managed-section>.btn{margin-bottom:16px}.product-table-wrap{border-radius:16px;max-width:100%}.product-table{font-size:13px}.product-table th{background:#f5f8fd;color:#617c9c;font-weight:700;white-space:nowrap;padding:16px 14px}.product-table td{padding:17px 14px;line-height:1.7}.product-table tbody tr:hover{background:#f8fbff}.product-table td .btn{margin:3px}.product-table tbody tr:last-child td{border-bottom:0}.filter-panel{display:flex;align-items:flex-end;gap:18px;padding:20px 24px;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:16px;flex-wrap:wrap}.filter-panel label{display:grid;gap:9px;color:#6b819a;font-size:12px}.filter-panel input,.filter-panel select{padding:11px 14px;border:1px solid #dce6f2;border-radius:10px;background:#f9fbfe;min-height:42px}.filter-search{flex:1;min-width:160px}.filter-tabs{margin:22px 0}.filter-tabs .btn{min-width:82px;border-radius:10px}.feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feedback-card{margin:0;padding:24px}.feedback-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;padding:15px 0 24px;min-height:95px}.feedback-reply{background:#f5f9fe;border-radius:12px;padding:17px 18px;border-left:3px solid #73b6ef}.feedback-reply>span{font-size:12px;color:#3d78b5;display:flex;align-items:center;gap:7px}.feedback-reply p{font-size:13px;line-height:1.9;white-space:pre-wrap;margin:9px 0 0;overflow-wrap:anywhere}.card-footer{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid #e8eff7;margin-top:22px;padding-top:17px}.feedback-card .card-footer{justify-content:flex-end}.page-footnote{font-size:12px;color:#7a8fa8;text-align:center;margin:26px 0;line-height:1.8}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.resource-card{padding:0;overflow:hidden;margin:0}.resource-cover{height:120px;padding:26px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(125deg,#e5efff,#eff9ff);color:#397cc2;border-bottom:1px solid #deebf8}.resource-cover>span{font-size:12px;background:#ffffffb3;padding:6px 13px;border-radius:20px}.resource-content{padding:22px}.resource-content>.muted{font-size:11px}.resource-content h3{font-size:18px;margin:10px 0}.resource-content p{font-size:12px;color:#6d84a0}.note-excerpt{font-size:13px;line-height:1.8;color:#7c8fa5;min-height:70px;overflow-wrap:anywhere}.empty-state{padding:42px 24px!important;text-align:center;background:linear-gradient(145deg,#fff,#f7fbff);grid-column:1/-1}.empty-state h3{font-size:16px;font-weight:650;margin:17px 0 10px}.empty-state p{font-size:12px;color:#8a9bb0;margin:0;line-height:1.8}.empty-orbit{display:grid;place-items:center;width:70px;height:70px;border:1px solid #d4e7fa;border-radius:24px;margin:auto;background:#eaf4ff;color:#659fd8;box-shadow:0 0 0 9px #f2f8ff}.profile-identity{padding:30px;background:linear-gradient(115deg,#0b315c,#146dca 70%,#39a4ed);border:0;color:#fff}.profile-identity h2{font-size:25px}.profile-identity .muted{color:#c0d9f4}.profile-identity .avatar{background:#ffffff25;border:1px solid #ffffff60;box-shadow:0 8px 24px #07214430}.profile-identity .btn{background:#ffffff15;color:#fff;border-color:#ffffff50}.profile-identity .pill{background:#ffffff24;color:#fff}.achievement{transition:transform .2s,box-shadow .2s;border-radius:16px;padding:24px 12px}.achievement:hover{transform:translateY(-3px);box-shadow:0 12px 24px #194e8510}.achievement>svg{width:35px;height:35px;padding:10px;box-sizing:content-box;background:#e9eef7;border-radius:18px}.achievement.earned>svg{background:#d7ebff}.subject-progress{padding:26px}.subject-progress-row{display:flex;align-items:center;gap:17px;padding:20px 0;border-bottom:1px solid #edf2f8}.subject-progress-row:last-child{border-bottom:0}.subject-symbol{background:#eef5ff;color:#3281cf;width:45px;height:45px;display:grid;place-items:center;border-radius:13px;flex:none}.subject-progress-row>div{flex:1;min-width:0}.subject-progress-row p{font-size:12px;color:#8496ad;margin:8px 0 12px}.subject-progress-row>strong{font-size:22px;color:#276aa9}.progress-track{height:6px;border-radius:8px;background:#ecf2fa;overflow:hidden}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#2e7dd2,#63c8f5);border-radius:8px}.rank-podium{align-items:end;max-width:920px;margin:28px auto}.podium.place-0{order:2;min-height:245px;background:linear-gradient(160deg,#fff2c9,#fffcf2);box-shadow:0 12px 28px #b4953020}.podium.place-1{order:1;min-height:215px}.podium.place-2{order:3;min-height:200px}.rank-avatar{width:52px;height:52px;font-size:20px;background:linear-gradient(135deg,#114877,#438dde);border:3px solid #ffffffa0}.rank-hero{min-height:165px}.wrong-question{padding:26px 28px;margin-bottom:18px;border-left:3px solid #8abbeb}.wrong-question .quiz-stem{line-height:1.9}.wrong-question .page-title{font-size:14px}.review-list>article{padding:27px;margin-bottom:22px}.review-list details{padding:16px;background:#f4f8fd;border-radius:12px;margin:18px 0;line-height:1.85}.review-list summary{color:#3778b8;cursor:pointer;font-size:13px}.review-list .grade-form{border-top:1px solid #e4edf8;padding-top:20px}.product-form input,.product-form select,.product-form textarea{background:#fbfdff;border-color:#d9e5f2;border-radius:10px;padding:11px 13px;min-height:42px}.product-form label{font-size:12px;gap:8px;line-height:1.6}.product-form textarea{line-height:1.8}.rules-workspace>div{padding:28px}.rules-matrix input{min-width:65px;text-align:center;padding:9px 6px!important}.rules-matrix th:first-child,.rules-matrix td:first-child{position:sticky;left:0;background:#f5f9ff}.rules-workspace .two{gap:18px}.rules-workspace h3{font-size:18px}.quiz-main{border:1px solid #dde8f5;padding:30px;border-radius:20px}.quiz-head{align-items:center;gap:16px}.quiz-head b{font-size:18px}.quiz-head small{display:inline-block;margin-top:8px}.quiz-answer .opt{border-radius:13px;padding:16px 18px;transition:background .2s,border-color .2s}.quiz-answer .opt:hover:not(:disabled){background:#f0f7ff;border-color:#8cbcf0}.quiz-answer .opt.sel{box-shadow:0 3px 12px #1d76d912}.quiz-result{background:#f7faff;border:1px solid #e0ebf7;border-radius:15px;padding:22px;line-height:1.9;margin-top:24px}.quiz-ai{border-radius:20px;border:1px solid #d6e6f7;background:linear-gradient(#f1f7ff,#fff 180px);padding:22px}.quiz-ai h3{display:flex;align-items:center;justify-content:space-between;font-size:16px;padding-bottom:16px;border-bottom:1px solid #dce8f7}.ai-message{border-radius:14px;line-height:1.85;padding:16px}.ai-message.user{background:#e5f1ff;color:#20548a}.ai-compose textarea{border-radius:12px;background:#fff;border-color:#d2e3f5}.modal{border-radius:22px!important;box-shadow:0 28px 90px #102a5545!important}.modal h2{font-size:22px;margin-bottom:22px}.bank-heading{margin-bottom:22px}.filterbar{padding:16px;background:#f5f9fe;border-radius:13px;border:1px solid #e2ecf7;gap:10px}.filterbar select,.filterbar input{background:#fff;border-radius:9px;min-height:38px}.bank-actions{gap:8px;flex-wrap:wrap}.restore-shortcut{border-radius:15px!important;transition:transform .2s,box-shadow .2s}.restore-shortcut:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1b568314}.restore-summary{border-radius:14px;background:#f3f8ff}.teacher-distribution{padding:18px;border:1px solid #e1ebf6;border-radius:14px;background:#fff}.knowledge-manager>nav{border:1px solid #e0eaf5}.knowledge-item{box-shadow:0 4px 14px #1d447a06}.knowledge-item .product-tools{margin:17px 0 0}.knowledge-item .readiness{border-left:3px solid #e7c276}.knowledge-item .readiness.ready{border-left-color:#64b897}.home-board .ship-panel{margin-top:14px}.home-board .hb-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}.home-board .home-hero{padding:26px 30px}.home-board .hh-sub{line-height:1.8}.home-board .hh-meta{line-height:1.8}.home-board .ship-hud{flex-wrap:wrap}.home-board .hb-body{padding:24px 26px}.home-board .tr-wrap{padding:15px 8px 10px}.home-board .td-week{margin-top:15px}.home-board .td-mile{margin-top:13px}.home-board .sec-note{font-size:11px;line-height:1.8}.home-board .ship-legend .tip{margin-left:0;width:100%;text-align:center}.mobile-nav{box-shadow:0 -5px 22px #163e8212;backdrop-filter:blur(15px)}
@media(min-width:1600px){.main:not(.route-shell .main){padding-left:40px;padding-right:40px}.home-board .hh-hi{font-size:26px}}
@media(max-width:1150px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:24px}.home-board .home-hero{gap:22px;flex-wrap:wrap}.home-board .hh-l{flex:1;min-width:280px}.home-board .hh-today{min-width:280px}.home-board .hh-div{display:none}.home-board .hb-grid{grid-template-columns:1fr}.home-board .hb-grid>.hb-col{padding:0;border:0}.home-board .hb-grid>.hb-col+ .hb-col{margin-top:26px}.home-board .ship-panel{max-width:800px;margin:14px auto 0}}
@media(max-width:700px){.main{padding:18px 15px 96px}.topbar{margin-bottom:18px}.section-intro{padding:20px;gap:13px;flex-wrap:wrap}.section-emblem{width:46px;height:46px;border-radius:14px}.section-intro>div:nth-child(2){flex:1;min-width:0}.section-intro h2{font-size:20px}.section-intro p{font-size:12px}.section-action{margin-left:59px}.metric-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.metric-cards article{padding:16px 12px;gap:10px}.metric-icon{width:33px;height:33px;border-radius:10px}.metric-cards strong{font-size:23px}.metric-cards article div>span{font-size:11px}.resource-grid,.feedback-list{grid-template-columns:1fr}.filter-panel{padding:17px;gap:13px}.filter-panel label{width:100%}.filter-panel input,.filter-panel select{width:100%}.profile-identity{padding:23px;gap:16px}.subject-progress{padding:20px}.subject-progress-row p{line-height:1.7}.rank-podium{gap:8px}.podium.place-0{min-height:205px}.podium.place-1{min-height:185px}.podium.place-2{min-height:170px}.rank-avatar{width:40px;height:40px}.podium{padding:18px 7px}.home-board .hb-body{padding:19px 16px}.home-board .home-hero{padding:24px 20px}.home-board .hh-l{min-width:0;width:100%}.home-board .hh-today{min-width:0;width:100%}.home-board .hh-hi{font-size:20px}.home-board .hh-name{font-size:25px}.home-board .hh-av{width:46px;height:46px;min-width:46px}.home-board .hh-meta{white-space:normal}.ship-hud{padding:13px!important;font-size:10px!important}.ship-hud .sh-v b{font-size:11px}.ship-legend{font-size:10px;padding:12px!important;gap:8px!important}.ship-hint{font-size:9px!important}.quiz-main,.quiz-ai{padding:20px 17px}.quiz-head b{font-size:16px}.quiz-main .quiz-stem{font-size:16px}.quiz-result{padding:16px}.rules-workspace>div{padding:20px 16px}.review-list>article{padding:21px 17px}.product-form .two{grid-template-columns:1fr}.wrong-question{padding:21px 18px}.resource-cover{height:100px}.managed-section .product-table{min-width:600px}.section-intro,.resource-card,.feedback-card{min-width:0}.card,.product-card{max-width:100%}.product-table-wrap{overflow-x:auto}.knowledge-item .pill{margin-left:0;margin-top:8px;display:inline-flex}.topbar .tb-l{min-width:0}.empty-state{padding:35px 18px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Keep deep-space labels legible; legacy light-radar rules must not override them. */
.ship-panel .radar-node.unlit .rl-pill{fill:#102c49;stroke:#688dac;stroke-opacity:.75}.ship-panel .radar-node.unlit .rln{fill:#bdd7ee}.ship-panel .radar-node.unlit .rlv{fill:#92afca}.ship-panel .radar-node.lit .rl-pill{fill:#e2f3ff}.ship-panel .radar-node:hover .rl-pill,.ship-panel .radar-node:focus .rl-pill{fill:#155491;stroke:#73ccff}.ship-panel .radar-node:hover .rln,.ship-panel .radar-node:focus .rln{fill:#fff}.ship-panel svg{pointer-events:none}.ship-panel [data-action=home-chapter],.ship-panel [data-action=home-chapter] *{pointer-events:auto}.ship-panel .radar-node{animation:none}.home-board .radar-wrap.ship{max-height:550px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#426f9b #07182f}.home-board .ship-hint{position:sticky;display:block;bottom:0;background:#07182feb;padding:9px 4px;color:#a3c7e6}.home-board .radar-wrap.ship svg{min-height:360px}.home-board .ship-legend{position:relative}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px}.dashboard-grid>section{min-width:0}.dashboard-grid .restore-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-todo{background:#fff;border:1px solid #e1ebf6;border-radius:16px;margin-top:24px;padding:22px}.todo-row{border:0;background:transparent;display:flex;width:100%;align-items:center;gap:13px;text-align:left;padding:19px 0;border-bottom:1px solid #edf2f8;color:#244765}.todo-row:last-child{border-bottom:0;padding-bottom:0}.todo-row>span:nth-child(2){flex:1;min-width:0}.todo-row b{font-size:13px}.todo-row small{display:block;font-size:11px;color:#8c9eb2;line-height:1.7;margin-top:6px}.todo-row>strong{color:#2378c7;font-size:22px}.todo-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;background:#eef5ff;color:#4b8cce;border-radius:12px}.dashboard-distribution{padding:26px;display:flex;align-items:center;justify-content:center;gap:30px;background:#fff;border:1px solid #e0eaf6;border-radius:16px}.subject-donut{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;flex:none}.subject-donut>div{width:103px;height:103px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.subject-donut strong{font-size:24px;color:#285c8d}.subject-donut span{font-size:11px;color:#8d9db0;margin-top:5px}.subject-legend{flex:1}.subject-legend p{display:flex;align-items:center;gap:10px;font-size:12px;margin:15px 0}.subject-legend i{width:8px;height:8px;border-radius:3px}.subject-legend span{flex:1}.dashboard-summary{display:flex;justify-content:space-around;text-align:center;margin:20px 0;padding:20px;background:#eaf3ff;border-radius:14px}.dashboard-summary span{font-size:11px;color:#7490ad}.dashboard-summary b{display:block;font-size:23px;color:#2d689f;margin-top:8px}.dashboard-grid .teacher-distribution h4:first-child,.dashboard-grid .teacher-distribution>p{display:none}.dashboard-grid .teacher-distribution h4{margin-top:0}.mobile-chapters{display:none}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-distribution{justify-content:flex-start}.subject-legend{max-width:240px}}
@media(max-width:700px){.dashboard-grid{gap:24px}.dashboard-grid .restore-shortcuts{grid-template-columns:1fr 1fr}.dashboard-grid .restore-shortcut{padding:15px 10px;gap:9px}.dashboard-grid .restore-shortcut small{font-size:10px}.dashboard-grid .restore-shortcut b{font-size:12px}.dashboard-grid .restore-shortcut>svg{width:18px;flex:none}.dashboard-todo{padding:19px}.dashboard-distribution{padding:20px;gap:22px}.subject-donut{width:110px;height:110px}.subject-donut>div{width:84px;height:84px}.dashboard-summary{padding:17px 8px}.mobile-chapters{display:block;margin-top:13px;padding:15px;background:#f1f7fd;border:1px solid #dfeaf6;border-radius:13px}.mobile-chapters>span{font-size:11px;color:#6d89a8}.mobile-chapters>div{max-height:180px;overflow:auto;margin-top:10px}.chapter-link{display:flex;align-items:center;gap:10px;justify-content:space-between;border:0;border-bottom:1px solid #dfebf7;background:transparent;width:100%;padding:12px 2px;text-align:left;color:#335a7e;font-size:12px;line-height:1.5}.chapter-link small{color:#7b9ab8;flex:none}.home-board .radar-wrap.ship{max-height:360px}.home-board .radar-wrap.ship svg{min-height:0}.mobile-nav{padding-bottom:env(safe-area-inset-bottom)}.profile-identity .profile-actions{flex-wrap:wrap}}
.wrong-answer{margin:20px 0;padding:16px 18px;border-radius:12px;background:#fff8ed;border:1px solid #f4e5cc}.wrong-answer span{font-size:11px;color:#ac864b}.wrong-answer p{font-size:14px;line-height:1.8;margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
