@charset "UTF-8";
:root{--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--navy:#173650;--ink:#20344a;--muted:#5a6b7f;--blue:#245f9d;--line:#e5ebf2;--bg:#f5f7fb;--green:#27816b;--amber:#a46b18;--side:230px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2f6bd6;outline-offset:3px}button{color:inherit}svg{display:block}h1,h2,h3,h4,p{margin:0}h1{font-size:34px;line-height:1.35;letter-spacing:-1px;font-weight:700}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:17px}small{font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:20px;background:white;z-index:100;padding:12px}.skip:focus{top:12px}.loading{padding:60px;color:var(--muted)}#page-title:focus{outline:none}
.sidebar{width:var(--side);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 19px 24px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);padding:0 6px}.brand:hover{text-decoration:none}.brand strong{font-size:16px;letter-spacing:-.3px;display:block}.brand small{display:block;font-size:13px;color:#5a6b7f;letter-spacing:2px;margin-top:3px}.brand-mark{position:relative;display:grid;place-items:center;flex-shrink:0;width:39px;height:42px;background:var(--navy);color:white;border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--radius-xs);font-size:24px;font-weight:600}.brand-mark span{position:absolute;width:7px;height:7px;border:2px solid #fff;background:#78b7fd;border-radius:50%;right:-3px;bottom:0}.side-label{font-size:13px;color:#5a6b7f;margin:46px 14px 13px;letter-spacing:1.8px}#nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;background:none;border:0;padding:12px 15px;width:100%;text-align:left;border-radius:var(--radius-sm);color:#5a6b7f;font-size:14px}.nav-item svg{width:19px;height:19px;stroke-width:1.7}.nav-item:hover{background:#f6f8fc}.nav-item.active{background:#ecf3fe;color:#2868d4;font-weight:600}.nav-count{font-size:13px;margin-left:auto;background:#dbe8fc;padding:0 7px;border-radius:var(--radius-xs);color:#4071bd}.side-bottom{margin-top:auto;padding:22px 14px 0}.edition{display:inline-flex;align-items:center;gap:14px;font-size:13px;letter-spacing:1px;background:#f1f5f9;padding:4px 9px;border-radius:var(--radius-xs);color:#5a6b7f}.edition i,.checked i{width:5px;height:5px;background:#3b9a7d;border-radius:50%}.side-bottom p{font-size:15px;line-height:1.8;color:#5a6b7f;margin:19px 0 22px}.side-note{font-size:13px;color:#5a6b7f;line-height:1.8;padding-top:17px;border-top:1px solid var(--line)}
.workspace{margin-left:var(--side)}.topbar{height:78px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;gap:25px;position:sticky;top:0;z-index:15;backdrop-filter:blur(12px)}.breadcrumb{font-size:13px;color:#5a6b7f;white-space:nowrap}.global-search{display:flex;align-items:center;margin-left:auto;gap:9px;background:#f5f7fa;border:1px solid #edf0f4;border-radius:var(--radius-sm);padding:7px 12px;width:310px}.global-search svg{width:17px;height:17px;stroke:#95a1b0;stroke-width:1.5}.global-search input{width:100%;border:0;background:transparent;color:var(--ink);outline:none;font-size:13px;min-width:0}.global-search input::placeholder{color:#5a6b7f}.global-search kbd{font-size:13px;color:#5a6b7f;border:1px solid #e0e6ec;border-radius:var(--radius-xs);line-height:16px;padding:0 4px}.search-submit{display:grid;place-items:center;border:0;background:transparent;color:#5a6b7f;min-width:28px;min-height:28px;padding:2px;border-radius:var(--radius-sm);font-size:14px;flex-shrink:0}.search-submit:hover{background:#e8eef5;color:var(--ink)}.checked{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;color:#5a6b7f}.checked time{color:#5a6b7f;margin-left:3px}main{max-width:1320px;margin:0 auto;padding:35px 38px 40px;min-height:calc(100vh - 155px)}.footer{max-width:1320px;margin:0 auto;display:flex;gap:20px;padding:20px 38px 30px;font-size:13px;color:#5a6b7f;border-top:1px solid var(--line)}.footer a{margin-left:auto;color:#5a6b7f}
.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:2px;color:#5a6b7f;font-weight:600;margin-bottom:9px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.intro p{color:var(--muted);margin-top:10px;font-size:13px}.intro h1 em{font-style:normal;color:#5a6b7f}.intro-note{font-size:13px;line-height:1.8;text-align:right;color:#5a6b7f;flex-shrink:0}.mini-stats{display:flex;gap:0;margin:27px 0 28px;padding-bottom:24px;border-bottom:1px solid var(--line)}.mini-stat{padding-right:33px;margin-right:33px;border-right:1px solid #e0e7f0;display:flex;align-items:center;gap:10px}.mini-stat:last-child{border:0;margin-right:0}.mini-stat strong{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.mini-stat span{font-size:13px;color:#5a6b7f}.section-top{display:flex;justify-content:space-between;align-items:center;margin:27px 0 14px;gap:15px}.section-top .eyebrow{margin:0 0 4px;font-size:13px}.section-top h2{font-size:18px}.subtle{font-size:13px;color:var(--muted)}.section-link{font-size:13px;white-space:nowrap}.course-choices{display:grid;grid-template-columns:1fr 1fr;gap:17px}.course-choice{position:relative;overflow:hidden;background:#fff;border:1px solid #dfe6ef;text-align:left;border-radius:var(--radius-md);padding:24px;min-height:156px;display:flex;align-items:center;gap:24px;transition:background .18s,transform .18s,color .18s}.course-choice:hover{transform:translateY(-2px)}.course-choice.selected{background:var(--navy);border-color:var(--navy);color:white;box-shadow:0 8px 20px #17365014}.course-number{font-size:53px;font-weight:600;letter-spacing:-3px;line-height:1}.course-choice h3{font-size:18px;font-weight:600;margin-bottom:7px}.course-choice .course-copy{font-size:13px;color:#5a6b7f}.course-choice.selected .course-copy{color:#b7cadc}.course-choice .course-foot{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:#5a6b7f}.course-choice.selected .course-foot{color:#b7cee2}.course-dot{height:5px;width:5px;border-radius:50%;background:#76b7f4}.course-choice .choice-icon{position:absolute;right:17px;top:17px;width:20px;height:20px;border:1px solid #d8e1ec;border-radius:50%;display:grid;place-items:center;color:#5a6b7f;font-size:13px}.course-choice.selected .choice-icon{background:#6387a3;border-color:#6387a3;color:white}.course-choice:before{content:"";position:absolute;right:-15px;bottom:-35px;width:140px;height:140px;border:1px solid #eaf0f6;border-radius:50%;pointer-events:none}.course-choice:after{content:"";position:absolute;right:20px;bottom:-58px;width:140px;height:140px;border:1px solid #eaf0f6;border-radius:50%;pointer-events:none}.course-choice.selected:before,.course-choice.selected:after{border-color:#ffffff10}.syllabus-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#edf3fc;border:1px solid #e2eafb;border-radius:var(--radius-sm);padding:12px 16px;margin-top:13px}.syllabus-strip p{font-size:13px;color:#5a6b7f}.syllabus-strip strong{font-weight:600;color:#456887}.syllabus-strip .link-button{font-size:13px}.link-button{border:0;background:none;padding:0;color:var(--blue);display:inline-flex;align-items:center;gap:5px}.link-button:hover{text-decoration:underline}
.filter-bar{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:13px 15px;display:flex;align-items:center;gap:13px;margin-bottom:14px;flex-wrap:wrap}.filter-field{display:flex;align-items:center;gap:7px}.filter-field label{font-size:13px;color:#5a6b7f}.filter-field select,.sort-select{background:white;border:1px solid #e3e9f1;border-radius:var(--radius-sm);padding:5px 22px 5px 8px;color:#4b627b;font-size:13px;max-width:205px}.filter-end{margin-left:auto;display:flex;align-items:center;gap:12px}.filter-query{display:flex;align-items:center;gap:7px;background:#f5f8fc;border:1px solid #e5ebf3;padding:3px 8px;border-radius:var(--radius-sm);color:#5a6b7f;font-size:13px}.filter-query button{padding:0;border:0;background:none;color:#5a6b7f}.count-caption{font-size:13px;color:#5a6b7f;display:flex;align-items:center;gap:7px;margin:3px 0 15px}.count-caption strong{color:#3e5873;font-weight:600}.count-caption .dot{width:3px;height:3px;background:#b6c3d0;border-radius:50%;margin:0 4px}.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:14px}.major-code{font-size:13px;letter-spacing:1px;color:#5a6b7f;font-family:ui-monospace,monospace}.badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;line-height:1.4;padding:3px 7px;border-radius:var(--radius-xs);white-space:nowrap;font-weight:600}.badge.full{background:#edf6f2;color:#5a6b7f}.badge.part{background:#f5f0e8;color:#5a6b7f}.badge.verified{background:#edf6f2;color:#5a6b7f}.badge.pending{background:#fbf3e5;color:#5a6b7f}.badge.source{background:#eef3fa;color:#5a6b7f}.badge.slate{background:#f1f4f8;color:#5a6b7f}.target-subtitle b{color:#5a6b7f;font-weight:600}.card-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 17px;padding-top:14px;border-top:1px solid #edf1f6}.metric-label{font-size:13px;color:#5a6b7f}.metric-number{font-size:27px;font-weight:600;line-height:1.35;color:#2a4662;font-variant-numeric:tabular-nums;letter-spacing:-1px}.history-total,.reported-scores dd,.history-unit-line{font-variant-numeric:tabular-nums}.metric-number small{font-size:13px;color:#5a6b7f;font-weight:400;margin-left:4px;letter-spacing:0}.metric-help{font-size:13px;color:#5a6b7f;margin-top:3px}.retest-line{font-size:13px;display:flex;align-items:flex-start;gap:7px;color:#5a6b7f}.retest-line svg{width:13px;height:13px;flex-shrink:0;margin-top:2px;stroke-width:1.5}.retest-line span{line-height:1.6}.compare-toggle{border:0;background:none;padding:0;font-size:13px;color:#5a6b7f;display:flex;gap:6px;align-items:center}.compare-toggle .checkbox{height:13px;width:13px;border:1px solid #cbd7e4;border-radius:var(--radius-xs);background:white;display:grid;place-items:center;font-size:13px;color:white}.compare-toggle[aria-pressed=true]{color:#5a6b7f}.compare-toggle[aria-pressed=true] .checkbox{background:#3e7bd9;border-color:#3e7bd9}.empty{padding:60px 20px;text-align:center;background:white;border:1px dashed #d9e3ee;border-radius:var(--radius-md)}.empty h3{font-size:17px;margin-bottom:8px}.empty p{color:#5a6b7f;font-size:13px;margin-bottom:20px}.button{border:1px solid #d8e3ee;background:white;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--radius-sm);padding:9px 15px;font-size:13px;line-height:1.5;color:#49627d;white-space:nowrap}.button svg{height:14px;width:14px;stroke-width:1.8}.button.primary{background:var(--navy);border-color:var(--navy);color:white}.button.blue{background:#edf4ff;border-color:#dfe9fb;color:#5a6b7f}.button.small{padding:6px 10px;font-size:13px}.button:hover{filter:brightness(.96)}.scope-note{display:flex;align-items:flex-start;gap:8px;margin:18px 0;color:#5a6b7f;font-size:13px;line-height:1.8}.scope-note svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;stroke-width:1.5}.info-panel{background:#edf3fa;color:#5a6b7f;padding:16px 20px;font-size:13px;border-radius:var(--radius-md);margin:23px 0;line-height:1.85}.info-panel strong{color:#466485}.info-panel.amber{background:#fbf5ea;color:#5a6b7f}.info-panel.amber strong{color:#5a6b7f}.related-panel{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);margin-top:27px}.related-panel h3{font-size:14px;margin-bottom:5px}.related-panel p{font-size:13px;color:#5a6b7f}.related-links{display:flex;gap:8px;flex-wrap:wrap}.related-links .button{font-size:13px}
.panel{background:white;border:1px solid var(--line);border-radius:var(--radius-md);padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.panel-title h2{font-size:16px}.panel-title p{font-size:13px;color:#5a6b7f;margin-top:5px}.chart{width:100%;height:auto;max-height:285px;overflow:visible}.chart text{font-family:inherit;font-size:13px;fill:#5a6b7f;font-variant-numeric:tabular-nums}.chart .point-label{fill:#456987;font-weight:600}.chart .grid{stroke:#e9eef5;stroke-dasharray:4 5}.chart .line{fill:none;stroke:#4c83cc;stroke-width:2.5}.chart .area{fill:url(#area-gradient)}.chart .point{fill:#fff;stroke:#4c83cc;stroke-width:2}.chart-caption{font-size:13px;color:#5a6b7f;margin-top:10px}.legend{display:flex;align-items:center;gap:7px;font-size:13px;color:#5a6b7f}.legend i{height:3px;width:16px;border-radius:var(--radius-xs);background:#4c83cc}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:white}.table-wrap:focus-visible{outline:2px solid #2f6bd6;outline-offset:2px}.data-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;white-space:nowrap}.data-table th{font-weight:600;background:#f8fafc;color:#5a6b7f;font-size:13px;padding:13px 15px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 15px;border-bottom:1px solid #edf1f6;vertical-align:top;color:#58718b}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fafcff}.data-table td .cell-title{font-weight:600;color:#3a5673;font-size:13px}.data-table .cell-sub{display:block;font-size:13px;color:#5a6b7f;line-height:1.7;margin-top:3px;max-width:245px;white-space:normal}.data-table .score{font-size:17px;font-weight:600;color:#3d6387;font-variant-numeric:tabular-nums}.data-table a{font-size:13px}.data-table .value{font-variant-numeric:tabular-nums;font-size:14px;color:#425f7c;font-weight:600}.data-table .dim{color:#5a6b7f}.compare-table{min-width:650px;table-layout:fixed}.compare-table th:first-child{width:135px}.compare-table th,.compare-table td{white-space:normal;min-width:175px;padding:16px}.compare-table tbody th{background:#f9fbfd;vertical-align:top;font-size:13px}.compare-table td{font-size:13px;line-height:1.8}.compare-header{position:relative}.compare-header h3{font-size:15px;color:#2f4c69;margin:8px 0 5px}.compare-header .remove{position:absolute;right:-4px;top:-3px}.remove{background:none;border:0;color:#5a6b7f;font-size:17px;padding:0 3px}.compare-header p{font-size:13px;color:#5a6b7f;font-weight:400;margin-bottom:10px}.compare-header a{font-size:13px;font-weight:400}.compare-table .note{font-size:13px;color:#5a6b7f;display:block}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0 14px}.section-header h2{font-size:17px}.history-chart-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.chart-selector{max-width:270px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 20px}.tab{border:1px solid #dfe6ef;background:white;padding:8px 16px;border-radius:var(--radius-sm);color:#5a6b7f;font-size:13px}.tab.active{background:#eef3f8;border-color:#173650;color:#173650;font-weight:600}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.guide-grid h3{font-size:16px;margin-bottom:8px}.guide-grid .panel>p{font-size:13px;color:#5a6b7f}.topic-list{display:grid;gap:11px;margin:20px 0 25px}.topic-list li{list-style:none;display:flex;gap:12px;font-size:13px;color:#5a6b7f;padding-bottom:11px;border-bottom:1px solid #edf1f7}.topic-list{padding:0}.topic-list .topic-number{font-size:13px;color:#5a6b7f;font-variant-numeric:tabular-nums}.book-list{padding:0;list-style:none;font-size:13px;color:#5a6b7f;line-height:2.1;margin:18px 0 22px}.guide-links{display:flex;gap:8px;flex-wrap:wrap}.retest-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.retest-card{background:white;border:1px solid var(--line);padding:20px;border-radius:var(--radius-md)}.retest-card h3{font-size:15px;margin:8px 0}.retest-card p{font-size:13px;color:#5a6b7f;margin:10px 0}.retest-card .subject-name{font-size:14px;color:#456987;margin:14px 0}.retest-card a{font-size:13px}.checks-list{padding-left:18px;font-size:13px;color:#5a6b7f;line-height:2.2;margin:14px 0 0}.source-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0 18px}.source-search{background:white;border:1px solid #dfe7f1;border-radius:var(--radius-sm);padding:8px 12px;color:var(--ink);width:300px;max-width:100%;font-size:13px}.source-toolbar label{font-size:13px;color:#5a6b7f;display:flex;align-items:center;gap:6px}.source-toolbar input[type=checkbox]{accent-color:#3e7ad6}.source-status{max-width:340px;white-space:normal;line-height:1.8;color:#5a6b7f;font-size:13px}.pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:14px;font-size:13px;color:#5a6b7f}.audit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.audit-stat{padding:19px;background:white;border:1px solid var(--line);border-radius:var(--radius-md)}.audit-stat strong{font-size:24px;color:#426889;font-weight:600}.audit-stat span{font-size:13px;color:#5a6b7f;display:block;margin-top:2px}.audit-details{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:white;padding:0 18px}.audit-details summary{padding:14px 0;cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;font-size:13px;color:#52708d}.audit-details summary:after{content:'+';margin-left:auto;color:#5a6b7f;font-size:17px}.audit-details[open] summary:after{content:'−'}.audit-details p{color:#5a6b7f;font-size:13px;line-height:1.9;padding:0 0 12px}.audit-details a{font-size:13px}.download-row{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 0}
.dock-label{font-size:13px;white-space:nowrap}.dock-label strong{font-size:17px;margin:0 3px}.dock-items{display:flex;gap:6px;flex:1;min-width:0;overflow:auto;scrollbar-width:none}.dock-items::-webkit-scrollbar{display:none}.dock-chip{font-size:13px;padding:5px 8px;background:#ffffff12;border-radius:var(--radius-xs);white-space:nowrap;display:flex;gap:7px;align-items:center}.dock-chip button{border:0;background:none;color:#a7c0d7;padding:0;font-size:13px}.dock-actions{display:flex;gap:9px;align-items:center}.dock-actions .button{border-color:#c9dbf0;background:#eaf3fe;color:#345777}.dock-clear{font-size:13px;border:0;background:none;color:#9eb6cc;padding:4px}.has-comparison .footer{padding-bottom:100px}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,15px);background:#203f5b;color:#fff;font-size:13px;max-width:calc(100vw - 30px);padding:10px 20px;border-radius:var(--radius-sm);box-shadow:0 4px 14px #1d3a5525;opacity:0;pointer-events:none;z-index:60;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
dialog{width:min(840px,calc(100vw - 32px));max-height:87vh;overflow:auto;border:1px solid #dfe7ef;border-radius:var(--radius-lg);padding:0;box-shadow:0 25px 80px #17365030;color:var(--ink)}dialog::backdrop{background:#152c4666;backdrop-filter:blur(3px)}.dialog-head{padding:25px 28px 20px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#f9fbfe;position:sticky;top:0;z-index:2}.dialog-head h2{font-size:23px;margin:6px 0 5px}.dialog-head p{font-size:13px;color:#5a6b7f}.dialog-close{align-self:flex-start;border:1px solid #dfe7ef;background:white;width:30px;height:30px;border-radius:var(--radius-sm);font-size:19px;color:#5a6b7f}.dialog-content{padding:24px 28px 30px}.dialog-content h3{font-size:15px;margin:25px 0 12px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px 25px;margin-bottom:18px}.detail-fact{padding-bottom:13px;border-bottom:1px solid #edf1f6}.detail-fact dt{font-size:13px;color:#5a6b7f;margin-bottom:5px}.detail-fact dd{margin:0;font-size:13px;color:#58718d}.dialog-content .info-panel{font-size:13px;padding:13px 16px}.dialog-content .data-table td,.dialog-content .data-table th{padding:10px 12px}.result-metrics{display:flex;gap:20px;flex-wrap:wrap;margin:15px 0}.result-metrics .metric-number{font-size:23px}.dialog-source{font-size:13px;color:#5a6b7f;margin-top:11px}.topic-callout{display:flex;gap:15px;align-items:center;background:#f8fafc;border:1px solid #e8eef5;border-radius:var(--radius-sm);padding:15px;margin-top:20px}.topic-callout strong{font-size:13px}.topic-callout p{font-size:13px;color:#5a6b7f;margin-top:4px}.topic-callout .button{margin-left:auto}
@media(min-width:1550px){:root{--side:250px}.sidebar{padding-left:25px;padding-right:25px}.topbar{padding:0 50px}main{padding-top:42px}.intro h1{font-size:38px}.target-card }
@media(max-width:1200px){:root{--side:205px}.sidebar{padding:28px 13px 22px}.brand strong{font-size:14px}.brand-mark{width:34px;height:37px}.brand{gap:8px}.topbar{padding:0 25px;gap:15px}.checked{display:none}main{padding:28px 25px}.footer{padding-left:25px;padding-right:25px}.intro-note{display:none}h1{font-size:30px}.target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-choice{gap:18px;padding:22px 18px}.course-number{font-size:47px}.course-choice h3{font-size:16px}.mini-stat{padding-right:22px;margin-right:22px}.related-panel{grid-template-columns:1fr}.dock-chip{max-width:170px;overflow:hidden}.data-table td,.data-table th{padding:12px}}
@media(max-width:850px){:root{--side:0px}.sidebar{position:static;width:100%;display:block;padding:17px 20px 0;border:0;border-bottom:1px solid var(--line)}.brand{padding:0;margin-bottom:17px}.brand strong{font-size:16px}.brand-mark{width:36px;height:39px}.brand small{font-size:13px}.side-label,.side-bottom{display:none}#nav{display:flex;gap:0;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}.nav-item{width:auto;white-space:nowrap;gap:7px;padding:8px 11px;font-size:13px}.nav-item svg{height:15px;width:15px}.nav-count{display:none}.workspace{margin:0}.topbar{height:57px;padding:0 20px}.breadcrumb{font-size:13px}.global-search{width:270px;padding:5px 9px}.global-search kbd{display:none}.global-search input,.source-search{font-size:16px}.global-search input{font-size:13px}main{padding:25px 20px}.intro h1{font-size:29px}.intro p{font-size:13px}.footer{padding:20px;font-size:13px;gap:10px;flex-wrap:wrap}.footer a{margin-left:0}.audit-grid{gap:10px}.guide-grid{gap:12px}.filter-bar{gap:10px}.filter-end{gap:8px}.filter-field select{font-size:13px}.dock-items{display:none}.dock-actions{margin-left:auto}.mini-stats{margin:24px 0}.mini-stat strong{font-size:22px}.mini-stat span{font-size:13px}.mini-stat{padding-right:19px;margin-right:19px}.course-choice{min-height:143px}.syllabus-strip p{font-size:13px}}
@media(max-width:560px){.topbar{gap:8px}.breadcrumb{display:none}.global-search{width:100%;margin:0}.global-search input{font-size:13px}.intro h1{font-size:27px;letter-spacing:-.8px}.intro p{font-size:13px;line-height:1.9}.mini-stats{justify-content:space-between;margin:23px 0;padding-bottom:20px}.mini-stat{flex-direction:column;align-items:flex-start;gap:6px;border:0;margin:0;padding:0}.mini-stat strong{font-size:22px}.mini-stat span{font-size:13px}.course-choices{gap:10px}.course-choice{padding:17px 15px;display:block;min-height:169px}.course-number{font-size:36px;letter-spacing:-2px;margin-bottom:10px}.course-choice h3{font-size:14px;margin:0 0 4px}.course-choice .course-copy{font-size:13px}.course-choice .course-foot{font-size:13px;margin-top:10px;gap:5px}.course-choice .choice-icon{top:13px;right:13px;width:16px;height:16px;font-size:13px}.syllabus-strip{align-items:flex-start;padding:11px 12px}.syllabus-strip p{max-width:220px;line-height:1.8}.syllabus-strip .link-button{font-size:13px;white-space:nowrap;margin-top:3px}.section-top h2{font-size:17px}.section-link{font-size:13px}.filter-bar{padding:11px 12px;gap:9px 12px}.filter-field label{font-size:13px}.filter-field select{padding:5px 15px 5px 6px;max-width:145px}.filter-field.mode label{display:none}.filter-end{width:100%;justify-content:space-between;margin:1px 0 0;padding-top:7px;border-top:1px solid #edf1f6}.sort-select{font-size:13px}.count-caption{font-size:13px;line-height:1.9;flex-wrap:wrap;gap:4px}.count-caption .dot{display:none}.target-grid{grid-template-columns:1fr}.card-top{margin-bottom:9px}.card-metrics{margin:13px 0 14px;padding-top:12px}.metric-number{font-size:27px}.retest-line{font-size:13px}.card-actions .link-button,.compare-toggle{font-size:13px}.related-links{gap:7px}.related-panel{padding:18px}.related-panel p{line-height:1.9}.footer span:nth-child(2){display:none}.panel{padding:18px 14px}.panel-title{gap:10px;align-items:flex-start}.panel-title h2{font-size:14px}.panel-title p{font-size:13px}.history-chart-header{display:block}.chart-selector{max-width:100%;width:100%;margin-bottom:12px}.chart-caption{font-size:13px}.chart{height:210px}.info-panel{font-size:13px;padding:14px 16px}.section-header{gap:10px}.section-header h2{font-size:16px}.section-header .button{padding:6px 9px;font-size:13px}.tabs{gap:6px}.tab{padding:7px 11px;font-size:13px}.guide-grid,.retest-grid{grid-template-columns:1fr}.guide-grid h3{font-size:15px}.guide-grid .panel{padding:20px}.audit-grid{grid-template-columns:1fr 1fr 1fr;gap:7px}.audit-stat{padding:13px 10px}.audit-stat strong{font-size:21px}.audit-stat span{font-size:13px;line-height:1.8}.audit-details{padding:0 13px}.audit-details summary{font-size:13px;gap:7px}.audit-details .badge{font-size:13px}.dock-label{font-size:13px}.dock-label strong{font-size:15px}.dock-actions{gap:5px}.dock-clear{font-size:13px}.dock-actions .button{font-size:13px;padding:7px 11px}.dialog-head{padding:20px}.dialog-head h2{font-size:21px}.dialog-head p{font-size:13px}.dialog-content{padding:18px 20px 24px}.detail-facts{grid-template-columns:1fr;gap:10px}.detail-fact{padding-bottom:10px}.dialog-content .data-table{font-size:13px}.topic-callout{display:block}.topic-callout .button{margin-top:10px}.source-search{width:100%}.source-toolbar{gap:10px}.source-status{max-width:260px}.intro .button{font-size:13px;padding:7px 10px}.compare-table th:first-child{width:115px}.compare-table th,.compare-table td{padding:13px}.download-row .button{font-size:13px}.toast{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* 第二轮：课程上下文、内容层级与移动端数据阅读。 */
.checked{border:0;background:none;padding:4px 0;cursor:pointer;color:#5a6b7f}.checked:hover{color:var(--blue)}
.course-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.course-choice>div:last-child{min-width:0}.course-copy{line-height:1.7}.course-group{margin:22px 0}.course-group>h2{font-size:15px;margin-bottom:10px;color:#5a6b7f}
.course-selection{margin:18px 0;padding:0 20px}.course-selection>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:18px 0;list-style:none}.course-selection strong{font-size:14px}.course-selection small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.expand-label{font-size:13px;color:var(--blue);white-space:nowrap}.course-selection[open] .expand-label{font-size:0}.course-selection[open] .expand-label:after{content:'收起指南';font-size:13px}.course-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:15px;padding-bottom:20px}.course-guide-card{padding:17px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#f9fbff;min-width:0}.course-guide-card h3{font-size:15px;margin-bottom:6px}.course-guide-card>p{font-size:13px;color:#5a6b7f;line-height:1.8}.course-guide-card dl{font-size:13px;margin:16px 0}.course-guide-card dl>div{margin:10px 0}.course-guide-card dt{font-size:13px;color:#5a6b7f;margin-bottom:3px}.course-guide-card dd{margin:0;color:#587491;line-height:1.9}
.page-notice{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#eaf1fa;border:1px solid #d9e5f5;border-radius:var(--radius-sm);padding:14px 17px;margin:18px 0;color:#55718d;font-size:13px;line-height:1.85}.page-notice strong{display:block;color:#335776;font-size:13px;margin-bottom:3px}.page-notice .link-button{font-size:13px;flex-shrink:0}.scope-switch{display:flex;flex-wrap:nowrap;gap:8px;margin-top:22px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.scope-switch::-webkit-scrollbar{display:none}.scope-switch .tab{flex-shrink:0}.search-group-title{display:flex;align-items:center;gap:12px;margin:23px 0 12px;flex-wrap:wrap}.search-group-title h3{font-size:16px}.search-group-title span{color:#5a6b7f;font-size:13px}.search-group-title .link-button{margin-left:auto;font-size:13px}.empty{margin-top:16px}
.card-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.badge.location{background:#edf2fa;color:#5a6b7f}.card-cutoff{display:flex;gap:12px;justify-content:space-between;align-items:flex-end;padding-top:13px;border-top:1px solid #edf1f6;margin:15px 0}.card-cutoff .metric-help{color:#5a6b7f;text-align:right;font-size:13px;line-height:1.7;white-space:nowrap}.retest-metric{padding:10px 0;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;display:grid;gap:3px}.retest-metric strong{font-size:14px;color:#436384;font-weight:600;line-height:1.7}.initial-subjects{font-size:13px;color:#5a6b7f;line-height:1.85;margin:11px 0}.initial-subjects span{display:block;color:#5a6b7f;font-size:13px}.plan-line{display:flex;gap:8px;align-items:center;font-size:13px;color:#5a6b7f}.plan-line strong{font-weight:600;color:#5a6b7f}
.number-tip{display:inline-block;position:relative;color:#5a6b7f;font-size:13px;line-height:1.5;margin-left:4px;cursor:help;vertical-align:middle}.tip-text{display:none;position:absolute;right:0;bottom:calc(100% + 9px);width:230px;max-width:calc(100vw - 50px);background:#203e59;color:#fff;padding:10px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:400;line-height:1.8;white-space:normal;text-align:left;z-index:50;box-shadow:0 3px 15px #17365030}.number-tip:hover .tip-text,.number-tip:focus .tip-text{display:block}.number-tip:focus-visible{outline:2px solid #2f6bd6;outline-offset:3px}
.mobile-history,.mobile-compare{display:none}.trust-panel{background:#fff;border:1px solid var(--line);border-left:4px solid #4f87c7;border-radius:var(--radius-sm);padding:20px;margin-top:20px}.trust-panel h2{font-size:17px}.trust-panel p{font-size:13px;line-height:1.9;color:#5a6b7f;margin:9px 0}.trust-panel>span{font-size:13px;color:#5a6b7f}.methodology,.background-sources{margin-top:24px;min-width:0}.methodology>summary,.background-sources>summary{cursor:pointer;font-size:13px;color:#456786;line-height:1.8}.methodology ul{padding-left:19px;font-size:13px;color:#5a6b7f;line-height:2.1}.methodology p,.background-sources>p{font-size:13px;color:#5a6b7f;margin:14px 0}.methodology a{font-size:13px}.background-sources .table-wrap{margin-top:15px}.source-table .cell-title{display:block;max-width:350px;white-space:normal;line-height:1.8}.audit-evidence{margin:0 0 12px;padding:8px 12px;background:#f7f9fd;border-radius:var(--radius-xs)}.audit-evidence summary{font-size:13px;padding:0 0 6px}.audit-evidence summary:after{display:none}.audit-evidence p{padding:3px 0}.detail-warning{font-size:13px;color:#5a6b7f;margin:17px 0}.detail-method-link{font-size:13px;margin-top:16px}
.tip-text{position:fixed;bottom:auto;right:auto}
@media(max-width:1200px){.checked{display:inline-flex}.global-search{max-width:310px;width:100%;min-width:130px}.topbar{gap:15px}.course-choice{align-items:flex-start}.course-choice .course-foot{flex-wrap:wrap}}
@media(max-width:850px){.course-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.course-choice .course-foot{font-size:13px}.desktop-history,.desktop-compare{display:none}.mobile-history{display:grid;gap:12px}.mobile-compare{display:grid;gap:15px}.history-mobile-card{padding:17px;background:white;border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0}.history-mobile-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.history-mobile-head>div{min-width:0}.history-mobile-head h3{font-size:14px;line-height:1.75;margin-top:4px}.history-total{flex-shrink:0;font-size:28px;color:#355f86;font-weight:600;line-height:1.4}.history-total small{font-size:13px;margin-left:4px;color:#5a6b7f}.history-mobile-card>p{font-size:13px;color:#5a6b7f;line-height:1.85;margin-top:9px}.history-unit-line{color:#516d89!important}.history-unit-line span{display:block;color:#5a6b7f;font-size:13px}.history-mobile-foot{display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6;margin-top:12px;padding-top:10px;font-size:13px;color:#5a6b7f}.history-mobile-foot a{white-space:nowrap}.compare-mobile-card{padding:20px;min-width:0}.compare-mobile-card dl{margin:20px 0}.compare-mobile-card dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid #edf1f6;font-size:13px;line-height:1.9}.compare-mobile-card dt{color:#5a6b7f;font-size:13px}.compare-mobile-card dd{margin:0;color:#56718c;overflow-wrap:anywhere}.compare-mobile-card .note{font-size:13px;color:#5a6b7f;display:block}.compare-mobile-card .score{font-size:20px;color:#40698e;font-weight:600}.compare-mobile-card .compare-header h3{font-size:17px}.compare-mobile-card .compare-header p{font-size:13px}.source-table .cell-title{max-width:260px}.page-notice{font-size:13px}.checked{font-size:13px;flex-shrink:0}}
@media(max-width:560px){.course-choices{grid-template-columns:1fr 1fr;gap:10px}.course-choice{min-height:220px;padding:17px 14px}.course-choice .course-copy{font-size:13px}.course-choice .course-foot{font-size:13px}.course-selection{padding:0 15px}.course-selection>summary{gap:12px;align-items:flex-start}.course-selection small{font-size:13px;line-height:1.8}.expand-label{font-size:13px}.course-guide-grid{grid-template-columns:1fr}.course-group h2{font-size:13px}.global-search{width:auto;flex:1;min-width:0}.checked{display:inline-flex;font-size:13px;gap:5px;line-height:1.6}.checked time{display:none}.page-notice{display:block;padding:13px 15px;font-size:13px}.page-notice .link-button{margin-top:7px;font-size:13px}.card-cutoff .metric-number{font-size:30px}.card-cutoff .metric-help{max-width:none}.card-top{gap:8px}.card-badges .badge{font-size:13px}.retest-metric strong{font-size:14px}.initial-subjects{font-size:13px}.plan-line{font-size:13px}.scope-switch{gap:6px}.scope-switch .tab{font-size:13px;padding:7px 12px}.search-group-title{gap:6px 10px}.search-group-title h3{font-size:14px}.search-group-title .link-button{font-size:13px}.trust-panel{padding:17px}.trust-panel h2{font-size:15px}.trust-panel p{font-size:13px}.methodology>summary,.background-sources>summary{font-size:13px}.methodology ul{font-size:13px}.methodology,.background-sources{padding:17px 14px}.audit-details summary{align-items:flex-start}.audit-details summary>.badge{margin-top:2px}.chart{height:auto;min-height:130px}.history-chart-header p{font-size:13px}.history-mobile-head h3{font-size:14px}.detail-fact .number-tip{margin-left:7px}.search-group-title .link-button{margin-left:0}}

/* 测控接入：长名称完整保留，同一行卡片的指标和按钮对齐。 */
.compare-scroll-hint{font-size:13px;line-height:1.8;color:#5a6b7f;margin:0 0 12px}
.compare-matrix{--compare-label:136px;--compare-column:220px;max-width:100%;max-height:min(74vh,780px);isolation:isolate;overscroll-behavior-x:contain;scrollbar-color:#afc3da #f2f6fb}
.compare-matrix:focus-visible{outline:2px solid #2f6bd6;outline-offset:3px}
.compare-matrix .compare-table{min-width:calc(var(--compare-label) + var(--compare-count) * var(--compare-column));border-collapse:separate;border-spacing:0}
.compare-matrix .compare-label-col{width:var(--compare-label)}
.compare-matrix .compare-table th,.compare-matrix .compare-table td{min-width:0;padding:16px;overflow-wrap:anywhere;border-right:1px solid #edf1f6}
.compare-matrix .compare-table tr>:last-child{border-right:0}
.compare-matrix .compare-table thead th{position:sticky;top:0;z-index:3;background:#f1f6fc;vertical-align:top}
.compare-matrix .compare-table tr>:first-child{position:sticky;left:0;width:var(--compare-label);z-index:2;background:#f8fafc;box-shadow:2px 0 4px #264a6b0a}
.compare-matrix .compare-table thead th:first-child{z-index:4;vertical-align:bottom}
.compare-matrix .compare-header{padding-right:10px}
.compare-matrix .compare-header h3{min-height:3.2em;line-height:1.6;margin:8px 0 5px}
.compare-matrix .compare-header p{min-height:3.2em;line-height:1.6}
.compare-matrix .compare-header>.button{display:flex;width:max-content;margin-top:10px}
@media(max-width:850px){.compare-matrix{--compare-label:100px;--compare-column:180px;max-height:72vh}.compare-matrix .compare-table th,.compare-matrix .compare-table td{padding:13px 12px}.compare-matrix .compare-header h3{font-size:14px}.compare-matrix .compare-table tbody th{font-size:13px;line-height:1.8}.compare-matrix .compare-table td{font-size:13px;line-height:1.85}.compare-scroll-hint{font-size:13px}}

.course-guide-card{display:flex;flex-direction:column}.course-guide-card>.button{margin-top:auto;align-self:flex-start}
.retest-card{display:flex;flex-direction:column;min-width:0}.retest-card>a{margin-top:auto}
.tabs{flex-wrap:wrap}.scope-switch{flex-wrap:nowrap !important}@media(max-width:850px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.tabs::-webkit-scrollbar{display:none}.tabs .tab{flex-shrink:0}}
.course-group.single-course .course-choices{grid-template-columns:1fr}
.result-note{max-width:240px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.9;color:#5a6b7f;margin-top:8px}.result-note summary{cursor:pointer}.result-note p{margin-top:6px}
.reported-table .cell-title{white-space:normal;min-width:130px;max-width:230px}
@media(max-width:560px){.course-choice{min-height:246px}.course-choice h3{min-height:2.8em;line-height:1.4}.course-choice .course-copy{min-height:5.1em}.course-choice .course-foot{min-height:2.8em;align-items:flex-start}.course-choice .course-dot{flex-shrink:0;margin-top:5px}}

/* 第三轮：只处理选课深度、录取卡片和触控尺寸。 */
.compact-courses{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);margin:18px 0}
.course-current{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.course-current>div{min-width:0}.course-current h2{font-size:18px;line-height:1.5;margin:3px 0}.course-current p{font-size:13px;line-height:1.8;color:#5a6b7f}.course-current>.link-button{flex-shrink:0}
.course-group-label{font-size:13px;color:#5a6b7f;width:120px;flex-shrink:0;padding-top:9px}.course-chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.course-chip{display:inline-flex;align-items:center;gap:7px;min-width:0;border:1px solid #dbe5f0;border-radius:var(--radius-sm);background:#f8fbff;color:#486989;padding:7px 10px;text-align:left;font-size:13px;line-height:1.7}.course-chip>b{color:#35628b}.course-chip>span{overflow-wrap:anywhere}.course-chip>small{color:#5a6b7f;white-space:nowrap}.course-chip:hover{background:#eaf2fc}
.search-guidance{margin:24px 0}.search-guidance>h2{font-size:19px;overflow-wrap:anywhere}.search-guidance>p{font-size:13px;color:#5a6b7f;line-height:1.9;margin:12px 0}.search-destinations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.search-destinations h3{font-size:17px}.search-destinations p{font-size:13px;line-height:1.9;color:#5a6b7f;margin:12px 0}
.mobile-reported{display:none}.reported-mobile-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;min-width:0;overflow-wrap:anywhere}.reported-mobile-card h3{font-size:17px;line-height:1.7;margin:5px 0}.reported-mobile-card header>p,.reported-scope{font-size:13px;line-height:1.9;color:#5a6b7f}.reported-years,.reported-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin:17px 0}.reported-years>div,.reported-scores>div{min-width:0;background:#f7faff;border-radius:var(--radius-sm);padding:9px 7px}.reported-years dt,.reported-scores dt{font-size:13px;color:#5a6b7f;line-height:1.8}.reported-years dt>span{display:block;font-size:13px}.reported-years dd,.reported-scores dd{margin:7px 0 0;font-size:13px;line-height:1.8}.reported-years .value{font-size:17px;color:#3e6488}.reported-scores dd{font-size:24px;font-weight:600;color:#3e6488}.reported-mobile-card h4{font-size:13px;color:#5a6b7f;padding-top:14px;border-top:1px solid #edf1f6}.reported-mobile-card footer{margin-top:14px}.reported-mobile-card .result-note{max-width:none}
.professional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin:20px 0}.official-professional-card{border-top:3px solid #5d8978}.official-count{font-size:13px;color:#567269;margin:18px 0}.official-count strong{font-size:28px;line-height:1.3;margin-right:5px}.official-professional-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.official-professional-card .reported-scores dd{font-size:22px}.dialog-content>.official-professional-card{margin:14px 0}
@media(max-width:560px){#nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}.nav-item{width:100%;justify-content:center;padding:8px 5px;min-width:0}}
button,a[href],summary,select,input{min-height:32px;min-width:32px}
a[href]{display:inline-flex;align-items:center}summary{align-content:center}.compare-toggle{min-height:32px;padding:4px 0}.compare-toggle .checkbox{flex-shrink:0}
.remove,.dock-chip button{height:32px;width:32px;min-height:32px;min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.compare-matrix .compare-header{padding-right:32px}.dock-chip{max-width:220px}.dock-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.dock-chip button{flex:0 0 32px}.dialog-close{height:32px;width:32px}.number-tip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:32px;margin-left:2px;flex-shrink:0}.button.small{min-height:32px}.filter-query button{min-height:32px;min-width:32px}
@media(max-width:850px){.desktop-reported{display:none}.mobile-reported{display:grid;gap:16px}}
@media(max-width:560px){.compact-courses{padding:14px}.course-current{gap:8px}.course-current h2{font-size:16px}.course-current>.link-button{font-size:13px;white-space:normal;max-width:65px}.course-group-label{display:block;width:auto;margin-bottom:6px;padding:0}.course-chip{max-width:100%;font-size:13px;padding:6px 8px}.course-chip>small{font-size:13px}.reported-mobile-card{padding:16px}.mini-stats{gap:10px;flex-wrap:wrap}.mini-stat{flex:1 1 65px;min-width:0}.mini-stat span{line-height:1.7}}

/* 第四轮：选课主控区与全局阅读层级。 */
:root{--text-xs:12px;--text-body:14px;--text-card:18px;--text-section:22px;--text-title:28px}
body{font-weight:400}h1,h2,h3,h4{font-weight:600}b,strong{font-weight:700}button{font-weight:600}
.course-hero .intro h1{font-size:var(--text-title);letter-spacing:0}.course-hero .intro p{font-size:13px;margin-top:7px;color:var(--muted)}.course-hero .eyebrow{display:none}
.course-control{margin:18px 0 0;padding:20px;background:#fff;border:2px solid #839bb5;border-radius:var(--radius-md);box-shadow:0 4px 16px #17365008;min-width:0;scroll-margin-top:94px}
.course-control-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}@media(max-width:850px){.course-control-head{flex-wrap:wrap}.course-control-head h2{width:100%}.course-head-tools{width:100%;justify-content:space-between}.course-filter{flex:1;min-width:0}}.course-control-head h2{font-size:18px;line-height:1.5}.course-expand{font-size:13px;line-height:1.5;color:#245f9d;background:#fff;border:1px solid #8299b1;border-radius:var(--radius-sm);padding:6px 10px;flex-shrink:0;min-height:36px}
.course-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:10px}.course-group-label{font-size:13px;color:#3e526a;font-weight:700;display:block;width:auto;padding:0;margin:0 0 8px;line-height:1.5}
.course-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-chip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 7px;min-height:48px;width:100%;padding:8px 10px;background:#fff;border:1px solid #6a829d;border-radius:var(--radius-sm);color:#20344a;font-size:13px;line-height:1.5;transition:background-color .12s,border-color .12s,box-shadow .12s}.course-chip b{color:#245f9d;font-size:13px}.course-chip>span{overflow-wrap:anywhere}.course-chip>small{grid-column:2;font-size:13px;color:#5a6b7f;font-weight:400;white-space:normal}.course-chip:hover{background:#e7eff8;border-color:#245f9d;box-shadow:0 2px 6px #17365018;transform:none}.course-chip.selected,.course-chip.selected:hover{background:#eef3f8;border-color:#173650;color:#173650;box-shadow:inset 3px 0 0 #173650}.course-chip.selected b,.course-chip.selected small{color:#173650}
.course-control .course-selection{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;margin:12px 0 0;padding:0}.course-control .course-selection>summary{padding:8px 0;gap:8px}.course-control .course-selection strong{font-size:13px;font-weight:600}.course-control .course-selection summary small{display:none}.course-control .course-selection .expand-label{font-size:13px}.course-current{margin:5px 0 10px;display:block}.course-current p{font-size:13px;line-height:1.7;color:#5a6b7f}.course-current strong{color:#20344a;font-weight:600}.course-current span{display:block}.course-directions{min-height:40px;font-size:13px;justify-content:center;background:#173650;border-color:#173650;color:#fff}.course-directions:hover{background:#244d70;color:#fff}.course-collapse-follow{position:sticky;bottom:12px;display:flex;justify-content:flex-end;pointer-events:none;margin-top:10px}.course-more-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:9px 12px;border:1px dashed #c9d6e4;border-radius:var(--radius-sm);background:#f7fafd}.course-more-row span{font-size:13px;color:#5a6b7f}.course-more-row .course-expand{border:0;background:none;color:#2f6bd6;font-size:13px;padding:4px 6px;white-space:nowrap}.course-more-row .course-expand:hover{text-decoration:underline}@media(max-width:560px){.course-more-row{flex-wrap:wrap;row-gap:4px}}.course-head-tools{display:flex;align-items:center;gap:10px}.course-expand{white-space:nowrap}
.course-filter{border:1px solid #d8e3ee;border-radius:var(--radius-sm);background:#f8fbff;padding:8px 12px;font-size:13px;min-width:220px;color:#20344a}
.course-filter:focus{outline:2px solid #2f6bd6;outline-offset:1px}
.course-group-toggle{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:10px 12px;text-align:left;font-size:13px;color:#20344a;min-height:44px}
.course-group-name{font-weight:600}
.course-group-meta{margin-left:auto;color:#5a6b7f;font-size:13px}

.compact-course-group .course-chips{margin-top:8px}
.course-picker-fold{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;margin:18px 0 0;padding:0}
.course-picker-fold>summary{padding:13px 16px;font-size:13px;color:#20344a;cursor:pointer;font-weight:600}
.course-picker-fold>.course-control{border:0;margin:0;box-shadow:none}
.compare-group-row th{background:#f0f4f8;color:#173650;font-size:13px;font-weight:600;text-align:left;padding:9px 13px;letter-spacing:.4px}
.compare-matrix tbody tr:hover td{background:#f5f9fd}
.compare-matrix tbody tr.row-active td,.compare-matrix tbody tr.row-active th{background:#eef3f8}
.chart .point.last{fill:#173650;stroke:#fff;stroke-width:1.5}.course-collapse-follow button{pointer-events:auto;box-shadow:0 2px 8px #17365020}
.home-directions{scroll-margin-top:94px}.home-directions .section-top{margin:22px 0 14px}.home-directions .section-top h2{font-size:22px;line-height:1.5;letter-spacing:0}.home-directions .section-top>a{font-size:13px;flex-shrink:0}.home-directions>.empty{margin:0;background:#fff;padding:20px;text-align:left}.home-directions>.empty h3{font-size:18px}.home-directions>.empty p{font-size:13px;color:var(--muted)}
.mini-stats{margin:24px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--line);gap:6px 18px;flex-wrap:wrap}.mini-stat{display:flex;flex-direction:row;align-items:center;gap:5px;border:0;margin:0;padding:0;flex:0 1 auto}.mini-stat strong,.mini-stat span{font-size:13px;line-height:1.7;color:#5a6b7f}.mini-stat strong{font-weight:600}
@media(max-width:850px){.course-control,.home-directions{scroll-margin-top:73px}.course-hero .intro h1{font-size:26px}.course-groups{grid-template-columns:1fr}.course-current span{display:none}}
@media(max-width:560px){main{padding:18px 16px}.course-hero .intro p{display:none}.course-control{padding:12px;margin-top:14px}.course-control-head{align-items:flex-start;gap:8px}.course-control-head h2{font-size:16px}.course-expand{padding:5px 7px;max-width:90px}.course-group-label{margin-bottom:6px}.course-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.course-chip{padding:6px 7px;min-height:44px;gap:0 5px;font-size:13px}.course-control .course-selection>summary{padding:6px 0}.course-current{margin:4px 0 8px}.course-directions{width:100%}.home-directions .section-top{display:block;margin-top:18px}.home-directions .section-top>a{margin-top:4px}}

/* 字号 token 应用于页面标题；手机按钮用完整一行承载课名。 */
h1,.intro h1{font-size:var(--text-title)}
@media(max-width:850px){h1,.intro h1{font-size:26px}}
@media(max-width:560px){.course-groups{gap:6px}.course-group-label{margin-bottom:4px}.course-chip{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 5px;line-height:1.35;padding:5px 6px;min-height:44px}.course-chip b{grid-column:1;grid-row:1}.course-chip>span{grid-column:1 / -1;grid-row:2}.course-chip>small{grid-column:2;grid-row:1;justify-self:end;font-size:13px;line-height:1.35}.course-control-head{margin-bottom:8px}.course-control .course-selection{margin-top:8px}.course-current{margin:2px 0 6px}}

@media(max-width:560px){.course-groups{gap:4px}.course-group-label{line-height:1.2;margin-bottom:2px}.course-chip{padding:1px 6px;min-height:40px}}

/* Selected directions remain inspectable on narrow screens. */
.detail-share{display:flex;justify-content:flex-end;margin-bottom:14px}
@media(max-width:850px){.dock-items{display:flex;grid-column:1/-1;grid-row:2;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;gap:8px;padding:2px 0 5px}.dock-chip{flex:0 0 auto;max-width:300px}.dock-name{max-width:240px}.dock-actions{grid-column:2;grid-row:1}}

.compare-row-button{display:block;width:100%;min-height:32px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.sidebar{overflow-y:auto}
@media(max-width:850px){.course-head-tools{min-width:0}.course-head-tools .course-filter{width:0;min-width:0;flex:1}}

/* 双主线工作台：沿用配色与五档圆角，公开资料与个人事务分区。 */
:root{--side:0px;--text-body:15px;--text-title:26px;--green:#0f766e;--amber:#9a6212}
[hidden]{display:none!important}
body{font-size:15px}
body button,body a[href],body summary,body select,body input{min-height:44px;min-width:44px}
body textarea{font:inherit;min-height:100px;resize:vertical}
body button,body a[href]{overflow-wrap:anywhere}
body .workspace{margin-left:0;min-width:0}
.topbar.dual-topbar{display:block;height:auto;padding:0;gap:0;border-bottom:1px solid var(--line);z-index:25}
.topbar-in{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:22px;min-width:0}
.header-identity{display:contents}.topbar-in>.main-tabs{order:1}.header-tools{order:2}
.brand{padding:0;flex-shrink:0}.brand small{letter-spacing:0}.brand strong{font-size:16px}
.main-tabs{display:flex;gap:6px;min-width:0}.main-tab{border:1px solid transparent;background:none;padding:8px 16px;border-radius:var(--radius-sm);color:var(--muted);font-size:15px;white-space:nowrap}.main-tab:hover{background:#f5f8fc}.main-tab.active{background:#eef3f8;border-color:#c9d6e4;color:var(--navy)}
.header-tools{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0}.saved-pill{border:1px solid var(--line);background:#fff;padding:6px 12px;border-radius:var(--radius-pill);font-size:13px;white-space:nowrap}.saved-pill b{color:var(--navy)}
.checked{background:none;border:0;padding:0;font-weight:400}.checked time{font-size:13px}.checked i{flex-shrink:0}
.subbar{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:16px;min-width:0}
#nav{display:flex;gap:10px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
#nav .nav-item{display:flex;justify-content:center;width:auto;flex:0 0 auto;padding:8px 12px;border-radius:0;background:none;border-bottom:2px solid transparent;font-size:14px;color:var(--muted);white-space:nowrap}
#nav .nav-item.active{color:var(--navy);border-bottom-color:var(--navy);background:none}
#personal-tools{flex-shrink:0;font-size:13px}
.search-strip{max-width:1120px;margin:0 auto;padding:18px 20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}
.query-scope{font-size:13px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.global-search{width:380px;flex:0 1 380px;min-width:0;padding:0 8px;min-height:46px}.global-search input{font-size:14px}.global-search kbd{display:none}.search-submit{flex-shrink:0}
.personal-boundary{max-width:1080px;margin:18px auto 0;padding:12px 16px;border:1px solid #d8e3ee;border-radius:var(--radius-sm);background:#eef3f8;color:var(--muted);font-size:13px;line-height:1.75}
.personal-boundary p{display:inline;margin-right:8px}.personal-boundary .link-button{min-height:44px;font-size:13px;vertical-align:middle}.personal-boundary #personal-storage-error{display:block;color:#9a6212}
body main{max-width:1120px;padding:24px 20px 64px;min-width:0;min-height:calc(100vh - 230px)}
body .footer{max-width:1120px;padding:20px 20px 30px;flex-wrap:wrap;min-width:0;gap:8px 18px}
body .footer a{margin-left:auto}.footer span:first-child{font-weight:600}
.intro{gap:16px}.intro h1{font-size:26px;letter-spacing:0}.intro p{font-size:14px;line-height:1.8}
.study-intro{align-items:center;margin-bottom:20px}.study-intro>div{min-width:0}
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.entry-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;min-width:0}.entry-card h2{font-size:22px}.entry-card p{font-size:14px;color:var(--muted)}.entry-card .study-actions{margin-top:auto;padding-top:10px}.entry-card .button{white-space:normal}
.study-footer-note{font-size:13px;color:var(--muted);margin-top:24px}
.study-actions{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;min-width:0}.study-actions .button{white-space:normal}.study-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.study-row>div{min-width:0}.study-row h2{font-size:20px}
.study-meta{font-size:13px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.study-meta a{vertical-align:middle}.study-meta .badge{white-space:normal}.study-meta+ .study-meta{margin-top:5px}
.badge.personal{background:#f0f4f8;color:#5a6b7f}.badge.verified{background:#e6f4ef;color:#0f766e}.badge.pending{background:#fbf3e5;color:#9a6212}
.study-empty{padding:22px 12px;text-align:left;border:1px dashed #d8e3ee;border-radius:var(--radius-sm);margin-top:16px;background:#fcfdff}.study-empty h3{font-size:16px}.study-empty p{font-size:14px;color:var(--muted);margin:6px 0 12px}
.study-stack{display:grid;gap:18px;min-width:0}.study-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.study-split .panel{min-width:0}.in-study .panel{margin-bottom:18px}.study-stack>.panel{margin:0}
.study-stack .panel>h2,.study-target>h2,.in-study .panel>h2{font-size:20px;margin-bottom:12px}.study-target p{margin:8px 0}.study-target .study-actions{margin-top:10px}.study-target{margin-top:16px}
.study-year{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;margin:12px 0}.study-year input{width:98px;border:1px solid #d8e3ee;border-radius:var(--radius-sm);padding:6px 10px;background:#fff;color:var(--ink)}
.study-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}.study-filters select,.study-filters input{max-width:100%;min-width:0;border:1px solid #d8e3ee;border-radius:var(--radius-sm);padding:8px 12px;background:#fff;color:var(--ink);font-size:14px}.study-filters input[type=search]{flex:1 1 220px}.study-filters select{flex:0 1 230px}.study-week-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.study-week-nav .button{font-size:13px;padding:6px 10px}
.task-ops .button{background:none;border:0;color:var(--blue);padding:4px 6px;font-size:13px;min-width:44px}
.study-details{margin-top:16px;min-width:0}.study-details>summary{font-size:14px;color:var(--muted);cursor:pointer;line-height:1.7;padding:8px 0}.study-details>p{margin:8px 0}.overdue-list{border:1px solid #f0dfc8;background:#fbf3e5;border-radius:var(--radius-sm);padding:0 12px}.overdue-list>summary{color:#9a6212}.overdue-task{padding-bottom:12px}.study-honesty{margin-top:16px}

.study-event{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f6;min-width:0}.study-event>time,.study-event>span:first-child{font-size:13px;flex:0 0 90px;font-variant-numeric:tabular-nums}.study-event>div:not(.study-actions){flex:1;min-width:0}.study-event h3{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.study-event>.study-actions{flex:0 1 150px;justify-content:flex-end}.study-event .button{font-size:13px;padding:6px 8px}.study-event:last-child{border-bottom:0}.study-stack aside,.study-split aside{min-width:0}.study-split aside .study-event{flex-wrap:wrap;gap:2px 8px}.study-split aside .study-event>time,.study-split aside .study-event>span:first-child{flex-basis:100%}.study-split aside .study-event>.study-actions{flex-basis:100%;justify-content:flex-start}.pending-event>span:first-child{color:var(--amber)}

.study-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin:12px 0;font-size:14px}.study-field>span{font-size:13px;color:var(--muted)}.study-field input,.study-field select,.study-field textarea{width:100%;max-width:100%;min-width:0;background:#fff;border:1px solid #d8e3ee;border-radius:var(--radius-sm);padding:9px 12px;color:var(--ink)}.study-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.study-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;padding:5px 0}.study-check input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px}.study-subject-picker{max-height:36vh;overflow-y:auto;border:1px solid var(--line);padding:10px 14px;border-radius:var(--radius-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.study-subject-picker label{overflow-wrap:anywhere}.study-diff{background:#eef3f8;border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;line-height:1.9;margin:12px 0}
.note-week>h2{font-size:17px;margin:24px 0 12px}.study-note-meta{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0;font-size:15px;line-height:1.9}.study-note .study-actions .button{border:0;color:var(--blue);padding:5px 8px;font-size:13px}
.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.backup-grid>section{min-width:0}.backup-grid p{margin:10px 0}.import-preview{margin-top:18px}.import-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.import-counts>div{background:#f0f4f8;border-radius:var(--radius-sm);padding:14px 8px;text-align:center;min-width:0}.import-counts strong{display:block;font-size:26px;color:var(--navy);font-variant-numeric:tabular-nums}.import-counts span{font-size:13px;color:var(--muted)}
.saved-group{margin-top:24px}.saved-group>h2{font-size:20px;margin-bottom:12px}.saved-grid{display:grid;grid-template-columns:1fr;gap:14px}.saved-target h3{font-size:18px;margin:10px 0}.saved-target p{margin:5px 0}.saved-target>.study-actions{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.saved-target .compare-toggle{flex:0 0 auto}.shortlist-tools{margin:12px 0}
.save-toggle{border:1px solid var(--line);background:white;color:var(--blue);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px}.card-actions .button{font-weight:600}.detail-share{flex-wrap:wrap;gap:8px}.data-type-tabs{display:flex;gap:8px;margin-bottom:18px}
#personal-dialog{width:min(720px,calc(100vw - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:var(--radius-lg);padding:0;color:var(--ink);box-shadow:0 24px 64px #17365029}#personal-dialog::backdrop{background:#1736504d}#personal-dialog .dialog-head{position:sticky;top:0;background:#fff;z-index:1}#personal-dialog .dialog-content{padding:20px 24px}#personal-dialog .dialog-head h2{font-size:20px}#personal-dialog form>.study-actions{margin-top:16px}
#compare-dock{left:0}.dock-chip button{width:44px;height:44px;flex-basis:44px}.dock-items{max-width:100%}.toast{left:50%;max-width:calc(100vw - 32px);width:max-content;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;justify-content:center;z-index:90;bottom:24px}.toast>span{min-width:0;overflow-wrap:anywhere}.toast-link{background:transparent;border:0;color:inherit;text-decoration:underline;white-space:normal;padding:4px 2px}
@media(max-width:1050px){.topbar-in{gap:12px}.header-tools{gap:8px}.checked time{display:none}.study-split{grid-template-columns:minmax(0,1fr) 280px}.main-tab{padding:8px 12px}.personal-boundary{margin-left:20px;margin-right:20px}}
@media(max-width:850px){.study-split{grid-template-columns:1fr}.study-split aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}.study-split aside .panel{margin:0}.topbar-in{flex-wrap:wrap}.main-tabs{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr}.header-tools{margin-left:auto}.subbar{gap:8px}#nav{gap:0}#nav .nav-item{flex:1;padding:7px 8px;font-size:13px}#personal-tools .link-button{font-size:13px}.search-strip{align-items:stretch;flex-wrap:wrap;gap:8px}.global-search{flex:1 1 100%;max-width:none;margin-left:0;width:100%}.personal-boundary p{display:block;margin:0}.personal-boundary .link-button{min-height:44px}.course-control{scroll-margin-top:190px}.home-directions{scroll-margin-top:190px}}
@media(max-width:560px){.topbar-in{padding:8px 16px;gap:6px 12px}.brand-mark{width:32px;height:35px;font-size:22px}.brand{gap:8px}.brand strong{font-size:15px}.brand small{display:none}.header-tools{gap:6px}.saved-pill{padding:5px 10px}.checked{font-size:13px;gap:4px}.checked i{display:none}.main-tab{font-size:14px;padding:8px}.subbar{padding:0 12px;flex-wrap:wrap;gap:0}#nav{flex-basis:100%;overflow:visible}#nav .nav-item{padding:8px 3px;min-width:0;font-size:13px}#personal-tools{width:100%;display:flex;justify-content:flex-end}.in-home .subbar{display:none}.search-strip{padding:14px 16px 0}.query-scope{font-size:13px}.breadcrumb{white-space:normal}.global-search input,.study-field input,.study-field select,.study-field textarea,.study-filters input,.study-filters select{font-size:16px}body main{padding:20px 16px 64px}.personal-boundary{margin:14px 16px 0;padding:10px 12px}.personal-boundary p{line-height:1.65}.personal-boundary .link-button{vertical-align:baseline}.study-intro{align-items:flex-start;gap:12px;flex-wrap:wrap}.study-intro h1,.intro h1{font-size:23px}.study-intro p{font-size:13px}.entry-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}.entry-card{padding:18px;gap:6px}.entry-card h2{font-size:20px}.entry-card p{font-size:14px}.entry-card .study-actions{padding-top:4px}.entry-card .button{padding:7px 10px;font-size:13px}.study-intro{margin-bottom:16px}.in-home .study-intro h1{font-size:24px}.in-home .intro p{margin-top:5px}.study-footer-note{margin-top:16px}.study-row{flex-wrap:wrap;gap:10px}.study-row h2{font-size:18px}.study-split>.study-stack>.panel,.in-study .panel{padding:16px}.study-split aside{grid-template-columns:1fr}.study-event{flex-wrap:wrap;gap:4px 10px}.study-event>time,.study-event>span:first-child{flex-basis:100%}.study-event>.study-actions{flex-basis:100%;justify-content:flex-start}.study-form-grid,.backup-grid{grid-template-columns:1fr}.study-subject-picker{grid-template-columns:1fr}.study-filters select{flex:1 1 130px}.study-filters input[type=search]{flex-basis:100%}.study-note>.study-row{display:block}.study-note>.study-row>.study-actions{justify-content:flex-end}.saved-target>.study-actions{gap:6px 10px}.saved-target .compare-toggle{flex-basis:100%}.saved-target .button{padding:7px 10px}.target-grid{grid-template-columns:1fr}.footer span{max-width:100%;overflow-wrap:anywhere}.footer a{margin-left:0!important}#personal-dialog .dialog-content{padding:16px}#personal-dialog .dialog-head{padding:14px 16px}#personal-dialog .dialog-head h2{font-size:18px}.toast{padding:12px 16px}.toast>span{flex-basis:100%;text-align:center}.in-study.course-head-tools .course-filter{min-width:0}.course-control-head h2{font-size:16px}.course-expand{max-width:none}.compare-header .remove{height:44px;width:44px;min-width:44px;right:-8px}.compare-matrix .compare-header{padding-right:40px}.scope-switch .tab{min-height:44px}.in-study .intro>button{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.toast.visible{pointer-events:auto}.brand{margin-bottom:0}
/* A narrow callout must wrap its action rather than let the text escape its box. */
.syllabus-strip{flex-wrap:wrap}.syllabus-strip .link-button{flex-shrink:0;max-width:100%;white-space:normal}
body button,body a[href],body summary,body select,body input:not([type=checkbox]),body .number-tip{min-height:44px!important;min-width:44px!important}

/* 一套任务：以内容和留白分组，辅助配置退出主操作区。 */
.personal-boundary{display:flex;align-items:baseline;gap:4px 18px;flex-wrap:wrap;padding:6px 14px;border:0;background:transparent;margin-top:10px}
.personal-boundary>span{font-size:13px}.personal-boundary>details{flex:1;min-width:0}.personal-boundary>details[open]{flex-basis:100%}.personal-boundary summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--blue)}
.personal-boundary details p{display:block;max-width:750px;margin:0 0 8px;line-height:1.8}.personal-boundary #personal-storage-error{flex-basis:100%}
.saved-pill[aria-current=page]{border-color:var(--navy);background:#eef3f8}
.compact-workspace{grid-template-columns:minmax(0,1fr) 290px;gap:30px}.compact-workspace .task-panel{padding:16px 22px}.task-panel .study-filters{margin:0 0 10px}.study-week-nav{align-items:center}.study-week-nav>span{font-size:13px;color:var(--muted)}
.workspace-aside{display:grid;gap:24px}.workspace-aside h2{font-size:17px;margin-bottom:8px}.workspace-aside .study-year{margin:0}.goal-summary{border-top:1px solid var(--line);padding-top:20px}.goal-summary>p{font-size:14px;overflow-wrap:anywhere}.goal-summary .study-actions{margin-top:8px;gap:0 10px}.goal-summary .button{background:transparent;border:0;padding:6px 0;color:var(--blue)}
.node-summary>ul{list-style:none;margin:0;padding:0}.node-summary li{padding:6px 0;font-size:14px;display:grid;gap:2px}.node-summary time{font-size:13px;color:var(--muted)}.node-summary .link-button{font-size:13px}
.task-title:hover{color:var(--blue);text-decoration:underline}.task-paused{flex:0 0 44px;font-size:13px;line-height:1.5;padding-top:12px;color:var(--muted)}
.task-ops>.link-button{font-size:13px}.task-actions-menu>summary{cursor:pointer;color:var(--muted);font-size:13px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.task-actions-menu[open]>summary{background:#eef3f8;color:var(--navy)}.task-actions-menu>div{position:absolute;right:0;top:62px;z-index:5;min-width:138px;padding:6px;background:white;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 6px 18px #17365014;display:grid}.task-actions-menu .button{justify-content:flex-start;padding:6px 10px;color:var(--ink);white-space:nowrap}
.overdue-actions{display:flex;flex-basis:100%;gap:8px;padding-left:54px}.overdue-actions .button{background:transparent;padding:5px 10px;border-color:#d6b88b;font-size:13px}.task-panel-bottom{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-panel-bottom>.button{border:0;background:none;color:var(--blue);padding:6px 0}
.draft-links{margin:10px 0;font-size:13px}.draft-links>summary{cursor:pointer;color:var(--blue);padding:8px 0}.draft-links>.button{display:flex;margin-bottom:8px;max-width:100%;white-space:normal;text-align:left}
.draft-row{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.draft-row>.button{max-width:100%;white-space:normal;text-align:left}.draft-row>[data-study="resume-draft"]{flex:1;min-width:0}.draft-row>[data-study="discard-draft"]{flex-shrink:0;border:0;background:none;color:var(--muted)}
.node-list>h2{font-size:18px}.node-list{margin-top:20px}.node-list .study-empty{border:0;background:none;padding:12px 0}.node-list .study-event>button{flex-shrink:0;font-size:13px;padding:6px 10px;white-space:normal;align-self:center}.node-list .study-event{gap:12px 18px}
.note-week{margin-top:24px}.study-note{border:0;border-top:1px solid var(--line);border-radius:0;padding:20px 0;margin:0;background:transparent;min-width:0}.study-note .note-body{margin:0 0 12px}.note-week>h2{font-size:16px;color:var(--muted);margin:0 0 8px}
.study-note-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}.study-note-context{flex:1;min-width:0}.study-note-footer>.study-actions{flex-shrink:0;gap:4px}.study-note .study-actions [data-study=note-delete]{color:var(--muted)}
.legacy-section{margin-top:28px}.legacy-section>h2{font-size:18px}.legacy-row{padding:16px 0;border-bottom:1px solid var(--line)}.legacy-row>h3{font-size:15px;overflow-wrap:anywhere}.legacy-row>a{display:inline-flex;align-items:center;font-size:13px}.legacy-row .note-body{font-size:14px}
textarea:focus-visible{outline:3px solid #2f6bd6;outline-offset:3px}
@media(max-width:850px){.compact-workspace{grid-template-columns:1fr;gap:22px}.compact-workspace .workspace-aside{display:flex;flex-direction:column;gap:18px}.compact-workspace .node-summary{order:0}.compact-workspace .goal-summary{order:1}.compact-workspace .study-year{order:2}.workspace-aside h2{font-size:16px}.task-panel{margin-bottom:0!important}}
@media(max-width:560px){.compact-workspace .task-panel{padding:12px 14px}.study-week-nav{gap:2px 6px}.study-week-nav>span{order:4;flex-basis:100%;padding:4px 0}.task-actions-menu>div{top:auto;bottom:0}.overdue-actions{padding-left:0;flex-wrap:wrap}.node-list .study-event>button{margin-left:0}.personal-boundary{margin-top:6px;padding:0}.personal-boundary summary{min-height:44px}.study-note>.study-row>.study-actions{justify-content:flex-start}.in-study .subbar{flex-wrap:nowrap;gap:8px}.in-study #nav{flex-basis:auto;overflow-x:auto}.in-study #nav .nav-item{min-width:44px}.in-study #personal-tools{width:auto}}

/* 页面层级收敛：仅区域切换吸顶；无滚动监听、克隆或占位高度切换。 */
html{scroll-padding-top:var(--sticky-height,120px)}
:where([id],button,a,input,select,textarea,summary){scroll-margin-top:12px}
.course-control,.home-directions{scroll-margin-top:12px}
.saved-target>.saved-primary-actions{gap:8px 16px}.saved-primary-actions>[data-detail]{font-weight:600;border-color:#8299b1;color:var(--navy)}
.saved-primary-actions .compare-toggle[aria-pressed=true]{color:var(--navy);background:#eef3f8;border-radius:var(--radius-sm)}
.saved-target>.saved-secondary-actions{border:0;padding-top:0;margin-top:4px;gap:8px 20px}.saved-secondary-actions>.button{background:transparent;border:0;padding:4px 0;color:var(--blue);font-size:13px;font-weight:400}.saved-secondary-actions>[data-favorite]{color:var(--muted);font-size:13px;margin-left:auto}
.task-panel .study-empty{border:0;background:transparent;padding:12px 0;margin:0}.task-panel .study-empty p{margin-bottom:4px}
.toast{padding:6px 12px;gap:4px 12px;flex-wrap:wrap;text-align:left;justify-content:flex-start;max-width:min(560px,calc(100vw - 32px));line-height:1.65}.toast>span{flex:1 1 120px;text-align:left}.toast-link{flex-shrink:0;white-space:normal;max-width:100%}.toast:not(.visible){visibility:hidden}.toast:has(.toast-link:focus-visible){outline:2px solid #fff;outline-offset:2px}
.form-error{color:#9a321d;font-size:14px;margin:12px 0;overflow-wrap:anywhere}
@media(max-width:850px){
  .topbar.dual-topbar,.dual-topbar .topbar-in{display:contents}
  .header-identity{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0;padding:8px 16px;background:#fff}
  .header-identity .header-tools{margin-left:auto;gap:6px;flex:0 0 auto;max-width:100%;flex-wrap:wrap}.header-identity .brand{min-width:0;flex:0 1 auto}
  .header-identity .brand-mark{width:1.5em;height:1.6em;flex-shrink:0}
  .dual-topbar .main-tabs{position:sticky;top:0;z-index:25;order:initial;width:100%;padding:4px 16px;margin:0;gap:6px;min-height:52px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 2px 5px #17365008}
  .dual-topbar .main-tab{white-space:normal;line-height:1.45;padding:8px;min-width:0}
  .dual-topbar .subbar{background:#fff;border-bottom:1px solid var(--line);padding-top:2px;flex-wrap:wrap}
  .dual-topbar #nav{flex:1 1 230px}.dual-topbar #nav .nav-item{white-space:normal;line-height:1.45;overflow-wrap:anywhere}
  .saved-target .compare-toggle{flex-basis:auto}
}
@media(max-width:560px){
  .study-note-footer{align-items:flex-start;gap:4px 8px}.study-note-context{flex-basis:100%}.study-note-footer>.study-actions{margin-left:-8px}
  .toast{padding:6px 12px;bottom:12px}.toast>span{flex-basis:120px;text-align:left}
  .task-panel .study-filters{gap:6px}.task-panel .study-filters select{flex:1 1 100px;padding:6px;max-width:100%}
}

/* F01–F05：查询任务、范围与资料类型各自表达一层含义。 */
.task-intro{align-items:flex-start;gap:12px;margin-bottom:16px}.task-intro>div{min-width:0}.task-intro h1{font-size:26px;line-height:1.4;letter-spacing:0}.task-intro .task-context{font-size:14px;margin-top:4px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.task-head-actions{display:flex;gap:8px;flex-wrap:wrap}.task-head-actions .button{font-size:13px;padding:6px 10px;white-space:normal}
.query-task-page #query-tools>div{display:none}.query-task-page .search-strip{justify-content:flex-end}.query-task-page .page-notice{border:0;border-left:2px solid var(--line);border-radius:0;background:transparent;padding:10px 14px;box-shadow:none;margin:12px 0 18px}.query-task-page .trust-panel{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0 0 18px;box-shadow:none}
.comparison-context{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.comparison-context .compare-scroll-hint{margin:0;font-size:13px}.comparison-context .link-button{font-size:13px}.compare-method{font-size:13px;color:var(--muted);line-height:1.75;margin:14px 0}
.in-compare .compare-matrix .compare-header{padding:0}.in-compare .compare-header h3{min-height:0;margin:0 40px 4px 0;font-size:16px;line-height:1.5}.in-compare .compare-header p{min-height:0;margin:3px 0;font-size:13px;line-height:1.5;font-weight:400}.in-compare .compare-header .remove{top:-6px;right:-8px;position:absolute}.compare-header-actions{display:flex;align-items:center;gap:4px 10px;flex-wrap:wrap;margin-top:4px;font-size:13px;font-weight:400}.compare-header-actions .link-button{font-size:13px;padding:0}.compare-header-actions a{display:inline-flex;align-items:center;white-space:normal}.in-compare .compare-matrix .compare-table thead th{padding:12px}.in-compare .compare-group-row th{padding:8px 12px!important;font-size:13px}.in-compare .compare-matrix{max-height:calc(100dvh - var(--sticky-height,120px) - 24px)}
.metric-source{display:block;font-size:13px;line-height:1.5}.metric-source a,.plan-line>a{display:inline-flex;align-items:center;font-size:13px}.plan-line{flex-wrap:wrap}.save-toggle.saved{color:var(--navy);background:#eef3f8;border-color:#8299b1}.badge.personal{color:var(--navy);background:#eef3f8;border:1px solid #c9d6e4}
.scope-control{display:flex;align-items:center;gap:10px;margin:12px 0 18px;min-width:0}.scope-label{font-size:13px;color:var(--muted);white-space:nowrap;flex-shrink:0}.scope-control .scope-switch{margin:0;min-width:0;flex:1;padding-bottom:4px;gap:4px}.scope-control .tab{border:1px solid transparent;background:transparent;box-shadow:none;padding:6px 10px;flex-shrink:0;color:var(--muted);font-size:13px;min-height:44px}.scope-control .tab.active{background:#eef3f8;color:var(--navy);border-color:#8299b1}.scope-control .tab:hover{background:#edf2f7}
.data-type-tabs{display:flex;width:max-content;max-width:100%;padding:3px;gap:2px;background:#e8eef5;border-radius:var(--radius-sm);margin-bottom:16px}.data-type-tabs .tab{background:transparent;border:1px solid transparent;color:var(--muted);font-size:14px;padding:6px 14px}.data-type-tabs .tab.active{background:#fff;color:var(--navy);border-color:#c9d6e4;box-shadow:none}
.result-type-selector{border:0;padding:0;margin:18px 0 8px;min-width:0}.result-type-selector legend{font-size:13px;color:var(--muted);padding:0;margin-bottom:4px}.result-type-options{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.result-type{font-size:13px;padding:7px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-weight:400}.result-type.active{border-bottom-color:var(--navy);color:var(--navy);font-weight:600}.result-type:hover{background:#eef3f8}.result-type-selector+.filter-bar{padding:8px 0;border:0;background:transparent;margin-bottom:4px}
@media(max-width:850px){.task-intro{flex-wrap:wrap}.task-intro h1{font-size:24px}.in-compare .compare-matrix{--compare-label:100px;--compare-column:190px}.in-compare .compare-header h3{font-size:15px}.in-compare .compare-matrix .compare-table th,.in-compare .compare-matrix .compare-table td{line-height:1.5}.scope-control{align-items:flex-start;gap:6px}.scope-label{padding-top:11px}.result-type{padding:7px 8px}}
@media(max-width:560px){.task-intro h1{font-size:23px}.task-intro .task-context{font-size:13px}.task-head-actions{gap:6px}.task-intro{margin-bottom:8px}.in-compare .comparison-context{gap:4px 8px}.query-task-page .search-strip{padding-top:10px}.query-task-page .page-notice{padding:8px 10px}.result-type{padding:7px 5px}.scope-control{margin:8px 0 12px}}

/* Query repair: a searchable scope picker, fixed group labels and reachable columns. */
html.in-compare{overscroll-behavior-x:contain}
.query-course-picker{margin:12px 0 18px;border:1px solid var(--line);border-radius:8px;background:#fff;min-width:0}
.query-course-picker>summary{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:48px;list-style:none;cursor:pointer}
.query-course-picker>summary::-webkit-details-marker{display:none}
.scope-caption{font-size:13px;color:var(--muted);white-space:nowrap;flex-shrink:0}
.query-course-picker>summary>strong{font-size:14px;line-height:1.6;overflow-wrap:anywhere;font-weight:600;min-width:0}
.scope-change{margin-left:auto;flex-shrink:0;font-size:13px;color:var(--navy);white-space:nowrap}.scope-change>span{display:inline-block;margin-left:5px}.query-course-picker[open] .scope-change>span{transform:rotate(180deg)}
.scope-picker-panel{border-top:1px solid var(--line);padding:14px}
.scope-picker-panel>label{display:block;font-size:13px;color:var(--muted);margin-bottom:7px}
.scope-picker-panel>input{display:block;width:100%;font:inherit;font-size:16px;min-height:44px;border:1px solid #c7d3df;border-radius:6px;padding:9px 12px;margin-bottom:10px;background:white;color:var(--ink)}
.scope-picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:320px;overflow-y:auto;overscroll-behavior-y:contain}
.scope-option{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink);font-size:14px;text-align:left;line-height:1.6;min-width:0}
.scope-option[hidden]{display:none}.scope-option b{font-variant-numeric:tabular-nums;flex:0 0 32px;color:var(--navy)}.scope-option>span{overflow-wrap:anywhere}.scope-option>span:last-child:not(:nth-child(2)){margin-left:auto;flex-shrink:0}.scope-option:hover{background:#f3f6f9}.scope-option[aria-pressed=true]{background:#eef3f8;border-color:#a0b4c5}.scope-picker-empty{font-size:14px;color:var(--muted);padding:12px 0}
.compare-stepper{position:sticky;top:calc(var(--sticky-height,60px) + 4px);z-index:6;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 6px;margin:0 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:100%}.compare-stepper[hidden]{display:none}
.compare-stepper button{min-height:44px;padding:7px 10px;border:1px solid #d7e1ea;border-radius:6px;background:#f4f7fa;color:var(--navy);font-size:14px;white-space:nowrap}.compare-stepper button:disabled{color:#7d8994;background:transparent;border-color:transparent;cursor:default}.compare-stepper>span{font-size:13px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.in-compare .compare-matrix{min-width:0;max-width:100%;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;max-height:calc(100dvh - var(--sticky-height,120px) - 86px)}
.compare-matrix .compare-table .compare-group-row th,.compare-matrix .compare-table .compare-group-row td{background:#f0f4f8;border-bottom:1px solid var(--line)}
.compare-matrix .compare-table .compare-group-row td{padding:0}.compare-matrix .compare-table .compare-group-row th{z-index:2;vertical-align:middle}
.history-record-years{margin-top:8px;min-width:140px;white-space:normal}.history-record-years>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none;color:var(--navy);font-size:14px}.history-record-years>summary:after{content:'⌄';margin-left:auto}.history-record-years[open]>summary:after{content:'⌃'}.history-record-years>summary::-webkit-details-marker{display:none}.history-record-years summary small{color:var(--muted);font-size:13px;font-weight:400}
.history-record-years ol{margin:0;padding:0;list-style:none}.history-record-years li{padding:12px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.7;color:var(--muted)}.history-record-years li>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:5px;color:var(--ink)}.history-record-years li b{font-size:16px;font-variant-numeric:tabular-nums}.history-record-years li p{margin:3px 0}.history-record-years a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.history-archive-units{color:var(--muted);font-size:13px}
@media(max-width:560px){.query-course-picker>summary{gap:8px;padding:9px 10px;flex-wrap:wrap}.scope-caption{font-size:13px}.query-course-picker>summary>strong{flex:1;font-size:14px}.scope-change{font-size:13px}.scope-picker-panel{padding:10px}.scope-picker-options{grid-template-columns:1fr}.scope-option{font-size:14px}.compare-stepper{gap:4px;padding:4px}.compare-stepper button{font-size:13px;padding:7px 8px}.compare-stepper>span{font-size:13px}.history-record-years{border-top:1px solid var(--line);padding-top:3px;margin-top:10px}}

/* Visual/motion round: object cards, continuous task rows, bounded feedback. */
#directions-title{display:flex;align-items:center;gap:14px;min-width:0}
.context-code{font-size:38px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-1px;color:var(--navy)}
.context-name{font-size:22px;line-height:1.45;overflow-wrap:anywhere}.context-name small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}
.target-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:visible;transition:border-color .12s,box-shadow .12s}
.target-card:hover{border-color:#839bb5;box-shadow:0 3px 12px #1736500b;transform:none}.target-card.selected{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--navy)}
.card-content{padding:16px 16px 10px;flex:1;min-width:0}.card-top{gap:8px;align-items:flex-start}.card-top .major-code{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.card-top .badge{flex-shrink:0}
.target-title{font-size:20px;line-height:1.45;margin:10px 0 5px;min-height:0;overflow-wrap:anywhere}.target-subtitle{font-size:13px;line-height:1.6;margin:0;color:var(--muted);min-height:0}.target-subtitle>span{display:block}
.annual-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:14px 0 0;padding:12px 0 0}.annual-metrics>div{min-width:0}.annual-metrics>div+div{padding-left:12px;border-left:1px solid var(--line)}
.annual-metrics .metric-label{font-size:13px;line-height:1.5}.annual-metrics .metric-number{font-size:34px;line-height:1.25;margin:4px 0 0;color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums}.annual-metrics .plan-number{font-size:30px;padding-top:5px}.annual-metrics .metric-number small{font-size:13px;font-weight:400;margin-left:4px}.annual-metrics .metric-source{font-size:13px;line-height:1.5}.annual-metrics .metric-source a{padding:0}
.plan-scope{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 10px}.card-facts{margin:0;display:grid;gap:6px;font-size:14px;line-height:1.6}.card-facts>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.card-facts dt{color:var(--muted);font-size:13px}.card-facts dd{margin:0;overflow-wrap:anywhere}.initial-subjects{font-size:13px;line-height:1.65;margin:8px 0 0;color:var(--muted)}
.card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:stretch;padding:10px 12px;border-top:1px solid var(--line);background:transparent;border-radius:0 0 10px 10px}
.card-actions>button{width:100%;min-width:0!important;padding:6px 4px;font-size:13px;justify-content:center;white-space:normal;line-height:1.5;margin:0}.card-actions .save-toggle{margin:0}.card-actions .compare-toggle .checkbox{display:none}
.save-toggle,.compare-toggle{transition:background-color .12s,border-color .12s,color .12s;min-inline-size:7em}.compare-toggle[aria-pressed=true]{color:var(--navy);background:#eef3f8;border-radius:6px}.save-toggle.saved{color:var(--navy);background:#eef3f8}.compare-toggle .checkbox{transition:background-color .12s,border-color .12s}
.compact-course-group{display:block;min-width:0;padding:4px 6px;margin:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.course-group-toggle{padding:8px 4px}.course-group-chev{font-size:18px;color:var(--muted);transition:transform .2s cubic-bezier(.2,.8,.2,1)}.compact-course-group.open .course-group-chev{transform:rotate(90deg)}
.course-fold{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s cubic-bezier(.2,.8,.2,1),visibility .2s}.compact-course-group.open .course-fold{grid-template-rows:1fr;visibility:visible}.course-fold>div{overflow:hidden;min-height:0}.course-fold .course-chips{margin:0;padding:4px 0 10px}.course-collapse-follow[hidden]{display:none}
.compact-workspace .task-panel{background:transparent;border:0;border-radius:0;padding:0}.study-task{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:0 10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);min-width:0;position:relative}
.task-complete{width:44px;height:44px;display:grid;place-items:center;padding:0;background:transparent;border:0;border-radius:6px;color:var(--navy)}.task-mark{display:grid;place-items:center;width:21px;height:21px;border:1.5px solid #8299b1;border-radius:50%;font-size:14px;line-height:1;background:transparent;transition:background-color .12s,border-color .12s,color .12s}.study-task.done .task-mark{background:var(--navy);border-color:var(--navy);color:white}
.task-text{min-width:0;overflow-wrap:anywhere}.task-title{display:block;width:100%;padding:8px 0 4px;font-size:16px;line-height:1.6;background:none;border:0;text-align:left;white-space:normal;color:var(--ink);transition:color .12s}.study-task.done .task-title{color:var(--muted);text-decoration:line-through}.task-text .study-meta{font-size:13px;line-height:1.6;text-decoration:none}.task-ops{display:flex;align-items:center;gap:8px;margin:0;flex-basis:auto}.overdue-actions{grid-column:2/-1;padding-left:0}.completion-summary{font-size:13px;color:var(--muted);padding:10px 0;line-height:1.6}
.compare-dock-inner{position:fixed;bottom:22px;left:calc(var(--side) + 38px);right:38px;max-width:1080px;margin:auto;background:var(--navy);color:#fff;box-shadow:0 8px 24px #17365024;border:1px solid #284b6a;border-radius:10px;padding:8px 14px;display:flex;align-items:center;gap:14px;z-index:25}.has-comparison main{padding-bottom:110px}.has-comparison .toast{bottom:110px}.has-comparison .course-collapse-follow{bottom:100px}.has-comparison .course-control.expanded{padding-bottom:96px}
#detail-dialog{opacity:0;transform:translateY(10px);transition:opacity .12s ease-out,transform .12s ease-out,display .12s allow-discrete,overlay .12s allow-discrete}
#detail-dialog[open]{opacity:1;transform:translateY(0);transition-duration:.18s}#detail-dialog::backdrop{background:#152c4659;backdrop-filter:none;opacity:0;transition:opacity .12s ease-out,display .12s allow-discrete,overlay .12s allow-discrete}#detail-dialog[open]::backdrop{opacity:1;transition-duration:.18s}
@starting-style{#detail-dialog[open]{opacity:0;transform:translateY(10px)}#detail-dialog[open]::backdrop{opacity:0}}
.detail-fact.full{grid-column:1/-1}.detail-fact dd{overflow-wrap:anywhere}
@media(max-width:850px){
 .compare-dock-inner{position:static;margin:8px 12px;padding:6px 10px;gap:8px;min-height:52px;box-sizing:border-box}.compare-dock-inner .dock-items,.compare-dock-inner .dock-clear{display:none}.dock-actions{margin-left:auto}.dock-label{font-size:14px}.dock-label strong{font-size:17px}.dock-actions .button{padding:6px 12px}
 .has-comparison main{padding-bottom:64px}.has-comparison .footer{padding-bottom:30px}.has-comparison .toast{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.has-comparison .course-collapse-follow{bottom:12px}.has-comparison .course-control.expanded{padding-bottom:20px}html:has(body.has-comparison){scroll-padding-bottom:0px}
 .study-task{grid-template-columns:44px minmax(0,1fr);gap:0 8px}.task-ops{grid-column:2;margin:2px 0 0;justify-content:flex-start}.task-actions-menu>div{top:auto;bottom:44px}.compact-workspace .task-panel{padding:0}.task-title{font-size:16px}.task-text{flex:none}
 #detail-dialog{width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 16px);border-radius:10px}#detail-dialog .dialog-head{padding:16px;gap:10px}#detail-dialog .dialog-head h2{font-size:22px;line-height:1.45}#detail-dialog .dialog-content{padding:16px}#detail-dialog .detail-facts{grid-template-columns:1fr 1fr;gap:12px}#detail-dialog .detail-fact{min-width:0}#detail-dialog .detail-fact:first-child{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.course-fold,.course-group-chev,.save-toggle,.compare-toggle,.target-card,.task-title,.task-mark,#detail-dialog,#detail-dialog::backdrop{transition:none!important;animation:none!important;transform:none!important}}

/* Linked historical series: a direction once, its original years together. */
.history-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.history-list-heading>p,.history-reading-note{font-size:13px;color:var(--muted);line-height:1.8}.history-reading-note{margin-bottom:20px}
.history-series{background:#fff;border:1px solid var(--line);border-radius:10px;margin:14px 0;min-width:0}.history-series>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.history-series>summary::-webkit-details-marker{display:none}.history-series>summary>div{min-width:0}.history-series h2{font-size:17px;font-weight:600;line-height:1.6;overflow-wrap:anywhere}.history-series summary p{font-size:13px;color:var(--muted);margin-top:4px}.history-series summary>span{font-size:14px;white-space:nowrap;color:var(--navy);font-variant-numeric:tabular-nums}.history-series summary>span small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.history-series>summary:after{content:'⌄';font-size:18px;color:var(--muted)}.history-series[open]>summary:after{content:'⌃'}.history-series-body{padding:0 18px 8px}.history-series-note{font-size:13px;line-height:1.8;color:var(--muted);padding:10px 0;border-top:1px solid var(--line)}
.score-years-head,.score-year-values{display:grid;grid-template-columns:60px 76px minmax(0,1fr) 90px;gap:12px;align-items:center}.score-years-head{color:var(--muted);font-size:13px;padding:9px 0;background:#f8fafc}.score-years{list-style:none;margin:0;padding:0}.score-years>li{padding:10px 0;border-top:1px solid #edf0f3;min-width:0}.score-year-values{font-size:14px;min-height:44px;font-variant-numeric:tabular-nums}.score-year-values>b{font-size:21px;color:var(--navy)}.score-year-values b small{font-size:13px;font-weight:400}.score-year-values>span{font-size:14px;overflow-wrap:anywhere}.score-year-values>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;white-space:normal}.score-year-original{font-size:13px;color:var(--muted);line-height:1.75;overflow-wrap:anywhere}

/* Calendar workspace: real tasks and verified date ranges, no demo records. */
.in-calendar main{padding-top:28px;padding-bottom:32px}.in-calendar .study-intro{margin-bottom:22px}.in-calendar .study-intro h1{font-size:28px}.in-calendar .study-intro p{font-size:13px;color:var(--muted)}
.study-more{position:relative;font-size:13px;color:var(--muted)}.study-more>summary{min-height:44px;display:flex;align-items:center;gap:12px;padding:4px 10px;list-style:none;cursor:pointer}.study-more>summary::-webkit-details-marker{display:none}.study-more>div{position:absolute;z-index:30;right:0;top:46px;min-width:210px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px #17365018;border-radius:8px;display:grid}.study-more>div>button{min-height:44px;text-align:left;padding:9px 12px;font-size:14px;color:var(--ink);border:0;background:transparent;border-radius:5px}.study-more>div>button:hover{background:#eef3f8}
.calendar-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,1fr);gap:34px;align-items:start}.study-calendar{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;gap:8px}.calendar-toolbar>h2{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.calendar-toolbar>div{display:flex;align-items:center;gap:4px}.calendar-toolbar .button{min-height:44px;background:transparent;border-color:var(--line);font-size:13px;padding:6px 12px}.calendar-toolbar .calendar-arrow{width:40px;min-height:44px;border:0;background:none;color:var(--muted);font-size:26px;border-radius:5px}.calendar-toolbar .calendar-arrow:hover{background:#edf2f6;color:var(--navy)}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 12px;align-items:center;text-align:center;height:32px;font-size:13px;color:#657785}.calendar-weekdays>span:nth-last-child(-n+2){color:#657785}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 12px 12px}.calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:4px;height:76px;padding:10px;border:1px solid transparent;min-width:0;border-radius:6px;line-height:1.1;position:relative;transition:background-color 120ms,border-color 120ms;color:var(--navy);font-variant-numeric:tabular-nums}.calendar-day>span{font-size:17px;font-weight:500}.calendar-day>small{display:flex;align-items:center;gap:4px;min-height:14px;font-size:11px}.calendar-day small b{font-size:9px;color:#8d6b35}.calendar-day.level-0,.calendar-swatches .level-0{background:#f3f6f8;color:#536b7b}.calendar-day.level-1,.calendar-swatches .level-1{background:#dce7ef;color:#365a74}.calendar-day.level-2,.calendar-swatches .level-2{background:#aac5d6;color:#173650}.calendar-day.level-3,.calendar-swatches .level-3{background:#456e89;color:#fff}.calendar-day.level-3 small b{color:#f0dcae}.calendar-day.outside{color:#647482;background:transparent}.calendar-day.selected{outline:2px solid var(--navy);outline-offset:1px;z-index:1}.calendar-day.today>span{font-weight:750}.calendar-day.today>span:after{content:'';display:inline-block;margin-left:3px;vertical-align:top;width:4px;height:4px;border-radius:50%;background:currentColor}.calendar-day:not(.outside):hover{border-color:#8da8bc}
.calendar-legend{padding:12px 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.calendar-legend>span:last-child{margin-left:auto}.calendar-swatches{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.calendar-swatches i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-left:3px}.calendar-month-events{background:#fcfaf5;border-top:1px solid #ece6dc;padding:5px 14px;color:#82683c}.calendar-month-events>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-month-events button{padding:5px 0;text-align:left;background:none;border:0;font-size:13px;color:#82683c;min-height:44px;line-height:1.7}.calendar-month-events a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:13px;color:#82683c}.calendar-month-events p{font-size:13px;line-height:1.7;padding:10px 0}
.calendar-agenda{min-width:0;padding-top:6px}.calendar-agenda>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.calendar-agenda>header p{font-size:13px;color:var(--muted);margin-bottom:5px}.calendar-agenda>header h2{font-size:28px;font-weight:600;letter-spacing:-.6px}.calendar-agenda>header>span{font-size:13px;color:var(--muted);white-space:nowrap}.calendar-quick{display:flex;align-items:center;gap:8px;padding:3px 4px 3px 12px;background:#fff;border:1px solid #c6d3dd;border-radius:8px}.calendar-quick:focus-within{border-color:#63859e;box-shadow:0 0 0 2px #63859e12}.calendar-quick input{display:block;min-width:0;flex:1;min-height:44px;width:100%;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);outline:none}.calendar-quick input:focus-visible{outline:0}.calendar-quick button{width:44px;min-height:44px;border:0;border-radius:6px;background:var(--navy);color:white;font-size:25px;line-height:1}.calendar-quick button:disabled{opacity:.55}.calendar-quick-help{display:flex;gap:8px;align-items:flex-start;justify-content:space-between;margin:5px 0 17px}.calendar-quick-help p{font-size:12px;color:var(--muted);line-height:1.7;flex:1;padding-top:7px}.calendar-quick-help .button{border:0;background:none;font-size:13px;padding:4px 0;min-height:36px;flex-shrink:0}
.calendar-official{border-left:2px solid #ae8b4f;margin:0 0 20px;padding:3px 0 2px 12px}.calendar-official>span{font-size:12px;color:#8c6b36}.calendar-official h3{font-size:15px;line-height:1.65;margin:5px 0}.calendar-official p{font-size:13px;color:var(--muted);line-height:1.8}.calendar-official a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#8c6b36}.calendar-task-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}.calendar-task-heading h3,.calendar-task-heading>span{font-size:13px;font-weight:400;color:var(--muted)}.calendar-empty{font-size:15px;line-height:1.9;color:var(--muted);padding:22px 0}
.calendar-agenda .study-task{grid-template-columns:36px minmax(0,1fr) auto;gap:0 6px;padding:10px 0}.calendar-agenda .task-complete{width:44px;margin-left:-7px}.calendar-agenda .task-title{font-size:15px;padding:7px 0 3px;line-height:1.65;min-height:44px}.calendar-agenda .task-text .study-meta{font-size:13px;color:#647482}.calendar-agenda .task-ops{grid-column:auto;margin:0;gap:0;align-items:flex-start}.calendar-agenda .task-ops>.link-button{display:none}.calendar-agenda .task-actions-menu>summary{min-height:44px;min-width:44px;font-size:20px}.calendar-agenda .task-actions-menu>div{top:44px;bottom:auto;max-width:200px}.calendar-agenda .overdue-actions{gap:3px 8px;flex-wrap:wrap}.calendar-backlog{border-top:1px solid var(--line);margin-top:18px}.calendar-backlog>summary{display:flex;gap:8px;align-items:center;min-height:48px;cursor:pointer;font-size:14px;list-style:none;color:var(--muted)}.calendar-backlog>summary:after{content:'＋';margin-left:auto}.calendar-backlog[open]>summary:after{content:'−'}.calendar-backlog>summary>span{font-size:12px;background:#e9eef3;color:#526e82;padding:1px 6px;border-radius:4px}.calendar-backlog>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:8px}.unplanned-task{border-bottom:1px solid var(--line);padding-bottom:7px}.unplanned-task .study-task{border-bottom:0}.unplanned-task>.button{border:0;background:transparent;color:var(--navy);font-size:13px;margin-left:42px;min-height:44px;padding:4px 0}.calendar-local{font-size:12px;line-height:1.8;color:#647482;margin-top:16px}.calendar-official-overview{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.calendar-official-overview h2{font-size:15px;font-weight:600}.calendar-official-overview>div{display:flex;gap:12px 24px;flex-wrap:wrap;margin:10px 0}.calendar-official-overview>div>button{display:flex;align-items:center;gap:14px;min-height:44px;padding:6px 0;background:none;border:0;text-align:left;font-size:14px;color:var(--navy)}.calendar-official-overview strong{font-weight:500}.calendar-official-overview p{font-size:13px;color:var(--muted);line-height:1.8}.calendar-official-overview a,.calendar-official-overview>.link-button{display:inline-flex;align-items:center;min-height:44px;font-size:13px}.calendar-settings{max-width:740px}.calendar-settings>section{padding:18px 0;border-top:1px solid var(--line)}.calendar-settings h2{font-size:18px;margin-bottom:12px}.calendar-settings p,.calendar-relative p{font-size:14px;line-height:1.9;color:var(--muted)}.calendar-relative{margin:20px 0}.calendar-relative h2{font-size:18px;margin-bottom:10px}
@media(max-width:850px){.calendar-workspace{grid-template-columns:1fr;gap:26px}.calendar-day{height:65px}.calendar-agenda{padding:0 4px}.in-study .subbar{flex-wrap:nowrap}.in-study #nav{flex-basis:auto}.in-study #personal-tools{width:auto}}
@media(max-width:560px){.in-calendar main{padding:20px 8px 32px}.in-calendar .study-intro{padding:0 8px;margin-bottom:16px}.in-calendar .study-intro h1{font-size:24px}.in-calendar .study-intro p{font-size:13px;margin-top:4px}.calendar-workspace{gap:24px}.calendar-toolbar{padding:5px 10px}.calendar-toolbar h2{font-size:22px}.calendar-toolbar>div{gap:0}.calendar-toolbar .button{padding:5px 8px}.calendar-toolbar .calendar-arrow{width:36px}.calendar-weekdays{margin:0;height:28px;font-size:12px}.calendar-days{gap:2px;margin:0 2px 8px}.calendar-day{height:46px;padding:6px 6px 4px;border-radius:5px}.calendar-day>span{font-size:15px}.calendar-day>small{font-size:10px;min-height:10px;gap:3px}.calendar-day.selected{outline-offset:-1px}.calendar-legend{font-size:11px;padding:9px 8px;gap:5px}.calendar-swatches{gap:3px}.calendar-swatches i{width:8px;height:8px;margin-left:1px}.calendar-month-events{padding:2px 9px}.calendar-month-events button,.calendar-month-events a,.calendar-month-events p{font-size:12px}.calendar-agenda{padding:0 8px}.calendar-agenda>header h2{font-size:25px}.calendar-agenda>header{margin-bottom:12px}.calendar-quick-help p{font-size:12px}.calendar-day-tasks .task-title{font-size:15px}.calendar-official-overview{margin:24px 8px 0}.calendar-official-overview>div{display:grid;gap:2px}.calendar-official-overview>div>button{font-size:13px}.calendar-official-overview p{font-size:13px}.calendar-backlog>summary{font-size:13px}.calendar-task-heading h3,.calendar-task-heading>span{font-size:13px}.history-series>summary{padding:13px 12px;gap:8px;flex-wrap:wrap}.history-series h2{font-size:15px}.history-series>summary>div{flex:1 1 180px}.history-series summary>span{font-size:13px}.history-series-body{padding:0 12px 6px}.score-years-head,.score-year-values{grid-template-columns:38px 50px minmax(0,1fr) 54px;gap:7px}.score-year-values{font-size:13px}.score-year-values b{font-size:19px}.score-year-values>span{font-size:13px}.score-year-values>a{font-size:13px;line-height:1.6}.score-year-original{font-size:13px}.history-filters{padding:8px 10px}.history-list-heading{gap:8px}.history-list-heading>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.calendar-day{transition:none!important}}

.calendar-agenda .study-meta:empty{display:none}
@media(max-width:560px){.in-calendar main{padding-top:12px}.in-calendar .study-intro{margin-bottom:10px}.calendar-workspace{gap:18px}.calendar-day{height:44px}.calendar-toolbar{padding-top:3px;padding-bottom:3px}.calendar-weekdays{height:26px}}

.history-filter-options{margin:12px 0}.history-filter-options>summary{cursor:pointer;font-size:14px;color:var(--navy);padding:6px 0;min-height:44px;display:flex;align-items:center;gap:10px;list-style:none}.history-filter-options>summary:after{content:"⌄"}.history-filter-options[open]>summary:after{content:"⌃"}.history-filter-options .filter-bar{margin-top:5px}
@media(max-width:560px){.history-series>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;gap:8px}.history-series>summary>div{min-width:0}.history-series summary>span{white-space:normal}.history-series>summary:after{justify-self:end}.history-list-heading{margin-top:8px}}

.calendar-agenda.changing{animation:calendar-day-change 120ms ease-out}@keyframes calendar-day-change{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.calendar-agenda.changing{animation:none;transform:none}}

/* Functional changes only, kept inside the existing blue/white system. */
.toast{left:auto;right:18px;bottom:24px;top:auto;transform:translateY(12px);pointer-events:none;max-width:min(560px,calc(100vw - 32px))}
.toast.visible{transform:translateY(0);pointer-events:none}
.toast .toast-link{pointer-events:auto}
.has-comparison .toast{bottom:86px}
@media(max-width:850px){.toast{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));top:auto}.has-comparison .toast{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
.course-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 18px;margin:18px 0 0;min-width:0}
.course-summary-copy{min-width:0}
.course-summary .eyebrow{margin-bottom:4px;color:var(--muted)}
.course-summary h2{font-size:24px;line-height:1.4;color:var(--navy);overflow-wrap:anywhere}
.course-summary h2 .context-code{font-size:26px;margin-right:6px}
.course-summary p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.7}
.course-summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:560px){.course-summary{flex-direction:column;align-items:flex-start;padding:14px 16px}.course-summary h2{font-size:22px}.course-summary h2 .context-code{font-size:24px}.course-summary-actions{width:100%}}
.calendar-day.official-range{box-shadow:inset 0 2px 0 #a9bccb}
.calendar-day>small{min-width:0;white-space:nowrap}
.calendar-day .official-mark{font-size:9px;line-height:1;color:#8d6b35}
.calendar-official{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:6px 10px;margin-bottom:14px}
.calendar-official h3{font-size:14px;margin:0}
.calendar-official p{font-size:12px;margin:0}
.calendar-official>a{display:inline-flex;align-items:center;min-height:32px;font-size:12px}
.history-unit-legend{font-size:12px;color:var(--muted);padding:8px 0 0;margin:0}
.score-year-values>b,.score-year-values>a{white-space:nowrap}
@media(max-width:560px){.score-years-head,.score-year-values{grid-template-columns:44px 60px minmax(0,1fr) 48px;gap:6px}.score-year-values>b{font-size:20px}.source-year{display:none}.history-unit-legend{font-size:11px}}
@media(max-width:560px){.compare-matrix .compare-table th,.compare-matrix .compare-table td{padding:10px 8px}.compare-matrix .compare-header h3{font-size:14px;line-height:1.35;min-height:0}.compare-matrix .compare-header p{font-size:11px;line-height:1.45;min-height:0}.compare-matrix .compare-college,.compare-matrix .compare-direction{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-matrix .compare-header-actions{gap:5px;margin-top:4px}.compare-matrix .compare-header-actions .link-button{font-size:11px}}

.course-summary{flex-wrap:wrap;padding:14px 16px}
.course-summary h2{font-size:22px}
.course-summary h2 .context-code{font-size:24px}
.course-summary p{margin-top:2px}
.course-summary .button{margin-left:auto;flex-shrink:0}
@media(max-width:560px){.course-summary{flex-direction:row;align-items:center}.course-summary h2{font-size:20px}.course-summary h2 .context-code{font-size:22px}.course-summary .button{margin-left:auto}}

.profile-button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:13px;white-space:nowrap}
.profile-button svg{width:17px;height:17px;flex-shrink:0}
.profile-button:hover{background:#f5f8fc;color:var(--navy)}
.profile-button.active{background:#eef3f8;border-color:#c9d6e4;color:var(--navy);font-weight:600}
@media(max-width:560px){.profile-button{width:36px;height:36px;padding:0;justify-content:center}.profile-button span{display:none}}
.year-heatmap{max-width:860px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 18px;margin:18px 0 0}
.year-heatmap-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.year-heatmap .eyebrow{margin:0 0 4px;color:var(--muted)}
.year-heatmap h2{font-size:20px;line-height:1.4;color:var(--navy)}
.year-heatmap h2 span{font-size:13px;font-weight:400;color:var(--muted);margin-left:4px}
.year-window{font-size:11px;color:var(--muted);white-space:nowrap}
.heatmap-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c9d6e4 transparent}
.heatmap-scroll:focus-visible{outline:2px solid #2f6bd6;outline-offset:3px}
.heatmap-track{min-width:100%}
.heatmap-months{display:grid;grid-template-columns:repeat(var(--heat-columns,53),minmax(0,1fr));gap:2px;margin:12px 0 4px;font-size:10px;color:var(--muted);line-height:1.2}
.heatmap-months>span{min-width:0;white-space:nowrap}
.heatmap-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-auto-columns:1fr;gap:2px;aspect-ratio:var(--heat-columns,53) / 7;width:100%}
.heat-cell{display:block;background:#eef1f4;border-radius:2px;min-width:0}
.heat-cell.level-1{background:#dce7f1}
.heat-cell.level-2{background:#b7cede}
.heat-cell.level-3{background:#6f97b4}
.heat-cell.level-4{background:#173650}
.heat-cell.outside{visibility:hidden}
.heat-cell.today{outline:1px solid var(--navy);outline-offset:1px}
.heatmap-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.heatmap-foot>span:last-child{margin-left:auto}
.heatmap-legend{display:inline-flex;align-items:center;gap:3px}
.heatmap-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;background:#eef1f4}
.heatmap-legend i.level-1{background:#dce7f1}
.heatmap-legend i.level-2{background:#b7cede}
.heatmap-legend i.level-3{background:#6f97b4}
.heatmap-legend i.level-4{background:#173650}
.my-links{max-width:860px;margin:18px 0 0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 16px}
.my-links button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font-size:14px;text-align:left}
.my-links button:first-child{border-top:0}
.my-links button:hover{color:var(--navy)}
.my-links button span{color:#9aa7b2;font-size:18px;line-height:1}
@media(max-width:560px){
  .year-heatmap{padding:14px 12px}.year-heatmap h2{font-size:17px}.year-window{font-size:10px}.heatmap-foot{font-size:10px}.my-links{padding:0 12px}.my-links button{min-height:48px;font-size:13px}
  .heatmap-scroll{scroll-snap-type:x proximity}
  .heatmap-track{width:max-content}
  .heatmap-months{grid-template-columns:repeat(var(--heat-columns,53),10px);width:max-content;font-size:9px}
  .heatmap-months>span{scroll-snap-align:start}
  .heatmap-grid{grid-template-columns:repeat(var(--heat-columns,53),10px);grid-auto-columns:10px;grid-template-rows:repeat(7,10px);gap:2px;aspect-ratio:auto;width:max-content}
}
.entry-card[data-card-view]{cursor:pointer}
.course-chip{transition:transform .12s ease,background-color .15s ease,border-color .15s ease,color .15s ease}
.course-summary{animation:course-summary-in .2s ease-out}
@keyframes course-summary-in{from{opacity:.3;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.course-summary{animation:none}.course-chip{transition:none}}

.calendar-quick-help{justify-content:flex-end;min-height:32px}

.calendar-range-key{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.calendar-range-key i{display:inline-block;width:12px;height:3px;background:#a9bccb;border-radius:1px}
.calendar-range-key b{font-size:8px;color:#8d6b35;font-weight:400}
@media(max-width:560px){.calendar-legend{font-size:10px;gap:5px}.calendar-range-key{font-size:10px}}

.profile-button{width:auto;height:36px;padding:0 12px;justify-content:center}
.profile-button span{display:inline}

.heat-cell.level-1,.heatmap-legend i.level-1{background:#c9dbe7}
.heat-cell.level-2,.heatmap-legend i.level-2{background:#93b5cb}
.heat-cell.level-3,.heatmap-legend i.level-3{background:#5d88a8}
.heat-cell.level-4,.heatmap-legend i.level-4{background:#173650}

.heat-cell.level-1,.heatmap-legend i.level-1{background:#a8c4d6}
.heat-cell.level-2,.heatmap-legend i.level-2{background:#6f97b4}
.heat-cell.level-3,.heatmap-legend i.level-3{background:#3e6c8c}
.heat-cell.level-4,.heatmap-legend i.level-4{background:#173650}

.entry-card[data-card-view]{transition:border-color .15s ease,background-color .15s ease,transform .09s ease}
.entry-card[data-card-view]:hover{border-color:#c9d6e4}
@media(min-width:561px){
  .in-home main{min-height:calc(100svh - 172px);display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(100px,18vh,180px)}
  .in-home .entry-grid{margin-top:0}
  .entry-card{min-height:208px}
}
@media(max-width:560px){.entry-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.entry-card[data-card-view]{transition:none}.entry-card[data-card-view]:active{transform:none}}

.workspace-goal{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 1 560px;min-width:0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);animation:workspace-goal-in .18s ease-out}
.workspace-goal>div{min-width:0}
.workspace-goal p{margin:0 0 3px;font-size:12px;color:var(--muted)}
.workspace-goal h2{font-size:15px;line-height:1.55;letter-spacing:0;color:var(--navy);overflow-wrap:anywhere}
.workspace-goal>.link-button{flex-shrink:0;font-size:13px}
.workspace-goal .button{flex-shrink:0}
.workspace-goal.is-empty{min-height:64px}
.workspace-goal.is-empty>p{margin:0;font-size:13px}
@keyframes workspace-goal-in{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:560px){
  .in-calendar .study-intro>div:first-child{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .in-calendar .study-intro{padding:0 8px;margin-bottom:14px}
  .workspace-goal{width:100%;padding:12px 14px}
  .calendar-agenda{min-height:calc(100svh - 160px)}
  .calendar-legend,.calendar-range-key{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.workspace-goal{animation:none}}

.headcount-scope{display:block;margin:3px 0;font-size:13px;color:var(--muted);line-height:1.55}
.compare-headcount-scope{margin:0 0 10px;font-size:13px;color:var(--muted);line-height:1.6}
.entry-study-state{display:grid;gap:2px;margin:2px 0 4px}
.entry-study-state strong{font-size:13px;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}
.entry-study-state span{font-size:13px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}

/* Home: two equally weighted workflows, with the selected pixel signature. */
.brand-pixel{display:block;flex:0 0 auto;object-fit:contain;width:40px;height:40px}
body.in-home{background:#fff}
.in-home .topbar.dual-topbar{display:block;height:auto;padding:0;position:relative;background:#fff;border:0;backdrop-filter:none}
.in-home .topbar-in{display:flex;padding:22px 24px;gap:20px}
.in-home .header-identity{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;gap:12px}
.in-home .brand{gap:10px;margin:0}
.in-home .brand strong{font-size:22px;line-height:1.4;letter-spacing:0}
.in-home .brand small,.in-home .main-tabs,.in-home .subbar,.in-home .checked{display:none}
.in-home .header-tools{gap:8px}
.in-home .saved-pill,.in-home .profile-button{min-height:44px;border-radius:14px;padding:0 12px;border-color:#dfe6ee;font-size:14px;background:#fff}
body.in-home main{max-width:1120px;min-height:calc(100svh - 168px);padding:72px 24px 0;display:flex;flex-direction:column;justify-content:flex-start}
.home-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;min-width:0}
.home-entry{position:relative;min-width:0;padding:0 0 0 30px;border-left:1px dashed #d7dfe8;display:flex;flex-direction:column}
.home-entry::before{content:"";position:absolute;left:-4px;top:14px;width:7px;height:7px;background:#2464a4}
.home-entry-heading{display:flex;align-items:center;gap:18px;min-width:0}
.home-entry-mark{display:block;object-fit:contain;flex:0 0 32px;width:32px;height:32px}
.home-entry-mark--study{transform:rotate(90deg)}
.home-entry h2{font-size:26px;line-height:1.4;letter-spacing:0;font-weight:700;color:#173650;overflow-wrap:anywhere}
.home-entry-copy{margin:12px 0 0 50px;min-width:0;min-height:53px}
.home-entry-copy p{font-size:15px;line-height:1.65;color:#657589;margin:0;overflow-wrap:anywhere}
.home-entry-copy p+p{margin-top:5px}
.home-scope strong{font-weight:600;color:#173650}
.home-entry-copy.entry-study-state{display:block}
.home-entry-copy .home-goal{color:#657589;font-weight:400}
.home-entry-actions{display:flex;align-items:stretch;gap:9px;margin-top:20px;min-width:0}
.home-entry-actions .button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:54px!important;border-radius:6px;padding:10px 18px;font-size:15px;line-height:1.5;font-weight:600;letter-spacing:0;text-align:center;white-space:normal;transition:background-color 120ms ease,border-color 120ms ease}
.home-entry-actions .primary{flex:1.25;background:#173650;color:#fff;border:1px solid #173650}
.home-entry-actions .home-secondary{flex:1;border:1px solid #59748c;background:#fff;color:#173650;gap:8px}
.home-arrow{display:inline-block;flex:0 0 auto;width:16px;height:16px;vertical-align:middle}
.home-secondary:active .home-arrow{filter:brightness(0) invert(1)}
.home-entry-actions .primary:hover{background:#244c69;border-color:#244c69}
.home-entry-actions .home-secondary:hover{background:#f2f6f9;border-color:#173650}
.home-entry-actions .button:active{background:#335f7c;color:#fff}
.home-signature{--signature-space:88px;width:min(100%,740px);position:relative;align-self:center;margin-top:auto;padding-top:var(--signature-space);flex-shrink:0;pointer-events:none;user-select:none;line-height:0}
.focus-field{--scatter-scale:1.65;position:relative;width:100%;isolation:isolate}
.focus-wordmark{display:block;position:relative;z-index:1;width:100%;height:auto;filter:grayscale(1) brightness(.84);opacity:.9}
.focus-warp{display:block;position:absolute;z-index:1;inset:0;width:100%;height:100%;filter:grayscale(1) brightness(.84);opacity:0;pointer-events:none}
.focus-emission{position:absolute;z-index:2;display:block;left:var(--x);top:var(--y);width:1.35%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.focus-origin-pull,.focus-particle-pull{display:block;position:absolute;inset:0;transform:translate3d(var(--sink-x,0px),var(--sink-y,0px),0);opacity:var(--sink-alpha,1)}
.focus-origin-pull{transform:translate3d(var(--sink-x,0px),var(--sink-y,0px),0) scale(var(--sink-scale,1))}
@media(hover:hover) and (pointer:fine){.focus-field{pointer-events:auto}.focus-field[data-warp=active] .focus-wordmark{opacity:0}.focus-field[data-warp=active] .focus-warp{opacity:.9}}
/* Crop the existing raster to its opaque core; its outer transparency ring must not read as a tiny icon. */
.focus-origin,.focus-particle{display:block;position:absolute;inset:-90%;width:280%;height:280%;clip-path:inset(32%);object-fit:fill;filter:brightness(0) saturate(100%) invert(27%) sepia(95%) saturate(4500%) hue-rotate(213deg) brightness(101%) contrast(106%);opacity:0;animation-duration:var(--period);animation-delay:var(--phase);animation-iteration-count:infinite;animation-play-state:paused}
.focus-origin{animation-name:focus-charge;animation-timing-function:linear}
.focus-particle{animation-name:focus-release;animation-timing-function:cubic-bezier(.2,.55,.45,1);clip-path:inset(calc(32% + (1 - var(--sink-scale,1))*18%))}
.home-signature[data-motion=running] :is(.focus-origin,.focus-particle){animation-play-state:running}
@keyframes focus-charge{0%,3%{opacity:0}9%,16%{opacity:.9}28%,100%{opacity:0}}
@keyframes focus-release{0%,8%{transform:translate3d(0,0,0) scale(.9);opacity:0}15%{opacity:1}50%{transform:translate3d(calc(var(--dx)*var(--scatter-scale)*.28),calc(var(--dy)*var(--scatter-scale)*.52),0) scale(.88);opacity:.95}70%{opacity:.7}100%{transform:translate3d(calc(var(--dx)*var(--scatter-scale)),calc(var(--dy)*var(--scatter-scale)),0) scale(.45);opacity:0}}
.home-signature[data-motion=reduced] .focus-emission{display:none}
.home-signature[data-motion=reduced] .focus-warp{display:none}
.home-signature[data-motion=reduced] .focus-wordmark{opacity:.9}
.in-home .footer{padding:12px 24px 20px;align-items:center;font-size:12px;line-height:1.6;gap:0;border-color:#e4e9ef;min-height:80px;justify-content:space-between}
.in-home .footer>span:first-child{display:none}
.in-home .footer #footer-range{display:block;font-weight:400}
.in-home .footer a{display:inline-flex;align-items:center;gap:6px;color:#657589;min-height:32px}
.footer .home-arrow{width:12px;height:12px;opacity:.7}
@media(min-width:561px){.home-entry-copy{flex:1}.home-entry-actions{margin-top:26px}}
@media(max-width:800px) and (min-width:561px){.home-entries{gap:28px}.home-entry{padding-left:20px}.home-entry h2{font-size:22px}.home-entry-heading{gap:10px}.home-entry-copy{margin-left:42px}.home-entry-actions .button{padding:10px 8px;font-size:14px}}
@media(max-width:560px){
  .brand-pixel{width:34px;height:34px}
  .in-home .topbar-in{padding:42px 22px 2px;gap:8px;min-height:88px}
  .in-home .brand-pixel{width:40px;height:40px}
  .in-home .brand strong{font-size:21px}
  .in-home .saved-pill,.in-home .profile-button{padding:0 10px;font-size:14px}
  body.in-home main{padding:48px 22px 0;min-height:calc(100svh - 152px)}
  .home-entries{display:block;border-left:1px dashed #d7dfe8;margin-left:3px}
  .home-entry{border-left:0;padding:0 0 36px 25px}
  .home-entry::before{left:-4px;top:13px}
  .home-entry+.home-entry{border-top:1px solid #e4e9ef;padding-top:32px;padding-bottom:0;margin-left:12px;padding-left:13px}
  .home-entry+.home-entry::before{left:-16px;top:45px}
  .home-entry h2{font-size:23px;line-height:1.4}
  .home-entry-copy{min-height:49px;margin-top:12px}
  .home-entry-copy p{font-size:14px;line-height:1.65}
  .home-entry-actions{margin-top:20px;gap:9px}
  .home-entry-actions .button{font-size:15px;min-height:48px;padding:10px 8px}
  .home-signature{--signature-space:64px;width:calc(100% + 4px)}
  .focus-field{--scatter-scale:1}
  .in-home .footer{padding:9px 22px;min-height:64px;font-size:12px}
  .in-home .footer a{margin-left:auto!important}
}
@media(max-width:374px){.in-home .brand strong{font-size:20px}.in-home .brand{gap:5px}.in-home .saved-pill,.in-home .profile-button{padding:0 9px}.home-entry h2{font-size:22px}.home-entry-heading{gap:14px}.home-entry-copy{margin-left:46px}.home-entry-actions .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.home-entry-actions .button{transition:none}.focus-emission,.focus-warp{display:none}.focus-origin,.focus-particle{animation:none!important}.focus-field{pointer-events:none}.focus-wordmark{opacity:.9!important}}

/* Study workspace: one monthly overview, one daily execution surface. */
body.in-calendar{background:#fff}
.in-calendar main{max-width:1200px;padding:24px 32px 48px}
.workspace-context{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:0 0 14px;margin-bottom:24px;border-bottom:1px solid var(--line);min-width:0}
.workspace-context>span{flex-shrink:0;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.workspace-context .workspace-goal{flex:1;gap:10px;justify-content:flex-start;padding:0;background:none;border:0;border-radius:0;min-height:44px;animation:none}
.workspace-context .workspace-goal>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.workspace-context .workspace-goal p{margin:0;font-size:13px;white-space:nowrap}
.workspace-context .workspace-goal h2{font-size:14px;font-weight:500;line-height:1.6}
.workspace-context .workspace-goal .link-button{min-height:44px;flex-shrink:0;font-size:13px}
.in-calendar .calendar-workspace{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:40px}
.in-calendar .study-calendar{background:transparent;border:0;border-radius:0;overflow:visible;scroll-margin-top:72px}
.in-calendar .calendar-toolbar{padding:0 0 18px;gap:10px}
.in-calendar .calendar-toolbar h2{font-size:25px;line-height:1.4;font-weight:650;letter-spacing:-.6px}
.in-calendar .calendar-toolbar>div{gap:4px}
.in-calendar .calendar-toolbar .button{border:0;padding:6px 10px;border-radius:4px;color:var(--navy)}
.in-calendar .calendar-toolbar .calendar-arrow{width:44px;height:44px;border-radius:4px}
.in-calendar .calendar-weekdays{margin:0;height:34px;font-size:13px;color:var(--muted)}
.in-calendar .calendar-days{margin:0;gap:5px}
.in-calendar .calendar-day{height:72px;min-width:0;border:0;border-radius:4px;padding:10px 9px 7px;transition:background-color .12s ease,outline-color .12s ease}
.in-calendar .calendar-day>span{font-size:16px;font-weight:500;line-height:1.25}
.in-calendar .calendar-day>small{margin-top:auto;min-height:13px;font-size:11px;line-height:1.2;justify-content:space-between}
.in-calendar .calendar-day.level-0,.in-calendar .calendar-swatches .level-0{background:#f3f5f7;color:#536b7b}
.in-calendar .calendar-day.level-1,.in-calendar .calendar-swatches .level-1{background:#e8f0f7;color:var(--navy)}
.in-calendar .calendar-day.level-2,.in-calendar .calendar-swatches .level-2{background:#caddeb;color:var(--navy)}
.in-calendar .calendar-day.level-3,.in-calendar .calendar-swatches .level-3{background:#91b4cf;color:var(--navy)}
.in-calendar .calendar-day.outside{background:transparent;color:#68798b}
.in-calendar .calendar-day.selected{outline:2px solid var(--blue);outline-offset:-2px}
.in-calendar .calendar-day:focus-visible{outline:3px solid var(--blue);outline-offset:1px;position:relative;z-index:2}
.in-calendar .calendar-day.today>span{font-weight:750}
.in-calendar .calendar-day.official-range{box-shadow:inset 0 2px 0 #a9bccb}
.in-calendar .calendar-day .official-mark{color:#476981}
.in-calendar .calendar-legend{border:0;padding:15px 0 0;gap:8px 12px;font-size:12px;line-height:1.6}
.in-calendar .calendar-swatches{gap:7px}
.in-calendar .calendar-swatches>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.in-calendar .calendar-swatches i{width:10px;height:10px;margin:0;border-radius:2px}
.in-calendar .calendar-range-key{font-size:12px}
.in-calendar .calendar-agenda{border-left:1px solid var(--line);padding:0 0 12px 30px;min-height:0;scroll-margin-top:72px}
.in-calendar .calendar-agenda>header{align-items:center;margin-bottom:18px;gap:10px}
.in-calendar .calendar-agenda>header p{font-size:12px;margin-bottom:3px}
.in-calendar .calendar-agenda>header h2{font-size:25px;font-weight:650;letter-spacing:-.5px;line-height:1.4}
#calendar-day-label:focus{outline:none}
.agenda-day-tools{display:flex;flex-direction:column;align-items:flex-end;gap:0;color:var(--muted);font-size:12px;white-space:nowrap}
.agenda-day-tools>.button{display:none}
.in-calendar .calendar-quick{padding:3px 4px 3px 12px;border-color:#cbd9e5;border-radius:6px;gap:6px;box-shadow:none}
.in-calendar .calendar-quick:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #245f9d0d}
.in-calendar .calendar-quick input{min-height:44px;font-size:16px}
.in-calendar .calendar-quick button{border-radius:4px;background:var(--blue)}
.in-calendar .calendar-quick-help{justify-content:space-between;margin:3px 0 16px;gap:12px}
.in-calendar .calendar-quick-help>.button{min-height:44px;padding:4px 0;font-size:13px;color:var(--muted);border-radius:4px}
.in-calendar .calendar-official{display:block;border-color:#a9bccb;background:#f5f8fb;color:var(--muted);padding:0 10px;margin:0 0 14px;border-radius:0 4px 4px 0}
.in-calendar .calendar-official>summary{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;min-height:44px;padding:6px 0;cursor:pointer;list-style:none}
.in-calendar .calendar-official>summary::-webkit-details-marker{display:none}
.in-calendar .calendar-official>summary strong{flex:1;min-width:100px;font-size:13px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.in-calendar .calendar-official>summary .official-more,.in-calendar .calendar-official>summary .official-less{font-size:12px;color:var(--blue)}
.in-calendar .calendar-official:not([open]) .official-less,.in-calendar .calendar-official[open] .official-more{display:none}
.in-calendar .calendar-official>div{padding:3px 0 4px}
.in-calendar .calendar-official .official-status{color:#476981;font-size:12px}
.in-calendar .calendar-official h3{font-size:14px;font-weight:500}
.in-calendar .calendar-official p{font-size:12px}
.in-calendar .calendar-official>div>a{display:inline-flex;align-items:center;color:var(--blue);min-height:44px;font-size:13px}
.in-calendar .calendar-task-heading{margin:8px 0 0;gap:8px;justify-content:flex-end}
.in-calendar .calendar-task-heading>span:empty{display:none}
.in-calendar .calendar-task-heading h3,.in-calendar .calendar-task-heading>span{font-size:12px;color:var(--muted)}
.in-calendar .calendar-agenda .study-task{grid-template-columns:36px minmax(0,1fr) 36px;gap:0 6px;padding:6px 0 8px}
.in-calendar .calendar-agenda .task-complete{width:44px;margin-left:-4px}
.in-calendar .task-mark{width:19px;height:19px;border:1px solid #8ba2b8;border-radius:4px}
.in-calendar .study-task.done .task-mark{background:var(--blue);border-color:var(--blue)}
.in-calendar .calendar-agenda .task-title{font-size:15px;min-height:44px;padding:8px 0 2px;line-height:1.6}
.in-calendar .calendar-agenda .task-text>.study-meta{display:inline;font-size:12px;line-height:1.65}
.in-calendar .calendar-agenda .task-text>.study-meta:empty{display:none}
.in-calendar .task-record-link{display:inline-flex;min-height:36px;padding:4px 0;font-size:12px;line-height:1.5;vertical-align:baseline;margin-left:8px;color:var(--blue)}
.in-calendar .task-text>.study-meta:empty+.task-record-link{margin-left:0}
.in-calendar .calendar-agenda .task-ops{grid-column:3;align-self:start}
.in-calendar .calendar-agenda .task-actions-menu>summary{min-width:44px;min-height:44px;margin-left:-4px;font-size:18px}
.in-calendar .calendar-agenda .task-actions-menu>div{top:44px;bottom:auto;max-width:min(220px,calc(100vw - 48px))}
.in-calendar .task-actions-menu .button{min-height:44px;border:0;background:transparent;border-radius:4px;font-size:14px}
.in-calendar .calendar-agenda .overdue-actions{gap:4px 12px}
.in-calendar .overdue-actions>.button{border:0;color:var(--muted);padding:4px 0;min-height:44px;font-size:13px;background:none}
.in-calendar .calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:148px;padding:28px 12px 32px;border-bottom:1px solid var(--line);text-align:center}
.in-calendar .calendar-empty p{font-size:15px;color:var(--muted)}
.in-calendar .calendar-empty .link-button{min-height:44px;font-size:13px}
.in-calendar .calendar-backlog{margin-top:14px;border-top:1px solid var(--line)}
.in-calendar .calendar-backlog>summary{min-height:52px;font-size:14px;gap:8px;overflow-wrap:anywhere}
.in-calendar .calendar-backlog>summary>span{font-size:12px;min-width:23px;text-align:center;background:#f0f4f8;border-radius:4px;padding:1px 5px;font-variant-numeric:tabular-nums}
.in-calendar .calendar-backlog>summary:after{font-size:16px;color:var(--muted)}
.in-calendar .unplanned-task>.button{margin-left:42px;font-size:13px;min-height:44px}
.task-dialog-context{font-size:17px;font-weight:600;line-height:1.65;overflow-wrap:anywhere;margin-bottom:6px}
.reschedule-origin{font-size:13px;color:var(--muted);margin-bottom:20px}
.reschedule-presets{display:grid;grid-template-columns:repeat(var(--schedule-columns,2),minmax(0,1fr));gap:8px;margin-bottom:20px}
.reschedule-presets>.button{flex-direction:column;gap:3px;min-width:0;min-height:66px;padding:9px 6px;white-space:normal;border-radius:6px}
.reschedule-presets>.button small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.reschedule-presets>.button[aria-pressed=true]{background:#eaf2f9;border-color:var(--blue);color:var(--blue)}
.reschedule-presets>.button:last-child{grid-column:1/-1;flex-direction:row;min-height:44px;gap:12px}
#reschedule-preview{min-height:24px;margin-top:8px}
#personal-dialog[data-kind=reschedule]{width:min(460px,calc(100vw - 24px))}
#personal-dialog[data-kind=reschedule] form>.study-actions{justify-content:flex-end;gap:10px}
#personal-dialog[data-kind=reschedule] .study-actions>.button{min-height:44px;padding:9px 18px}
.task-record-list{margin:16px 0}
.task-record-list .study-note{box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;margin:0}
.task-record-list .study-note:first-child{border-top:1px solid var(--line)}
.task-record-list .study-note .note-body{font-size:15px;line-height:1.85;overflow-wrap:anywhere}
.task-record-list .study-note .study-actions>.button{min-height:44px}
@media(max-width:899px){
  .in-calendar .calendar-workspace{grid-template-columns:minmax(0,1fr);gap:22px;max-width:620px;margin:0 auto}
  .in-calendar .workspace-context{max-width:620px;margin:0 auto 20px}
  .in-calendar .calendar-agenda{border-left:0;border-top:1px solid var(--line);padding:22px 0 12px}
  .agenda-day-tools>.button{display:inline-flex;min-height:44px;border:0;background:none;padding:4px 0;color:var(--blue);font-size:12px}
  .agenda-day-tools{flex-direction:row;gap:14px}
  .in-calendar .calendar-day{height:64px}
}
@media(max-width:560px){
  .in-calendar main{padding:8px 16px 36px}
  .workspace-context{gap:8px;padding-bottom:6px;margin-bottom:16px}
  .workspace-context>span{font-size:11px}
  .workspace-context .workspace-goal{gap:8px;flex-wrap:wrap}
  .workspace-context .workspace-goal>div{display:block}
  .workspace-context .workspace-goal>div>p{display:none}
  .workspace-context .workspace-goal h2{font-size:13px}
  .workspace-context .workspace-goal .link-button{font-size:12px}
  .in-calendar .calendar-toolbar{padding-bottom:12px;gap:4px}
  .in-calendar .calendar-toolbar h2{font-size:22px}
  .in-calendar .calendar-toolbar>div{gap:0}
  .in-calendar .calendar-toolbar .button{padding:4px 8px}
  .in-calendar .calendar-weekdays{height:28px;font-size:12px}
  .in-calendar .calendar-days{gap:3px}
  .in-calendar .calendar-day{height:48px;padding:6px 6px 4px}
  .in-calendar .calendar-day>span{font-size:15px}
  .in-calendar .calendar-day>small{font-size:10px;min-height:11px}
  .in-calendar .calendar-legend{padding-top:12px;gap:6px 8px;font-size:11px}
  .in-calendar .calendar-swatches{gap:5px}
  .in-calendar .calendar-swatches i{width:8px;height:8px}
  .in-calendar .calendar-range-key{font-size:11px}
  .in-calendar .calendar-workspace{gap:18px}
  .in-calendar .calendar-agenda{padding-top:18px;min-height:calc(100svh - 130px)}
  .in-calendar .calendar-agenda>header{margin-bottom:14px}
  .in-calendar .calendar-agenda>header h2{font-size:23px}
  .agenda-day-tools{gap:10px;font-size:11px}
  .agenda-day-tools>.button{font-size:12px}
  .in-calendar .calendar-agenda .task-record-link{min-height:44px;font-size:12px}
  #personal-dialog[data-kind=reschedule]{margin:auto auto 12px;max-height:calc(100dvh - 24px);border-radius:12px;padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(hover:hover){.in-calendar .calendar-day:not(.selected):not(:focus-visible):hover{outline:1px solid #8da8bc;outline-offset:-1px}}
@media(prefers-reduced-motion:reduce){.in-calendar .calendar-day{transition:none}.in-calendar .calendar-agenda.changing{animation:none}}

/* V3: the calendar owns arrangements; focus is their execution state. */
.workspace-context-tools{display:flex;align-items:center;gap:16px;flex-shrink:0;font-size:12px;color:var(--muted)}
.workspace-context-tools>.link-button{min-height:44px;color:var(--blue);font-size:13px}
.calendar-metric{display:flex;gap:14px;align-items:center;margin-top:12px;min-height:44px;flex-wrap:wrap}
.calendar-metric>button{min-height:44px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:13px;padding:5px 2px}
.calendar-metric>button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:650}
.calendar-metric>.calendar-range-key{margin-left:auto}
.in-calendar .calendar-day.level-4{background:#245f9d;color:#fff}
.agenda-focus-total{display:inline-flex;align-items:center;gap:5px;min-height:36px;border:0;padding:0;background:none;color:var(--muted);font-size:13px;text-align:left}
.agenda-focus-total strong{color:var(--blue);font-weight:650}
.in-calendar .calendar-agenda .study-task{grid-template-columns:36px minmax(0,1fr) auto}
.in-calendar .calendar-agenda .task-ops{gap:0;align-items:center}
.task-play{width:44px;height:44px;min-width:44px;border:0;background:transparent;display:grid;place-items:center;border-radius:4px}
.task-play>img{width:16px;height:16px;box-sizing:content-box;padding:8px;filter:brightness(0) saturate(100%) invert(29%) sepia(33%) saturate(1585%) hue-rotate(170deg) brightness(92%) contrast(87%)}
.task-play:hover{background:#edf4fb}
.task-suggestions:empty{display:none}
.task-suggestions>p{font-size:13px;color:var(--muted);margin:10px 0 4px}
.task-suggestions>div{display:flex;gap:6px;flex-wrap:wrap}
.task-suggestions .button{font-size:13px;min-height:40px;padding:6px 12px;border:0;background:#f3f6f9;border-radius:5px}
.task-save-actions{flex-wrap:wrap}
.calendar-quick-course{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.calendar-quick-course select{font-size:14px;max-width:100%;min-height:44px;border:0;background:transparent;color:var(--navy)}
.focus-banner[hidden],.focus-reminder[hidden]{display:none!important}
.focus-banner{background:#f1f6fb;border-bottom:1px solid #dbe6f0;position:relative;z-index:4}
.focus-banner-inner{max-width:1200px;margin:auto;display:flex;align-items:center;gap:8px;padding:3px 24px;min-height:48px}
.focus-banner-return{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;border:0;background:none;color:var(--navy);text-align:left;font-size:14px}
.focus-square{width:10px;height:10px;background:var(--blue);flex-shrink:0}
.focus-banner-name{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.focus-banner-return strong{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.focus-banner-label{color:var(--blue);font-size:13px;white-space:nowrap}
.focus-banner-actions{display:flex;gap:4px;flex-shrink:0}
.focus-banner-actions .button{background:transparent;border:0;min-height:44px;padding:7px 10px;font-size:13px;color:var(--navy)}
.focus-reminder{max-width:1200px;margin:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 24px;border-top:1px solid #dbe6f0;font-size:13px;color:var(--navy)}
.focus-reminder .button{min-height:44px;border:0;padding:4px 8px;background:none;color:var(--blue);font-size:13px}
body.in-focus-clock{background:#fff}
.in-focus-clock .topbar,.in-focus-clock .footer,.in-focus-clock #query-tools,.in-focus-clock #personal-boundary,.in-focus-clock #compare-dock{display:none!important}
.in-focus-clock .workspace{margin:0;max-width:none;width:100%}
.in-focus-clock main{padding:0;max-width:none;width:100%;margin:0}
.focus-screen{max-width:1000px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:24px 32px max(32px,env(safe-area-inset-bottom));box-sizing:border-box;background:white}
.focus-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
.focus-top .link-button{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--navy);font-size:14px}
.focus-top .link-button:last-child{color:var(--muted);font-size:13px}
.focus-top img{width:18px;height:18px}
.focus-context{text-align:center;margin:clamp(35px,7svh,75px) 0 0;max-width:760px;width:100%;overflow-wrap:anywhere}
.focus-subject{font-size:18px;color:var(--muted);margin:0 0 12px}
.focus-context h1{font-size:30px;line-height:1.5;font-weight:700;letter-spacing:-.5px;margin:0}
.focus-plan{font-size:14px;color:var(--muted);margin-top:12px}
.focus-clock-field{width:100%;max-width:880px;margin:12px auto;min-width:0}
.focus-screen .focus-clock-field{margin-top:auto;margin-bottom:auto}
.focus-state{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--navy);margin:0 0 28px}
.focus-state:before{content:'';width:10px;height:10px;background:var(--blue)}
.focus-controls{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;width:100%;max-width:520px;margin:0 auto}
.focus-controls>.button{min-height:56px!important;font-size:17px;border-radius:5px}
.focus-remote-status{max-width:100%;margin:0 0 20px;text-align:center;overflow-wrap:anywhere}
.focus-remote .focus-state{justify-content:center;margin:0;line-height:1.6;text-align:center}
.focus-remote .focus-state:before{flex:0 0 8px;width:8px;height:8px}
.focus-remote-note{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.focus-controls.focus-remote-controls{grid-template-columns:minmax(0,1fr);max-width:320px}
.focus-remote-controls>.button{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
.focus-idle{max-width:540px;min-height:60svh;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:18px;padding:35px 0}
.focus-idle h1{font-size:28px;margin:4px 0}
.focus-idle p{font-size:15px;color:var(--muted);line-height:1.9;max-width:30ch}
.focus-idle .button{min-height:48px;min-width:200px}
.focus-summary{max-width:580px;margin:0 auto;padding:8px 0 28px;text-align:center}
.focus-summary .focus-context{margin-top:12px}
.focus-summary .focus-context h1{font-size:26px}
.focus-saved{font-size:14px;color:var(--muted)}
.focus-summary .focus-clock-field canvas{height:140px!important}
.focus-summary-date{font-size:13px;color:var(--muted);margin:18px 0 10px}
.focus-day-total{border-block:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}
.focus-day-total strong{font-size:25px;color:var(--blue);font-variant-numeric:tabular-nums}
.focus-complete-task{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:52px;padding:10px 0;font-size:15px;line-height:1.6;text-align:left}
.focus-summary .focus-complete-task input{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;accent-color:var(--blue)}
.focus-summary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.focus-summary-actions>.button{flex:1 1 140px}
.focus-summary-actions>.button{min-height:48px;font-size:16px}
.focus-summary-links{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:10px}
.focus-summary-links>.button{min-height:44px;border:0;background:none;color:var(--blue);font-size:14px}
.focus-recovery{max-width:620px;margin:auto;padding:12px 0 32px}
.focus-recovery h1{font-size:27px;line-height:1.5;margin:12px 0 20px}
.focus-recovery h2{font-size:18px;line-height:1.6;margin:0 0 10px}
.focus-recovery>p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.focus-gap{padding:14px 16px;background:#f1f6fb;font-variant-numeric:tabular-nums;color:var(--navy)!important}
.focus-recovery-actions{display:flex;gap:10px;flex-direction:column;margin:20px 0 28px}
.focus-recovery-actions>.button{min-height:48px}
.focus-recovery details>summary,.focus-delete>summary{min-height:44px;cursor:pointer;color:var(--muted);font-size:14px}
.focus-record-heading{font-size:16px;color:var(--navy);margin-bottom:18px}
.focus-record-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.focus-record-row>div{min-width:0;overflow-wrap:anywhere}
.focus-record-row h3{font-size:16px;line-height:1.6;font-weight:600;margin:0 0 5px}
.focus-record-row p{font-size:13px;line-height:1.8;color:var(--muted)}
.focus-record-row>.button{min-height:44px;flex-shrink:0}
.focus-segment{border:0;border-top:1px solid var(--line);padding:14px 0;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.focus-segment legend{font-size:13px;color:var(--muted);padding:0 7px 0 0}
.focus-segment label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:0}
.focus-segment input{width:100%;min-height:44px;min-width:0;font-size:16px;padding:6px;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--navy)}
.focus-delete{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}
.focus-import-row{border:0;border-top:1px solid var(--line);padding:16px 0;margin-top:10px;min-width:0}
.focus-import-row legend{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.focus-subject-totals{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.focus-subject-totals h3{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--navy)}
.focus-subject-totals ul{list-style:none;margin:0;padding:0}
.focus-subject-totals li{display:grid;grid-template-columns:minmax(75px,1fr) minmax(40px,1.2fr) auto;align-items:center;gap:12px;padding:8px 0;font-size:13px;color:var(--navy)}
.focus-subject-totals li>span:first-child{overflow-wrap:anywhere}
.focus-subject-totals strong{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.focus-subject-track{height:6px;border-radius:2px;background:#eef3f8;overflow:hidden}
.focus-subject-track>i{display:block;height:100%;background:var(--blue);border-radius:2px}
.subject-page{max-width:680px;margin:0 auto;padding:0 0 24px}
.subject-page-header>h1{font-size:29px;line-height:1.5;margin:8px 0 12px}
.subject-page-header>p{font-size:14px;line-height:1.85;color:var(--muted)}
.subject-page-header>.subject-eyebrow{font-size:13px;margin-top:12px}
.subject-back-button{min-height:44px;padding:4px 0!important;border:0!important;background:none!important;color:var(--blue)!important}
.subject-group{margin-top:28px}
.subject-group h2{font-size:17px;font-weight:650;border-left:3px solid var(--blue);padding-left:10px;margin-bottom:8px}
.subject-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:80px;border-bottom:1px solid var(--line);padding:12px 0}
.subject-row-copy{min-width:0;overflow-wrap:anywhere}
.subject-row h3{font-size:18px;line-height:1.55;font-weight:600;margin-bottom:4px}
.subject-row p{font-size:13px;color:var(--muted);margin:0}
.subject-change-button{min-width:64px;min-height:44px;border:0!important;background:none!important;color:var(--blue)!important}
.subject-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.subject-page-actions .button{min-height:44px;font-size:14px}
.subject-empty{padding:24px 0 10px;font-size:14px;color:var(--muted);line-height:1.9}
.subject-choice-list{border:0;padding:0;margin:0;max-height:50dvh;overflow-y:auto;min-width:0}
.subject-choice-list legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.subject-choice-row{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--navy);cursor:pointer}
.subject-choice-row input{width:20px;height:20px;accent-color:var(--blue);order:2;margin-left:auto;flex-shrink:0}
.subject-choice-row span{line-height:1.7;overflow-wrap:anywhere}
.subject-choice-feedback{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0}
.subject-custom-form .study-field input{font-size:16px}
@media(min-width:900px){.in-focus-clock .focus-context h1{font-size:34px}.focus-screen .focus-top{max-width:1000px}}
@media(max-width:599px){
  .workspace-context-tools{gap:4px;align-items:flex-end;flex-direction:column}
  .workspace-context-tools>span{font-size:11px}
  .workspace-context-tools>.link-button{min-height:32px;font-size:12px}
  .in-calendar .calendar-agenda .task-title{font-size:15px}
  .in-calendar .calendar-agenda .task-ops{gap:0}
  .in-calendar .calendar-agenda .task-actions-menu>summary{min-width:34px;width:34px;margin:0;font-size:16px}
  .in-calendar .calendar-agenda .task-ops .task-play{width:44px;min-width:44px}
  .focus-banner-inner{padding:3px 12px;gap:2px}
  .focus-banner-return{gap:7px;font-size:13px;padding:0;min-height:44px}
  .focus-banner-name{max-width:8ch}
  .focus-banner-return strong{font-size:14px}
  .focus-banner-label{font-size:11px}
  .focus-banner-actions .button{font-size:12px;padding:6px;min-width:40px}
  .focus-reminder{padding:8px 16px;gap:4px 8px}
  .focus-screen{padding:16px 20px max(24px,env(safe-area-inset-bottom));min-height:100svh}
  .focus-context h1{font-size:25px;line-height:1.6}
  .focus-subject{font-size:16px;margin-bottom:10px}
  .focus-plan{font-size:13px;margin-top:8px}
  .focus-top .link-button{font-size:13px}
  .focus-top .link-button:last-child{font-size:12px}
  .focus-context{margin-top:clamp(30px,7svh,64px)}
  .focus-state{font-size:16px;margin-bottom:24px}
  .focus-controls{gap:12px}
  .focus-controls>.button{font-size:16px;min-height:52px!important}
  .focus-summary .focus-context h1{font-size:23px}
  .focus-summary .focus-clock-field canvas{height:120px!important}
  .focus-segment{grid-template-columns:1fr}
  .subject-page-header>h1{font-size:27px}
  #personal-dialog[data-kind=task],#personal-dialog[data-kind=subject-choice],#personal-dialog[data-kind=focus-edit],#personal-dialog[data-kind=focus-records],#personal-dialog[data-kind=focus-options]{width:calc(100vw - 20px);margin:auto auto 10px;max-height:calc(100dvh - 20px);border-radius:12px 12px 6px 6px}
  .task-save-actions{display:flex;flex-direction:column;gap:8px}
  .task-save-actions>.button{min-height:46px;width:100%}
  .task-save-actions>.button:last-child{width:auto;align-self:center;border:0}
}
@media(max-height:650px) and (orientation:landscape){.focus-screen{min-height:100svh;padding:12px 28px}.focus-context{margin-top:8px}.focus-context h1{font-size:22px}.focus-subject,.focus-plan{margin:2px 0}.focus-clock-field canvas{height:180px!important}.focus-state{margin-bottom:8px}.focus-controls>.button{min-height:44px!important}}
@media(prefers-reduced-motion:reduce){.task-play,.focus-controls>.button{transition:none}}

/* Status-card workspace: a quiet calendar map and a distinct working surface. */
body.in-calendar{background:#fafbfc}
.in-calendar main{max-width:1200px;padding:24px 28px 48px}
.in-calendar .workspace-context{border:0;margin-bottom:20px;padding-bottom:0;gap:20px}
.in-calendar .workspace-context .workspace-goal h2{font-size:14px;font-weight:550}
.in-calendar .calendar-workspace{display:grid;grid-template-columns:minmax(372px,.85fr) minmax(0,1.15fr);gap:32px;align-items:start;background:transparent;border:0;border-radius:0;padding:0}
.in-calendar .study-calendar{background:#fff;border:1px solid #e6e9ed;border-radius:12px;padding:20px;min-width:0}
.in-calendar .calendar-toolbar{align-items:center;padding:0 0 18px}
.in-calendar .calendar-toolbar h2{display:flex;align-items:baseline;gap:10px;letter-spacing:0;line-height:1}
.calendar-year{font-size:13px;font-weight:450;color:var(--muted)}
.calendar-month{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.calendar-month>span{font-size:15px;font-weight:500;letter-spacing:0;margin-left:4px}
.in-calendar .calendar-toolbar .button,.in-calendar .calendar-toolbar .calendar-arrow{background:transparent}
.in-calendar .calendar-arrow{display:grid;place-items:center}
.calendar-next-icon{transform:rotate(180deg)}
.in-calendar .calendar-weekdays{height:34px;font-size:12px;margin:0}
.in-calendar .calendar-days{gap:3px;margin:0 0 12px}
.in-calendar .calendar-day{height:auto;min-height:44px;aspect-ratio:1;border-radius:3px;padding:8px 7px;background:#edf0f3;color:#526477}
.in-calendar .calendar-day.level-0{background:#edf0f3}
.in-calendar .calendar-day.level-1{background:#dceaf6}
.in-calendar .calendar-day.level-2{background:#b9d3e9}
.in-calendar .calendar-day.level-3{background:#729dc4;color:#173650}
.in-calendar .calendar-day.level-4{background:#245f9d;color:#fff}
.in-calendar .calendar-day.outside{background:transparent;color:#788898}
.in-calendar .calendar-day.selected{outline:2px solid var(--blue);outline-offset:-2px;color:var(--navy)}
.in-calendar .calendar-day.level-4.selected{color:#fff}
.in-calendar .calendar-day.today>span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.in-calendar .calendar-day.official-range{box-shadow:inset 0 2px 0 #9aafc0}
.in-calendar .calendar-metric{gap:12px;margin-top:8px;flex-wrap:nowrap}
.in-calendar .calendar-metric>span:first-child{font-size:12px;color:var(--muted);white-space:nowrap}
.in-calendar .calendar-range-key{font-size:11px;white-space:nowrap}
.in-calendar .calendar-agenda{padding:0;border:0;min-width:0;min-height:0;background:transparent}
.in-calendar .calendar-agenda>header{margin:0 2px 18px;padding:0;border:0;align-items:center;gap:12px}
.in-calendar .calendar-agenda>header p{font-size:12px;line-height:1.5;margin:0 0 4px}
.in-calendar .calendar-agenda>header h2{font-size:28px;line-height:1.35;font-weight:600;letter-spacing:-.6px}
.in-calendar .agenda-day-tools{display:flex;align-items:flex-end;flex-direction:column;gap:0;font-size:12px}
.in-calendar .agenda-focus-total{display:flex;gap:4px;flex-direction:column;align-items:flex-end;font-size:11px;min-height:44px;justify-content:center}
.in-calendar .agenda-focus-total strong{font-size:17px;font-weight:550;font-variant-numeric:tabular-nums}
.in-calendar .agenda-day-tools>.button{padding:2px 0;min-height:44px;border:0;background:none;font-size:12px}
.in-calendar .calendar-official{background:#f0f3f6;border-left:2px solid #9aafc0;border-radius:0 6px 6px 0;margin-bottom:14px}
.in-calendar .calendar-composer{background:#fff;border:1px solid #dfe4ea;border-radius:9px;padding:0 6px 0 12px;margin-bottom:18px}
.in-calendar .calendar-composer:focus-within{border-color:#245f9d;box-shadow:0 0 0 2px #245f9d0d}
.in-calendar .calendar-quick{border:0;background:transparent;padding:0;box-shadow:none;border-radius:0;margin:0;gap:8px}
.in-calendar .calendar-quick:focus-within{box-shadow:none}
.in-calendar .calendar-quick input{background:transparent;font-size:15px;min-width:0;min-height:48px}
.in-calendar .calendar-quick button{height:40px;width:40px;min-width:40px;border-radius:6px;font-size:24px}
.in-calendar .calendar-quick button img{filter:brightness(0) invert(1)}
.in-calendar .calendar-quick-course{display:grid;grid-template-columns:72px minmax(0,1fr);border-top:1px solid #edf0f3;margin:0;gap:8px;font-size:12px;padding:4px 0}
.in-calendar .calendar-quick-course select{font-size:14px;width:min(100%,280px);max-width:100%;min-width:0;min-height:44px;padding:7px 10px;border:1px solid #e0e6ed;border-radius:6px;background:#fff;color:var(--navy)}
.in-calendar .calendar-quick-course select:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;box-shadow:none}
.in-calendar .calendar-composer:has(.calendar-quick-course select:focus-visible){border-color:#dfe4ea;box-shadow:none}
.in-calendar .task-status-group{padding:6px;margin:0 0 12px;background:#f0f1f3;border-radius:14px;min-width:0}
.in-calendar .task-status-group>h3{display:flex;align-items:center;gap:8px;padding:10px 9px 12px;margin:0;font-size:12px;font-weight:550;letter-spacing:.04em;color:#5d6876}
.in-calendar .task-status-group>h3>img{opacity:.75}
.in-calendar .task-status-group--active>h3>img{opacity:1}
.focus-status-pixels{display:grid;grid-template-columns:repeat(24,3px);grid-template-rows:repeat(3,3px);gap:2px;margin-left:8px;flex-shrink:0;align-self:center}
.focus-status-pixels>i{position:relative;display:block;width:3px;height:3px;background:#cbd3dc}
.focus-status-pixels>i:after{content:'';position:absolute;inset:0;background:#3379bc;opacity:0}
.focus-status-pixels[data-state=running]>i:after{animation:focus-status-wave 2200ms ease-in-out infinite;animation-delay:calc(var(--pixel-col)*60ms + var(--pixel-row)*90ms)}
.focus-status-pixels[data-state=paused]>i:nth-child(8n):after{opacity:.4}
@keyframes focus-status-wave{0%,10%,60%,100%{opacity:0;transform:translateY(0)}25%,35%{opacity:1;transform:translateY(-1px)}45%{opacity:.45;transform:translateY(1px)}}
@media(prefers-reduced-motion:reduce){.focus-status-pixels[data-state=running]>i:after{animation:none;opacity:.5;transform:none}}
.in-calendar .task-status-cards{display:grid;gap:6px;min-width:0}
.in-calendar .task-status-empty{font-size:13px;color:#68727f;line-height:1.6;margin:0;padding:0 10px 12px}
.in-calendar .calendar-agenda .task-card{display:block;margin:0;padding:8px 12px 6px;background:#fff;border:1px solid #e0e4e9;border-radius:10px;box-shadow:0 1px 2px #0f172a08;min-width:0}
.in-calendar .calendar-agenda .task-card.is-active{border-color:#b9cce0}
.in-calendar .task-card-main{display:grid;grid-template-columns:32px minmax(0,1fr) 36px;gap:8px;align-items:start;min-width:0}
.in-calendar .task-card-content{min-width:0}
.in-calendar .calendar-agenda .task-card .task-complete{width:44px;min-height:44px;margin-left:-6px;align-self:start}
.in-calendar .task-mark{width:18px;height:18px;border-radius:4px}
.in-calendar .calendar-agenda .task-card .task-title{min-height:44px;padding:8px 0 2px;line-height:1.55;font-size:16px;font-weight:550;letter-spacing:0;color:#243548;text-decoration:none;overflow-wrap:anywhere}
.in-calendar .calendar-agenda .task-card.done .task-title{color:#536171;font-weight:500;text-decoration:none}
.in-calendar .task-card-subject{font-size:12px;line-height:1.7;color:#667382;margin:0 0 4px;overflow-wrap:anywhere}
.in-calendar .calendar-agenda .task-card .task-actions-menu{position:relative;justify-self:end}
.in-calendar .calendar-agenda .task-card .task-actions-menu>summary{display:grid;place-items:center;width:44px;min-width:44px;min-height:44px;margin:0 -6px 0 0;color:#718092}
.in-calendar .calendar-agenda .task-card .task-actions-menu>div{top:44px;bottom:auto;right:-4px;z-index:8}
.in-calendar .task-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 0 40px;min-width:0}
.in-calendar .task-card-insights{display:flex;align-items:center;gap:0 12px;flex-wrap:wrap;min-width:0}
.in-calendar .task-card-state{font-size:12px;color:#667382}
.in-calendar .task-focus-link{display:flex;align-items:center;gap:6px;padding:0;min-height:44px!important;font-size:12px;color:#68778a;line-height:1.6;text-align:left;border-radius:3px}
.in-calendar .task-focus-link>img{flex-shrink:0;opacity:.65}
.in-calendar .task-focus-link strong{font-weight:500;color:#425f7b;font-variant-numeric:tabular-nums;white-space:nowrap}
.in-calendar .calendar-agenda .task-record-link{margin:0;min-height:44px!important;font-size:12px;color:#68778a}
.in-calendar .calendar-agenda .task-card .task-play{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;width:auto;min-width:60px;height:44px;padding:0 7px;border:0;border-radius:6px;background:transparent;color:#3f607e;font-size:12px;transition:background-color 120ms ease,transform 120ms ease}
.in-calendar .task-card .task-play>img{padding:0;width:13px;height:13px}
.in-calendar .task-play:active{background:#e7eef6}
.in-calendar .calendar-quick-help{margin:6px 0 12px;border:0}
.in-calendar .calendar-quick-help>.button{font-size:12px}
.in-calendar .focus-subject-totals{margin-top:20px;padding-top:18px}
.in-calendar .focus-subject-totals h3{font-size:13px;font-weight:600}
@media(max-width:899px){
  .in-calendar .calendar-workspace{grid-template-columns:minmax(0,1fr);gap:28px}
  .in-calendar .calendar-agenda{padding:0 4px}
}
@media(max-width:599px){
  .in-calendar main{padding:8px 8px 32px}
  .in-calendar .workspace-context{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:0 8px;margin-bottom:12px;gap:0 12px;align-items:center}
  .in-calendar .workspace-context .workspace-goal{display:contents}
  .in-calendar .workspace-context .workspace-goal>div{grid-column:1/-1}
  .in-calendar .workspace-context .workspace-goal h2{font-size:13px;line-height:1.7;margin:2px 0 0}
  .in-calendar .workspace-context .workspace-goal>.link-button{grid-column:1;justify-self:start}
  .in-calendar .workspace-context-tools{gap:10px;grid-column:2;flex-direction:row;align-items:center}
  .in-calendar .workspace-context-tools>.link-button{min-height:44px}
  .in-calendar .workspace-context-tools>span{font-size:11px}
  .in-calendar .workspace-goal.is-empty>p{display:none}
  .in-calendar .calendar-workspace{gap:24px}
  .in-calendar .study-calendar{padding:16px 12px 4px;border-radius:10px}
  .in-calendar .calendar-toolbar{padding-bottom:12px;gap:4px}
  .in-calendar .calendar-toolbar h2{gap:8px;white-space:nowrap}
  .calendar-month{font-size:30px}
  .in-calendar .calendar-toolbar .button{padding:4px 7px;font-size:12px}
  .in-calendar .calendar-toolbar .calendar-arrow{width:44px;min-width:44px}
  .in-calendar .calendar-weekdays{margin-inline:-12px;height:30px}
  .in-calendar .calendar-days{margin-inline:-12px;gap:3px}
  .in-calendar .calendar-day{min-height:44px;padding:7px 6px 5px;aspect-ratio:1}
  .in-calendar .calendar-day>span{font-size:15px}
  .in-calendar .calendar-day>small{font-size:10px;min-height:10px}
  .in-calendar .calendar-metric{gap:12px;margin:4px -4px 0}
  .in-calendar .calendar-agenda{padding:0;scroll-margin-top:72px}
  .in-calendar .calendar-agenda>header{margin:0 6px 16px;gap:6px}
  .in-calendar .calendar-agenda>header h2{font-size:26px}
  .in-calendar .agenda-day-tools{align-items:flex-end;white-space:normal;text-align:right;font-size:11px}
  .in-calendar .agenda-focus-total{font-size:11px}
  .in-calendar .agenda-focus-total strong{font-size:15px}
  .in-calendar .calendar-composer{margin-bottom:16px}
  .in-calendar .calendar-quick-course{grid-template-columns:68px minmax(0,1fr)}
  .in-calendar .calendar-quick-course select{font-size:16px}
  .in-calendar .calendar-agenda .task-card{padding:6px 10px 4px}
  .in-calendar .task-card-main{grid-template-columns:28px minmax(0,1fr) 32px;gap:6px}
  .in-calendar .calendar-agenda .task-card .task-complete{margin-left:-8px}
  .in-calendar .task-card-footer{padding-left:34px;gap:4px}
  .in-calendar .task-card-insights{gap:0 8px}
  .in-calendar .task-focus-link{font-size:12px;gap:4px}
}
@media(hover:hover){.in-calendar .task-play:hover{background:#eaf0f6}.in-calendar .task-focus-link:hover{text-decoration:underline;text-underline-offset:3px}.in-calendar .task-card .task-title:hover{color:var(--blue)}}
@media(prefers-reduced-motion:reduce){.in-calendar .task-play{transition:none;transform:none}}
.task-focus-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%;padding:14px 16px;margin:0 0 18px;border:1px solid #dce7f0;background:#f3f7fb;border-radius:7px;color:#173650;text-align:left}
.task-focus-card>span{font-size:12px;color:#597287}
.task-focus-card>span:last-child{margin-left:auto}
.task-focus-card strong{font-size:19px;font-weight:600;color:#245f9d}
.task-focus-overview{display:flex;flex-direction:column;gap:8px;padding:4px 0 22px;border-bottom:1px solid var(--line)}
.task-focus-overview p{font-size:17px;line-height:1.65;overflow-wrap:anywhere}
.task-focus-overview strong{font-size:36px;color:#245f9d;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:1px}
.task-focus-overview>span{font-size:13px;color:var(--muted)}
.focus-ready-controls{grid-template-columns:1fr;max-width:320px}
.focus-ready-hint{font-size:12px;color:var(--muted);margin:12px 0 0;text-align:center}
.focus-ready .focus-state:before{background:#aebdca}

/* Selected workspace: a compact calendar column and a generous task surface. */
.header-goal[hidden]{display:none}
.in-study .topbar.dual-topbar{display:contents}
.in-study .topbar-in{display:grid;grid-template-columns:230px 184px minmax(0,1fr) auto;gap:24px;width:100%;max-width:1440px;min-height:84px;margin:auto;padding:12px 48px;background:#fff}
.in-study .header-identity{display:contents}
.in-study .brand{grid-column:1;grid-row:1;padding:0;min-width:0}
.in-study .brand small{letter-spacing:0}
.in-study .header-tools{grid-column:4;grid-row:1;margin:0;justify-content:flex-end}
.in-study .header-tools .saved-pill,.in-study .header-tools .checked{display:none}
.in-study .profile-button{border:0;background:none;box-shadow:none;min-width:44px;min-height:44px;padding:8px 0;color:var(--navy);font-size:14px}
.in-study .main-tabs{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:4px;position:static;padding:0;background:none;box-shadow:none;border:0;width:auto}
.in-study .main-tab{font-size:15px;min-height:44px;min-width:0;padding:8px 16px;text-align:center;color:var(--navy)}
.in-study .main-tab.active{font-weight:600;background:#edf3f8;border-color:#c6d8e8}
.in-study .header-goal{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:0;font-size:12px;color:var(--muted)}
.header-goal>button{border:0;background:none;padding:2px 0;min-height:44px;color:var(--navy);font-size:16px;font-weight:600;line-height:1.55;text-align:left;overflow-wrap:anywhere}
.header-goal-pending{font-size:14px;overflow-wrap:anywhere}
.in-study .header-goal>span:first-child{margin-bottom:-7px}
.in-study .subbar{width:100%;max-width:1440px;margin:auto;padding:0 48px;background:#fff;border-bottom:1px solid var(--line)}
.in-study #nav{display:flex;justify-content:flex-start;gap:18px;flex:1}
.in-study #nav .nav-item{flex:none;justify-content:center;min-width:56px;min-height:44px;padding:8px 10px;font-size:14px}
body.in-calendar{background:#f6f9fc}
.in-calendar.workspace-has-current #focus-banner{display:none}
.in-calendar .workspace{max-width:none}
.in-calendar main{width:100%;max-width:1440px;margin:auto;padding:28px 48px 56px}
.in-calendar .calendar-workspace{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:36px;max-width:none;margin:0;align-items:start}
.calendar-overview{min-width:0;padding:18px 16px;background:#fff;border:1px solid #e4ebf2;border-radius:10px}
.in-calendar .study-calendar{padding:0;border:0;border-radius:0;background:none;scroll-margin-top:16px}
.in-calendar .calendar-toolbar{padding:0 0 12px}
.in-calendar .calendar-toolbar h2{gap:7px}
.in-calendar .calendar-month{font-size:32px}
.in-calendar .calendar-toolbar>div{gap:0}
.in-calendar .calendar-toolbar .calendar-arrow{min-width:44px;width:44px}
.in-calendar .calendar-toolbar .button{font-size:12px;padding:4px}
.in-calendar .calendar-weekdays{height:34px;margin:0;font-size:12px}
.in-calendar .calendar-days{gap:3px;margin:0}
.in-calendar .calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:44px;aspect-ratio:1;padding:4px;border-radius:4px;background:#f0f3f6}
.in-calendar .calendar-day.level-0{background:#f0f3f6}
.in-calendar .calendar-day>span{font-size:14px;line-height:1.5}
.in-calendar .calendar-day>small{min-height:0;height:0;position:absolute;bottom:3px;font-size:8px;line-height:1}
.in-calendar .calendar-day.today>span{text-decoration:none;font-weight:650}
.in-calendar .calendar-day.selected{background:#245f9d;color:#fff;outline:0}
.in-calendar .calendar-day:focus-visible{outline:3px solid #2f6bd6;outline-offset:2px;z-index:1}
.in-calendar .calendar-day.outside{background:transparent;color:#7c8b9c}
.in-calendar .calendar-day.official-range{box-shadow:inset 0 2px 0 #b0c0ce}
.in-calendar .calendar-day.selected.official-range{box-shadow:none}
.in-calendar .calendar-metric{min-height:20px;margin:6px 0 0;justify-content:flex-end}
.in-calendar .calendar-metric>span:first-child{display:none}
.calendar-day-summary{margin-top:18px;padding:14px 16px;background:#f3f7fb;border-radius:7px}
.calendar-day-summary>p{font-size:13px;color:var(--navy)}
.calendar-day-summary>button{display:flex;align-items:flex-start;flex-direction:column;width:100%;min-height:72px;margin-top:6px;padding:0;border:0;background:none;text-align:left}
.calendar-day-summary strong{font-size:32px;font-weight:600;letter-spacing:-1px;line-height:1.4;color:var(--navy);font-variant-numeric:tabular-nums}
.calendar-day-summary button>span{font-size:12px;color:var(--muted)}
.in-calendar .focus-subject-totals{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--line);grid-row:3;min-width:0}
.focus-subject-totals>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:44px;gap:8px}
.focus-subject-totals>summary::-webkit-details-marker{display:none}
.in-calendar .focus-subject-totals h3{margin:0;font-size:13px;letter-spacing:0}
.focus-subject-totals>summary>img{transform:rotate(180deg)}
.focus-subject-totals[open]>summary>img{transform:rotate(-90deg)}
.in-calendar .focus-subject-totals li{grid-template-columns:minmax(76px,1fr) minmax(40px,1.25fr) auto;gap:10px;font-size:12px;padding:9px 0}
.in-calendar .focus-subject-totals strong{font-size:12px;color:var(--muted)}
.in-calendar .calendar-agenda{padding:0;border:0;min-height:0;scroll-margin-top:16px}
.in-calendar .calendar-agenda>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 18px;min-height:68px;margin:0 0 18px}
.in-calendar .calendar-agenda>header h2{font-size:28px;line-height:1.4;font-weight:600;letter-spacing:-.5px}
.in-calendar .calendar-agenda>header h2>span{font-size:20px;white-space:nowrap}
.in-calendar .agenda-day-tools{display:none}
.agenda-officials{min-width:0;align-self:center;max-width:100%}
.in-calendar .agenda-officials .calendar-official{margin:0;background:none;border:0;border-radius:0;font-size:12px;max-width:100%}
.in-calendar .agenda-officials .calendar-official>summary{padding:0;min-height:44px;gap:6px;align-items:center;flex-wrap:wrap}
.agenda-officials .official-status{font-size:12px;color:var(--muted)}
.agenda-officials .official-more,.agenda-officials .official-less{font-size:12px}
.in-calendar .agenda-officials .calendar-official>div{padding:4px 0 12px;max-width:280px}
.in-calendar .calendar-composer{padding:8px;margin:0 0 18px;border-color:#e1e9f1;border-radius:9px}
.in-calendar .calendar-quick{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,190px) auto;gap:10px;padding:0;align-items:stretch}
.in-calendar .calendar-quick input{min-height:46px;padding:8px 12px;border:1px solid #e1e9f1;border-radius:6px;font-size:14px}
.in-calendar .calendar-quick input:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.in-calendar .calendar-quick-course{display:block;margin:0;padding:0;border:0;min-width:0}
.in-calendar .calendar-quick-course select{width:100%;height:100%;min-height:46px;font-size:14px;padding:7px 10px;color:var(--muted)}
.in-calendar .calendar-quick button{display:flex;gap:7px;align-items:center;justify-content:center;width:auto;height:auto;min-height:46px;padding:8px 14px;background:var(--blue);font-size:14px;white-space:nowrap}
.in-calendar .task-status-group{border-radius:10px;padding:8px;margin-bottom:18px;background:#edf2f6}
.in-calendar .task-status-group>h3{display:block;padding:0;margin:0}
.task-group-toggle{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;border:0;background:none;padding:4px 8px;text-align:left;color:var(--navy);font-size:14px;font-weight:550;border-radius:5px}
.task-group-toggle .task-group-chevron{margin-left:auto;transform:rotate(180deg);transition:transform 150ms ease}
.task-group-toggle[aria-expanded=true] .task-group-chevron{transform:rotate(-90deg)}
.task-group-toggle>img,.task-group-toggle>span:first-of-type{flex-shrink:0}
.task-group-pixels:not(.sr-only){display:flex;flex:0 1 auto;flex-wrap:wrap;gap:4px;min-width:0;margin-left:2px;padding-block:3px}
.task-group-pixels>i{display:block;width:6px;height:6px;flex:0 0 6px;background:var(--blue)}
.task-status-cards[hidden]{display:none!important}
.in-calendar .task-status-cards{gap:8px;padding-top:2px}
.in-calendar .task-status-empty{padding:8px 8px 12px}
.in-calendar .calendar-agenda .task-card{padding:10px 12px 6px;border-radius:8px;border-color:#e0e8f0;box-shadow:none}
.in-calendar .calendar-agenda .task-card.is-active{border-color:#bfd7eb}
.in-calendar .task-card-main{grid-template-columns:32px minmax(0,1fr) 36px;gap:8px}
.in-calendar .calendar-agenda .task-card .task-title{font-size:16px;color:var(--navy);font-weight:600;padding:7px 0 1px}
.in-calendar .task-card-subject{display:block;margin:3px 0 0;font-size:12px;font-weight:400;color:#657b90}
.in-calendar .task-card-footer{padding-left:40px;min-height:44px}
.in-calendar .calendar-agenda .task-card .task-play{font-size:13px;color:var(--blue);padding:0 8px}
.in-calendar .calendar-agenda .task-card.is-active .task-play{border:1px solid #c8def0;background:#f6faff;padding:0 12px}
.task-inline-clock{min-width:0;max-width:280px;margin:6px 0 4px 40px}
.task-inline-clock canvas{width:100%!important;height:72px!important;max-width:280px!important}
.in-calendar .calendar-quick-help{justify-content:flex-end;gap:20px;margin:0 8px 14px}
@media(min-width:1200px){
  .in-calendar .task-card.is-active{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px 124px;column-gap:12px;align-items:center}
  .in-calendar .task-card.is-active .task-card-main{grid-column:1;grid-row:1}
  .task-card.is-active .task-inline-clock{grid-column:2;grid-row:1/span 2;margin:0;width:240px}
  .in-calendar .task-card.is-active .task-card-footer{display:contents}
  .in-calendar .task-card.is-active .task-card-insights{grid-column:1;grid-row:2;min-height:44px;padding-left:40px}
  .in-calendar .calendar-agenda .task-card.is-active .task-play{grid-column:3;grid-row:1/span 2;align-self:center;justify-self:end}
  .in-calendar .calendar-agenda .task-card.is-active .task-actions-menu{position:absolute;right:4px;top:0}
}
@media(min-width:900px){
  .in-study .brand strong{font-size:18px}
  .in-study .main-tab{font-size:16px}
  .in-study .header-goal>button{font-size:18px}
  .in-calendar .calendar-agenda>header h2{font-size:32px}
  .in-calendar .calendar-agenda>header h2>span{font-size:21px}
  .in-calendar .task-group-toggle{font-size:16px}
  .in-calendar .calendar-agenda .task-card .task-title{font-size:18px}
  .in-calendar .task-card-subject{font-size:14px}
  .in-calendar .task-focus-link,.in-calendar .calendar-agenda .task-record-link{font-size:13px}
  .calendar-day-summary strong{font-size:34px}
  .in-calendar .focus-subject-totals h3{font-size:14px}
  .in-calendar .focus-subject-totals li,.in-calendar .focus-subject-totals strong{font-size:14px}
  .in-calendar .calendar-day>span{font-size:15px}
}
@media(min-width:900px) and (max-width:1199px){
  .in-study .topbar-in{grid-template-columns:190px 164px minmax(0,1fr) auto;gap:16px;padding-inline:24px}
  .in-study .subbar{padding-inline:24px}
  .in-calendar main{padding-inline:24px}
  .in-calendar .calendar-workspace{grid-template-columns:348px minmax(0,1fr);gap:24px}
  .calendar-overview{padding-inline:10px}
  .in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) auto}
  .in-calendar .calendar-quick input{grid-column:1/-1}
  .in-calendar .calendar-agenda>header{grid-template-columns:1fr;gap:0;min-height:76px}
}
@media(max-width:899px){
  .in-study .topbar-in{position:sticky;top:-52px;z-index:25;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:52px 44px auto;gap:0 12px;max-width:none;padding:0 16px 8px;min-height:0;border-bottom:1px solid var(--line)}
  .in-study .brand{grid-column:1;grid-row:1}
  .in-study .brand small{display:none}
  .in-study .header-tools{grid-column:2;grid-row:1}
  .in-study .main-tabs{grid-column:1/-1;grid-row:2;gap:4px;min-width:0}
  .in-study .main-tab{padding:6px 12px;min-height:44px}
  .in-study .header-goal{grid-column:1/-1;grid-row:3;flex-direction:row;align-items:baseline;gap:10px;padding-top:5px}
  .in-study .header-goal>span:first-child{margin:0;flex-shrink:0;font-size:12px}
  .header-goal>button{font-size:14px;min-height:44px;line-height:1.6;padding:8px 0}
  .in-study .subbar{padding:0 16px}
  .in-study #nav{gap:12px}
  .in-study #nav .nav-item{min-width:56px}
  .in-calendar main{padding:20px 16px 40px;max-width:652px}
  .in-calendar .calendar-workspace{display:flex;flex-direction:column;gap:20px;max-width:none;align-items:stretch}
  .calendar-overview{display:contents}
  .in-calendar .study-calendar{order:0;background:#fff;padding:16px;border:1px solid #e3eaf2;border-radius:9px}
  .in-calendar .calendar-days{margin:0;gap:3px}
  .in-calendar .calendar-day{min-height:44px}
  .calendar-day-summary{display:none}
  .in-calendar .calendar-agenda{order:1;padding:0;scroll-margin-top:110px}
  .in-calendar .focus-subject-totals{order:2;margin:0;padding:8px 12px;background:#fff;border:1px solid #e3eaf2;border-radius:8px}
  .in-calendar .focus-subject-totals li{font-size:13px}
  .in-calendar .calendar-agenda>header{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:0 0 12px;min-height:0}
  .in-calendar .calendar-agenda>header h2{grid-column:1;grid-row:1;font-size:22px;align-self:center}
  .in-calendar .calendar-agenda>header h2>span{font-size:14px}
  .in-calendar .agenda-officials{grid-column:2;grid-row:1;max-width:124px;align-self:center}
  .in-calendar .agenda-officials .calendar-official>summary{font-size:12px;gap:4px;min-height:44px;justify-content:flex-end}
  .in-calendar .agenda-officials .calendar-official>summary strong{flex:0 1 auto;min-width:0;font-size:12px}
  .in-calendar .agenda-officials .calendar-official .official-status{flex-shrink:0}
  .in-calendar .agenda-officials .official-more,.in-calendar .agenda-officials .official-less{display:none}
  .in-calendar .agenda-officials .calendar-official>div{max-width:124px;overflow-wrap:anywhere}
  .in-calendar .agenda-day-tools{display:flex;grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:space-between;align-items:center;gap:12px}
  .in-calendar .agenda-focus-total{align-items:flex-start;justify-content:center;padding:0;min-height:64px;font-size:12px}
  .in-calendar .agenda-focus-total strong{font-size:30px;line-height:1.4;letter-spacing:-.8px}
  .in-calendar .agenda-day-tools>.button{font-size:13px;min-height:44px}
  .in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .in-calendar .calendar-quick input{grid-column:1/-1;min-height:44px;font-size:16px}
  .in-calendar .calendar-quick-course select{min-height:44px;font-size:16px}
  .in-calendar .calendar-quick button{min-height:44px;padding:7px 12px;font-size:14px}
  .in-calendar .calendar-composer{padding:4px;margin-bottom:16px}
  .in-calendar .task-card-main{grid-template-columns:28px minmax(0,1fr) 32px;gap:6px}
  .in-calendar .calendar-agenda .task-card{padding:8px 10px 6px}
  .in-calendar .task-card-footer{padding-left:34px;flex-wrap:wrap;gap:0 8px}
  .in-calendar .task-card-insights{flex:1;gap:0 8px}
  .in-calendar .task-card.is-active .task-record-link{display:none}
  .in-calendar .task-card.is-active .task-focus-link>img{display:none}
  .in-calendar .task-status-group{padding:4px;margin-bottom:8px}
  .task-inline-clock{margin-left:34px;max-width:280px}
  .task-inline-clock canvas{height:64px!important}
  .focus-status-pixels{grid-template-columns:repeat(24,2px);grid-template-rows:repeat(3,2px);gap:1px;margin-left:3px}
  .focus-status-pixels>i{width:2px;height:2px}
}
@media(max-width:399px){
  .in-calendar main{padding-inline:8px}
  .in-calendar .study-calendar{padding:12px 8px}
  .in-calendar .calendar-days{margin-inline:-8px}
  .in-calendar .calendar-weekdays{margin-inline:-8px}
  .in-calendar .calendar-toolbar h2{gap:5px}
  .in-calendar .calendar-day{min-height:44px}
  .in-calendar .calendar-day>span{font-size:14px}
  .in-calendar .calendar-toolbar .calendar-arrow{width:44px;min-width:44px}
  .in-calendar .calendar-month{font-size:28px}
}
@media(min-width:600px) and (max-width:899px){
  .in-calendar .study-calendar{width:100%;max-width:520px;align-self:center}
}
@media(max-width:599px){
  .in-calendar .calendar-days,.in-calendar .calendar-weekdays{width:min(326px,calc(100% + 16px));max-width:none;margin-inline:calc((100% - min(326px,calc(100% + 16px)))/2)}
}
@media(prefers-reduced-motion:reduce){.task-group-toggle .task-group-chevron{transition:none}}

/* Connected study workspace: the task owns its notes and actual focus history. */
.calendar-picker-button{display:none}
.workspace-starters{margin:-6px 0 16px;color:var(--muted);font-size:13px}
.workspace-starters>summary{cursor:pointer;width:max-content;min-height:44px;padding:10px 4px;color:var(--blue)}
.study-subject-starters{padding:16px;background:#fff;border:1px solid var(--line);border-radius:8px;min-width:0}
.study-subject-starters h2{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--navy)}
.subject-starter-options{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.subject-starter-options .button{min-height:44px;max-width:100%;white-space:normal;font-size:13px;padding:6px 10px;text-align:left}
.subject-starter-options .button.primary{background:#edf4fb;color:var(--blue);border-color:#84a9ca}
.study-subject-starters .task-suggestions{margin:0}
.study-subject-starters .task-suggestions>div{display:flex;flex-wrap:wrap;gap:6px}
.study-subject-starters .task-suggestions .button{min-height:44px;font-size:13px;white-space:normal}
.study-subject-starters>.study-meta{margin-top:12px;font-size:12px}
.notes-back{min-height:44px;margin-bottom:12px}
.goal-impact{margin:14px 0;padding-top:12px;border-top:1px solid #d7e3ed}
.goal-impact h4{font-size:13px;margin:0 0 8px}
.goal-impact>p{display:flex;flex-direction:column;gap:2px;margin:6px 0;font-size:13px}
.goal-impact>p>span{font-size:12px;color:var(--muted)}
#task-detail-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,calc(100vw - 24px));max-width:none;height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);box-shadow:-12px 0 52px #1736501a;overflow:hidden}
html.task-detail-open{overflow:hidden;scrollbar-gutter:stable}
#task-detail-dialog[open]{display:flex;flex-direction:column}
#task-detail-dialog::backdrop{background:#17365033}
.task-detail-shell-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;min-height:64px;padding:8px 24px;border-bottom:1px solid var(--line)}
.task-detail-shell-head h2{font-size:14px;font-weight:500;color:var(--muted)}
.task-detail-shell-head>button{min-width:44px;min-height:44px;padding:8px 0;font-size:14px}
#task-detail-body{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:24px 24px calc(24px + env(safe-area-inset-bottom))}
.task-detail-view{min-width:0}
.task-detail-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}
.task-detail-heading{min-width:0;width:100%}
.task-detail-subject{font-size:13px;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}
.task-detail-heading h2{font-size:25px;line-height:1.5;letter-spacing:-.3px;margin:0 0 10px;overflow-wrap:anywhere}
.task-detail-heading>.study-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;margin:0}
.task-detail-status{color:var(--blue)}
.task-detail-view .button{min-height:44px;font-size:13px;white-space:normal}
.task-detail-complete{padding:6px 10px;gap:8px}
.task-detail-focus{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);background:#f6f9fc;border-radius:8px}
.task-detail-total{display:flex;flex-direction:column;gap:2px;min-width:0}
.task-detail-total>span{font-size:12px;color:var(--muted)}
.task-detail-total>strong{font-size:30px;line-height:1.4;font-weight:600;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--navy)}
.task-detail-primary{min-width:116px;padding:10px 14px;flex-shrink:0}
.task-detail-primary img{filter:brightness(0) invert(1)}
.task-detail-more{display:block;margin:8px 0 16px;text-align:right}
.task-detail-more>summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:6px 0;font-size:12px;color:var(--muted);list-style:none;cursor:pointer}
.task-detail-more>summary::-webkit-details-marker{display:none}
.task-detail-more>div{text-align:left}
.task-detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.task-detail-section-heading h3{font-size:15px;font-weight:600;margin:0}
.task-detail-section-heading .button{border:0;background:none;color:var(--blue);padding:7px 0;font-size:13px}
.task-detail-note{padding:12px 0;border-bottom:1px solid var(--line);background:none}
.task-detail-note .note-body{font-size:14px;line-height:1.85;margin:2px 0 8px}
.task-detail-note .study-note-footer{gap:8px;align-items:flex-start}
.task-detail-note .study-note-meta{font-size:12px}
.task-detail-note .study-note-meta time{font-size:11px}
.task-detail-view .task-detail-note-edit{font-size:12px!important;padding:5px 0!important;white-space:nowrap}
.task-detail-notes-empty{padding:12px 0 18px;font-size:13px}
.task-detail-history{margin-top:24px;border-top:1px solid var(--line);padding-top:8px}
.task-detail-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 0;cursor:pointer;color:var(--navy);font-size:14px}
.task-detail-history>summary>span:last-child{font-size:12px;color:var(--muted)}
.task-detail-history-body{padding-top:6px}
.task-detail-session{align-items:flex-start;gap:12px}
.task-detail-session h4{font-size:13px;margin:0 0 5px;font-weight:600}
.task-detail-session p{font-size:12px}
.task-detail-intervals{padding:0;margin:10px 0 0;list-style:none}
.task-detail-interval{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;margin-top:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.task-detail-interval>span:first-child{grid-column:1;grid-row:1/3}
.task-detail-interval>time{grid-column:2;overflow-wrap:anywhere}
.task-detail-interval>span[aria-hidden]{display:none}
.task-detail-session .button{font-size:12px;min-width:64px;padding:7px}
.task-detail-history-body>.study-meta{font-size:12px;margin:12px 0 0}
.day-review>p{font-size:13px;color:var(--muted);line-height:1.8}
.day-review-total{display:block;font-size:40px;font-weight:600;color:var(--navy);margin:6px 0 18px;font-variant-numeric:tabular-nums}
.day-review h3{font-size:15px;margin:22px 0 6px}
.day-review-subjects p{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:13px}
.day-review-subjects p>strong{font-weight:500;white-space:nowrap}
.day-review-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.day-review-task>div{min-width:0}
.day-review-task>div>button{min-height:44px;padding:6px 0;text-align:left;font-size:14px;overflow-wrap:anywhere}
.day-review-task p{font-size:12px;color:var(--muted)}
.day-review-task>strong{font-size:14px;font-weight:500;white-space:nowrap}
.day-review>.study-meta{margin-top:18px}
@media(max-width:899px){
  .calendar-overview.is-month-collapsed{display:none}
  .in-calendar .calendar-picker-button{display:flex;align-items:center;gap:6px;grid-column:2;grid-row:1;min-height:44px;min-width:44px;padding:6px 4px;background:none;border:0;color:var(--blue);font-size:13px}
  .in-calendar .agenda-officials{grid-column:1/-1;grid-row:2;justify-self:start;max-width:none}
  .in-calendar .agenda-officials .calendar-official>summary{justify-content:flex-start;min-height:32px}
  .in-calendar .agenda-officials .calendar-official>div{max-width:none}
  .in-calendar .agenda-day-tools{grid-row:3;margin:4px 0 0}
  .in-calendar .agenda-focus-total{flex-direction:row;align-items:center;gap:10px;min-height:44px}
  .in-calendar .agenda-focus-total strong{font-size:23px;letter-spacing:-.4px}
  .in-calendar .agenda-day-tools>.button{display:none}
  .in-calendar .calendar-composer{margin-bottom:6px}
  .workspace-starters{margin:0 0 10px}
  .study-subject-starters{padding:12px}
  #task-detail-dialog{inset:auto 0 0;width:100%;max-width:100%;height:auto;max-height:92dvh;min-height:70dvh;margin:0;border:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0}
  .task-detail-shell-head{padding:6px 20px;min-height:56px}
  #task-detail-body{padding:20px 20px calc(24px + env(safe-area-inset-bottom))}
  .task-detail-heading h2{font-size:23px}
  .task-detail-focus{padding:14px;gap:12px}
  .task-detail-total>strong{font-size:28px}
  .task-detail-primary{min-width:108px;padding:9px 12px}
  .task-detail-session{flex-direction:column}
  .task-detail-session>.button{align-self:flex-end}
}
@media(min-width:600px) and (max-width:899px){#task-detail-dialog{inset:0 0 0 auto;margin:0;width:min(480px,90vw);height:100dvh;max-height:100dvh;border-radius:0;border-left:1px solid var(--line)}}
@media(prefers-reduced-motion:no-preference){#task-detail-dialog[open]{animation:task-detail-enter 150ms ease-out}@keyframes task-detail-enter{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}}

/* 2026-10-20: a compact planner, with explicit actions and real time intervals. */
.in-calendar{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:#263440}
.in-calendar .calendar-agenda>header{min-height:0;margin-bottom:8px;align-items:center;gap:6px 14px}
.in-calendar .calendar-agenda>header h2{font-size:26px;line-height:1.35;letter-spacing:-.45px;font-weight:650}
.in-calendar .calendar-agenda>header h2>span{font-size:15px;font-weight:450;color:#677684}
.in-calendar .agenda-day-tools{display:none!important}
.planner-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:4px 0 8px;min-width:0}
.planner-scale{display:flex;flex-shrink:0;align-items:center;gap:2px;padding:3px;background:#edf1f5;border-radius:8px}
.planner-scale>button{min-height:38px;min-width:56px;padding:6px 9px;border:0;border-radius:6px;background:none;color:#697782;font:inherit;font-size:13px;white-space:nowrap}
.planner-scale>button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 1px 3px #17365016;font-weight:600}
.planner-navigation{display:flex;align-items:center;flex-shrink:0;gap:0}
.planner-navigation>button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px;border:0;background:none;color:#50677a;font:inherit;font-size:13px}
.planner-next-icon{transform:rotate(180deg)}
.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:2px 0 10px;border-bottom:1px solid #e1e7ed;margin-bottom:8px}
.planner-week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-width:0;min-height:60px;padding:5px 2px 9px;border:0;background:#f0f3f6;border-radius:7px;color:#5e6e7d;font:inherit}
.planner-week-day>span{font-size:11px;line-height:1.4}
.planner-week-day>strong{font-size:18px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums}
.planner-week-day>i{position:absolute;bottom:5px;width:3px;height:3px;background:currentColor;border-radius:50%}
.planner-week-day.selected{background:#245f9d;color:white}
.planner-week-day[aria-current=date]:not(.selected){box-shadow:inset 0 0 0 1px #8daac5}
.planner-feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;border-bottom:1px solid #e0e7ed}
.planner-feed-switch{display:flex;gap:16px;min-width:0}
.planner-feed-switch>button{display:flex;align-items:center;justify-content:center;gap:5px;position:relative;min-height:44px;padding:6px 0;border:0;background:none;color:#6a7782;font:inherit;font-size:14px;white-space:nowrap}
.planner-feed-switch>button[aria-pressed=true]{color:var(--navy);font-weight:600;box-shadow:inset 0 -2px 0 var(--blue)}
.planner-daily-total{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 0;border:0;background:none;font:inherit;color:#60758a;white-space:nowrap}
.planner-daily-total>strong{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--navy)}
.planner-daily-total>span{font-size:12px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.planner-period-note{font-size:12px;line-height:1.6;color:#697988;margin:2px 0 12px}
.planner-task-view[hidden]{display:none!important}
.in-calendar .calendar-composer{padding:0;margin-bottom:4px;background:none;border:0;box-shadow:none}
.in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) minmax(110px,165px) auto;gap:6px;padding:0;background:none;border:0}
.in-calendar .calendar-quick input{font-size:14px;background:#fff;border:1px solid #dce4eb;min-height:44px;border-radius:6px}
.in-calendar .calendar-quick-course select{min-height:44px;font-size:13px;background:#fff;border-color:#dce4eb;color:#526677}
.in-calendar .calendar-quick button{min-height:44px;padding:6px 12px;font-size:13px}
.workspace-starters{margin:0 0 5px}
.workspace-starters>summary{min-height:36px;font-size:12px;padding:4px 0}
.in-calendar .task-status-group{padding:0;margin:0 0 10px;background:#eef2f5;border:1px solid #e5eaf0;border-radius:9px;overflow:visible}
.in-calendar .task-group-toggle{min-height:44px;padding:5px 12px;gap:7px;font-size:13px;font-weight:550}
.in-calendar .task-status-cards{display:block;padding:0;background:#fff;border-radius:0 0 8px 8px}
.in-calendar .calendar-agenda .study-task.task-card{display:block!important;position:relative;padding:9px 10px 9px 8px;margin:0;border:0;border-bottom:1px solid #e5eaf0;border-radius:0;background:#fff;box-shadow:none}
.in-calendar .task-status-cards>.task-card:last-child{border-bottom:0;border-radius:0 0 8px 8px}
.in-calendar .calendar-agenda .study-task.task-card.is-active{background:#f8fbfe;border:0;border-bottom:1px solid #d9e7f3}
.in-calendar .calendar-agenda .task-card .task-card-main{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:4px;align-items:center}
.in-calendar .calendar-agenda .task-card .task-complete{grid-column:1;grid-row:1;align-self:start;min-width:44px;width:44px;min-height:44px;margin:-2px 0 0 -6px}
.in-calendar .calendar-agenda .task-card .task-mark{width:18px;height:18px;border-radius:5px;border-color:#a5b5c4}
.in-calendar .task-card-content{grid-column:2;min-width:0}
.in-calendar .calendar-agenda .task-card .task-title{display:block;min-height:0;margin:0;padding:1px 0;font-size:16px;font-weight:580;line-height:1.45;letter-spacing:0;color:#253442;text-decoration:none;overflow-wrap:anywhere;cursor:default}
.in-calendar .calendar-agenda .task-card.done .task-title{color:#73808b;font-weight:500;text-decoration:line-through;text-decoration-color:#a5afb9}
.in-calendar .task-card-subject{margin:3px 0 0;font-size:12px;line-height:1.5;font-weight:400;color:#6b7a87;overflow-wrap:anywhere}
.in-calendar .task-card-insights{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;grid-area:auto!important;min-height:0!important;padding:0!important;margin:4px 0 0;font-size:12px;line-height:1.45;color:#6b7a87}
.task-focus-duration{display:inline-flex;align-items:center;gap:4px}
.task-focus-duration>strong{font-weight:450;font-variant-numeric:tabular-nums}
.in-calendar .task-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:0;min-width:0}
.in-calendar .task-detail-trigger{display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:50px;min-height:44px;padding:5px 3px;border:0;border-radius:5px;background:transparent;color:#536d86;font:inherit;font-size:12px;white-space:nowrap}
.in-calendar .calendar-agenda .task-card .task-play,.in-calendar .calendar-agenda .task-card.is-active .task-play{position:static;grid-area:auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:44px;height:44px;min-width:52px;width:auto;padding:5px 4px;border:0;background:none;font-size:12px;color:var(--blue)}
.in-calendar .task-card .task-inline-clock,.in-calendar .task-card.is-active .task-inline-clock{position:static;grid-area:auto;margin:2px 0 0 36px;width:min(240px,calc(100% - 40px));max-width:240px}
.in-calendar .task-inline-clock canvas{width:100%!important;max-width:240px!important;height:48px!important}
.in-calendar .calendar-quick-help{margin:4px 0 12px;gap:18px;min-height:44px}
.in-calendar .calendar-quick-help>button{min-height:44px}
.in-calendar .unplanned-task{padding:0;border:0}
.in-calendar .calendar-backlog .task-card{border-bottom:1px solid var(--line)!important}
.in-calendar .unplanned-task>.button{margin-left:36px;min-height:44px}
.task-detail-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.task-detail-schedule{color:var(--blue)}
.focus-timeline{padding:0 16px;background:#fff;border:1px solid #e1e7ed;border-radius:9px}
.focus-timeline-heading{font-size:13px;font-weight:550;line-height:1.5;padding:14px 0 4px;margin:0;color:#6a7b88}
.focus-timeline-list{list-style:none;padding:0;margin:0}
.focus-timeline-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:13px 0;border-bottom:1px solid #e5eaf0}
.focus-timeline-item:last-child{border-bottom:0}
.focus-timeline-copy{min-width:0}
.focus-timeline-title{display:block;font-size:15px;font-weight:550;line-height:1.5;color:#283746;overflow-wrap:anywhere}
.focus-timeline-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:13px;color:#5c7388;line-height:1.5;margin-top:3px;font-variant-numeric:tabular-nums}
.focus-timeline-subject{font-size:12px;color:#78848e;margin-top:3px}
.focus-timeline-duration{margin-left:5px;color:#76838e;font-size:12px}
.focus-timeline-action{min-height:44px;min-width:48px;padding:6px 4px;border:0;background:none;color:var(--blue);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.focus-timeline-empty{font-size:14px;line-height:1.6;color:#778693;padding:24px 0}
.focus-timeline-current{font-size:11px;color:var(--blue)}
@media(min-width:1200px){.in-calendar .task-card .task-card-content{max-width:none}.in-calendar .calendar-agenda .task-card .task-title{font-size:16px}.in-calendar .task-row-actions{gap:8px}.in-calendar .task-detail-trigger,.in-calendar .calendar-agenda .task-card .task-play{font-size:13px;min-width:58px}.in-calendar .planner-week{max-width:none}.in-calendar .calendar-agenda>header h2{font-size:28px}}
@media(max-width:899px){.in-calendar .calendar-agenda>header{grid-template-columns:minmax(0,1fr) auto;margin:0 0 5px;gap:2px}.in-calendar .calendar-agenda>header h2{font-size:23px}.in-calendar .calendar-picker-button{font-size:12px}.in-calendar .agenda-officials{display:none}.in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) auto;gap:5px}.in-calendar .calendar-quick input{grid-column:1/-1;min-height:44px;font-size:16px}.in-calendar .calendar-quick-course select{min-height:44px;font-size:16px}.in-calendar .calendar-quick button{min-height:44px}.in-calendar .calendar-overview .calendar-day-summary{display:none}.in-calendar .calendar-agenda .study-task.task-card{padding:8px 8px 8px 5px}.in-calendar .task-status-group{margin-bottom:8px}.in-calendar .calendar-agenda .task-card .task-title{font-size:15px}.in-calendar .calendar-agenda .task-card .task-card-main{grid-template-columns:29px minmax(0,1fr) auto;gap:2px}.in-calendar .task-card-subject{font-size:12px}.in-calendar .task-row-actions{flex-direction:column}.in-calendar .task-detail-trigger,.in-calendar .calendar-agenda .task-card .task-play{min-width:50px}.in-calendar .task-card .task-inline-clock{margin-left:32px}.in-calendar .focus-subject-totals{margin-top:8px}.planner-week{gap:3px}.planner-scale>button{min-height:38px;min-width:55px;padding:6px 8px}.planner-toolbar{margin:1px 0 4px}.focus-timeline{padding:0 12px}}
@media(max-width:374px){.planner-scale>button{min-width:52px;padding-inline:6px}.planner-navigation>button{min-width:42px}.planner-week{gap:2px}.planner-week-day{min-height:58px}.planner-feed-switch{gap:12px}.planner-feed-switch>button{font-size:13px}}
@media(hover:hover){.in-calendar .task-detail-trigger:hover,.in-calendar .task-play:hover,.planner-navigation>button:hover{background:#e7eff7}.planner-scale>button:hover{color:var(--navy)}}
@media(prefers-reduced-motion:reduce){.planner-week-day,.planner-scale>button{transition:none}}
.in-calendar .task-detail-trigger{background:#f3f7fb;border:1px solid #dce5ee;color:var(--blue);padding:5px 4px;min-width:54px}
.in-calendar .task-row-actions{gap:2px}
.focus-timeline-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.focus-timeline-running{font-size:11px;color:var(--blue)}
.in-calendar .planner-period-info{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#71818e;margin:4px 0 12px}
.planner-period-info strong{font-size:16px;font-weight:600;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}
.planner-range-summary{display:flex;flex-direction:column;gap:3px;padding:8px 0 0}
.planner-range-summary>span{font-size:12px;color:var(--muted)}
@media(max-width:899px){.in-calendar .agenda-officials{display:block;grid-column:1/-1;margin-bottom:1px}.in-calendar .agenda-officials .calendar-official>summary{min-height:28px;font-size:11px}.in-calendar .planner-scale>button{min-height:44px}.in-calendar .planner-navigation>button{min-width:44px}}
@media(min-width:600px) and (max-width:899px){.in-calendar .task-row-actions{flex-direction:row;gap:8px}.in-calendar .calendar-agenda .task-card .task-title{font-size:16px}.in-calendar .calendar-agenda .study-task.task-card{padding-block:10px}}
.in-calendar .task-restore{color:var(--blue);border:0;background:none}
@media(max-width:599px){
  .in-calendar .task-row-actions{flex-direction:row;gap:2px}
  .in-calendar .calendar-agenda .task-card .task-title{font-size:16px}
  .in-calendar .planner-view-day .task-card-subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) 112px 44px;gap:5px}
  .in-calendar .calendar-quick input{grid-column:auto;min-width:0;padding-inline:10px}
  .in-calendar .calendar-quick-course select{min-width:0;width:100%;padding-inline:6px}
  .in-calendar .calendar-quick button{min-width:44px;width:44px;padding:6px}
  .in-calendar .calendar-quick button>span{display:none}
}
@media(min-width:600px) and (max-width:899px){.in-calendar .calendar-quick{grid-template-columns:minmax(0,1fr) minmax(120px,160px) auto}.in-calendar .calendar-quick input{grid-column:auto;min-width:0}.in-calendar .calendar-quick-course select{min-width:0}}
.in-calendar .agenda-officials .official-more{display:inline;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.in-calendar .agenda-officials .official-less{display:none;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.in-calendar .agenda-officials .calendar-official[open] .official-more{display:none}
.in-calendar .agenda-officials .calendar-official[open] .official-less{display:inline}
@media(min-width:900px){.in-calendar .planner-week{display:none}.in-calendar .planner-daily-total{display:none}.in-calendar .planner-period-info>span:last-child{display:none}}
@media(min-width:1200px){
  .in-calendar .calendar-agenda .study-task.task-card.is-active{display:grid!important;grid-template-columns:32px minmax(0,1fr) 220px 116px;gap:8px;align-items:center}
  .in-calendar .calendar-agenda .task-card.is-active .task-card-main{display:contents!important}
  .in-calendar .calendar-agenda .task-card.is-active .task-complete{grid-column:1;grid-row:1}
  .in-calendar .task-card.is-active .task-card-content{grid-column:2;grid-row:1}
  .in-calendar .task-card.is-active .task-row-actions{grid-column:4;grid-row:1}
  .in-calendar .task-card.is-active .task-inline-clock{grid-column:3;grid-row:1;margin:0;width:220px;max-width:220px}
}

/* Public site registration; retained on the home and query/study pages. */
body .footer .footer-filing{flex:0 0 100%;min-width:0;text-align:center;padding-top:6px;font-size:12px;font-weight:400}
body .footer .footer-filing a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin:0!important;color:var(--muted);overflow-wrap:anywhere}
