*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #96a1ef}a{color:var(--blue);text-decoration:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.7px;line-height:1.35}h2{font-size:20px}h3{font-size:16px}small{font-size:11px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;color:#8994ac}.primary{background:var(--blue);color:white;border:0;border-radius:10px;padding:10px 17px;min-height:42px;box-shadow:0 3px 8px #465ac520}.primary:hover{background:#3d4fc5}.secondary{background:white;border:1px solid var(--line);border-radius:9px;padding:8px 14px;color:var(--ink);min-height:39px}.secondary:hover{background:#f5f7ff}.danger{color:#ae4d5f}.full{width:100%}.icon-btn{border:0;background:transparent;font-size:25px;color:var(--muted);min-width:40px;min-height:40px}.brand-mark{width:36px;height:36px;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;font:600 22px Georgia;flex-shrink:0}.wordmark{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:650}.wordmark small{display:block;color:var(--muted);font-weight:400;font-size:10px;letter-spacing:1px}.shell{display:flex;min-height:100vh}.sidebar{width:242px;padding:30px 18px 20px;background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;flex-shrink:0}.sidebar>.wordmark{padding:0 8px}.student-card{display:flex;align-items:center;gap:11px;padding:17px 12px;margin:32px 0 27px;background:#f7f8fc;border-radius:14px}.avatar{display:inline-flex;align-items:center;justify-content:center;background:#e2ece6;color:#557e6a;border-radius:50%;width:40px;height:40px;font-size:19px}.student-card small{display:block;color:var(--muted);font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#76aa8e;flex-shrink:0}.student-card>.status-dot{margin-left:auto}.nav-label{font-size:10px;color:#9da7b8;margin:0 12px 9px;letter-spacing:1px}nav{display:flex;flex-direction:column;gap:5px}.nav-btn{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:#7a8498;text-align:left;font-size:14px;white-space:nowrap}.nav-btn .nav-icon{font-size:18px;width:23px;text-align:center}.nav-btn.active{background:var(--blue-light);color:var(--blue);font-weight:650}.nav-btn:hover{background:#f4f6fd}.side-bottom{margin-top:auto}.local-status{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);margin:14px 10px 0;padding-top:19px;color:#748397;font-size:11px}.local-status small{display:block;color:#a2acb9}.main{flex:1;min-width:0;padding:29px 34px 18px;max-width:1800px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1{margin-top:4px}.top-actions{display:flex;align-items:center;gap:15px}.top-actions>.muted{font-size:12px}.account-btn{background:white;border:1px solid var(--line);border-radius:23px;padding:8px 14px;color:#728198;font-size:12px}.boundary{background:#f0f2f8;border-radius:8px;padding:8px 12px;color:#8791a4;font-size:11px;margin-bottom:22px}.hero{display:grid;grid-template-columns:1.2fr 1fr;background:#eef2f8;border:1px solid #e1e8f3;border-radius:20px;padding:29px 31px;margin-bottom:22px;overflow:hidden;gap:24px}.hero h2{font-size:26px;font-weight:600;letter-spacing:-.5px;margin:9px 0 10px}.hero p{color:#758297;font-size:13px;max-width:470px}.hero .eyebrow{color:#7587aa}.hero-link{margin-top:16px;display:inline-flex;gap:15px;align-items:center;color:var(--blue);font-weight:600;border:0;background:transparent;padding:0}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:17px}.hero-stats>div{border-left:1px solid #dce4f0;padding-left:22px}.hero-stats strong{font-size:31px;font-weight:550;color:#46577a;display:block;line-height:1.3}.hero-stats span{font-size:11px;color:#8291aa}.grid-2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:22px}.grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.card-head h2{font-size:16px;font-weight:600}.card-head small{color:var(--muted);font-size:11px}.text-btn{border:0;background:transparent;padding:0;color:#8794ab;font-size:12px}.text-btn:hover{color:var(--blue)}.count-badge{background:var(--blue-light);color:var(--blue);border-radius:5px;padding:2px 6px;font-size:10px;margin-left:8px}.tag{display:inline-flex;font-size:10px;padding:3px 8px;border-radius:5px;background:#f0f3f8;color:#718198;vertical-align:middle;white-space:nowrap}.tag.green{background:#edf5f0;color:#548270}.tag.amber{background:#fbf3e7;color:#a78954}.tag.blue{background:#eef1ff;color:#6576bd}.tag.red{background:#f9edef;color:#b27881}.agenda-row{display:flex;gap:18px;align-items:flex-start;margin:0 0 19px;padding:0 0 18px;border-bottom:1px solid #f0f2f6}.agenda-row:last-child{border:0;padding-bottom:0;margin-bottom:0}.agenda-time{font-size:14px;color:#73819a;min-width:46px}.agenda-line{border-left:3px solid #93a2e7;padding-left:15px;flex:1}.agenda-line h3{font-size:14px}.agenda-line p{color:var(--muted);font-size:11px;margin-top:3px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:14px}.stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.empty{padding:34px 15px;text-align:center;color:#99a4b3;font-size:13px}.empty .empty-icon{font-size:29px;color:#c1cada;display:block;margin-bottom:12px}.empty p{margin:6px auto 15px;max-width:380px;font-size:12px}.todo-row{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid #f0f2f6}.todo-row:last-child{border:0}.todo-row input{margin-top:5px;width:17px;height:17px;accent-color:var(--green)}.todo-row b{font-size:13px;font-weight:500}.todo-row p{font-size:10px;color:#97a1b2}.todo-row.done b{text-decoration:line-through;color:#a2a9b5}.todo-row .text-btn{margin-left:auto}.subtle-note{border-radius:10px;background:#f7f9fc;padding:13px 15px;font-size:12px;color:#8593a7;line-height:1.8}.record-row{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid #f0f2f6}.record-row:last-child{border:0}.record-symbol{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#f1f3fb;color:#7686b4;flex-shrink:0;font-size:16px}.record-row h3{font-size:13px;font-weight:500}.record-row p{font-size:11px;color:var(--muted);margin-top:4px}.record-row>div:nth-child(2){flex:1;min-width:0}.record-row button{border:0;background:none;color:#7188b2;text-align:left;padding:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.toolbar h2{font-size:21px}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:9px;background:white;padding:8px 12px;max-width:300px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day-column{border:1px solid var(--line);border-radius:13px;background:#fff;min-height:285px;overflow:hidden}.day-header{padding:15px 10px;background:#fafbfe;border-bottom:1px solid var(--line);text-align:center;color:#96a0b2;font-size:11px}.day-header strong{display:block;font-size:21px;color:#748299;font-weight:500}.day-column.today{border-color:#9ea9e6}.today .day-header{background:#eef0ff;color:#6678c2}.today .day-header strong{color:var(--blue)}.event-card{display:block;width:calc(100% - 12px);margin:8px 6px;padding:10px 8px;text-align:left;border:0;border-left:3px solid #a9b7ed;background:#f3f5fc;border-radius:7px;color:#536680;font-size:11px}.event-card strong{display:block;font-size:12px;font-weight:550;margin:4px 0}.event-card small{font-size:9px;color:#a2acc0}.event-card.exam{background:#faf3e9;border-color:#d9b67d}.event-card.cancelled{opacity:.55;text-decoration:line-through}.day-free{font-size:10px;color:#c3cbd7;text-align:center;padding:28px 3px}.course-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.course-chip{border:1px solid var(--line);background:white;border-radius:25px;padding:8px 13px;color:#7d8da6;font-size:12px}.wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.moment{background:white;border:1px solid var(--line);border-radius:17px;padding:25px;min-height:210px}.moment .medal{width:55px;height:55px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fbf2df;color:#bb994b;font-size:26px;margin-bottom:17px}.moment h3{margin-bottom:7px}.moment p{font-size:12px;color:#8c97a8;white-space:pre-wrap}.moment .row-between{margin-top:16px}.timeline{border-left:1px solid #dfe6ef;margin-left:12px;padding-left:30px}.timeline-item{position:relative;margin-bottom:22px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px}.timeline-item:before{position:absolute;content:'';width:9px;height:9px;border-radius:50%;border:3px solid var(--bg);background:#a6b5d7;left:-38px;top:29px}.timeline-item h3{font-size:14px;margin:5px 0}.timeline-item p{font-size:12px;color:#8792a5;line-height:1.8}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{border:1px solid var(--line);background:white;color:#8b97ab;border-radius:20px;padding:6px 15px;font-size:12px}.chip.selected{background:var(--blue);color:white;border-color:var(--blue)}.trend-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.trend-stat>div{padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.trend-stat strong{font-size:28px;font-weight:500;display:block;color:#576b91}.trend-stat span{font-size:11px;color:#93a0b1}.bar-row{display:grid;grid-template-columns:90px 1fr 30px;align-items:center;gap:13px;margin:16px 0;color:#8e9cb0;font-size:11px}.bar-track{height:10px;background:#f0f3f9;border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:#a4b5dc;border-radius:6px}.report-body{white-space:pre-wrap;word-break:break-word;font:13px/1.9 inherit;color:#6b7c94;max-height:65vh;overflow:auto}.material-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.material-card{padding:20px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.file-name{word-break:break-all;font-size:13px;margin:10px 0}.file-hash{font:10px monospace;color:#a0abba;word-break:break-all}.material-card .stack{margin-top:15px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid .card{margin:0}.error{color:#b64b63;font-size:12px;margin:12px 0}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);padding:12px 24px;background:#2d405b;color:#fff;border-radius:11px;box-shadow:0 5px 25px #17233130;z-index:99;font-size:13px;max-width:90vw}.login-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-story{background:#eaf0f7;padding:48px 65px;display:flex;flex-direction:column;justify-content:space-between}.login-story h1{font-size:41px;line-height:1.7;font-weight:550;letter-spacing:-1.3px;color:#344b71;margin-top:12px}.login-story p{color:#8695ad;margin-top:20px;line-height:2}.login-story>small{color:#99a6b9;letter-spacing:1px}.story-grid{display:flex;gap:55px;margin-top:45px;color:#a4b2c7;font-size:11px}.story-grid b{display:block;color:#657b9e;font-size:13px;margin-top:5px;font-weight:500}.login-panel{display:flex;align-items:center;justify-content:center;background:white;padding:40px}.login-box{width:340px;max-width:100%}.login-box h2{font-size:25px;margin:10px 0 7px}.login-box form{margin-top:30px}.login-note{font-size:11px;color:#a6afbd;line-height:1.9;border-top:1px solid var(--line);margin-top:28px;padding-top:20px}label{display:block;font-size:12px;color:#75849c;margin-bottom:17px}label input:not([type=checkbox]),label select,label textarea{display:block;border:1px solid #dfe5ed;border-radius:9px;width:100%;padding:10px 12px;background:#fff;color:#42526a;margin-top:6px;min-height:42px}label textarea{min-height:80px;resize:vertical}input[type=checkbox]{accent-color:var(--blue)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.check-label{display:flex;align-items:center;gap:9px;margin:8px 0 15px}.weekdays{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.weekdays label{margin:0}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px;margin-top:13px}dialog{border:1px solid var(--line);border-radius:18px;width:680px;max-width:calc(100vw - 32px);max-height:90vh;padding:0;box-shadow:0 25px 80px #24345030;color:var(--ink)}dialog::backdrop{background:#25354a55;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.dialog-head h2{font-size:18px}#dialog-body{padding:24px}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:13px}.detail-grid>span:nth-child(odd){color:#9ba7b8}.detail-grid p{white-space:pre-wrap;word-break:break-word}.preview-image{max-width:100%;height:auto}.dropzone{padding:25px;border:1px dashed #bbc7de;background:#f8faff;border-radius:12px;text-align:center;margin-bottom:20px}.dropzone input{max-width:100%;font-size:12px}footer{font-size:10px;color:#a9b3c2;display:flex;justify-content:space-between;padding:20px 2px}.child-hero{background:#e8f0eb;border-radius:18px;padding:30px;margin-bottom:24px}.child-hero h2{font-size:28px;color:#456c5d}.child-hero p{color:#789185;margin-top:6px}.busy{opacity:.65;pointer-events:none}.inline-link{color:var(--blue);cursor:pointer}pre{white-space:pre-wrap;word-break:break-word}.empty-wide{grid-column:1/-1}.mobile-only{display:none}@media(min-width:1500px){.main{padding-left:45px;padding-right:45px}}@media(max-width:1100px){.sidebar{width:205px;padding:26px 12px}.main{padding:25px 23px}.hero{grid-template-columns:1fr;padding:24px}.hero-stats{margin-top:7px}.grid-2{grid-template-columns:1fr 1fr}.top-actions>.muted{display:none}.week-grid{gap:5px}.event-card{font-size:10px;padding:8px 5px}.wall{grid-template-columns:1fr 1fr}}@media(max-width:760px){.shell{display:block}.sidebar{width:100%;height:auto;position:static;padding:14px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar>.wordmark{padding:0}.student-card,.nav-label,.local-status{display:none}nav{flex-direction:row;overflow-x:auto;margin-top:14px;padding-bottom:4px;gap:5px}.nav-btn{width:auto;flex-shrink:0;padding:8px 11px;font-size:12px;gap:5px}.nav-icon{display:none}.side-bottom{position:absolute;right:12px;top:14px}.side-bottom>.nav-btn{font-size:11px}.main{padding:20px 16px}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.top-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.top-actions>.primary{font-size:11px;padding:8px 10px;min-height:35px}.account-btn{font-size:10px;padding:7px 10px}.topbar .eyebrow{font-size:8px}.boundary{font-size:10px}.hero{padding:22px;margin-bottom:16px}.hero h2{font-size:23px}.hero-stats{gap:7px}.hero-stats>div{padding-left:15px}.hero-stats strong{font-size:25px}.hero-stats span{font-size:10px}.grid-2,.grid-equal,.settings-grid{display:block}.card{padding:20px;margin-bottom:16px}.week-grid{grid-template-columns:1fr}.day-column{min-height:0;display:grid;grid-template-columns:66px 1fr;padding-bottom:7px;gap:0}.day-header{grid-row:span 10;padding:12px 8px;border-bottom:0;border-right:1px solid var(--line);margin-bottom:-7px}.event-card{width:calc(100% - 18px);margin:7px 9px 0;padding:9px;font-size:11px}.event-card strong{display:inline;margin-left:12px}.event-card small{margin-left:8px}.day-free{text-align:left;padding:18px}.wall,.material-list{grid-template-columns:1fr}.moment{min-height:0}.form-grid{grid-template-columns:1fr}.toolbar h2{font-size:19px}.toolbar{gap:12px}.toolbar .stack{gap:6px}.secondary{font-size:11px;padding:8px 11px}.trend-stat{gap:8px}.trend-stat>div{padding:13px}.trend-stat strong{font-size:25px}.detail-grid{grid-template-columns:76px 1fr}footer{display:block}footer span{display:block;margin-top:4px}.login-shell{grid-template-columns:1fr}.login-story{padding:24px;min-height:260px;gap:24px}.login-story h1{font-size:26px;line-height:1.5}.login-story p,.story-grid,.login-story>small{display:none}.login-panel{padding:35px 24px}.login-box{width:100%}#dialog-body{padding:20px}.settings-grid .card{margin-bottom:16px}}

