@charset "UTF-8";
:root{--paper:#f7f8f5;--white:#fff;--ink:#213b35;--muted:#74817b;--green:#135e50;--green-dark:#104d42;--mint:#e9f2ed;--line:#e3e8e1;--orange:#b36f3a;--danger:#ad4235;--radius:16px;--shadow:0 8px 30px #233a3106;font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c38c44;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:650;letter-spacing:-1px;line-height:1.4}h2{font-size:21px;font-weight:650;letter-spacing:-.4px}h3{font-size:16px;font-weight:600}.quiet{color:var(--muted)}.small-label{font-size:10px;letter-spacing:2.3px;font-weight:600}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;color:var(--green);margin-bottom:12px}.shell{display:flex;min-height:100vh}.sidebar{width:224px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);padding:34px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:650;line-height:1.5;white-space:nowrap}.brand small{display:block;font-weight:400;font-size:11px;color:var(--muted);letter-spacing:2px}.brand-icon{background:var(--green);color:#fffbef;width:43px;height:45px;display:grid;place-content:center;font-family:Georgia,serif;font-size:28px;letter-spacing:-6px;padding-right:6px;border-radius:12px;position:relative;display:block;text-align:center}.brand-icon span{position:relative;top:4px}.nav-caption{color:#99a29b;font-size:11px;letter-spacing:1px;margin:52px 14px 12px}nav{display:grid;gap:6px}nav a{padding:13px 15px;border-radius:9px;color:#6c7971;display:flex;align-items:center;gap:14px;font-size:13px}nav a span{font-size:19px;line-height:1;width:20px;text-align:center}nav a:hover{background:#f5f7f3}nav a.active{color:var(--green);background:var(--mint);font-weight:650}nav a.active::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-note{margin-top:auto;padding:65px 14px 28px;color:#a3ada5}.sidebar-note p{font-size:15px;color:#77867b;margin-top:13px;line-height:1.85}.sidebar-note small{font-size:10px}.mini-line{width:30px;height:1px;background:#c7d2c5;margin:20px 0}.sidebar-bottom{border-top:1px solid var(--line);padding:18px 14px 0;font-size:11px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:#5e9d81;border-radius:50%;margin-right:8px}.workspace{margin-left:224px;flex:1;min-width:0}.topbar{height:79px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff90}.breadcrumb{color:#95a097;font-size:12px;display:flex;gap:15px;white-space:nowrap}.breadcrumb strong{font-weight:500;color:#596d61}.account{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--mint);color:var(--green);font-size:13px;font-weight:600}.account-actions{display:flex;gap:12px}.link-button{background:none;padding:0;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:3px}.account .link-button{color:var(--muted);text-decoration:none}.account-name{display:flex;flex-direction:column;line-height:1.45}.account-name small{font-size:10px;color:var(--muted)}main{padding:36px 44px 20px;max-width:1580px;margin:auto;min-height:calc(100vh - 143px)}.page-footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#95a096;padding:28px 44px}.intro-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.intro-title p{margin-top:7px;color:var(--muted);font-size:13px}.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 10px;border-radius:5px;background:var(--mint);color:var(--green);white-space:nowrap}.tag.warm{background:#f7eee2;color:#9d713c}.tag.muted{background:#f0f2ef;color:#8a958b}.tag.closed{background:#faebe5;color:var(--danger)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.welcome-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.85fr);gap:28px;margin-bottom:28px}.welcome{min-height:397px;border-radius:var(--radius);padding:34px 36px;background:var(--green);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.welcome .small-label{color:#adcabb}.welcome h2{font-size:38px;line-height:1.45;font-weight:500;margin:18px 0 12px;position:relative;z-index:1;letter-spacing:1px}.welcome p{color:#c2d6c9;font-size:12px;max-width:270px}.welcome-stats{display:flex;gap:28px;position:relative;z-index:1;margin-top:30px}.welcome-stats b{font-size:26px;font-weight:500;line-height:1.2}.welcome-stats small{font-size:10px;display:block;color:#b0cbbb;margin-top:5px}.orbital{position:absolute;width:250px;height:250px;border:1px solid #b6d3c62b;border-radius:50%;right:-85px;top:30px;transform:rotate(-25deg)}.orbital::before{content:"";position:absolute;inset:30px;border:1px solid #b6d3c635;border-radius:50%}.orbital::after{content:"";position:absolute;inset:-34px;border:1px solid #b6d3c61a;border-radius:50%}.human-mark{position:absolute;right:35px;top:139px;width:18px;height:18px;border:1px solid #b6d3c680;border-radius:50%}.human-mark::after{content:"";position:absolute;width:64px;height:65px;border:1px solid #b6d3c665;border-radius:40px 40px 0 0;top:27px;left:-24px}.welcome-index{position:absolute;right:30px;bottom:26px;color:#a8c9ba;font-size:10px;letter-spacing:3px}.auth-card{padding:29px 32px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{background:none;padding:0 0 13px;color:var(--muted);border-bottom:2px solid transparent;font-size:14px}.tab.active{color:var(--green);border-color:var(--green);font-weight:600}.field{display:grid;gap:7px;margin-top:16px}.field label{font-size:12px;font-weight:600}.field input,.field textarea,.search-input{width:100%;border:1px solid #dbe2d9;background:#fcfdfb;border-radius:8px;padding:11px 13px;color:var(--ink);min-height:44px}.field input::placeholder,.field textarea::placeholder,.search-input::placeholder{color:#a5ada5;font-size:12px}.field textarea{resize:vertical;min-height:90px}.field small{color:var(--muted);font-size:11px}.input-note{font-size:11px;min-height:22px;color:var(--muted);margin-top:8px}.input-note.success{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:550;background:var(--green);color:white;line-height:1.5;transition:background .15s}.button:hover:not(:disabled){background:var(--green-dark)}.button.secondary{background:#f1f4ee;color:var(--green);border:1px solid var(--line)}.button.secondary:hover{background:#e7eee4}.button.danger{background:#a74738}.button.full{width:100%;margin-top:18px}.arrow{font-size:19px;font-weight:400}.auth-foot{margin-top:15px;color:var(--muted);font-size:10px;text-align:center}.form-error{color:var(--danger);font-size:12px;margin-top:12px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px;gap:16px}.section-head h2{font-size:16px}.section-head p{color:var(--muted);font-size:11px}.rubric-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.rubric-mini{padding:19px 20px}.rubric-mini .number{font-size:10px;color:#91a28f;letter-spacing:1px}.rubric-mini h3{font-size:12px;margin-top:12px;font-weight:500}.rubric-mini strong{font-size:25px;font-weight:550;margin-right:4px}.rubric-mini .points{font-size:10px;color:var(--muted);margin-top:9px}.rubric-mini .mini-track{height:3px;border-radius:3px;background:#edf1e9;margin-top:13px}.mini-track i{height:100%;display:block;background:#80a58b;border-radius:3px}.mini-track.w30 i{width:100%}.mini-track.w25 i{width:83.33%}.mini-track.w15 i{width:50%}.preview-list{margin-top:22px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.preview-list h3{font-size:13px}.preview-list p{font-size:11px;color:var(--muted);margin-top:3px}.preview-count{font-size:24px;font-weight:500;white-space:nowrap}.preview-count small{font-size:11px;color:var(--muted);margin-left:8px}.progress-hero{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:26px 30px;background:var(--green);color:white;border-radius:var(--radius);margin-bottom:26px}.progress-hero .eyebrow{color:#b0cebd;font-size:10px;margin-bottom:5px}.progress-hero h2{font-size:22px;font-weight:500}.progress-hero p{color:#c3d7c9;font-size:12px;margin-top:7px}.progress-hero .progress-num{font-size:39px;line-height:1.2;font-weight:450;letter-spacing:-1px}.progress-hero .progress-num small{font-size:16px;color:#a8c9b6;margin-left:5px}.progress-hero .progress-label{font-size:10px;color:#b5cebd;text-align:right;margin-top:4px}.progress-track{height:4px;background:#ffffff25;border-radius:8px;margin-top:18px;overflow:hidden;width:min(100%,400px)}.progress-fill{height:100%;background:#c9dbb1;border-radius:8px}.student-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;align-items:start}.review-card{overflow:hidden}.topic-header{padding:27px 28px 23px;border-bottom:1px solid var(--line)}.topic-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.topic-seq{font-size:10px;letter-spacing:1px;color:var(--muted)}.topic-header h2{font-size:24px;line-height:1.5}.members{color:var(--muted);font-size:12px;margin-top:8px}.topic-hint{margin-top:18px;background:#f6f8f2;border:1px solid #e8ede0;border-radius:8px;padding:12px 14px;font-size:12px;color:#6f8065}.topic-hint strong{display:block;color:#56714a;font-size:10px;letter-spacing:1px;margin-bottom:4px;font-weight:600}.criteria-list{padding:0 28px}.criterion{padding:23px 0;border-bottom:1px solid #edf0ea}.criterion-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.criterion-title{display:flex;align-items:start;gap:11px}.criterion-index{font-size:10px;font-weight:500;line-height:24px;color:#9eab9d}.criterion label{font-size:13px;font-weight:550}.criterion p{font-size:11px;color:var(--muted);margin-top:5px;padding-left:27px;line-height:1.8}.score-input-wrap{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:12px;color:#9aa497}.score-input{width:65px;text-align:center;background:#fbfcf9;border:1px solid #d5dfd1;border-radius:8px;padding:8px 5px;color:var(--green);font-size:20px;font-weight:600;appearance:textfield;min-height:46px}.score-input::-webkit-inner-spin-button{appearance:none}.score-input:read-only{border-color:transparent;background:var(--mint)}.score-guide{font-size:10px;color:#97a18e;margin-top:10px;padding-left:27px}.comment-area{padding:4px 28px 24px}.comment-area .field label{font-weight:500}.comment-counter{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:5px}.submit-bar{padding:19px 28px;background:#fafbf7;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px}.total-label{font-size:10px;color:var(--muted)}.total-number{font-size:29px;color:var(--green);font-weight:550;line-height:1.4}.total-number small{font-size:12px;font-weight:400;color:var(--muted)}.submit-note{font-size:10px;color:var(--muted);margin-top:4px}.list-card{padding:21px 18px;position:sticky;top:20px}.list-card header{display:flex;align-items:center;justify-content:space-between;padding:0 3px 14px;border-bottom:1px solid var(--line)}.list-card header h2{font-size:14px}.list-card header small{color:var(--muted);font-size:10px}.topic-list{max-height:572px;overflow-y:auto;margin:10px -8px 0;padding:0 5px;scrollbar-width:thin;scrollbar-color:#d3dece transparent}.topic-row{display:flex;width:100%;text-align:left;gap:10px;align-items:center;padding:11px 9px;background:none;border-radius:8px;color:#798778;margin-bottom:3px}.topic-row:hover{background:#f4f7f0}.topic-row.current{background:#eaf2e9;color:var(--green)}.topic-row.selected{box-shadow:inset 0 0 0 1px #9eba9d}.topic-row .seq{flex-shrink:0;width:25px;height:25px;border:1px solid #e2e8dc;display:grid;place-content:center;border-radius:7px;font-size:10px}.topic-row.current .seq{background:var(--green);color:#fff;border-color:var(--green)}.topic-row.done .seq{background:#eaf1e5;color:var(--green);border-color:#eaf1e5}.topic-row.own .seq{background:#f6efe3;color:#b1854c;border-color:#f6efe3}.topic-row strong{font-size:11px;font-weight:500;display:block;line-height:1.6}.topic-row small{font-size:9px;color:#a0aa9a;line-height:1.5;display:block;margin-top:2px}.topic-row .row-body{flex:1}.topic-row.locked{color:#a3ac9d}.row-status{font-size:10px;color:#a8b2a1;flex-shrink:0}.legend{font-size:9px;color:var(--muted);padding-top:13px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:6px;margin-top:9px}.legend i{display:inline-block;width:6px;height:6px;border-radius:2px;background:#c2d5b7;margin-right:4px}.legend .own i{background:#e4c995}.legend .locked i{background:#e0e4dc}.notice{padding:13px 17px;border-radius:9px;font-size:12px;margin-bottom:20px;background:#fcf1e4;color:#9b6e37;border:1px solid #efdfc5}.notice.error{background:#fff0ec;color:var(--danger);border-color:#f0d3c7}.record-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;font-size:12px;color:var(--green)}.complete-card{text-align:center;padding:55px 30px}.complete-mark{width:68px;height:68px;display:grid;place-content:center;margin:0 auto 24px;border-radius:50%;background:var(--mint);color:var(--green);font-size:28px}.complete-card h2{font-size:25px}.complete-card p{color:var(--muted);margin-top:13px;font-size:13px;line-height:1.9}.complete-card .button{margin-top:26px}.rubric-content{padding:28px 30px}.rubric-full{display:grid;grid-template-columns:56px 1fr 70px;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}.rubric-full:last-child{border:0}.rubric-full .rubric-index{color:#a9b5a4;font-size:23px;line-height:1.25}.rubric-full h3{margin-bottom:8px}.rubric-full p{font-size:13px;color:var(--muted)}.rubric-full .rubric-max{font-size:25px;color:var(--green);text-align:right}.rubric-max small{font-size:11px;color:var(--muted)}.bands{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.band{padding:19px 20px}.band b{color:var(--green);font-size:17px;font-weight:550}.band strong{font-size:12px;display:block;margin:8px 0 4px}.band p{font-size:11px;color:var(--muted)}.rule-note{padding:22px 26px;font-size:12px;color:var(--muted);line-height:1.9}.rule-note strong{display:block;color:var(--ink);margin-bottom:5px}.admin-login{max-width:470px;margin:70px auto;padding:34px}.admin-login .eyebrow{margin-bottom:8px}.admin-login p{font-size:12px;color:var(--muted);margin:9px 0 24px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat{padding:22px 24px}.stat .stat-label{font-size:11px;color:var(--muted)}.stat strong{display:block;font-size:31px;font-weight:550;margin:8px 0 4px}.stat small{font-size:10px;color:#9aa593}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;flex-wrap:wrap}.toolbar-buttons{display:flex;gap:9px;flex-wrap:wrap}.toolbar-buttons .button{font-size:11px;padding:8px 13px;min-height:38px}.admin-table-card{overflow:hidden}.table-heading{padding:22px 24px 0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.table-heading .tabs{margin:0;border:0}.table-heading .tab{font-size:13px;padding-bottom:15px}.table-heading .search-input{max-width:240px;margin-bottom:15px;min-height:36px;padding:7px 12px;font-size:11px}.table-scroll{overflow:auto;max-height:680px}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{text-align:left;background:#f4f7f0;color:#84917d;font-weight:500;padding:13px 16px;border-block:1px solid var(--line);position:sticky;top:0;z-index:1}td{padding:15px 16px;border-bottom:1px solid #edf0e8}tbody tr:last-child td{border:0}tbody tr:hover{background:#fbfcf8}.title-cell{min-width:210px;max-width:290px;white-space:normal;font-weight:500}.num-cell{font-variant-numeric:tabular-nums}.avg-cell{color:var(--green);font-weight:600;font-size:13px}.table-action{display:flex;gap:14px}.table-action button{font-size:10px}.table-progress{height:3px;width:65px;background:#e7eddf;margin-top:6px;border-radius:4px}.table-progress i{height:100%;display:block;background:#91ad7d;border-radius:4px}.table-caption{padding:13px 22px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.empty-row{text-align:center;color:var(--muted);padding:35px}.admin-notes{display:flex;gap:20px;align-items:start;justify-content:space-between;margin-top:18px;font-size:11px;color:var(--muted)}.admin-notes .link-button{font-size:11px}.loading-panel{text-align:center;padding:120px 20px;color:var(--muted)}.loading-panel p{margin-top:18px;font-size:12px}.spinner{display:inline-block;width:25px;height:25px;border:2px solid #dfe8d9;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:calc(50% + 112px);bottom:30px;transform:translateX(-50%);max-width:min(90vw,560px);background:#203e33;color:#fff;padding:13px 22px;border-radius:10px;box-shadow:0 10px 40px #102b3326;font-size:12px;z-index:100}.toast[hidden]{display:none}.toast.error{background:#934237}dialog{border:1px solid var(--line);border-radius:19px;padding:30px;max-width:480px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 100px #162c3233;background:white}dialog::backdrop{background:#172b2866;backdrop-filter:blur(3px)}dialog h2{font-size:22px}dialog .dialog-description{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.9}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;flex-wrap:wrap}.dialog-breakdown{margin-top:20px;background:#f7f9f3;border-radius:9px;padding:13px 17px}.dialog-breakdown div{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:5px 0}.dialog-breakdown .sum{border-top:1px solid var(--line);margin-top:7px;padding-top:13px;font-weight:650;font-size:16px;color:var(--green)}.recovery-code{width:100%;font-family:Consolas,monospace;font-size:18px;letter-spacing:1px;background:#f0f5eb;border:1px dashed #b3c4a3;color:var(--green);border-radius:8px;padding:18px 12px;text-align:center;margin-top:22px}.dialog-tip{font-size:11px;color:var(--orange);margin-top:12px}.skip-link{position:fixed;top:-80px;left:10px;padding:10px 20px;background:var(--green);color:white;z-index:999}.skip-link:focus{top:10px}.offline-pill{background:#fae8dc;padding:4px 8px;color:var(--orange);border-radius:5px;font-size:10px}.inline-error{color:var(--danger);font-size:11px;margin-top:8px}.recent-notice{padding:12px 16px;margin-bottom:20px;background:var(--mint);color:var(--green);font-size:12px;border-radius:9px}
@media(min-width:1500px){main{padding-top:45px}.welcome{min-height:420px}.welcome h2{font-size:43px}.auth-card{padding:35px 38px}.student-layout{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:1180px){.sidebar{width:190px;padding-inline:17px}.workspace{margin-left:190px}.topbar{padding-inline:28px}main{padding:28px 28px 15px}.page-footer{padding-inline:28px}.student-layout{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.rubric-mini{padding:16px 14px}.welcome{padding:30px 27px}.welcome-grid{gap:20px;grid-template-columns:1fr 1fr}.auth-card{padding:25px}.toast{left:calc(50% + 95px)}.criterion p{padding-left:0}.score-guide{padding-left:0}.topic-header{padding-inline:23px}.criteria-list{padding-inline:23px}.comment-area{padding-inline:23px}.submit-bar{padding-inline:23px}.stat{padding:18px}.stats-grid{gap:12px}.account-actions{gap:9px}}
@media(max-width:980px){.sidebar{width:78px;padding:25px 13px}.brand{justify-content:center}.brand>span:last-child,.nav-caption,.sidebar-note,.sidebar-bottom{display:none}nav{margin-top:38px}nav a{font-size:0;justify-content:center;padding:13px 10px}nav a span{font-size:22px}nav a.active::after{display:none}.workspace{margin-left:78px}.toast{left:calc(50% + 39px)}.student-layout{grid-template-columns:minmax(0,1fr) 245px}.welcome h2{font-size:34px}.welcome-stats{gap:23px}.orbital{right:-140px}.human-mark{right:18px}.account-name small{display:none}.rubric-mini h3{font-size:11px}.bands{gap:10px}.band{padding:16px}.criterion label{font-size:12px}.criterion-title{gap:7px}.criterion-index{display:none}}
@media(max-width:760px){.sidebar{position:static;width:100%;height:auto;padding:16px 20px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line);gap:16px}.shell{display:block}.brand>span:last-child{display:block;font-size:14px}.brand small{font-size:9px;letter-spacing:1px}.brand-icon{width:36px;height:38px;font-size:24px;border-radius:10px}.brand{gap:9px}nav{display:flex;margin:0;gap:6px}nav a{padding:9px;font-size:0}nav a span{font-size:19px}.workspace{margin-left:0}.topbar{height:54px;padding:0 20px}.breadcrumb{font-size:10px;gap:10px}.account{gap:8px;font-size:11px}.avatar{display:none}.account-actions{gap:10px}.account .link-button{font-size:10px}.account-name small{display:none}main{padding:25px 20px 12px;min-height:calc(100vh - 194px)}h1{font-size:25px;letter-spacing:-.5px}.intro-title{margin-bottom:20px;align-items:start}.intro-title p{font-size:11px;margin-top:6px}.intro-title .tag{font-size:9px;padding:4px 7px}.eyebrow{font-size:9px;margin-bottom:7px;letter-spacing:1.5px}.welcome-grid{grid-template-columns:1fr;gap:18px}.welcome{min-height:250px;padding:25px}.welcome h2{font-size:29px;margin:12px 0 8px}.welcome h2 br{display:none}.welcome p{font-size:11px;max-width:240px}.welcome-stats{margin-top:25px;gap:36px}.welcome-stats b{font-size:25px}.welcome-stats small{font-size:9px}.orbital{width:190px;height:190px;right:-70px;top:5px}.human-mark{right:38px;top:100px}.welcome-index{font-size:8px;right:22px;bottom:22px}.auth-card{padding:25px}.rubric-mini-grid{grid-template-columns:repeat(2,1fr);gap:11px}.rubric-mini{padding:16px 18px}.rubric-mini h3{font-size:12px;margin-top:6px}.rubric-mini .points{margin-top:5px}.rubric-mini strong{font-size:23px}.section-head{margin-top:23px}.section-head h2{font-size:15px}.section-head p{font-size:10px}.preview-list{padding:18px;gap:15px}.preview-list p{font-size:10px}.preview-count{font-size:21px}.page-footer{padding:25px 20px;font-size:9px}.page-footer span:last-child{display:none}.progress-hero{padding:22px;gap:15px;margin-bottom:19px}.progress-hero h2{font-size:19px}.progress-hero p{font-size:10px;max-width:230px}.progress-hero .progress-num{font-size:32px}.progress-hero .progress-num small{font-size:13px}.progress-track{margin-top:14px}.student-layout{grid-template-columns:1fr;gap:20px}.list-card{position:static;grid-row:2}.topic-list{max-height:330px}.topic-row strong{font-size:12px}.topic-row small{font-size:10px}.topic-row{padding:10px}.topic-header{padding:22px}.topic-header h2{font-size:21px}.topic-hint{font-size:11px;padding:12px}.criteria-list{padding-inline:22px}.criterion{padding:20px 0}.criterion-title{gap:8px}.criterion label{font-size:13px}.criterion p{font-size:11px;padding:0;margin-top:8px}.score-guide{font-size:9px;padding:0;margin-top:8px}.score-input{font-size:21px;width:59px;padding:7px 3px}.score-input-wrap{gap:6px;font-size:10px}.comment-area{padding-inline:22px}.submit-bar{padding:17px 22px;position:sticky;bottom:0;z-index:2;box-shadow:0 -4px 20px #29413105}.submit-bar .button{font-size:12px;padding:11px 16px}.total-number{font-size:27px}.submit-note{font-size:9px}.toast{left:50%;bottom:20px;width:max-content;max-width:calc(100% - 32px)}.rubric-content{padding:4px 22px}.rubric-full{grid-template-columns:28px 1fr 48px;gap:12px;padding:23px 0}.rubric-full .rubric-index{font-size:18px}.rubric-full h3{font-size:13px}.rubric-full p{font-size:11px}.rubric-full .rubric-max{font-size:21px}.bands{grid-template-columns:repeat(2,1fr);gap:11px}.band{padding:18px}.rule-note{padding:20px;font-size:11px}.admin-login{margin:25px auto;padding:26px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat{padding:18px 20px}.stat strong{font-size:29px}.stat .stat-label{font-size:10px}.admin-toolbar{align-items:flex-start}.toolbar-buttons{gap:7px}.toolbar-buttons .button{font-size:10px;padding:8px 11px}.table-heading{padding:18px 18px 0}.table-heading .search-input{max-width:none;width:100%;margin-top:-6px}.table-heading .tabs{gap:25px}.admin-notes{font-size:10px;gap:15px}.notice{font-size:11px}dialog{padding:25px 22px}.recovery-code{font-size:15px;letter-spacing:.5px}.dialog-actions .button{font-size:12px;padding:10px 15px}.record-note{font-size:11px}.complete-card{padding:40px 23px}}
.intro-title>.link-button{white-space:nowrap;flex-shrink:0}progress.progress-track{display:block;appearance:none;border:none;width:min(100%,400px);height:4px;color:#c9dbb1;background:#ffffff25}progress.progress-track::-webkit-progress-bar{background:#ffffff25;border-radius:8px}progress.progress-track::-webkit-progress-value{background:#c9dbb1;border-radius:8px}progress.progress-track::-moz-progress-bar{background:#c9dbb1;border-radius:8px}progress.table-progress{display:block;appearance:none;border:0;color:#91ad7d}progress.table-progress::-webkit-progress-bar{background:#e7eddf;border-radius:4px}progress.table-progress::-webkit-progress-value{background:#91ad7d;border-radius:4px}progress.table-progress::-moz-progress-bar{background:#91ad7d;border-radius:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.demo-panel{padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fffdf7}.demo-panel h2{font-size:15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.demo-panel p{font-size:11px;color:var(--muted);margin-top:7px}.demo-panel p strong{color:var(--green);font-family:Consolas,monospace;font-size:13px}.demo-panel>.toolbar-buttons{justify-content:flex-end}.demo-panel .link-button{font-size:11px;min-height:38px}.demo-notice strong{display:block;margin-bottom:4px}@media(max-width:1000px){.demo-panel{align-items:flex-start;flex-direction:column}.demo-panel>.toolbar-buttons{justify-content:flex-start}.demo-panel h2{font-size:14px}}
