:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#20211f;background:#f4f3ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit}:focus-visible{outline:2px solid #3f7b67;outline-offset:2px}.skip-link{position:absolute;left:16px;top:8px;z-index:100;padding:10px 14px;border-radius:8px;background:#263c35;color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.site-header{width:min(1120px,calc(100% - 32px));margin:0 auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,33,31,.12)}.site-header nav{display:flex;gap:20px}.site-header nav a{text-decoration:none;color:#696b66}.site-header nav a.active{color:#20211f}.brand{font-weight:750;letter-spacing:-.03em;text-decoration:none}.page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:72px 0}.hero{max-width:760px}.eyebrow{margin:0 0 12px;color:#777973;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.5rem,7vw,5.5rem);line-height:.95;letter-spacing:-.065em}.lede{max-width:650px;margin:28px 0 0;color:#5d5f59;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px}.module-card,.status-panel{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid rgba(32,33,31,.12);border-radius:18px;background:#ffffff80}.module-card{text-decoration:none;transition:transform .16s ease,background .16s ease}.module-card:not(.module-card--muted):hover{transform:translateY(-2px);background:#fff}.module-card--muted{color:#777973}.module-kicker{color:#777973;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.module-card strong,.status-panel strong{font-size:1.12rem}.module-card span:last-child,.status-panel span{color:#676962;line-height:1.5}.status-panel{margin-top:48px}.button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;padding:10px 18px;border-radius:10px;border:1px solid #263c35;font:inherit;font-weight:650;text-decoration:none;cursor:pointer}.button-primary{background:#263c35;color:#fff}.button-primary:hover{background:#36574c}.button:disabled{opacity:.5;cursor:not-allowed}.import-page h1,.calendar-page h1{font-size:clamp(2.4rem,6vw,4.5rem)}.study-page h1,.courses-page h1{font-size:clamp(2.4rem,6vw,4.5rem);overflow-wrap:anywhere}.analytics-page h1,.archive-page h1{font-size:clamp(2.4rem,6vw,4.5rem)}.import-page h2{margin:0;font-size:1.35rem}.import-page h3{margin:24px 0 8px;font-size:1rem}.back-link{display:inline-block;margin-bottom:32px;color:#526059;text-decoration:none}.import-panel{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px;padding:24px;background:#fff;border:1px solid rgba(32,33,31,.12);border-radius:18px}.import-panel p{margin:0;line-height:1.5}.step-heading{display:flex;align-items:center;gap:12px}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dce7df;color:#263c35;font-weight:700}.file-label{font-weight:650}input[type=file]{max-width:100%;font:inherit}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}.summary-grid>div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:12px;background:#f2f4f0}.summary-grid strong{font-size:1.5rem}.summary-grid span,.muted{color:#646a63}.message{padding:14px 18px;border-radius:10px;line-height:1.5}.message-error{color:#8e3027;background:#fff0ed}.message-success{color:#235339;background:#e8f5ea}.issue-list{margin:0;padding-left:22px;max-height:220px;overflow:auto;line-height:1.5}.issue-error{color:#8e3027}.text-button{padding:0;background:none;border:0;color:#245342;font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}.table-scroll{width:100%;max-height:580px;overflow:auto}table{border-collapse:collapse;min-width:840px;width:100%;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid #e6e8e2;vertical-align:top}th{position:sticky;top:0;background:#f6f7f4;font-size:.85rem}td{font-size:.9rem}.calendar-topline{display:flex;align-items:baseline;justify-content:space-between}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 18px}.calendar-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px}.calendar-toolbar strong{font-size:1.35rem}.calendar-toolbar span{color:#646a63}.calendar-controls{display:flex;gap:6px}.calendar-controls button{min-width:44px;min-height:44px;border:1px solid #c9d0c7;border-radius:10px;background:#fff;font:inherit;font-weight:650;cursor:pointer}.calendar-controls button:hover{background:#edf3ed}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-column{min-height:330px;border:1px solid #dfe3dc;border-radius:12px;background:#fff;overflow:hidden}.day-today{border-color:#3f7b67;box-shadow:0 0 0 1px #3f7b67}.day-heading{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:12px 10px;background:#f1f3ef;text-transform:capitalize;font-size:.83rem}.day-today .day-heading{color:#235943;background:#e6f2e9}.day-lessons{display:flex;flex-direction:column;gap:6px;padding:6px}.lesson-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:9px;border:1px solid #e4e8e2;border-left:4px solid var(--course-color);border-radius:7px;background:#fff;color:#26302a;text-align:left;font:inherit;font-size:.8rem;cursor:pointer}.lesson-card:hover,.lesson-card:focus-visible{background:#f6faf5;outline:2px solid var(--course-color);outline-offset:1px}.lesson-card strong{overflow-wrap:anywhere;line-height:1.3}.lesson-time{color:#3e5146;font-weight:700;font-variant-numeric:tabular-nums}.lesson-meta{color:#69736a;font-size:.73rem;line-height:1.35}.empty-day{margin:14px 8px;color:#8a9089;font-size:.83rem}.lesson-dialog{width:min(520px,calc(100% - 28px));max-height:min(80vh,700px);padding:24px;border:0;border-radius:16px;box-shadow:0 18px 70px #15281f55}.lesson-dialog::backdrop{background:#0a211889}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}.dialog-close{border:0;background:transparent;font-size:1.8rem;cursor:pointer}.lesson-dialog h2{margin:14px 0;font-size:1.6rem;line-height:1.2}.lesson-dialog p{color:#526059;line-height:1.5}.lesson-dialog dl{margin:24px 0 0}.lesson-dialog dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 0;border-top:1px solid #e5e9e2}.lesson-dialog dt{color:#657068}.lesson-dialog dd{margin:0;line-height:1.5}.dialog-action{margin-top:18px}.study-form{max-width:720px;align-items:stretch}.study-form label{display:flex;flex-direction:column;gap:7px;font-weight:650}.study-form input,.study-form textarea,.study-form select,.course-search-label input{width:100%;min-height:44px;padding:9px 11px;border:1px solid #bbc7ba;border-radius:9px;background:#fff;color:#20211f;font:inherit}.study-form textarea{resize:vertical}.study-form input:focus,.study-form textarea:focus,.study-form select:focus,.course-search-label input:focus{outline:2px solid #3f7b67;outline-offset:1px}.course-options{display:flex;flex-direction:column;max-height:240px;overflow-y:auto;border:1px solid #e3e8e1;border-radius:10px}.course-options button{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:0;border-bottom:1px solid #e3e8e1;background:#fff;text-align:left;font:inherit;cursor:pointer}.course-options button:hover{background:#f0f6ef}.course-options span,.selected-course span{color:#6d756b;font-size:.84rem}.selected-course{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border-radius:10px;background:#edf5ed}.selected-course button{margin-left:auto;border:0;background:none;color:#255740;font:inherit;text-decoration:underline;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.button-danger{border-color:#a0473e;color:#8e3027;background:#fff}.button-danger:hover{background:#fff0ed}.delete-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px;border:1px solid #ebc9c4;border-radius:10px;background:#fff5f3}.delete-confirm strong,.delete-confirm p{flex-basis:100%}.study-list{width:100%}.study-row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #e7ebe5}.study-row div{display:flex;flex-direction:column;gap:4px}.study-row span{color:#5f6e62}.study-row a{color:#245342}.course-search-label{display:flex;flex-direction:column;gap:8px;max-width:500px;margin:30px 0 12px;font-weight:650}.course-list{display:grid;gap:8px;margin-top:16px}.course-list-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;border:1px solid #e1e7df;border-radius:11px;background:#fff;text-decoration:none}.course-list-item:hover{border-color:#3f7b67;background:#f8fbf7}.course-list-item>span:first-child{display:flex;flex-direction:column;gap:4px}.course-list-item small{color:#6d756b}.course-list-item>span:last-child{white-space:nowrap;color:#316348;font-weight:700}.course-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0 22px}.course-stats div{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:11px;background:#fff}.course-stats strong{font-size:1.4rem}.course-stats span{color:#657068}.analysis-term{margin:26px 0 12px;color:#526059;font-weight:650}.period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.period-card{display:flex;flex-direction:column;gap:14px;padding:19px;border:1px solid #e1e7df;border-radius:14px;background:#fff}.period-card h2{margin:0;font-size:1.1rem}.period-card div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e8ede7;padding-top:10px}.period-card div span{color:#667269}.period-card div strong{white-space:nowrap}.period-card small{color:#6f7971}.analysis-note{margin:16px 0;line-height:1.5}.analysis-section{align-items:stretch}.distribution-list{display:flex;flex-direction:column;gap:16px;width:100%}.distribution-row{display:flex;flex-direction:column;gap:7px}.distribution-label{display:flex;justify-content:space-between;gap:12px}.distribution-label a{color:#245342}.bar-track{height:8px;border-radius:5px;background:#edf0eb;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:#3f7b67}.archived-term{width:100%;padding:16px;border:1px solid #e0e7df;border-radius:12px}.archive-title{display:flex;justify-content:space-between;gap:14px}.archive-title h3{margin:0 0 6px}.archive-title p{color:#667269}.archived-term>p{margin:12px 0;color:#667269}.archived-term details{margin-top:16px}.archived-term summary{cursor:pointer;color:#245342;font-weight:650}.archived-term ul{list-style:none;margin:10px 0 0;padding:0;max-height:320px;overflow:auto}.archived-term li{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-bottom:1px solid #e6eae4}.archived-term li strong{white-space:nowrap}.restore-preview{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;padding:18px;border:1px solid #e7ddd4;border-radius:12px;background:#fffcf8}.restore-preview h3{margin:0}.restore-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}.restore-columns>div{padding:12px;border-radius:10px;background:#fff}.count-list{margin:8px 0 0;padding-left:20px;line-height:1.7}.restore-preview .full-label{display:flex;flex-direction:column;gap:8px;font-weight:650}.restore-preview input[type=text]{min-height:44px;padding:8px 10px;border:1px solid #bbc7ba;border-radius:8px;font:inherit}.backup-copy{width:100%}.backup-copy summary{cursor:pointer;color:#245342;font-weight:650}.backup-copy p{margin:10px 0}.backup-copy textarea{width:100%;max-height:250px;padding:10px;border:1px solid #bbc7ba;border-radius:8px;font:.76rem/1.4 ui-monospace,monospace}@media(max-width:760px){.week-grid{display:none}.day-agenda{display:block}.calendar-toolbar{align-items:flex-start}.calendar-toolbar strong{font-size:1rem}.calendar-toolbar span{font-size:.85rem}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:22px 0}.day-picker button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:10px 2px;border:1px solid #d9e0d7;border-radius:9px;background:#fff;font:inherit;cursor:pointer}.day-picker button.selected{border-color:#3f7b67;background:#e6f2e9}.day-picker span{color:#647168;font-size:.74rem;text-transform:capitalize}.day-agenda h2{font-size:1.25rem;text-transform:capitalize}.agenda-list{display:flex;flex-direction:column;gap:9px;margin-top:15px}.agenda-list .lesson-card{padding:14px;font-size:.95rem}.empty-agenda{padding:22px;border-radius:12px;background:#fff;color:#6f7770}}@media(max-width:680px){.site-header{min-height:64px}.site-header{flex-wrap:wrap;padding:12px 0;gap:10px}.site-header nav{gap:10px;font-size:.84rem;flex-wrap:wrap}.page{padding:48px 0}.module-grid{grid-template-columns:1fr;margin-top:40px}.import-panel{padding:18px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar{flex-direction:column}.form-grid{grid-template-columns:1fr}.course-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.period-grid,.restore-columns{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.module-card{transition:none}.module-card:not(.module-card--muted):hover{transform:none}}.topline-actions{display:flex;gap:18px;align-items:center}.lesson-teacher{color:#43594d;font-size:.72rem;line-height:1.35}.instructor-chip-list{display:flex;flex-wrap:wrap;gap:9px;width:100%}.instructor-chip{display:flex;flex-direction:column;gap:3px;min-width:210px;padding:12px 14px;border:1px solid #dde5dc;border-radius:11px;background:#f8fbf7;color:inherit;text-decoration:none}.instructor-chip:hover{border-color:#3f7b67}.instructor-chip span{color:#68736b;font-size:.82rem}.lesson-session-list{width:100%}.lesson-session-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e7ebe5}.lesson-session-row>div{display:flex;flex-direction:column;gap:4px}.lesson-session-row span{color:#617066}.lesson-session-row a{color:#245342}.instructor-list{display:grid;gap:8px;margin-top:18px}.instructor-list-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #e1e7df;border-radius:11px;background:#fff;color:inherit;text-decoration:none}.instructor-list-item:hover{border-color:#3f7b67;background:#f8fbf7}.instructor-list-item>span:first-child{display:flex;flex-direction:column;gap:4px}.instructor-list-item small{color:#6d756b}.instructor-list-item>span:last-child{color:#316348;font-weight:700;white-space:nowrap}.alias-details{margin:22px 0;padding:14px 16px;border:1px solid #e2e7df;border-radius:11px;background:#fff}.alias-details summary{color:#245342;font-weight:650;cursor:pointer}.alias-details ul{margin:10px 0 0;padding-left:20px}.instructor-topic-groups{display:flex;flex-direction:column;gap:16px;margin-top:28px}.instructor-topic{padding:18px;border:1px solid #dfe5dd;border-radius:14px;background:#fff}.instructor-topic h2{margin:0;font-size:1.18rem}.session-list{margin-top:14px}.session-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid #edf0eb}.session-row span{color:#647168}@media(max-width:680px){.topline-actions{gap:10px}.lesson-session-row{align-items:flex-start;flex-direction:column}.instructor-list-item{align-items:flex-start}}.update-preview-panel{align-items:stretch}.update-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%}.update-summary-grid>div{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid #e3e8e1;border-radius:11px;background:#f7f9f5}.update-summary-grid strong{font-size:1.4rem}.update-summary-grid span{color:#667169;font-size:.82rem}.update-added{background:#eef8ef!important}.update-changed{background:#fff8e9!important}.update-removed{background:#fff2ef!important}.update-conflict{border-color:#bd5a50!important;background:#fff0ed!important}.schedule-change-list{display:flex;flex-direction:column;gap:8px;width:100%}.schedule-change{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr);gap:14px;align-items:center;padding:13px 14px;border:1px solid #e2e7df;border-radius:11px;background:#fff}.schedule-change>div:first-child,.change-target{display:flex;flex-direction:column;gap:4px}.schedule-change span,.schedule-change small{color:#627068}.change-tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.change-tags span{padding:4px 7px;border-radius:999px;background:#fff1c9;color:#6a5421;font-size:.72rem;font-weight:700}.update-details{width:100%;padding:12px 14px;border:1px solid #e2e7df;border-radius:10px;background:#fff}.update-details summary{color:#245342;font-weight:700;cursor:pointer}.update-details ul{margin:10px 0 0;padding-left:22px;max-height:220px;overflow:auto}.update-details li{margin:6px 0}.update-warning{color:#695620;background:#fff7dc}.conflict-list{margin:8px 0 0;padding-left:20px}@media(max-width:760px){.update-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-change{grid-template-columns:1fr}.change-tags{justify-content:flex-start}}.dashboard-stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.activity-fieldset legend{margin-bottom:8px;font-weight:650}.activity-options{display:flex;gap:7px;flex-wrap:wrap}.activity-options button{min-height:40px;padding:8px 12px;border:1px solid #ccd5cb;border-radius:10px;background:#fff;color:#34443b;font:inherit;cursor:pointer}.activity-options button:hover,.activity-options button.selected{border-color:#3f7b67;background:#e7f1e8;color:#214e39}.question-count-label>span,.optional-inline{color:#738077;font-size:.8rem;font-weight:500}.question-count-label{max-width:260px}.study-save-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 13px;border-radius:10px;background:#f2f5f1}.study-save-summary span{color:#56645b}.study-save-summary strong{color:#214e39}.selected-lesson-context{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:13px 14px;border:1px solid #dce4da;border-radius:11px;background:#f8faf7}.selected-lesson-context .eyebrow{grid-column:1 / -1;margin:0}.selected-lesson-context>span:not(.eyebrow){color:#657068}.selected-lesson-context button{grid-column:2;grid-row:2 / span 2;align-self:center;border:0;background:transparent;color:#8b4138;font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}.course-status{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:82px}.course-status small{font-size:.72rem;font-weight:750}.course-status-done small{color:#2f6a4d}.course-status-waiting small{color:#8a7a61}.course-status strong{color:#314a3e;font-size:.9rem}@media(max-width:560px){.selected-lesson-context{grid-template-columns:1fr}.selected-lesson-context button{grid-column:1;grid-row:auto;justify-self:start;padding:0}.course-list-item{align-items:flex-start}}.not-found-page{max-width:720px}.not-found-page h1{font-size:clamp(2.6rem,7vw,5rem)}.not-found-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.data-safety-banner{display:flex;flex-direction:column;gap:5px;margin-top:24px;padding:14px 16px;border:1px solid #dfd4ad;border-radius:12px;background:#fff9e7;color:#5e5126;line-height:1.45}.data-safety-banner span{color:#6c6138}.guide-committee-list{display:flex;flex-direction:column;gap:14px;margin-top:18px}.guide-committee-card{padding:18px;border:1px solid #dde4dc;border-radius:14px;background:#fff}.guide-committee-card details{margin-top:10px;padding-top:10px;border-top:1px solid #edf0eb}.guide-committee-card summary{color:#245342;font-weight:700;cursor:pointer}.guide-committee-card ol{padding-left:22px}.guide-committee-card li{margin:7px 0;line-height:1.45}:root{--canvas: #f5f6f2;--surface: #fff;--surface-soft: #eef3ed;--surface-warm: #faf9f5;--forest: #193f30;--forest-deep: #123527;--accent: #285f45;--accent-hover: #1a4a34;--sage: #dfece1;--ink: #1b2922;--ink-soft: #3c5043;--muted: #617267;--line: #dbe5db;--line-soft: #eaf0e9;--success: #236843;--warning: #866023;--danger: #a23d35;--focus: #25815a;--radius-sm: 8px;--radius-md: 13px;--radius-lg: 19px;--control-height: 44px;--page-gutter: clamp(22px, 3vw, 52px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas)}html{overflow-x:clip}body{min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}h1,.import-page h1,.calendar-page h1,.study-page h1,.courses-page h1,.analytics-page h1,.archive-page h1{max-width:100%;font-size:clamp(2rem,3vw,3.15rem);line-height:1.11;letter-spacing:-.05em;overflow-wrap:anywhere}h2{letter-spacing:-.035em}.lede{margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.55}.muted{color:var(--muted)}.back-link{display:inline-block;margin-bottom:20px;color:var(--muted);font-size:.85rem;font-weight:700;text-decoration:none}.back-link:hover,.text-button:hover,.section-heading a:hover{color:var(--accent-hover);text-decoration:underline}.calendar-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-height:26px}.calendar-topline .back-link{margin-bottom:20px}.topline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 18px}.text-button{color:var(--accent);text-decoration:none}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%}.section-heading h2{font-size:1.32rem;line-height:1.2}.section-heading a{color:var(--accent);font-size:.84rem;font-weight:700;text-decoration:none;white-space:nowrap}.bar-track{height:7px;border-radius:999px;background:#dce7dc;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:inherit;background:#5b9470}.app-shell--plottin{display:grid;grid-template-columns:222px minmax(0,1fr);grid-template-rows:64px minmax(0,1fr);min-width:0}.workspace-rail{position:sticky;top:0;grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;height:100dvh;min-height:620px;padding:28px 16px 22px;border-right:1px solid #d2e0d2;background:#eaf0e8}.rail-brand{display:flex;align-items:center;gap:11px;padding:0 10px 34px;color:var(--forest);text-decoration:none}.rail-brand-mark{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:1.35rem;font-weight:700}.rail-brand strong{display:block;font-size:1.14rem;letter-spacing:-.04em}.rail-brand small{display:block;margin-top:1px;color:#697e6d;font-size:.63rem;white-space:nowrap}.rail-label{margin:0 10px 11px;color:#758c77;font-size:.62rem;font-weight:800;letter-spacing:.13em}.rail-nav{display:flex;flex-direction:column;gap:3px}.rail-nav a,.rail-bottom a{display:flex;align-items:center;min-height:43px;gap:13px;padding:10px 12px;border-radius:var(--radius-sm);color:#4a6251;font-size:.9rem;font-weight:650;text-decoration:none;transition:background .15s,color .15s,transform .15s}.rail-nav a:hover,.rail-bottom a:hover{background:#dce9dc;color:var(--forest);transform:translate(2px)}.rail-nav a.active,.rail-bottom a.active{background:var(--forest);color:#fff}.rail-index{width:20px;color:#8ba08d;font-size:.67rem;font-variant-numeric:tabular-nums}.rail-nav a.active .rail-index{color:#a8cbb0}.rail-bottom{margin-top:auto;padding-top:20px;border-top:1px solid #d5e2d5}.rail-bottom a{min-height:34px;padding:6px 12px;font-size:.8rem}.rail-bottom .rail-home{margin-top:13px;color:#698170}.app-shell--plottin .site-header{grid-column:2;grid-row:1;width:auto;min-height:64px;margin:0 var(--page-gutter);border-color:var(--line)}.app-shell--plottin .site-header .brand{display:none}.header-context{color:var(--ink-soft);font-size:.84rem;font-weight:700}.header-context span{margin:0 6px;color:#9caf9e}.app-shell--plottin .page{grid-column:2;grid-row:2;width:auto;min-width:0;max-width:none;margin:0 var(--page-gutter);padding:30px 0 84px}.app-shell--plottin .page>section{min-width:0;max-width:none}.mobile-bottom-nav{display:none}.site-header{border-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1rem;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;font-size:.85rem;letter-spacing:-.07em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:8px 17px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s}.button:hover{border-color:#a8beab;background:var(--surface-soft);transform:translateY(-1px)}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.button-danger{border-color:#e3bdb8;color:var(--danger);background:#fff}.button-danger:hover{border-color:var(--danger);background:#fff4f1}.button:disabled,button:disabled{opacity:.48;cursor:not-allowed;transform:none}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-height:var(--control-height);max-width:100%;padding:10px 12px;border:1px solid #bdcdbf;border-radius:var(--radius-sm);background:#fff;color:var(--ink)}input[type=file]{width:100%;max-width:100%;padding:10px;border:1px dashed #a9bbaa;border-radius:var(--radius-sm);background:var(--canvas)}input:focus-visible,select:focus-visible,textarea:focus-visible,.study-form input:focus,.study-form textarea:focus,.study-form select:focus{outline:3px solid var(--focus);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{background:var(--surface-soft);color:var(--muted)}label,.file-label{color:var(--ink-soft);font-size:.9rem;font-weight:650}summary{min-height:36px;cursor:pointer;color:var(--accent);font-weight:700}.message{width:fit-content;max-width:100%;padding:12px 15px;border-radius:var(--radius-sm)}.message-error{color:#8c2c27;background:#fff0ee}.message-success{color:var(--success);background:#e9f4e9}.import-panel{min-width:0;gap:14px;margin-top:24px;padding:25px;border-color:var(--line);border-radius:var(--radius-md);background:var(--surface)}.import-panel h2{margin:0;font-size:1.2rem}.import-panel h3{margin:10px 0 0}.summary-grid>div,.update-summary-grid>div{border:0;border-radius:var(--radius-sm);background:var(--surface-soft)}.summary-grid strong,.update-summary-grid strong{color:var(--ink);font-size:1.3rem}.summary-grid span,.update-summary-grid span{color:var(--muted)}.table-scroll{max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:auto}table{min-width:670px}th{background:var(--surface-soft);color:var(--ink-soft)}th,td{border-color:var(--line-soft)}.empty-state{padding:24px 0;color:var(--muted);line-height:1.5}.empty-state p{margin:0 0 10px}.plottin-dashboard{max-width:none}.dashboard-heading{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:32px;align-items:stretch;min-height:245px;margin:0 0 16px;padding:32px 36px;border-radius:var(--radius-lg);background:var(--forest);color:#fff;overflow:hidden}.dashboard-heading:after{content:"";position:absolute;right:24%;bottom:-130px;width:320px;height:320px;border:1px solid #ffffff1c;border-radius:50%;pointer-events:none}.dashboard-hero-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}.dashboard-heading .eyebrow{color:#b7d4bb}.dashboard-heading h1{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,4vw,5rem);font-weight:500;letter-spacing:-.045em;text-transform:none}.dashboard-heading .lede{margin-top:8px;color:#e3efe3;font-size:1.04rem}.dashboard-term{margin:12px 0 24px;color:#afd1b9;font-size:.87rem}.dashboard-heading .button-primary{margin-top:auto;border-color:#dbeedc;background:#e7f3e5;color:var(--forest)}.dashboard-heading .button-primary:hover{background:#fff;color:var(--forest)}.dashboard-heading .dashboard-stat-grid{z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-content:center;margin:0;padding:4px 0 4px 30px;border:0;border-left:1px solid #ffffff36}.dashboard-heading .dashboard-stat-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:15px;border:0;border-bottom:1px solid #ffffff28;border-radius:0;background:transparent}.dashboard-heading .dashboard-stat-grid>div:first-child{grid-column:1 / -1}.dashboard-heading .dashboard-stat-grid>div:last-child{border-bottom:0}.dashboard-heading .dashboard-stat-grid strong{color:#fff;font-family:Georgia,serif;font-size:2rem;font-weight:500;line-height:1.05}.dashboard-heading .dashboard-stat-grid span{color:#c3d9c6;font-size:.77rem}.dashboard-quick-nav{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 22px;padding:0;border:0}.dashboard-quick-nav a{min-height:34px;padding:8px 12px;border:0;border-radius:999px;background:#e9efe8;color:#47634c;font-size:.79rem;font-weight:700;text-decoration:none;transition:background .15s,transform .15s}.dashboard-quick-nav a:hover{background:#dce9dc;transform:translateY(-1px)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:18px;align-items:start}.dashboard-primary{display:flex;flex-direction:column;gap:18px;min-width:0}.dashboard-card{min-width:0;padding:26px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.dashboard-card-main{min-height:0}.dashboard-card .eyebrow{margin-bottom:7px}.next-lesson-card{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:4px 16px;align-items:center;margin:18px 0 0;padding:15px;border:0;border-left:3px solid #5b9470;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#eaf3e9;color:var(--ink);text-decoration:none}.next-lesson-card.current{border-color:var(--accent);background:#dfeede}.next-lesson-card .next-lesson-label{grid-row:1 / span 3;border:0;padding:0;color:var(--accent);font-size:.7rem;font-weight:800}.next-lesson-card strong{font-size:1.05rem}.next-lesson-card>span:not(.next-lesson-label),.next-lesson-card small{color:var(--muted)}.next-lesson-card b{grid-column:3;grid-row:1 / span 3;color:var(--accent);font-size:.8rem;white-space:nowrap}.today-lesson-list{margin-top:14px}.today-lesson{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:17px;align-items:center;min-height:75px;padding:13px 0;border-color:var(--line-soft)}.today-lesson-time{color:var(--accent);font-size:.84rem;font-variant-numeric:tabular-nums}.today-lesson>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.today-lesson small{color:var(--muted);line-height:1.45}.today-lesson.is-current,.today-lesson.is-next{margin:0 -10px;padding:13px 10px;border-radius:var(--radius-sm)}.today-lesson.is-current{background:#e1efe3}.today-lesson.is-next{background:#f1f6f0}.rest-day{display:flex;align-items:center;gap:24px;min-height:240px;margin-top:18px;padding:25px;border-radius:var(--radius-md);background:var(--surface-warm)}.rest-day-mark{display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;border:1px solid #cbdcca;border-radius:50%;color:#719175;font-family:Georgia,serif;font-size:3.4rem;line-height:1}.rest-day h3{margin:0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.rest-day p:not(.eyebrow){max-width:450px;color:var(--muted);line-height:1.5}.rest-day a{font-weight:700}.dashboard-committee{display:flex;flex-direction:column;border:0;background:#e8f0e7}.dashboard-committee .section-heading h2{font-family:Georgia,serif;font-size:clamp(1.45rem,2vw,2rem);font-weight:500}.committee-code{margin:8px 0 0;color:#617f66;font-size:.78rem;font-weight:700}.committee-progress{margin-top:25px}.committee-progress>div:first-child{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}.committee-progress strong{color:var(--forest);font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.committee-progress span{color:var(--muted);font-size:.79rem}.compact-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%;margin:18px 0 0;border-top:1px solid #cdddcd;border-bottom:1px solid #cdddcd}.compact-stats>div{display:flex;flex-direction:column;gap:4px;padding:12px 8px 12px 0;border-radius:0;background:transparent}.compact-stats strong{font-size:1.03rem}.compact-stats span{color:var(--muted);font-size:.74rem}.committee-subtitle{margin:22px 0 3px;color:var(--ink-soft);font-size:.78rem;font-weight:750}.department-preview{margin-top:7px}.department-preview>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:8px 0;border-color:#d5e3d5;font-size:.8rem}.department-preview strong{color:var(--accent)}.department-preview .bar-track{grid-column:1 / -1;height:4px}.committee-open{margin-top:auto;padding-top:20px;font-size:.83rem;font-weight:800;text-decoration:none}.recent-card{margin-top:0}.study-row{min-width:0;border-color:var(--line-soft)}.study-row>div{min-width:0}.study-row span{color:var(--muted);font-size:.85rem}.study-row p{margin:3px 0 0;color:var(--muted);font-size:.84rem}.study-row a{color:var(--accent);font-size:.83rem;font-weight:700}.calendar-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:26px 0 20px}.calendar-toolbar strong{font-size:1.15rem}.calendar-controls button{border-color:var(--line);border-radius:var(--radius-sm);color:var(--accent)}.week-grid{display:flex;flex-direction:column;gap:9px}.day-column{display:grid;grid-template-columns:175px minmax(0,1fr);min-height:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.day-today{border-color:#9fc5a8;box-shadow:0 0 0 1px #9fc5a8 inset}.day-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-width:0;padding:19px 21px;background:#edf3ed;text-transform:none}.day-heading strong{color:var(--forest);font-family:Georgia,serif;font-size:2.2rem;font-weight:500;line-height:1}.day-heading span{color:var(--ink-soft);font-size:.85rem;font-weight:700;text-transform:capitalize}.day-heading small{margin-top:7px;color:var(--muted);font-size:.73rem}.day-today .day-heading{color:var(--forest);background:#e2efe2}.day-lessons{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:12px 20px}.lesson-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:2px 12px;align-content:center;align-items:start;min-width:0;min-height:74px;padding:10px 4px 10px 0;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent;color:var(--ink);font-size:.81rem;text-align:left;transition:background .15s}.lesson-card:hover{background:#f4f8f2}.lesson-card:focus-visible{outline:3px solid var(--focus)}.lesson-card strong{grid-column:2;overflow-wrap:anywhere;line-height:1.35}.lesson-time{grid-column:1;grid-row:1 / span 3;color:var(--accent);font-size:.77rem;font-weight:800;font-variant-numeric:tabular-nums}.lesson-meta,.lesson-teacher{grid-column:2;color:var(--muted);font-size:.71rem;line-height:1.35}.lesson-card[data-kind=practical] .lesson-time{color:var(--warning)}.lesson-card[data-kind=exam] .lesson-time{color:var(--danger)}.day-empty{min-height:75px}.day-empty .day-heading{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:flex-start;gap:8px;padding:12px 21px}.day-empty .day-heading strong{font-size:1.28rem}.day-empty .day-heading small{display:none}.day-empty .day-lessons{display:flex;align-items:center;padding:12px 20px}.empty-day{margin:0;color:#90a092;font-size:.8rem}.day-agenda{display:none}.lesson-dialog{width:min(560px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;border-radius:var(--radius-md)}.lesson-dialog::backdrop{background:#10261bcb}.lesson-dialog dt{color:var(--muted)}.academic-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start;margin-top:24px}.committee-hero{position:sticky;top:22px;display:flex;flex-direction:column;gap:0;align-items:stretch;min-width:0;margin:0;padding:25px;border:0;border-radius:var(--radius-lg);background:#e8f0e7}.committee-hero h2{margin:0;font-family:Georgia,serif;font-size:1.58rem;font-weight:500;line-height:1.2}.committee-hero .compact-stats{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin-top:17px}.committee-hero .compact-stats>div:last-child{grid-column:1 / -1;padding-top:5px}.committee-hero .department-preview{width:100%}.academic-main{min-width:0}.academic-main .course-search-label{max-width:none;margin:0 0 8px}.academic-main>.muted{margin:8px 0 16px;font-size:.81rem}.department-groups{display:flex;flex-direction:column;gap:17px;margin:0}.department-group{min-width:0;padding:18px 22px 8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.department-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:15px;border-color:var(--line)}.department-heading h2{margin:0;font-size:1.1rem}.department-heading span{color:var(--muted);font-size:.8rem}.department-meter{display:flex;align-items:center;gap:8px;width:125px;color:var(--accent);font-size:.76rem}.department-meter .bar-track{flex:1;height:5px}.course-list{display:grid;gap:0;margin:0}.course-list-item{display:flex;justify-content:space-between;align-items:center;gap:15px;min-width:0;min-height:65px;padding:11px 0;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent;text-decoration:none}.course-list-item:last-child{border-bottom:0}.course-list-item:hover{background:#f4f8f2}.course-main{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:11px!important;min-width:0}.course-main>span{display:flex;flex-direction:column;gap:3px;min-width:0}.course-main strong{color:var(--ink)}.course-list-item small{color:var(--muted);line-height:1.35}.topic-dot{flex:0 0 9px;width:9px;height:9px;margin-top:6px;border:1px solid #b6c5b6;border-radius:50%;background:#fff}.topic-dot-done{border-color:var(--success);background:var(--success)}.course-status{flex:0 0 auto;min-width:76px}.course-status-done small{color:var(--success)}.course-status-waiting small{color:var(--muted)}.topic-header{margin:0 0 24px;padding:27px 30px;border-left:4px solid #5b9470;border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:#e8f0e7}.topic-header h1{max-width:950px}.topic-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.topic-detail-main,.topic-detail-aside{min-width:0}.topic-detail-main .import-panel,.topic-detail-aside .import-panel{margin:0 0 18px}.topic-study-panel{display:flex;flex-direction:column;gap:15px;margin-bottom:18px;padding:23px;border-radius:var(--radius-lg);background:var(--forest);color:#fff}.topic-study-panel .eyebrow{color:#afcfb4}.topic-study-panel>strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.topic-study-panel .course-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:3px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.topic-study-panel .course-stats div{min-width:0;padding:11px 5px;border-radius:0;background:transparent}.topic-study-panel .course-stats strong{color:#fff;font-size:.95rem}.topic-study-panel .course-stats span{color:#bfd5c1;font-size:.68rem}.topic-study-panel .button-primary{border-color:#cce6ce;background:#e5f3e4;color:var(--forest)}.topic-study-panel .button-primary:hover{background:#fff;color:var(--forest)}.instructor-chip-list{display:flex;flex-wrap:wrap;gap:0}.instructor-chip{flex:1 1 190px;min-width:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.instructor-chip:hover{background:var(--surface-soft)}.lesson-session-row,.session-row{border-color:var(--line-soft)}.session-kind{display:inline-block;margin-left:8px;color:var(--muted);font-size:.76rem;font-weight:500}.instructor-list{display:grid;gap:0}.instructor-list-item{min-height:68px;padding:12px 3px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.instructor-list-item:hover{background:var(--surface-soft)}.instructor-list-item>span:last-child{color:var(--accent);font-size:.84rem}.instructor-topic{padding:18px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.alias-details{border-color:var(--line);border-radius:var(--radius-sm)}.study-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,.42fr);gap:20px;align-items:start;margin-top:28px}.study-form{display:flex;flex-direction:column;align-items:stretch;gap:0;max-width:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.study-step{display:flex;flex-direction:column;gap:17px;padding:24px 28px;border-bottom:1px solid var(--line)}.study-step-heading{display:flex;align-items:flex-start;gap:14px}.study-step-heading>span{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:#e2eee2;color:var(--accent);font-size:.72rem;font-weight:800}.study-step-heading .eyebrow{margin:0 0 2px}.study-step-heading h2{margin:0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.study-step-optional{background:#fbfcfa}.study-form label{display:flex;flex-direction:column;gap:7px}.study-form input,.study-form select,.study-form textarea,.course-search-label input{border-color:#bdcdbf;border-radius:var(--radius-sm)}.study-form textarea{min-height:88px}.course-suggestion-section{display:flex;flex-direction:column}.course-options{max-height:214px;border-color:var(--line);border-radius:var(--radius-sm)}.course-options button{min-height:52px;padding:11px 13px;border-color:var(--line-soft)}.course-options button:hover{background:var(--surface-soft)}.course-suggestion-section>p{margin:0;padding:9px 12px 6px;color:var(--muted);background:var(--surface-soft);font-size:.76rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.selected-course,.selected-lesson-context{border-radius:var(--radius-sm);background:var(--surface-soft)}.activity-fieldset{margin:0;padding:0;border:0}.activity-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.activity-options button,.quick-duration-row button{min-height:var(--control-height);padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink-soft);font-size:.81rem;cursor:pointer}.activity-options button.selected,.quick-duration-row button.selected{border-color:var(--accent);background:#e5f2e6;color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.quick-duration-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.quick-duration-row>span{flex-basis:100%;color:var(--muted);font-size:.78rem}.quick-duration-row button{min-width:67px}.study-submit{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:22px 28px;background:#eaf3e9}.study-save-summary{padding:0;background:transparent}.study-save-summary strong{color:var(--accent)}.study-submit .button-primary{min-width:165px}.study-history{min-width:0;max-height:min(780px,calc(100dvh - 110px));padding:24px;border-radius:var(--radius-lg);background:#e9f0e8;overflow:auto}.study-history h2{margin:0 0 17px;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.study-history .study-row{gap:10px}.question-count-label{max-width:290px}.delete-confirm{border-color:#e6bcb8;border-radius:var(--radius-sm)}.analysis-term{margin:27px 0 12px;color:var(--accent);font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}.period-card{gap:10px;padding:23px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.period-card:nth-child(2){border-color:#adcbb2;background:#edf4ec;color:var(--ink)}.period-card h2{color:var(--accent);font-size:.9rem}.period-card:nth-child(2) h2{color:var(--accent)}.period-card div{border-color:var(--line-soft)}.period-card:nth-child(2) div{border-color:var(--line-soft)}.period-card div:first-of-type{flex-direction:column;align-items:flex-start;gap:2px;border:0;padding:0 0 9px}.period-card div:first-of-type strong{font-family:Georgia,serif;font-size:2.1rem;font-weight:500}.period-card div span,.period-card small{color:var(--muted)}.analysis-note{margin:11px 0 0;font-size:.78rem}.analytics-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(315px,.85fr);gap:18px;align-items:start;margin-top:24px}.analytics-primary,.analytics-context{min-width:0}.analytics-workspace .import-panel,.analytics-workspace .committee-analysis{margin:0 0 18px}.committee-analysis{padding:24px;border:0;border-radius:var(--radius-lg);background:#e8f0e7}.committee-analysis h2{font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.committee-analysis .dashboard-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:20px 0;border-top:1px solid #cbddcc;border-bottom:1px solid #cbddcc}.committee-analysis .dashboard-stat-grid>div{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 6px;border:0;border-radius:0;background:transparent}.committee-analysis .dashboard-stat-grid strong{font-size:.96rem}.committee-analysis .dashboard-stat-grid span{font-size:.68rem}.analysis-section{align-items:stretch;border-radius:var(--radius-lg)}.distribution-label{min-width:0}.distribution-label>:first-child{min-width:0;overflow-wrap:anywhere}.distribution-label strong{white-space:nowrap}.guide-reference-note{margin-top:20px;padding:13px 16px;border-left:3px solid var(--accent);background:var(--surface-soft);color:var(--ink-soft);line-height:1.5}.guide-reference-note strong{color:var(--forest)}.guide-overview{position:static;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 0;padding:25px}.guide-overview .compact-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:auto;min-width:360px;margin:0;border:0}.guide-overview .compact-stats>div:last-child{grid-column:auto;padding-top:12px}.guide-overview .muted{margin:8px 0 0;overflow-wrap:anywhere}.guide-upload{width:fit-content;max-width:100%;margin-top:15px}.guide-upload>summary{display:inline-flex;align-items:center;min-height:36px;color:var(--accent);font-size:.83rem;font-weight:750}.guide-upload .import-panel{width:min(680px,calc(100vw - 70px));max-width:100%;margin-top:8px}.guide-committee-list{gap:17px;margin-top:24px}.guide-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.guide-committee-nav{position:sticky;top:22px;display:flex;flex-direction:column;gap:5px;padding:20px 14px;border-radius:var(--radius-lg);background:#e8f0e7}.guide-committee-nav .eyebrow{margin:0 10px 10px}.guide-committee-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:59px;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-soft);text-align:left;cursor:pointer;transition:background .15s}.guide-committee-nav button:hover{background:#dbe9dc}.guide-committee-nav button.selected{background:var(--forest);color:#fff}.guide-committee-nav button strong{font-size:.79rem}.guide-committee-nav button span{font-size:.73rem;line-height:1.25}.guide-committee-card{min-width:0;min-height:600px;padding:28px;border-color:var(--line);border-radius:var(--radius-lg)}.guide-committee-card .section-heading h2{font-family:Georgia,serif;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:500}.guide-committee-card .section-heading span{color:var(--muted);font-size:.82rem}.guide-committee-card details{border-color:var(--line-soft)}.guide-committee-card details>p,.guide-committee-card details>ul,.guide-committee-card details>ol{margin-top:8px}.guide-committee-card table{min-width:480px}.guide-purpose{margin:20px 0 10px;padding:17px 19px;border-left:2px solid #88ac91;background:var(--surface-soft);line-height:1.5}.guide-purpose p{margin:5px 0 0;color:var(--ink-soft)}.archive-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:18px;align-items:stretch;margin-top:25px}.archive-overview>.import-panel{margin:0}.data-safety-banner{display:flex;flex-direction:column;gap:9px;min-width:0;height:100%;margin:0;padding:25px;border:0;border-radius:var(--radius-lg);background:var(--forest);color:#fff}.data-safety-banner .eyebrow{color:#aacfaf}.data-safety-banner>strong{font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.data-safety-banner span{color:#d4e8d7;font-size:.84rem;line-height:1.5;overflow-wrap:anywhere}.archive-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0;padding:12px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.archive-counts div{display:flex;flex-direction:column;gap:2px}.archive-counts strong{color:#fff;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.archive-counts span{color:#bfd5c3;font-size:.73rem}.archive-active{display:flex;flex-direction:column;justify-content:center}.archive-active h2{font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.archive-operations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:18px}.archive-operations .import-panel{margin:0}.archive-backup{background:#e9f1e8}.archive-restore{border-color:#ead5cd;background:#fffdfb}.archive-restore .eyebrow{color:var(--warning)}.archive-past{margin-top:18px}.archived-term{padding:16px 0;border:0;border-bottom:1px solid var(--line);border-radius:0}.archive-title{align-items:baseline}.restore-preview{border-color:#e8c6bd;border-radius:var(--radius-sm);background:#fff9f7}.restore-columns>div{border:1px solid var(--line);border-radius:var(--radius-sm)}.backup-copy textarea{overflow:auto}.archive-origin{margin-top:4px;color:#c5dac9;font-size:.74rem}.archive-origin summary{color:#c5dac9;cursor:pointer}.archive-origin code{display:block;max-width:100%;margin-top:6px;overflow-wrap:anywhere}.study-mode-nav{display:inline-flex;gap:4px;margin:15px 0 22px;padding:4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.button-text{border-color:transparent;background:transparent;color:var(--accent)}.button-text:hover{background:var(--sage)}.study-mode-nav a,.study-mode-nav span{min-height:44px;padding:12px 14px;border-radius:7px;color:var(--muted);font-size:.82rem;font-weight:750;text-decoration:none}.study-mode-nav [aria-current=page]{background:var(--forest);color:#fff}.study-mode-nav a:hover{background:var(--sage);color:var(--accent)}.plan-record-context{display:flex;flex-direction:column;gap:4px;max-width:760px;margin:0 0 20px;padding:14px 17px;border-left:3px solid var(--accent);background:var(--sage);color:var(--ink)}.plan-record-context span{color:var(--muted);font-size:.85rem}.planning-workspace{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:22px;align-items:start}.plan-form,.plan-agenda{min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.plan-form{display:flex;flex-direction:column;gap:15px}.plan-form>h2,.plan-agenda h2{margin:0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.plan-form>p{margin:0;color:var(--muted)}.plan-form>.eyebrow{color:var(--accent)}.plan-form label,.plan-option-fields label,.plan-reschedule label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--ink);font-size:.82rem;font-weight:700}.plan-form input,.plan-form select,.plan-form textarea,.plan-reschedule input{width:100%;min-width:0}.plan-form label small{display:inline;color:var(--muted);font-weight:400}.plan-course-results{max-height:195px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.plan-course-results button{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line-soft);background:#fff;color:var(--ink);text-align:left;font:inherit;font-size:.81rem;cursor:pointer;overflow-wrap:anywhere}.plan-course-results button:hover,.plan-course-results button:focus-visible{background:var(--sage)}.plan-course-results small{color:var(--muted)}.plan-options summary{padding:9px 0;color:var(--accent);font-size:.85rem;font-weight:700;cursor:pointer}.plan-option-fields{display:flex;flex-direction:column;gap:13px;padding:10px 0}.plan-form>.button-primary{align-self:flex-start}.plan-agenda .section-heading{margin-bottom:20px}.plan-agenda .section-heading>span{color:var(--muted);font-size:.83rem}.plan-group{margin:0 0 25px}.plan-group>h3{margin:0 0 8px;color:var(--accent);font-size:.79rem;letter-spacing:.06em;text-transform:uppercase}.plan-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 0;border-top:1px solid var(--line-soft)}.plan-item-date{display:flex;flex-direction:column;gap:3px;color:var(--accent);font-size:.83rem}.plan-item-date span,.plan-item-body p,.plan-item-body small{color:var(--muted)}.plan-item-body,.plan-item-body>strong{min-width:0;overflow-wrap:anywhere}.plan-item-body>strong{display:block;font-size:.92rem}.plan-item-body p{margin:4px 0;font-size:.79rem}.plan-item-body small{display:block;line-height:1.4}.plan-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:260px}.plan-item-actions .button{min-height:44px;padding:10px 9px;font-size:.75rem}.plan-delete-action{color:var(--danger)!important}.plan-status{display:inline-block;margin-top:6px;color:var(--accent);font-size:.75rem;font-weight:700}.plan-item--skipped .plan-status{color:var(--muted)}.plan-reschedule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin-top:12px}.plan-reschedule .button{align-self:end}.plan-delete-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:11px;font-size:.8rem}.plan-past{border-top:1px solid var(--line);padding-top:15px}.plan-past summary{color:var(--accent);font-size:.84rem;font-weight:700;cursor:pointer}.dashboard-plans .section-heading{margin-bottom:14px}.today-plan{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft)}.today-plan>span{color:var(--accent);font-size:.84rem;font-weight:750}.today-plan div{min-width:0}.today-plan strong,.today-plan small{display:block;overflow-wrap:anywhere}.today-plan small{margin-top:3px;color:var(--muted)}.today-plan a,.today-plan-empty a{color:var(--accent);font-size:.79rem;font-weight:750;text-decoration:none}.today-plan-empty{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:.84rem}.upcoming-plans{margin-top:17px;padding-top:13px;border-top:1px solid var(--line-soft)}.upcoming-plans p{margin:0 0 6px;color:var(--muted);font-size:.76rem;font-weight:700}.upcoming-plans a{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:6px 0;color:var(--ink);font-size:.8rem;text-decoration:none}.upcoming-plans a span{color:var(--muted)}.topic-plan-list>div{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--line-soft);font-size:.83rem}.topic-plan-list span{color:var(--muted)}.topic-plan-list a{margin-left:auto;color:var(--accent);font-weight:700}.calendar-plan{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center;min-width:0;width:100%;padding:11px 4px;border:0;border-bottom:1px solid var(--line-soft);background:#f0f6ef;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.calendar-plan:hover{background:#e5f0e4}.calendar-plan strong,.calendar-plan small{display:block;overflow-wrap:anywhere}.calendar-plan small{margin-top:3px;color:var(--muted);font-size:.74rem}.calendar-plan .lesson-time{color:var(--accent)}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px}.course-list-item>*,.department-heading>*,.lesson-card,.lesson-teacher,.instructor-chip,.topic-header h1,.guide-committee-nav button,.day-heading span{min-width:0;overflow-wrap:anywhere}@media(max-width:1180px){.dashboard-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr)}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(290px,.9fr)}.academic-layout{grid-template-columns:255px minmax(0,1fr)}.activity-options{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1020px){.app-shell--plottin{display:block}.workspace-rail{display:none}.app-shell--plottin .site-header{width:calc(100% - 2 * var(--page-gutter));margin:0 auto}.app-shell--plottin .site-header .brand{display:inline-flex}.app-shell--plottin .page{width:calc(100% - 2 * var(--page-gutter));margin:0 auto}body:has(.app-shell--plottin){padding-bottom:calc(72px + env(safe-area-inset-bottom))}.mobile-bottom-nav{position:fixed;z-index:90;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(62px + env(safe-area-inset-bottom));padding:5px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fafcf9}.mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:8px 3px;border-radius:var(--radius-sm);color:var(--muted);font-size:.73rem;font-weight:750;text-decoration:none}.mobile-bottom-nav a.active{color:var(--accent);background:var(--sage)}.week-grid{gap:8px}.day-lessons{gap:0 12px}.academic-layout{grid-template-columns:230px minmax(0,1fr)}.study-workspace{grid-template-columns:minmax(0,1fr) 270px}.analytics-workspace{grid-template-columns:minmax(0,1fr) 300px}}@media(max-width:820px){.dashboard-heading{grid-template-columns:1fr;gap:20px}.dashboard-heading .dashboard-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 0 0;border-left:0;border-top:1px solid #ffffff35}.dashboard-heading .dashboard-stat-grid>div,.dashboard-heading .dashboard-stat-grid>div:first-child{grid-column:auto;padding:12px 8px;border:0}.dashboard-grid,.academic-layout,.topic-detail-layout,.study-workspace,.planning-workspace,.analytics-workspace,.archive-overview,.archive-operations{grid-template-columns:1fr}.dashboard-card-main{min-height:0}.committee-hero,.guide-committee-nav{position:static}.academic-layout .committee-hero{padding:20px}.academic-layout .committee-hero .compact-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-layout .committee-hero .compact-stats>div:last-child{grid-column:auto;padding-top:12px}.academic-layout .committee-hero .committee-subtitle,.academic-layout .committee-hero .department-preview{display:none}.department-preview{max-width:none}.study-history{max-height:none}.guide-workspace{grid-template-columns:1fr}.guide-committee-nav{flex-direction:row;flex-wrap:nowrap;gap:5px;padding:10px;overflow-x:auto}.guide-committee-nav .eyebrow{display:none}.guide-committee-nav button{flex:0 0 145px}.guide-overview{flex-direction:column;align-items:stretch}.guide-overview .compact-stats{min-width:0;width:100%}}@media(max-width:760px){.app-shell--plottin .page{padding-top:25px}.week-grid{display:none}.day-agenda{display:block}.day-picker{display:grid;gap:4px;margin:17px 0 22px}.day-picker button{display:flex;flex-direction:column;align-items:center;min-height:55px;border-color:var(--line);border-radius:var(--radius-sm)}.day-picker button.selected{border-color:#85b496;background:var(--sage);color:var(--forest)}.agenda-list{display:flex;flex-direction:column;gap:0;margin-top:12px}.agenda-list .lesson-card{display:flex;flex-direction:column;gap:5px;min-height:85px;padding:13px 15px;border-bottom:1px solid var(--line-soft);border-left:3px solid #84ae8b;font-size:.92rem}.agenda-list .lesson-card[data-kind=practical]{border-left-color:#bc9957}.agenda-list .lesson-card[data-kind=exam]{border-left-color:var(--danger)}.agenda-list .lesson-card>*{grid-column:auto}.agenda-list .lesson-time{font-size:.8rem}.agenda-list .calendar-plan{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 15px;border-left:3px solid var(--accent)}.empty-agenda{border-radius:var(--radius-sm);background:var(--surface-soft)}.period-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.period-card{padding:15px}.period-card div:not(:first-of-type),.period-card small{font-size:.72rem}}@media(max-width:560px){.app-shell--plottin .site-header,.app-shell--plottin .page{width:calc(100% - 32px)}.site-header{min-height:55px}.header-context{font-size:.74rem}h1,.import-page h1,.calendar-page h1,.study-page h1,.study-plans-page h1,.courses-page h1,.analytics-page h1,.archive-page h1{font-size:2rem}.app-shell--plottin .page{padding-top:23px}.dashboard-heading{min-height:0;padding:25px}.dashboard-heading h1{font-size:3.35rem}.dashboard-heading .dashboard-stat-grid strong{font-size:1.35rem}.dashboard-heading .dashboard-stat-grid span{font-size:.69rem}.dashboard-quick-nav{flex-wrap:wrap;overflow:visible}.dashboard-quick-nav a{flex:0 0 auto}.dashboard-card{padding:19px}.rest-day{flex-direction:column;align-items:flex-start;gap:12px;min-height:0;padding:20px}.rest-day-mark{flex-basis:54px;width:54px;height:54px;font-size:2.2rem}.rest-day h3{font-size:1.35rem}.next-lesson-card{grid-template-columns:1fr auto}.next-lesson-card .next-lesson-label{grid-column:1 / -1;grid-row:auto}.next-lesson-card b{grid-column:2;grid-row:2 / span 2}.today-lesson{grid-template-columns:76px minmax(0,1fr);gap:9px}.today-lesson-action{display:none}.department-group{padding:16px 16px 4px}.department-heading{gap:8px}.department-heading h2{font-size:1rem}.department-meter{width:75px}.department-meter .bar-track{display:none}.course-list-item{gap:8px}.course-status{min-width:65px}.course-status strong{font-size:.81rem}.topic-header{padding:20px}.topic-study-panel .course-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-session-row{align-items:flex-start;flex-direction:column}.study-step{padding:21px 18px}.study-step-heading h2{font-size:1.25rem}.activity-options{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.study-submit{padding:18px}.study-submit .form-actions,.study-submit .button-primary{width:100%}.study-history{padding:20px}.plan-form,.plan-agenda{padding:19px}.plan-form>.button-primary{align-self:stretch}.plan-item{grid-template-columns:65px minmax(0,1fr);gap:8px}.plan-item-actions{grid-column:2;justify-content:flex-start;max-width:none}.plan-reschedule{grid-template-columns:1fr}.today-plan{grid-template-columns:60px minmax(0,1fr)}.today-plan a{grid-column:2}.archive-counts{gap:5px}.period-grid{display:block}.period-card{margin-bottom:9px}.guide-committee-card{min-height:0;padding:20px}.guide-committee-card .section-heading{flex-direction:column;gap:4px}.guide-overview .compact-stats strong{font-size:.95rem}.guide-overview .compact-stats span{font-size:.69rem}.archive-counts strong{font-size:1.2rem}.import-panel{padding:19px}.restore-columns{grid-template-columns:1fr}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-controls{justify-content:space-between}.calendar-controls button{flex:1}.lesson-dialog{width:calc(100% - 24px);padding:18px}.lesson-dialog dl div{grid-template-columns:72px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.button,.rail-nav a,.rail-bottom a,.dashboard-quick-nav a,.lesson-card,.guide-committee-nav button{transition:none}.button:hover,.rail-nav a:hover,.rail-bottom a:hover,.dashboard-quick-nav a:hover{transform:none}}
