/* The campus is independent of the landing sections and public record content. */
#campus-backdrop{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;background:#acd2e7}
body[data-campus-active=true] #campus-backdrop{display:block}
#campus-backdrop .city-hall,#campus-backdrop .city-hall-stage{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:none!important;opacity:1!important}
#campus-backdrop .city-hall-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#campus-backdrop model-viewer{position:absolute;inset:0;width:100%;height:100%;--poster-color:transparent;background:transparent}
#campus-backdrop .city-hall-atmosphere{display:none}
#campus-backdrop .city-hall-loading{position:absolute;left:20px;bottom:20px;padding:12px;max-width:300px;background:#f9fbfc;color:#344955;border-radius:8px;pointer-events:auto;font:13px/1.5 Arial,sans-serif}
#campus-backdrop [hidden]{display:none!important}
#campus-backdrop progress{display:block;width:100%;height:5px;accent-color:#315f79}
.campus-utility{position:relative;z-index:10;display:flex;justify-content:flex-end;padding:8px 24px;min-height:48px}
.campus-utility .scene-dock{display:flex;align-items:center;gap:8px;padding:2px 8px;background:#f8fafbef;border:1px solid #bdc9d0;border-radius:8px}
.campus-utility button,.campus-utility summary{min-height:40px;border:0;background:transparent;color:#344955;padding:8px;font:13px/1.3 Arial,sans-serif;cursor:pointer}
.campus-utility .campus-enable{border:1px solid #bdc9d0;background:#f8fafb;border-radius:6px}
.campus-utility .scene-tools{position:relative}.campus-utility summary{display:flex;align-items:center;list-style:none}
.campus-utility .scene-tools-panel{position:absolute;right:0;top:100%;width:min(320px,calc(100vw - 32px));padding:16px;background:#f8fafb;border:1px solid #bdc9d0;border-radius:8px;box-shadow:0 12px 40px #20354226;font:13px/1.6 Arial,sans-serif}
.campus-utility .city-hall-controls{display:flex;gap:6px;margin-top:12px}.campus-utility .city-hall-controls button{border:1px solid #9cacb4;border-radius:5px;min-width:40px}
.campus-utility button:disabled{cursor:default;color:#596b74}
body[data-campus-active=true] :is(.information-main,.finance-main,.discussion-main,#server-record.reader,.records-scroll){position:relative;z-index:1;background:#f8fafbf5;border:1px solid #c8d1d8;border-radius:12px;box-shadow:0 10px 42px #16324512;width:min(920px,calc(100% - 48px));max-width:920px;margin:10vh 24px 32px auto;padding:32px!important}
body[data-campus-active=true] .civic-shell{background:transparent!important}
body[data-campus-active=true] .records-scroll #server-record{margin:0}
body[data-campus-active=true] .site-footer{background:#edf2f5f5}
@media(min-width:1300px){body[data-campus-active=true] :is(.information-main,.finance-main,.discussion-main,#server-record.reader,.records-scroll){width:min(900px,67vw)}}
@media(max-width:760px){.campus-utility{padding:6px 16px}.campus-utility button,.campus-utility summary{min-height:44px}body[data-campus-active=true] :is(.information-main,.finance-main,.discussion-main,#server-record.reader,.records-scroll){width:calc(100% - 24px);margin:120px 12px 24px;padding:20px 16px!important}#campus-backdrop .city-hall-loading{max-width:calc(100vw - 24px);left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){#campus-backdrop{display:none!important}}

@media(max-width:760px){
 body[data-campus-active=true] #campus-backdrop{background:linear-gradient(#acd2e7 35%,#dce6ea 65%)}
 body[data-campus-active=true] #campus-backdrop .city-hall-stage{top:var(--site-header-height,69px);bottom:auto;height:clamp(340px,52svh,500px)}
 body[data-campus-active=true] :is(.information-main,.finance-main,.discussion-main,#server-record.reader,.records-scroll){margin-top:clamp(190px,28svh,250px)}
}

body[data-experience=records] .civic-shell::before{display:none!important}
body[data-experience=records][data-campus-active=true] #server-record.reader{margin-top:10vh}
@media(max-width:760px){body[data-experience=records][data-campus-active=true] #server-record.reader{margin-top:clamp(190px,28svh,250px)}}
