/* Campus adaptation of knight-L/sc-datav Demo2. Apache-2.0 notices: /licenses/sc-datav/ */
:root{--paper:#050b17;--ink:#edf5ff;--dim:#a8bad7;--mute:#839abc;--accent:#4b91ff;--line:#28477d;--surface:#101d34;--sidebar:clamp(240px,19vw,340px);background:#050b17;color:var(--ink)}
body{background:#050b17}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-color:#72c7ff}button,a,input,summary{transition:background-color .18s,border-color .18s,color .18s}header{height:94px;padding:20px 26px;align-items:center;gap:0;border-bottom:1px solid #254d8d;background:linear-gradient(180deg,#07101feb,#07101f70)}header:after{content:'';position:absolute;left:32%;right:32%;height:2px;bottom:-2px;background:linear-gradient(90deg,transparent,#5bb5ff,transparent);box-shadow:0 0 18px #458fff}.brand{display:none}.header-right{width:100%;justify-content:flex-end;gap:18px}.header-right .phase-name{position:absolute;left:27px;font-size:13px;top:28px}.phase-name:before{background:#50c1ff;box-shadow:0 0 9px #3493ff}.header-right button{font-size:12px;color:#b0c5e5}.school-logo{width:207px;filter:none;margin-left:7px}.screen-title{position:fixed;left:25%;right:25%;top:12px;z-index:9;text-align:center;pointer-events:none}.screen-title h1{font-size:26px;line-height:1.35;font-weight:600;letter-spacing:8px;margin:0;color:#f0f7ff;text-shadow:0 0 22px #5295ff70}.screen-title p{margin:2px 0 0;font-size:16px;letter-spacing:4px;color:#a9ccff}.screen-title small{font:8px 'Segoe UI',sans-serif;letter-spacing:5px;color:#7da2d8}.screen-meta{position:fixed;left:27px;top:59px;font-size:10px;color:#839fc7;z-index:9}.live-dot{display:inline-block;width:4px;height:4px;background:#69bcff;margin-right:6px}.meta-divider{margin:0 9px;color:#325179}.screen-vignette{position:fixed;inset:94px 0 0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#040a1640,transparent 28%,transparent 72%,#040a1640)}
.datav-panel{position:fixed;z-index:4;background:linear-gradient(135deg,#101c32e8,#081323e8);border-radius:0;padding:21px 18px 18px}.datav-panel:before{content:'';position:absolute;inset:0;pointer-events:none;background:url('/assets/datav/panel-frame.svg') 0 0/100% 100% no-repeat}.datav-panel h2{display:flex;justify-content:space-between;gap:9px;align-items:baseline;font-size:15px;font-weight:500;letter-spacing:1px;line-height:1.5;padding:0 0 11px;margin:0 0 14px;border-bottom:1px solid #365783;color:#e7f1ff}.datav-panel h2:after{content:'';position:absolute;left:18px;top:54px;width:34px;height:2px;background:#b3ceff}.datav-panel h2 small{font:8px 'Segoe UI',sans-serif;letter-spacing:1px;color:#728cb4;white-space:nowrap}
.directory-panel{left:20px;top:119px;width:var(--sidebar);bottom:39px;padding-top:21px}.index-summary{margin:15px 0 72px;display:flex;gap:12px;align-items:baseline}.index-summary strong{font:36px/1.2 'Segoe UI',sans-serif;color:#6eacff;font-weight:600;text-shadow:0 0 24px #3186ff40}.index-summary span{font-size:12px;color:#a5bbdc}.index-summary i{font:8px 'Segoe UI',sans-serif;letter-spacing:2px;margin-left:auto;color:#5475a7}#building-directory{height:calc(100% - 184px);overflow:auto;scrollbar-width:thin;scrollbar-color:#34578a transparent}#building-directory button{background:transparent;border-bottom:1px solid #1c3151;padding:10px 5px;width:100%;display:flex;gap:12px;align-items:center;text-align:left;font-size:14px;line-height:1.5;color:#d2e1f6;min-height:43px}#building-directory button:hover,#building-directory button.selected{background:linear-gradient(90deg,#2453a866,transparent);color:#fff}#building-directory button small{font:11px 'Segoe UI',sans-serif;color:#649bea}#building-directory button span{flex:1}#building-directory button i{font-style:normal;color:#5b8bcf}.directory-empty{font-size:14px;color:#a3b8d7;line-height:2}
.campus-search{left:38px;right:auto;top:258px;width:calc(var(--sidebar) - 36px)}.search-field{padding:11px 12px;border-radius:2px;background:#081528;border:1px solid #305486;box-shadow:none;gap:10px}.search-field input{font-size:14px;color:#eaf4ff}.search-field input::placeholder{color:#92aacc}.search-field kbd{color:#567cae}.search-symbol{border-color:#7fa8df}.search-symbol:after{background:#7fa8df}#search-results{background:#101e35;border:1px solid #4779bd;border-radius:0;box-shadow:0 10px 30px #0008;padding:10px}#search-results li button{border-radius:0;color:#dbeaff;font-size:14px;padding:10px 3px}#search-results li button:hover{background:#24426d}.results-heading,.search-empty{color:#94aed1}
.overview-panel{right:20px;top:119px;width:var(--sidebar);height:231px}.overview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 17px}.overview-metrics>div{border-right:1px solid #284369}.overview-metrics>div:last-child{border:0}.overview-metrics strong{display:block;font:32px/1.3 'Segoe UI',sans-serif;font-weight:600;color:#70acff}.overview-metrics span{font-size:11px;color:#a2b8d7}.phase-bars>div{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:8px;color:#a7bad7}.phase-bars i{flex:1;height:4px;background:#1c3150}.phase-bars b{display:block;width:100%;height:100%;background:linear-gradient(90deg,#254fa9,#7bbcff)}.phase-bars em{font-style:normal;color:#71abff;font-size:9px}.phase-bars>div:nth-child(2) b{background:linear-gradient(90deg,#284477,#6382bd)}
.guide-dock{right:20px;bottom:231px;top:370px;width:var(--sidebar);height:auto;z-index:4;padding:18px 16px 0;background:transparent;border:0;display:flex;flex-direction:column}.guide-dock:before{content:'';position:absolute;inset:0;pointer-events:none;background:url('/assets/datav/panel-frame.svg') 0 0/100% 100% no-repeat}.guide-heading{flex-shrink:0;background:#0c172ac9;box-shadow:none;border:0;border-radius:0;padding:0 0 9px;border-bottom:1px solid #305185}.guide-heading strong{font-size:14px;color:#eaf2ff}.guide-heading small{font:8px 'Segoe UI',sans-serif;color:#7692ba}.guide-heading button{color:#b5d7ff}.guide-heading>div{gap:7px}.guide-dot{background:#71b6ff;box-shadow:0 0 9px #3c8dff}.guide-stage{min-height:0;flex:1;height:auto!important}.guide-stage iframe{color-scheme:dark}#guide-expand{right:20px;bottom:249px;background:#0d1b31;color:#b4d3ff;border:1px solid #3262a4;border-radius:2px;font-size:13px;box-shadow:0 0 20px #175bb122}
.view-panel{right:20px;bottom:39px;width:var(--sidebar);height:172px}.view-panel h2{margin-bottom:9px}.view-panel p{font-size:12px;line-height:1.8;color:#9bb3d5;margin:0 0 9px}.view-panel>button{font-size:12px;background:linear-gradient(90deg,#15366a,#132440);border:1px solid #3463a2;width:100%;padding:7px 12px;text-align:left;color:#d5e8ff}.view-panel>button span{float:right;color:#76baff}.view-coordinates{font-size:9px;color:#6081ae;margin-top:9px;display:flex;justify-content:space-between}.view-coordinates span{font:8px 'Segoe UI',sans-serif;letter-spacing:1px}
.tools{top:auto;bottom:117px;right:auto;left:50%;transform:translateX(-50%);flex-direction:row;gap:10px;z-index:5}.tools button{background:#102444eb;border:1px solid #355e99;border-radius:4px;box-shadow:inset 0 0 12px #2861af30,0 0 17px #1966c71c;color:#b5cbe9;width:54px;min-height:53px}.tools button:hover,.tools button.active{background:#2453a5b0;border-color:#73b8ff;color:#fff;box-shadow:0 0 20px #277ce744}.tool-icon{font-size:21px}.scene-panel{left:50%;right:auto;bottom:53px;transform:translateX(-50%)}#viewpoints{background:#0d1c33e8;border:1px solid #2e5082;border-radius:3px;padding:4px;box-shadow:0 0 22px #1c5bbb20}#viewpoints button{font-size:12px;color:#95b0d7;padding:10px 16px}#viewpoints button.selected{color:#e7f3ff;background:#244d8e;border-radius:2px}#archives{left:50%;transform:translateX(-50%);bottom:calc(100% + 83px);width:195px;z-index:6;text-align:center}#archives summary{padding:6px 12px;background:#09172bd9;color:#8cabd7;border:1px solid #294e83;border-radius:2px;font-size:11px}#archives[open]{background:#0a172c;border:1px solid #3b68a7;padding:10px;width:260px}#archives[open] summary{border:0}#scenes{gap:10px}#scenes .scene-card{border:1px solid #2e5487;color:#d2e5ff;background:#13243d;border-radius:0}#scenes .scene-card.selected{border-color:#76b2ff}.scope-note{color:#8ca9d0;font-size:11px}
.building-card{left:calc(var(--sidebar) + 40px);top:125px;width:270px;background:#0a1b32f5;color:#e1efff;border:1px solid #4c7ebd;border-radius:0;box-shadow:0 10px 35px #0004;padding:17px;z-index:5}.card-eyebrow,.card-eyebrow button{color:#8ab3e8}.building-card h2{font-size:25px;margin:8px 0}.building-card>p{font-size:13px;color:#9ab5d9}.building-actions button.primary-action{background:#1a4482;border:1px solid #4883cd;color:#e8f4ff;border-radius:1px;padding:9px;font-size:13px}.building-actions button.primary-action:hover{background:#2b60a8}
footer{bottom:0;height:27px;left:22px;right:22px;font-size:10px;color:#6c89b2;gap:20px}footer .credits{order:3;font-size:9px;text-decoration:none;color:#4c6c96}footer span:last-child{margin-left:auto;font-size:9px;color:#50719e}#loading,#error{background:#0c1b31;color:#e2efff;border:1px solid #3864a0;box-shadow:0 0 70px #1a63b82b;border-radius:2px}.loader-line,.progress{background:#152f55}.progress i,.loader-line i{background:#65a9ff}#loading>span,#error p{color:#9cb6da}
.place-label{background:#0b1d35ed!important;border:1px solid #517bb3!important;border-radius:2px!important;box-shadow:0 3px 12px #0004!important;color:#e7f2ff!important;font-size:14px!important}.place-label .place-num{color:#75b8ff!important}.place-label[aria-pressed=true]{background:#235391f5!important;border-color:#9edcff!important;color:#fff!important}.leader-line{stroke:#75a4de!important;opacity:.65}.leader-dot{fill:#92c9ff!important}
body.clean-view .screen-title,body.clean-view .screen-meta,body.clean-view .datav-panel,body.clean-view .school-logo,body.clean-view .screen-vignette{display:none}body.clean-view header{background:transparent;border:0;justify-content:flex-end}body.clean-view header:after{display:none}body.clean-view .header-right{width:auto}
@media(min-width:1800px){.screen-title h1{font-size:30px}.screen-title p{font-size:18px}.directory-panel,.overview-panel{top:125px}.campus-search{top:264px}.guide-dock{top:389px;bottom:260px}.view-panel{height:194px}.tools{bottom:125px}#viewpoints button{font-size:14px;padding:12px 21px}#building-directory button{font-size:16px;min-height:48px;padding:12px 5px}.datav-panel h2{font-size:17px}.overview-panel{height:244px}.overview-metrics strong{font-size:36px}.school-logo{width:240px}}
@media(max-width:1100px) and (min-width:761px){:root{--sidebar:218px}.school-logo{width:160px}.header-right{gap:12px}.header-right .phase-name{font-size:11px}.screen-title h1{font-size:22px}.screen-title p{font-size:13px}.screen-title{left:29%;right:29%;top:19px}.screen-title small{font-size:7px;letter-spacing:2px}.datav-panel{padding-left:13px;padding-right:13px}.datav-panel h2{font-size:13px}.datav-panel h2 small{font-size:6px}.campus-search{left:33px;width:192px}.directory-panel{left:15px}.overview-panel,.view-panel,.guide-dock{right:15px}.guide-heading small{display:none}.index-summary{gap:7px}.index-summary i{display:none}.building-card{left:calc(var(--sidebar) + 28px);width:240px}.tools{gap:7px}.tools button{width:45px;min-height:46px}#viewpoints button{padding:9px 11px}.guide-dock{bottom:231px}.overview-metrics span{font-size:10px}#building-directory button{font-size:13px;gap:8px}}
@media(max-width:760px){:root{--sidebar:0px}header{padding:10px 15px;height:95px}.header-right{max-width:none;width:auto;margin-left:auto;align-self:flex-start;gap:9px}.school-logo{position:absolute;right:15px;top:14px;width:128px}.header-right button{margin-top:53px;font-size:10px}.header-right .phase-name{left:16px;top:69px;font-size:10px}.screen-meta{display:none}.screen-title{left:16px;right:150px;top:11px;text-align:left}.screen-title h1{font-size:20px;letter-spacing:2px}.screen-title p{font-size:10px;letter-spacing:1px;margin-top:5px}.screen-title small{font-size:6px;letter-spacing:1px}.directory-panel,.overview-panel,.view-panel{display:none}.campus-search{left:16px;right:16px;top:112px;width:auto}.search-field{padding:10px 13px}.search-field input{font-size:14px}.tools{left:auto;right:15px;bottom:auto;top:179px;transform:none;flex-direction:column;gap:7px}.tools button{width:43px;min-height:45px;font-size:9px}.guide-dock{top:auto;right:15px;bottom:123px;width:125px;height:173px;padding:8px 7px 0}.guide-heading{padding:0 0 5px}.guide-heading strong{font-size:10px}.guide-heading>div{gap:4px}.guide-heading small{display:none}.guide-heading button{height:20px;width:20px;font-size:20px}.guide-dot{width:4px;height:4px}#guide-expand{right:15px;bottom:130px;font-size:11px;padding:9px 11px}.scene-panel{left:16px;right:16px;bottom:43px;transform:none}#viewpoints button{font-size:11px;padding:10px 6px}.building-card{left:16px;top:175px;width:calc(100vw - 90px);max-width:280px;padding:13px}.building-card h2{font-size:22px}.building-card>p{font-size:12px}.building-actions{grid-template-columns:1fr}.building-actions button.primary-action{font-size:12px;padding:8px}.card-eyebrow{font-size:10px}.card-eyebrow button{height:23px}#archives{left:0;transform:none;bottom:calc(100% + 12px);width:138px}#archives summary{font-size:10px}#archives[open]{width:240px}.place-label{font-size:13px!important;padding:6px 8px!important}.place-label .place-num{font-size:9px!important}footer{left:16px;right:16px;gap:7px;font-size:8px;height:26px}footer span:last-child{display:none}footer .credits{margin-left:auto;font-size:8px}.screen-vignette{inset:95px 0 0}}
@media(max-width:370px){.school-logo{width:110px}.screen-title{right:130px}.screen-title h1{font-size:17px}.screen-title p{font-size:9px}.guide-dock{width:110px;height:157px}.guide-heading strong{font-size:9px}.screen-title small{font-size:5px}.header-right .phase-name{font-size:9px}#viewpoints button{font-size:10px}}
@media(max-height:700px) and (min-width:761px){.overview-panel{height:195px}.overview-metrics{margin-bottom:8px}.overview-metrics strong{font-size:27px}.overview-panel h2{margin-bottom:8px}.guide-dock{top:334px;bottom:186px;padding-top:12px}.view-panel{height:130px;bottom:39px}.view-panel p{display:none}.view-panel h2{margin-bottom:11px}.view-coordinates{margin-top:7px}.tools{top:auto;bottom:108px}.directory-panel{bottom:39px}#building-directory button{padding:7px 4px;min-height:35px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.guide-stage iframe{color-scheme:light}.screen-title small{display:block;margin-top:3px}.screen-title{top:9px}.screen-title h1{font-size:24px;line-height:1.25}.screen-title p{font-size:15px;margin-top:3px}.view-panel{padding-bottom:14px}.view-coordinates{margin-top:5px}.directory-panel:before{background-image:none;border:1px solid #3a66ad;clip-path:polygon(0 0,70% 0,78% 10px,100% 10px,100% 100%,0 100%)}.directory-panel:after{content:'';position:absolute;top:0;left:0;width:7px;height:7px;background:#8ab5ff;clip-path:polygon(0 0,100% 0,0 100%);pointer-events:none}
@media(min-width:1800px){.screen-title h1{font-size:29px}.screen-title p{font-size:17px}}
@media(max-width:1100px) and (min-width:761px){.screen-title h1{font-size:21px}.screen-title p{font-size:12px}.screen-title{top:15px}}
@media(max-width:760px){.screen-title{top:12px}.screen-title h1{font-size:20px;line-height:1.3}.screen-title p{font-size:10px;margin-top:5px}.screen-title small{margin-top:5px}.header-right .phase-name{display:block}}
@media(max-width:370px){.screen-title h1{font-size:17px}.screen-title p{font-size:9px}}

/* Standalone phase switch after removing the viewpoint tab bar. */
#archives{position:fixed;bottom:186px}body.clean-view #archives{display:none}
@media(max-width:760px){#archives{left:16px;bottom:104px;transform:none}}

body.scene-loading #building-directory,body.scene-loading .campus-search,body.scene-loading .tools,body.scene-loading #return-overview{pointer-events:none}
body.scene-loading .tools{opacity:.5}
