/* Premium refinement: modern eastern medicine with clinical precision. */
:root{--surface:#fbfcfb;--line:#d5dfda;--line-strong:#b8cac1;--bronze:#ae792f;--bronze-soft:#ead9bb;--clinical-blue:#326f91;--shadow-1:0 1px 2px rgba(20,48,39,.04),0 8px 24px rgba(20,48,39,.055);--shadow-2:0 2px 4px rgba(17,44,35,.06),0 18px 42px rgba(17,44,35,.11);--ease-out:cubic-bezier(.22,1,.36,1)}
html{color-scheme:light}body{font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,button,input,select,textarea{letter-spacing:0}button,[role="button"]{touch-action:manipulation}
.skip-link{position:fixed;left:16px;top:10px;z-index:1001;transform:translateY(-150%);padding:9px 13px;border-radius:5px;background:#fff;color:var(--primary-dark);font-weight:700;box-shadow:var(--shadow-2);transition:transform 180ms var(--ease-out)}.skip-link:focus{transform:translateY(0)}
.topbar{isolation:isolate}.topbar::after{content:"";position:absolute;right:0;bottom:-2px;left:0;height:2px;background:linear-gradient(90deg,transparent,#c79b54 26%,#dfc58f 50%,#c79b54 74%,transparent);pointer-events:none}
.brand-name,.section-title,#page-home .hero h1,.modal-head h3{font-family:"Noto Serif SC","Songti SC","STSong","SimSun",serif}.brand-name{font-weight:700}.ai-badge{border:1px solid rgba(235,207,154,.52);border-radius:3px;background:rgba(235,207,154,.12);color:#f0d8aa;box-shadow:none}
.nav button,.login-entry,.logout-button,.teacher-action,.task-primary-btn,.task-secondary-btn,.btn,.lib-go{transition:transform 150ms var(--ease-out),background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease}.nav button:active,.login-entry:active,.teacher-action:active,.task-primary-btn:active,.task-secondary-btn:active,.btn:active,.lib-go:active{transform:scale(.975)}.login-entry:hover{border-color:rgba(237,215,175,.55);background:rgba(255,255,255,.13)}
.page.active{animation:premiumPageEnter 320ms var(--ease-out)}@keyframes premiumPageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.section-title{position:relative;width:max-content;max-width:100%;padding-bottom:8px;font-weight:700}.section-title::after{content:"";position:absolute;bottom:0;left:0;width:42px;height:2px;background:var(--bronze)}.section-desc{max-width:780px}
#page-home .hero{isolation:isolate;background:#153f34;box-shadow:0 2px 4px rgba(10,39,30,.14),0 24px 60px rgba(10,39,30,.18)}#page-home .hero::before{content:"";position:absolute;z-index:0;top:54px;right:170px;width:1px;height:270px;background:rgba(230,205,157,.24);box-shadow:34px 28px 0 rgba(230,205,157,.13),-34px 58px 0 rgba(230,205,157,.13),48px 105px 0 rgba(230,205,157,.1),-48px 148px 0 rgba(230,205,157,.1);pointer-events:none}#page-home .hero h1{text-wrap:balance;font-weight:700}.hero-btn-primary:hover{background:#fff;box-shadow:0 9px 24px rgba(0,0,0,.2)}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:19px}.hstat{min-width:0;padding:0 18px;border-left:1px solid rgba(255,255,255,.14)}.hstat:first-child{padding-left:0;border-left:0}.hstat .n,.metric-value,.student-task-summary-value,.student-summary-value,.rec-stat .num,.score-num,.core-score,.dim-score,.score-chip{font-family:"DIN Alternate","Bahnschrift","Segoe UI",sans-serif;font-variant-numeric:tabular-nums}
.flow-step,.feature,.scene,.lib-card,.student-task-page-card,.student-task-summary-item,.teacher-metric,.teacher-panel,.trend-shell,.rec-stat,.rec-list,.teacher-table-wrap,.teacher-records-section{background:rgba(255,255,255,.94);border-color:var(--line);box-shadow:var(--shadow-1)}.flow-step,.feature,.scene,.student-task-page-card{transition:transform 220ms var(--ease-out),border-color 180ms ease,box-shadow 220ms ease}.flow-step:hover,.feature:hover,.scene:hover,.lib-card:hover,.student-task-page-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-2)}.feature h3,.scene h3,.flow-step h3,.lib-head h3{color:var(--ink);font-size:16px;font-weight:750}
.scene{position:relative;padding-top:64px}.scene::before{position:absolute;top:19px;left:21px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--bronze-soft);border-radius:5px;background:#faf6ed;color:var(--gold-dark);font-family:"Noto Serif SC","Songti SC",serif;font-weight:700}.scene:nth-child(1)::before{content:"教"}.scene:nth-child(2)::before{content:"养"}.scene:nth-child(3)::before{content:"学"}
.lib-filter{box-shadow:0 1px 2px rgba(17,44,35,.04)}.lib-filter button{min-height:40px;padding-inline:16px}.lib-filter button.active{background:var(--primary-dark);color:#fff;box-shadow:0 4px 10px rgba(16,63,52,.18)}.lib-head{position:relative;overflow:hidden}.lib-head::after{content:"";position:absolute;right:-24px;bottom:-34px;width:96px;height:96px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.lib-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border:1px solid rgba(255,255,255,.42);border-radius:5px;background:rgba(255,255,255,.1);color:#fff;font-family:"Noto Serif SC","Songti SC",serif;font-size:18px;font-weight:700}.lib-ribbon{border-radius:3px;background:#f1d9a8;color:#5b4018;font-weight:800}.lib-go:hover{background:var(--primary-dark);box-shadow:0 7px 17px rgba(16,63,52,.18)}
#page-assess .assess-toolbar{border-top:2px solid var(--bronze);background:rgba(255,255,255,.96);box-shadow:var(--shadow-1)}#page-assess .assess-field-label,.metric-label,.student-task-summary-label,.student-summary-label,.rec-stat .lbl{color:#62736b;font-weight:650}#page-assess .assess-toolbar select,.teacher-toolbar select,.task-field input,.task-field select,.class-create input{min-height:44px;border-color:var(--line-strong);background-color:#fff;color:var(--ink)}#page-assess .voice-control{min-height:44px;border-color:var(--line-strong)}.assess-camera-column::before,.assess-feedback-column::before{color:#53675e;font-size:12px}#page-assess .stage{outline:1px solid rgba(255,255,255,.05);outline-offset:-6px}#page-assess .stage::before,#page-assess .stage::after{border-color:rgba(216,183,121,.84)}
#page-assess .controls{padding:8px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-1)}#page-assess .btn{min-height:46px}#page-assess .btn-primary:hover:not(:disabled){background:#105541;box-shadow:0 8px 20px rgba(16,85,65,.22)}#page-assess .btn-outline:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}#page-assess .score-panel{background:#173f34;border-left-color:#d3a75f}#page-assess .score-num{color:#f5dfb4}#page-assess .move-stage,#page-assess .dim,#page-assess .core-card,#page-assess .mstage{background:var(--surface)}#page-assess .dim{transition:border-color 160ms ease,background-color 160ms ease}#page-assess .dim:hover{border-color:var(--line-strong);background:#fff}#page-assess .checklist-panel,#page-assess .teaching-guide-card{border:1px solid var(--line);box-shadow:var(--shadow-1)}#page-assess .checklist-head,.teaching-guide-head h3{font-family:"Noto Serif SC","Songti SC",serif}
.student-task-summary-value,.metric-value,.rec-stat .num{color:var(--ink)}.student-task-summary-item,.teacher-metric,.rec-stat{position:relative;overflow:hidden}.student-task-summary-item::after,.teacher-metric::after,.rec-stat::after{content:"";position:absolute;right:0;bottom:0;width:46px;height:3px;background:currentColor;opacity:.28}.student-task-page-card h4,.class-task-name{font-family:"Noto Serif SC","Songti SC",serif;font-weight:700}.class-task-track,.student-score-track,.task-dist-track,.dim-bar,.core-bar,.move-track{background:#e5ece8}.class-task-fill,.student-score-fill,.task-dist-fill,.dim-fill.good,.core-bar-fill.good,.move-track-fill{background:#2c765e}
.trend-shell{border-top:2px solid var(--clinical-blue)}#page-records .rec-row{transition:background-color 160ms ease}#page-records .rec-row:hover{background:#f5f8f6}.rec-clear{min-height:44px;border-radius:5px}
.teacher-context{border-top:2px solid var(--bronze);background:#fff;box-shadow:var(--shadow-1)}.teacher-toolbar{border-top:2px solid var(--primary);backdrop-filter:blur(12px)}.teacher-action{min-height:42px;padding-inline:14px}.teacher-action:hover{box-shadow:0 6px 16px rgba(23,107,85,.16)}.teacher-action.secondary:hover{background:var(--primary-light);box-shadow:none}.teacher-metric{border-left-width:1px;border-top:3px solid var(--primary)}.teacher-metric:nth-child(2){border-top-color:var(--clinical-blue)}.teacher-metric:nth-child(3){border-top-color:var(--bronze)}.teacher-metric:nth-child(4){border-top-color:var(--coral)}.teacher-panel{border-top:2px solid #c9d8d1}.teacher-table-wrap{overflow:auto;border:1px solid var(--line)}.teacher-table th,.teacher-record-table th{height:44px;color:#52665d;font-size:12px;font-weight:750}.teacher-table tbody tr,.teacher-record-table tbody tr{transition:background-color 140ms ease}.teacher-table tbody tr:hover,.teacher-record-table tbody tr:hover{background:#f3f7f5}.score-chip{min-height:28px;align-items:center;border:1px solid #c9ddd4;border-radius:4px;background:#edf6f2}
.modal-mask{padding:18px;background:rgba(8,29,22,.52);backdrop-filter:blur(7px)}.modal{animation:modalEnter 220ms var(--ease-out)}@keyframes modalEnter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{border-bottom-color:var(--line)}.modal-close{display:grid;place-items:center;width:40px;height:40px;border-radius:5px}.modal-close:hover{background:#e8efeb;color:var(--ink)}.login-role-card{min-height:116px;border-color:var(--line);box-shadow:0 1px 2px rgba(18,45,36,.04)}.login-role-card:hover{transform:translateY(-3px);border-color:#9fbcb0;box-shadow:var(--shadow-2)}.login-role-icon{border:1px solid #c6ddd3;background:#eef6f2;font-family:"Noto Serif SC","Songti SC",serif}.login-role-card.teacher .login-role-icon{border-color:#ead4ac;background:#fbf4e7}
.task-primary-btn,.task-secondary-btn,.task-delete-btn,.class-manage-actions button,.task-text-btn{min-height:40px}.task-field input,.task-field select,.class-create input{font-size:14px}.task-form-options>label{transition:border-color 160ms ease,background-color 160ms ease,transform 150ms var(--ease-out)}.task-form-options>label:hover{transform:translateY(-1px);border-color:#a9c1b6;background:#fff}.prototype-badge,.guide-kind,.class-task-state,.student-status,.lib-tag,.student-task-form,.class-task-item{border-radius:4px}
@media(max-width:860px){#page-home .hero::before{display:none}.teacher-toolbar{backdrop-filter:none}}
@media(max-width:620px){body{font-size:16px}.topbar{padding-inline:12px}.nav button,.login-entry,.logout-button{min-height:44px}#page-home .hero h1{text-wrap:wrap}.hero-stats{grid-template-columns:1fr 1fr;row-gap:16px}.hstat:nth-child(3){padding-left:0;border-left:0}.lib-filter button,.task-field input,.task-field select,.class-create input{min-height:46px;font-size:16px}.modal-mask{padding:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}