:root{--paper:#f5f0e6;--paper-deep:#ece5d5;--card:#fffdf8;--field:#fff;--ink:#1d1b17;--ink-2:#4b473f;--ink-3:#6e685c;--rule:#dcd3c0;--rule-strong:#b8ad95;--campus:#17382d;--campus-deep:#0f2820;--campus-soft:#e4ebe3;--brick:#a5432a;--stamp:#9b1d1d;--gold:#9c7a2b;--on-campus:#f6f1e4;--not-yet:#963a1c;--not-yet-bg:#f7e4d9;--partial:#745400;--partial-bg:#f6ebc6;--strong:#1c5a3b;--strong-bg:#dfeadf;--danger:#9c2b2b;--focus:#b3531f;--sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Hoefler Text", Georgia, "Times New Roman", serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:4px;--page:1080px;--narrow:760px;--gutter:32px;--card-shadow:0 1px 2px #40301412, 0 14px 28px -24px #40301480}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#604a200d .6px,#0000 .9px),radial-gradient(#604a2009 .6px,#0000 .9px);background-position:0 0,2px 3px;background-size:5px 5px,7px 7px;margin:0;font-size:16px;line-height:1.6}h1,h2,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--campus);text-underline-offset:3px;text-decoration-thickness:1px}h1{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;font-size:38px;font-weight:700;line-height:1.15}h2{border-bottom:1px solid var(--rule);font-family:var(--serif);color:var(--ink);padding-bottom:8px;font-size:21px;font-weight:600;line-height:1.3}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}main:focus{outline:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-3)}.small{font-size:14px}.loading{padding:96px var(--gutter);text-align:center;font-family:var(--serif);color:var(--ink-3);font-size:18px}.kicker,.overline{letter-spacing:.16em;text-transform:uppercase;font-size:11.5px;font-weight:700}.kicker{color:var(--brick)}.overline{letter-spacing:.1em;color:var(--ink-3)}.crest{aspect-ratio:1;flex:none;width:clamp(76px,52px + 6.5vw,104px);height:auto;display:block}.crest-large{width:clamp(140px,44vw,184px)}.shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:10;border-radius:var(--radius);background:var(--campus);color:var(--on-campus);font:inherit;cursor:pointer;border:0;padding:8px 14px;font-size:14px;font-weight:600;position:absolute;top:8px;left:-9999px}.skip-link:focus-visible{outline-color:var(--on-campus);outline-offset:-4px;left:8px}.masthead{border-bottom:3px double var(--rule-strong);background:var(--card)}.masthead-strip{background:var(--campus);color:var(--on-campus);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.masthead-strip-inner{max-width:var(--page);min-height:34px;padding:5px var(--gutter);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.masthead-strip-inner>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.masthead-session{letter-spacing:.04em;text-transform:none;align-items:center;gap:12px;display:inline-flex}.strip-button{color:inherit;font:inherit;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #f6f1e473;border-radius:3px;padding:3px 11px}.strip-button:hover{border-color:var(--on-campus);background:#f6f1e41a}.strip-button:focus-visible{outline-color:var(--on-campus)}.masthead-inner{max-width:var(--page);padding:18px var(--gutter) 0;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 auto;display:flex}.brand{color:var(--ink);align-items:center;gap:16px;margin-bottom:14px;text-decoration:none;display:inline-flex}.brand-text{flex-direction:column;gap:6px;display:flex}.brand-name{font-family:var(--serif);letter-spacing:-.01em;font-size:31px;font-weight:700;line-height:1}.brand-dot{color:var(--brick)}.brand-sub{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:10.5px;font-weight:600}.nav{gap:6px;display:flex}.nav a{letter-spacing:.02em;color:var(--ink-2);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 14px 12px;font-size:14px;font-weight:600;text-decoration:none}.nav a:hover{border-bottom-color:var(--rule-strong);color:var(--ink)}.nav a[aria-current=page]{border-bottom-color:var(--brick);color:var(--campus)}.notice{background:var(--partial-bg);color:#4d3800;border-bottom:1px solid #e3d29a;font-size:14px}.notice-inner{max-width:var(--page);padding:10px var(--gutter);justify-content:space-between;gap:16px;margin:0 auto;display:flex}main{flex:1}.page{max-width:var(--page);padding:52px var(--gutter) 80px;flex-direction:column;gap:48px;margin:0 auto;display:flex}.page.narrow{max-width:var(--narrow)}.page>section,.stack{flex-direction:column;gap:18px;display:flex}.footer{max-width:calc(var(--page) - var(--gutter) * 2);width:calc(100% - var(--gutter) * 2);border-top:3px double var(--rule-strong);color:var(--ink-3);flex-direction:column;gap:4px;margin:0 auto;padding:22px 0 40px;font-size:13px;display:flex}.page-head{flex-direction:column;gap:12px;display:flex}.page-head .actions{margin-top:8px}.lede{max-width:64ch;color:var(--ink-2);font-size:17px;line-height:1.6}.page-head .lede{font-family:var(--serif);font-size:19px;line-height:1.55}.project{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.section-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:10px;display:flex}.section-head h2{border-bottom:0;padding-bottom:0}.section-note{color:var(--ink-3);font-size:13.5px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions.end{justify-content:flex-end}.actions.between{justify-content:space-between}.plain-list{flex-direction:column;gap:8px;padding-left:18px;list-style:outside;display:flex}.plain-list li::marker{color:var(--rule-strong)}.two-col,.three-col{gap:32px;display:grid}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col>*,.three-col>*{flex-direction:column;gap:10px;display:flex}.button{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);height:40px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:0 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex;box-shadow:0 1px #40301414}.button:hover{border-color:var(--ink-3);background:var(--field)}.button.primary{border-color:var(--campus-deep);background:var(--campus);color:var(--on-campus);box-shadow:inset 0 -2px #00000038}.button.primary:hover{background:var(--campus-deep)}.button.small{height:34px;padding:0 13px;font-size:13px}.button.danger{color:var(--danger)}.button:disabled{opacity:.5;cursor:not-allowed}.link-button,.quiet-link{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.quiet-link{color:var(--ink-3);white-space:nowrap}.link-button:disabled{opacity:.5;cursor:not-allowed}.badge{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:3px;padding:2px 9px;font-size:11.5px;font-weight:700;line-height:1.5;display:inline-block}.badge-empty{color:var(--rule-strong)}.grade-not_yet{background:var(--not-yet-bg);color:var(--not-yet);border-color:#963a1c59}.grade-partial{background:var(--partial-bg);color:var(--partial);border-color:#74540059}.grade-strong{background:var(--strong-bg);color:var(--strong);border-color:#1c5a3b59}.status{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3);border:1.5px solid;border-radius:3px;align-items:center;gap:7px;padding:2px 9px 2px 8px;font-size:11px;font-weight:700;line-height:1.55;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-not_started{border-style:dashed}.status-diagnostic_in_progress,.status-diagnostic_complete,.status-learning{color:var(--campus)}.status-verification_needed,.status-teach_back_needed,.status-ownership_needed{color:var(--partial)}.status-verified{background:var(--strong-bg);color:var(--strong)}.tag{border:1px solid var(--rule-strong);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-radius:3px;padding:1px 7px;font-size:10.5px;font-weight:700}.tag-accent{border-color:var(--campus);background:var(--campus);color:var(--on-campus)}.tag-serious{border-color:var(--not-yet);color:var(--not-yet)}.tag-archived{color:var(--ink-2);border-style:dashed}.archived-curriculum{border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--card);margin-top:28px;padding:12px 16px}.archived-curriculum>summary{cursor:pointer;font-weight:600}.archived-curriculum .rows{max-height:420px;overflow-y:auto}.archived-notice{overflow-wrap:anywhere}.portal-head{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:40px;display:grid}.portal-intro{flex-direction:column;gap:12px;display:flex}.portal-intro h1{font-size:46px}.portal-intro .lede{font-family:var(--serif);font-size:19px;line-height:1.55}.standing{border:1px solid var(--rule);border-top:4px solid var(--campus);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px 22px;display:flex}.standing-title{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.3}.standing .button{margin-top:4px}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.stats>div{border:1px solid var(--rule);border-left:4px solid var(--campus);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;gap:2px;padding:18px 22px 20px;display:flex}.stats>div:nth-child(2){border-left-color:var(--gold)}.stats>div:nth-child(3){border-left-color:var(--strong)}.stats dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-size:11.5px;font-weight:700}.stats dd{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:46px;font-weight:700;line-height:1.1}.stats .stat-note{font-family:var(--sans);color:var(--ink-3);font-size:13px;font-weight:400;line-height:1.45}.loop{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);grid-template-columns:repeat(6,minmax(0,1fr));padding:26px 24px 24px;display:grid}.loop li{flex-direction:column;gap:4px;padding-right:16px;display:flex;position:relative}.loop li:before{content:"";background:var(--rule-strong);height:2px;position:absolute;top:18px;left:38px;right:0}.loop li:last-child:before{display:none}.loop-index{border:2px solid var(--campus);background:var(--card);width:38px;height:38px;font-family:var(--serif);color:var(--campus);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;margin-bottom:8px;font-size:17px;font-weight:700;display:grid;position:relative}.loop li:last-child .loop-index{background:var(--campus);color:var(--on-campus)}.loop-name{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.25}.loop-detail{color:var(--ink-3);font-size:13.5px;line-height:1.45}.empty{border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--card);text-align:center;padding:40px 24px}table{border-collapse:collapse;width:100%}th{border-bottom:1px solid var(--rule-strong);letter-spacing:.12em;text-transform:uppercase;text-align:left;white-space:nowrap;color:var(--ink-3);padding:0 16px 10px 0;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:16px 16px 16px 0;font-size:14px}th:last-child,td:last-child{padding-right:0}.ledger{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);position:relative;overflow:hidden}.ledger th{background:var(--paper-deep);padding:11px 16px 10px 0}.ledger th:first-child,.ledger td:first-child{padding-left:20px}.ledger th:last-child,.ledger td:last-child{padding-right:20px}.milestones th:first-child{width:36%}.ledger tbody tr:last-child td{border-bottom:0}.ledger tbody tr:hover{background:#ece5d573}.cell-milestone{flex-direction:column;gap:3px;display:flex}.milestone-link{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:600;line-height:1.3;text-decoration:none}.milestone-link:hover{color:var(--campus);text-decoration:underline}.cell-date{color:var(--ink-2);white-space:nowrap}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .button+.button{margin-left:8px}.field{flex-direction:column;gap:8px;display:flex}.field-label{letter-spacing:.02em;color:var(--ink-2);font-size:13px;font-weight:700}.field-row{align-items:center;gap:14px;display:flex}textarea,select,.text-input{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--field);width:100%;color:var(--ink);font:inherit}textarea{resize:vertical;padding:14px 16px}select{height:40px;padding:0 12px}.text-input{height:46px;padding:0 14px}textarea:focus,select:focus,.text-input:focus{outline:2px solid var(--campus);outline-offset:-1px;border-color:var(--campus)}.text-input[aria-invalid=true]{border-color:var(--not-yet)}textarea::placeholder{color:#9a917f}.code-input,.preview pre{font-family:var(--mono);font-size:13px;line-height:1.55}.panel{border:1px solid var(--rule);border-left:4px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;gap:8px;padding:20px 22px;display:flex}.panel .actions{margin-top:8px}.panel-ok{border-left-color:var(--strong)}.panel-error{border-left-color:var(--not-yet)}.panel-warn{border-left-color:#c2901a}.panel-title{font-family:var(--sans);border-bottom:0;padding-bottom:0;font-size:16px;font-weight:700}.panel-heading{font-family:var(--serif);font-size:19px;font-weight:600}.panel-note{color:var(--partial);font-size:14px}.archive{margin-top:18px}.archive-counts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px 18px;margin:4px 0;display:grid}.archive-counts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:700}.archive-counts dd{font-family:var(--serif);font-size:19px;font-weight:600}.error-list{color:var(--ink-2);overflow-wrap:anywhere;flex-direction:column;gap:6px;padding-left:18px;font-size:14px;list-style:outside;display:flex}.field-error{color:var(--not-yet);font-size:14px;font-weight:500}.rows>li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.rows>li>div{flex-direction:column;gap:3px;min-width:0;display:flex}.preview{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}.preview summary{cursor:pointer;padding:10px 14px;font-size:14px;font-weight:600}.preview pre{border-top:1px solid var(--rule);max-height:420px;color:var(--ink-2);margin:0;padding:14px;overflow:auto}.session{gap:36px}.session-head{flex-direction:column;gap:16px;display:flex}.session-context{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.phase-track{gap:6px;display:grid}.phase-track li{border-top:4px solid var(--rule);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;padding-top:10px;font-size:11.5px;font-weight:700;display:flex}.phase-track .phase-done{border-top-color:var(--rule-strong);color:var(--ink-2)}.phase-track .phase-current{border-top-color:var(--campus);color:var(--campus)}.phase-index{font-family:var(--serif);font-variant-numeric:tabular-nums;opacity:.7;font-size:13px}.phase-name{letter-spacing:.16em;text-transform:uppercase;color:var(--brick);font-size:12px;font-weight:700}.step{flex-direction:column;gap:22px;display:flex}.step h2{margin-top:16px}.prompt{letter-spacing:-.005em;text-wrap:pretty;font-size:27px;font-weight:600;line-height:1.34}.answer-form{flex-direction:column;gap:14px;display:flex}.guidance{color:var(--ink-2);font-size:15.5px}.answer-input{min-height:280px;padding:18px 20px;font-size:17px;line-height:1.65}.prose{overflow-wrap:anywhere;flex-direction:column;gap:16px;display:flex}.prose p{white-space:pre-wrap}.teaching{font-family:var(--serif);gap:20px;font-size:18.5px;line-height:1.72}.key-points,.step>section{flex-direction:column;gap:12px;display:flex}.frozen-answer{border:1px solid var(--rule);border-left:4px solid var(--gold);border-radius:var(--radius);background:var(--paper-deep);flex-direction:column;gap:10px;padding:20px 24px;font-size:16.5px;line-height:1.65;display:flex}.reveal,.concept-defs{flex-direction:column;gap:12px;display:flex}.concept-defs dt{font-weight:700}.concept-defs dd{color:var(--ink-2);font-size:15px}.outline>li{border-bottom:1px solid var(--rule);grid-template-columns:130px minmax(0,1fr);gap:16px;padding:13px 0;display:grid}.outline-phase{letter-spacing:.1em;text-transform:uppercase;color:var(--campus);font-size:11.5px;font-weight:700;line-height:2.2}.result-pair,.overview{border:1px solid var(--rule);border-top:4px solid var(--campus);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);gap:0;display:grid}.result-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.overview{grid-template-columns:repeat(4,minmax(0,1fr))}.result{flex-direction:column;gap:8px;padding:22px 24px;display:flex}.result+.result{border-left:1px solid var(--rule)}.result-grade .badge{padding:4px 14px;font-size:14px}.result-grade .status{padding:4px 12px 4px 10px;font-size:12.5px}.status-line{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.change-line{font-family:var(--serif);color:var(--ink-2);margin-top:-28px;font-size:18px;font-style:italic}.concept-names{flex-direction:column;gap:6px;font-size:15px;display:flex}.compare{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compare-col{flex-direction:column;gap:12px;min-width:0;padding:24px 26px 28px;display:flex}.compare-col+.compare-col{border-left:1px solid var(--rule)}.compare-label{letter-spacing:.14em;text-transform:uppercase;color:var(--campus);font-size:11.5px;font-weight:700}.compare-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.compare-prompt{color:var(--ink-3);font-size:14px;line-height:1.5}.compare-answer{font-family:var(--serif);font-size:17px;line-height:1.65}.history>li{border-bottom:1px solid var(--rule)}.history summary{cursor:pointer;flex-direction:column;gap:6px;padding:16px 28px 16px 0;list-style:none;display:flex;position:relative}.history summary::-webkit-details-marker{display:none}.history summary:after{content:"+";color:var(--ink-3);font-size:18px;position:absolute;top:14px;right:4px}.history details[open] summary:after{content:"–"}.history-prompt{font-weight:600;line-height:1.5}.history-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.grade-trail{flex-wrap:wrap;gap:6px;display:inline-flex}.history-body{padding-bottom:16px}.attempts{border-left:2px solid var(--rule);flex-direction:column;gap:20px;margin-bottom:16px;padding:4px 0 20px 18px;display:flex}.attempts>li{flex-direction:column;gap:8px;display:flex}.reflection{flex-direction:column;gap:12px;padding-top:16px;display:flex}.sessions td{padding-top:12px;padding-bottom:12px}.confidence{color:var(--ink-2);border:0;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:13px;display:flex}.confidence legend{float:left;color:var(--ink-3);margin-right:8px;padding:0}.confidence-option{border:1px solid var(--rule-strong);background:var(--card);cursor:pointer;border-radius:3px;padding:4px 12px;position:relative}.confidence-option input{opacity:0;pointer-events:none;position:absolute}.confidence-option:hover{border-color:var(--ink-3)}.confidence-option:has(input:checked){border-color:var(--campus);background:var(--campus-soft);color:var(--campus);font-weight:700}.confidence-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.gate{border:1px solid var(--rule);border-left:4px solid var(--campus);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;gap:8px;padding:20px 22px;display:flex}.gate-error{border-left-color:var(--not-yet)}.gate-title{align-items:center;gap:10px;font-weight:700;display:flex}.gate .actions{margin-top:6px}.unsaved-result{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spinner{border:2px solid var(--rule-strong);border-top-color:var(--campus);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.assessment-head{flex-direction:column;gap:10px;display:flex}.assessment-grade{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.assessment-grade .badge{padding:4px 14px;font-size:14px}.feedback{flex-direction:column;gap:14px;display:flex}.feedback-text{font-family:var(--serif);font-size:18px;line-height:1.65}.finding{border-left:3px solid var(--rule-strong);flex-direction:column;gap:8px;padding-left:16px;display:flex}.finding-serious{border-left-color:var(--not-yet)}.finding h2{border-bottom:0;padding-bottom:0;font-size:18px}.finding-list{flex-direction:column;gap:12px;display:flex}.finding-list p .tag,.finding-detail .tag,.not-suggested .tag{margin-left:8px}.finding-detail{color:var(--ink-2);font-size:15px}.answer-reviews{flex-direction:column;display:flex}.answer-reviews>li{border-bottom:1px solid var(--rule);flex-direction:column;gap:12px;padding:18px 0;display:flex}.next-note{border-top:1px solid var(--rule);color:var(--ink-2);padding-top:16px}.requirements{flex-direction:column;display:flex}.requirement{border-bottom:1px solid var(--rule);grid-template-columns:22px minmax(0,1fr);gap:10px;padding:11px 0;display:grid}.requirement-mark{font-weight:700;line-height:1.6}.requirement-met .requirement-mark{color:var(--strong)}.requirement-unmet .requirement-mark{color:var(--not-yet)}.requirement-na{color:var(--ink-3)}.requirement-label{font-weight:600;display:block}.requirement-detail{color:var(--ink-3);font-size:14px;display:block}.verified-note{max-width:64ch}.wide-gap{gap:48px}.wide-gap>section{gap:16px}.journey{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.journey>li{border-left:1px solid var(--rule);flex-direction:column;gap:10px;min-width:0;padding:22px 20px;display:flex}.journey>li:first-child{border-left:0}.journey-stage{font-family:var(--serif);color:var(--campus);font-size:17px;font-weight:600}.journey-outcomes{flex-direction:column;gap:9px;font-size:15px;display:flex}.journey-outcomes>li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.outcome{white-space:nowrap;font-size:13px;font-weight:700}.outcome-strong{color:var(--strong)}.outcome-partial{color:var(--partial)}.outcome-not_yet{color:var(--not-yet)}.outcome-empty{color:var(--ink-3);font-weight:500}.tabs{border-bottom:1px solid var(--rule-strong);gap:4px;margin-top:6px;display:flex}.tabs a{color:var(--ink-3);border-bottom:3px solid #0000;margin-bottom:-1px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none}.tabs a:hover{color:var(--ink)}.tabs a[aria-current=page]{border-bottom-color:var(--brick);color:var(--campus)}.source-label{color:var(--ink-3);overflow-wrap:anywhere;font-size:13px}.source-summary{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-deep);color:var(--ink-2);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;padding:12px 16px;font-size:14px;display:flex}.save-failure{margin-top:16px}.character-count{font-variant-numeric:tabular-nums;margin-top:-8px}.unit-list{flex-direction:column;gap:10px;display:flex}.unit-card{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);cursor:pointer;grid-template-columns:18px minmax(0,1fr);gap:14px;padding:18px 20px;display:grid}.unit-card:hover{border-color:var(--ink-3)}.unit-card input{width:16px;height:16px;accent-color:var(--campus);margin:5px 0 0}.unit-selected{border-color:var(--campus);box-shadow:inset 0 0 0 1px var(--campus)}.unit-body{flex-direction:column;gap:6px;min-width:0;display:flex}.unit-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.unit-title{font-family:var(--serif);font-size:18px;font-weight:600}.unit-why{color:var(--ink-2);font-size:15px}.unit-themes{color:var(--ink-2);font-size:13.5px}.unit-warning{color:var(--partial);border-left:2px solid #c2901a;padding-left:10px;font-size:14px}.not-suggested{border-top:1px solid var(--rule);flex-direction:column;gap:12px;padding:14px;display:flex}.project-facts{border-left:3px solid var(--campus);padding-left:16px}.project-facts h2{border-bottom:0;margin-top:0;padding-bottom:0;font-size:18px}.visual-aids{gap:18px}.visual-aid{border:1px solid var(--rule);border-top:3px solid var(--campus);border-radius:var(--radius);background:var(--card);min-width:0;box-shadow:var(--card-shadow);overflow-wrap:anywhere;flex-direction:column;gap:16px;margin:0;padding:20px 22px 16px;display:flex;container-type:inline-size}.visual-aid.scope-project{border-top-color:var(--gold)}.va-head{flex-direction:column;gap:4px;display:flex}.va-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:10.5px;font-weight:700;display:flex}.va-scope{border:1px solid;border-radius:3px;padding:1px 7px}.va-scope-general{color:var(--campus)}.va-scope-project{color:var(--gold);background:#fbf4e2}.va-title{font-family:var(--serif);text-wrap:balance;border:0;margin:0;padding:0;font-size:19px;font-weight:600;line-height:1.3}.va-caption{color:var(--ink-2);font-size:14.5px}.va-body{min-width:0}.va-provenance{border-top:1px dashed var(--rule);color:var(--ink-3);flex-direction:column;gap:6px;padding-top:10px;font-size:13px;line-height:1.5;display:flex}.va-basis summary{cursor:pointer;color:var(--campus);font-weight:600}.va-basis ul{border-left:2px solid var(--gold);color:var(--ink-2);flex-direction:column;gap:4px;margin-top:6px;padding-left:12px;display:flex}.va-supports{color:var(--ink-3);font-size:12.5px;display:block}.va-label{color:var(--ink);font-size:14.5px;font-weight:650;line-height:1.35;display:block}.va-detail{color:var(--ink-2);margin-top:2px;font-size:13px;line-height:1.4;display:block}.va-graph{flex-direction:column;display:flex}.va-row{display:grid}.va-cell{justify-content:center;align-items:flex-start;min-width:0;padding:0 5px;display:flex}.va-node{border:1px solid var(--rule-strong);background:var(--paper);text-align:center;border-radius:6px;width:100%;max-width:280px;padding:10px 12px;position:relative}.visual-state-machine .va-node{border-color:var(--campus);border-radius:18px}.va-node-end{box-shadow:inset 0 0 0 3px var(--paper), inset 0 0 0 4px var(--campus)}.va-marker{letter-spacing:.1em;text-transform:uppercase;color:var(--campus);margin-bottom:2px;font-size:9.5px;font-weight:700;display:block}.va-annotations{border-top:1px dotted var(--rule-strong);color:var(--ink-2);text-align:left;flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;font-size:12.5px;line-height:1.4;display:flex}.va-annotations li{gap:6px;display:flex}.va-annotation-icon{color:var(--gold);flex:none;font-weight:700}.va-band{height:40px;position:relative}.va-band-labelled{height:54px}.va-band svg{width:100%;height:calc(100% - 7px);position:absolute;top:0;left:0;overflow:visible}.va-band path{fill:none;stroke:var(--campus);stroke-width:1.5px}.va-arrowhead{border-top:7px solid var(--campus);border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;bottom:0;transform:translate(-50%)}.va-edge-label{border:1px solid var(--rule);background:var(--card);max-width:46%;color:var(--ink-2);text-align:center;border-radius:999px;padding:0 7px;font-size:11.5px;line-height:1.5;position:absolute;top:44%;transform:translate(-50%,-50%)}.va-tree{font-size:14px}.va-decision{border:1px solid var(--rule-strong);background:var(--paper);border-radius:6px;max-width:100%;padding:8px 12px;display:inline-block}.va-question{border-color:var(--campus)}.va-outcome{border-left:3px solid var(--gold);background:var(--card)}.va-tree-branches{margin-left:14px}.va-tree-branches>li{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 0 0 22px;display:flex;position:relative}.va-tree-branches>li:before{content:"";border-left:1.5px solid var(--campus);position:absolute;top:0;bottom:0;left:0}.va-tree-branches>li:last-child:before{height:20px;bottom:auto}.va-tree-branches>li:after{content:"";border-top:1.5px solid var(--campus);width:18px;position:absolute;top:20px;left:0}.va-branch-label{border:1px solid var(--campus);background:var(--card);letter-spacing:.06em;text-transform:uppercase;color:var(--campus);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;line-height:18px}.va-layers{flex-direction:column;gap:6px;display:flex}.va-layer{border:1px solid var(--rule);background:var(--paper);border-radius:6px;grid-template-columns:128px minmax(0,1fr);display:grid;overflow:hidden}.va-layer-label{background:var(--campus);letter-spacing:.08em;text-transform:uppercase;color:var(--on-campus);align-items:center;padding:10px 12px;font-size:11.5px;font-weight:700;display:flex}.va-items{flex-wrap:wrap;gap:8px;padding:10px;display:flex}.va-item{border:1px solid var(--rule-strong);background:var(--card);border-radius:4px;flex:150px;min-width:0;padding:8px 10px}.va-relations{flex-direction:column;gap:6px;margin-top:14px;font-size:13.5px;display:flex}.va-subhead{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.va-relations ul{flex-direction:column;gap:4px;display:flex}.va-relation{color:var(--gold)}.va-relation em{color:var(--ink-2)}.va-timeline{flex-direction:column;gap:14px;display:flex}.va-timeline li{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;display:grid;position:relative}.va-timeline li:not(:last-child):before{content:"";border-left:2px solid var(--rule-strong);position:absolute;top:30px;bottom:-12px;left:13px}.va-dot{background:var(--campus);width:28px;height:28px;color:var(--on-campus);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.va-event{padding-top:3px}.va-compare{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px;line-height:1.45}.va-compare th,.va-compare td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:9px 10px}.va-compare thead td:first-child,.va-compare tbody th{width:28%}.va-compare thead th{border-bottom:2px solid var(--campus);letter-spacing:.06em;text-transform:uppercase;color:var(--campus);font-size:11.5px;font-weight:700}.va-compare tbody th{background:var(--paper);letter-spacing:normal;text-transform:none;color:var(--ink);font-size:14px;font-weight:650}.va-cell-label{display:none}@container (width<=520px){.va-compare,.va-compare tbody,.va-compare tr,.va-compare th,.va-compare td{width:auto;display:block}.va-compare thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.va-compare tbody tr{border-bottom:1px solid var(--rule);padding:10px 0}.va-compare tbody th{background:0 0;border:0;width:auto;padding:0 0 6px}.va-compare td{border:0;border-left:2px solid var(--gold);margin-top:6px;padding:2px 0 2px 10px}.va-cell-label{letter-spacing:.08em;text-transform:uppercase;color:var(--campus);font-size:10.5px;font-weight:700;display:block}}@container (width<=480px){.va-layer{grid-template-columns:minmax(0,1fr)}.va-layer-label{padding:6px 10px}.va-cell{padding:0 3px}.va-node{padding:8px}.va-label{font-size:13.5px}.va-detail,.va-annotations{font-size:12px}}.concept-review{border:1px solid var(--rule);border-left:4px solid var(--campus);border-radius:var(--radius);background:var(--paper-deep);padding:12px 16px}.concept-review>summary{cursor:pointer;color:var(--campus);font-weight:650}.concept-review[open]>*+*{margin-top:14px}.signin-page{background:radial-gradient(90% 60% at 50% 0,#17382d1f,#0000 70%);flex-direction:column;justify-content:center;align-items:center;gap:22px;min-height:100vh;padding:48px 20px;display:flex}.signin-card{border:1px solid var(--rule);border-top:6px solid var(--campus);border-radius:var(--radius);background:var(--card);flex:none;width:min(100%,440px);box-shadow:0 1px 2px #40301414,0 30px 60px -40px #40301499}.signin-crest{border-bottom:3px double var(--rule-strong);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 32px 24px;display:flex}.signin-wordmark{font-family:var(--serif);letter-spacing:-.015em;margin-top:6px;font-size:46px;font-weight:700;line-height:1}.signin-est{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:12px}.signin-body{flex-direction:column;gap:16px;padding:26px 32px 30px;display:flex}.signin-body h1{text-align:center;font-size:27px}.signin-lede{text-align:center;color:var(--ink-2);font-size:15.5px}.signin-form{flex-direction:column;gap:14px;margin-top:4px;display:flex}.signin-access{border-bottom:1px solid var(--rule);font-family:var(--sans);padding-bottom:8px}.signin-submit{letter-spacing:.14em;text-transform:uppercase;width:100%;height:46px;font-size:13.5px}.signin-notice{border:1px solid #963a1c4d;border-left:4px solid var(--not-yet);border-radius:var(--radius);background:var(--not-yet-bg);flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px;font-size:15px;display:flex}.signin-admissions{text-align:center;color:var(--ink-3);font-size:13px}.signin-admissions .link-button{color:var(--campus);font-weight:600}.admissions{background:0 0;border:0;width:min(100% - 32px,440px);max-width:none;padding:0;overflow:visible}.admissions::backdrop{background:#0f28208c}.admissions-notice{border:1px solid var(--rule);border-top:6px solid var(--campus);border-radius:var(--radius);background:var(--card);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:34px clamp(20px,6vw,32px) 30px;display:flex;box-shadow:0 30px 70px -30px #0f2820b3}.admissions-notice h2{border-bottom:0;padding-bottom:0;font-size:clamp(25px,7vw,30px);font-weight:700}.admissions-verdict{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:700}.admissions-stamp{box-shadow:inset 0 0 0 3px var(--card), inset 0 0 0 5px currentColor;color:var(--stamp);font-family:var(--serif);letter-spacing:.1em;opacity:.9;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;border:5px solid;border-radius:7px;margin:16px 0;padding:8px 20px 6px;font-size:clamp(36px,11vw,50px);font-weight:800;line-height:1;transform:rotate(-8deg);-webkit-mask-image:radial-gradient(circle at 7% 24%,#0000 0 1.6px,#000 2.3px),radial-gradient(circle at 24% 84%,#0000 0 2.4px,#000 3.1px),radial-gradient(circle at 41% 9%,#0000 0 1.3px,#000 2px),radial-gradient(circle at 58% 70%,#0000 0 2px,#000 2.7px),radial-gradient(circle at 77% 18%,#0000 0 1.5px,#000 2.2px),radial-gradient(circle at 91% 79%,#0000 0 2.2px,#000 2.9px),radial-gradient(circle at 35% 45%,#0000 0 1px,#000 1.6px),linear-gradient(98deg,#000 0%,#000000bd 38%,#000 62%,#000000db 100%);mask-image:radial-gradient(circle at 7% 24%,#0000 0 1.6px,#000 2.3px),radial-gradient(circle at 24% 84%,#0000 0 2.4px,#000 3.1px),radial-gradient(circle at 41% 9%,#0000 0 1.3px,#000 2px),radial-gradient(circle at 58% 70%,#0000 0 2px,#000 2.7px),radial-gradient(circle at 77% 18%,#0000 0 1.5px,#000 2.2px),radial-gradient(circle at 91% 79%,#0000 0 2.2px,#000 2.9px),radial-gradient(circle at 35% 45%,#0000 0 1px,#000 1.6px),linear-gradient(98deg,#000 0%,#000000bd 38%,#000 62%,#000000db 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.admissions-capacity{font-family:var(--serif);color:var(--ink-3);margin-bottom:8px;font-size:15px;font-style:italic}.signin-term{letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--ink-3);margin-top:6px;font-size:11px;font-weight:600}.signin-term span{white-space:nowrap}.course-code{border:1px solid var(--campus);background:var(--campus-soft);font-family:var(--mono);letter-spacing:.04em;color:var(--campus);white-space:nowrap;border-radius:3px;padding:1px 7px;font-size:12px;font-weight:700;line-height:1.5;display:inline-block}.course-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.course-identity{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.course-identity .course-code{padding:2px 9px;font-size:13.5px}.course-level{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;font-size:12px;font-weight:700}.difficulty{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink-3);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.difficulty:before{content:"";background:linear-gradient(90deg,currentColor 33%,#0000 33%);border:1px solid;border-radius:1px;width:18px;height:6px}.difficulty-intermediate:before{background:linear-gradient(90deg,currentColor 66%,#0000 66%)}.difficulty-advanced:before{background:currentColor}.difficulty-foundational{color:var(--strong)}.difficulty-intermediate{color:var(--partial)}.difficulty-advanced{color:var(--brick)}.step-overline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;display:flex}.cell-level{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.registration dl{flex-wrap:wrap;gap:8px 32px;display:flex}.registration dt{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.registration dd{font-weight:600}.syllabus{counter-reset:syllabus;flex-direction:column;display:flex}.syllabus li{border-bottom:1px solid var(--rule);counter-increment:syllabus;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.syllabus li>span:first-child:before{content:counter(syllabus) ".";min-width:28px;font-family:var(--serif);color:var(--ink-3);font-weight:700;display:inline-block}.course-grade{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.academic-summary{flex-direction:column;gap:14px;display:flex}.gpa-figure{color:var(--campus)}.record-strip{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.record-strip>div{padding:12px 20px 14px}.record-strip>div+div{border-left:1px solid var(--rule)}.record-strip dt{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.record-strip dd{font-family:var(--serif);font-size:18px;font-weight:600}.filters{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-deep);flex-wrap:wrap;align-items:flex-end;gap:12px 16px;padding:14px 18px;display:flex}.filters label{letter-spacing:.12em;text-transform:uppercase;min-width:170px;color:var(--ink-3);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.filters select{letter-spacing:normal;text-transform:none;font-size:14px}.filters-count{color:var(--ink-3);margin-left:auto;padding-bottom:9px;font-size:13.5px}.catalog-product{flex-direction:column;gap:10px;display:flex}.catalog-product-name{font-family:var(--serif);align-items:baseline;gap:10px;margin:8px 0 0;font-size:19px;font-weight:700;display:flex}.catalog-prefix{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-3);font-size:12px;font-weight:700}.courses th:first-child{width:42%}.level-cell{flex-direction:column;gap:2px;display:flex}.cell-grade{font-variant-numeric:tabular-nums;white-space:nowrap}.document{border:1px solid var(--rule-strong);background:var(--card);box-shadow:var(--card-shadow);border-radius:2px;padding:40px 44px 36px;position:relative}.document:after{content:"";border:1px solid var(--rule);pointer-events:none;position:absolute;inset:7px}.document-head{border-bottom:3px double var(--rule-strong);align-items:center;gap:20px;padding-bottom:18px;display:flex}.document-school{font-family:var(--serif);font-size:28px;font-weight:700;line-height:1.1}.document-sub{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.document .document-title{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--brick);border:0;margin-top:8px;padding:0;font-size:15px;font-weight:700}.document-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:22px 0 26px;display:grid}.document-fields dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.document-fields dd{font-family:var(--serif);font-size:17px;font-weight:600}.transcript-table th{padding-top:8px;font-size:10px}.transcript-table td{padding:10px 12px 10px 0;font-size:13.5px}.transcript-code{font-family:var(--mono);white-space:nowrap;font-weight:700}.document-foot{border-top:3px double var(--rule-strong);flex-direction:column;gap:6px;margin-top:22px;padding-top:14px;font-size:14px;font-weight:600;display:flex}.document-foot .muted{font-weight:400}.certificate,.diploma{border:2px solid var(--gold);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:56px 48px 52px;display:flex}.certificate:after,.diploma:after{border:1px solid var(--gold);inset:9px}.certificate .crest,.diploma .crest{margin-bottom:6px}.certificate-presents,.certificate-text,.certificate-date,.certificate-evidence{max-width:56ch;font-family:var(--serif);color:var(--ink-2);font-size:17px}.certificate-presents{margin-top:18px;font-style:italic}.certificate-name,.diploma-name{font-family:var(--serif);color:var(--campus);font-size:56px;font-weight:700;line-height:1.1}h1.certificate-title{margin:6px 0 8px;font-size:30px}.certificate-evidence{font-family:var(--sans);font-size:14px}.certificate-date{margin-top:10px;font-size:15px}.diploma-name{margin-top:18px;font-size:72px}.diploma-text{max-width:40ch;font-family:var(--serif);text-wrap:balance;margin:12px 0 16px;font-size:23px;font-style:italic;line-height:1.45}.diploma-fields{border-top:1px solid var(--gold);flex-wrap:wrap;justify-content:center;gap:12px 40px;padding-top:16px;display:flex}.diploma-fields dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.diploma-fields dd{font-family:var(--serif);font-size:17px;font-weight:600}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.cert-card{border:1px solid var(--rule);border-top:4px solid var(--gold);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.cert-card h3{font-family:var(--serif);margin:0;font-size:19px}.tiers{flex-direction:column;gap:12px;display:flex}.tier{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.tier-head{justify-content:space-between;align-self:stretch;gap:12px;font-size:14px;font-weight:700;display:flex}.tier-count{font-variant-numeric:tabular-nums;color:var(--ink-2)}.meter{background:var(--paper-deep);border-radius:3px;align-self:stretch;height:6px;overflow:hidden}.meter span{background:var(--gold);height:100%;display:block}.tier-earned .meter span{background:var(--strong)}.tier-earned .tier-name:after{content:" · Earned";color:var(--strong)}.commencement-progress{flex-direction:column;gap:12px;max-width:560px;display:flex}.commencement-count{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.commencement-progress .meter{border-radius:5px;height:10px}.directory-layout{grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:start;gap:40px;display:grid}.directory-search{flex-direction:column;gap:6px;display:flex}.directory-search label{color:var(--ink-2);font-size:13px;font-weight:700}.directory-total{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:13px;font-weight:700}.directory-none{border:1px dashed var(--rule-strong);border-radius:var(--radius);background:var(--card);color:var(--ink-2);padding:22px 20px}.directory-entry{border:1px solid var(--rule);border-left:4px solid var(--campus);border-radius:var(--radius);background:var(--card);box-shadow:var(--card-shadow);flex-direction:column;gap:4px;padding:18px 20px;display:flex}.directory-name{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.2}.student-id{border:1px solid var(--rule-strong);background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #40301414,0 22px 40px -26px #40301499}.student-id-head{border-bottom:3px solid var(--gold);background:var(--campus);color:var(--on-campus);align-items:center;gap:14px;padding:14px 20px;display:flex}.student-id-head .crest{background:var(--card);border-radius:50%;width:64px}.student-id-school{font-family:var(--serif);font-size:24px;font-weight:700;line-height:1.1}.student-id-head .brand-dot{color:#e2b35a}.student-id-kind{letter-spacing:.18em;text-transform:uppercase;opacity:.85;font-size:10.5px;font-weight:700}.student-id-body{grid-template:"photo name""photo fields"1fr/156px minmax(0,1fr);column-gap:20px;padding:18px 20px 20px;display:grid}.student-id-photo-frame{aspect-ratio:3/4;border:1px solid var(--rule-strong);background:var(--paper-deep);border-radius:6px;grid-area:photo;align-self:start;overflow:hidden;box-shadow:0 1px 2px #4030141f}.student-id-photo{object-fit:cover;object-position:12% 0;transform-origin:45% 6%;width:100%;height:100%;display:block;transform:scale(1.36)}.student-id-name{font-family:var(--serif);grid-area:name;margin-top:-4px;font-size:40px;font-weight:700;line-height:1.1}.student-id-fields{grid-area:fields;grid-template-columns:auto minmax(0,1fr);align-self:start;gap:10px 18px;padding-top:10px;display:grid}.student-id-fields dt{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-weight:700}.student-id-fields dd{font-size:14.5px;font-weight:600}.offices{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.offices li{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);flex-direction:column;align-items:flex-start;gap:6px;padding:16px 18px;display:flex}.office-name{font-family:var(--serif);font-size:17px;font-weight:700}.office-note{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:700}@media (width<=900px){.portal-head{grid-template-columns:1fr;gap:24px}.loop{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.loop li:nth-child(3):before{display:none}}@media (width<=760px){:root{--gutter:20px}h1{font-size:30px}.portal-intro h1{font-size:34px}.page{gap:36px;padding-top:32px;padding-bottom:56px}.masthead-strip{letter-spacing:.04em;font-size:9.5px}.strip-button{letter-spacing:.1em}.masthead-session{flex:none}.path-section .section-head{flex-direction:column;gap:2px}.portal-intro .lede{font-size:17.5px}.masthead-inner{flex-direction:column;align-items:stretch;gap:0;padding-top:14px}.brand{margin-bottom:10px}.nav{margin:0 calc(var(--gutter) * -1);padding:0 calc(var(--gutter) - 12px);border-top:1px solid var(--rule);gap:0}.nav a{text-align:center;flex:1;padding:10px 12px}.page-head .lede{font-size:17.5px}.prompt{font-size:22px}.teaching{font-size:17.5px}.loop{grid-template-columns:1fr;row-gap:0;padding:18px 18px 8px}.loop li{grid-template-columns:38px minmax(0,1fr);column-gap:14px;padding:0 0 16px;display:grid}.loop li:before,.loop li:nth-child(3):before{width:2px;height:auto;display:block;inset:38px auto 0 18px}.loop li:last-child:before{display:none}.loop-index{grid-row:1/span 2;margin-bottom:0}.loop-name{align-self:end}.stats{grid-template-columns:1fr;gap:10px}.stats>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:12px 18px;display:grid}.stats dt{grid-area:1/1}.stats dd{grid-area:1/2/span 2;font-size:36px}.stats .stat-note{grid-area:2/1;font-size:13px}.section-head{align-items:flex-start}.two-col,.three-col,.result-pair,.overview,.compare,.journey{grid-template-columns:1fr}.journey>li{border-left:0;border-top:1px solid var(--rule);padding:18px 20px}.journey>li:first-child{border-top:0}.result{padding:18px 20px}.result+.result{border-left:0;border-top:1px solid var(--rule)}.compare-col{padding:20px}.compare-col+.compare-col{border-left:0;border-top:1px solid var(--rule)}.change-line{margin-top:-16px}.phase-track li{letter-spacing:0;white-space:nowrap;font-size:9px}.phase-index{display:none}.outline>li{grid-template-columns:1fr;gap:2px}.rows>li,.actions.between{flex-direction:column;align-items:flex-start}table,tbody,tr,td{display:block}thead{display:none}tr{border-bottom:1px solid var(--rule);padding:16px 0}.ledger tr{padding:16px 18px}.ledger tbody tr:last-child{border-bottom:0}td,.ledger td:first-child,.ledger td:last-child{border:0;justify-content:space-between;align-items:center;gap:16px;padding:5px 0;display:flex}.sessions td{padding:4px 0}td[data-label]:before{content:attr(data-label);color:var(--ink-3);font-size:13px}.cell-milestone{padding-bottom:6px}td.cell-actions,.ledger td.cell-actions{justify-content:flex-start;padding-top:12px}.signin-crest{padding:28px 22px 20px}.signin-body{padding:22px 22px 26px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation:none}}@media (width<=1040px){.masthead-inner{flex-direction:column;align-items:stretch;gap:0;padding-top:14px}.brand{margin-bottom:10px}.nav{margin:0 calc(var(--gutter) * -1);padding:0 calc(var(--gutter) - 12px);border-top:1px solid var(--rule);gap:0}.nav a{text-align:center;flex:1}}@media (width<=900px){.overview{grid-template-columns:repeat(2,minmax(0,1fr))}.overview .result:nth-child(3){border-left:0}.directory-layout{grid-template-columns:1fr}.student-id{max-width:520px}.record-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.record-strip>div:nth-child(3){border-left:0}.record-strip>div:nth-child(n+3){border-top:1px solid var(--rule)}}@media (width<=760px){.nav{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.nav a{grid-column:span 2;padding:9px 4px;font-size:13.5px}.nav a:nth-child(n+4){grid-column:span 3}.tabs{flex-wrap:wrap}.tabs a{white-space:nowrap;padding:8px 10px}.filters label{flex:100%;min-width:0}.filters-count{margin-left:0;padding-bottom:0}.level-cell{flex-direction:row;align-items:center;gap:10px}.document{padding:26px 20px 24px}.document-head .crest{width:64px}.document-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.transcript-table tr{padding:12px 0}.transcript-table td{padding:3px 0}.certificate,.diploma{padding:36px 22px 32px}.certificate-name{font-size:42px}.diploma-name{font-size:52px}.diploma-text{font-size:19px}.offices{grid-template-columns:1fr}.student-id-name{font-size:34px}.student-id-body{grid-template-columns:128px minmax(0,1fr);column-gap:14px;padding:16px}.student-id-fields{grid-template-columns:minmax(0,1fr);gap:7px;padding-top:6px}.syllabus li{align-items:flex-start}}@media print{body{background:#fff}.masthead,.footer,.notice,.skip-link,.tabs,.no-print,.academics>.page-head{display:none!important}.page{gap:0;max-width:none;padding:0}.document{box-shadow:none;break-inside:avoid}.transcript{break-inside:auto}.transcript-table tr{break-inside:avoid}.button{display:none}}
