/* Campus has one lookup bench and one shared subject for map / official scene. */
.campus-shell{width:min(1440px,calc(100% - 64px));margin:28px auto 64px;font:15px/1.65 var(--sans);color:var(--ny-text);--campus-map-height:clamp(390px,51vh,590px)}
.campus-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px}
.campus-heading>div{display:flex;align-items:baseline;gap:22px}
.campus-heading h1{font-size:36px;margin:0}
.campus-heading p{font-size:15px;margin:0;color:var(--ny-muted)}
.campus-heading nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.campus-heading nav a{font-size:13px;color:var(--ny-link);min-height:40px;display:inline-flex;align-items:center;text-decoration:none}
.campus-workspace{display:block}
.campus-directory{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px;border:0;padding:0;margin:0 0 18px;background:transparent}
.campus-directory>h2{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.campus-search{position:relative;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:6px 14px;padding:14px 16px;border:1px solid var(--ny-line);border-radius:16px;background:color-mix(in srgb,var(--ny-surface) 78%,transparent)}
.campus-search>label{grid-column:1/-1;font-size:13px;margin:0;color:var(--ny-muted)}
.campus-search-line{grid-column:1;display:flex;gap:8px;margin:0}
.campus-search-line input{flex:1;min-width:0;min-height:46px;padding:10px 14px;border:1px solid var(--ny-line-strong);border-radius:10px;background:var(--ny-field);color:var(--ny-text);font:15px var(--sans)}
.campus-search-line button{min-height:46px;padding:10px 20px;border:1px solid var(--ny-action-bg);border-radius:10px;color:var(--ny-action-ink);background:var(--ny-action-bg);font:600 15px var(--sans)}
.campus-search-options{grid-column:2;min-width:0;margin:0}
.campus-search-options>summary{min-height:46px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ny-line);border-radius:10px;color:var(--ny-text);background:var(--ny-hover);font-size:14px}
.campus-search-option-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-top:12px}
.campus-search-option-grid label{font-size:13px;color:var(--ny-muted)}
.campus-shell select{color-scheme:inherit;color:var(--ny-text);background:var(--ny-field);border-color:var(--ny-line-strong);font:14px var(--sans);min-height:44px}
.campus-search-results{grid-column:1;grid-row:2;min-width:0;border:0;margin:0}
.campus-search-results>summary{min-height:42px;display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ny-link);cursor:pointer}
.campus-search-results>summary>span{display:none}
.campus-search-feedback{grid-column:1;grid-row:3;display:flex;align-items:center;gap:12px;min-width:0}
.campus-search-feedback .campus-result-count{margin:0;font-size:13px;line-height:1.6;color:var(--ny-muted);white-space:normal}
.campus-search-feedback #campus-retry{min-height:40px;padding:5px 12px;color:var(--ny-link);border:1px solid var(--ny-line);border-radius:8px;background:var(--ny-field);font:14px var(--sans);white-space:nowrap}
.campus-search-feedback:has(#campus-retry[hidden]){position:absolute;right:164px;bottom:8px;max-width:50%;pointer-events:none}
.campus-search-results[open]{grid-column:1/-1}
.campus-search-results[open]~.campus-search-feedback{position:static;max-width:none;padding:6px 0}
.campus-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:280px;gap:0 16px;border-block:1px solid var(--ny-line);overflow:auto}
.campus-result{padding:12px 10px;color:var(--ny-text);border-bottom-color:var(--ny-line)}
.campus-result span{font-size:15px}.campus-result small{font-size:13px;color:var(--ny-muted);margin-top:3px}
.campus-result:hover,.campus-result[aria-current]{background:var(--ny-hover);border-left-color:var(--ny-accent)}
.campus-result[aria-current] span{color:var(--ny-text);font-weight:650}
.campus-planner{grid-column:2;grid-row:2;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.campus-planner>summary{display:flex;align-items:center;min-height:42px;padding:0;font-size:14px;color:var(--ny-link)}
.campus-planner>summary>span{display:none}
.campus-planner[open]{grid-column:1/-1;grid-row:auto;border-top:1px solid var(--ny-line);padding-top:6px}
.campus-planner[open]>summary>span{display:inline;margin-left:12px;font-size:13px;color:var(--ny-muted)}
.campus-route-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;margin:4px 0 12px;align-items:start}
.campus-route-form>div{min-width:0}.campus-route-form label{font-size:13px;color:var(--ny-muted)}
.campus-route-form input{min-height:46px;font:15px var(--sans);color:var(--ny-text);background:var(--ny-field);border-color:var(--ny-line-strong)}
.campus-place-picker>summary{min-height:36px;font-size:13px;color:var(--ny-link)}
.campus-route-buttons{grid-column:3;display:flex;flex-direction:column;gap:8px;padding-top:29px}
.campus-shell :is(.campus-primary,.campus-secondary){font:500 14px/1.4 var(--sans);min-height:44px;padding:9px 14px;box-sizing:border-box}
.campus-shell .campus-primary{background:var(--ny-action-bg);color:var(--ny-action-ink);border-color:var(--ny-action-bg)}
.campus-shell .campus-secondary{color:var(--ny-text);background:var(--ny-hover);border-color:var(--ny-line-strong)}
.campus-main{min-width:0;--campus-map-height:inherit}
.campus-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin:0;padding:16px 20px 12px;border:1px solid var(--ny-line);border-bottom:0;border-radius:18px 18px 0 0;background:color-mix(in srgb,var(--ny-surface) 93%,transparent);scroll-margin-top:140px}
.campus-selection-bar[hidden]{display:none}
.campus-selection-identity{min-width:0}.campus-selection-identity .campus-area-label{font-size:13px;margin:0 0 2px;color:var(--ny-muted)}
.campus-selection-identity h2{font:500 25px/1.35 var(--serif);margin:0;color:var(--ny-text);overflow-wrap:anywhere}
.campus-selection-aliases{font-size:13px;color:var(--ny-muted);line-height:1.5;margin:3px 0 0}
.campus-selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.campus-selection-actions form{margin:0}.campus-selection-actions :is(button,.secondary-button){font:500 14px/1.4 var(--sans);min-height:44px;padding:9px 12px;white-space:nowrap}
.campus-selection-actions .campus-vr-official{font-size:13px;color:var(--ny-link);min-height:44px;align-items:center}
.campus-selection-availability{font-size:13px;color:var(--ny-warning);margin:4px 0 0}
.campus-workbench-tabs{position:relative;display:none;gap:4px;align-items:center;padding:2px 16px 8px;background:color-mix(in srgb,var(--ny-surface) 93%,transparent);border-inline:1px solid var(--ny-line)}
.campus-workbench-tabs a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex:1;text-decoration:none;font-size:14px;color:var(--ny-muted);border-bottom:2px solid transparent}
.campus-workbench-tabs a[aria-current]{color:var(--ny-text);border-color:var(--ny-accent);font-weight:600}
.campus-workbench-tabs a:last-child{flex:0 0 auto;margin-left:auto;padding-inline:10px;font-size:13px}
.campus-map-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:start;padding:12px 18px 18px;border:1px solid var(--ny-line);border-top:0;border-radius:0 0 18px 18px;background:color-mix(in srgb,var(--ny-surface) 93%,transparent);scroll-margin-top:140px}
.campus-map-pane,.campus-scene-pane{position:relative;min-width:0;scroll-margin-top:140px}
.campus-map-toolbar,.campus-scene-heading{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:8px;margin:0 0 8px}
.campus-map-toolbar h2,.campus-scene-heading h2{margin:0;font:600 16px/1.5 var(--sans);color:var(--ny-text)}
.campus-map-toolbar h2 small{display:block;margin:0;font:400 13px/1.4 var(--sans);color:var(--ny-muted)}
.campus-scene-heading>span{font-size:13px;max-width:60%;color:var(--ny-muted);text-align:right;overflow-wrap:anywhere}
.campus-map-actions{display:flex;align-items:center;gap:7px}
.campus-label-toggle{min-height:44px;font:13px var(--sans);padding:7px;border:1px solid var(--ny-line);border-radius:8px;color:var(--ny-text);background:transparent}
.campus-zoom.ny-glass-surface{position:relative;display:flex;gap:0;padding:3px;border:1px solid var(--ny-line-strong);border-radius:12px;background:var(--ny-hover)}
.campus-zoom.ny-glass-surface button{position:relative;z-index:1;min-width:44px;min-height:40px;padding:7px;font:13px var(--sans);border:0;border-radius:8px;background:transparent;color:var(--ny-text);text-shadow:none}
.campus-zoom button:disabled{opacity:.45}.campus-zoom button:hover:not(:disabled){background:var(--ny-hover)}
.campus-map-pane .campus-map-viewport{position:relative;max-height:none;border:1px solid var(--ny-line);border-radius:12px;box-sizing:border-box}
.campus-map-load{font-size:13px;line-height:1.65;color:var(--ny-warning);margin:10px 0;padding:10px 12px;border:1px solid var(--ny-line);border-radius:9px}
.campus-map-load a{color:var(--ny-link)}.campus-map-load button{display:block;min-height:40px;margin-top:6px;font:14px var(--sans);background:transparent;color:var(--ny-link);border:1px solid var(--ny-line);border-radius:7px;padding:6px 10px}
.campus-map-caption{font-size:13px;color:var(--ny-muted);line-height:1.7;margin:10px 0 0}.campus-map-caption a{color:var(--ny-link)}
.campus-scene-stage{height:var(--campus-map-height);position:relative;border:1px solid var(--ny-line);border-radius:12px;overflow:hidden;background:#102127;box-sizing:border-box}
.campus-vr-poster{height:100%;position:relative;display:flex;align-items:flex-end;padding:26px;isolation:isolate;box-sizing:border-box}
.campus-vr-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.campus-vr-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07151900 20%,#071519a8 65%,#071519ef);z-index:-1}
.campus-vr-poster>div{max-width:100%}.campus-vr-poster>div>span{font:13px var(--sans);color:#d9eee7}
.campus-vr-poster h3{font:500 clamp(25px,2.4vw,36px)/1.4 var(--serif);margin:8px 0 18px;overflow-wrap:anywhere;color:#f0f6f1}
.campus-vr-poster .campus-primary{min-width:140px;gap:24px}
.campus-scene-stage .campus-vr{height:100%;margin:0}.campus-scene-stage .campus-vr iframe{height:100%;width:100%;min-height:0;aspect-ratio:auto;border:0;border-radius:0;display:block}
.campus-scene-footer{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-top:10px}
.campus-scene-footer>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.campus-vr-official{font-size:13px;color:var(--ny-link)}
.campus-scene-note{font-size:13px;color:var(--ny-muted);line-height:1.7;margin:8px 0 0}
.campus-scene-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;box-sizing:border-box;color:#ecf3f4;background:#14272e}
.campus-scene-empty>span{font-size:44px;color:#9dbfb9}.campus-scene-empty h3{font:500 25px var(--serif);margin:12px 0}.campus-scene-empty p{font-size:15px;line-height:1.8;color:#b9d0d4}
.campus-has-sheet{padding-bottom:0}.campus-has-sheet .campus-inspector{position:static;inset:auto;display:block;max-height:none;background:transparent;border:0;border-radius:0;box-shadow:none;margin-top:28px;z-index:auto}
.campus-has-sheet .campus-inspector-body{overflow:visible;max-height:none;padding:0;min-height:0}.campus-has-sheet .campus-sheet-toggle{display:none}
.campus-inspector .campus-detail{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:28px;padding:24px 0;border-top:1px solid var(--ny-line)}
.campus-detail-copy>p{font-size:15px;color:var(--ny-muted);line-height:1.85;max-width:68ch}.campus-detail-copy .campus-location{font-size:16px;color:var(--ny-text)}
.campus-detail-copy .campus-muted,.campus-muted{font-size:13px;color:var(--ny-muted);line-height:1.8}
.campus-inspector .campus-photo>img{height:260px;object-fit:cover}.campus-photo figcaption{font-size:13px;color:var(--ny-muted);background:var(--ny-surface)}
.campus-related a{min-height:40px;font-size:14px;box-sizing:border-box;color:var(--ny-link);background:var(--ny-hover);border-color:var(--ny-line)}
.campus-related h3,.campus-related summary,.campus-place-sources summary{font-size:15px;color:var(--ny-text)}
.campus-route-result{background:color-mix(in srgb,var(--ny-surface) 94%,transparent);border-color:var(--ny-line);padding:20px}
.campus-route-result h2{font-size:20px;color:var(--ny-text)}.campus-route-steps li{color:var(--ny-text);border-color:var(--ny-line);font-size:15px}.campus-route-step{min-height:44px}
.campus-route-step[aria-pressed=true]{color:var(--ny-text);background:var(--ny-selected)}.campus-route-step span{font-size:13px;color:var(--ny-link)}
.campus-route-feedback{font-size:14px;color:var(--ny-warning)}
.campus-map-directory,.campus-transit,.campus-sources{scroll-margin-top:140px}.campus-map-directory{margin:20px 0 28px}
.campus-map-directory>summary,.campus-map-group>summary{font-size:16px;min-height:44px;color:var(--ny-text)}
.campus-map-directory summary span{font-size:13px;color:var(--ny-muted)}.campus-building-list a{font-size:15px;color:var(--ny-text);min-height:44px;box-sizing:border-box}.campus-building-list small{font-size:13px;color:var(--ny-muted)}
.campus-sources summary{min-height:44px;color:var(--ny-text);font-size:15px}.campus-sources p{font-size:13px;color:var(--ny-muted)}
.campus-shell :is(input,select,button,a,summary,[tabindex]):focus-visible{outline:2px solid var(--ny-focus);outline-offset:3px}
@media(max-width:1100px){.campus-selection-bar{flex-wrap:wrap}.campus-selection-actions{justify-content:flex-start}.campus-heading>div{display:block}.campus-heading p{margin-top:4px}.campus-map-toolbar{flex-wrap:wrap}.campus-map-detail-grid{gap:16px}.campus-route-form{grid-template-columns:1fr 1fr}.campus-route-buttons{grid-column:1/-1;flex-direction:row;padding-top:0}}
@media(max-width:900px){.campus-shell{width:calc(100% - 32px);margin-top:24px;--campus-map-height:clamp(320px,48svh,440px)}.campus-heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:14px}.campus-heading h1{font-size:32px}.campus-heading nav{gap:4px 18px}.campus-heading nav a{min-height:36px}.campus-search{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:8px}.campus-search>label{grid-column:1;grid-row:1}.campus-search-options{grid-column:2;grid-row:1}.campus-search-options>summary{min-height:0;padding:0;border:0;background:transparent;font-size:13px}.campus-search-line{grid-column:1/-1;grid-row:2}.campus-search-option-grid{grid-template-columns:1fr 1fr}.campus-search-options[open]{grid-column:1/-1;grid-row:3}.campus-search-options[open]>summary{min-height:36px}.campus-search-results{grid-column:1}.campus-results{grid-template-columns:1fr 1fr;max-height:240px;gap:0 8px}.campus-search-feedback:has(#campus-retry[hidden]){right:142px;bottom:10px;max-width:45%}.campus-search-feedback .campus-result-count{font-size:12px}.campus-directory{gap:0 10px;margin-bottom:12px}.campus-route-form{grid-template-columns:1fr}.campus-route-buttons{grid-column:1;padding-top:0}.campus-planner[open]>summary>span{font-size:12px}.campus-selection-bar{padding:14px 14px 10px;gap:10px;border-radius:16px 16px 0 0}.campus-selection-identity h2{font-size:25px}.campus-selection-aliases{display:none}.campus-selection-actions{gap:6px}.campus-selection-actions :is(button,.secondary-button){font-size:13px;padding:8px 10px;min-height:42px}.campus-workbench-tabs{display:flex;padding:0 10px 4px}.campus-map-detail-grid{grid-template-columns:1fr;padding:6px 12px 14px;gap:22px;border-radius:0 0 16px 16px}.campus-map-toolbar,.campus-scene-heading{min-height:44px;margin-bottom:8px;flex-wrap:nowrap}.campus-map-toolbar h2,.campus-scene-heading h2{font-size:15px}.campus-map-toolbar h2 small{font-size:12px}.campus-map-actions{gap:3px}.campus-label-toggle{font-size:12px;padding:6px}.campus-zoom.ny-glass-surface button{font-size:12px;min-width:37px;min-height:38px;padding:6px}.campus-map-caption,.campus-map-load,.campus-scene-note{font-size:13px}.campus-scene-stage{height:var(--campus-map-height)}.campus-vr-poster{padding:24px}.campus-inspector .campus-detail{grid-template-columns:1fr;gap:16px}.campus-detail-media{order:2}.campus-has-sheet .campus-inspector{margin-top:22px}.campus-map-pane,.campus-scene-pane,.campus-map-directory,.campus-transit,.campus-sources{scroll-margin-top:160px}}
@media(forced-colors:active){.campus-selection-bar,.campus-map-detail-grid,.campus-workbench-tabs,.campus-search{background:Canvas;border-color:CanvasText}.campus-workbench-tabs a[aria-current]{border-color:Highlight}.campus-vr-poster::after{background:#000a}}
/* Match the narrow map's useful image area instead of reserving a tall letterbox.
   The scene panel keeps its own viewing height; the camera still owns zoom/pan. */
@media(max-width:600px){.campus-map-pane{--campus-map-height:clamp(240px,64vw,310px)}}
/* Retire the old white poster wash locally; the photograph itself is untouched. */
html[data-theme="light"] .campus-shell .campus-directory{border:0;background:transparent}
html[data-theme="light"] .campus-shell .campus-selection-bar{border-bottom:0;background:color-mix(in srgb,var(--ny-surface) 93%,transparent)}
html[data-theme="light"] .campus-shell .campus-map-detail-grid{border-top:0;background:color-mix(in srgb,var(--ny-surface) 93%,transparent)}
html[data-theme="light"] .campus-shell .campus-vr-poster::after{background:linear-gradient(180deg,#07151900 20%,#071519a8 65%,#071519ef)}
html[data-theme="light"] .campus-shell .campus-vr-poster h3{color:#f0f6f1}
html[data-theme="light"] .campus-shell .campus-vr-poster>div>span{color:#d9eee7}
html[data-theme="light"] .campus-shell .campus-search-line button{background:var(--ny-action-bg);color:var(--ny-action-ink);border-color:var(--ny-action-bg)}
.campus-inspector .campus-detail:not(:has(.campus-detail-media)){grid-template-columns:1fr}
@media(max-width:900px){html[data-theme="light"] .campus-shell .campus-search-options>summary{border:0;background:transparent}}
/* Explicitly clear legacy sticky geometry and fixed search-line width. */
.campus-map-pane{inset:auto}
.campus-search-line{max-width:none;width:100%}
.campus-map-load{position:absolute;top:66px;left:12px;right:12px;z-index:8;background:color-mix(in srgb,var(--ny-surface) 97%,transparent);box-shadow:0 4px 18px #04151b18}
html[data-theme="light"] .campus-shell .campus-planner{background:transparent;border:0}
html[data-theme="light"] .campus-shell .campus-selection-actions .campus-primary{background:var(--ny-action-bg);color:var(--ny-action-ink);border-color:var(--ny-action-bg)}
html[data-theme="light"] .campus-shell .campus-inspector{background:transparent}
@media(min-width:901px){.campus-search>label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.campus-search-line{grid-row:1}.campus-search-options{grid-row:1}}
@media(max-width:900px){.campus-heading p{display:none}.campus-heading>div{display:block}.campus-search-options>summary{min-height:24px}.campus-map-load{top:64px}}

/* A lookup bench, a persistent place index, and the selected place. The map
   and its camera keep their original coordinate space and controls. */
.campus-ui-icon{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.campus-results-jump{display:none}
html[data-theme="light"] .campus-shell .campus-map-pane .campus-map-viewport{background:var(--ny-raised)}
.campus-shell>.campus-search{grid-template-columns:minmax(0,1.2fr) minmax(350px,1fr);align-items:end;margin:0 0 20px;background:var(--ny-surface)}
.campus-shell>.campus-search>.campus-search-options{grid-column:2;grid-row:1}
.campus-shell>.campus-search .campus-search-option-grid{grid-template-columns:1fr 1fr;padding:0;gap:14px}
.campus-shell>.campus-search .campus-search-option-grid label{display:block;margin:0 0 5px;color:var(--ny-text);font-size:13px}
.campus-shell>.campus-search .campus-search-option-grid select{width:100%;min-width:0;min-height:46px;border-radius:9px}
.campus-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.campus-workspace>.campus-directory{position:sticky;top:100px;display:block;max-height:calc(100dvh - 120px);margin:0;padding:14px;border:1px solid var(--ny-line);border-radius:14px;background:var(--ny-surface);overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.campus-search-results>h2,.campus-planner>h2{display:flex;align-items:center;gap:9px;margin:0 0 12px;color:var(--ny-text);font:600 16px/1.5 var(--sans)}
.campus-directory .campus-results{display:block;max-height:none;overflow:visible;border:0}
.campus-directory .campus-result{padding:12px 8px;border-left:2px solid transparent;border-bottom:1px solid var(--ny-line);border-radius:0;transition:background-color 180ms ease,border-color 180ms ease}
.campus-directory .campus-result:hover,.campus-directory .campus-result:focus-visible,.campus-directory .campus-result[aria-current]{border-left-color:var(--ny-focus);background:var(--ny-hover)}
.campus-directory .campus-result span{color:var(--ny-text);font-size:14px;line-height:1.55}
.campus-directory .campus-result small{color:var(--ny-muted);font-size:13px;line-height:1.5}
.campus-directory .campus-search-feedback,.campus-directory .campus-search-feedback:has(#campus-retry[hidden]){position:sticky;inset:auto;bottom:0;display:flex;max-width:none;gap:8px;padding:10px 0;background:var(--ny-surface);pointer-events:auto;border-top:1px solid var(--ny-line)}
.campus-inspector .campus-planner{margin:0 0 24px;padding:20px 0 0;border-top:1px solid var(--ny-line);scroll-margin-top:150px}
.campus-inspector .campus-route-form{margin-bottom:0;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
.campus-inspector .campus-route-form label{display:block;margin-bottom:6px;color:var(--ny-text);line-height:1.55}
.campus-inspector .campus-route-form input{width:100%;border-radius:9px}
.campus-inspector .campus-route-buttons{padding-top:29px;grid-column:3}
.campus-map-directory .campus-map-group{padding:8px 0;border-color:var(--ny-line)}
.campus-map-directory .campus-building-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
.campus-map-directory .campus-building-list a{padding:10px 8px;border:0;border-bottom:1px solid var(--ny-line);border-radius:0;background:transparent}
.campus-map-directory .campus-building-list a:hover{background:var(--ny-hover)}
@media(min-width:901px) and (max-width:1150px){.campus-workspace{grid-template-columns:210px minmax(0,1fr);gap:18px}.campus-map-detail-grid{grid-template-columns:1fr}.campus-map-pane{--campus-map-height:clamp(330px,48vh,440px)}.campus-scene-stage{height:330px}}
@media(max-width:900px){
 .campus-shell>.campus-search{display:grid;grid-template-columns:1fr;margin-bottom:16px;padding:12px}
 .campus-shell>.campus-search>.campus-search-options{grid-column:1;grid-row:3}
 .campus-shell>.campus-search .campus-search-option-grid{gap:10px}
 .campus-shell>.campus-search .campus-search-line{grid-row:2}
 .campus-shell>.campus-search>label{grid-column:1;grid-row:1;color:var(--ny-text);font-size:13px}
 .campus-workspace{display:flex;flex-direction:column;gap:20px}
 .campus-results-jump{display:inline-flex;align-items:center;min-height:36px;margin:-12px 0 8px;color:var(--ny-link);font-size:13px;text-decoration:none}
 .campus-workspace>.campus-directory{position:static;order:3;width:100%;max-height:none;padding:14px;overflow:visible}
 .campus-workspace>.campus-main{display:contents}
 .campus-main>.campus-selection-bar{order:0;width:100%}
 .campus-main>.campus-workbench-tabs{order:1;width:100%;margin-top:-20px}
 .campus-main>.campus-map-detail-grid{order:2;width:100%;margin-top:-20px}
 .campus-main>.campus-inspector{order:4;width:100%}
 .campus-main>.campus-map-directory{order:5;width:100%}
 .campus-main>.campus-transit{order:6;width:100%}
 .campus-main>.campus-sources{order:7;width:100%}
 .campus-directory .campus-search-results>h2{margin-bottom:6px;font-size:14px}
 .campus-directory .campus-results{display:grid;grid-template-columns:1fr 1fr;max-height:152px;overflow:auto;overscroll-behavior:contain}
 .campus-directory .campus-result{padding:8px 7px}
 .campus-directory .campus-search-feedback,.campus-directory .campus-search-feedback:has(#campus-retry[hidden]){position:static;background:transparent;border-top:0}
 .campus-inspector .campus-route-form{grid-template-columns:1fr;gap:12px}
 .campus-inspector .campus-route-buttons{grid-column:1;flex-direction:row;flex-wrap:wrap;padding-top:0}
 .campus-map-directory .campus-building-list{grid-template-columns:1fr 1fr;gap:0 10px}
}
@media(max-width:620px){.campus-shell>.campus-search .campus-search-option-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.campus-directory .campus-result{transition:none}}