.home-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:18px}.home-week button{padding:9px 3px;font-size:11px}.home-week strong{display:block;font-size:17px;margin-top:5px}

.honor-photo{width:100%;height:170px;object-fit:contain;background:#faf6ee;border-radius:10px;margin-bottom:16px}

/* Material intake uses the existing form and evidence cards; no separate collector. */
.material-runtime{font-size:11px;color:#7e8ca3;margin-bottom:12px;overflow-wrap:anywhere}.material-workflow .card-head{flex-wrap:wrap}.material-workflow .card-head p{font-size:11px;margin-top:5px}.material-job-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.material-job-row:last-child{border-bottom:0}.material-job-row h3{font-size:14px}.material-job-row p{font-size:11px;color:var(--muted);margin:5px 0 9px}.material-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:19px 0}.material-stages>div{border:1px solid var(--line);background:#f8faff;padding:12px;border-radius:10px;min-width:0}.material-stages b,.material-stages span{display:block;font-size:12px}.material-stages span{font-size:10px;color:var(--muted);margin-top:5px}.material-controls{margin:16px 0}.material-detail>h3{font-size:15px;margin:21px 0 10px}.material-detail .record-row{align-items:center}.material-detail .record-row>div:first-child{flex:1;min-width:0}.material-candidate{border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:13px}.material-candidate>.row-between{align-items:flex-start;flex-wrap:wrap}.material-candidate h3{font-size:14px}.material-candidate p{font-size:11px;margin-top:7px}.material-candidate .stack{margin-top:12px}.material-candidate blockquote,.material-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.material-candidate .material-score{font-size:21px;color:#6579a5}.material-needs{color:#a17f4e;font-size:12px;margin-top:9px}.material-extraction{margin-top:20px}.material-extraction summary,.material-detail details>summary{font-size:12px;color:#7b8da9;cursor:pointer;margin:12px 0}.material-extraction pre,.material-original-text{max-height:50vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fc;border-radius:10px;padding:15px;font-size:12px}.material-detail .report-body{font-size:12px}.material-detail .file-hash{overflow-wrap:anywhere}
@media(max-width:760px){.material-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.material-job-row{display:block}.material-job-row>.secondary{margin-top:12px}.material-controls{align-items:stretch}.material-controls .secondary,.material-controls .primary{font-size:11px}.material-candidate{padding:13px}.material-detail .record-row{flex-wrap:wrap}.material-detail .record-row>div:first-child{flex-basis:100%}.material-workflow .card-head p{font-size:10px}}

/* Score points are observations. No interpolation or inferred ability curve. */
.score-section{margin-bottom:24px}.score-section .eyebrow{color:#7183be}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.score-panel{background:#f8faff;border:1px solid #e8edf8;border-radius:15px;padding:16px;min-width:0}.score-panel h3{font-size:16px}.score-chart{width:100%;display:block;overflow:visible}.chart-grid{stroke:#dde4f1;stroke-dasharray:3 5}.chart-label{font-size:10px;fill:#8893a6}.chart-value{font-size:10px;fill:#56638a;pointer-events:none}.score-dot{cursor:pointer}.score-dot circle{fill:#566bd8;stroke:#fff;stroke-width:2}.score-dot.pending circle{fill:white;stroke:#93a1c6;stroke-width:2;stroke-dasharray:3 2}.score-dot.important circle{stroke:#b98b46;stroke-width:3}.score-dot:focus circle,.score-dot:hover circle{stroke:#253b99;stroke-width:3}.score-panel>small{color:#8893a6;font-size:10px}.score-empty{min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8a9ab5}.sprout{width:75px;height:55px;color:#91a9a2}.score-guidance{font-size:12px;color:#7c8798;margin:18px 0 12px}.sample-warning{margin-bottom:16px;color:#916e3f;background:#fcf7ee}.knowledge-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.knowledge-link{border:1px solid #e4eaf4;background:#fafcff;text-align:left;border-radius:12px;padding:16px;color:#536583}.knowledge-link>b,.knowledge-link>span,.knowledge-link>small{display:block}.knowledge-link>span{font-size:12px;margin:7px 0}.knowledge-link>small{color:#8b96aa}.knowledge-statement{margin:16px 0;font-size:14px}.score-section .chips{flex-wrap:wrap}.score-records{margin-top:20px}.score-section .card-head{flex-wrap:wrap;gap:12px}.hero{position:relative}.hero::after{content:'✧';position:absolute;right:22px;top:18px;color:#b4c2db;font-size:30px;transform:rotate(-12deg);pointer-events:none}.medal{background:#eff2ff;border-radius:12px;color:#7d8ebe}.day-free::before{content:'⤴';display:block;color:#b5c8d2;font-size:25px;margin-bottom:8px}.score-chart [role=button]{outline-offset:4px}
@media(max-width:1100px){.score-grid,.knowledge-summary{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.score-grid,.knowledge-summary{grid-template-columns:1fr}.score-panel{padding:14px}.score-section .primary{font-size:12px}.score-section .card-head{align-items:flex-start}.score-chart{max-height:260px}.chart-value{font-size:11px}}
.score-hit{fill:transparent;pointer-events:all}

/* Reuse the week picker and agenda at the top; scores remain a full-width core section. */
.hero.home-top{grid-template-columns:minmax(220px,.85fr) minmax(0,1.35fr);align-items:center;padding:24px;gap:28px}
.home-top::after{display:none}.home-intro{min-width:0}.home-intro h2{font-size:25px;line-height:1.5}.home-intro p{max-width:340px;font-size:13px}
.home-calendar{min-width:0;background:#ffffffb8;border:1px solid #e0e7f2;border-radius:15px;padding:18px}
.home-calendar .card-head{margin-bottom:12px;flex-wrap:wrap;gap:8px}.home-calendar .card-head h2{font-size:15px}.home-calendar .count-badge{font-weight:400;margin-left:4px}
.home-calendar .home-week{margin-bottom:12px}.home-calendar .home-week button{border-radius:10px;min-height:55px;padding:6px 2px}.home-calendar .home-week strong{font-size:16px;margin-top:2px}
.home-day-heading{display:flex;justify-content:space-between;gap:10px;color:#7c8aa3;font-size:11px;border-top:1px solid #e6ebf3;padding:11px 0}
.home-calendar .agenda-row{gap:10px;margin-bottom:12px;padding-bottom:12px}.home-calendar .agenda-line{padding-left:10px;min-width:0}.home-calendar .agenda-line h3{font-size:13px}.home-calendar .agenda-time{font-size:12px;min-width:38px}.home-calendar .empty{padding:9px 8px}.home-calendar .empty-icon{display:none}.home-calendar .empty p{margin-bottom:0}.home-more{font-size:11px;color:#8391a7;margin-top:10px}
.score-section>.card-head h2{font-size:20px}
@media(max-width:1100px) and (min-width:761px){.hero.home-top{grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);gap:18px;padding:20px}.home-intro h2{font-size:22px}.home-calendar{padding:14px}.home-calendar .count-badge{display:none}}
@media(max-width:760px){.hero.home-top{grid-template-columns:1fr;gap:18px;padding:20px}.home-intro h2{font-size:22px}.home-intro p{max-width:none}.home-calendar{padding:14px}.home-calendar .count-badge{font-size:9px}.score-section>.card-head h2{font-size:20px}}

/* Household home: greeting then calendar; no development progress on the dashboard. */
.hero.home-top.home-top-stacked{grid-template-columns:minmax(0,1fr);padding:22px 24px;gap:16px}
.home-top-stacked .home-intro h2{font-size:24px;margin:5px 0}.home-top-stacked .home-intro p{max-width:none}
.home-top-stacked .home-calendar{padding:16px 20px}.home-top-stacked .home-week button{min-height:65px}
.day-markers{display:flex;justify-content:center;gap:4px;height:7px;margin-top:5px}.day-marker{display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0}.event-marker{background:#637cdc}.task-marker{background:#c68e49;border-radius:1px}.chip.selected .event-marker{background:white}.chip.selected .task-marker{background:#ffd99a}.calendar-key{display:flex;gap:18px;font-size:10px;color:#8a96a9;margin-top:12px}.calendar-key span{display:flex;gap:6px;align-items:center}
.home-top-stacked .agenda-row{margin-bottom:10px;padding-bottom:10px}.home-top-stacked .todo-row{padding:8px 0}.score-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.score-filters .chips{margin:0}.compact-select{display:flex;align-items:center;gap:8px;margin:0;font-size:11px}.compact-select select{margin:0;padding:6px 10px;min-height:35px;width:auto;max-width:200px}.score-grid.single-subject{grid-template-columns:minmax(0,1fr)}.single-subject .score-chart{max-height:240px}.score-comparable-line{stroke:#8b9cce;stroke-width:1.8;fill:none;stroke-dasharray:4 4;pointer-events:none}.source-advanced{margin-top:16px}.source-advanced summary{color:#8a96a9;font-size:12px;margin-bottom:12px}.score-section .score-guidance{font-size:11px}
@media(max-width:760px){.hero.home-top.home-top-stacked{padding:18px;gap:14px}.home-top-stacked .home-calendar{padding:12px}.home-top-stacked .home-intro h2{font-size:21px}.home-top-stacked .home-calendar .count-badge{display:none}.home-day-heading{font-size:10px}.calendar-key{gap:12px}.score-filters{align-items:flex-start}.compact-select{width:100%;justify-content:space-between}.compact-select select{flex:1;max-width:220px}.local-status{display:flex;border:0;margin:0;padding:0;font-size:9px;justify-content:flex-end}.local-status small{display:none}.side-bottom{top:10px}.sidebar>.wordmark{max-width:calc(100% - 110px)}}
.home-topbar{margin-bottom:14px;gap:16px;flex-wrap:wrap}.home-topbar h1{font-size:26px;margin:0}.home-topbar #home-greeting{font-size:12px;margin-top:6px}.home-topbar .top-actions{margin-left:auto}.hero.home-top.home-top-stacked{padding:16px}.preparation-honor{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:22px}.preparation-photo{display:block;width:100%;height:280px;object-fit:contain;background:#f4f6fa;border-radius:12px;margin-bottom:8px}.preparation-honor p{margin-bottom:10px}.preparation-honor .stack{margin-top:16px}@media(max-width:760px){.home-topbar h1{font-size:22px}.preparation-honor{grid-template-columns:1fr}.preparation-photo{height:220px}.home-topbar .top-actions{margin-left:0}.hero.home-top.home-top-stacked{padding:12px}}

/* One small home entry; structured, versioned reference pages stay off the score canvas. */
.admissions-entry{display:flex;align-items:center;gap:13px;width:100%;border:1px solid #dce5f2;background:#f3f7ff;border-radius:15px;padding:18px 20px;margin-bottom:24px;color:#536b92;text-align:left}
.admissions-entry:hover{background:#eaf1ff;border-color:#bbcde8}.admissions-entry>span:nth-child(2){flex:1;min-width:0}.admissions-entry b{display:block;font-size:14px;font-weight:550}.admissions-entry small{display:block;color:#8292aa;font-size:11px;line-height:1.7;margin-top:4px}.admissions-entry-icon{font-size:29px;color:#91a7c7}
.admissions-page{min-width:0}.admissions-toolbar{margin-bottom:16px}.admissions-toolbar h2{font-size:22px}.admissions-toolbar p{font-size:12px;margin-top:6px}.admissions-boundary{border-left:3px solid #b3c2df;color:#71839e;margin-bottom:18px}.admissions-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.admissions-tabs .chip{min-height:37px}
.admissions-page .card h2{font-size:17px;margin-bottom:13px}.admissions-page .card h3{font-size:14px;line-height:1.65}.admissions-page p{font-size:12px;line-height:1.9}.admissions-page details{margin-top:14px}.admissions-page summary{cursor:pointer;color:#647fa7;font-size:12px;line-height:1.8}.admissions-page summary:hover{color:#435e8d}.admissions-section-title{font-size:17px;margin:25px 0 15px}
.admissions-rule-grid,.admissions-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:23px}.admissions-rule-grid>.card,.admissions-route-grid>.card{margin:0}.admissions-rule .card-head{gap:10px;margin-bottom:9px;align-items:flex-start}.admissions-rule .card-head h3{flex:1}.admissions-rule>small{display:block;margin-top:8px}.admissions-rule p{white-space:pre-line}.admissions-sources-inline{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.admissions-sources-inline .text-btn{color:#6a82ac}.admissions-page .card-head{flex-wrap:wrap}
.admissions-concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}.admissions-concepts>div{padding:17px;background:#f5f8fd;border:1px solid #e5ecf6;border-radius:12px}.admissions-concepts b{font-size:14px;color:#5c7193}.admissions-concepts p{color:#8b98aa;margin-top:5px}.admissions-steps{display:flex;gap:12px;overflow-x:auto;padding:8px 0 16px;margin-bottom:10px}.admissions-steps>article{flex:1;min-width:140px;position:relative;background:#f6f9fd;border:1px solid #e4eaf4;border-radius:12px;padding:16px 13px}.admissions-steps>article>span{display:flex;align-items:center;justify-content:center;border:1px solid #ccd8eb;border-radius:50%;width:24px;height:24px;color:#8399bc;font-size:11px;margin-bottom:10px}.admissions-steps h3{font-size:12px!important}.admissions-steps p,.admissions-steps small{font-size:10px;color:#8997ab;line-height:1.8}
.admissions-prose{color:#73839b;padding:12px 0 5px}.admissions-prose p{margin-bottom:12px}.admissions-definition-list{display:grid;gap:9px}.admissions-definition-list section{background:#f7f9fc;border-radius:9px;padding:12px}.admissions-definition-list h4{font-size:13px;margin-bottom:5px}.admissions-definition-list p{margin-bottom:2px}.admissions-faq{padding:14px 0;border-bottom:1px solid var(--line)}.admissions-faq:last-child{border-bottom:0}.admissions-faq>p{margin:10px 0}.admissions-faq summary{font-size:13px}
.admissions-goal{border-left:3px solid #b5c5e3;padding:2px 0 2px 15px;margin:18px 0}.admissions-goal>span{display:block;font-size:11px;color:#8f9bb0}.admissions-goal>b{display:block;font-size:24px;font-weight:500;color:#5c739a;margin:4px 0}.admissions-goal p{color:#8898af}.admissions-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:17px 0}.admissions-facts>div{border-bottom:1px solid #edf0f5;padding-bottom:10px}.admissions-facts dt{font-size:11px;color:#96a2b5}.admissions-facts dd{margin:5px 0 0;font-size:13px;color:#61738e;word-break:break-word}.admissions-route-card .card-head{margin-bottom:11px;align-items:flex-start}.admissions-eligibility{font-size:11px;background:#f4f6fb;color:#8393ad;border-radius:7px;padding:9px 11px;margin:13px 0}.admissions-checkpoints{padding-left:19px;font-size:12px;color:#7a8ba4;line-height:2}.admissions-checkpoints li{margin-bottom:8px}
.admissions-subjects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.admissions-subjects>article{border:1px solid #e3eaf6;background:#f9fbff;padding:15px;border-radius:12px}.admissions-subjects strong{display:block;font-size:25px;color:#637fa8;font-weight:500;margin:6px 0}.admissions-subjects strong small{font-size:11px;margin-left:5px;color:#9aa7ba}.admissions-subjects .tag{white-space:normal;line-height:1.5}.admissions-stats{margin:18px 0}.admissions-stats>article{border:1px solid #e5ebf4;border-radius:12px;padding:20px}.admissions-stats strong{display:block;margin:10px 0;color:#617ca5;font-size:22px;font-weight:500}
.admissions-line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.admissions-line{background:#f7faff;border:1px solid #e1e9f7;border-radius:13px;text-align:left;padding:18px 15px;color:#697f9e;min-width:0}.admissions-line:hover{border-color:#a6bbdf;background:#eef4ff}.admissions-line>span{display:block;min-height:40px;font-size:12px;line-height:1.7}.admissions-line strong{display:block;font-size:30px;font-weight:500;color:#5b76a2;margin:9px 0}.admissions-line strong small{font-size:10px;color:#9caac0}.admissions-line>small{display:block;font-size:10px;margin:3px 0 12px;color:#92a0b5}.admissions-line p{font-size:10px}.admissions-line .tag{white-space:normal}
.admissions-claims-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.admissions-claim{border:1px solid #e4eaf3;border-radius:12px;padding:18px;min-width:0}.admissions-claim .row-between{align-items:flex-start;flex-wrap:wrap;gap:8px}.admissions-claim>strong{display:block;font-size:23px;color:#7183a1;font-weight:500;margin:13px 0 8px}.admissions-claim>p{color:#8694aa}.admissions-claim>small{font-size:10px;color:#9ba7b9;display:block;margin-top:9px}.admissions-claim .stack{gap:16px}.admissions-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px}.admissions-comparison>article{border:1px solid #e4eaf4;border-radius:12px;padding:17px}.admissions-comparison dl{margin:13px 0;font-size:11px}.admissions-comparison dl>div{display:flex;justify-content:space-between;gap:8px;margin:7px 0}.admissions-comparison dt{color:#98a4b6}.admissions-comparison dd{color:#70819d;margin:0}
.admissions-source-row{display:flex;gap:18px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);min-width:0}.admissions-source-row:last-child{border-bottom:0}.admissions-source-row>div:first-child{min-width:0;flex:1}.admissions-source-row h3{word-break:break-word}.admissions-source-row>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;max-width:160px}.admissions-source-row p{margin-top:5px;color:#8e9db2}.admissions-external{display:inline-block;margin:15px 0;text-decoration:none}.admissions-diff{max-height:40vh;overflow:auto;font-size:12px;margin:15px 0}
@media(max-width:1100px){.admissions-line-grid,.admissions-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.admissions-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.admissions-entry{padding:16px;margin-bottom:16px}.admissions-entry small{font-size:10px}.admissions-entry b{font-size:13px}.admissions-tabs{gap:6px}.admissions-tabs .chip{font-size:11px;padding:7px 10px}.admissions-toolbar{align-items:flex-start}.admissions-toolbar .compact-select{justify-content:flex-start}.admissions-boundary{font-size:11px}.admissions-rule-grid,.admissions-route-grid,.admissions-claims-grid,.admissions-comparison,.admissions-concepts{grid-template-columns:1fr}.admissions-concepts{gap:8px}.admissions-concepts>div{padding:12px 15px}.admissions-concepts b,.admissions-concepts p{display:inline}.admissions-concepts p{margin-left:10px}.admissions-steps{display:block;overflow:visible}.admissions-steps>article{margin-bottom:10px;padding:14px 16px 14px 53px}.admissions-steps>article>span{position:absolute;left:14px;top:14px}.admissions-line{padding:14px 12px}.admissions-line-grid{gap:10px}.admissions-line>span{min-height:39px}.admissions-line strong{font-size:27px}.admissions-facts{grid-template-columns:1fr;gap:11px}.admissions-subjects{gap:10px}.admissions-subjects>article{padding:12px}.admissions-subjects .tag{font-size:9px}.admissions-source-row{display:block}.admissions-source-row>div:last-child{flex-direction:row;align-items:center;flex-wrap:wrap;max-width:none;margin-top:10px}.admissions-claim{padding:15px}.admissions-page .card{padding:19px}.admissions-page .card .card-head h2{margin-bottom:0}.admissions-page .toolbar h2{font-size:20px}}

.batch-file-list{max-height:320px;overflow:auto;margin:12px 0}.batch-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.batch-file-row label{display:flex;align-items:center;gap:10px;min-width:0;margin:0}.batch-file-row label span{overflow-wrap:anywhere}.batch-file-row input{width:auto}.batch-file-row small{display:block;color:var(--muted);margin-top:3px}.batch-file-row button{flex-shrink:0}

.material-research-panel{margin-bottom:24px}.research-entry{padding:16px 0;border-bottom:1px solid var(--line,#e3e5e1)}.research-entry h4{margin:8px 0}.research-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.research-unknown{color:#80643a;line-height:1.7}.material-research-status li{padding:7px 0;line-height:1.7}.research-entry blockquote{white-space:pre-wrap;overflow-wrap:anywhere}.material-research-card p{line-height:1.7}

.batch-subject-group{padding:16px;border:1px solid var(--line,#dce2db);border-radius:12px;margin:12px 0}.batch-subject-group.active{border-color:#718c72}.batch-subject-group select{max-width:240px}.batch-file-row>select{font-size:12px;max-width:180px}.batch-file-row{flex-wrap:wrap}

/* Knowledge summaries reuse cards and the existing workspace palette. */
.learning-home-grid,.learning-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-topic{min-width:0;padding:18px;border:1px solid #e4eaf4;border-radius:14px;background:#fafcff}.learning-topic h3{font-size:15px;line-height:1.5}.learning-topic .card-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.learning-topic p{font-size:13px;line-height:1.75;margin:9px 0}.learning-topic p.muted{font-size:12px}.learning-progress{color:#6677a1}.learning-manifestation{color:#344461}.learning-filters{display:flex;flex-wrap:wrap;gap:18px}.learning-filters label{flex:1;min-width:150px}.learning-home .card-head{gap:12px;flex-wrap:wrap}.learning-list .toolbar{flex-wrap:wrap;gap:12px}.learning-topic .text-btn{white-space:normal}.learning-list details.card{margin-top:18px}
@media(max-width:760px){.learning-home-grid,.learning-list-grid{grid-template-columns:1fr}.learning-filters{display:block}.learning-topic{padding:14px}}

/* Existing calendar categories and household reference; no new timetable. */
.time-school{padding:10px;border-radius:9px;background:#f0f4f9;color:#748397;font-size:11px;margin:7px 6px;line-height:1.7}.time-school b,.time-school span{display:block}.time-school b{font-size:11px;font-weight:550}.home-calendar .time-school{margin:0 0 12px}.day-content{min-width:0}.event-card.sport{background:#edf5f0;border-color:#94b8a2;color:#527c64}.sport-key{color:#527c64}.time-todo{margin:8px 6px;padding:9px;background:#fff7eb;border-left:3px solid #d6ba85;border-radius:7px;font-size:11px}.time-todo small{display:block;color:var(--muted)}.time-reference{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;margin:16px 0;font-size:12px;color:var(--muted)}.time-reference summary{cursor:pointer}.time-reference p{margin:9px 0}.time-day-hint{padding:10px 12px;background:#faf7f0;border-radius:9px;font-size:11px;color:#857457;margin:10px 0}.time-day-hint p{margin:3px 0}.time-week-panel{margin-top:22px}.time-level{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.time-level h3{font-size:14px;margin-bottom:8px;color:var(--ink)}.time-level article{margin:12px 0}.time-level p{margin:6px 0}.time-level details{margin-top:7px}.learning-plan-note{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.8}.learning-topic-compact p{margin:9px 0}.learning-topic-compact .card-head{align-items:flex-start}.calendar-key{flex-wrap:wrap}@media(max-width:760px){.day-content{grid-column:2}.time-week-panel .card-head{align-items:flex-start;gap:10px}.time-school{font-size:10px}.time-reference{font-size:11px}}

/* Multiple date facts stay visible; day backgrounds are only secondary cues. */
.calendar-date-label{display:inline-block;text-align:left;margin:4px;padding:6px 8px;border:1px solid #e1e6ed;border-radius:7px;background:#f8fafc;color:#64748b;font:inherit;font-size:10px;line-height:1.6;max-width:100%;white-space:normal}.day-content .calendar-date-label{display:block}.date-holiday{background:#edf7ef;border-color:#b9d9c2}.date-winter,.date-summer{background:#eaf3fc;border-color:#b6d1e9}.date-exam,.date-exam-estimated{background:#fff3e5;border-color:#e5c296}.date-workday,.date-school_makeup{background:#f1edfa;border-color:#cbbbe5}.date-festival{border-color:#b9d9c2;background:#fff}.calendar-date-label.estimated{border:1px dashed #cd9d62;background:#fff7ed}.day-column.ordinary-weekend .day-header{background:#f0f4fa}.day-column.date-holiday .day-header{background:#edf7ef}.day-column.date-winter .day-header,.day-column.date-summer .day-header{background:#eaf3fc}.day-column.date-exam .day-header,.day-column.date-exam-estimated .day-header{background:#fff1df}.day-column.date-exam-estimated{border-style:dashed;border-color:#d9b283}.day-column.date-workday .day-header,.day-column.date-school_makeup .day-header{background:#f0eafa}.calendar-maintenance{margin-top:22px}.calendar-maintenance p{font-size:12px;margin:9px 0}.calendar-maintenance details{font-size:12px;margin-top:13px}.calendar-legend{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0}.calendar-date-toolbar label{margin:0;max-width:220px}.calendar-date-toolbar input{margin-top:5px}.score-candidate-panel{border:1px solid #e5cfac;border-radius:12px;background:#fffbf5;padding:15px;margin:16px 0}.score-candidate-panel h3{font-size:14px}.score-candidate-panel p{font-size:12px;margin:7px 0}

.upload-exam-fields{border:1px solid var(--line,#e4e6ec);border-radius:12px;padding:16px;margin:12px 0;background:#fafbfe}.upload-exam-fields h4{margin:0 0 12px}.upload-score-state{color:#39634c;font-weight:600}

.score-descriptive-line,.score-comparable-line{stroke:#8b9cce;stroke-width:1.25;fill:none;pointer-events:none}.score-descriptive-line{stroke-dasharray:none}.score-comparable-line{stroke-dasharray:4 4}

.score-c0-line{stroke:#9caacf;stroke-width:1.7;fill:none;stroke-dasharray:5 3;pointer-events:none}

.honor-archive-section{margin-top:28px}.honor-archive-section>h2{font-size:18px;margin-bottom:18px}
