/* Layout: fixed notebook navigation | top context bar | flowing work area.
   Theme: warm paper, forest ink, lime wayfinding. Motion: 150ms control feedback.
   No external fonts, images, libraries, or network requests. */
:root{--paper:#f8f9f5;--white:#fff;--ink:#24372e;--muted:#607066;--line:#e2e7dc;--green:#174e40;--lime:#d9efad;--soft-green:#edf3e7;--sand:#f9edd7;--radius:16px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.5;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--green)}a,button{-webkit-tap-highlight-color:transparent}button{border:0}button,a{transition:background .15s,color .15s,border-color .15s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #ad671b;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-family:Georgia,"Times New Roman",serif;font-size:42px;letter-spacing:-1.35px;font-weight:500;margin-bottom:14px}h2{font-size:21px;letter-spacing:-.45px;margin-bottom:16px;font-weight:600}h3{font-size:15px;margin-bottom:9px}p{margin-bottom:12px}svg{display:block}.icon{width:20px;height:20px;flex:none}button .icon{width:18px;height:18px}.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}.skip-link{position:fixed;top:-60px;left:12px;background:white;padding:12px;z-index:50}.skip-link:focus{top:12px}
.sidebar{width:237px;height:100vh;position:fixed;inset:0 auto 0 0;background:var(--white);border-right:1px solid var(--line);padding:34px 21px 26px;display:flex;flex-direction:column;z-index:2}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;color:var(--green);font-size:27px;font-weight:700;letter-spacing:-1.2px}.brand-symbol{border:2px solid var(--green);width:37px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:13px 13px 13px 3px;font-family:Georgia,serif;font-size:25px;letter-spacing:-6px;padding-right:7px}.brand-symbol span{transform:translateY(3px)}.brand-sub{display:block;font-size:6.6px;letter-spacing:1.25px;margin-top:1px}.prototype-tag{font-size:10px;letter-spacing:.3px;color:var(--muted);margin:15px 0 45px 49px}.prototype-tag span{padding:0 4px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;align-items:center;gap:13px;text-decoration:none;color:#5b6b61;font-size:13px;font-weight:500;padding:13px 15px;min-height:47px;border-radius:9px}.nav-link:hover{background:#f4f6f0}.nav-link.active{background:#edf3e7;color:#214c3c;font-weight:650}.nav-count{margin-left:auto;background:#dae7ce;border-radius:4px;font-size:10px;padding:1px 5px}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding:24px 8px 0;font-size:11px}.local-dot{height:7px;width:7px;border-radius:50%;background:#558751;display:inline-block;margin-right:6px}.sidebar-bottom strong{font-size:11px}.sidebar-bottom p{color:var(--muted);margin-top:8px;max-width:165px}.sidebar-bottom .text-button{font-size:11px;gap:16px}.workspace{margin-left:237px;min-height:100vh}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:var(--white)}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#a4ada4}.top-actions{display:flex;gap:20px;align-items:center}.route-chip{color:var(--muted);font-size:11px}main{max-width:1450px;margin:0 auto;padding:33px 42px 46px;min-height:calc(100vh - 150px)}.footer{display:flex;justify-content:space-between;gap:20px;margin:0 42px;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.footer span:first-child{font-weight:600}
.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 20px;font-size:12px;font-weight:600;border-radius:7px;border:1px solid transparent;text-decoration:none;white-space:nowrap}.button.primary{background:var(--green);color:white}.button.primary:hover{background:#246c56}.button.secondary{background:white;color:var(--ink);border-color:#dce3d4}.button.secondary:hover{background:#f0f4e9;border-color:#a9bfa5}.button.lime{background:var(--lime);color:#244431}.button.lime:hover{background:#e6f6c8}.button.small{font-size:11px;padding:9px 13px;min-height:39px}.button.full{width:100%}.button-group{display:flex;gap:8px;flex-wrap:wrap}.text-button{background:transparent;color:var(--green);display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;font-weight:600;font-size:12px;padding:8px 0;min-height:36px}.text-button:hover{text-decoration:underline}.text-button .icon{width:15px;height:15px}.text-button.danger{color:#984132}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;margin-bottom:16px;color:#58725a}.caption{font-size:11px;line-height:1.6;color:var(--muted)}.lede{font-size:13px;color:var(--muted);max-width:640px;margin-bottom:0;line-height:1.7}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 30px}.page-head .eyebrow{margin-bottom:12px}.page-head h1{font-size:39px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:31px 0 17px}.section-line h2{font-size:19px;margin:0}.section-line>span{font-size:10px;color:var(--muted)}.demo-banner{background:#edf2df;color:#415c31;border:1px solid #d8e1c9;border-radius:7px;padding:7px 14px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:12px}.demo-banner .text-button{font-size:11px}.notice{display:flex;align-items:flex-start;gap:14px;padding:20px 22px;border:1px solid var(--line);background:#f0f3e9;border-radius:10px;font-size:12px;line-height:1.7;margin:24px 0}.notice>.icon{margin-top:2px;color:#71845e}.notice p{margin:4px 0 0;color:#60705e}.notice strong{font-weight:600}.notice.compact{padding:13px 17px;margin:20px 0}.notice.warning{background:#fcf2df;border-color:#ead6b5;color:#725122}.notice .text-button{margin-right:14px}
.hero{background:var(--green);min-height:340px;border-radius:18px;display:flex;align-items:stretch;overflow:hidden;color:white;position:relative}.hero-copy{width:56%;padding:41px 20px 40px 37px;position:relative;z-index:1}.hero .eyebrow{color:#c2d4b9;font-size:8px;letter-spacing:1.8px;margin-bottom:17px}.hero h1{font-size:53px;line-height:1.04;letter-spacing:-1.9px;margin-bottom:19px}.hero-copy>p:not(.eyebrow){color:#d5e2d5;font-size:12px;max-width:325px;line-height:1.7;margin-bottom:22px}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hero-link{color:#d6e6c9;background:transparent;font-size:10px;font-weight:500;padding:12px 0}.hero-link:hover{color:white;text-decoration:underline}.path-art{position:absolute;right:0;top:15px;bottom:0;width:46%;max-width:470px}.path-art>svg{width:100%;height:100%}.art-card{position:absolute;background:#f4f5df;color:#2e4937;border-radius:11px;box-shadow:0 10px 25px #082d3a25;padding:20px 22px;transform:rotate(-4deg);top:36%;left:10%;width:210px}.art-card>span{display:block;font-size:7px;letter-spacing:1.1px;font-weight:700;margin-bottom:10px}.art-card>strong{font-family:Georgia,serif;font-size:25px;font-weight:500}.art-card>small{display:block;font-size:8px;margin-top:8px;color:#6a785f}.art-label{position:absolute;font-size:9px;padding:9px 12px;border-radius:7px;background:#386554;color:#eaf0d9;border:1px solid #72907c55}.art-uc{top:14%;right:13%;transform:rotate(5deg)}.art-hbcu{bottom:19%;right:5%;transform:rotate(-2deg)}.art-caption{position:absolute;bottom:7%;left:10%;color:#a7c2ab;font-size:9px;letter-spacing:.25px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-card{background:white;border:1px solid var(--line);border-radius:11px;display:flex;justify-content:space-between;padding:21px 22px}.stat-label{font-size:10px;font-weight:500;color:var(--muted)}.stat-card strong{display:block;font-size:35px;letter-spacing:-1px;line-height:1.4;font-weight:500}.stat-card strong small{font-size:11px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:9px}.stat-card p{margin:5px 0 0;font-size:9px;color:var(--muted)}.stat-icon{color:#5d8052;background:#f2f5ec;border-radius:50%;width:33px;height:33px;display:grid;place-items:center}.stat-icon .icon{width:16px;height:16px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.panel+.panel{margin-top:20px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading .eyebrow{font-size:8px;margin-bottom:9px}.panel-heading h2{font-size:19px}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:24px}.dashboard-grid>.panel{margin:0}.next-panel{background:#f0f3e9;display:flex;align-items:flex-start;flex-direction:column}.next-panel h2{font-family:Georgia,serif;font-size:26px;font-weight:400;max-width:230px;line-height:1.2}.next-panel>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8}.next-panel .text-button{font-size:11px}.tiny-rule{width:100%;height:1px;background:#dbe3d1;margin:18px 0}.next-panel .caption{font-size:9px}.start-steps{list-style:none;padding:0;margin:5px 0}.start-steps li{display:flex;gap:16px;margin:20px 0 0}.start-steps li>span{font-size:11px;line-height:27px;color:#77966d;flex:none;width:28px;height:28px;background:#f3f6ef;text-align:center;border-radius:50%}.start-steps strong{font-size:12px;font-weight:600}.start-steps p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.6}
.course-row{display:flex;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #edf0e8}.course-row:last-child{border-bottom:0}.subject-square{background:#f0f3e9;color:#517346;width:44px;height:46px;display:grid;place-items:center;border-radius:8px;font-size:10px;letter-spacing:.3px;font-weight:600;flex:none}.course-main{flex:1;min-width:0}.course-code{font-size:11px;font-weight:700;margin-bottom:5px}.course-code>span{font-size:10px;font-weight:400;color:var(--muted)}.course-row h3{font-size:12px;font-weight:500;line-height:1.4;margin:0 0 4px}.course-row p{font-size:10px;color:var(--muted);margin:0}.course-end{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.badge{display:inline-flex;align-items:center;line-height:1.4;border-radius:4px;padding:4px 7px;font-size:9px;font-weight:500;background:#eff0ec;color:#64715f}.badge.green{background:#eaf2df;color:#46643c}.badge.sand{background:#fbefd8;color:#806022}.badge.lavender{background:#f0edf7;color:#63587f}.badge.muted{background:#eef0ed;color:#5e6b60}.filterbar{display:flex;gap:12px;align-items:center;margin:0 0 20px}.search-field{flex:1;position:relative;display:flex;align-items:center;gap:10px}.search-field>span:not(.sr-only){position:absolute;left:14px;font-size:25px;color:#8b9788;pointer-events:none}.search-field>span:not(.sr-only)+input{padding-left:42px}input:not([type=checkbox]),select{border:1px solid #dce3d4;border-radius:7px;background:white;color:var(--ink);padding:11px 12px;min-height:44px;max-width:100%;width:100%;font-size:12px}input::placeholder{color:#7b887b}.filterbar>label:not(.search-field){min-width:155px}.course-list{padding:5px 25px}.empty-state{text-align:center;padding:42px 25px}.empty-state>.icon{margin:0 auto 20px;width:33px;height:33px;color:#69885c}.empty-state h2{font-family:Georgia,serif;font-size:25px;font-weight:400}.empty-state p{color:var(--muted);max-width:450px;margin:0 auto 22px;font-size:12px}.destination-section{margin:26px 0}.destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.destination-card{position:relative;display:flex;align-items:flex-start;gap:14px;background:white;border:1px solid var(--line);border-radius:10px;padding:21px 16px;cursor:pointer;min-height:122px}.destination-card.selected{background:#f1f6eb;border-color:#839e6d}.destination-card:hover{border-color:#a6b798}.destination-card>input{position:absolute;right:12px;top:11px}.destination-card>span:last-child{padding-top:3px;flex:1}.destination-card strong{display:block;font-size:12px;line-height:1.5;padding-right:8px}.destination-card small{display:block;font-size:9px;color:var(--muted);line-height:1.7;margin-top:7px}.school-symbol{flex:none;width:33px;height:35px;border-radius:7px;background:#e8efdd;color:#496439;display:grid;place-items:center;font-size:10px;font-weight:600}.table-hint{margin:0 0 9px}.matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:white}.matrix{border-collapse:separate;border-spacing:0;text-align:left;min-width:100%;font-size:11px}.matrix th,.matrix td{vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-width:244px;max-width:285px}.matrix th:last-child,.matrix td:last-child{border-right:0}.matrix tr:last-child td,.matrix tr:last-child th{border-bottom:0}.matrix thead th{padding:19px 21px;background:#f1f5e9;color:#314b30;font-weight:600;font-size:12px}.matrix thead th>span{display:block;font-size:8px;color:#708060;letter-spacing:1px;margin-bottom:8px}.matrix tr>th:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:235px;width:235px}.matrix thead tr>th:first-child{background:#f1f5e9;z-index:2}.matrix tbody th{padding:25px 21px;font-weight:400;box-shadow:3px 0 8px #17362304}.matrix tbody th>strong{display:block;font-size:13px;margin-bottom:7px}.matrix tbody th>span{display:block;font-size:10px;color:var(--muted);margin:7px 0}.matrix tbody th>.matrix-title{font-size:11px;color:var(--ink);margin-bottom:12px}.credit-cell{padding:23px 20px;min-height:270px}.credit-cell>.badge{margin-bottom:14px}.credit-cell>strong{display:block;font-size:12px;line-height:1.6}.credit-cell>p{font-size:10px;line-height:1.6;margin:7px 0;color:var(--muted)}.cell-rule{margin:14px 0 10px;padding-top:11px;border-top:1px solid #edf0e8}.cell-rule>span{font-size:9px;font-weight:600;color:#65725d}.cell-rule p{font-size:10px;margin:5px 0;line-height:1.6}.credit-cell .text-button{font-size:10px}.credit-cell p.cell-year{font-size:9px;color:#7d6e43}.planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start}.planner-layout .section-line{margin-top:4px}.candidate{padding:23px}.candidate+.candidate{margin-top:14px}.candidate-top{display:flex;gap:15px}.candidate-number{color:#899c7b;font-size:10px;padding-top:3px}.candidate h2{font-size:18px;margin-bottom:9px}.candidate-reason{font-size:11px;line-height:1.7;margin-top:12px}.candidate-review{font-size:10px;display:flex;align-items:flex-start;gap:9px;line-height:1.7;color:#796339}.candidate-review .icon{width:15px;height:15px;margin-top:2px}.candidate-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.candidate-actions .text-button{font-size:10px}.plan-aside{position:sticky;top:24px;background:#f0f3e9;padding:24px}.plan-aside h2{font-family:Georgia,serif;font-size:28px;font-weight:400}.plan-item{border-top:1px solid #d9e2cf;padding:16px 0 7px}.plan-item>strong{font-size:12px}.plan-item p{font-size:10px;color:var(--muted);margin:5px 0}.plan-item>div{display:flex;gap:20px}.plan-item .text-button{font-size:10px}.plan-empty{padding:24px 0;font-size:12px;color:var(--muted);line-height:1.7}.plan-aside h3{font-size:12px}.checklist{padding-left:16px;font-size:10px;line-height:1.8;color:var(--muted)}.checklist li{margin:9px 0}.plan-aside .button{font-size:10px;margin-top:10px}.summary-intro{font-size:12px;line-height:1.8}.review-questions{font-size:12px;padding-left:20px;line-height:1.8}.review-questions li{margin:8px 0}.summary-evidence{margin-top:30px}.summary-evidence h3{line-height:1.6}details{padding:16px 0;border-bottom:1px solid var(--line)}details:last-child{border-bottom:0}summary{cursor:pointer;font-size:12px;font-weight:500;line-height:1.7;min-height:28px}details[open]>summary{color:var(--green);margin-bottom:20px}
dialog{border:1px solid var(--line);border-radius:17px;padding:0;width:min(590px,calc(100% - 32px));max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #173b3140}dialog::backdrop{background:#132c2573;backdrop-filter:blur(3px)}.wide-dialog{width:min(760px,calc(100% - 32px))}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 29px 19px;border-bottom:1px solid var(--line);background:#f8faf5;position:sticky;top:0;z-index:2}.dialog-head .eyebrow{font-size:8px;margin-bottom:8px}.dialog-head h2{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin:0}.close-button{border-radius:50%;background:white;color:var(--ink);border:1px solid var(--line);width:35px;height:35px;flex:none;line-height:1;font-size:22px}.close-button:hover{background:var(--soft-green)}.dialog-body{padding:24px 29px}.dialog-lede{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:22px}.dialog-body form>label{display:block;font-size:12px;font-weight:500}.dialog-body label>input:not([type=checkbox]),.dialog-body label>select{display:block;margin-top:7px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:20px 0}.form-row>label{font-size:12px;font-weight:500}fieldset{border:0;padding:0;margin:26px 0}legend{font-size:13px;font-weight:600;margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.check-choice{display:flex;align-items:center;gap:10px;font-size:11px;cursor:pointer;min-height:40px;padding:8px 10px;background:#f7f9f3;border-radius:6px;border:1px solid #e3e9db}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex:none;cursor:pointer}.route-info{background:#eef3e6;border-radius:9px;padding:16px;font-size:11px}.route-info p{font-size:10px;color:var(--muted);margin:6px 0 0;line-height:1.7}.form-error{font-size:12px;color:#9a3c2b}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:26px}.catalog-option{display:flex;align-items:center;gap:13px;background:white;color:var(--ink);border-bottom:1px solid var(--line);text-align:left;padding:15px 0;width:100%}.catalog-option:hover{background:#f6f8f1}.catalog-option>span:nth-child(2){flex:1}.catalog-option strong{font-size:12px;display:block;line-height:1.5;font-weight:600}.catalog-option small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:6px}.historical-toggle{background:transparent;border:0;padding-left:0;margin-top:-9px}.course-dialog-title{display:flex;gap:16px;align-items:center;margin-bottom:22px}.course-dialog-title strong{font-size:13px;line-height:1.6}.course-dialog-title p{font-size:11px;color:var(--muted);margin:5px 0 0}.evidence-block dl{display:grid;grid-template-columns:135px 1fr;gap:14px 19px;font-size:12px;line-height:1.7;margin:24px 0}.evidence-block dt{font-size:10px;font-weight:600;color:var(--muted)}.evidence-block dd{margin:0}.evidence-notes{padding:16px 16px 16px 31px;background:#f7f3e6;border-radius:8px;font-size:11px;line-height:1.8;color:#746338}.evidence-notes li+li{margin-top:9px}.evidence-block h3{margin-top:24px;font-size:12px}.source-links{padding-left:16px;font-size:11px}.source-links li{margin:10px 0}.source-links a{line-height:1.7;text-underline-offset:3px}.source-links .icon{display:inline-block;vertical-align:middle;width:12px;height:12px;margin-left:5px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#234d3e;color:white;font-size:12px;max-width:min(550px,calc(100vw - 30px));padding:14px 22px;border-radius:10px;box-shadow:0 8px 25px #0c251e26;z-index:10;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero h1{font-size:64px}.hero-copy{padding:45px}.hero{min-height:390px}.path-art{right:50px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero .eyebrow{font-size:10px}}
@media(max-width:1190px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.workspace{margin-left:210px}main{padding:26px}.topbar{padding:0 26px}.footer{margin:0 26px}.dashboard-grid{grid-template-columns:1.35fr 1fr}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:48px}.hero-copy{padding-left:28px}.art-card{width:180px;padding:17px}.art-card>strong{font-size:22px}.planner-layout{grid-template-columns:minmax(0,1fr) 260px}.candidate-actions{align-items:flex-start;flex-direction:column}.route-chip{display:none}.stat-card{padding:18px 15px}.course-code>span{display:block;margin-top:3px}}
@media(max-width:950px){.sidebar{width:185px}.workspace{margin-left:185px}.brand{font-size:24px;gap:9px}.brand-sub{font-size:5.7px}.brand-symbol{width:32px;height:35px}.prototype-tag{margin-left:40px;font-size:9px}.nav-link{font-size:11px;padding:13px 10px;gap:11px}.dashboard-grid{grid-template-columns:1fr}.next-panel h2{max-width:none}.planner-layout{grid-template-columns:1fr}.plan-aside{position:static}.hero-copy{width:65%;padding:30px 20px 32px 26px}.hero{min-height:340px}.hero h1{font-size:46px}.path-art{width:39%;opacity:.6;right:-20px}.art-card{display:none}.art-label{font-size:8px}.art-caption{display:none}.hero-actions{gap:10px}.stats-grid{gap:9px}.stat-icon{display:none}.stat-card strong{font-size:30px}.stat-card p{font-size:9px}.page-head{align-items:flex-start;flex-direction:column;gap:18px}.page-head h1{font-size:37px}.topbar{height:70px}.section-line{align-items:flex-start}.section-line>span{text-align:right;max-width:45%}.footer{flex-direction:column;gap:4px}}
@media(max-width:700px){:root{font-size:14px}.sidebar{position:static;width:auto;height:auto;padding:18px 18px 0;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:26px}.brand-symbol{width:32px;height:35px}.brand-sub{font-size:6px}.prototype-tag{position:absolute;right:18px;top:17px;margin:0;font-size:9px}.sidebar nav{margin-top:19px;flex-direction:row;gap:4px;overflow-x:auto;justify-content:space-between;padding-bottom:8px}.nav-link{flex-direction:column;font-size:9px;gap:7px;min-width:58px;min-height:62px;padding:9px 8px;border-radius:7px;white-space:nowrap}.nav-link .icon{width:19px;height:19px}.nav-count,.sidebar-bottom{display:none}.workspace{margin:0}.topbar{height:58px;padding:0 18px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 7px}.top-actions .button{font-size:10px;min-height:34px;padding:7px 10px}.top-actions .button .icon{width:13px;height:13px}main{padding:20px 17px 35px;min-height:50vh}.footer{margin:0 18px;font-size:9px}.demo-banner{font-size:10px;align-items:flex-start;gap:3px;flex-direction:column;padding:9px 12px}.demo-banner .text-button{font-size:10px;min-height:30px;padding:3px 0}.hero{min-height:333px;border-radius:13px}.hero-copy{width:87%;padding:31px 24px}.hero h1{font-size:49px}.hero-copy>p:not(.eyebrow){font-size:11px;max-width:250px}.hero .eyebrow{font-size:7px}.hero-actions{gap:11px}.hero .button{font-size:11px;padding:12px 15px}.hero-link{font-size:9px}.path-art{width:44%;opacity:.25;right:-49px;top:20px}.art-label{display:none}.section-line{margin-top:26px}.section-line h2{font-size:17px}.section-line>span{font-size:9px}.stats-grid{gap:8px}.stat-card{padding:14px 10px;border-radius:9px}.stat-card strong{font-size:30px}.stat-card strong small{font-size:9px;margin-left:5px}.stat-label{font-size:9px}.stat-card p{font-size:8px;line-height:1.6}.panel{padding:20px}.panel-heading h2{font-size:18px}.course-row{gap:11px;padding:17px 0}.subject-square{width:35px;height:39px;font-size:9px}.course-row h3{font-size:11px}.course-row p{font-size:9px}.badge{font-size:8px;padding:4px 6px}.course-code{font-size:10px}.course-code>span{font-size:9px}.notice{font-size:11px;padding:16px;gap:10px}.notice>.icon{width:17px;height:17px}.page-head{margin:6px 0 25px}.page-head h1{font-size:36px}.lede{font-size:12px}.filterbar{gap:8px;flex-wrap:wrap}.filterbar .search-field{min-width:180px}.filterbar>label:not(.search-field){min-width:120px;flex:1}.destination-grid{grid-template-columns:1fr}.destination-card{min-height:90px;padding:20px;gap:16px}.destination-card strong{font-size:13px}.destination-card small{font-size:10px}.destination-section .section-line>span{max-width:38%}.matrix tr>th:first-child{min-width:154px;width:154px;max-width:154px}.matrix tbody th{padding:20px 13px}.matrix th,.matrix td{min-width:220px}.matrix thead th{padding:17px 13px}.matrix-title{word-break:normal}.credit-cell{padding:20px 15px}.candidate{padding:20px}.candidate h2{font-size:19px}.candidate-actions{flex-direction:row;align-items:center}.candidate-actions .text-button{font-size:9px}.candidate-actions .button{font-size:10px;padding:9px 12px}.candidate-review{font-size:10px}.planner-layout{gap:24px}.plan-aside{order:-1}.plan-aside h2{font-size:25px}.plan-empty{padding:12px 0}.choice-grid{grid-template-columns:1fr}.dialog-head{padding:20px}.dialog-body{padding:20px}.dialog-head h2{font-size:25px}.form-row{gap:12px}.dialog-body .filterbar{flex-direction:column;align-items:stretch}.dialog-body .filterbar>label{width:100%}.catalog-option strong{font-size:11px}.catalog-option small{font-size:9px}.evidence-block dl{grid-template-columns:1fr;gap:3px}.evidence-block dd{margin-bottom:12px}.dialog-actions{gap:10px;flex-wrap:wrap}.summary-intro{font-size:11px}.review-questions{font-size:11px}.start-steps p{font-size:11px}.next-panel>p:not(.eyebrow){font-size:12px}.button-group{gap:7px}.button-group .button{font-size:11px;padding:10px 14px}.check-choice{min-height:44px}.course-end .text-button{min-height:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:auto;margin:16mm}.sidebar,.topbar,.footer,.demo-banner,.page-head .button-group,#toast,.skip-link,.button,.text-button{display:none!important}.workspace{margin:0}main{padding:0;max-width:none}.page-head h1{font-size:30px}.panel{border:1px solid #ccc;padding:14px;break-inside:avoid}.summary-evidence>.panel{break-inside:auto}details{break-inside:avoid}details>summary{list-style:none;font-weight:bold}.summary-evidence details .evidence-block{display:block!important}.source-links a::after{content:" (" attr(href) ")";font-size:9px;overflow-wrap:anywhere}.evidence-block,.summary-intro,.review-questions{font-size:11px}.source-links,.caption{font-size:9px}body{background:white;color:black}.notice{break-inside:avoid}h1,h2,h3{break-after:avoid}.course-row{break-inside:avoid}}

/* Comfortable tap targets without relying on color for state. */
.text-button,.button.small{min-height:44px}.close-button{width:44px;height:44px}.source-links a{display:inline-flex;align-items:center;min-height:44px}.source-links .icon{flex:none}

/* Optional Journey uses the existing plan and the same evidence states. */
.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;flex-wrap:wrap}
.view-toolbar>p{font-size:10px;color:var(--muted);margin:0}
.view-switch{display:flex;padding:4px;background:#ebeee5;border:1px solid #dce3d3;border-radius:10px;gap:3px}
.view-switch button{background:transparent;min-height:42px;border-radius:7px;padding:8px 15px;font-size:11px;color:#50624f;font-weight:600}
.view-switch button[aria-pressed=true]{color:var(--green);background:white;box-shadow:0 1px 4px #173c1910}
.view-switch button>span{font-size:8px;letter-spacing:.4px;margin-left:7px;padding:3px 5px;background:#e9efd9;border-radius:4px;color:#4b6239}
.journey-back{margin:-10px 0 15px;font-size:11px}.journey-back>span{font-weight:400;color:var(--muted);margin-left:12px}
.journey-hero{display:grid;grid-template-columns:1fr 200px;gap:28px;background:#f1f2db;border:1px solid #e0e5c8;border-radius:18px;padding:35px 38px;position:relative;overflow:hidden}
.journey-hero h1{font-size:46px;letter-spacing:-1.5px;line-height:1.07;max-width:600px;margin-bottom:19px}
.journey-hero>div>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#5e6b51;max-width:410px}
.interest-note{font-size:10px;display:inline-block;margin-top:12px;font-weight:600;color:#4d603d}.interest-note>span{font-weight:400}
.journey-progress{align-self:center;text-align:center;padding:15px 0 5px;position:relative}
.progress-flower{font-size:94px;color:#e2b686;position:absolute;top:-25px;right:0;line-height:1;opacity:.4;transform:rotate(9deg);z-index:0}
.journey-progress>strong{font-size:54px;font-weight:500;line-height:1.2;display:block;position:relative}.journey-progress>strong small{font-size:18px;color:#6a795a;font-weight:400;margin-left:8px}
.journey-progress>span:not(.progress-flower){font-size:11px;font-weight:600;position:relative}
.journey-progress progress{display:block;appearance:none;width:100%;height:6px;border:0;border-radius:8px;overflow:hidden;margin:14px 0;background:#dce2c7}
.journey-progress progress::-webkit-progress-bar{background:#dce2c7}.journey-progress progress::-webkit-progress-value{background:var(--green);border-radius:8px}.journey-progress progress::-moz-progress-bar{background:var(--green);border-radius:8px}
.journey-progress>p{font-size:9px!important;line-height:1.7!important;max-width:200px!important;margin:0 auto}
.journey-next{display:flex;align-items:center;gap:20px;margin:22px 0;padding:21px 25px;border:1px solid #dce6ce;background:#fff;border-radius:12px}
.next-symbol{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--lime);font-size:25px;flex:none}
.journey-next>div:nth-child(2){flex:1}.journey-next .eyebrow{font-size:8px;margin-bottom:7px}.journey-next h2{font-size:19px;margin-bottom:7px}.journey-next p:last-child{font-size:11px;color:var(--muted);margin-bottom:0;line-height:1.7}
.journey-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}
.roadmap .section-line{margin:0 0 22px}.roadmap .section-line h2{font-size:19px}.roadmap .section-line>span{font-size:9px}.roadmap ol{list-style:none;padding:0;margin:0}
.journey-step{display:flex;gap:18px;position:relative;padding:0 0 20px;min-height:119px}.journey-step:not(:last-child)::before{content:"";position:absolute;width:1px;border-left:1px dashed #ccd7c4;left:17px;top:38px;bottom:3px}
.step-marker{width:35px;height:35px;background:#f6f7f1;color:#87947c;border:1px solid #dee5d5;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:600}
.journey-step.done .step-marker{background:#e6efda;border-color:#d6e5c6;color:#446634}.journey-step.next .step-marker{background:var(--green);border-color:var(--green);color:white;box-shadow:0 0 0 4px #eef2e6}
.journey-step>div{padding-top:7px;flex:1}.step-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.step-title h3{font-size:13px;margin:0}.step-title>span{font-size:8px;color:#78826b}.journey-step p{font-size:10px;line-height:1.8;color:var(--muted);margin:9px 0 0}.journey-step .text-button{font-size:10px;min-height:36px}.roadmap-note{font-size:9px;border-top:1px solid var(--line);margin:0;padding-top:16px}
.journey-side .panel{padding:25px}.futures-panel{background:#f2f5ec}.futures-panel h2{font-family:Georgia,serif;font-weight:400;font-size:26px;line-height:1.2;max-width:230px}.future-chips{display:flex;flex-wrap:wrap;gap:8px;margin:19px 0 8px}.future-chips>span{font-size:10px;background:white;border:1px solid #dce4d1;border-radius:7px;padding:8px 10px}.futures-panel .caption{font-size:9px;margin:9px 0 0}.futures-panel .text-button{font-size:11px}
.journey-semester h2{font-size:24px;font-family:Georgia,serif;font-weight:400;margin-bottom:10px}.journey-semester .eyebrow{font-size:8px}.journey-semester>.caption{font-size:10px}.journey-course{padding:16px 0 10px;border-top:1px solid var(--line)}.journey-course>strong{font-size:12px}.journey-course>p{font-size:10px;color:var(--muted);margin:7px 0 0}.journey-course .text-button{font-size:10px;min-height:35px}.journey-semester>.button{margin-top:10px;font-size:10px}.semester-empty{font-size:12px;line-height:1.8;color:var(--muted);padding:14px 0}
.question-prompt{display:flex;align-items:center;gap:25px;padding:26px;background:#fbf1e3;border:1px solid #ebdcc9;border-radius:12px;margin:23px 0}.question-prompt>div{flex:1}.question-prompt h2{font-size:19px}.question-prompt p:not(.eyebrow){font-size:11px;line-height:1.8;color:#6f614e}.question-prompt .eyebrow{font-size:8px;color:#896441}.question-prompt .caption{font-size:9px;color:#75684e}.question-prompt .button{align-self:flex-end;font-size:10px;white-space:normal}
.question-panel{margin-top:23px}.question-panel h2{font-size:19px}.question-panel .eyebrow{font-size:8px}.saved-question{display:flex;gap:20px;padding:21px 0;border-top:1px solid var(--line);align-items:flex-start}.saved-question>div{flex:1;min-width:0;max-width:100%}.saved-question p{font-size:12px;line-height:1.8;margin:12px 0;overflow-wrap:anywhere}.saved-question>.text-button{font-size:10px}.journey-finish{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 4px 0}.journey-finish>p{font-family:Georgia,serif;font-size:22px;margin:0;max-width:320px;line-height:1.4}.journey-finish .button{font-size:11px}.evidence-question{border-top:1px solid var(--line);margin-top:22px}.evidence-question>p{font-size:11px;color:var(--muted)}
textarea{font:inherit;font-size:12px;line-height:1.8;color:var(--ink);width:100%;display:block;border:1px solid #dce3d4;padding:13px;border-radius:8px;background:white;margin-top:9px;resize:vertical;min-height:180px}textarea:focus-visible{outline:3px solid #ad671b;outline-offset:3px}
@media(max-width:1100px){.journey-hero{padding:28px;grid-template-columns:1fr 170px}.journey-hero h1{font-size:39px}.journey-grid{grid-template-columns:1fr}.journey-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.journey-side>.panel{margin:0}.question-prompt{flex-direction:column;align-items:stretch}.question-prompt .button{align-self:flex-start}.view-toolbar>p{font-size:9px}.journey-next{flex-wrap:wrap}.journey-next>.button{margin-left:65px}}
@media(max-width:700px){.view-toolbar{gap:10px;margin:0 0 20px}.view-switch{width:100%;justify-content:center}.view-switch button{flex:1;font-size:10px;padding:8px 7px}.view-switch button>span{font-size:7px;margin-left:4px}.view-toolbar>p{font-size:9px;text-align:center;width:100%}.journey-hero{padding:26px 24px;grid-template-columns:1fr;gap:24px}.journey-hero h1{font-size:39px}.journey-hero>div>p:not(.eyebrow){font-size:12px}.journey-progress{padding:18px 0 0;border-top:1px solid #dce2c7;display:grid;grid-template-columns:auto 1fr;column-gap:18px;text-align:left}.journey-progress>strong{font-size:40px;grid-row:span 2}.journey-progress>strong small{font-size:16px}.journey-progress>span:not(.progress-flower){align-self:end;font-size:10px}.journey-progress progress{margin:7px 0 10px;height:5px}.journey-progress>p{grid-column:span 2;max-width:none!important;font-size:9px!important;width:100%}.progress-flower{font-size:65px;right:5px;top:8px;opacity:.25}.journey-next{padding:20px 18px;gap:15px}.next-symbol{width:35px;height:35px;font-size:22px}.journey-next h2{font-size:18px}.journey-next>.button{margin-left:50px;font-size:10px;min-height:42px}.journey-next p:last-child{font-size:11px}.journey-side{grid-template-columns:1fr}.roadmap .section-line{align-items:flex-start;gap:10px}.roadmap .section-line h2{font-size:18px;max-width:170px}.journey-step{gap:14px}.step-title{align-items:flex-start}.step-title h3{font-size:12px}.step-title>span{font-size:8px;min-width:43px;text-align:right}.journey-step p{font-size:10px}.journey-step .text-button{min-height:44px}.journey-side .panel{padding:22px}.futures-panel h2{max-width:none}.question-prompt{padding:22px}.question-panel .panel-heading{align-items:flex-start;flex-direction:column;gap:0}.question-panel .text-button{font-size:10px}.saved-question{flex-direction:column;gap:0}.saved-question p{font-size:11px}.saved-question .caption{font-size:9px}.journey-finish{flex-direction:column;align-items:flex-start;gap:20px}.journey-finish>p{font-size:23px}.journey-back{font-size:10px}.journey-back>span{font-size:9px;margin-left:5px}}
@media print{.view-toolbar,.journey-back{display:none!important}.question-panel .panel-heading{display:block}.saved-question{break-inside:avoid}}

/* dark-theme:start (generated by scripts/dark-theme.js; do not edit by hand) */
@media screen and (prefers-color-scheme: dark){
:root:not([data-theme="light"]){--paper: #141512;--white: #0d0d0d;--ink: #9eb2a8;--muted: #738279;--line: #22251e;--green: #7aaa9a;--lime: #1f2901;--soft-green: #191c15;--sand: #231b0c;color: var(--ink);background: var(--paper);color-scheme: dark}
:root:not([data-theme="light"]) a{color: var(--green)}
:root:not([data-theme="light"]) button{border: 0}
:root:not([data-theme="light"]) a:focus-visible,:root:not([data-theme="light"]) button:focus-visible,:root:not([data-theme="light"]) input:focus-visible,:root:not([data-theme="light"]) select:focus-visible,:root:not([data-theme="light"]) summary:focus-visible,:root:not([data-theme="light"]) [tabindex="0"]:focus-visible{outline: 3px solid #a06222}
:root:not([data-theme="light"]) .sr-only{border: 0}
:root:not([data-theme="light"]) .skip-link{background: #0d0d0d}
:root:not([data-theme="light"]) .sidebar{background: var(--#0d0d0d);border-right: 1px solid var(--line)}
:root:not([data-theme="light"]) .brand{text-decoration: none;color: var(--green)}
:root:not([data-theme="light"]) .brand-symbol{border: 2px solid var(--green)}
:root:not([data-theme="light"]) .prototype-tag{color: var(--muted)}
:root:not([data-theme="light"]) .nav-link{text-decoration: none;color: #89988e}
:root:not([data-theme="light"]) .nav-link:hover{background: #171814}
:root:not([data-theme="light"]) .nav-link.active{background: #191c15;color: #91b9a8}
:root:not([data-theme="light"]) .nav-count{background: #212a18}
:root:not([data-theme="light"]) .sidebar-bottom{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .local-dot{background: #558151}
:root:not([data-theme="light"]) .sidebar-bottom p{color: var(--muted)}
:root:not([data-theme="light"]) .topbar{border-bottom: 1px solid var(--line);background: var(--#0d0d0d)}
:root:not([data-theme="light"]) .breadcrumb{color: var(--muted)}
:root:not([data-theme="light"]) .breadcrumb span{color: #5b635b}
:root:not([data-theme="light"]) .route-chip{color: var(--muted)}
:root:not([data-theme="light"]) .footer{border-top: 1px solid var(--line);color: var(--muted)}
:root:not([data-theme="light"]) .button{border: 1px solid transparent;text-decoration: none}
:root:not([data-theme="light"]) .button.primary{background: var(--green);color: #0d0d0d}
:root:not([data-theme="light"]) .button.primary:hover{background: #5a9781}
:root:not([data-theme="light"]) .button.secondary{background: #0d0d0d;color: var(--ink);border-color: #25291f}
:root:not([data-theme="light"]) .button.secondary:hover{background: #181b14;border-color: #3a4b37}
:root:not([data-theme="light"]) .button.lime{background: var(--lime);color: #9dbda8}
:root:not([data-theme="light"]) .button.lime:hover{background: #182100}
:root:not([data-theme="light"]) .text-button{background: transparent;color: var(--green)}
:root:not([data-theme="light"]) .text-button:hover{text-decoration: underline}
:root:not([data-theme="light"]) .text-button.danger{color: #d27e6e}
:root:not([data-theme="light"]) .eyebrow{color: #809881}
:root:not([data-theme="light"]) .caption{color: var(--muted)}
:root:not([data-theme="light"]) .lede{color: var(--muted)}
:root:not([data-theme="light"]) .section-line>span{color: var(--muted)}
:root:not([data-theme="light"]) .demo-banner{background: #1b1e11;color: #91ac82;border: 1px solid #272d1c}
:root:not([data-theme="light"]) .notice{border: 1px solid var(--line);background: #191b15}
:root:not([data-theme="light"]) .notice>.icon{color: #788a67}
:root:not([data-theme="light"]) .notice p{color: #869584}
:root:not([data-theme="light"]) .notice.warning{background: #1e180b;border-color: #382a11;color: #b8986e}
:root:not([data-theme="light"]) .hero{background: var(--green);color: #0d0d0d}
:root:not([data-theme="light"]) .hero .eyebrow{color: #3c4935}
:root:not([data-theme="light"]) .hero-copy>p:not(.eyebrow){color: #303930}
:root:not([data-theme="light"]) .hero-link{color: #2d3824;background: transparent}
:root:not([data-theme="light"]) .hero-link:hover{color: #0d0d0d;text-decoration: underline}
:root:not([data-theme="light"]) .art-card{background: #1a1a0c;color: #9cb7a4;box-shadow: 0 10px 25px rgba(0, 0, 0, 0.555)}
:root:not([data-theme="light"]) .art-card>small{color: #828f78}
:root:not([data-theme="light"]) .art-label{background: #6c9585;color: #262a1a;border: 1px solid rgba(86, 112, 95, 0.333)}
:root:not([data-theme="light"]) .art-caption{color: #455b49}
:root:not([data-theme="light"]) .stat-card{background: #0d0d0d;border: 1px solid var(--line)}
:root:not([data-theme="light"]) .stat-label{color: var(--muted)}
:root:not([data-theme="light"]) .stat-card strong small{color: var(--muted)}
:root:not([data-theme="light"]) .stat-card p{color: var(--muted)}
:root:not([data-theme="light"]) .stat-icon{color: #739369;background: #181914}
:root:not([data-theme="light"]) .panel{background: #0d0d0d;border: 1px solid var(--line)}
:root:not([data-theme="light"]) .next-panel{background: #191b15}
:root:not([data-theme="light"]) .next-panel>p:not(.eyebrow){color: var(--muted)}
:root:not([data-theme="light"]) .tiny-rule{background: #252a1e}
:root:not([data-theme="light"]) .start-steps li>span{color: #65815d;background: #161814}
:root:not([data-theme="light"]) .start-steps p{color: var(--muted)}
:root:not([data-theme="light"]) .course-row{border-bottom: 1px solid #1b1d18}
:root:not([data-theme="light"]) .course-row:last-child{border-bottom: 0}
:root:not([data-theme="light"]) .subject-square{background: #191b15;color: #7d9d73}
:root:not([data-theme="light"]) .course-code>span{color: var(--muted)}
:root:not([data-theme="light"]) .course-row p{color: var(--muted)}
:root:not([data-theme="light"]) .badge{background: #1b1c1a;color: #879382}
:root:not([data-theme="light"]) .badge.green{background: #1a1f12;color: #89a680}
:root:not([data-theme="light"]) .badge.sand{background: #221a0a;color: #ad8f5a}
:root:not([data-theme="light"]) .badge.lavender{background: #1d1b21;color: #9c92b8}
:root:not([data-theme="light"]) .badge.muted{background: #1b1c1a;color: #8a978c}
:root:not([data-theme="light"]) .search-field>span:not(.sr-only){color: #6b7669}
:root:not([data-theme="light"]) input:not([type=checkbox]),:root:not([data-theme="light"]) select{border: 1px solid #25291f;background: #0d0d0d;color: var(--ink)}
:root:not([data-theme="light"]) input::placeholder{color: #768176}
:root:not([data-theme="light"]) .empty-state>.icon{color: #708c64}
:root:not([data-theme="light"]) .empty-state p{color: var(--muted)}
:root:not([data-theme="light"]) .destination-card{background: #0d0d0d;border: 1px solid var(--line)}
:root:not([data-theme="light"]) .destination-card.selected{background: #161913;border-color: #51673e}
:root:not([data-theme="light"]) .destination-card:hover{border-color: #424f37}
:root:not([data-theme="light"]) .destination-card small{color: var(--muted)}
:root:not([data-theme="light"]) .school-symbol{background: #1c2115;color: #8ba67c}
:root:not([data-theme="light"]) .matrix-wrap{border: 1px solid var(--line);background: #0d0d0d}
:root:not([data-theme="light"]) .matrix th,:root:not([data-theme="light"]) .matrix td{border-bottom: 1px solid var(--line);border-right: 1px solid var(--line)}
:root:not([data-theme="light"]) .matrix th:last-child,:root:not([data-theme="light"]) .matrix td:last-child{border-right: 0}
:root:not([data-theme="light"]) .matrix tr:last-child td,:root:not([data-theme="light"]) .matrix tr:last-child th{border-bottom: 0}
:root:not([data-theme="light"]) .matrix thead th{background: #181a12;color: #9cb79a}
:root:not([data-theme="light"]) .matrix thead th>span{color: #7c8b6e}
:root:not([data-theme="light"]) .matrix tr>th:first-child{background: #0d0d0d}
:root:not([data-theme="light"]) .matrix thead tr>th:first-child{background: #181a12}
:root:not([data-theme="light"]) .matrix tbody th{box-shadow: 3px 0 8px rgba(0, 0, 0, 0.167)}
:root:not([data-theme="light"]) .matrix tbody th>span{color: var(--muted)}
:root:not([data-theme="light"]) .matrix tbody th>.matrix-title{color: var(--ink)}
:root:not([data-theme="light"]) .credit-cell>p{color: var(--muted)}
:root:not([data-theme="light"]) .cell-rule{border-top: 1px solid #1b1d18}
:root:not([data-theme="light"]) .cell-rule>span{color: #87937f}
:root:not([data-theme="light"]) .credit-cell p.cell-year{color: #9a8c65}
:root:not([data-theme="light"]) .candidate-number{color: #67775a}
:root:not([data-theme="light"]) .candidate-review{color: #a5906a}
:root:not([data-theme="light"]) .candidate-actions{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .plan-aside{background: #191b15}
:root:not([data-theme="light"]) .plan-item{border-top: 1px solid #252b1e}
:root:not([data-theme="light"]) .plan-item p{color: var(--muted)}
:root:not([data-theme="light"]) .plan-empty{color: var(--muted)}
:root:not([data-theme="light"]) .checklist{color: var(--muted)}
:root:not([data-theme="light"]) details{border-bottom: 1px solid var(--line)}
:root:not([data-theme="light"]) details:last-child{border-bottom: 0}
:root:not([data-theme="light"]) details[open]>summary{color: var(--green)}
:root:not([data-theme="light"]) dialog{border: 1px solid var(--line);color: var(--ink);box-shadow: 0 20px 90px rgba(0, 0, 0, 0.6)}
:root:not([data-theme="light"]) dialog::backdrop{background: rgba(0, 0, 0, 0.6)}
:root:not([data-theme="light"]) .dialog-head{border-bottom: 1px solid var(--line);background: #131411}
:root:not([data-theme="light"]) .close-button{background: #0d0d0d;color: var(--ink);border: 1px solid var(--line)}
:root:not([data-theme="light"]) .close-button:hover{background: var(--soft-green)}
:root:not([data-theme="light"]) .dialog-lede{color: var(--muted)}
:root:not([data-theme="light"]) fieldset{border: 0}
:root:not([data-theme="light"]) .check-choice{background: #141512;border: 1px solid #21241b}
:root:not([data-theme="light"]) input[type=checkbox]{accent-color: var(--green)}
:root:not([data-theme="light"]) .route-info{background: #191c14}
:root:not([data-theme="light"]) .route-info p{color: var(--muted)}
:root:not([data-theme="light"]) .form-error{color: #d87d6b}
:root:not([data-theme="light"]) .catalog-option{background: #0d0d0d;color: var(--ink);border-bottom: 1px solid var(--line)}
:root:not([data-theme="light"]) .catalog-option:hover{background: #151612}
:root:not([data-theme="light"]) .catalog-option small{color: var(--muted)}
:root:not([data-theme="light"]) .historical-toggle{background: transparent;border: 0}
:root:not([data-theme="light"]) .course-dialog-title p{color: var(--muted)}
:root:not([data-theme="light"]) .evidence-block dt{color: var(--muted)}
:root:not([data-theme="light"]) .evidence-notes{background: #1b1911;color: #a3936c}
:root:not([data-theme="light"]) #toast{background: #80a898;color: #0d0d0d;box-shadow: 0 8px 25px rgba(0, 0, 0, 0.567)}
@media(max-width:700px){:root:not([data-theme="light"]) .sidebar{border-right: 0;border-bottom: 1px solid var(--line)}}
:root:not([data-theme="light"]) .view-toolbar>p{color: var(--muted)}
:root:not([data-theme="light"]) .view-switch{background: #1d1f19;border: 1px solid #252a1f}
:root:not([data-theme="light"]) .view-switch button{background: transparent;color: #8fa18e}
:root:not([data-theme="light"]) .view-switch button[aria-pressed=true]{color: var(--green);background: #0d0d0d;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.308)}
:root:not([data-theme="light"]) .view-switch button>span{background: #1d2112;color: #8fa57e}
:root:not([data-theme="light"]) .journey-back>span{color: var(--muted)}
:root:not([data-theme="light"]) .journey-hero{background: #1c1d0d;border: 1px solid #262914}
:root:not([data-theme="light"]) .journey-hero>div>p:not(.eyebrow){color: #8c9980}
:root:not([data-theme="light"]) .interest-note{color: #92a583}
:root:not([data-theme="light"]) .progress-flower{color: #6a481f}
:root:not([data-theme="light"]) .journey-progress>strong small{color: #829073}
:root:not([data-theme="light"]) .journey-progress progress{border: 0;background: #282b18}
:root:not([data-theme="light"]) .journey-progress progress::-webkit-progress-bar{background: #282b18}
:root:not([data-theme="light"]) .journey-progress progress::-webkit-progress-value{background: var(--green)}
:root:not([data-theme="light"]) .journey-progress progress::-moz-progress-bar{background: var(--green)}
:root:not([data-theme="light"]) .journey-next{border: 1px solid #232919;background: #0d0d0d}
:root:not([data-theme="light"]) .next-symbol{background: var(--green);color: var(--lime)}
:root:not([data-theme="light"]) .journey-next p:last-child{color: var(--muted)}
:root:not([data-theme="light"]) .journey-step:not(:last-child)::before{border-left: 1px dashed #2d3427}
:root:not([data-theme="light"]) .step-marker{background: #161713;color: #6e7a65;border: 1px solid #24281d}
:root:not([data-theme="light"]) .journey-step.done .step-marker{background: #1c2214;border-color: #232c17;color: #86a778}
:root:not([data-theme="light"]) .journey-step.next .step-marker{background: var(--green);border-color: var(--green);color: #0d0d0d;box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.6)}
:root:not([data-theme="light"]) .step-title>span{color: #7d8671}
:root:not([data-theme="light"]) .journey-step p{color: var(--muted)}
:root:not([data-theme="light"]) .roadmap-note{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .futures-panel{background: #181914}
:root:not([data-theme="light"]) .future-chips>span{background: #0d0d0d;border: 1px solid #24291d}
:root:not([data-theme="light"]) .journey-course{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .journey-course>p{color: var(--muted)}
:root:not([data-theme="light"]) .semester-empty{color: var(--muted)}
:root:not([data-theme="light"]) .question-prompt{background: #1e180f;border: 1px solid #31271a}
:root:not([data-theme="light"]) .question-prompt p:not(.eyebrow){color: #a19381}
:root:not([data-theme="light"]) .question-prompt .eyebrow{color: #aa8767}
:root:not([data-theme="light"]) .question-prompt .caption{color: #9c9077}
:root:not([data-theme="light"]) .saved-question{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .evidence-question{border-top: 1px solid var(--line)}
:root:not([data-theme="light"]) .evidence-question>p{color: var(--muted)}
:root:not([data-theme="light"]) textarea{color: var(--ink);border: 1px solid #25291f;background: #0d0d0d}
:root:not([data-theme="light"]) textarea:focus-visible{outline: 3px solid #a06222}
@media(max-width:700px){:root:not([data-theme="light"]) .journey-progress{border-top: 1px solid #282b18}}
}
@media screen{
:root[data-theme="dark"]{--paper: #141512;--white: #0d0d0d;--ink: #9eb2a8;--muted: #738279;--line: #22251e;--green: #7aaa9a;--lime: #1f2901;--soft-green: #191c15;--sand: #231b0c;color: var(--ink);background: var(--paper);color-scheme: dark}
:root[data-theme="dark"] a{color: var(--green)}
:root[data-theme="dark"] button{border: 0}
:root[data-theme="dark"] a:focus-visible,:root[data-theme="dark"] button:focus-visible,:root[data-theme="dark"] input:focus-visible,:root[data-theme="dark"] select:focus-visible,:root[data-theme="dark"] summary:focus-visible,:root[data-theme="dark"] [tabindex="0"]:focus-visible{outline: 3px solid #a06222}
:root[data-theme="dark"] .sr-only{border: 0}
:root[data-theme="dark"] .skip-link{background: #0d0d0d}
:root[data-theme="dark"] .sidebar{background: var(--#0d0d0d);border-right: 1px solid var(--line)}
:root[data-theme="dark"] .brand{text-decoration: none;color: var(--green)}
:root[data-theme="dark"] .brand-symbol{border: 2px solid var(--green)}
:root[data-theme="dark"] .prototype-tag{color: var(--muted)}
:root[data-theme="dark"] .nav-link{text-decoration: none;color: #89988e}
:root[data-theme="dark"] .nav-link:hover{background: #171814}
:root[data-theme="dark"] .nav-link.active{background: #191c15;color: #91b9a8}
:root[data-theme="dark"] .nav-count{background: #212a18}
:root[data-theme="dark"] .sidebar-bottom{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .local-dot{background: #558151}
:root[data-theme="dark"] .sidebar-bottom p{color: var(--muted)}
:root[data-theme="dark"] .topbar{border-bottom: 1px solid var(--line);background: var(--#0d0d0d)}
:root[data-theme="dark"] .breadcrumb{color: var(--muted)}
:root[data-theme="dark"] .breadcrumb span{color: #5b635b}
:root[data-theme="dark"] .route-chip{color: var(--muted)}
:root[data-theme="dark"] .footer{border-top: 1px solid var(--line);color: var(--muted)}
:root[data-theme="dark"] .button{border: 1px solid transparent;text-decoration: none}
:root[data-theme="dark"] .button.primary{background: var(--green);color: #0d0d0d}
:root[data-theme="dark"] .button.primary:hover{background: #5a9781}
:root[data-theme="dark"] .button.secondary{background: #0d0d0d;color: var(--ink);border-color: #25291f}
:root[data-theme="dark"] .button.secondary:hover{background: #181b14;border-color: #3a4b37}
:root[data-theme="dark"] .button.lime{background: var(--lime);color: #9dbda8}
:root[data-theme="dark"] .button.lime:hover{background: #182100}
:root[data-theme="dark"] .text-button{background: transparent;color: var(--green)}
:root[data-theme="dark"] .text-button:hover{text-decoration: underline}
:root[data-theme="dark"] .text-button.danger{color: #d27e6e}
:root[data-theme="dark"] .eyebrow{color: #809881}
:root[data-theme="dark"] .caption{color: var(--muted)}
:root[data-theme="dark"] .lede{color: var(--muted)}
:root[data-theme="dark"] .section-line>span{color: var(--muted)}
:root[data-theme="dark"] .demo-banner{background: #1b1e11;color: #91ac82;border: 1px solid #272d1c}
:root[data-theme="dark"] .notice{border: 1px solid var(--line);background: #191b15}
:root[data-theme="dark"] .notice>.icon{color: #788a67}
:root[data-theme="dark"] .notice p{color: #869584}
:root[data-theme="dark"] .notice.warning{background: #1e180b;border-color: #382a11;color: #b8986e}
:root[data-theme="dark"] .hero{background: var(--green);color: #0d0d0d}
:root[data-theme="dark"] .hero .eyebrow{color: #3c4935}
:root[data-theme="dark"] .hero-copy>p:not(.eyebrow){color: #303930}
:root[data-theme="dark"] .hero-link{color: #2d3824;background: transparent}
:root[data-theme="dark"] .hero-link:hover{color: #0d0d0d;text-decoration: underline}
:root[data-theme="dark"] .art-card{background: #1a1a0c;color: #9cb7a4;box-shadow: 0 10px 25px rgba(0, 0, 0, 0.555)}
:root[data-theme="dark"] .art-card>small{color: #828f78}
:root[data-theme="dark"] .art-label{background: #6c9585;color: #262a1a;border: 1px solid rgba(86, 112, 95, 0.333)}
:root[data-theme="dark"] .art-caption{color: #455b49}
:root[data-theme="dark"] .stat-card{background: #0d0d0d;border: 1px solid var(--line)}
:root[data-theme="dark"] .stat-label{color: var(--muted)}
:root[data-theme="dark"] .stat-card strong small{color: var(--muted)}
:root[data-theme="dark"] .stat-card p{color: var(--muted)}
:root[data-theme="dark"] .stat-icon{color: #739369;background: #181914}
:root[data-theme="dark"] .panel{background: #0d0d0d;border: 1px solid var(--line)}
:root[data-theme="dark"] .next-panel{background: #191b15}
:root[data-theme="dark"] .next-panel>p:not(.eyebrow){color: var(--muted)}
:root[data-theme="dark"] .tiny-rule{background: #252a1e}
:root[data-theme="dark"] .start-steps li>span{color: #65815d;background: #161814}
:root[data-theme="dark"] .start-steps p{color: var(--muted)}
:root[data-theme="dark"] .course-row{border-bottom: 1px solid #1b1d18}
:root[data-theme="dark"] .course-row:last-child{border-bottom: 0}
:root[data-theme="dark"] .subject-square{background: #191b15;color: #7d9d73}
:root[data-theme="dark"] .course-code>span{color: var(--muted)}
:root[data-theme="dark"] .course-row p{color: var(--muted)}
:root[data-theme="dark"] .badge{background: #1b1c1a;color: #879382}
:root[data-theme="dark"] .badge.green{background: #1a1f12;color: #89a680}
:root[data-theme="dark"] .badge.sand{background: #221a0a;color: #ad8f5a}
:root[data-theme="dark"] .badge.lavender{background: #1d1b21;color: #9c92b8}
:root[data-theme="dark"] .badge.muted{background: #1b1c1a;color: #8a978c}
:root[data-theme="dark"] .search-field>span:not(.sr-only){color: #6b7669}
:root[data-theme="dark"] input:not([type=checkbox]),:root[data-theme="dark"] select{border: 1px solid #25291f;background: #0d0d0d;color: var(--ink)}
:root[data-theme="dark"] input::placeholder{color: #768176}
:root[data-theme="dark"] .empty-state>.icon{color: #708c64}
:root[data-theme="dark"] .empty-state p{color: var(--muted)}
:root[data-theme="dark"] .destination-card{background: #0d0d0d;border: 1px solid var(--line)}
:root[data-theme="dark"] .destination-card.selected{background: #161913;border-color: #51673e}
:root[data-theme="dark"] .destination-card:hover{border-color: #424f37}
:root[data-theme="dark"] .destination-card small{color: var(--muted)}
:root[data-theme="dark"] .school-symbol{background: #1c2115;color: #8ba67c}
:root[data-theme="dark"] .matrix-wrap{border: 1px solid var(--line);background: #0d0d0d}
:root[data-theme="dark"] .matrix th,:root[data-theme="dark"] .matrix td{border-bottom: 1px solid var(--line);border-right: 1px solid var(--line)}
:root[data-theme="dark"] .matrix th:last-child,:root[data-theme="dark"] .matrix td:last-child{border-right: 0}
:root[data-theme="dark"] .matrix tr:last-child td,:root[data-theme="dark"] .matrix tr:last-child th{border-bottom: 0}
:root[data-theme="dark"] .matrix thead th{background: #181a12;color: #9cb79a}
:root[data-theme="dark"] .matrix thead th>span{color: #7c8b6e}
:root[data-theme="dark"] .matrix tr>th:first-child{background: #0d0d0d}
:root[data-theme="dark"] .matrix thead tr>th:first-child{background: #181a12}
:root[data-theme="dark"] .matrix tbody th{box-shadow: 3px 0 8px rgba(0, 0, 0, 0.167)}
:root[data-theme="dark"] .matrix tbody th>span{color: var(--muted)}
:root[data-theme="dark"] .matrix tbody th>.matrix-title{color: var(--ink)}
:root[data-theme="dark"] .credit-cell>p{color: var(--muted)}
:root[data-theme="dark"] .cell-rule{border-top: 1px solid #1b1d18}
:root[data-theme="dark"] .cell-rule>span{color: #87937f}
:root[data-theme="dark"] .credit-cell p.cell-year{color: #9a8c65}
:root[data-theme="dark"] .candidate-number{color: #67775a}
:root[data-theme="dark"] .candidate-review{color: #a5906a}
:root[data-theme="dark"] .candidate-actions{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .plan-aside{background: #191b15}
:root[data-theme="dark"] .plan-item{border-top: 1px solid #252b1e}
:root[data-theme="dark"] .plan-item p{color: var(--muted)}
:root[data-theme="dark"] .plan-empty{color: var(--muted)}
:root[data-theme="dark"] .checklist{color: var(--muted)}
:root[data-theme="dark"] details{border-bottom: 1px solid var(--line)}
:root[data-theme="dark"] details:last-child{border-bottom: 0}
:root[data-theme="dark"] details[open]>summary{color: var(--green)}
:root[data-theme="dark"] dialog{border: 1px solid var(--line);color: var(--ink);box-shadow: 0 20px 90px rgba(0, 0, 0, 0.6)}
:root[data-theme="dark"] dialog::backdrop{background: rgba(0, 0, 0, 0.6)}
:root[data-theme="dark"] .dialog-head{border-bottom: 1px solid var(--line);background: #131411}
:root[data-theme="dark"] .close-button{background: #0d0d0d;color: var(--ink);border: 1px solid var(--line)}
:root[data-theme="dark"] .close-button:hover{background: var(--soft-green)}
:root[data-theme="dark"] .dialog-lede{color: var(--muted)}
:root[data-theme="dark"] fieldset{border: 0}
:root[data-theme="dark"] .check-choice{background: #141512;border: 1px solid #21241b}
:root[data-theme="dark"] input[type=checkbox]{accent-color: var(--green)}
:root[data-theme="dark"] .route-info{background: #191c14}
:root[data-theme="dark"] .route-info p{color: var(--muted)}
:root[data-theme="dark"] .form-error{color: #d87d6b}
:root[data-theme="dark"] .catalog-option{background: #0d0d0d;color: var(--ink);border-bottom: 1px solid var(--line)}
:root[data-theme="dark"] .catalog-option:hover{background: #151612}
:root[data-theme="dark"] .catalog-option small{color: var(--muted)}
:root[data-theme="dark"] .historical-toggle{background: transparent;border: 0}
:root[data-theme="dark"] .course-dialog-title p{color: var(--muted)}
:root[data-theme="dark"] .evidence-block dt{color: var(--muted)}
:root[data-theme="dark"] .evidence-notes{background: #1b1911;color: #a3936c}
:root[data-theme="dark"] #toast{background: #80a898;color: #0d0d0d;box-shadow: 0 8px 25px rgba(0, 0, 0, 0.567)}
@media(max-width:700px){:root[data-theme="dark"] .sidebar{border-right: 0;border-bottom: 1px solid var(--line)}}
:root[data-theme="dark"] .view-toolbar>p{color: var(--muted)}
:root[data-theme="dark"] .view-switch{background: #1d1f19;border: 1px solid #252a1f}
:root[data-theme="dark"] .view-switch button{background: transparent;color: #8fa18e}
:root[data-theme="dark"] .view-switch button[aria-pressed=true]{color: var(--green);background: #0d0d0d;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.308)}
:root[data-theme="dark"] .view-switch button>span{background: #1d2112;color: #8fa57e}
:root[data-theme="dark"] .journey-back>span{color: var(--muted)}
:root[data-theme="dark"] .journey-hero{background: #1c1d0d;border: 1px solid #262914}
:root[data-theme="dark"] .journey-hero>div>p:not(.eyebrow){color: #8c9980}
:root[data-theme="dark"] .interest-note{color: #92a583}
:root[data-theme="dark"] .progress-flower{color: #6a481f}
:root[data-theme="dark"] .journey-progress>strong small{color: #829073}
:root[data-theme="dark"] .journey-progress progress{border: 0;background: #282b18}
:root[data-theme="dark"] .journey-progress progress::-webkit-progress-bar{background: #282b18}
:root[data-theme="dark"] .journey-progress progress::-webkit-progress-value{background: var(--green)}
:root[data-theme="dark"] .journey-progress progress::-moz-progress-bar{background: var(--green)}
:root[data-theme="dark"] .journey-next{border: 1px solid #232919;background: #0d0d0d}
:root[data-theme="dark"] .next-symbol{background: var(--green);color: var(--lime)}
:root[data-theme="dark"] .journey-next p:last-child{color: var(--muted)}
:root[data-theme="dark"] .journey-step:not(:last-child)::before{border-left: 1px dashed #2d3427}
:root[data-theme="dark"] .step-marker{background: #161713;color: #6e7a65;border: 1px solid #24281d}
:root[data-theme="dark"] .journey-step.done .step-marker{background: #1c2214;border-color: #232c17;color: #86a778}
:root[data-theme="dark"] .journey-step.next .step-marker{background: var(--green);border-color: var(--green);color: #0d0d0d;box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.6)}
:root[data-theme="dark"] .step-title>span{color: #7d8671}
:root[data-theme="dark"] .journey-step p{color: var(--muted)}
:root[data-theme="dark"] .roadmap-note{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .futures-panel{background: #181914}
:root[data-theme="dark"] .future-chips>span{background: #0d0d0d;border: 1px solid #24291d}
:root[data-theme="dark"] .journey-course{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .journey-course>p{color: var(--muted)}
:root[data-theme="dark"] .semester-empty{color: var(--muted)}
:root[data-theme="dark"] .question-prompt{background: #1e180f;border: 1px solid #31271a}
:root[data-theme="dark"] .question-prompt p:not(.eyebrow){color: #a19381}
:root[data-theme="dark"] .question-prompt .eyebrow{color: #aa8767}
:root[data-theme="dark"] .question-prompt .caption{color: #9c9077}
:root[data-theme="dark"] .saved-question{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .evidence-question{border-top: 1px solid var(--line)}
:root[data-theme="dark"] .evidence-question>p{color: var(--muted)}
:root[data-theme="dark"] textarea{color: var(--ink);border: 1px solid #25291f;background: #0d0d0d}
:root[data-theme="dark"] textarea:focus-visible{outline: 3px solid #a06222}
@media(max-width:700px){:root[data-theme="dark"] .journey-progress{border-top: 1px solid #282b18}}
}
/* dark-theme:end */
