@font-face{font-family:Inter;src:url('./fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
/* Map results fit their content; long routes scroll without covering the map. */
.map-page .campus-tools button{flex-shrink:0;white-space:nowrap}
@media(min-width:641px){body.map-page .campus-tools{max-width:280px}}
#campus-sheet[data-snap=map] .cu-collapse{display:none}
#campus-sheet .cu-page.cu-map-view{padding:0;overflow:auto;overscroll-behavior:contain}
#campus-sheet .cu-event-return{display:flex;align-items:center;gap:14px;width:100%;max-width:none;border:0;border-radius:0;padding:12px 24px 18px!important;font:14px/1.4 Inter,system-ui,sans-serif}
#campus-sheet .cu-event-return>button{flex:none;min-height:44px;padding:10px 12px;border-radius:12px;background:#eef4ff;color:var(--cu-link);font:600 13px Inter,system-ui,sans-serif}
#campus-sheet .cu-event-return>div{min-width:0;flex:1 1 auto}#campus-sheet .cu-event-return strong{display:block;font-size:17px;line-height:1.3;overflow-wrap:anywhere}#campus-sheet .cu-event-return small{display:block;font-size:12px;color:var(--cu-muted);line-height:1.4;margin-top:4px}
#campus-sheet .cu-map-card{height:auto;margin:0;padding:4px 24px 18px;background:#fff;color:var(--cu-navy)}
#campus-sheet .cu-map-card>.cu-back{padding:6px 0 10px;min-height:44px}#campus-sheet .cu-map-card h2{font-size:20px;line-height:1.25;margin:4px 0 6px;letter-spacing:-.45px;overflow-wrap:anywhere}#campus-sheet .cu-map-card p{font-size:13px;line-height:1.45;color:var(--cu-muted);margin:0}
@media(max-width:640px){#campus-sheet .cu-event-return{align-items:flex-start;flex-direction:column;flex-wrap:nowrap;gap:8px;padding:4px 20px 16px!important}#campus-sheet .cu-event-return>button{background:none;padding:0;min-height:44px}#campus-sheet .cu-event-return>div{flex:0 1 auto;width:100%}#campus-sheet .cu-map-card{padding-inline:20px}}
#campus-sheet .cu-terms{padding-bottom:32px}
#campus-sheet .cu-terms h1{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:10px 0 4px}
#campus-sheet .cu-terms h2{font-size:17px;line-height:1.3;letter-spacing:0;margin:22px 0 7px}
#campus-sheet .cu-terms p{font-size:14px;line-height:1.6;color:var(--cu-navy);margin:0 0 10px}
#campus-sheet .cu-terms .cu-terms-date{font-size:12px;color:var(--cu-muted);margin-bottom:18px}
.cu-map-zoom{position:fixed;z-index:740;left:max(20px,env(safe-area-inset-left));bottom:86px;display:flex;flex-direction:column;background:white;border:1px solid #e6eaf1;border-radius:18px;box-shadow:0 4px 18px #10235116;color:var(--cu-navy)}
.cu-map-zoom button{display:grid;place-items:center;width:48px;height:48px;min-height:48px;border:0;background:transparent;color:inherit;font-size:27px;line-height:1;touch-action:manipulation;border-radius:15px}
.cu-map-zoom button+button{border-top:1px solid #e6eaf1;border-top-left-radius:0;border-top-right-radius:0}
.cu-map-zoom button:last-of-type{font-size:18px;font-weight:650}.cu-map-zoom button:hover{background:#eef4ff;color:var(--cu-link)}.cu-map-zoom button:active{background:#deebff}.cu-map-zoom button:disabled{opacity:.4;cursor:default}
#cu-gesture-help{position:absolute;left:60px;bottom:0;width:240px;background:#fff;color:var(--cu-muted);font-size:12px;line-height:1.7;padding:16px;margin:0;border:1px solid #e6eaf1;border-radius:16px;box-shadow:0 4px 18px #10235116}#cu-gesture-help strong{color:var(--cu-navy);font-size:14px}
.campus-experience,.campus-pin,.campus-vectors{touch-action:none;-webkit-user-select:none;user-select:none}.campus-experience{cursor:grab}.campus-experience:active{cursor:grabbing}
@media(max-width:640px){.cu-map-zoom{left:max(12px,env(safe-area-inset-left));bottom:calc(100dvh - var(--sheet-top) + 16px);transition:bottom .28s cubic-bezier(.2,.7,.2,1)}body:has(#campus-sheet[data-snap=full]) .cu-map-zoom,.cu-map-obscured .cu-map-zoom,.cu-map-obscured .cu-map-actions,.cu-map-obscured .campus-tools{visibility:hidden;pointer-events:none}#cu-gesture-help{width:min(240px,calc(100vw - 86px));left:58px}body.map-page .campus-tools button{min-width:44px;min-height:44px;font-size:11px}body.map-page .campus-tools [data-action=north]{color:var(--cu-link)}}
@media(max-height:520px) and (min-width:641px){.cu-map-zoom{left:12px;bottom:16px}}
:root{--cu-blue:#0965ff;--cu-navy:#102351;--cu-muted:#71809e;--cu-line:#e6eaf1;--keyboard-inset:0px;font-family:Inter,system-ui,sans-serif;color:var(--cu-navy);font-synthesis:none}
body.map-page{overflow:hidden;background:#e1ead8}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,input{ -webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #1266f5;outline-offset:3px}
.cu-icon{display:inline-block;flex:none;width:24px;height:24px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}
.cu-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;padding:0!important;border:0!important}
[hidden],#action-bar[hidden]{display:none!important}.map-hint,.map-page #open-pulse,.map-page .pulse-action{display:none!important}
.cu-brand{position:fixed;z-index:750;top:24px;left:24px;display:flex;align-items:center;gap:9px;border:0;border-radius:32px;background:#fff;color:var(--cu-navy);padding:13px 22px;box-shadow:0 3px 18px #15305410;font-size:22px;font-weight:650;letter-spacing:-.6px}.cu-brand strong{font-family:Georgia,serif;font-size:30px;font-weight:900;letter-spacing:-1.8px}
#campus-sheet{position:fixed;z-index:800;bottom:calc(20px + var(--keyboard-inset));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;width:520px;max-width:calc(100vw - 32px);height:190px;max-height:calc(100dvh - 92px - var(--keyboard-inset));margin:0;border:0;border-radius:26px;background:#fff;box-shadow:0 10px 40px #10235124;color:var(--cu-navy);overflow:hidden;transition:height .3s cubic-bezier(.2,.7,.2,1),bottom .2s ease;isolation:isolate}
#campus-sheet.is-dragging{transition:none;user-select:none}.cu-handle{flex:none;height:30px;width:100%;display:grid;place-items:center;background:transparent;border:0;touch-action:none;cursor:ns-resize}.cu-handle>span{width:48px;height:5px;border-radius:9px;background:#bdc7d6;transition:background .15s}.cu-handle:hover>span{background:#778bac}.cu-collapse{position:absolute;right:20px;top:14px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#f5f6f9;color:var(--cu-navy);z-index:3}.cu-collapse .cu-icon{width:21px;height:21px}#campus-sheet[data-snap=peek] .cu-collapse{display:none}
.cu-content{min-height:0;flex:1;overflow:hidden}.cu-page{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd4e0 transparent}.cu-tabs{flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:4px 6px 9px;background:#fff;border-top:1px solid var(--cu-line);height:84px;z-index:5}.cu-tabs button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--cu-navy);font-size:12px;line-height:18px;white-space:nowrap;border-radius:14px;transition:color .15s,background .15s}.cu-tabs button .cu-icon{width:27px;height:27px;box-sizing:content-box;padding:8px;mask-size:27px;-webkit-mask-size:27px}.cu-tabs button[aria-selected=true]{color:var(--cu-link);font-weight:650}.cu-tabs button[aria-selected=true] .cu-icon{filter:drop-shadow(0 0 10px #1266f526)}.cu-tabs button:hover{background:#f2f6ff}.cu-tabs button[aria-selected=true]{background:#eef4ff}
.cu-explore-home{padding:5px 24px 18px}.cu-explore-home h1,.cu-hub h1{font-size:27px;letter-spacing:-1px;line-height:1.2;margin:12px 0 22px;font-weight:760}.cu-search{display:flex;align-items:center;gap:12px;padding:0 16px;background:#eef1f6;border-radius:24px;height:54px;color:#6e7c98}.cu-search>.cu-icon{width:24px;height:24px}.cu-search input{width:100%;min-width:0;background:none;border:0;outline-offset:7px;font-size:16px;color:var(--cu-navy);height:100%}.cu-search input::placeholder{color:var(--cu-placeholder);opacity:1}.cu-search input::-webkit-search-cancel-button{cursor:pointer}
#campus-sheet[data-snap=peek] .cu-explore-home{padding:8px 20px 14px}#campus-sheet[data-snap=peek] .cu-explore-home h1,#campus-sheet[data-snap=peek] .cu-explore-body{display:none}.cu-section-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0 4px;gap:12px}.cu-section-heading h2{font-size:14px;color:var(--cu-muted);margin:0;font-weight:650}.cu-section-heading button{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--cu-link);padding:8px 0;font-size:13px;font-weight:600}.cu-section-heading .cu-icon{width:19px;height:19px}
.cu-place-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid var(--cu-line);padding:17px 0;color:var(--cu-navy)}.cu-place-row:last-child{border-bottom:0}.cu-place-row>.cu-icon:first-child{width:24px;height:24px;padding:9px;box-sizing:content-box;mask-size:24px;-webkit-mask-size:24px;background-color:var(--cu-navy)}.cu-place-row>span:nth-child(2){flex:1;min-width:0}.cu-place-row strong{display:block;font-size:17px;letter-spacing:-.35px;font-weight:700}.cu-place-row small{display:block;color:var(--cu-muted);font-size:13px;line-height:1.45;margin-top:3px}.cu-place-row:hover{background:#f7f9fd}.cu-place-row>.cu-icon:last-child{width:18px;height:18px;color:#556783}.cu-empty{padding:24px 0;color:var(--cu-muted);font-size:14px;line-height:1.6}.cu-primary{display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:16px;padding:14px 18px;background:var(--cu-blue);color:white;font-weight:650;min-height:48px;width:100%}.cu-primary:hover{background:#0754d4}.cu-back{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--cu-link);padding:12px 20px;font-size:14px;font-weight:600}.cu-back>.cu-icon{width:20px;height:20px}
#place-detail{padding:0 24px 24px}#place-detail h2{font-size:26px;letter-spacing:-.6px;margin:18px 0 8px}#place-detail p{color:var(--cu-muted);line-height:1.5;font-size:14px}.cu-place-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.cu-save-place{border:1px solid var(--cu-line);background:#f3f6fc;border-radius:50%;width:44px;height:44px;color:var(--cu-link);display:grid;place-items:center}.cu-save-place[aria-pressed=true]{background:#e5efff}.cu-place-links{display:flex;gap:8px;margin-top:16px}
.cu-map-actions{position:fixed;z-index:740;right:24px;bottom:86px;display:flex;flex-direction:column;align-items:center;gap:12px}.cu-map-actions button{border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 4px 18px #10235116;transition:transform .15s,background .15s}.cu-map-actions button:hover{transform:translateY(-2px)}.cu-recenter{width:62px;height:62px;border-radius:50%;background:#fff;color:var(--cu-link)}.cu-recenter .cu-icon{width:30px;height:30px}.cu-recenter[aria-pressed=true]{background:#e9f1ff}.cu-recenter[aria-busy=true] .cu-icon{animation:cu-spin 1.2s linear infinite}.cu-report{width:68px;height:82px;gap:4px;border-radius:27px;background:#ffc72c;color:var(--cu-navy);font-size:15px;font-weight:700}.cu-report .cu-icon{width:30px;height:30px}#cu-location-feedback{position:absolute;right:80px;bottom:94px;background:#fff;border-radius:14px;padding:12px 15px;min-width:200px;max-width:260px;font-size:12px;line-height:1.5;box-shadow:0 4px 20px #10235118;pointer-events:none}.cu-toast{position:fixed;z-index:1800;left:50%;top:88px;transform:translateX(-50%);background:#102351;color:#fff;box-shadow:0 4px 18px #10235126;padding:12px 18px;border-radius:16px;max-width:calc(100vw - 32px);font-size:13px;line-height:1.5;text-align:center;margin:0;pointer-events:none}
.cu-hub{padding:0 24px 24px}.cu-hub>p{color:var(--cu-muted);font-size:14px;line-height:1.5}.cu-hub>button{display:flex;align-items:center;gap:14px;width:100%;background:#fff;border:0;border-bottom:1px solid var(--cu-line);padding:22px 0;color:var(--cu-navy);text-align:left}.cu-hub>button>span:nth-child(2){flex:1}.cu-hub strong{font-size:16px;display:block}.cu-hub small{display:block;color:var(--cu-muted);font-size:12px;margin-top:6px}.cu-hub>button:hover{background:#f6f8fc}
/* Embedded feature surfaces are nonmodal and share one scroll container. */
#campus-sheet .cu-embedded{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:none!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;background:#fff;color:var(--cu-navy);font-family:Inter,system-ui,sans-serif}
#campus-sheet dialog.cu-embedded:not([open]){display:none!important}#campus-sheet .cu-embedded::backdrop{display:none!important}#campus-sheet .cu-embedded[hidden]{display:none!important}
#campus-sheet #class-dialog{display:block;padding:0 24px 22px;overflow:visible}#campus-sheet .class-sidebar{display:block;padding:0;background:none;border:0;overflow:visible}#campus-sheet .class-header{padding:6px 0 16px;gap:0}#campus-sheet .class-header h2{font-size:27px;letter-spacing:-.7px;margin:0}#campus-sheet .class-header p{font-size:14px;margin:4px 0 0;color:var(--cu-muted)}#campus-sheet .class-book,#campus-sheet .class-close,#campus-sheet .class-search-help,#campus-sheet .class-detail-empty,#campus-sheet .class-map-preview{display:none!important}
#campus-sheet .class-search-line{display:flex;gap:10px}#campus-sheet .class-search-input{height:48px;border:0;box-shadow:none;background:#eef1f6;border-radius:18px;flex:1;min-width:0}#campus-sheet #class-query{font-size:16px;background:none;min-width:0;padding:12px 0}#campus-sheet #class-filter-toggle{font-size:0;width:48px;min-width:48px;padding:12px;gap:0;border:0;background:#eef1f6;border-radius:15px;justify-content:center}#campus-sheet #class-filter-toggle>.cs-right{display:none}#campus-sheet #class-filter-toggle>span:not(.cs-icon){display:none}#campus-sheet .class-results-heading{margin:22px 0 6px}#campus-sheet .class-results-heading h3{font-size:14px;color:var(--cu-muted)}#campus-sheet .class-results-scroll{max-height:none;overflow:visible;flex:none}#campus-sheet .class-result{border:0;border-bottom:1px solid var(--cu-line);border-radius:0;box-shadow:none;margin:0;background:#fff}#campus-sheet .class-result-choice{min-height:80px;padding:12px 10px;gap:12px;border-radius:12px}#campus-sheet .class-result.is-selected>.class-result-choice{background:#edf4ff}#campus-sheet .class-result-choice strong{font-size:17px}#campus-sheet .class-result-copy>span{font-size:13px}#campus-sheet .class-result-copy small{font-size:12px}#campus-sheet .class-result-check{display:grid}#campus-sheet .class-result-desktop-meta{display:inline}#campus-sheet .class-result-mobile-meta{display:none}
#campus-sheet .class-detail-pane{display:block;padding:0;margin:0;overflow:visible;min-height:0}#campus-sheet .class-detail-pane:has(.class-detail-content[hidden]){display:none}#campus-sheet .class-detail-grid{display:block;padding:16px 0 0}#campus-sheet .class-detail-header{display:none}#campus-sheet .class-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;font-size:12px}#campus-sheet .class-facts>div{padding:0;gap:8px}#campus-sheet .class-facts .cs-icon{width:17px;height:17px}#campus-sheet .class-facts dt{font-size:10px}#campus-sheet .class-facts dd{font-size:12px;line-height:1.5}#campus-sheet .class-dates{margin:12px 0;font-size:12px}#campus-sheet .class-footer{position:static;display:flex;gap:12px;padding:14px 0 0;border:0;background:#fff}#campus-sheet .class-footer #class-clear-selection{font-size:12px;min-width:80px}#campus-sheet #locate-class{flex:1;font-size:14px;min-height:48px;background:var(--cu-blue);border-radius:15px}
#campus-sheet .class-journey{position:static;inset:auto;transform:none;box-shadow:none;border:0;width:100%;max-width:none;max-height:none;border-radius:0;overflow:visible;padding:0 24px 24px}#campus-sheet .class-journey-handle{display:none}#campus-sheet .class-map-nav{position:static;transform:none;margin:0;padding:0;box-shadow:none;background:none}#campus-sheet .class-journey h2{font-size:24px}#campus-sheet .nav-class-route{margin-top:18px}
#campus-sheet #events-dialog{padding:0;height:100%!important;overflow:hidden}#campus-sheet .ev-surface{height:100%;max-height:none;display:flex;flex-direction:column;background:#fff}#campus-sheet .ev-header{padding:4px 24px 10px}#campus-sheet .ev-brand,#campus-sheet .ev-close{display:none}#campus-sheet .ev-heading h2{font-size:27px}#campus-sheet .ev-heading p{font-size:13px}#campus-sheet .ev-toolbar{grid-template-columns:1fr auto;gap:8px}#campus-sheet .ev-search{grid-column:1/-1}#campus-sheet .ev-sort{display:none}#campus-sheet .ev-scroll{min-height:0;flex:1;padding:0 24px 16px;overflow:auto}#campus-sheet .ev-list{grid-template-columns:1fr}#campus-sheet .ev-card-top{padding:14px 0}#campus-sheet .ev-footer{padding:8px 24px;font-size:10px}#campus-sheet .ev-filters{grid-template-columns:1fr 1fr}#campus-sheet .ev-detail-grid{grid-template-columns:1fr}.cu-event-return{position:static!important;inset:auto!important;transform:none!important;padding:18px!important;margin:0!important;box-shadow:none!important}
#campus-sheet #chat-container{display:flex;height:100%!important;padding:0;overflow:hidden}#campus-sheet .assistant-header{background:white;color:var(--cu-navy);padding:4px 22px 16px}#campus-sheet .assistant-header h2{font-size:22px;letter-spacing:-.5px}#campus-sheet .assistant-header p{font-size:12px;color:var(--cu-muted)}#campus-sheet .assistant-spark,#campus-sheet #close-assistant{display:none}#campus-sheet .assistant-history{background:#f7f9fc;padding:20px}#campus-sheet .assistant-message{font-size:14px;box-shadow:none}#campus-sheet .assistant-form input{font-size:16px;min-width:0}
#campus-sheet #page-community:has(#chat-panel[open]:not([hidden])){overflow:hidden;display:flex;flex-direction:column}#campus-sheet #chat-panel{display:flex!important;flex-direction:column;padding:0;height:100%!important;min-height:0;flex:1;overflow:hidden}#campus-sheet #chat-panel[hidden],#campus-sheet #chat-panel:not([open]){display:none!important}#campus-sheet #close-chat{display:none}#campus-sheet .community-sidebar{width:100%;border:0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}#campus-sheet .community-tabs{padding:0 16px;flex-direction:row;width:100%}#campus-sheet .community-tabs button{flex:1;min-width:0;padding:10px 6px;justify-content:center;font-size:12px}#campus-sheet #chats-sidebar{flex:1;min-height:0;overflow:auto}#campus-sheet #chat-panel[data-section=chats][data-mobile-view=conversation] .community-sidebar{display:none}#campus-sheet #chat-panel[data-section=chats][data-mobile-view=list] .chat-conversation{display:none}#campus-sheet .chat-conversation{min-height:0;flex:1;width:100%;padding:0;display:flex;flex-direction:column}#campus-sheet .mobile-conversation-nav{display:block}#campus-sheet .chat-header{padding:12px 18px}#campus-sheet .message-list{min-height:0;flex:1}#campus-sheet .community-sidebar-profile{display:none}#campus-sheet #chat-panel[data-section=forums] .community-sidebar{flex:none}#campus-sheet #forums-panel{min-height:0;overflow:auto;flex:1;padding:12px 16px}#campus-sheet .forum-sidebar{padding:8px 16px}#campus-sheet .forum-card{padding:14px}#campus-sheet .forum-detail-grid,#campus-sheet .alert-detail-grid{grid-template-columns:1fr}#campus-sheet .alert-preview{display:none}#campus-sheet #pulse-dialog{padding:16px 24px;overflow:auto}#campus-sheet .pulse-close{display:none}
.map-page .campus-tools{top:94px;right:24px;width:auto;max-width:210px;padding:8px;border-radius:18px;box-shadow:0 4px 18px #10235110}.map-page .campus-tools>.campus-orbit{display:none}.map-page .campus-tools>div:first-child{display:flex;gap:2px}.map-page .campus-tools button{min-width:38px;font-family:Inter,sans-serif}.map-page .campus-tools details{font-size:10px}.map-page .campus-credit{bottom:3px;left:4px;font-size:8px;padding:2px;background:#ffffffb8}.map-page .campus-popup{max-width:260px}.map-page .leaflet-control-attribution{font-size:8px}.map-page .leaflet-control-zoom{display:none}.map-page .campus-pin[data-building=true]{background:none;box-shadow:none;border:0;padding:3px}.map-page .campus-pin .cu-building-label{font:650 13px/1.15 Inter,system-ui;color:var(--cu-navy);text-align:center;text-shadow:0 1px 3px white,0 -1px 3px white;white-space:normal;width:95px;display:block;pointer-events:none}.map-page .cu-building-marker{font-family:Inter;color:var(--cu-navy)}.cu-building-marker .cu-icon{width:19px;height:19px}.cu-building-label{pointer-events:none}
#chat-status{top:90px;bottom:auto;left:24px;max-width:280px;z-index:750}.map-page .campus-profile-launch{z-index:760!important}.map-page .warning-map-status{bottom:12px}
@keyframes cu-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.cu-brand{top:24px;left:12px;padding:11px 15px;gap:6px;font-size:17px}.cu-brand strong{font-size:23px}#campus-sheet{bottom:var(--keyboard-inset);width:100%;max-width:100%;border-radius:26px 26px 0 0;max-height:calc(100dvh - 68px - var(--keyboard-inset))}.cu-tabs{height:94px;padding:7px 5px max(14px,env(safe-area-inset-bottom));font-size:11px}.cu-tabs button{font-size:11px;gap:4px}.cu-tabs button .cu-icon{width:24px;height:24px;padding:7px;mask-size:24px;-webkit-mask-size:24px}.cu-handle{height:30px}.cu-collapse{display:none}.cu-explore-home{padding:0 20px 12px}.cu-explore-home h1{font-size:25px;letter-spacing:-.9px;margin:8px 0 17px}.cu-search{height:48px;padding:0 16px;border-radius:24px}.cu-section-heading{margin:17px 0 0}.cu-place-row{padding:14px 0}.cu-place-row strong{font-size:16px}.cu-map-actions{right:13px;bottom:calc(100dvh - var(--sheet-top) + 16px);gap:10px;transition:bottom .28s cubic-bezier(.2,.7,.2,1)}.cu-recenter{width:48px;height:48px}.cu-recenter .cu-icon{width:28px;height:28px}.cu-report{width:54px;height:64px;border-radius:23px;font-size:12px}.cu-report .cu-icon{width:27px;height:27px}#cu-location-feedback{right:64px;bottom:64px;max-width:230px;min-width:160px}.cu-toast{top:88px;min-width:220px}#campus-sheet .class-header h2{font-size:25px}#campus-sheet #class-dialog{padding:0 20px 20px}.map-page .campus-tools{right:13px;top:88px;padding:4px;max-width:180px}.map-page .campus-tools button{font-size:10px;min-width:32px;padding:5px}.map-page .campus-tools details{display:none}.map-page .campus-tools [data-action=home],.map-page .campus-tools [data-action=top]{display:none}.map-page .campus-pin .cu-building-label{font-size:12px;width:80px}.map-page .campus-profile-launch{top:24px!important;right:13px!important;width:48px!important;height:48px!important;min-width:48px!important;padding:4px!important}.map-page .campus-profile-launch>span:last-child{display:none!important}.map-page .campus-profile-launch .cp-avatar{width:40px!important;height:40px!important}#chat-status{top:83px;left:12px;right:82px;font-size:11px}.cu-hub{padding:0 20px 20px}}
@media(max-height:520px){#campus-sheet{max-height:calc(100dvh - 22px);bottom:0;width:min(460px,calc(100vw - 110px))}.cu-tabs{height:66px;padding:3px}.cu-handle{height:22px}.cu-tabs button .cu-icon{padding:3px;width:21px;height:21px;mask-size:21px;-webkit-mask-size:21px}.cu-brand{font-size:14px;padding:8px;top:8px;left:8px}.cu-brand strong{font-size:20px}.cu-map-actions{bottom:16px;right:12px}.cu-recenter{width:42px;height:42px}.cu-report{width:46px;height:54px}.cu-explore-home h1{font-size:21px}.map-page .campus-tools{top:70px}.cu-toast{top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Keep the map chrome independent of a member's chat appearance. */
.map-page .campus-profile-launch{background:#fff!important;border:0!important;color:var(--cu-navy)!important;top:24px!important;right:24px!important;width:64px!important;height:64px!important;min-width:64px!important;justify-content:center;padding:8px!important;--cp-selected:#edf4ff;--cp-blue:#0965ff;--cp-text:#102351}
.map-page .campus-profile-launch>span:last-child{display:none!important}
.map-page .campus-profile-launch .cp-avatar{background:#edf4ff!important;color:var(--cu-link)!important;width:48px!important;height:48px!important}
.map-page:has(.campus-profile-launch) .campus-credit{top:auto!important;bottom:3px}
.map-page .warning-map-status{display:none}
.map-page .campus-pin:has(.cu-building-marker){background:none;border:0;box-shadow:none;padding:0}
.cu-selected-marker{color:var(--cu-link);filter:drop-shadow(0 2px 3px #ffffff);display:grid;place-items:center}.cu-selected-marker .cu-icon{width:36px;height:36px}
@media(max-width:640px){.map-page .campus-profile-launch{right:13px!important;width:48px!important;height:48px!important;min-width:48px!important;padding:4px!important}.map-page .campus-profile-launch .cp-avatar{width:40px!important;height:40px!important}}
.map-page .map-warning-status{display:none}
#campus-sheet :is(#class-dialog,.class-journey,.class-map-nav){--cs-text:var(--cu-navy);--cs-muted:var(--cu-muted);--cs-border:var(--cu-line);--cs-surface:var(--cu-surface);--cs-sidebar:var(--cu-surface);--cs-blue:#0965ff;--cs-selected:var(--cu-selected);--chat-text:var(--cu-navy);--chat-muted:var(--cu-muted);--chat-surface:var(--cu-surface);--chat-border:var(--cu-line);--chat-input:var(--cu-input);color:var(--cu-navy);color-scheme:var(--cu-color-scheme);font-family:Inter,system-ui,sans-serif}
#campus-sheet .class-header{margin:0 0 10px;padding:6px 0 16px}
#campus-sheet .class-search-line{flex-direction:row}
#campus-sheet #class-query{padding-left:44px;padding-right:34px;color:var(--cu-navy)}
#campus-sheet #class-filter-toggle{color:var(--cu-navy)!important}
#campus-sheet .class-results-heading{border:0}
#campus-sheet .class-journey{translate:none}
#campus-sheet .nav-class-route{color:var(--cu-navy);--chat-text:var(--cu-navy);--chat-muted:var(--cu-muted);--chat-surface:var(--cu-surface);--chat-input:var(--cu-input);--chat-border:var(--cu-line)}
@media(max-width:640px){body:has(#campus-sheet[data-snap=full]) .cu-map-actions,body:has(#campus-sheet[data-snap=full]) .campus-tools{visibility:hidden;pointer-events:none}}
#campus-sheet .class-facts>div{min-height:0;border:0;padding:0;align-items:flex-start;gap:8px}
#campus-sheet .class-facts dd span,#campus-sheet .class-facts .class-building-name{font-size:12px;line-height:1.4}
#campus-sheet .class-dates{border:0;padding:0}
#campus-sheet .class-footer #class-clear-selection{display:none}
#campus-sheet #events-dialog{--ev-navy:#102351;--ev-muted:#71809e;--ev-line:#e6eaf1;--ev-surface:#fff;--ev-tint:#f2f6ff;--ev-blue:#0965ff;color-scheme:var(--cu-color-scheme)}
#campus-sheet .ev-card.is-open{background:#f5f8ff}
#campus-sheet .ev-heading{margin-bottom:16px}
#campus-sheet .ev-search{background:#eef1f6;border:0;border-radius:18px}
#campus-sheet .ev-detail{display:block}
#campus-sheet .ev-actions{margin-top:16px}
#campus-sheet #chat-panel{background:var(--chat-surface);color:var(--chat-text)}
.cu-tabs button[aria-selected=true]{background:radial-gradient(circle at 50% 26px,#edf4ff 22px,transparent 23px)}
.cu-place-row{position:relative;isolation:isolate}.cu-place-row::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#f2f5f9;z-index:-1}
@media(max-width:640px){.cu-place-row{padding:9px 0}.cu-section-heading{margin-top:14px}}
.cu-brand img{display:block;object-fit:contain;width:52px;height:25px}
.cu-college-selector{position:fixed;z-index:900;top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));font-family:Inter,system-ui,sans-serif;color:var(--cu-navy)}
.cu-college-selector .cu-brand{position:relative;top:auto;left:auto;white-space:nowrap;min-height:44px}
.cu-brand>.cu-icon{width:18px;height:18px;margin-left:3px;transition:transform .18s ease}
.cu-brand[aria-expanded=true]>.cu-icon{transform:rotate(180deg)}
.cu-college-dropdown{position:absolute;top:calc(100% + 10px);left:0;box-sizing:border-box;width:320px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;padding:16px 12px 12px;border:1px solid var(--cu-line);border-radius:20px;background:#fff;box-shadow:0 12px 36px #10235124}
.cu-college-dropdown h2{margin:0 4px 12px;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0}
.cu-college-option{display:flex;align-items:center;gap:10px;width:100%;min-height:66px;padding:12px 10px;border:1px solid #dbe7ff;border-radius:12px;background:#eef4ff;color:var(--cu-navy);text-align:left}
.cu-college-option:hover{background:#e4eeff}
.cu-college-option>img{width:42px;height:24px;object-fit:contain;flex:none}
.cu-college-option>span:not(.cu-icon){min-width:0;flex:1}
.cu-college-option strong{display:block;font-size:14px;line-height:1.4;font-weight:700}
.cu-college-option small{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:var(--cu-muted)}
.cu-college-option>.cu-icon{width:20px;height:20px;color:var(--cu-link)}
.cu-college-dropdown p{margin:12px 4px 2px;font-size:12px;line-height:1.5;color:var(--cu-muted)}
@media(max-width:640px){.cu-college-selector{left:max(12px,env(safe-area-inset-left))}.cu-college-dropdown{max-width:calc(100vw - 24px)}}
@media(max-height:520px){.cu-college-selector{top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left))}}
@media(max-width:640px){.cu-brand img{width:36px;height:19px}}
.assistant-message{white-space:pre-wrap}.cu-assistant-retry{display:block;margin-top:12px;border:1px solid #cfdbed;border-radius:12px;background:#fff;color:var(--cu-link);padding:10px 14px}
#campus-sheet .nav-class-route{--cs-border:var(--cu-line);--cs-surface:var(--cu-surface);--cs-text:var(--cu-navy);--cs-muted:var(--cu-muted);--cs-selected:var(--cu-selected)}
#place-detail.is-routing>p{display:none}#place-detail.is-routing h2{font-size:21px;margin:4px 0}#place-detail.is-routing>.cu-back{padding:4px 0 12px}#place-detail.is-routing .nav-class-route{margin-top:8px;padding-top:8px}.cu-place-route>.cu-back{padding:10px 0}
#campus-sheet #class-search-form{margin:0 0 12px}
#campus-sheet .class-results-heading{margin:10px 0 6px;padding:0}
#campus-sheet .class-dates summary{min-height:34px;padding:6px 0;font-size:12px}
#campus-sheet .class-dates summary .cs-icon{width:20px;height:20px}
#campus-sheet .class-footer{position:sticky;bottom:0;z-index:2;padding:8px 0;background:#fff}
#campus-sheet .class-facts{gap:10px}
.cu-course-summary{margin:14px 0}.cu-course-summary strong{display:block;font-size:20px;line-height:1.25;letter-spacing:-.4px}.cu-course-summary>span{display:block;font-size:14px;color:var(--cu-muted);margin-top:3px}
#campus-sheet .cu-class-more{margin:0 8px 10px;font-size:12px;color:var(--cu-muted)}#campus-sheet .cu-class-more>summary{min-height:36px;display:flex;align-items:center;cursor:pointer;color:var(--cu-link)}#campus-sheet .cu-class-more>summary::after{content:'+';margin-left:auto;font-size:18px}#campus-sheet .cu-class-more[open]>summary::after{content:'−'}
#campus-sheet .class-detail-grid{padding-top:4px}
#campus-sheet .class-footer{position:fixed;bottom:84px;left:24px;right:24px;background:#fff;box-shadow:0 -8px 12px #ffffffde;margin:0}
#campus-sheet #class-dialog.has-selection .class-results-scroll{padding-bottom:72px}
#campus-sheet[data-tab=classes][data-snap=peek] .class-footer{display:none}
#campus-sheet #locate-class{display:flex;flex-direction:row-reverse;justify-content:center;gap:24px}
@media(max-width:640px){#campus-sheet .class-footer{bottom:94px;left:20px;right:20px}.cu-course-summary strong{font-size:18px}}
@media(min-width:641px){#campus-sheet{width:550px}.cu-brand{padding:16px 25px;font-size:26px;gap:12px}.cu-brand img{width:65px;height:32px}.map-page .campus-profile-launch{width:auto!important;padding:8px 18px 8px 8px!important;gap:12px}.map-page .campus-profile-launch>span:last-child{display:inline!important}.cu-tabs{height:94px}.cu-tabs button{font-size:13px}#campus-sheet .class-footer{bottom:94px}#campus-sheet .class-header h2{font-size:34px}.cu-explore-home h1,.cu-hub h1{font-size:32px}#campus-sheet #class-query,.cu-search input{font-size:18px}}
#campus-sheet .cu-embedded{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#page-classes{overflow-anchor:none}#campus-sheet #events-dialog{background:#fff!important}
#campus-sheet #pulse-dialog{padding:0;background:var(--pulse-bg);color:var(--pulse-ink);height:auto!important;overflow:visible}
#campus-sheet .pulse-surface{border-radius:0;overflow:visible}#campus-sheet .pulse-top{padding:12px 20px;gap:10px}#campus-sheet .pulse-brand{gap:8px}#campus-sheet .pulse-brand strong{font-size:22px}#campus-sheet .pulse-brand small{font-size:11px}#campus-sheet .pulse-mark{width:38px;height:38px}#campus-sheet .pulse-mark .pulse-icon{width:26px;height:26px}#campus-sheet .pulse-header-state{display:none}
#campus-sheet .pulse-stage{overflow:visible}#campus-sheet .pulse-simple-content{padding:18px 22px 24px}#campus-sheet .pulse-simple-content h2{font-size:30px}
#campus-sheet .pulse-setup-grid,#campus-sheet .pulse-proposal-grid,#campus-sheet .pulse-meetup-grid{grid-template-columns:minmax(0,1fr);overflow:visible}#campus-sheet .pulse-intro-pane{padding:16px 8px}#campus-sheet .pulse-plan-pane{min-width:0}#campus-sheet .pulse-stage-scroll{overflow:visible}#campus-sheet .pulse-context{padding:18px}#campus-sheet .pulse-chat-pane{min-height:330px}
#campus-sheet #community-back{flex:none;min-height:44px}
#campus-sheet #chat-panel[data-section=forums] .community-sidebar{display:flex!important;flex:none;flex-direction:row;align-items:center;padding:0 12px;background:var(--chat-sidebar)}
#campus-sheet #chat-panel[data-section=forums] #forums-sidebar,#campus-sheet #chat-panel #profile-button{display:none!important}
#campus-sheet #chat-panel .community-tabs{margin:0;gap:8px;padding:0 8px;flex:1}
#campus-sheet #forums-panel{padding:0;border:0;border-radius:0;overflow:hidden}
#campus-sheet .forum-content{padding:16px;min-height:0;flex:1;overflow:auto}
#campus-sheet .forum-desktop-sort{display:none}#campus-sheet .forum-mobile-browse{display:block}
#campus-sheet #forum-mobile-topics{display:flex;gap:8px;overflow:auto;margin:12px 0;padding-bottom:4px}
#campus-sheet .forum-topic-chip{flex:none;white-space:nowrap}
#campus-sheet .forum-mobile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}
#campus-sheet #forum-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 14px;border-top:1px solid var(--chat-border);flex:none}
#campus-sheet #chat-panel[data-forum-view=thread] #forum-mobile-actions,#campus-sheet #chat-panel[data-forum-view=compose] #forum-mobile-actions,#campus-sheet #chat-panel[data-forum-view=detail] #forum-mobile-actions,#campus-sheet #forums-panel[data-view=thread] #forum-mobile-actions,#campus-sheet #forums-panel[data-view=compose] #forum-mobile-actions{display:none}
#campus-sheet #alert-map-mobile{display:inline-flex}
#campus-sheet .conversation-header{min-height:72px;margin:0 16px;padding:10px 0;gap:12px}#campus-sheet .message-bubble{font-size:16px}#campus-sheet .composer{padding:12px}#campus-sheet #message-input{min-width:0;font-size:16px!important}#campus-sheet #send-message{min-width:64px;font-size:15px}

/* Keep class information readable beside the new route setup. */
#campus-sheet .class-facts{gap:16px 18px}#campus-sheet .class-facts dt{font-size:11px;margin-bottom:4px}#campus-sheet .class-facts dd{font-size:13px;line-height:1.5}#campus-sheet .class-detail-grid{padding-top:12px}#campus-sheet .cu-class-more{margin-bottom:16px}#campus-sheet .class-dates summary{min-height:44px}

/* Screen-space label layout: hidden names do not capture clicks or keyboard focus. */
.cu-label-hidden{visibility:hidden!important;pointer-events:none!important}
:root .map-page span.cu-building-marker[data-building-code]{width:max-content;min-width:88px;max-width:120px;position:relative;left:50%;transform:translateX(-50%)}
:root .map-page span.cu-building-marker.is-current{background:#edf4ff;border-color:#0754d4;box-shadow:0 0 0 2px #0754d4;color:#102351}
:root .map-page .cu-building-marker .cu-building-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:110px;font-size:12px;line-height:1.2}
