.form-stack,.plan-fields{gap:14px;display:grid}.form-stack label{gap:6px;font-weight:700;display:grid}.form-stack input{background:var(--paper);border:2px solid var(--ink);border-radius:7px 5px 8px 6px;width:100%;min-width:0;padding:8px}.mode-switch,.chips{flex-wrap:wrap;gap:8px;display:flex}.form-stack button{border:2px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:10px 7px 9px 6px;padding:8px 12px}.form-stack button[aria-pressed=true],.form-stack .find-button{background:var(--ink);color:var(--paper)}.filter-block fieldset{border:0;min-width:0;margin:14px 0;padding:0}.filter-block legend{margin-bottom:8px;font-weight:700}.coverage-notice{border:2px dashed var(--ink);padding:12px}.coverage-notice span{overflow-wrap:anywhere;margin-top:6px;font-size:.85rem;display:block}.result-card{border:2px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 var(--ink);overflow-wrap:anywhere;border-radius:11px 8px 12px 9px;margin-block:12px;padding:16px}.location-controls{margin-block:14px}.location-controls button{border:2px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:10px 7px 9px 6px;min-height:44px;padding:8px 12px}.location-controls button:disabled{cursor:wait}.location-controls p{margin:6px 0 0;font-size:.9rem}.result-card h3,.result-card p{margin:0 0 8px}.result-card h3 a{align-items:center;min-height:44px;display:inline-flex}.form-stack,.plan-fields{gap:10px}.form-stack label,.filter-block legend{font-size:.85rem}.form-stack input{font-family:var(--data-font)}.chips{gap:6px}.chips button{padding:6px 8px;font-size:.8rem}.building-chips{scrollbar-gutter:stable;max-height:152px;padding:4px 5px 5px 4px;overflow-y:auto}.coverage-notice{font-size:.9rem}.coverage-notice span{font-family:var(--data-font);font-size:.75rem}.result-card{grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);gap:5px 18px;margin-block:10px;padding:12px 16px;display:grid}.result-card h3{grid-column:1;font-size:1.1rem}.result-card p{font:.8rem/1.5 var(--data-font);grid-column:1;margin:0}.result-card h3 a{min-height:44px}.result-status{border-left:2px solid var(--ink);font:700 .8rem/1.5 var(--data-font);grid-area:1/2/span 4;align-self:center;padding-left:16px}@container application (width<=719px){.result-card{grid-template-columns:minmax(0,1fr);padding:10px 13px}.result-status{border-left:0;border-top:1px dashed var(--ink);grid-area:auto/1;margin-top:4px;padding:8px 0 0}.building-chips{max-height:104px}}@container application (width>=1100px){.workspace-with-detail .result-card{grid-template-columns:minmax(0,1fr)}.workspace-with-detail .result-status{border-left:0;border-top:1px dashed var(--ink);grid-area:auto/1;padding:8px 0 0}}@container application (width>=351px) and (width<=719px){.plan-fields:has(input[type=date]){grid-template-columns:repeat(2,minmax(0,1fr))}.plan-fields label:has(input[type=date]){grid-column:1/-1}}.room-directory,.standalone-venue{min-width:0;max-width:1280px;margin:auto;padding:24px}.directory-filters{flex-wrap:wrap;gap:16px;margin:24px 0;display:flex}.directory-filters label,.week-selector{flex-direction:column;gap:8px;min-width:0;max-width:100%;display:flex}.directory-filters input,.directory-filters select,.week-selector select{max-width:100%;min-height:44px;font:inherit;border:1px solid var(--ink);background:var(--paper);border-radius:8px;padding:8px}.directory-filters label:first-child{flex:1;min-width:200px}.directory-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;display:grid}.directory-card{border:1px solid var(--ink);background:var(--paper);overflow-wrap:anywhere;border-radius:12px;padding:20px}.directory-card h2{font-size:1.05rem}.directory-pagination,.venue-actions{flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0;display:flex}.venue-detail{background:var(--paper);overflow-wrap:anywhere;min-width:0;padding:24px}.venue-detail .coverage-notice{margin-top:16px}.venue-detail h1{font-size:1.6rem}.back-link{margin-bottom:12px;display:inline-block}.venue-codes{font-weight:700}.current-room-status{border:1px solid var(--ink);border-radius:8px;padding:12px}.timetable-container{min-width:0;margin-top:24px;container:timetable/inline-size}.weekday-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin-bottom:16px;display:grid}.weekday-tabs button{min-height:44px;padding:8px 2px;font-size:.8rem}.weekday-tabs [aria-selected=true]{background:var(--hatch);font-weight:700}.weekly-timetable{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.timetable-day{min-width:0;display:none}.timetable-day.selected-day{display:block}.timetable-day h3{margin:0 0 20px;font-size:.85rem}.day-blocks{flex-direction:column;gap:10px;display:flex}.scheduled-block{border:1px solid var(--ink);background:repeating-linear-gradient(135deg, var(--paper) 0 5px, var(--hatch) 5px 7px);width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;border-radius:5px;padding:12px 8px;font-size:.85rem;line-height:1.3}.scheduled-block span{display:block}.scheduled-block[aria-expanded=true]{outline:2px solid var(--ink);outline-offset:1px}.class-disclosure{background:var(--paper);border:1px solid var(--ink);border-radius:8px;margin-top:16px;padding:16px}.class-disclosure ul{padding-left:20px}.class-disclosure li{margin-bottom:16px}.day-empty{color:var(--muted-ink);font-size:.85rem}.workspace-with-detail>.finder-controls,.workspace-with-detail>.results-region{display:none}.workspace-with-detail{display:block!important}@container timetable (width>=700px){.weekday-tabs{display:none}.weekly-timetable{grid-template-columns:repeat(6,minmax(0,1fr))}.timetable-day{display:block}.scheduled-block{font-size:.8rem}}@container application (width>=1100px){.workspace.workspace-with-detail{grid-template-columns:320px minmax(0,1fr) 420px;display:grid!important}.workspace-with-detail>.finder-controls,.workspace-with-detail>.results-region{display:block}.workspace-with-detail>.venue-detail{border-left:1px solid var(--ink);padding:20px}}@container application (width<=599px){.room-directory,.standalone-venue{padding:12px}.venue-detail{padding:16px}.directory-filters{flex-direction:column}.directory-filters label:first-child{min-width:0}.directory-pagination{gap:10px}}.venue-codes,.current-room-status,.week-selector,.day-blocks,.class-disclosure{font-family:var(--data-font)}.back-link,.venue-actions a,.directory-card a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.directory-card{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:11px 8px 12px 9px}.venue-detail{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:10px 15px 9px 13px}.weekday-tabs [aria-selected=true]{color:var(--paper);background:var(--ink)}@container timetable (width<=300px){.weekday-tabs{grid-template-columns:repeat(3,minmax(44px,1fr))}}.room-metadata{font-family:var(--data-font)}:root{--ink:#111;--paper:#fffefa;--hatch:#e7e7e3;--muted-ink:#454545;--character-coral:#ff8065;--character-mint:#78d1b4;--character-gold:#ffc857;--display-font:"Chalkboard SE", "Comic Sans MS", "Bradley Hand", cursive;--data-font:ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box}html{color:var(--ink);background:var(--paper);font-family:var(--data-font)}body{background-color:var(--paper);background-image:linear-gradient(#11111109 1px,#0000 1px),linear-gradient(90deg,#11111106 1px,#0000 1px);background-size:24px 24px;min-block-size:100vh;min-inline-size:0;margin:0}button,input,select,textarea{color:inherit;font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}h1,h2,h3{font-family:var(--display-font)}html{font-family:system-ui,sans-serif;line-height:1.45}button,input,select,textarea,summary{min-width:44px;min-height:44px}button{border:2px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:9px 6px 8px 7px;padding:8px 12px}button:disabled{color:var(--muted-ink);background:var(--hatch);cursor:default;border-style:dashed}a{text-underline-offset:3px}h1,h2,h3{line-height:1.15}p{line-height:1.5}.doodle-character{width:76px;height:68px;color:var(--ink);flex:none;transition:transform .16s;transform:rotate(3deg)}.doodle-character--coral .doodle-character__body{fill:var(--character-coral)}.doodle-character--mint .doodle-character__body{fill:var(--character-mint)}.doodle-character--gold .doodle-character__body{fill:var(--character-gold)}@media (prefers-reduced-motion:reduce){.doodle-character,.doodle-character *,.wordmark{transition:none;animation:none;transform:none}}.app-shell{min-block-size:100vh;inline-size:100%;container:application/inline-size}.skip-link{z-index:30;border:2px solid var(--ink);background:var(--paper);box-shadow:3px 3px 0 var(--ink);padding:10px 14px;position:fixed;inset-block-start:8px;inset-inline-start:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-header{border-block-end:3px solid var(--ink);background:var(--paper);justify-content:space-between;align-items:center;gap:24px;padding:14px 24px 12px;display:flex}.wordmark{font:700 27px/.95 var(--display-font);letter-spacing:-1px;text-decoration:none;transform:rotate(-.8deg)}.primary-nav{gap:8px;display:flex}.nav-item{border:2px solid var(--ink);background:var(--paper);min-block-size:44px;box-shadow:2px 2px 0 var(--ink);border-radius:13px 9px 12px 10px;justify-content:center;align-items:center;padding-inline:16px;font-weight:700;text-decoration:none;display:inline-flex}#main-content{min-inline-size:0}.workspace{grid-template-columns:320px minmax(0,1fr);gap:28px;padding:24px;display:grid}.finder-controls,.venue-panel{border:2px solid var(--ink);background:var(--paper);box-shadow:4px 4px 0 var(--ink);border-radius:10px 15px 9px 13px;align-self:start;padding:16px}.results-region{min-inline-size:0}@container application (width>=1100px){.workspace:has(.venue-panel){grid-template-columns:320px minmax(0,1fr) 420px}}@container application (width>=720px) and (width<=1099px){.workspace{grid-template-columns:minmax(0,760px);justify-content:center;padding:20px}.finder-controls{margin-block-end:20px}.form-stack{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;display:grid}.mode-switch,.plan-fields,.filter-block,.find-button{grid-column:1/-1}.plan-fields{grid-template-columns:1.35fr 1fr 1fr;gap:14px;display:grid}}@container application (width<=719px){#main-content{padding-block-end:68px}.app-header{padding:13px 14px 11px;display:block}.wordmark{font-size:23px}.primary-nav{z-index:20;border-block-start:3px solid var(--ink);background:var(--paper);grid-template-columns:1fr 1fr;gap:0;display:grid;position:fixed;inset-block-end:0;inset-inline:0}.nav-item{box-shadow:none;border:0;border-radius:0}.nav-item+.nav-item{border-inline-start:2px solid var(--ink)}.workspace{padding:14px;display:block}.finder-controls{margin-block-end:18px;padding:13px}.form-stack,.plan-fields{gap:12px;display:grid}}.app-header{gap:16px;padding-block:10px}.wordmark{align-items:center;max-width:320px;min-height:44px;margin-right:auto;display:inline-flex}.nav-item[aria-current=page]{color:var(--paper);background:var(--ink)}.finder-dateline{flex-wrap:wrap;align-items:baseline;gap:8px 24px;padding:14px 24px;display:flex}.finder-dateline h1{margin:0 auto 0 0;font-size:1.5rem}.finder-dateline p{font:.8rem/1.5 var(--data-font);margin:0}.finder-page>.coverage-notice{background:var(--paper);border-inline:0;border-radius:0;padding:10px 24px}.workspace{gap:24px}.results-region h2{margin:0;font-size:1.4rem}.result-count{font:.8rem var(--data-font);margin:8px 0 16px}@container application (width>=1100px){.finder-controls{scrollbar-gutter:stable;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}}@container application (width>=720px) and (width<=1099px){.location-controls{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 16px;margin:0;display:flex}.location-controls p{flex:1;min-width:200px}.finder-controls{margin-bottom:0}.filter-block{grid-template-columns:1fr 1.5fr;gap:20px;display:grid}}@container application (width<=719px){.app-header{display:flex}.app-header .doodle-character{width:52px;height:48px}.finder-dateline{gap:6px 12px;padding:12px 14px}.finder-dateline h1{width:100%;font-size:1.3rem}.finder-page>.coverage-notice{padding:10px 14px;font-size:.85rem}}@container application (width<=1099px){:is(.finder-page:has(.workspace-with-detail)>.finder-dateline,.finder-page:has(.workspace-with-detail)>.coverage-notice){display:none}}
