.campus-page{max-width:1460px;margin:auto;padding:30px 28px 70px}.campus-hero{padding:34px 16px 42px;position:relative}.campus-hero h1{font-size:clamp(44px,5.8vw,78px);line-height:1.02;letter-spacing:-.06em;margin:18px 0 22px}.campus-hero h1 em{color:#cef85b;font-style:normal}.campus-hero p{max-width:740px}.campus-hero .pill{margin:12px 10px 0 0;display:inline-block}.map-workbench{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.map-workbench[hidden]{display:none}.location-panel{position:sticky;top:20px;align-self:start;max-height:88vh;overflow:auto;padding:16px;border:1px solid #ffffff18;border-radius:20px;background:#171a25}.location-panel label{font-size:13px;font-weight:700;display:block;margin-bottom:10px}.location-panel input{width:100%;padding:12px;border-radius:10px;border:1px solid #656880;background:#0e1017;color:#fff}.location-button{display:block;width:100%;text-align:left;border:0;border-radius:10px;padding:12px;margin:5px 0;background:transparent;color:#ddd;cursor:pointer;font:inherit;font-size:13px}.location-button:hover,.location-button[aria-pressed=true]{background:#cef85b;color:#172418}.room-result{border-left:2px solid #76dcc5}.map-content{min-width:0}.map-content>.surface{padding:26px;margin-bottom:24px;border-radius:24px}#site-map{width:100%;height:auto;max-height:560px;background:#1b2630;border-radius:18px}#site-map g{cursor:pointer}#site-map rect{fill:#203c48bb;stroke:#d8f9eb;stroke-width:2}#site-map g[aria-pressed=true] rect{fill:#d2f85b;stroke:#fff;stroke-width:4}#site-map text{fill:white;font:bold 22px system-ui;pointer-events:none}#site-map g[aria-pressed=true] text{fill:#172418}#site-map g:focus rect{stroke:#e3ff94;stroke-width:8}#floor-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}#floor-tabs [aria-pressed=true],.room-button[aria-pressed=true]{background:#cef85b;color:#172418}#room-map{display:block;width:100%;height:auto;max-height:440px;background:#dfe5da;border-radius:14px}#room-map[hidden]{display:none}#room-map g[role=button]{cursor:pointer}#room-map text{pointer-events:none;fill:#172a2c;font-family:system-ui}.plan-base{fill:#f0eddf}.room-shape{fill:#d7e5c4;stroke:#90b4a6;stroke-width:.035}#room-map g[aria-pressed=true] .room-shape{fill:#fff19a;stroke:#72872c;stroke-width:.15}.plan-details{pointer-events:none}.plan-wall{fill:#3c4648}.plan-desk{fill:#b98751;opacity:.8}.plan-shelf{fill:#7c584c}#room-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.room-button{font:inherit;font-size:12px;padding:9px 12px;border:1px solid #ffffff29;border-radius:10px;background:#262b3c;color:#e9ebef;cursor:pointer}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comparison figure{margin:0;background:#10131b;border:1px solid #ffffff18;border-radius:16px;overflow:hidden}.comparison figcaption{padding:14px;font-weight:800}.comparison figure>div{padding:0 12px 14px;min-height:160px}.comparison img{width:100%;max-height:320px;object-fit:contain;border-radius:10px}.comparison small{display:block;line-height:1.5;margin-top:10px;color:#bdc4d2}.photo-missing{padding:20px;color:#aab6c7}.reference-link{display:inline-block;font-size:12px;margin:12px 12px 0 0;color:#9fe4dc}.map-comment{padding:20px;margin:14px 0;background:#111722;border:1px solid #ffffff19;border-radius:15px}.map-comment>a{font-weight:750;color:#d3f887}.map-comment p{white-space:pre-wrap;overflow-wrap:anywhere}.map-comment small{color:#b4becb}.map-comment .post-photo{max-height:200px}.map-comments label{display:block;margin-bottom:10px}#map-comment{width:100%;padding:14px;border-radius:14px;background:#0e121a;color:#fff;border:1px solid #6c7384;font:inherit}#map-comment-error{color:#cef85b}#source-links{margin-top:16px}.muted{line-height:1.6}@media(max-width:900px){.map-workbench{grid-template-columns:1fr}.location-panel{position:static;max-height:230px}#locations{display:flex;gap:6px;flex-wrap:wrap}.location-button{width:auto;flex:1 1 160px}.campus-page{padding:20px 14px}.map-content>.surface{padding:18px}.comparison{grid-template-columns:1fr}#site-map{max-height:420px}.campus-hero{padding:20px 4px 28px}}
.capture-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,1fr);gap:24px;align-items:start}#section-map{width:100%;max-height:430px;display:block;border-radius:16px;background:#142632}#section-map rect{fill:#223b48;stroke:#a4d4cd;stroke-width:.07}#section-map g[role=button]{cursor:pointer}#section-map g[aria-pressed=true] rect{fill:#4f6942;stroke:#cef85b;stroke-width:.2}#section-map text{fill:#edffe5;font-family:system-ui;pointer-events:none}#section-map .section-walls{pointer-events:none;opacity:.45}#section-map .section-walls rect{fill:#fff;stroke:none}#section-map .section-arrow{pointer-events:none;fill:#cef85b;stroke:#cef85b;stroke-width:.12}#section-buttons{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0;max-height:155px;overflow:auto}.compass-card{padding:15px;background:#111722;border-radius:20px}#capture-compass{width:100%;max-height:230px}#capture-compass text{font:bold 14px system-ui;fill:#a0b4bf}#capture-compass .active{fill:#d0ff6c}.compass-ring{fill:#1b3040;stroke:#72818d;stroke-dasharray:3 5}.camera-cone{fill:#cef85b2b}.camera-arrow{fill:none;stroke:#cef85b;stroke-width:6;stroke-linecap:round}.camera-person{fill:#cef85b}#capture-compass .you{font-size:10px;fill:#142b18}#facing-buttons{display:grid;grid-template-columns:1fr 1fr;gap:5px}#facing-buttons .room-button{margin:0}#facing-help{font-size:13px;line-height:1.5}.section-reference,.capture-badge{padding:12px 16px;border:1px solid #d3fb6550;border-radius:12px;color:#d3fb85;background:#b5e15f0a;overflow-wrap:anywhere}.photo-guide{padding:16px;background:#9fdce608;border-radius:15px;margin:24px 0}.photo-guide summary{cursor:pointer;font-weight:750}.photo-guide li{margin:14px 0;line-height:1.6}.direction-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.direction-card{padding:12px;border:1px solid #ffffff22;border-radius:16px;background:#111722}.direction-card h4{margin:5px 0 14px;color:#cef85b}.direction-card small{display:block;color:#a9c8d1;margin:12px 0 6px}.direction-card img{width:100%;height:90px;object-fit:cover;border-radius:9px}.direction-card span{display:block;font-size:12px}.direction-card .missing-angle{border:1px dashed #ffffff2e;border-radius:9px;padding:14px 5px;text-align:center;color:#98a5b4}.direction-card button{margin-top:14px}.map-comments select,.map-comments input[type=text],#capture-spot{display:block;width:100%;margin-bottom:20px;padding:14px;border-radius:12px;background:#10151e;border:1px solid #727e87;color:#fff;font:inherit}.photo-upload[hidden]{display:none}@media(max-width:1100px){.direction-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.capture-layout{grid-template-columns:1fr}.compass-card{max-width:430px}#section-map{min-height:240px}.direction-card h4{font-size:13px}}

