@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(./archivo-black-latin-400-normal-BTVu2TQR.woff2) format("woff2"),url(./archivo-black-latin-400-normal-HW9MwEcM.woff) format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(./dm-mono-latin-400-normal--0xN8mdc.woff) format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./dm-mono-latin-500-normal-DRMDZjhP.woff2) format("woff2"),url(./dm-mono-latin-500-normal-CN8Miw6E.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(./caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2"),url(./caveat-latin-600-normal-DUjB8dgm.woff) format("woff")}:root{--paper: #f2f0e8;--card: #fbfaf5;--ink: #14140f;--dim: #666457;--rule: #cfccbf;--red: #ff3b1f;--red-text: #ad2916;--blue: #1b4b8f;--mono: "DM Mono", ui-monospace, monospace;--fat: "Archivo Black", Impact, sans-serif;--hand: "Caveat", cursive;--text-label: 10px;--text-secondary: 11px;--text-body: 12px;--text-fact: 13px;--text-detail-fact: 17px;font-family:var(--mono);font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}.icon{width:19px;height:19px;flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{max-width:1600px;margin:auto;padding:0 32px;display:flex;flex-direction:column;height:100svh;min-height:620px}.masthead{height:70px;display:flex;align-items:center;gap:22px;border-bottom:2px solid var(--ink);flex-shrink:0}.logo{font:26px/.95 var(--fat);letter-spacing:-1.4px;display:flex;align-items:center}.logo b{font-weight:400;background:var(--red);color:var(--card);padding:1px 4px 2px;display:inline-block;transform:rotate(-2.5deg)}.masthead-note{font:8px var(--mono);letter-spacing:1.2px;color:var(--dim);margin-top:3px}.preview-stamp{margin-left:auto;font-size:8px;letter-spacing:1px;padding:8px 10px;border:1px solid var(--rule);color:var(--dim);display:flex;gap:16px;align-items:center}.preview-stamp:hover{border-color:var(--ink)}.preview-stamp>span{font-size:13px}.workspace{display:flex;flex:1;min-height:0;flex-direction:column}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0 27px;flex-shrink:0}.page-title h1{font:30px/1.15 var(--fat);font-weight:400;letter-spacing:-1.1px;margin:0 0 11px}.page-title>p{margin:0;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.7px;color:var(--dim)}.page-title>p>span:first-child{color:#999586}.page-title>p>button{font-size:8px;padding:0;display:flex;align-items:center;gap:5px;letter-spacing:.4px}.page-title .icon{width:12px;height:12px}.demo-label{font-size:7px;letter-spacing:.7px;border-left:1px solid var(--rule);padding-left:9px}.main-actions{display:flex;align-items:center;gap:10px}.sonderate{display:flex;align-items:center;gap:13px;min-height:46px;padding:0 19px;background:var(--red);color:var(--ink);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font:14px var(--fat);font-weight:400;text-transform:uppercase;letter-spacing:-.3px;transition:transform .12s,box-shadow .12s;margin-right:10px}.sonderate>.icon:first-child{width:17px;height:17px}.sonderate>.icon:last-child{width:16px;height:16px;margin-left:3px}.sonderate:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.sonderate:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.utility-button{border:1px solid #b9b5a7;min-height:46px;padding:0 15px;display:flex;align-items:center;gap:8px;background:transparent;font-size:11px;white-space:nowrap}.utility-button:hover,.utility-button[aria-expanded=true]{background:#e7e4d9;border-color:var(--ink)}.utility-button .icon{width:15px;height:15px}.utility-button.has-filters{border-color:var(--ink);background:#eae6da}#filter-count{display:grid;place-items:center;background:var(--ink);color:var(--card);width:17px;height:17px;font-size:9px}.search-toggle{order:1}#open-filters{order:2}.search-panel{position:relative;display:flex;align-items:center;gap:14px;min-height:48px;border:1px solid var(--ink);background:var(--card);margin:-5px 0 22px;padding:0 14px;flex-shrink:0}.search-field>.icon{width:16px;height:16px;color:var(--dim)}.search-field{display:flex;flex:1;align-items:center;gap:14px;min-width:0}.search-field>.icon{flex-shrink:0}.brand-lockup{display:contents}.search-panel input{width:100%;min-width:0;height:44px;background:none;border:0;font-size:12px;outline-offset:0}.search-panel input::placeholder{color:var(--dim);opacity:1}.search-panel button{min-width:32px;min-height:40px;color:var(--dim)}.search-panel button .icon{width:16px;height:16px}.panes{display:grid;grid-template-columns:350px minmax(0,1fr);gap:27px;flex:1;min-height:0}.class-pane,.map-pane{min-height:0;display:flex;flex-direction:column;min-width:0}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--ink);padding:14px 0 15px;min-height:46px;flex-shrink:0}.pane-heading h2{font-size:9px;font-weight:400;letter-spacing:1.5px;margin:0}.pane-heading>span{font-size:8px;letter-spacing:.7px;color:var(--dim)}.map-heading{padding-top:9px;padding-bottom:10px}.map-heading>span{font:22px/1 var(--hand);letter-spacing:0;color:var(--red-text)}.map-heading>span>span{display:inline-block;transform:rotate(-8deg);margin-left:4px}.lecture-list{overflow:auto;flex:1;min-height:0;padding:1px 7px 6px 1px;margin-left:-1px;scrollbar-width:thin;scrollbar-color:#c8c3b3 transparent}.class-ticket{background:var(--card);border:1px solid var(--ink);margin:0 0 12px;position:relative;transition:box-shadow .12s;box-shadow:2px 2px #14140f10}.class-ticket:hover{box-shadow:3px 3px #14140f28}.lecture-open{display:block;width:100%;text-align:left;padding:17px 17px 0}.ticket-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.course-code{font:10px var(--mono);letter-spacing:.4px;color:var(--red-text)}.starts{font:8px var(--mono);letter-spacing:.3px;color:var(--dim);white-space:nowrap}.starts.started{color:var(--blue)}.starts:before{content:"";display:inline-block;width:4px;height:4px;background:var(--red-text);margin-right:5px;vertical-align:2px}.starts.started:before{background:var(--blue)}.class-ticket h3{font:17px/1.17 var(--fat);font-weight:400;text-transform:uppercase;letter-spacing:-.45px;margin:12px 0 18px;max-width:280px}.ticket-details{border-top:1px dashed #bdb8a7;padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--dim);font-size:8px;line-height:1.3}.ticket-details>span{display:flex;align-items:center;gap:4px}.ticket-details>span:first-child{max-width:180px}.ticket-details>span:last-child{font-size:7px;letter-spacing:.2px;white-space:nowrap;color:#434236}.ticket-details .icon{width:11px;height:11px}.ticket-details>span:last-child .icon{width:13px;height:13px;margin-left:1px}.list-note{font:21px/1.1 var(--hand);color:var(--dim);margin:10px 0 0;padding:0 0 5px}.active-summary{display:flex;align-items:center;gap:8px;font-size:10px;background:#e6e2d6;padding:8px 10px;margin:0 7px 12px 0;line-height:1.6;flex-shrink:0}.active-summary>span{flex:1;overflow-wrap:anywhere}.active-summary button{display:grid;place-items:center;min-width:24px;min-height:25px}.active-summary .icon{width:13px;height:13px}.map-frame{position:relative;flex:1;min-height:0;border:1px solid var(--ink);background:#fff;overflow:hidden}.embedded-map.campus-map{height:100%;min-height:0}.embedded-map.campus-map header,.embedded-map.campus-map .map-meta,.embedded-map.campus-map #selection,.embedded-map.campus-map #building-picker,.embedded-map.campus-map .map-instruction,.embedded-map.campus-map footer{display:none}.embedded-map.campus-map .edge-fade{background:linear-gradient(180deg,#fff 0,rgba(255,255,255,.6) 9%,transparent 20%,transparent 82%,#fff 99%)}.embedded-map.campus-map .view-controls{bottom:43px;left:auto;right:20px;transform:none;border-radius:0;padding:4px;box-shadow:none;gap:1px;border-color:#b0c1d4}.embedded-map.campus-map .square-control{width:29px;height:30px;border-radius:0;font-size:18px}.embedded-map.campus-map .labels-control{font-size:10px}.embedded-map.campus-map .control-rule{margin:0 4px;height:17px}.embedded-map.campus-map .compass{right:25px;bottom:104px;font-size:8px}.embedded-map.campus-map .compass svg{width:28px}.embedded-map.campus-map .map-scale{right:70px;bottom:117px;font-size:7px}.embedded-map.campus-map .map-label{font-size:9px;padding:6px 8px;gap:6px;border-radius:0;box-shadow:none}.embedded-map.campus-map .label-code{font-size:8px}.embedded-map.campus-map .with-lectures{border-color:#5a82b5;color:var(--blue)}.lecture-badge{font:8px var(--mono);padding:3px 5px;background:var(--blue);color:#fff;margin:-3px -3px -3px 1px}.map-origin{position:absolute;left:21px;top:20px;z-index:4;display:flex;align-items:center;gap:5px;font:9px var(--mono);color:#456183;pointer-events:none}.map-origin>.icon{width:12px;height:12px}.map-origin>span{font-size:8px;color:#697a8d}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:18px 0;font-size:7px;letter-spacing:1px;color:var(--dim)}.mobile-switch{display:none}.sheet{padding:0;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);max-height:calc(100svh - 48px);max-width:calc(100% - 32px);width:450px;box-shadow:7px 7px #14140f24;overflow:auto;scrollbar-width:thin}.sheet::backdrop{background:#14140f45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:25px 25px 22px;border-bottom:1px solid var(--ink)}.eyebrow{font:8px var(--mono);letter-spacing:1.4px;color:var(--dim);margin:0 0 10px}.sheet-heading h2{font:24px/1.1 var(--fat);letter-spacing:-.8px;font-weight:400;margin:0}.icon-button{display:grid;place-items:center;min-width:32px;min-height:32px;border:1px solid #b9b5a7;background:transparent;flex-shrink:0;margin-top:-3px}.icon-button .icon{width:17px;height:17px}.icon-button:hover{background:#e1ddcf}.sheet-body{padding:24px 25px}.subject-field{margin:0;padding:0;border:0}.subject-field legend{font-size:11px;margin:0 0 13px}.topic-chips{display:flex;flex-wrap:wrap;gap:7px}.topic-chips button{font-size:10px;min-height:36px;padding:8px 10px;border:1px solid #b9b5a7;background:#fbfaf5}.topic-chips button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}.filter-grid label,.time-field{display:flex;flex-direction:column;gap:10px;font-size:10px}.filter-grid select,.time-field select{height:44px;max-width:100%;width:100%;min-width:0;font-size:11px;background:var(--card);border:1px solid #a9a597;border-radius:0;padding:0 9px}.time-field{margin-top:22px}.room-filter{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px;padding:20px 0 0;border-top:1px dashed #b8b3a2;cursor:pointer}.room-filter strong{display:block;font-size:11px;font-weight:500}.room-filter small{display:block;font-size:9px;line-height:1.7;color:var(--dim);margin-top:5px}.room-filter input{width:20px;height:20px;accent-color:var(--ink);cursor:pointer}.filter-note{font-size:8px;color:var(--dim);line-height:1.8;margin:22px 0 0}.sheet-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 25px;border-top:1px solid var(--ink);background:var(--paper);position:sticky;bottom:0}.ink-button{display:flex;align-items:center;justify-content:center;gap:11px;min-height:45px;padding:12px 17px;background:var(--ink);color:var(--paper);font-size:11px;border:1px solid var(--ink)}.ink-button .icon{width:15px;height:15px}.ink-button:hover{background:#33332a}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 0;font-size:10px;text-decoration:underline;text-underline-offset:4px;min-height:42px}.text-button .icon{width:15px;height:15px}.detail-sheet{width:405px}.detail-sheet .sheet-heading{align-items:center;padding-bottom:19px}.detail-sheet .eyebrow{font-size:7px;margin-bottom:10px}.detail-code{font-size:12px;letter-spacing:.5px;color:var(--red-text)}.detail-body{padding-top:20px}.hand-note{font:26px/1 var(--hand);color:var(--red-text);margin:0 0 16px;transform:rotate(-1deg)}.detail-body h2{font:28px/1.08 var(--fat);text-transform:uppercase;letter-spacing:-.9px;font-weight:400;margin:0 0 20px}.detail-description{font-size:11px;line-height:1.9;color:#4f4e44;margin:0}.detail-body dl{margin:25px 0 0}.detail-body dl>div{border-top:1px dashed #b8b3a2;display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:14px 0}.detail-body dt{font-size:8px;letter-spacing:1px;color:var(--dim);flex-shrink:0}.detail-body dd{font-size:10px;line-height:1.6;text-align:right;margin:0}.detail-body dd small{display:block;font-size:9px;color:var(--dim);margin-top:2px}.sample-note{font-size:7px;letter-spacing:1px;margin:15px 0 0;color:var(--dim)}.detail-actions{padding:19px 25px 18px;border-top:1px solid var(--ink);display:flex;flex-direction:column;gap:9px;position:sticky;bottom:0;background:var(--paper)}.detail-actions>.ink-button{width:100%}.detail-actions>.ink-button>.icon:last-child{margin-left:auto}.detail-actions>.text-button{text-decoration:none;min-height:34px;padding:6px}.detail-actions>.text-button:hover{text-decoration:underline}.about-sheet .sheet-body p{font-size:12px;line-height:1.8;margin:0 0 16px}.about-sheet .sheet-body p:last-child{margin-bottom:0}.empty-state{padding:34px 20px;border:1px dashed #999586;text-align:center;background:var(--card)}.empty-state>span{font:50px var(--hand);color:var(--red-text)}.empty-state h3{font:25px/1.15 var(--fat);font-weight:400;letter-spacing:-.5px}.empty-state p{font-size:11px;line-height:1.8;color:var(--dim)}@media(min-width:1450px){.panes{grid-template-columns:385px minmax(0,1fr);gap:32px}.lecture-open{padding:20px 20px 0}.class-ticket h3{font-size:19px;max-width:310px;margin-bottom:20px}.ticket-details{font-size:9px;padding:14px 0}.ticket-details>span:last-child{font-size:8px}}@media(max-width:1050px)and (min-width:761px){.app-shell{padding:0 24px}.panes{grid-template-columns:315px minmax(0,1fr);gap:20px}.main-actions{gap:7px}.sonderate{font-size:12px;padding:0 13px;gap:8px;margin-right:3px}.sonderate>.icon:last-child{display:none}.utility-button{padding:0 12px;font-size:10px}.page-title h1{font-size:26px}.demo-label{display:none}.map-heading>span{font-size:18px}.class-ticket h3{font-size:16px}.ticket-details{font-size:7px}.embedded-map.campus-map .view-controls{right:50%;transform:translate(50%);bottom:41px}.embedded-map.campus-map .square-control{width:24px}.embedded-map.campus-map .control-rule{margin:0 2px}.map-origin{font-size:8px}.map-origin>span{display:none}}@media(max-width:760px){.app-shell{padding:0 18px;height:calc(100svh - 63px - env(safe-area-inset-bottom));min-height:480px}.masthead{height:59px;gap:12px}.logo{font-size:24px;letter-spacing:-1.3px}.masthead-note{font-size:6px;letter-spacing:.4px;line-height:1.6;max-width:105px;margin-left:3px}.preview-stamp{font-size:6px;letter-spacing:.5px;padding:7px;gap:6px}.preview-stamp>span{font-size:10px}.workspace-top{display:block;padding:23px 0 24px}.page-title h1{font-size:27px;margin-bottom:10px;letter-spacing:-1px}.page-title>p{font-size:8px;gap:8px}.page-title>p>button{font-size:8px}.demo-label{font-size:6px}.main-actions{margin-top:21px;gap:9px;width:100%}.sonderate{flex:1;margin-right:3px;font-size:12px;gap:9px;padding:0 12px;min-height:46px;justify-content:center}.sonderate>.icon:first-child{width:16px;height:16px}.sonderate>.icon:last-child{display:none}.utility-button{font-size:10px;padding:0 11px;gap:7px;min-height:46px}.search-toggle{flex:1;justify-content:center}.search-toggle>.icon{width:15px;height:15px}#open-filters{padding:0;width:45px;min-width:45px;justify-content:center;position:relative}#open-filters>.filter-label{display:none}#open-filters>.icon{width:18px;height:18px}#filter-count{position:absolute;right:-5px;top:-6px;width:17px;height:17px;border:1px solid var(--paper);font-size:8px}.search-panel{margin:-4px 0 19px;min-height:46px;gap:9px;padding:0 10px}.search-panel input{font-size:12px}.panes{display:block;min-height:0;flex:1}.class-pane,.map-pane{height:100%}.map-pane{display:none}.pane-heading{padding:0 0 13px;border-top:0;min-height:24px}.pane-heading h2{font-size:9px;letter-spacing:1px}.pane-heading>span{font-size:8px}.lecture-list{padding:1px 4px 4px 1px}.lecture-open{padding:16px 16px 0}.class-ticket{margin-bottom:12px;box-shadow:2px 2px #14140f14}.course-code{font-size:11px}.starts{font-size:9px}.class-ticket h3{font-size:18px;max-width:320px;line-height:1.15;margin:12px 0 18px}.ticket-details{font-size:9px;gap:9px;padding:12px 0}.ticket-details>span:last-child{font-size:8px}.ticket-details>span:first-child{max-width:180px}.ticket-details .icon{width:12px;height:12px}.list-note,.app-footer{display:none}.mobile-switch{display:flex;position:fixed;left:0;right:0;bottom:0;padding:9px 18px calc(9px + env(safe-area-inset-bottom));border-top:1.5px solid var(--ink);background:var(--paper);gap:9px;z-index:8;height:calc(63px + env(safe-area-inset-bottom))}.mobile-switch button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;font-size:11px;min-height:42px;color:var(--dim)}.mobile-switch button[aria-pressed=true]{border:1px solid var(--ink);color:var(--ink);background:var(--card)}.mobile-switch .icon{width:15px;height:15px}.mobile-switch button>span{font-size:9px;color:var(--dim);margin-left:2px}.map-heading{min-height:25px;padding-bottom:12px}.map-heading>span{font:19px/1 var(--hand);letter-spacing:0}.map-frame{margin-bottom:12px;min-height:0}.map-origin{left:14px;top:15px;font-size:8px}.map-origin>span{font-size:7px}.embedded-map.campus-map .view-controls{right:50%;transform:translate(50%);bottom:43px;padding:3px;gap:0;width:max-content;max-width:calc(100% - 22px)}.embedded-map.campus-map .square-control{width:29px;height:34px}.embedded-map.campus-map .control-rule{margin:0 3px;height:16px}.embedded-map.campus-map .compass{right:15px;bottom:96px;font-size:7px}.embedded-map.campus-map .compass svg{width:24px}.embedded-map.campus-map .map-scale{right:49px;bottom:106px;font-size:6px}.embedded-map.campus-map .map-label{font-size:8px;padding:5px 6px;gap:5px}.embedded-map.campus-map .label-code{font-size:7px}.lecture-badge{font-size:7px;padding:3px 4px}.active-summary{font-size:10px;margin-bottom:12px}.active-summary button{min-width:32px;min-height:30px}.sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:calc(100svh - 26px);box-shadow:none;border-width:1.5px 0 0;padding-bottom:env(safe-area-inset-bottom);border-radius:0}.sheet-heading{padding:22px 23px 20px;position:sticky;top:0;background:var(--paper);z-index:1}.sheet-heading h2{font-size:25px}.eyebrow{font-size:8px;letter-spacing:1px}.icon-button{min-width:37px;min-height:37px}.sheet-body{padding:23px}.topic-chips{gap:8px}.topic-chips button{min-height:40px;font-size:11px;padding:9px 12px}.subject-field legend{font-size:12px}.filter-grid{gap:14px;margin-top:25px}.filter-grid label,.time-field{font-size:11px}.filter-grid select,.time-field select{height:46px;font-size:12px;padding:0 8px}.room-filter strong{font-size:12px}.room-filter small{font-size:10px}.room-filter input{height:23px;width:23px}.filter-note{font-size:9px}.sheet-actions{padding:17px 23px;gap:18px}.sheet-actions .ink-button{flex:1}.ink-button{min-height:47px;font-size:12px}.text-button{font-size:11px}.detail-body h2{font-size:29px}.detail-description{font-size:12px;line-height:1.85}.detail-body dl>div{padding:14px 0}.detail-body dt{font-size:9px}.detail-body dd{font-size:11px}.detail-body dd small{font-size:10px}.sample-note{font-size:8px}.detail-actions{padding:18px 23px 15px}.detail-actions>.text-button{min-height:40px}.hand-note{font-size:27px}.about-sheet .sheet-body p{font-size:12px}.empty-state{padding:22px 18px}body[data-view=map] .class-pane{display:none}body[data-view=map] .map-pane{display:flex}}@media(max-width:360px){.app-shell{padding:0 14px}.masthead-note{display:none}.workspace-top{padding-top:19px;padding-bottom:21px}.page-title h1{font-size:25px}.main-actions{gap:7px;margin-top:18px}.sonderate{padding:0 8px;font-size:11px;gap:6px}.search-toggle{padding:0 8px;font-size:9px;gap:5px}#open-filters{width:42px;min-width:42px}.demo-label{font-size:5px;padding-left:6px}.class-ticket h3{font-size:16px}.lecture-open{padding-left:13px;padding-right:13px}.course-code{font-size:10px}.starts{font-size:8px}.ticket-details{font-size:8px;gap:5px}.ticket-details>span:last-child{font-size:7px}.sheet-heading,.sheet-body{padding-left:19px;padding-right:19px}.sheet-heading h2{font-size:23px}.filter-grid{gap:10px}.filter-grid select,.time-field select{font-size:11px}.mobile-switch{padding-left:14px;padding-right:14px}.map-heading>span{font-size:17px}.map-origin>span{display:none}.embedded-map.campus-map .square-control{width:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.panes{display:block}.class-pane{height:100%}.map-pane{display:none}.list-heading-actions{display:flex;align-items:center;gap:20px}.list-heading-actions>span{font-size:9px;letter-spacing:.5px;color:var(--dim)}#toggle-map{display:flex;align-items:center;gap:7px;border:1px solid #b9b5a7;padding:8px 11px;font-size:10px;min-height:35px;background:var(--card)}#toggle-map .icon{width:14px;height:14px}#toggle-map:hover,#toggle-map[aria-expanded=true]{border-color:var(--ink);background:#e7e3d8}.pane-heading{padding-top:9px;padding-bottom:13px}.column-headings{display:grid;grid-template-columns:minmax(270px,1fr) 190px 250px 100px;gap:25px;padding:4px 22px 12px;color:var(--dim);font-size:8px;letter-spacing:1px;flex-shrink:0}.class-ticket{box-shadow:none;margin-bottom:10px}.lecture-open{display:grid;grid-template-columns:minmax(270px,1fr) 190px 250px 100px;align-items:center;gap:25px;padding:18px 22px}.ticket-course{min-width:0}.ticket-top{justify-content:flex-start;gap:13px}.class-ticket h3{margin:9px 0 0;max-width:100%;font-size:17px;line-height:1.25}.ticket-time,.ticket-place,.ticket-walk{display:flex;align-items:center;gap:8px;font-size:10px;line-height:1.7}.ticket-time>.icon{display:none}.ticket-time>span:last-child{white-space:nowrap}.time-separator{padding:0 5px;color:var(--dim)}.ticket-place>.icon{display:none}.ticket-place>div>span{display:block}.ticket-place small{display:block;font-size:9px;color:var(--dim);margin-top:2px}.ticket-walk{font-size:15px;gap:5px}.ticket-walk>span{white-space:nowrap}.ticket-walk small{font-size:9px;color:var(--dim)}.ticket-walk>.icon:first-child{display:none}.ticket-walk>.icon:last-child{width:17px;height:17px;margin-left:auto}.mobile-walk-label{display:none}.list-note{text-align:right;font-size:21px;margin-top:10px}.class-ticket:hover{background:#f8f6ee;box-shadow:2px 2px #14140f18}body[data-view=map] .panes{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr)}body[data-view=map] .map-pane{display:flex}body[data-view=map] .column-headings{display:none}body[data-view=map] .class-ticket .lecture-open{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"course course" "time walk" "place place";gap:13px 10px;padding:18px}body[data-view=map] .ticket-course{grid-area:course}body[data-view=map] .ticket-time{grid-area:time;font-size:9px}body[data-view=map] .ticket-walk{grid-area:walk;font-size:11px}body[data-view=map] .ticket-place{grid-area:place;border-top:1px dashed #bdb8a7;padding-top:10px;font-size:10px}body[data-view=map] .ticket-place>div{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%}body[data-view=map] .ticket-place small{margin:0}body[data-view=map] .ticket-time>.icon,body[data-view=map] .ticket-place>.icon{display:block;width:12px;height:12px;color:var(--dim)}body[data-view=map] .ticket-walk>.icon:last-child{margin-left:3px}body[data-view=map] .class-ticket h3{font-size:17px;margin-top:10px}body[data-view=map] .ticket-top{justify-content:space-between}@media(min-width:761px)and (max-width:1150px){.column-headings,.lecture-open{grid-template-columns:minmax(210px,1fr) 153px 185px 70px;gap:18px;padding-left:17px;padding-right:17px}.ticket-time,.ticket-place{font-size:9px}.time-separator{padding:0 3px}.class-ticket h3{font-size:15px}.ticket-top{gap:8px}.starts{font-size:7px}.ticket-walk{font-size:13px}body[data-view=map] .panes{grid-template-columns:340px minmax(0,1fr)}body[data-view=map] .map-heading>span{display:none}}@media(max-width:760px){.panes{display:block!important}.class-pane,.map-pane{height:100%}.column-headings,#toggle-map{display:none}.list-heading-actions>span{font-size:8px}.pane-heading{padding:0 0 13px}.class-ticket .lecture-open{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"course course" "time walk" "place place";padding:16px 16px 12px;gap:12px 8px}.ticket-course{grid-area:course}.ticket-time{grid-area:time;font-size:10px;gap:6px}.ticket-place{grid-area:place;font-size:10px;border-top:1px dashed #bdb8a7;padding-top:11px;gap:7px}.ticket-place>div{display:flex;align-items:center;gap:8px;justify-content:space-between;width:100%}.ticket-place small{font-size:9px;margin:0;white-space:nowrap}.ticket-walk{grid-area:walk;font-size:10px;gap:4px}.ticket-walk small{font-size:9px}.ticket-walk>.icon:last-child{width:13px;height:13px;margin-left:2px}.ticket-time>.icon,.ticket-place>.icon{display:block;width:12px;height:12px;color:var(--dim)}.class-ticket h3{font-size:18px;line-height:1.17;margin-top:11px}.ticket-top{justify-content:space-between}.course-code{font-size:10px}.starts{font-size:8px}.time-separator{padding:0 3px}.list-note{display:none}body[data-view=list] .class-pane{display:flex}body[data-view=list] .map-pane,body[data-view=map] .class-pane{display:none}body[data-view=map] .map-pane{display:flex}}@media(max-width:360px){.class-ticket .lecture-open{padding:15px 12px 11px;gap:11px 6px}.ticket-time{font-size:8px;gap:5px}.ticket-place{font-size:9px;gap:5px}.ticket-place small{font-size:8px}.class-ticket h3{font-size:16px}.ticket-walk{font-size:9px}.ticket-walk small{font-size:8px}.ticket-walk>.icon:last-child{width:11px;height:11px}.time-separator{padding:0 2px}}.map-component-message{height:100%;display:grid;align-content:center;justify-items:center;gap:14px;padding:24px;text-align:center;color:#456183;font:12px var(--mono)}@media(min-width:1151px){body[data-view=list] .ticket-time,body[data-view=list] .ticket-place{font-size:12px}body[data-view=list] .ticket-place small{font-size:10px}}body[data-view=map] .mobile-walk-label{display:inline}@media(max-width:760px){.ticket-time,.ticket-place{font-size:11px}.ticket-place small{font-size:10px}.mobile-walk-label{display:inline}}@media(max-width:360px){.ticket-time,.ticket-place{font-size:9px}.ticket-place small,.ticket-walk small{font-size:8px}}.context-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0;margin:-5px 0 16px}.context-bar button{display:flex;align-items:center;gap:5px;min-height:36px;font-size:10px;padding:0;color:var(--dim)}.context-bar button:hover{color:var(--ink);text-decoration:underline}.context-bar .icon{width:13px;height:13px}.page-title>p{flex-wrap:wrap}.course-code{display:inline-flex;align-items:center;gap:7px}.course-code .icon{width:14px;height:14px;color:var(--blue)}.ticket-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.65;color:var(--dim);margin:9px 0 0;font-family:var(--mono)}.ticket-walk{font-size:12px}.ticket-course,.ticket-place,.ticket-place>div{min-width:0}.ticket-place span,.detail-description,.detail-code,.active-summary span{overflow-wrap:anywhere}.load-more{margin:8px auto 20px;padding:12px;display:block;min-height:44px}.browse-topics{margin-top:25px;text-align:left}.browse-topics .topic-chips button{min-height:44px}.gap-field{margin:25px 0 0;padding:0;border:0;min-width:0}.gap-field legend{font-size:11px;margin-bottom:12px}.gap-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.gap-values label{display:grid;gap:7px;font-size:10px;min-width:0}.gap-values input,.time-field input{min-width:0;width:100%;border:1px solid #b9b5a7;border-radius:0;background:var(--card);padding:12px 10px;font-size:14px;min-height:44px}.gap-slider{position:relative;height:44px;margin-top:14px}.gap-track{position:absolute;height:3px;left:0;right:0;top:21px;background:var(--rule)}#gap-fill{position:absolute;height:100%;background:var(--blue)}.gap-slider input{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:44px;margin:0;background:transparent;border:0;padding:0}.gap-slider input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;width:24px;height:30px;border:2px solid var(--blue);border-radius:3px;background:var(--card);cursor:ew-resize}.gap-slider input::-moz-range-thumb{pointer-events:auto;width:20px;height:26px;border:2px solid var(--blue);border-radius:3px;background:var(--card);cursor:ew-resize}.gap-slider input::-moz-range-track{background:transparent}.gap-slider input:focus-visible{outline:none;z-index:1}.gap-slider input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--blue);outline-offset:3px}.gap-slider input:focus-visible::-moz-range-thumb{outline:2px solid var(--blue);outline-offset:3px}.gap-field .filter-note{margin-top:4px}.location-actions{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.location-actions button{min-height:44px}#location-dialog .sheet-body>p{font-size:12px;line-height:1.8}#location-building{max-width:100%}#data-status{display:block;font-size:10px;line-height:1.7;margin-top:12px}.detail-actions{display:grid;grid-template-columns:1fr 1fr}.detail-actions>.ink-button{grid-column:1 / -1}.detail-actions>.text-button{font-size:10px;min-height:40px}.detail-actions>#sonderate-again{grid-column:1 / -1}#map-pin-label{display:inline}@media(max-width:760px){.context-bar{margin:-3px 0 10px;gap:7px}.context-bar button{font-size:9px;min-height:36px}.context-bar .icon{width:11px;height:11px}.page-title>p{gap:5px}.ticket-description{font-size:11px;margin-top:9px}.ticket-walk{font-size:10px}.filters-sheet .sheet-actions{position:sticky;bottom:0;background:var(--paper);z-index:2}.gap-values input{font-size:16px}.detail-actions{position:static}.topic-chips button,.icon-button{min-height:44px}}@media(max-width:360px){.context-bar button{font-size:8px}.ticket-description{font-size:10px}.ticket-walk{font-size:9px}.page-title>p{font-size:7px;gap:3px}.ticket-place small{white-space:normal;text-align:right}}.map-building-preview{display:none}@media(max-width:760px){.map-building-preview:not([hidden]){display:flex;flex:0 0 auto;align-items:flex-start;gap:6px;margin:0 0 12px;padding:8px;border:1px solid var(--blue);background:var(--card)}.map-building-classes{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:64px;padding:6px;text-align:left;color:var(--blue)}.map-building-copy{display:grid;gap:6px;min-width:0}.map-building-copy .eyebrow{margin:0;font-size:8px;letter-spacing:.5px}#map-building-name{font:14px/1.3 var(--fat);overflow-wrap:anywhere}#map-building-count{font-size:10px;line-height:1.5}.map-building-classes:hover:not(:disabled) #map-building-name,.map-building-classes:focus-visible #map-building-name{text-decoration:underline;text-underline-offset:3px}.map-building-classes:disabled{cursor:default;color:var(--dim)}.map-building-classes:disabled>.icon{display:none}#dismiss-map-building{margin:0;width:44px;height:44px;border:0}}.mobile-map-hint{display:none}.page-title>p>.campus-context{color:var(--dim)}@media(max-width:760px){.app-shell{height:calc(var(--mobile-viewport-height, 100dvh) - 76px - env(safe-area-inset-bottom));min-height:0;padding:0 14px}.masthead{height:52px;min-height:52px}.masthead-note{display:none}.preview-stamp{min-height:44px;font-size:8px;padding:9px;border:0}.workspace-top{padding:12px 0 8px}.page-title h1{font-size:23px;margin:0 0 2px}.page-title>p{gap:7px;justify-content:space-between}.page-title .campus-context{display:none}.page-title>p>#change-time{min-height:44px;font-size:11px;letter-spacing:0}.demo-label{display:inline;font-size:9px;letter-spacing:0}.main-actions{margin-top:6px;gap:8px}.search-toggle{justify-content:flex-start;font-size:13px;padding:0 14px;background:var(--card)}.utility-button{min-height:48px}#open-filters{width:auto;min-width:92px;padding:0 12px;gap:8px;font-size:12px}#open-filters>.filter-label{display:inline}#filter-count{top:-5px;right:-3px}.context-bar{margin:0 0 8px;gap:8px}.context-bar button{font-size:10px;min-height:44px}.context-bar .icon{width:13px;height:13px}.pane-heading{padding-bottom:10px;min-height:28px}.pane-heading h2{font-size:10px}.list-heading-actions>span{font-size:10px}.active-summary{font-size:11px;padding:8px 10px}.active-summary button{min-width:44px;min-height:44px}.mobile-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;height:calc(76px + env(safe-area-inset-bottom));gap:6px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.mobile-switch button{min-width:0;min-height:48px;font-size:12px;gap:6px;padding:0 6px}.mobile-switch .icon{width:16px;height:16px}.mobile-switch .sonderate{margin:0;background:var(--red);color:var(--ink);font-size:11px;gap:7px;box-shadow:2px 3px 0 var(--ink);border:1px solid var(--ink)}.mobile-switch .sonderate .icon:last-child{display:none}.ticket-description{font-size:12px;line-height:1.6}.ticket-time,.ticket-place,.ticket-walk{font-size:12px}.ticket-walk small{font-size:10px}.ticket-place>div{display:grid;grid-template-columns:minmax(0,1fr) auto}.ticket-place small{font-size:11px;color:var(--ink);border:1px solid var(--rule);padding:3px 6px;white-space:nowrap}body[data-view=map] .page-title h1{display:none}body[data-view=map] .workspace-top{padding-top:3px}.map-heading .map-hand-note{display:none}.map-heading .mobile-map-hint{display:inline;font:10px/1.5 var(--mono);letter-spacing:0;color:var(--dim)}.map-frame{margin-bottom:8px}.map-origin{display:none}.map-building-preview:not([hidden]){margin-bottom:8px}#map-building-count{font-size:12px}.embedded-map.campus-map .view-controls{padding:4px;gap:0}.embedded-map.campus-map .view-controls .control-rule{display:none}.embedded-map.campus-map .square-control{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.embedded-map.campus-map .map-label{min-height:36px;min-width:44px;font-size:10px;padding:7px}.embedded-map.campus-map .label-code{font-size:9px}.search-panel{margin:4px 0 0;min-height:52px}.search-panel input{font-size:16px}#close-search{min-width:44px;min-height:44px}.sheet{max-height:calc(var(--mobile-viewport-height, 100dvh) - 16px);bottom:var(--mobile-keyboard-inset, 0px)}.sheet-heading{padding:18px}.sheet-heading h2{font-size:23px}.sheet-body{padding:20px 18px}.sheet input:not([type=range]):not([type=checkbox]),.sheet select{font-size:16px;min-height:48px}.sheet .icon-button{min-width:44px;min-height:44px}.filters-sheet .sheet-body{display:flex;flex-direction:column}.filters-sheet .gap-field{order:0;margin-top:0}.filters-sheet .filter-grid{order:1}.filters-sheet .time-field{order:2}.filters-sheet .subject-field{order:3;margin-top:24px}.filters-sheet .room-filter{order:4}.filters-sheet .sheet-body>.filter-note{order:5}.filter-note{font-size:11px;line-height:1.7}.sheet-actions{padding:12px 18px}.sheet-actions button{min-height:48px}.detail-body{display:flex;flex-direction:column}.detail-body .hand-note{display:none}.detail-body h2{order:0;font-size:25px;margin:0}.detail-body dl{order:1;margin:12px 0 18px}.detail-body dd{font-size:13px;overflow-wrap:anywhere}.detail-body dd small{font-size:11px}.detail-description{order:2;font-size:13px;margin:0}.detail-body .sample-note{order:3}.detail-actions{position:sticky;bottom:0;z-index:2;padding:10px 18px;gap:6px}.detail-actions>.ink-button,.detail-actions>#sonderate-again{grid-column:auto}.detail-actions>.text-button,.detail-actions>.ink-button{font-size:11px;min-height:48px;padding:6px}.detail-actions>.ink-button>.icon:last-child{display:none}.mobile-keyboard .mobile-switch{display:none}.mobile-keyboard .app-shell{height:var(--mobile-viewport-height, 100dvh)}.mobile-keyboard .page-title,.mobile-keyboard .main-actions,.mobile-keyboard .context-bar{display:none}.mobile-keyboard .workspace-top{padding:0}}@media(max-width:360px){.mobile-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-switch button{font-size:11px;gap:4px}.ticket-time,.ticket-walk{font-size:10px}.ticket-place{font-size:11px}.ticket-place small{font-size:10px}.page-title>p>#change-time{font-size:10px}.demo-label{font-size:8px}}@media(max-width:360px){.gap-values{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.gap-values>span{display:none}.gap-values input{padding-left:5px;padding-right:5px}}.time-browse{display:flex;gap:4px;padding-top:12px;flex-shrink:0}.time-browse button{min-height:44px;padding:8px 16px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:12px var(--mono)}.time-browse button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.time-summary{display:block;width:100%;min-height:44px;padding:8px 0;background:transparent;color:var(--dim);font:11px/1.6 var(--mono);text-align:left;flex-shrink:0}.time-summary:hover{color:var(--ink);text-decoration:underline}#custom-time-fields{margin-top:16px}@media(max-width:760px){.time-browse{padding-top:4px}.time-browse button{flex:1;padding:8px;font-size:11px}.time-summary{font-size:10px}#time-mode{font-size:16px}}.invite-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 16px;border:1px solid var(--ink);background:var(--red);color:var(--ink);font:13px var(--mono);box-shadow:3px 3px 0 var(--ink);transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.invite-button:hover{transform:translate(-1px,-2px);box-shadow:4px 5px 0 var(--ink);background:#ff614a}.invite-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.invite-button .icon{width:18px;height:18px;flex-shrink:0}.detail-actions>#show-building,.detail-actions>#share-class,.detail-actions>#sonderate-again{grid-column:auto}.detail-actions>#share-class{font-size:12px;min-height:48px;padding:8px}.detail-actions>#share-class .icon:last-child{display:none}.invitation-sheet{width:520px}.invitation-sheet[open]{animation:invitation-arrive .32s cubic-bezier(.2,.8,.2,1) both}.invitation-sheet .sheet-heading{border-bottom:1px solid var(--rule)}.invitation-intro{font:400 var(--text-body)/1.65 var(--mono);color:var(--dim);margin:0 0 18px}.invitation-ticket{position:relative;background:var(--card);border:1px solid var(--ink);padding:20px;box-shadow:4px 4px #14140f14;overflow-wrap:anywhere}.invitation-ticket-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-secondary)}.invitation-stamp{font-size:var(--text-label);flex-shrink:0;color:var(--red-text);border:1px solid currentColor;padding:5px 7px;transform:rotate(-7deg)}.invitation-ticket h3{font:20px/1.25 var(--fat);margin:16px 0;letter-spacing:-.3px}.invitation-ticket-facts{border-top:1px dashed var(--rule);padding-top:14px}.invitation-ticket-facts p{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:var(--text-body);line-height:1.5}.invitation-ticket-facts p>span{min-width:0}.invitation-fact{display:block;font:500 var(--text-detail-fact)/1.4 var(--mono);font-variant-numeric:tabular-nums}.invitation-fact>span{display:inline-block}.invitation-ticket-facts .icon{flex-shrink:0;width:16px;height:16px;color:var(--dim)}.invitation-ticket-facts small{display:block;font:400 var(--text-body)/1.5 var(--mono);margin-top:4px;color:var(--dim)}.invite-link-field{display:grid;gap:8px;margin-top:20px;font-size:var(--text-body)}.invite-link-field input{width:100%;min-width:0;min-height:44px;border:1px solid var(--rule);padding:10px;background:var(--card);font:400 var(--text-body) var(--mono)}.invitation-actions{display:grid;gap:12px;position:sticky;bottom:0;padding:18px 26px 22px;background:var(--paper);border-top:1px solid var(--rule);z-index:2}.invitation-actions .text-button{min-height:44px;font:400 var(--text-body)/1.5 var(--mono)}.invitation-actions .invite-button{font:500 var(--text-body)/1.4 var(--mono)}.invitation-sheet .filter-note{font:400 var(--text-secondary)/1.6 var(--mono)}.invite-button.is-copied{background:#d9edce}.invitation-art{display:flex;justify-content:center;align-items:center;padding:4px 0 18px;gap:14px}.invitation-art>span{width:65px;height:65px;display:grid;place-content:center;border:1px solid var(--ink);border-radius:50%;background:var(--red);font-size:11px;text-align:center;transform:rotate(-9deg)}.invitation-art>span:nth-of-type(2){background:#e0e9f5;transform:rotate(9deg)}.invitation-art i{font:32px var(--hand)}.invitation-art b{font:52px var(--hand);color:var(--red-text);transform:rotate(12deg)}.welcome-sheet #invite-title{font:28px/1.12 var(--fat);letter-spacing:-.8px;margin:4px 0 16px}.welcome-sheet[open] .invitation-ticket{animation:ticket-arrive .42s .1s cubic-bezier(.2,.8,.2,1) both}@keyframes invitation-arrive{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ticket-arrive{0%{opacity:0;transform:translateY(14px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@media(max-width:760px){.invitation-sheet{width:100%}.invitation-sheet .sheet-body{padding:18px}.invitation-ticket{padding:16px}.invitation-actions{padding:14px 18px max(16px,env(safe-area-inset-bottom))}.invitation-intro{margin-bottom:16px}.invitation-art{padding-top:0;padding-bottom:10px}.invitation-art>span{width:52px;height:52px;font-size:10px}}@media(prefers-reduced-motion:reduce){.invitation-sheet[open],.welcome-sheet[open] .invitation-ticket{animation:none}.invite-button{transition:none}}@media(max-width:760px){.main-actions>#sonderate{display:none}}@media(max-width:760px){.map-heading .mobile-map-hint{max-width:68%;white-space:normal;text-align:right;line-height:1.4}}.app-shell{padding-bottom:14px}.masthead{height:64px;gap:16px}.masthead .main-actions{display:flex;align-items:center;margin:0 0 0 auto;gap:8px}.masthead .main-actions>button{min-height:42px;padding:8px 14px;font-size:var(--text-body)}.masthead .sonderate{min-width:150px;box-shadow:2px 2px 0 var(--ink)}.masthead #toggle-map{order:3;font-size:var(--text-body);min-width:124px;min-height:42px;padding:8px 14px;justify-content:center;border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:2px 2px 0 var(--ink);font-weight:500}.masthead #toggle-map .icon{width:18px;height:18px}.masthead #toggle-map:hover{background:#123b75}.masthead #toggle-map[aria-expanded=true]{background:#e8f0fb;color:var(--blue);box-shadow:none}@media(min-width:761px){.masthead .main-actions>:is(#sonderate,#toggle-search,#toggle-map){width:172px;min-width:172px;margin:0;justify-content:center}}.workspace-top,body[data-view=map] .workspace-top{display:flex;flex-direction:row;padding:10px 0;gap:12px;min-width:0}.workspace-top .time-browse{padding:0;gap:4px}.workspace-top .time-browse button{min-height:40px;padding:7px 14px;white-space:nowrap}.workspace-top #open-filters{order:0;display:flex;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font:400 var(--text-secondary)/1.4 var(--mono);white-space:nowrap;flex-shrink:0}.workspace-top #open-filters>.icon{width:14px;height:14px}.workspace-note{margin:0 0 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font:20px/1.2 var(--hand);color:var(--dim);white-space:nowrap}.workspace-top .time-summary{display:flex;justify-content:flex-end;align-items:center;gap:8px;width:auto;min-width:0;min-height:40px;padding:0;margin-left:auto;font-size:11px}.time-summary .icon{width:13px;height:13px}.time-summary-short{display:none}.pane-heading{min-height:40px;padding:4px 0 8px}.pane-heading h2{font-size:11px}.list-heading-actions{gap:12px}.result-count-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#e8e5dc;color:var(--dim);font:400 var(--text-label)/1.4 var(--mono);letter-spacing:0;white-space:nowrap}.result-count-badge strong{font:500 var(--text-body)/1.4 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}#toggle-map{min-height:32px;padding:5px 9px}.map-heading .mobile-map-hint{display:inline;max-width:72%;font:10px/1.4 var(--mono);color:var(--dim);text-align:right}.active-summary{margin:0 0 8px;padding:4px 10px}.lecture-list{padding-top:0}.class-ticket{margin-bottom:8px}.class-ticket .lecture-open{padding:12px 16px;gap:8px 16px}body[data-view=map] .class-ticket .lecture-open{padding:12px 14px;gap:7px 10px}.class-ticket h3,body[data-view=map] .class-ticket h3{font-size:18px;line-height:1.25;margin:5px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.class-ticket .course-code{font-size:12px;letter-spacing:.2px}.detail-sheet .detail-code{font-size:14px}.invitation-ticket-top>span:first-child{font-size:12px}.class-ticket .ticket-description{margin:5px 0 0;font-size:var(--text-body);line-height:1.5;-webkit-line-clamp:2}body[data-view=map] .ticket-place{padding-top:7px}.ticket-place>div,body[data-view=map] .ticket-place>div{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}body[data-view=map] .ticket-place>div{flex-direction:row;align-items:baseline;gap:12px}.ticket-place .room-number,.class-ticket .ticket-time-range{font:500 var(--text-fact)/1.5 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);flex-shrink:0}.ticket-place .building-name{display:block;min-width:0;max-width:100%;margin:0;padding:0;border:0;font:400 var(--text-secondary)/1.5 var(--mono);color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-body .detail-location .detail-room,.detail-body .detail-time{display:block;font:500 var(--text-detail-fact)/1.4 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink)}.detail-body dl>div{align-items:center}.detail-body dt{font-size:var(--text-label);letter-spacing:.8px}.detail-body dd{font-size:var(--text-fact);line-height:1.5}.detail-body dd small{font:400 var(--text-body)/1.5 var(--mono);margin-top:4px}.detail-body .detail-description{font-size:var(--text-body);line-height:1.8}.detail-actions>#show-building,.detail-actions>#share-class{font:500 var(--text-body)/1.4 var(--mono)}.class-ticket .ticket-walk{font:400 var(--text-body)/1.5 var(--mono);color:var(--dim)}.class-ticket .ticket-walk small{font-size:inherit}.detail-time>span{display:inline-block}.class-ticket .ticket-time-range{display:flex;flex-wrap:wrap;white-space:normal;flex-shrink:1;min-width:0}.ticket-time-range>span{white-space:nowrap}.class-ticket .ticket-time{min-width:0}@media(min-width:761px){body[data-view=list] .column-headings,body[data-view=list] .class-ticket .lecture-open{grid-template-columns:minmax(210px,1fr) repeat(3,150px)}body[data-view=list] .column-headings{column-gap:16px;margin-right:7px;padding-left:17px;padding-right:17px}body[data-view=list] .column-headings>span:nth-child(2){text-align:center}body[data-view=list] .column-headings>span:nth-child(3){text-align:center}body[data-view=list] .column-headings>span:nth-child(4){text-align:center}body[data-view=list] .ticket-walk{justify-content:center}body[data-view=list] .ticket-walk>.icon:last-child{margin-left:8px}body[data-view=list] .ticket-place{justify-content:center}body[data-view=list] .ticket-place>div{align-items:center;text-align:center}body[data-view=list] .ticket-time,body[data-view=list] .ticket-time-range{justify-content:center}}@media(min-width:761px)and (max-width:1150px){body[data-view=list] .column-headings,body[data-view=list] .class-ticket .lecture-open{grid-template-columns:minmax(210px,1fr) repeat(3,135px)}}.detail-body .detail-location .detail-building{font-size:var(--text-body);line-height:1.5;color:var(--dim);margin-top:4px}.location-field{border:0;border-top:1px dashed var(--rule);padding:18px 0 0;margin:22px 0 0;min-width:0}.location-field legend{font-size:12px;padding-right:10px}.location-field .time-field{margin-top:12px}.location-field .location-actions{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}.location-field .location-actions button{min-height:44px;font-size:11px;text-align:left}.location-field .location-actions .icon{width:14px}#location-status:empty{display:none}.filter-information{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.filter-information .demo-label{border:0;padding:0;font-size:10px}.filter-information button{min-height:44px;font-size:11px}@media(min-width:761px){.workspace-top,body[data-view=map] .workspace-top{min-height:48px;padding:6px 0;gap:14px;justify-content:flex-start}.workspace-top .time-browse{gap:0}.workspace-top .time-browse button{min-height:32px;padding:6px 12px;font-size:11px}.workspace-top .time-browse button+button{border-left:0}.workspace-top .time-summary{margin-left:0;min-height:32px}.workspace-top #result-count{flex:1;text-align:center;white-space:nowrap}.workspace-top .workspace-note{margin-left:0}.class-pane>.pane-heading,.map-pane>.pane-heading{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}}@media(max-width:760px){.filters-sheet .location-field{order:2}.filters-sheet .filter-information{order:6}}@media(max-width:760px){.app-shell{padding-bottom:8px}.masthead{height:58px;min-height:58px;gap:8px}.masthead .logo{font-size:23px}.masthead .main-actions{gap:6px;width:auto}.masthead .main-actions>button{min-height:44px;padding:8px 10px}.masthead #open-filters{min-width:76px}.masthead #toggle-search{min-width:44px;justify-content:center}.masthead #toggle-search>span{display:none}.workspace-top,body[data-view=map] .workspace-top{padding:6px 0;gap:8px}.workspace-top .time-browse{gap:3px;flex-shrink:1;min-width:0}.workspace-top #open-filters{min-height:44px;margin-left:0}.workspace-top #open-filters>.filter-label{display:inline}.workspace-top #time-custom,.workspace-note{display:none}.masthead .time-summary{display:flex;align-items:center;gap:6px;width:auto;margin:0;font-size:var(--text-secondary);white-space:nowrap}.workspace-top .time-browse button{min-height:44px;padding:7px 10px;font-size:11px;flex:0 1 auto}.workspace-top .time-summary{min-height:44px;font-size:11px;flex-shrink:0}.time-summary-full{display:none}.time-summary-short{display:inline}.pane-heading{min-height:34px;padding:3px 0 7px}.class-ticket .lecture-open,body[data-view=map] .class-ticket .lecture-open{padding:11px 12px;gap:7px 8px}.ticket-place>div{flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px}.ticket-place{padding-top:7px}.active-summary{padding:2px 8px}.mobile-keyboard .workspace-top{display:none}}@media(max-width:360px){.workspace-top .time-browse button{padding:7px;font-size:10px}.workspace-top .time-summary{gap:3px;font-size:10px}}.search-panel{z-index:12;margin:0 0 12px}.search-suggestions{position:absolute;top:calc(100% + 5px);left:-1px;width:min(680px,calc(100% + 2px));max-height:min(360px,45svh);overflow:auto;padding:14px;border:1px solid var(--ink);background:var(--card);box-shadow:3px 3px #14140f20}.search-suggestion-heading{margin:0 0 10px;font:400 var(--text-secondary)/1.5 var(--mono);color:var(--dim)}.search-suggestion-heading{display:flex;justify-content:space-between;gap:12px}.search-suggestion-heading small{font:inherit}.search-suggestions ul{list-style:none;margin:0;padding:0}.search-suggestions li{display:flex;border-top:1px solid var(--rule)}.search-panel [data-search-building],.search-panel [data-search-topic],.search-panel [data-search-program]{display:flex;flex:1;align-items:center;gap:12px;text-align:left;min-width:0;min-height:60px;padding:8px 6px}.suggestion-code>.icon{width:18px;height:18px}.suggestion-add{color:var(--blue);font:400 18px var(--mono);min-width:24px;text-align:center}.search-suggestions ul+.search-suggestion-heading{margin-top:18px}.search-panel #search-topics{display:flex;align-items:center;justify-content:center;gap:6px;align-self:stretch;min-width:88px;min-height:44px;padding:8px 12px;border-left:1px solid var(--rule);color:var(--blue);font-size:var(--text-body)}#search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.time-summary-short small{display:block;margin-top:3px;font:400 9px/1.3 var(--mono);color:var(--dim)}#search-topic-count{padding:2px 4px;background:var(--blue);color:#fff;font-size:10px}.topics-only #filter-when,.topics-only #filter-walk,.topics-only #filter-levels,.topics-only .room-preference,.topics-only .filter-information,.topics-only #filter-interests>summary,.topics-only #topic-picker>summary,.topics-only .subject-field>.filter-note,.topics-only #topic-picker>.filter-note{display:none}.filters-sheet.topics-only #filter-interests,.filters-sheet.topics-only #topic-picker{border:0;margin:0;background:transparent}.filters-sheet.topics-only #filter-interests>fieldset{padding:0}.filters-sheet.topics-only #topic-search{margin:16px 0 10px;width:100%}.topics-only #topic-options{max-height:min(350px,45dvh);padding:0}@media(max-width:760px){.search-panel #search-topics{min-width:76px;padding:8px;font-size:11px}#search-topics>.icon{display:none}.search-panel [data-search-topic],.search-panel [data-search-program]{gap:6px;min-height:56px}.suggestion-add{min-width:18px}}.suggestion-code{font:500 var(--text-body) var(--mono);color:var(--blue);width:28px;flex-shrink:0}.suggestion-name{min-width:0;flex:1}.suggestion-name strong{display:block;font:500 var(--text-fact)/1.5 var(--mono)}.suggestion-name small{display:block;font:400 var(--text-secondary)/1.5 var(--mono);color:var(--dim)}.suggestion-count{font:400 var(--text-label)/1.5 var(--mono);color:var(--dim);white-space:nowrap}.search-panel [data-search-map]{min-width:44px;align-self:stretch;border-left:1px solid var(--rule);color:var(--blue)}.search-suggestions button:hover{background:#e8edf4}.interest-summary{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;flex-shrink:0}.interest-summary button{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid var(--rule);padding:5px 9px;background:#e8edf4;color:var(--blue);font:400 var(--text-secondary)/1.5 var(--mono)}.interest-summary .icon{width:12px;height:12px}#draft-interests{margin:12px 0 0}.topic-picker{margin-top:12px;border:1px solid var(--rule)}.topic-picker summary{padding:12px;cursor:pointer;font:500 var(--text-body)/1.5 var(--mono)}#topic-picker-count{font:400 var(--text-secondary) var(--mono);color:var(--dim);margin-left:8px}.topic-picker>.filter-note{margin:0 12px 10px}#topic-search{display:block;width:calc(100% - 24px);margin:0 12px 10px;min-width:0;min-height:44px;padding:10px;border:1px solid var(--rule);background:var(--card)}.subject-field>.filter-note,.topic-picker>.filter-note{font:400 var(--text-secondary)/1.6 var(--mono);margin:0 0 12px}.topic-picker>.filter-note{margin:0 12px 12px}.topic-options{display:grid;grid-template-columns:1fr 1fr;max-height:260px;overflow:auto;overscroll-behavior:contain;gap:4px;padding:0 8px 8px}.topic-options label{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px;font:400 var(--text-secondary)/1.5 var(--mono);cursor:pointer}.topic-options input{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--blue)}.topic-options label:has(input:checked){background:#e8edf4;color:var(--blue)}.topic-options label:hover{background:#e8e5dc}@media(max-width:760px){.search-suggestions{padding:10px}.search-suggestion-heading small,.suggestion-name small{display:none}.interest-summary button{min-height:44px}.search-panel [data-search-building]{gap:6px;min-height:56px}.suggestion-count{max-width:62px;white-space:normal;text-align:right}.topic-options label{font-size:var(--text-body)}}@media(min-width:761px){.sonderate-detail[open]{display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:auto minmax(0,1fr) auto;width:800px;height:min(780px,calc(100svh - 48px));overflow:hidden}.sonderate-detail>.sheet-heading{grid-column:1;grid-row:1}.sonderate-detail>.detail-body{grid-column:1;grid-row:2;overflow:auto;min-height:0}.sonderate-detail>.detail-actions{grid-column:1;grid-row:3}.sonderate-detail>.sonderate-context{grid-column:2;grid-row:1 / -1;overflow:auto}.sonderate-context details>summary{display:none}}.sonderate-context{min-width:0;padding:24px 20px;background:#e8edf4;border-left:1px solid #b6c6db}.sonderate-context-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sonderate-context-top .eyebrow{margin:0;color:var(--blue)}.sonderate-draw-number{font:500 var(--text-label)/1.4 var(--mono);color:var(--blue);white-space:nowrap}.sonderate-doodle{position:relative;width:70px;margin:26px 0 22px;color:var(--blue);animation:detour-draw .4s ease-out both}.sonderate-doodle>.icon{width:46px;height:46px;transform:rotate(-8deg)}.sonderate-doodle>span{position:absolute;right:0;bottom:-7px;font:42px/1 var(--hand);color:var(--red-text)}.sonderate-context h3{font:22px/1.12 var(--fat);letter-spacing:-.5px;margin:0 0 14px}.sonderate-pick-summary{margin:0;font:400 var(--text-body)/1.65 var(--mono)}.sonderate-pick-summary strong{font-weight:500}.sonderate-filter-assurance{margin:8px 0 18px;color:var(--blue);font:500 var(--text-body)/1.5 var(--mono)}.sonderate-explanation{font:400 var(--text-secondary)/1.65 var(--mono);color:var(--dim);margin:0 0 12px}.sonderate-time-window{font:500 var(--text-secondary)/1.6 var(--mono);margin:0 0 10px}.sonderate-applied-filters{margin:0;padding:0;list-style:none}.sonderate-applied-filters li{padding:7px 0;border-top:1px solid #c5d0dd;font:400 var(--text-secondary)/1.5 var(--mono);overflow-wrap:anywhere}.sonderate-context .text-button{min-height:44px;font-size:var(--text-secondary)}.sonderate-context .text-button .icon{width:13px;height:13px}.sonderate-mission{border-top:1px dashed #a8b9cf;margin-top:12px;padding-top:18px}.sonderate-mission .eyebrow{margin:0 0 8px;color:var(--blue)}.sonderate-mission>p{margin:0;color:var(--red-text);font:25px/1.15 var(--hand)}@keyframes detour-draw{0%{transform:rotate(-18deg) scale(.85);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.sonderate-context.compact-context{display:grid;grid-template-columns:minmax(0,1fr) auto;order:0;padding:10px 12px;margin:14px 0 4px;border:1px solid #b6c6db}.compact-context .sonderate-context-top{grid-column:2;grid-row:1;align-items:start;padding:2px 0 0 8px}.compact-context .sonderate-context-top .eyebrow,.compact-context .sonderate-doodle,.compact-context h3{display:none}.compact-context .sonderate-pick-summary{grid-column:1;grid-row:1;font-size:var(--text-secondary)}.compact-context .sonderate-filter-assurance{grid-column:1 / -1;margin:4px 0 0;font-size:var(--text-secondary)}.compact-context details{grid-column:1 / -1}.compact-context summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font:400 var(--text-secondary)/1.5 var(--mono);cursor:pointer;color:var(--blue)}.compact-context summary .icon{width:13px;height:13px}.compact-context details[open] summary .icon{transform:rotate(180deg)}.compact-context details[open]{padding-bottom:4px}.compact-context .sonderate-mission{padding-top:12px}.compact-context .sonderate-mission>p{font-size:23px}@media(prefers-reduced-motion:reduce){.sonderate-doodle{animation:none}}.filters-sheet{width:540px;overflow:hidden}.filters-sheet form{display:flex;flex-direction:column;max-height:inherit}.filters-sheet .sheet-heading{flex-shrink:0;padding:20px 24px;align-items:center}.filter-intro{margin:7px 0 0;font:400 var(--text-secondary)/1.5 var(--mono);color:var(--dim)}.filters-sheet .sheet-body{display:flex;flex-direction:column;padding:22px 24px 10px;overflow:auto;min-height:0;overscroll-behavior:contain}.filters-sheet .filter-section{order:initial;flex-shrink:0;min-width:0;width:100%;margin:0;padding:0 0 22px;border:0}.filters-sheet .filter-section+.filter-section{margin-top:2px}.filters-sheet .filter-section legend{display:flex;align-items:center;gap:10px;width:100%;padding:0 0 12px;margin:0;font:500 14px/1.4 var(--mono)}.filter-step{color:var(--blue);font:400 var(--text-secondary)/1.4 var(--mono)}.filters-sheet .subject-field legend,.filters-sheet .location-field legend{border-top:1px solid var(--rule);padding-top:20px}.filters-sheet .filter-grid{gap:12px;margin:0}.filters-sheet .filter-grid label,.filters-sheet .time-field{gap:6px;font:400 var(--text-secondary)/1.4 var(--mono);color:var(--dim)}.filters-sheet .time-field{margin-top:14px}.filters-sheet select{color:var(--ink);font-size:var(--text-body)}.filters-sheet .filter-note{margin:10px 0 0;font:400 var(--text-secondary)/1.6 var(--mono)}.filters-sheet .subject-field>.filter-note{margin:0 0 12px}.filters-sheet .topic-chips{gap:6px}.filters-sheet .topic-chips button{font-size:var(--text-secondary);min-height:44px}.filters-sheet .topic-picker{background:var(--card);margin-top:12px}.filters-sheet .topic-picker summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;list-style:none}.filters-sheet .topic-picker summary::-webkit-details-marker{display:none}.filters-sheet .topic-picker summary>.icon{width:14px;height:14px;flex-shrink:0}.filters-sheet .topic-picker[open] summary>.icon{transform:rotate(180deg)}.filters-sheet .topic-picker>.filter-note{margin:0 12px 12px}.filters-sheet #draft-interests:empty{display:none}.filters-sheet .location-fields{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:12px}.filters-sheet .location-fields .time-field{margin:0}.filters-sheet .location-actions{justify-content:space-between;gap:0 12px;margin-top:4px}.filters-sheet .walking-note{margin-top:0}.filters-sheet .room-filter{min-height:56px;margin-top:14px;padding-top:14px}.filters-sheet .room-filter strong{font-size:var(--text-body)}.filters-sheet .room-filter small{font-size:var(--text-secondary);margin-top:3px}.filters-sheet .extra-filter{order:initial;margin-top:0;padding:14px;border:1px solid var(--rule);background:var(--card)}.filters-sheet .extra-filter input,.room-preference{flex-shrink:0}.filters-sheet .extra-filter{padding:16px;gap:16px;min-height:78px}.filters-sheet .extra-filter strong{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.capacity-badge{padding:3px 6px;background:#e8e5dc;font:400 var(--text-secondary)/1.3 var(--mono);color:var(--dim)}.filters-sheet .extra-filter small{margin-top:6px}.filters-sheet #big-rooms{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:42px;height:26px;margin:0;padding:3px;border:1px solid #969184;border-radius:3px;background:#d8d4c8;cursor:pointer}.filters-sheet #big-rooms:before{content:"";display:block;width:18px;height:18px;background:var(--card);box-shadow:0 1px 2px #14140f30;transition:transform .15s ease}.filters-sheet #big-rooms:checked{background:var(--blue);border-color:var(--blue)}.filters-sheet #big-rooms:checked:before{transform:translate(16px)}.filters-sheet .extra-filter:has(input:checked){border-color:#8aa7ca;background:#e8edf4}.room-preference:not(:has(input:checked)) #capacity-note{display:none}.filters-sheet #capacity-note{padding:0 2px;margin-top:8px}@media(prefers-reduced-motion:reduce){.filters-sheet #big-rooms:before{transition:none}}.filters-sheet .filter-information{order:initial;margin-top:6px;flex-shrink:0}.filters-sheet .sheet-actions{position:static;flex-shrink:0;padding:14px 24px;gap:12px}.filters-sheet .sheet-actions button{min-height:48px}.filters-sheet #apply-filters{min-width:180px;font-size:var(--text-body)}@media(max-width:760px){.filters-sheet .sheet-heading{padding:16px 18px}.filters-sheet .sheet-body{padding:18px 18px 8px}.filters-sheet .sheet-actions{padding:10px 18px max(10px,env(safe-area-inset-bottom))}.filters-sheet select{font-size:16px}.filters-sheet .location-fields{grid-template-columns:minmax(0,1fr);gap:12px}.filters-sheet .topic-options{grid-template-columns:minmax(0,1fr);max-height:264px}.filters-sheet .topic-options label{min-height:48px}}@media(min-width:761px){.class-pane{position:relative}.class-pane:has(>.map-detail-docked[open])>:not(.map-detail-docked){visibility:hidden}.sheet.map-detail-docked[open]{display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;overflow:hidden;box-shadow:none;z-index:3}.map-detail-docked .sheet-heading{padding:18px;flex-shrink:0;align-items:center}.map-detail-docked .icon-button{min-width:40px;min-height:40px}.map-detail-docked .detail-body{display:flex;flex-direction:column;overflow:auto;min-height:0;padding:18px}.map-detail-docked .detail-body .hand-note{display:none}.map-detail-docked .detail-body h2{order:0;font-size:24px;margin:0}.map-detail-docked .detail-body dl{order:1;margin:18px 0}.map-detail-docked .detail-description{order:2}.map-detail-docked .sample-note{order:3}.map-detail-docked .detail-actions{position:static;flex-shrink:0;padding:12px 18px;gap:8px;margin-top:auto}.map-detail-docked .detail-actions>button{min-width:0;min-height:44px;padding:8px}.map-detail-docked .detail-actions>.ink-button>.icon:last-child{display:none}.map-detail-docked .compact-context details>summary{display:flex}}.filters-sheet .filter-section{padding:0;margin:0 0 10px;border:1px solid var(--rule);background:var(--card)}.filters-sheet .filter-section+.filter-section{margin-top:0}.filters-sheet .filter-section[open]{border-color:#8aa7ca}.filter-section>summary{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;gap:12px;align-items:center;min-height:78px;padding:14px;cursor:pointer;list-style:none}.filter-section>summary::-webkit-details-marker{display:none}.filter-section>summary>.icon{width:18px;height:18px;color:var(--blue)}.filter-section>summary>.icon:last-child{width:13px;height:13px;color:var(--dim)}.filter-section[open]>summary>.icon:last-child{transform:rotate(180deg)}.filter-section-label{display:grid;gap:5px}.filter-section-label strong{font:500 14px/1.3 var(--mono)}.filter-section-value{font:400 var(--text-body)/1.5 var(--mono);color:var(--dim);overflow-wrap:anywhere}.filters-sheet .filter-section>fieldset{margin:0;padding:2px 14px 16px;border:0;min-width:0}.filters-sheet .filter-section>.subject-field{margin-top:0}.filters-sheet .filter-section .topic-chips button{background:var(--paper)}.filters-sheet .filter-section .topic-chips button[aria-pressed=true]{background:var(--ink)}.filters-sheet .extra-filter{margin-top:4px}.filters-sheet .filter-information{margin-top:8px}@media(max-width:760px){.filters-sheet .sheet-body{padding:14px 14px 6px}.filter-section>summary{gap:10px;padding:13px}.filter-section-label strong{font-size:13px}.filters-sheet .filter-section>fieldset{padding:2px 12px 14px}}.similar-source{margin:0 0 10px;color:var(--dim);font:400 var(--text-body)/1.6 var(--mono)}.similar-source strong{display:block;color:var(--ink);font-weight:500}.similar-note{margin:0 0 18px;font:400 var(--text-secondary)/1.6 var(--mono);color:var(--dim)}.similar-list{display:grid;gap:10px}.similar-class{display:grid;gap:10px;width:100%;min-width:0;padding:16px;text-align:left;border:1px solid var(--rule);background:var(--card)}.similar-class:hover{border-color:var(--blue);background:#e8edf4}.similar-code{display:flex;align-items:center;justify-content:space-between;font:400 var(--text-body)/1.4 var(--mono);color:var(--red-text)}.similar-code .icon{width:16px;height:16px;color:var(--ink)}.similar-title{font:400 18px/1.2 var(--fat);text-transform:uppercase;overflow-wrap:anywhere}.similar-reason{font:400 var(--text-secondary)/1.5 var(--mono);color:var(--blue)}.similar-facts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;border-top:1px dashed var(--rule);padding-top:10px;font:400 var(--text-secondary)/1.5 var(--mono)}.similar-empty h3{font:400 20px/1.3 var(--fat)}.similar-empty p{font:400 var(--text-body)/1.7 var(--mono);color:var(--dim)}.similar-detail .detail-actions{position:sticky;bottom:0;background:var(--paper)}.sonderate-context h3{font-size:25px;line-height:1.15;margin-bottom:16px}.sonderate-pick-summary{font-size:14px;line-height:1.5;margin-bottom:20px}.sonderate-explanation{font-size:15px;line-height:1.55;color:var(--ink);margin-bottom:18px}.sonderate-filter-assurance{font-size:14px;margin:0 0 10px}.sonderate-applied-filters li{font-size:13px;line-height:1.5;padding:9px 0}.sonderate-day-note{font:400 13px/1.5 var(--mono);color:var(--dim);margin:12px 0 4px}.sonderate-context .text-button{font-size:13px}.sonderate-mission .eyebrow{font-size:11px;letter-spacing:1px}.sonderate-mission>p{font-size:28px;line-height:1.2}.compact-context h3{display:block;grid-column:1 / -1;margin:0 0 6px;font:500 14px/1.4 var(--mono);letter-spacing:0}.compact-context .sonderate-pick-summary{grid-column:1 / -1;grid-row:auto;font-size:12px;margin:0}.compact-context summary{font-size:12px}.compact-context .sonderate-explanation{font-size:14px;margin:8px 0 16px}.compact-context .sonderate-mission>p{font-size:25px}.map-course-preview{border-top:1px dashed var(--rule);padding:14px 18px 16px}.map-course-preview[hidden]{display:none}.map-course-preview>p{margin:0 0 12px;font:400 13px/1.6 var(--mono);color:var(--dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.map-course-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-course-preview-footer>span{font:400 12px/1.5 var(--mono);color:var(--dim)}.map-course-preview-footer>button{flex-shrink:0;min-height:44px;font-size:13px;color:var(--blue)}.class-ticket.has-preview{border-color:var(--blue)}.has-preview .ticket-walk>.icon:last-child{transform:rotate(180deg)}.map-detail-docked .sonderate-context{flex-shrink:0}.map-detail-docked .compact-context h3{font:400 18px/1.2 var(--fat);margin-bottom:8px}.map-detail-docked .compact-context .sonderate-pick-summary,.map-detail-docked .compact-context details>summary,.map-detail-docked .sonderate-applied-filters,.map-detail-docked .sonderate-day-note{display:none}.map-detail-docked .compact-context details[open]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px}.map-detail-docked .sonderate-explanation{grid-column:1 / -1;margin:0 0 8px;font-size:13px}.map-detail-docked .compact-context .sonderate-filter-assurance{grid-column:1;margin:0;font-size:12px}.map-detail-docked [data-sonderate-filters]{font-size:12px}.map-detail-docked .sonderate-mission{grid-column:1 / -1;margin-top:6px;padding-top:12px}.has-preview .ticket-description{display:none}.detail-actions>button[hidden]{display:none}.detail-actions>#similar-classes.ink-button{grid-column:auto;font:500 var(--text-body)/1.4 var(--mono)}.detail-actions>#similar-classes.ink-button>.icon{display:block;margin-left:0;width:18px;height:18px}.detail-actions>#sonderate-again.sonderate-repeat{grid-column:1 / -1;min-height:50px;margin-bottom:4px;padding:12px 18px;gap:12px;font:400 14px/1.2 var(--fat);text-transform:uppercase}.sonderate-repeat>.icon{width:20px;height:20px}.sonderate-repeat>.icon:last-child{margin-left:auto}.sonderate-repeat>span{margin-right:auto}.sonderate-detail .detail-actions>#building-day{grid-column:1 / -1}body[data-view=map] .detail-actions>#building-day{grid-column:1 / -1;justify-content:center;text-align:center}.map-discovery-note{position:absolute;z-index:4;left:21px;bottom:12px;margin:0;font:600 20px/1.2 var(--hand);color:var(--red-text);pointer-events:none;text-shadow:0 1px 3px white,0 0 6px white}@media(max-width:760px){.map-discovery-note{left:12px;bottom:12px;font-size:18px}}.starts.is-started{color:var(--blue)}.starts.is-started:before{background:var(--blue)}.embedded-map.campus-map .map-info-control{font-size:14px}@media(max-width:760px){.mobile-switch #toggle-map{display:flex;justify-content:center;min-height:48px;padding:8px;border:1px solid var(--blue);background:var(--blue);color:#fff;font:500 12px/1.4 var(--mono)}.mobile-switch #toggle-map>span{font:inherit;color:inherit;margin:0}.mobile-switch #toggle-map .icon{width:18px;height:18px}.mobile-switch #toggle-map[aria-expanded=true]{background:#e8f0fb;color:var(--blue)}}@media(max-width:760px){button,summary,a,input,select{-webkit-tap-highlight-color:transparent}.search-open .masthead #toggle-search{display:none}.masthead #search-topics{display:flex;align-items:center;justify-content:center;gap:6px;min-width:76px;min-height:44px;padding:8px;border:1px solid var(--rule);background:var(--card);color:var(--blue);font:400 12px/1.4 var(--mono)}.masthead #search-topics>.icon{display:none}.masthead{height:66px;min-height:66px}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0}.brand-lockup .logo{line-height:1.05}.brand-lockup #result-count{line-height:1;margin:0}.brand-lockup .result-count-badge{background:none;padding:0;font:400 11px/1.3 var(--mono);color:var(--dim)}.brand-lockup .result-count-badge strong{font:inherit;color:var(--ink)}.class-pane>.pane-heading{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.search-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0;border:0;background:none;margin:0 0 8px}.search-field{grid-column:1 / -1;gap:8px;min-height:52px;padding:0 6px 0 12px;border:1px solid var(--ink);background:var(--card)}.search-field:focus-within{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.search-field input{font-size:16px;outline:none}.search-panel #search-topics{grid-column:2;min-height:44px;min-width:96px;padding:6px 10px;border:1px solid var(--rule);background:var(--card);font-size:12px}#search-topics>.icon{display:block}.search-suggestions{max-height:min(360px,var(--search-results-height, 45svh));overscroll-behavior:contain}.mobile-keyboard .masthead{display:none}.mobile-switch #toggle-map{height:48px;font-size:13px}.mobile-switch .sonderate{height:48px;font-size:12px}.filter-section-label>strong{font-size:14px}.filter-section-value{font-size:12px;line-height:1.5}.filters-sheet .filter-grid label,.filters-sheet .time-field,.filters-sheet .gap-values label,.filters-sheet .filter-note,.filter-intro{font-size:12px}.filters-sheet .topic-chips button,.filters-sheet .topic-option,.filters-sheet .room-filter strong,.filters-sheet .topic-options label{font-size:13px}.filters-sheet .topic-options{max-height:none;overflow:visible}.filters-sheet #topic-search{position:sticky;top:0;z-index:2;background:var(--card)}.mobile-keyboard .filters-sheet.topics-only .topic-chips,.mobile-keyboard .filters-sheet.topics-only .filter-intro{display:none}.mobile-keyboard .filters-sheet .sheet-heading{padding:8px 14px}.filters-sheet .gap-slider{display:none}.filters-sheet .sheet-actions button,.filters-sheet .location-actions button{font-size:13px}.detail-sheet .sheet-heading{padding:12px 18px}.detail-sheet .sheet-heading .eyebrow{display:none}.detail-sheet .detail-code{font-size:13px}.detail-body{padding-top:16px}.detail-body dt{font-size:11px;letter-spacing:.5px}.detail-body .detail-description{font-size:14px;line-height:1.7}.detail-body .sample-note{display:none}.detail-body>#sonderate-context{order:2}.detail-body>#sonderate-context>.sonderate-mission{grid-column:1 / -1;margin-top:12px}.detail-body>dl{order:1}.detail-body>.detail-description{order:3}.detail-actions>#show-building,.detail-actions>#share-class,.detail-actions>#similar-classes.ink-button{font-size:13px}.detail-actions>.text-button{font-size:12px}.invitation-sheet .sheet-heading .eyebrow{display:none}.invitation-sheet .sheet-heading>button{margin-left:auto}.invitation-intro,.invitation-sheet .filter-note{font-size:13px}.invitation-actions>button{font-size:13px}.embedded-map.campus-map #sources{width:calc(100% - 28px);max-height:calc(var(--mobile-viewport-height, 100dvh) - 24px);padding:18px;border:1px solid #14140f;border-radius:0;background:#f3f0e7;color:#14140f;font-family:DM Mono,ui-monospace,monospace}.embedded-map.campus-map #sources .dialog-top{position:sticky;top:-18px;z-index:1;padding:8px 0;margin-top:-8px;background:#f3f0e7;justify-content:flex-end}.embedded-map.campus-map #sources .overline{display:none}.embedded-map.campus-map #close-sources{width:44px;height:44px;font-size:24px;border:1px solid #b9b5a7;color:#14140f}.embedded-map.campus-map #sources h2{font:400 24px/1.15 var(--fat);letter-spacing:-.5px;margin-top:12px}.embedded-map.campus-map #sources .source-entry{grid-template-columns:minmax(0,1fr)}.embedded-map.campus-map #sources .source-entry>span{display:none}.embedded-map.campus-map #sources .source-entry h3{font:500 14px/1.4 DM Mono,monospace}.embedded-map.campus-map #sources .source-entry a{font-size:12px;line-height:1.5}.embedded-map.campus-map #sources .source-entry p{font-size:13px;line-height:1.6}.embedded-map.campus-map #sources .source-footnote{font-size:12px;line-height:1.6}}@media(max-width:360px){.detail-body h2{font-size:23px;line-height:1.2}.detail-body dl>div{padding:12px 0}.detail-actions>#show-building,.detail-actions>#share-class,.detail-actions>#similar-classes.ink-button{font-size:12px}}@media(max-height:500px)and (pointer:coarse){.app-shell{height:100svh;min-height:0}.embedded-map.campus-map .square-control{width:44px;min-width:44px;height:44px}.masthead .main-actions>button,.workspace-top .time-browse button,.workspace-top #open-filters,.workspace-top .time-summary{min-height:44px}}@media(max-width:760px){.masthead #toggle-search{min-width:88px;gap:7px;background:var(--card);border:1px solid var(--ink);color:var(--ink)}.masthead #toggle-search>span{display:inline;font:500 12px/1.4 var(--mono)}.masthead #toggle-search>.icon{width:16px;height:16px}}.map-sheet-heading,.mobile-map-toolbar{display:none}@media(max-width:760px){body.mobile-map-open .app-shell{padding:0}body.mobile-map-open .masthead,body.mobile-map-open .workspace-top{display:none}body.mobile-map-open .panes{position:relative;height:100%;min-height:0;margin:0;padding:0}body.mobile-map-open #map-pane{position:absolute;inset:0 0 var(--map-sheet-height, 360px);height:auto;padding:0;min-height:0}body.mobile-map-open #map-pane>.pane-heading,body.mobile-map-open #map-building-preview{display:none}body.mobile-map-open .map-frame{height:100%;min-height:0;border:0;margin:0}body.mobile-map-open .class-pane{display:flex;position:absolute;inset:auto 0 0;height:var(--map-sheet-height, 360px);min-height:0;padding:0;border-top:2px solid var(--ink);background:var(--paper);z-index:6;box-shadow:0 -4px 16px #14140f12}body.mobile-map-open .map-sheet-heading{display:flex;flex-shrink:0;height:64px;border-bottom:1px solid var(--rule)}#map-sheet-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px;min-width:0;padding:14px 14px 7px;background:transparent;border:0;color:var(--ink);text-align:left;touch-action:none;cursor:ns-resize}.map-sheet-grip{position:absolute;top:5px;left:50%;width:32px;height:3px;background:var(--dim);transform:translate(-50%)}.map-sheet-copy{display:grid;gap:3px;min-width:0}.map-sheet-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 14px/1.3 var(--mono)}.map-sheet-copy small{font:400 11px/1.3 var(--mono);color:var(--dim)}.map-sheet-action{flex-shrink:0;padding:7px 8px;border:1px solid #b9c9dd;background:#e8edf4;color:var(--blue);font:500 12px/1.3 var(--mono)}#map-sheet-clear{align-self:center;width:44px;min-width:44px;height:44px;margin-right:10px;padding:10px}body.mobile-map-open .lecture-list{flex:1;min-height:0;overflow:auto;padding:10px 12px;overscroll-behavior:contain}body.mobile-map-open .ticket-description{display:none}body.mobile-map-open .map-course-preview{padding:5px 12px 8px}body.mobile-map-open .map-course-preview>p{display:none}body.mobile-map-open .map-course-preview-footer{gap:8px}body.mobile-map-open .map-course-preview-footer>span{font-size:11px}body.mobile-map-open .map-course-preview-footer>button{font-size:12px}body.mobile-map-open #active-summary,body.mobile-map-open #interest-summary{margin:6px 12px 0}body.mobile-map-open[data-map-sheet=peek] .lecture-list,body.mobile-map-open[data-map-sheet=peek] #active-summary,body.mobile-map-open[data-map-sheet=peek] #interest-summary{display:none}body.mobile-map-open .mobile-map-toolbar{display:flex;position:absolute;z-index:8;top:10px;left:10px;right:10px;align-items:center;justify-content:space-between;gap:6px;pointer-events:none}.mobile-map-toolbar>*{pointer-events:auto}.mobile-map-toolbar #open-filters,.mobile-map-toolbar #toggle-search{display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:10px;background:var(--paper);border:1px solid var(--ink)}.mobile-map-toolbar #open-filters>.filter-label,.mobile-map-toolbar #toggle-search>span{display:none}.mobile-map-toolbar>#open-filters,.mobile-map-toolbar>#toggle-search{order:0;flex:0 0 44px}.mobile-map-toolbar .time-browse{gap:2px;min-width:0;flex:0 0 auto;padding:0}.mobile-map-toolbar .time-browse button{min-height:44px;padding:7px 8px;font:400 11px/1.4 var(--mono);background:var(--paper);white-space:nowrap}.mobile-map-toolbar .time-browse button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.mobile-map-toolbar #time-custom{display:none}.mobile-map-toolbar .time-summary{display:flex;align-items:center;flex:0 1 auto;width:auto;min-width:44px;min-height:44px;margin:0;padding:6px;font-size:11px;gap:3px;background:var(--paper);border:1px solid var(--rule)}.mobile-map-toolbar .time-summary-short{max-width:74px;overflow:hidden;text-overflow:ellipsis}body.mobile-map-open .embedded-map.campus-map .compass{top:66px;right:12px;bottom:auto;width:44px;height:54px}body.mobile-map-open .embedded-map.campus-map .map-scale{display:none}body.mobile-map-open .embedded-map.campus-map .view-controls{bottom:42px;right:12px;transform:none}body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map .view-controls,body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map .compass,body.mobile-map-open[data-map-sheet=full] .map-discovery-note{display:none}}.embedded-map.campus-map .map-tools-toggle{display:none}@media(max-width:760px){.embedded-map.campus-map:has(#labels-toggle[aria-pressed=false]) #labels{visibility:hidden}.embedded-map.campus-map .view-controls{display:none}.embedded-map.campus-map.map-tools-open .view-controls{display:flex}.embedded-map.campus-map .map-tools-toggle{position:absolute;z-index:7;right:12px;bottom:42px;display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;background:#ffffffd9;color:var(--blue);border:1px solid #d2dce9;font:400 11px/1.3 var(--mono)}.embedded-map.campus-map .map-tools-toggle>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.embedded-map.campus-map .map-tools-toggle>span:first-child{font-size:22px;line-height:1}.embedded-map.campus-map .map-tools-toggle[aria-expanded=true]{background:#e8f0fb;border-color:var(--blue)}body.mobile-map-open .embedded-map.campus-map.map-tools-open .view-controls{bottom:94px}body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map .map-tools-toggle,body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map.map-tools-open .view-controls{display:none}body.mobile-map-open .app-shell{height:calc(var(--mobile-viewport-height, 100dvh) - 76px - env(safe-area-inset-bottom))}}@media(min-width:500px)and (max-width:760px)and (max-height:500px){body.mobile-map-open #map-pane{top:0;right:42%;bottom:0;left:0}body.mobile-map-open .class-pane{top:0;right:0;bottom:0;left:58%;height:100%;border-top:0;border-left:1px solid var(--ink)}body.mobile-map-open .mobile-map-toolbar{right:calc(42% + 10px);gap:4px}body.mobile-map-open .map-sheet-action,body.mobile-map-open .map-sheet-grip{display:none}body.mobile-map-open #map-sheet-toggle{padding:8px 10px;opacity:1;cursor:default}body.mobile-map-open .map-sheet-copy strong{font-size:12px}body.mobile-map-open .lecture-list{display:block;padding:8px}body.mobile-map-open .class-ticket h3{font-size:16px}body.mobile-map-open .map-course-preview-footer{flex-wrap:wrap}body.mobile-map-open .map-discovery-note{font-size:16px}body.mobile-map-open .embedded-map.campus-map .compass{display:none}body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map .map-tools-toggle,body.mobile-map-open[data-map-sheet=full] .embedded-map.campus-map.map-tools-open .view-controls{display:flex}}@media(max-width:760px){body.mobile-map-open .class-pane.is-empty #map-sheet-toggle{cursor:pointer}body.mobile-map-open .class-pane.is-empty #active-summary.building-only{display:none}body.mobile-map-open .empty-state{padding:12px;text-align:left}body.mobile-map-open .empty-state>span,body.mobile-map-open .empty-state .browse-topics{display:none}body.mobile-map-open .empty-state h3{font-size:18px;margin:0 0 8px}body.mobile-map-open .empty-state p{margin:0 0 8px;line-height:1.5}body.mobile-map-open .empty-state>button{min-height:44px;font-size:12px}body.mobile-map-open .workspace{position:relative}body.mobile-map-open .search-panel{position:absolute;top:10px;left:10px;right:10px;margin:0}body.mobile-map-open.search-open .mobile-map-toolbar{display:none}body.mobile-map-open.mobile-keyboard .app-shell{height:var(--mobile-viewport-height, 100dvh)}body.mobile-map-open.mobile-keyboard.search-open .class-pane{visibility:hidden}body.mobile-map-open.mobile-keyboard.search-open #map-pane{bottom:0}}@media(min-width:500px)and (max-width:760px)and (max-height:500px){body.mobile-map-open .class-pane.is-empty .map-sheet-action{display:block;font-size:11px}}.empty-state>[data-empty-filters]{min-height:44px;margin:0 auto 16px;padding:10px 16px;font:500 13px/1.4 var(--mono)}@media(max-width:760px){body.mobile-map-open .empty-state>[data-empty-filters]{display:none}}.level-options{display:flex;gap:6px;margin-top:12px}.level-options>button{flex:1;min-width:0;min-height:44px;padding:6px 4px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:400 13px/1.4 var(--mono)}.level-options>button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
