:root{font-family:Arial,sans-serif;--wash:#edf5ff;--ink:#1c51c5;--sub:#4773d5}
html[data-theme=dark]{--paper:#001f6f;--wash:#cbe2ff;--ink:#fff;--sub:#cbe2ff;--blue:#cbe2ff;--onblue:#001f6f}
body{min-height:100svh}.action{min-height:35px;padding:6px 10px}.ts-brand{font-family:inherit}
html[data-theme=dark] .panel{color:#1c51c5}html[data-theme=dark] .panel .sub,html[data-theme=dark] .panel p,html[data-theme=dark] .panel li{color:#4773d5}
html[data-theme=dark] .panel .action{background:#001f6f;color:#cbe2ff}
html[data-theme=dark] .ts-iconbutton{color:#001f6f}html[data-theme=dark] .field{background:#fff}
html[data-theme=dark] .field input,html[data-theme=dark] .field select{color:#4773d5}
html[data-theme=dark] .outline{color:#cbe2ff;border-color:#cbe2ff}
html[data-theme=dark] .home-icon{color:#001f6f}
html[data-theme=dark] .hero .kicker,html[data-theme=dark] .panel small{color:#4773d5}
html[data-theme=dark] .chevron{border-color:currentColor}
html[data-theme=dark] .mode-icon{color:#cbe2ff}
html[data-theme=dark] .steps li:before{background:#001f6f;color:#fff}
.feedback-intro h2{margin-bottom:5px}.feedback-intro p{margin-bottom:10px;font-size:14px;line-height:17px;color:var(--sub)}
.faculty-card strong{font-weight:600}.source{line-height:14px}.route h1{margin-bottom:0}.route h2{color:#1c51c5}.route p{line-height:16px}
.rooms-missing{font-size:14px;font-weight:700;text-align:center;color:#1c51c5;line-height:17px}
.route hr{border-color:#4773d5}
.ts-nav .back{display:inline-flex;align-items:center;gap:4px}.back-arrow{width:22px;height:10px;flex:none}
.home-tile:disabled,.faculty-card:disabled,.action:disabled{opacity:1;cursor:default}
.home-icon svg{width:auto;height:auto;max-width:none;max-height:none}.rules-tile .home-icon svg{width:36px;height:45px;max-height:none}
.info-copy{font-size:14px;line-height:1.45}.info-copy p+p{margin-top:10px}.info-copy ul{margin:10px 0;padding-left:20px}.info-copy li+li{margin-top:5px}.info-card h2,.info-copy h2{margin-bottom:8px}.info-card p{line-height:1.45}.info-card p+p{margin-top:10px}.info-card a,.info-copy a{display:inline-block;margin-top:8px;text-underline-offset:3px}.teacher-info summary{cursor:pointer;list-style:none;display:grid;gap:6px}.teacher-info summary::-webkit-details-marker,.faculty-detail summary::-webkit-details-marker{display:none}.teacher-info .info-copy{padding-top:12px}.teacher-info[open] summary{border-bottom:1px solid var(--wash);padding-bottom:10px}.faq summary{font-size:16px;line-height:1.3;font-weight:700;cursor:pointer}.faq .info-copy{padding-top:12px}.faq .link{display:inline-block;margin-top:10px}.faculty-detail summary{list-style:none;cursor:pointer}.faculty-detail[open] .chevron{transform:rotate(135deg)}.faculty-copy{margin-top:8px}.action:disabled{cursor:default;opacity:.7}.feedback-intro .notice{margin:8px 0 0}.info-copy .sub{line-height:1.45}
@media(min-width:1024px){.info-copy,.info-card p{font-size:18px}.info-card h2,.faq summary{font-size:22px;line-height:1.3}}
.faculty-card{display:block;position:relative}.faculty-card .chevron{position:absolute;right:10px;top:12px;width:11px;height:11px;transform:rotate(45deg)}
.field:has(select):after{transform:rotate(135deg);top:3px}.field select{background:transparent}.field select option{background:#fff;color:#4773d5}
.corpus-label{display:grid;gap:5px;font-size:16px;line-height:19px;font-weight:700}.corpus-select summary{list-style:none;position:relative;display:flex;align-items:center;min-height:30px;padding:3px 24px 3px 4px;background:#fff;border-radius:6px;cursor:pointer;color:#4773d5;font-size:14px;line-height:16px;font-weight:400}.corpus-select summary::-webkit-details-marker{display:none}.corpus-select summary:after{content:'';position:absolute;right:8px;width:9px;height:9px;border-top:3px solid var(--wash);border-right:3px solid var(--wash);transform:rotate(45deg)}.corpus-select[open] summary:after{transform:rotate(135deg);margin-top:-5px}.corpus-options{display:grid;gap:4px;padding:8px 4px 0}.corpus-options button{padding:0;text-align:left;font-size:14px;line-height:17px;font-weight:400;color:#4773d5}.corpus-options button:hover,.corpus-options button:focus-visible{text-decoration:underline}.field input{height:30px}.field svg{top:6px}
.prototype-note{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 18px;border-radius:12px;box-shadow:0 2px 20px #001f6f22;background:var(--paper);color:var(--ink);border:1px solid var(--wash);max-width:calc(100% - 32px);z-index:20;font-size:14px;text-align:center}
@media(min-width:1024px){.feedback-intro h2{font-size:24px;line-height:30px}.feedback-intro p{font-size:20px;line-height:27px;margin-bottom:16px}.faculty-card{min-height:96px}.faculty-list{gap:20px}.source{font-size:20px;line-height:26px}.route h1{font-size:28px;line-height:34px}.route p,.route h2,.steps{font-size:18px;line-height:24px}.steps{gap:6px}.steps li{grid-template-columns:20px 1fr}.steps li:before{height:20px;font-size:16px;line-height:20px}.rooms-missing{font-size:18px;line-height:24px}.action{min-height:44px}.field:has(select):after{top:12px}}
@media(min-width:1024px){.corpus-label{font-size:20px;line-height:25px}.corpus-select summary,.corpus-options button{font-size:17px;line-height:22px}.corpus-select summary,.field input{min-height:40px}.field svg{top:10px}}