.named-map-scroll{overflow:auto;border-radius:18px}.named-map-scroll #site-map{min-width:1050px;max-height:none;display:block}#site-map .map-name-label rect{fill:#132c39f0;stroke:#8aafab;stroke-width:1.1}#site-map .map-name-label line{stroke:#b9d3cc;stroke-width:2}#site-map .map-name-label text{font:600 17px system-ui;fill:#f3fff7}#site-map .map-name-label .map-building-code{font-size:12px;fill:#c3d5d0}#site-map .map-name-label[aria-pressed=true] rect{fill:#d2f85b;stroke:#fff}#site-map .map-name-label[aria-pressed=true] text,#site-map .map-name-label[aria-pressed=true] .map-building-code{fill:#172418}#source-links>.primary{display:block;width:fit-content;margin-bottom:15px}

.school-panorama{display:block;width:100%;height:440px;border:0;border-radius:10px;background:#16202c}.panorama-help{font-size:14px;line-height:22px;color:#d3f887;margin:12px 0}#real-view>.pill{display:inline-block;margin:0 0 8px}#real-view small{font-size:12px}@media(max-width:600px){.school-panorama{height:380px}}

.model-entry{display:flex;flex-direction:column;justify-content:center;gap:22px;min-height:260px;padding:26px;border:1px solid #b7ee6870;border-radius:14px;background:linear-gradient(145deg,#233b37,#151d2b);color:#ecf7ed;text-decoration:none}.model-entry strong{font-size:25px;line-height:32px;color:#cef85b}.model-entry>span:last-child{font-size:14px;line-height:22px}.model-entry:hover,.model-entry:focus-visible{border-color:#cef85b;background:#243d38;outline:2px solid #cef85b}
