@font-face{font-family:Onest;src:url('/static/Onest.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:205px;--ink:#eef3ef;--muted:#c3cbc8;--glass:rgba(25,30,29,.55);--glass-blur:19px;--ui-font:14px;--ui-gap:16px;--card-width:240px;--chart-background:transparent;--chart-grid:#59635e;--chart-label:#d9e5df}body{margin:0;color:var(--ink);font:var(--ui-font)/1.55 Onest,Arial,sans-serif;background:#101b18;overflow-x:hidden}a{color:inherit;text-underline-offset:4px}a:hover{color:#a9f3d0}button,input,select{font:inherit}button,.button{border:1px solid #ffffff38;border-radius:9px;background:#151c20a8;color:#f1f4f1;padding:10px 15px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover,.button:hover{background:#34463a}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #bbf5cd;outline-offset:3px}button.primary,.primary{background:#c4f2d6;color:#133629;border-color:#c4f2d6;font-weight:650}.quiet{background:transparent}input,select{background:#172222e8;color:#f4f7f5;border:1px solid #ffffff35;border-radius:7px;padding:9px;max-width:100%;color-scheme:dark}input[type=checkbox]{accent-color:#9ae9b9}label{display:inline-flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}label:has(input[type=checkbox]){flex-direction:row;align-items:center}#ambient{position:fixed;inset:0;width:100vw;height:100vh;z-index:-3;pointer-events:none}.landscape{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(0deg,#071610 0%,transparent 90%)}.landscape:after{content:'';position:absolute;bottom:0;left:0;right:0;height:70vh;opacity:.6;background:repeating-conic-gradient(from 150deg at 50% 0,#06140c 0deg 60deg,transparent 60deg 360deg) 0 0/120px 100%;clip-path:polygon(0 65%,4% 30%,7% 60%,11% 5%,15% 60%,19% 32%,24% 72%,29% 40%,33% 82%,68% 80%,74% 30%,79% 60%,84% 8%,89% 58%,93% 20%,100% 55%,100% 100%,0 100%)}.topbar{min-height:88px;margin:0;padding:14px 3%;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff22;background:#101917b0;backdrop-filter:blur(22px)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:2px}.brand svg{width:57px;height:57px;background:#f6f3e9;border-radius:12px;padding:4px}.brand small{font-size:8px;letter-spacing:1.7px;display:block;font-weight:400}.brand-light{font-weight:300;color:#b9e8cb}.topbar nav{display:flex;gap:22px;font-size:13px;flex:1}.topbar nav a{text-decoration:none}.top-actions{display:flex;gap:12px;align-items:center}.top-actions form{margin:0}.account{font-size:11px;border:1px solid #8ab49a;padding:4px 7px;border-radius:4px}main{max-width:1640px;margin:auto;padding:26px 4% 60px}.intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0 32px}.eyebrow{letter-spacing:3px;font-size:10px;color:#c5d3c8}h1{font-size:clamp(32px,4vw,58px);letter-spacing:-2px;line-height:1.1;margin:15px 0}h2{font-size:28px;letter-spacing:-.8px;line-height:1.25;margin:7px 0 18px}h3{font-size:19px;margin:0 0 14px;font-weight:550}p{margin:10px 0 17px}.intro p{color:var(--muted);font-size:15px}.mode-box{display:flex;flex-direction:column;gap:9px}.mode-box>span{font-size:12px}.segmented{display:flex;padding:4px;background:#0d151cc0;border:1px solid #ffffff30;border-radius:12px}.segmented button{border:0;background:none;min-width:125px}.segmented button[aria-pressed=true]{background:#d2ecdf;color:#102e20}.mode-box small{color:var(--muted);font-size:11px}.filter-bar{position:sticky;top:8px;z-index:20;border:1px solid #ffffff30;background:#111b19ed;backdrop-filter:blur(22px);padding:15px 20px;border-radius:14px;box-shadow:0 10px 35px #0004}.filter-main{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-main label{min-width:145px}.range-divider{align-self:center;color:var(--muted)}.quick-periods{display:flex;gap:7px;margin-top:12px;align-items:center;flex-wrap:wrap}.quick-periods button{font-size:11px;border:0;background:#ffffff0d;padding:5px 9px}.quick-periods span{margin-left:auto;font-size:10px;color:var(--muted)}.source-line{font-size:11px;color:var(--muted);display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0 26px}.badge{border:1px solid #cbb48066;color:#ead49e;border-radius:4px;padding:2px 6px}.lift{display:flex;gap:6px;margin:20px 0}.lift a{padding:8px 12px;text-decoration:none;font-size:12px;background:#0c181d99;border:1px solid #ffffff28;border-radius:5px;white-space:nowrap}.building{position:relative;border:1px solid #b6a28c50;border-top:6px solid #b6a28c65;border-radius:3px 3px 0 0;background-color:#312a27cc;background-image:linear-gradient(335deg,#16191855 23px,transparent 23px),linear-gradient(155deg,#16191855 23px,transparent 23px),linear-gradient(335deg,#16191855 23px,transparent 23px),linear-gradient(155deg,#16191855 23px,transparent 23px);background-size:58px 58px;background-position:0 2px,4px 35px,29px 31px,34px 6px;box-shadow:0 30px 90px #0008}.building-crown,.building-base{background:#131d1ccc;display:flex;justify-content:space-between;padding:22px 28px;letter-spacing:4px;font-size:12px;border-bottom:3px solid #aa9d8270}.building-crown span+span{font-size:9px;color:#c4ceca}.floor{padding:30px 27px 38px;border-bottom:9px solid #151f1cc4;box-shadow:inset 0 -2px #ffffff30}.floor-title>span{font-size:10px;letter-spacing:2px;color:#bfc9c4}.floor-title p{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(180px,var(--card-width)),1fr));gap:var(--ui-gap)}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.panel,.card{background:var(--glass);border:1px solid #e7f5ed30;border-radius:20px;padding:24px;backdrop-filter:blur(var(--glass-blur));box-shadow:0 7px 25px #0002;min-width:0}.panel{margin:22px 0;overflow:auto}.window{border-radius:4px;aspect-ratio:1.12;display:flex;flex-direction:column;justify-content:space-between;border:3px solid #95a59c5c;border-top-color:#e2e8df88;box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 15px 24px #0004;padding:25px 22px;position:relative}.window:before{content:'';position:absolute;top:9px;left:9px;right:9px;height:40%;background:linear-gradient(120deg,#fff1,transparent);pointer-events:none}.card strong{display:block;font-size:clamp(23px,2.2vw,36px);font-weight:550;line-height:1.25;letter-spacing:-1px;margin:18px 0;overflow-wrap:anywhere}.card strong.long-value{font-size:20px;letter-spacing:-.4px}.metric-label{font-size:13px;max-width:90%;position:relative}.formula{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px;position:relative}.formula summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.formula p{max-width:800px}.window:has(.formula[open]){aspect-ratio:auto}.methodological{font-size:12px;margin-top:26px}.muted{color:var(--muted)}.small,small{font-size:11px}small{display:block}.warn{color:#f0cb8b}.bad{color:#f7aaa3}.ok{color:#a9f3d0}.stack{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.panel-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.panel-heading .muted{font-size:10px}.table-scroll{overflow:auto;max-height:680px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;white-space:nowrap}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid #ffffff16;vertical-align:middle}th{font-size:11px;font-weight:500;color:#d4e1d9;background:#16231ff2;position:sticky;top:0;z-index:2;cursor:pointer;white-space:normal;min-width:100px}th:first-child{min-width:170px}tbody tr:hover{background:#e7ffe60a}td a{text-decoration:none;border-bottom:1px solid #ffffff40}tfoot td,tfoot th{background:#24322df5;position:sticky;bottom:0;font-weight:650;border-top:1px solid #adcfbb;z-index:3}.management-table th{min-width:155px}.management-table td:first-child{position:sticky;left:0;background:#1b2924;z-index:1}.help{display:inline-grid;place-items:center;border:1px solid #8d9e94;border-radius:50%;width:15px;height:15px;font-size:10px}.table-tools{display:flex;justify-content:space-between;align-items:start;gap:12px;margin:10px 0}.table-tools input{font-size:12px;min-width:220px}.column-picker{font-size:11px}.column-picker label{display:flex;gap:5px;flex-direction:row;align-items:center}.table-count{font-size:10px;color:var(--muted)}.chart-panel{background:var(--chart-background)}.chart-scroll{overflow:auto}.business-chart{width:100%;height:390px;display:block}.business-chart .axis{fill:var(--chart-label);font-size:11px;font-family:Onest,Arial}.chart-grid{stroke:var(--chart-grid);stroke-width:.5;opacity:.5}.chart-panel svg{max-width:100%}.chart-panel svg.business-chart{max-width:none}.legend-row{display:flex;gap:14px;flex-wrap:wrap}.legend{font-size:11px;border:0;background:none;padding:5px}.legend i{width:10px;height:10px;border-radius:3px}.legend[aria-pressed=false]{opacity:.4;text-decoration:line-through}.donut-total{fill:var(--ink);font-size:34px}.donut-label{font-size:16px}.chart-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.chart-grid-layout>article{min-width:0}.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px}.extras span{display:block;font-size:12px;color:var(--muted)}.extras strong{font-size:23px;font-weight:500;display:block;margin-top:10px}.slice-panel>summary{font-size:20px;cursor:pointer;margin-bottom:10px}.slice-panel{background:var(--traffic-background,var(--glass))}.table-panel{background:var(--journal-background,var(--glass))}#team>.panel{background:var(--direct-background,var(--glass))}.building-base{justify-content:center;border:0;border-top:3px solid #aa9d8270}body.report-mode .building{background:none;border:0;box-shadow:none}body.report-mode .building-crown,body.report-mode .building-base{display:none}body.report-mode .floor{border:0;box-shadow:none;padding:25px 0}body.report-mode .window{aspect-ratio:auto;min-height:200px;border-radius:20px;border:1px solid #ffffff30;box-shadow:0 8px 24px #0002}body.report-mode .landscape:after{opacity:.15}footer{padding:25px 4%;font-size:10px;color:#becdc4;border-top:1px solid #ffffff20;display:flex;gap:20px;flex-wrap:wrap}.flash{background:#704b30;border:1px solid #cba173;padding:15px;border-radius:10px}.login-page main{max-width:650px;padding-top:9vh}.login-page h1{font-size:40px}.login-page .panel{max-width:none!important;background:#13251bc9;padding:35px}.login-page input{width:100%;padding:15px}.login-page button{width:100%;background:#caecd4;color:#102e1c;font-weight:650;padding:15px}.login-page footer{justify-content:center}.login-page footer a{display:none}.login-page .topbar{justify-content:center}.login-logo{width:120px;height:120px;margin:auto;background:#f6f3e9;border-radius:20px;padding:10px}.login-logo svg{width:100%;height:100%}dialog{border:1px solid #87988e;border-radius:20px;padding:28px;background:#14201fee;color:#edf3ef;max-width:1000px;width:calc(100% - 30px);max-height:90vh;backdrop-filter:blur(30px)}dialog::backdrop{background:#020905a0;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}fieldset{border:1px solid #ffffff30;border-radius:12px;padding:18px}legend{font-size:14px;padding:0 8px}.setting{display:flex;margin:10px 0;gap:5px}.setting output{float:right;color:#c1efcb}.setting input[type=color]{width:100%;height:35px}.setting input[type=range]{width:100%;padding:0}.setting:has(input[type=checkbox]){flex-direction:row;justify-content:space-between}.setting input[type=checkbox]{width:20px;height:20px}#loading{position:fixed;inset:0;z-index:90;background:#0c1714c9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.loading-mark{position:relative;width:120px;height:120px;background:#f6f3e9;border-radius:20px;padding:10px}.loading-mark svg{width:100%;height:100%}.loading-mark svg [id="_Контур"],.loading-mark svg [id="_Контур_1"],.loading-mark svg [id="_Контур_2"],.loading-mark svg [id="_Контур_3"]{animation:tower 1.4s infinite}.loading-mark svg [id="_Контур_1"]{animation-delay:.2s}.loading-mark svg [id="_Контур_2"]{animation-delay:.4s}.loading-mark svg [id="_Контур_3"]{animation-delay:.6s}.glint{position:absolute;left:10px;top:16px;offset-path:ellipse(42px 21px at 50px 50px);width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 12px 5px #93dbff;animation:orbit 1.8s linear infinite}@keyframes tower{0%,70%,100%{fill:#3c3229}30%{fill:#4bcef2}}@keyframes orbit{to{offset-distance:100%}}#toast{position:fixed;bottom:25px;right:25px;max-width:420px;background:#223c2f;border:1px solid #b0c7b6;padding:16px;z-index:100;border-radius:12px}[hidden]{display:none!important}.ink-invert .metric-label,.ink-invert h1,.ink-invert h2,.ink-invert h3,.ink-invert .card>strong{color:white;mix-blend-mode:difference}.ink-glow h1,.ink-glow h2,.ink-glow .card>strong{text-shadow:0 0 var(--ink-glow,5px) #ffffff70}.export-preview{width:100%;border:0;min-height:900px;background:white}.export-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:end}.profile-hero{display:flex;align-items:center;gap:20px}.avatar{border:1px solid #b6d8bf;border-radius:20px;padding:22px;font-size:30px;background:#264639aa}.error-page{max-width:800px}.chart-panel:target{outline:2px solid #c1edcf}
@media(min-width:1500px){.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1150px){.topbar nav{display:none}.top-actions{margin-left:auto}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.window{padding:18px}.filter-main{gap:8px}.filter-main label{min-width:120px}.filter-bar{position:relative;top:0}.lift{overflow:auto}.chart-grid-layout{grid-template-columns:1fr}}@media(max-width:700px){main{padding:18px 14px}.topbar{padding:12px 14px}.brand{font-size:18px}.brand small{font-size:6px}.brand svg{width:43px;height:43px}.account{display:none}.top-actions{gap:6px}.top-actions button{font-size:10px;padding:7px}.intro{display:block;padding-top:12px}h1{font-size:40px}.mode-box{margin-top:22px}.segmented button{flex:1}.filter-bar{padding:13px}.filter-main{display:grid;grid-template-columns:1fr 1fr}.filter-main label{min-width:0}.range-divider{display:none}.filter-main input{width:100%;min-width:0}.filter-main button,.filter-main .button{font-size:12px;padding:10px 6px}.quick-periods span{margin-left:0}.building-crown{padding:16px;font-size:9px;letter-spacing:2px}.building-crown span+span{display:none}.floor{padding:24px 12px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.window{aspect-ratio:auto;min-height:195px;padding:14px 12px}.card strong{font-size:24px}.metric-label{font-size:11px;max-width:100%}.card strong.long-value{font-size:16px}.panel{padding:16px}.panel-heading{display:block}.panel-heading .muted{display:block;margin-bottom:10px}.settings-grid{grid-template-columns:1fr}.extras{grid-template-columns:1fr 1fr}.extras strong{font-size:20px}.table-tools{flex-wrap:wrap}.table-tools input{min-width:0;width:100%}footer{font-size:9px}.source-line{line-height:1.5}.floor h2{font-size:25px}.donut-label{font-size:15px}dialog{padding:18px}.dialog-head h2{font-size:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{#ambient,.landscape,.topbar,.filter-bar,.lift,footer,.mode-box,.table-tools,.formula{display:none!important}.building,.floor,.panel,.card{background:white!important;color:#16251c!important;box-shadow:none!important;backdrop-filter:none!important;border-color:#abb9b1}body{background:white;color:#15261c}main{max-width:none;padding:0}.window{aspect-ratio:auto}.table-scroll{max-height:none;overflow:visible}}
th[data-direction]:after{content:' ' attr(data-direction);color:#bdffd3}.export-page .table-scroll{max-height:none}.export-page th,.export-page td{padding:10px 12px}.export-page .chart-panel{break-inside:avoid}
.export-preview-wrap{overflow:auto;max-height:1100px;border:1px solid #ffffff40;border-radius:15px}.export-preview-wrap .table-tools{display:none}

/* Shared headquarters window frames and two-colour noise, isolated from text. */
.building :is(.panel,.card){position:relative;isolation:isolate;border-radius:4px;border:3px solid #95a59c5c;border-top-color:#e2e8df88;box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 15px 24px #0004}
.building :is(.panel,.card)::before{content:'';position:absolute;inset:6px;height:auto;z-index:-1;background-image:var(--window-noise);background-size:128px 128px;opacity:var(--noise-opacity,.24);filter:hue-rotate(var(--noise-hue,0deg));pointer-events:none;border-radius:1px}
.building :is(.panel,.card).center-window{box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 0 var(--frame-glow,18px) var(--frame-color,#87dabf)}
html[data-frame-glow-mode="off"] .building :is(.panel,.card).center-window{box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80}
html[data-frame-glow-mode="always"] .building :is(.panel,.card){box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 0 var(--frame-glow,18px) var(--frame-color,#87dabf)}
.brand svg{width:90px;height:90px;background:none;border-radius:0;padding:0}.brand svg [style],.loading-mark svg [style]{fill-opacity:1}.brand svg{filter:brightness(1.65)}
.loading-mark,.login-logo{background:none;border-radius:0;padding:0}.loading-mark{width:70vmin;height:70vmin;filter:brightness(1.65)}.glint{display:none}
.loader-preview .loading-mark{width:min(100%,350px);height:auto;aspect-ratio:1}.loader-preview{display:flex;justify-content:center}
.appearance-layout{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:30px}.appearance-preview{position:sticky;top:20px;align-self:start}.appearance-preview .window{aspect-ratio:1;min-height:260px}.appearance-preview h2{margin-top:30px}
.learning-student{scroll-margin-top:30px}.learning-student>summary{font-size:20px;cursor:pointer;padding:12px}.learning-student .cards{margin:20px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{padding:12px;min-height:110px;background:color-mix(in srgb,#8fecc2 calc(var(--activity)*65%),#14251c);border:1px solid #a3c1b077;border-radius:8px}.calendar-day strong{display:block;font-size:24px}.calendar-day small{font-size:11px}.calendar-empty{opacity:.25}.calendar-head{font-size:12px;text-align:center}
@media(max-width:900px){.appearance-layout{grid-template-columns:1fr}.appearance-preview{position:static}.brand svg{width:65px;height:65px}.calendar-grid{gap:3px}.calendar-day{padding:5px;min-height:90px}.calendar-day strong{font-size:17px}.calendar-day small{font-size:9px}}

/* Focus reveals content with the same easing as the frame; keyboard focus also reveals it. */
.building :is(.panel,.card){transition:box-shadow 450ms ease-in-out,border-color 450ms ease-in-out}
.building :is(.panel,.card)>*{transition:opacity 450ms ease-in-out}

html[data-frame-glow-mode="focus"] .building :is(.panel,.card):focus-within{box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 0 var(--frame-glow,18px) var(--frame-color,#87dabf)}
.export-sheet-picker{flex-basis:100%;padding:12px;border:1px solid #ffffff44;border-radius:8px}
.export-sheet-picker label{display:flex;margin:7px 0}
@media(prefers-reduced-motion:reduce){.building :is(.panel,.card),.building :is(.panel,.card)>*{transition:none}html.window-effects-ready[data-frame-glow-mode="focus"] .building :is(.panel,.card):not(.center-window):not(:focus-within):not(:hover)>*{opacity:1;pointer-events:auto}}
@media print{html.window-effects-ready[data-frame-glow-mode="focus"] .building :is(.panel,.card)>*{opacity:1!important}}

/* Header stays in view; report controls scroll with the report. */
.topbar{position:sticky;top:0;z-index:50}
.filter-bar{position:relative;top:auto;z-index:10}
html{scroll-padding-top:calc(var(--topbar-height,118px) + 20px)}
.appearance-preview{top:calc(var(--topbar-height,118px) + 16px);max-height:calc(100vh - var(--topbar-height,118px) - 32px);overflow:auto}
.account{font-size:21px;font-weight:650;letter-spacing:1px;padding:6px 10px;white-space:nowrap}
select:focus-visible{outline:2px solid #bbf5cd;outline-offset:3px}
html[data-frame-glow-mode="focus"] .building :is(.panel,.card):hover{box-shadow:inset 0 0 0 5px #09161542,0 7px 0 #0d151a80,0 0 var(--frame-glow,18px) var(--frame-color,#87dabf)}
/* Static device mode removes work, rather than merely hiding moving pixels. */
html.device-motion-off{scroll-behavior:auto}
html.device-motion-off *,html.device-motion-off *::before,html.device-motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;backdrop-filter:none!important}
html.device-motion-off.window-effects-ready[data-frame-glow-mode="focus"] .building :is(.panel,.card)>*{opacity:1!important;pointer-events:auto!important}
@media(max-width:700px){.account{display:block;font-size:17px;padding:3px 5px}.topbar{gap:8px;flex-wrap:wrap}.top-actions .button{font-size:11px;padding:7px}.appearance-preview{max-height:none}}

/* All themes dim luminance/chroma, never the alpha or visibility of the window. */
.building :is(.panel,.card){transition:filter 450ms ease-in-out,box-shadow 450ms ease-in-out,border-color 450ms ease-in-out;filter:brightness(1) saturate(1)}
html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window)){filter:brightness(.38) saturate(.12)}
html.window-effects-ready .building :is(.panel,.card)>*{opacity:1;pointer-events:auto}
html.business-theme .building{background-color:#0c131cf0;border-color:#52617055;background-image:linear-gradient(335deg,#03091270 23px,transparent 23px),linear-gradient(155deg,#03091270 23px,transparent 23px),linear-gradient(335deg,#03091270 23px,transparent 23px),linear-gradient(155deg,#03091270 23px,transparent 23px)}
html.business-theme .building-crown,html.business-theme .building-base{background:#0a111be8;border-color:#9ba9b03d}
html.business-theme .floor{border-bottom-color:#060d17df}
html.forest-background .landscape{background:linear-gradient(180deg,#02081222,#030910aa)}
html.forest-background .landscape::after{inset:0;height:100%;clip-path:none;opacity:1;background:url('/static/night-forest.svg') center bottom/cover no-repeat}
.header-controls{display:flex;align-items:center;gap:12px;max-width:calc(250px * var(--header-reveal,1));overflow:hidden;white-space:nowrap;opacity:var(--header-reveal,1);transform:translateY(calc((1 - var(--header-reveal,1)) * -90px));transition:max-width 220ms ease,opacity 220ms ease,transform 220ms ease}
.header-controls>*{flex-shrink:0}
.topbar{--header-reveal:1;background:rgb(10 18 24 / calc(.88 * var(--header-reveal)));border-bottom-color:rgb(255 255 255 / calc(.13 * var(--header-reveal)));backdrop-filter:blur(calc(18px * var(--header-reveal)));transition:background 220ms ease,border-color 220ms ease;pointer-events:none}
.topbar .brand,.topbar .top-actions,.topbar nav{pointer-events:auto}
.topbar nav,.topbar .brand>span{opacity:var(--header-reveal,1);transform:translateY(calc((1 - var(--header-reveal,1)) * -100px));transition:opacity 220ms ease,transform 220ms ease}
.topbar .top-actions{margin-left:auto;gap:calc(12px * var(--header-reveal,1))}
.topbar.header-collapsed nav,.topbar.header-collapsed .header-controls{pointer-events:none}
@media(max-width:700px){.header-controls{gap:6px;max-width:calc(175px * var(--header-reveal,1))}.topbar .top-actions{gap:calc(6px * var(--header-reveal,1))}}
@media print{.building :is(.panel,.card){filter:none!important}}

.topbar .brand>span{display:block;max-width:calc(240px * var(--header-reveal,1));overflow:hidden;white-space:nowrap;transition:max-width 220ms ease,opacity 220ms ease,transform 220ms ease}

/* Compact facade; details have a single full-screen reading surface. */
.detail-launcher{min-height:180px;display:flex;flex-direction:column;justify-content:space-between;margin:16px 0;content-visibility:auto;contain-intrinsic-size:auto 180px}
.detail-launcher p{font-size:15px}.detail-launcher button{align-self:start}
dialog.detail-window{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:4px solid var(--frame-color,#a0c4b4);border-radius:0;padding:0;background:#15231f;backdrop-filter:none;color:#f1f5f3}
.detail-head{position:sticky;top:0;z-index:5;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#15231f;border-bottom:1px solid #ffffff40}
.detail-head h2{font-size:22px;margin:0}.detail-content{padding:16px;overflow:auto;height:calc(100% - 80px)}
.detail-content .panel{margin:0;filter:none!important;backdrop-filter:none;background:transparent}.detail-content .table-scroll{max-height:calc(100dvh - 225px)}
.detail-content .business-chart{height:65vh!important}.detail-content .table-tools{flex-wrap:wrap}.table-pager{display:flex;align-items:center;gap:12px;margin:12px 0}
html.business-theme .building :is(.panel,.card){--ink:#211b10;--muted:#44381c;--chart-label:#211b10;color:var(--ink);background:#ffe5a0!important}
html.business-theme .building :is(.panel,.card) :is(.metric-label,strong,h2,h3,.formula,.muted,.small){color:inherit;mix-blend-mode:normal;text-shadow:none}
html.business-theme .building .card a:hover{color:#423208}
/* Content fades with the window light. Keyboard focus and expanded windows stay readable. */
html.window-effects-ready .building :is(.panel,.card)>*{transition:opacity 600ms ease}
html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window))>*{opacity:0}
html.window-effects-ready .building :is(.panel,.card):is(.center-window,:hover,:focus-within)>*{opacity:1}
.building :is(.panel,.card)::before{background-position:0 0}
html.noise-moving .building :is(.panel,.card)::before{animation:noise-drift var(--noise-duration,12s) linear infinite alternate}
@keyframes noise-drift{to{background-position:32px 16px}}
.topbar .brand>span{max-width:240px}.header-controls{max-width:none}.topbar .top-actions{gap:12px}.account{order:2}
@media(max-width:700px){
 body{font-size:max(17px,var(--ui-font))}main{padding:18px 12px 40px}
 .floor{padding:20px 12px}.cards,.kpi-grid{grid-template-columns:1fr!important}.window{aspect-ratio:auto;min-height:210px}
 .metric-label,.formula,.floor-title p,.source-line,.small,small,.intro p,label,.quick-periods button,.lift a{font-size:15px}
 input,select,button,.button{font-size:16px;min-height:44px}table{font-size:16px}th{font-size:14px}
 .panel,.card{padding:18px;backdrop-filter:none}.building :is(.panel,.card){content-visibility:auto;contain-intrinsic-size:auto 230px}
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 12px;min-height:72px;overflow:hidden}
 .topbar .brand{grid-column:1;grid-row:1;font-size:18px;gap:8px;transform:translateX(calc((1 - var(--header-reveal,1)) * -130%));transition:transform 350ms ease}
 .topbar .brand svg{width:46px;height:46px;flex-shrink:0}.topbar .brand>span{max-width:none;transform:none;opacity:1}.brand small{display:none}
 .topbar .top-actions{grid-column:2;grid-row:1;transform:translateX(calc((1 - var(--header-reveal,1)) * 130%));transition:transform 350ms ease;gap:6px}
 .topbar .account{font-size:16px}.header-controls{max-width:none;gap:5px}.header-controls .button{font-size:12px;padding:5px}.header-controls form{display:none}
 .topbar nav{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:nowrap;overflow-x:auto;width:100%;font-size:15px;gap:18px;padding:5px 0;max-height:52px;transition:transform 350ms ease,opacity 350ms ease}
 .topbar nav a{white-space:nowrap;min-height:36px;display:flex;align-items:center}
 .topbar.header-collapsed{pointer-events:none}.topbar.header-collapsed .brand,.topbar.header-collapsed .top-actions{pointer-events:none}
 .detail-head{padding:10px}.detail-head h2{font-size:18px}.detail-content{padding:10px}.detail-content .table-tools input{min-width:0;width:100%}.detail-content .business-chart{min-width:850px!important}.table-pager{flex-wrap:wrap}
 .filter-main{gap:8px}.filter-main label{min-width:0;flex:1 1 135px}.lift{overflow-x:auto}.building-crown{padding:16px;font-size:11px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}html.window-effects-ready .building :is(.panel,.card)>*{opacity:1!important}}
@media print{.detail-launcher{break-inside:avoid}html.window-effects-ready .building :is(.panel,.card)>*{opacity:1!important}}

.mobile-logout{display:none}@media(max-width:700px){.mobile-logout{display:block;margin:0}.mobile-logout button{padding:4px 12px;min-height:36px}}
html.business-theme .detail-window{--ink:#211b10;--muted:#594822;--chart-label:#211b10;--chart-grid:#7b6941;background:#ffe5a0;color:#211b10}
html.business-theme .detail-window :is(.detail-head,th,tfoot td,tfoot th,.management-table td:first-child){background:#f3d58d;color:#211b10}
html.business-theme .detail-window .panel{color:#211b10}
html.business-theme .detail-window tbody tr:hover{background:#b7973a22}
html.business-theme .detail-window .table-count{color:#594822}
/* v10: desktop reading, compact landscape detail surface. */
.detail-launcher{position:relative}.expand-window{position:absolute;right:12px;top:10px;min-width:40px;padding:4px 10px;font-size:24px;z-index:3}.detail-launcher>h3{padding-right:50px}.inline-detail .panel{margin:0}.inline-detail .table-tools{flex-wrap:wrap}
@media(min-width:701px){.detail-launcher{content-visibility:visible;contain-intrinsic-size:none}.detail-launcher>p{display:none}.inline-detail{min-height:80px}.detail-launcher .chart-panel>.panel-heading h3{display:none}}
dialog.detail-window{display:none;box-shadow:none;filter:none;padding:0;border-width:2px}
dialog.detail-window[open]{display:grid;grid-template-rows:minmax(48px,20%) minmax(0,1fr);overflow:hidden}
.detail-head{position:relative;display:block;padding:6px 12px;overflow:auto;max-height:none}.detail-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.detail-heading h2{font-size:17px;margin:0;line-height:1.2}.detail-heading button{min-height:32px;padding:0 12px;font-size:23px}.detail-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-controls .table-tools,.detail-controls .table-pager,.detail-controls .legend-row{margin:2px 0;gap:6px;display:flex;align-items:center}.detail-controls input{padding:4px;min-height:30px;font-size:14px}.detail-controls button{padding:3px 9px;min-height:30px;font-size:13px}.detail-controls .table-count{font-size:12px}.detail-controls .column-picker{position:relative}.detail-content{height:auto;min-height:0;padding:8px;overflow:auto}.detail-content .table-scroll{overflow:visible;max-height:none}.detail-content .panel-heading,.detail-content .chart-panel>h3{display:none}.detail-content .panel{padding:0;border:0;box-shadow:none!important}.detail-content .business-chart{height:100%!important;min-height:220px}.detail-reveal{display:none;position:absolute;right:8px;top:4px;z-index:10;min-height:32px;padding:3px 10px}
dialog.detail-window.tools-hidden{grid-template-rows:0 minmax(0,1fr)}.tools-hidden .detail-head{padding:0;visibility:hidden}.tools-hidden .detail-reveal{display:block}
@media(max-width:700px){.inline-detail{display:none}.detail-launcher{min-height:145px}.detail-launcher>p{padding-right:42px}.detail-content table{font-size:14px}.detail-content th{font-size:12px}.detail-content th,.detail-content td{padding:8px 10px}.detail-controls .table-tools input{width:150px}.detail-content .business-chart{min-width:650px!important}.detail-head .column-picker label{font-size:12px}.detail-head h2{font-size:15px}}
@media(max-width:700px) and (orientation:portrait){dialog.detail-window{inset:auto;left:50%;top:50%;width:100dvh;height:100dvw;max-width:none;max-height:none;transform:translate(-50%,-50%) rotate(90deg)}.detail-content .business-chart{min-width:600px!important}}
/* Border, glow radius, spread and alpha are independent. No shelf/drop shadow. */
html .building :is(.panel,.card){border-color:var(--border-color,#b6c7bd)!important;box-shadow:none!important}
html[data-frame-glow-mode="always"] .building :is(.panel,.card),html[data-frame-glow-mode="focus"] .building :is(.panel,.card):is(.center-window,:hover,:focus-within){box-shadow:0 0 var(--glow-radius,22px) var(--glow-spread,2px) color-mix(in srgb,var(--frame-color,#87dabf) var(--glow-alpha,65%),transparent)!important}
html.noise-moving[data-noise-mode="regenerate"] .building :is(.panel,.card)::before{animation:none}
.building :is(.panel,.card)::after{content:'';position:absolute;inset:6px;z-index:-1;background-image:var(--window-noise-alt);background-size:128px 128px;opacity:0;pointer-events:none;filter:hue-rotate(var(--noise-hue,0deg))}
html[data-noise-mode="regenerate"] .building :is(.panel,.card)::before,html[data-noise-mode="regenerate"] .building :is(.panel,.card)::after{transition:opacity var(--noise-fade,800ms) ease-in-out}
html.noise-crossphase[data-noise-mode="regenerate"] .building :is(.panel,.card)::before{opacity:0}
html.noise-crossphase[data-noise-mode="regenerate"] .building :is(.panel,.card)::after{opacity:var(--noise-opacity,.24)}
.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.portal-window{aspect-ratio:auto;min-height:220px}.portal-window strong{font-size:24px!important}.portal-window p{font-size:15px}.portal-window button:disabled{opacity:.7;cursor:default}.portal-floor{padding:0 28px 35px;position:relative}.floor-divider{position:relative;margin:0 -28px 30px;padding:24px 55px;background:linear-gradient(#111b22,#26323a,#10191e);border-top:3px solid #7a8588;border-bottom:6px solid #060e14;min-height:90px;display:flex;align-items:center;justify-content:center;z-index:2}.floor-divider h2{font-size:24px;margin:0;text-align:center;color:#f7e4b3}.floor-lamp{position:absolute;top:50%;width:12px;height:30px;margin-top:-15px;background:#ffe7a1;border:2px solid #665b40;border-radius:3px;box-shadow:0 0 9px #ffde87}.floor-lamp.left{left:18px}.floor-lamp.right{right:18px}.floor-lamp::before,.floor-lamp::after{content:'';position:absolute;left:50%;width:110px;height:90px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(#ffe2a05c,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}.floor-lamp::after{top:28px}.floor-lamp::before{bottom:28px;transform:translateX(-50%) rotate(180deg)}.screen-floors{height:calc(100dvh - 140px);min-height:360px;overflow-y:auto;scroll-snap-type:y proximity;scroll-behavior:smooth;overscroll-behavior:contain}.screen-floors .portal-floor{min-height:100%;scroll-snap-align:start;scroll-margin:0}.portal-lift{position:fixed;right:6px;bottom:12px;display:flex;gap:4px;background:#10201ee8;border-radius:20px;padding:6px;z-index:30}.portal-lift a{display:grid;place-items:center;width:32px;height:32px;text-decoration:none;border-radius:50%;border:1px solid #bba971}.portal-intro{padding:12px 0}.portal-intro h1{font-size:32px}.portal-intro p{margin:8px 0}.portal-building .window p{color:inherit}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr!important}.portal-floor{padding:0 16px 28px}.floor-divider{margin:0 -16px 25px;padding:18px 40px}.floor-divider h2{font-size:20px}.portal-window{min-height:190px}.screen-floors{height:calc(100dvh - 125px)}.portal-intro h1{font-size:25px}.portal-intro .stack{gap:4px}.portal-intro .button{padding:6px;font-size:13px}}
@media(max-width:700px){.screen-floors .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}.screen-floors .portal-window{min-height:0;padding:12px}.screen-floors .portal-window h3{font-size:16px}.screen-floors .portal-window strong{font-size:17px!important;margin:10px 0}.screen-floors .portal-window p{font-size:12px}.screen-floors .portal-window button{font-size:12px;min-height:36px;padding:5px}.screen-floors .floor-divider{min-height:65px;margin-bottom:16px}}
.building .inline-detail .panel{filter:none!important;background:transparent!important;box-shadow:none!important;border:0!important}.building .inline-detail .panel>*{opacity:1!important}.building .inline-detail .panel::before,.building .inline-detail .panel::after{display:none}
.screen-floors{scroll-snap-type:y mandatory}.portal-description{font-size:14px;margin:8px 0}.portal-description summary{cursor:pointer}.portal-window>.badge{align-self:start;font-size:11px}
@media(max-width:700px){.screen-portal .portal-intro{padding:4px 0 8px;gap:5px;display:flex;align-items:center;flex-wrap:wrap}.screen-portal .portal-intro .eyebrow,.screen-portal .portal-intro p{display:none}.screen-portal .portal-intro h1{font-size:20px;margin:4px 0}.screen-portal .portal-intro .stack{margin:0}.screen-portal main{padding-top:8px}.screen-floors .portal-window strong{font-size:15px!important;margin:5px 0}.screen-floors .portal-window h3{font-size:15px;margin-bottom:6px}.screen-floors .portal-description{font-size:12px;margin:4px 0}.screen-floors .portal-window{padding:10px}.screen-floors .portal-grid{gap:8px}}
/* v11: one natural document scroll, forest depth and grounded facade. */
.portal-building{overflow:visible;height:auto;min-height:0;scroll-snap-type:none;border-bottom:0}.portal-floor{scroll-margin-top:125px}.portal-ground{margin:0;padding:32px 20px 18px;text-align:center;background:linear-gradient(#24281d,#182017);border-top:8px solid #4b4932;color:#e6e2ce}.portal-ground h2{font-size:23px;letter-spacing:4px}.portal-ground p{font-size:14px}body:has(.portal-ground) main{padding-bottom:0}body:has(.portal-ground) footer{background:#182017;border-top:0;min-height:80px}.landscape::after{transform:translate3d(0,var(--forest-shift,0px),0) scale(1.15);will-change:transform;transform-origin:center bottom}
html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window)){filter:none;background:#111b20!important}
html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window))>:is(h2,h3,.metric-label,.panel-heading){opacity:1!important;color:#fff!important;text-shadow:0 0 9px #ffffffa0;pointer-events:auto}
html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window))::before,html.window-effects-ready .building :is(.panel,.card):not(.center-window):not(:hover):not(:focus-within):not(:has(.center-window))::after{opacity:.025!important}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.booking-fields label{font-size:15px}.booking-fields textarea{min-height:100px;background:#172222;color:#f4f7f5;border:1px solid #ffffff50;border-radius:7px;padding:10px;font:inherit}.booking-form>button{margin-top:20px}.booking-form fieldset{max-width:100%}
@media(max-width:700px){.booking-fields{grid-template-columns:1fr}.portal-lift{flex-wrap:wrap;max-width:calc(100vw - 12px)}.portal-lift a{width:29px;height:29px}.portal-floor{scroll-margin-top:115px}.portal-ground{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.landscape::after{transform:none;will-change:auto}}html.device-motion-off .landscape::after{transform:none;will-change:auto}

@media(max-width:700px){.portal-grid{grid-template-columns:minmax(0,1fr)}.portal-floor{padding-inline:12px}.floor-divider{margin-inline:-12px;padding-inline:34px}.floor-divider h2{font-size:20px}.portal-window{min-width:0;overflow-wrap:anywhere}.booking-form fieldset{min-width:0}.booking-form input,.booking-form select,.booking-form textarea{max-width:100%;min-width:0}}
.landscape{overflow:clip}.portal-building{overflow:clip}
.portal-building .card{content-visibility:visible;contain-intrinsic-size:none}
.portal-window{backdrop-filter:none}

/* Slow illumination includes the surface, not just its contents. */
html .building :is(.panel,.card){transition:background-color 1800ms cubic-bezier(.22,.61,.36,1),box-shadow 1800ms ease,border-color 1800ms ease,filter 1800ms ease}
html.window-effects-ready .building :is(.panel,.card)>*{transition:opacity 1500ms ease,color 1500ms ease,text-shadow 1500ms ease}
html.business-theme :is(.building,.detail-window) :is(th,tfoot td,tfoot th,.management-table td:first-child){background:#f3d58d;color:#211b10}
html.business-theme :is(.building,.detail-window) :is(td,a,.badge,.table-count,.warn,.ok,.bad){color:#403316}
html.business-theme :is(.building,.detail-window) .chart-panel{--chart-background:transparent;--chart-label:#211b10;--chart-grid:#887344;background:transparent!important}
html.business-theme :is(.building,.detail-window) :is(input,select,button,.button){background:#fff2ce;color:#211b10;border-color:#998256}
html.business-theme .building .inline-detail .panel{background:transparent!important}
.store-photo{width:100%;height:220px;object-fit:cover;border-radius:12px;background:#27342f}.store-gallery{display:flex;overflow:auto;gap:15px}.store-gallery img{width: min(80vw,650px);height:400px;object-fit:contain}.demo-floor .table-scroll{max-height:480px}.demo-floor .card strong{font-size:28px}.demo-label{padding:12px;background:#493c22;color:#fff3cc;border-radius:8px}.demo-floor details{margin:12px 0}.demo-floor{scroll-margin-top:130px}.demo-floor .panel{overflow:auto}.demo-person{scroll-margin-top:150px}
@media(prefers-reduced-motion:reduce){html .building :is(.panel,.card),html.window-effects-ready .building :is(.panel,.card)>*{transition:none}}

.admin-demo-building .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-demo-building .window{aspect-ratio:auto;min-height:230px}@media(max-width:1000px){.admin-demo-building .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.admin-demo-building .cards{grid-template-columns:minmax(0,1fr)}}

.property-grid{grid-template-columns:repeat(var(--property-columns,2),minmax(0,1fr));padding:24px;gap:28px}.property-grid .store-photo{height:clamp(240px,35vw,560px);object-fit:cover}.property-wall{display:flex;overflow-x:auto;overflow-y:hidden;height:70dvh;min-height:340px;padding:30px;gap:50px;align-items:center;scrollbar-width:auto;touch-action:pan-x pan-y;max-width:100%;border-bottom:24px solid #26251e}.property-painting{flex:0 0 auto;width:min(80vw,1050px);height:90%;margin:0;background:#e7ddbd;padding:18px;border:14px ridge #9b7b4b;box-shadow:0 18px 30px #0009;display:flex;flex-direction:column}.property-painting img{width:100%;height:calc(100% - 30px);object-fit:contain;background:#151817}.property-painting figcaption{color:#292419;font-size:12px}.agent-portrait{width:100px;height:120px;object-fit:cover;border:6px ridge #b49a65}.store-controls{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}@media(max-width:640px){.property-grid{grid-template-columns:1fr;padding:12px}.property-wall{padding:18px;gap:25px}.property-painting{width:84vw;padding:8px;border-width:8px}}

html.object-gallery-page,html.object-gallery-page body{overflow-x:auto}.object-gallery-page main{width:100%;max-width:none;padding-left:4vw;padding-right:4vw}.object-gallery-page main> :not(.property-wall){max-width:92vw}.object-gallery-page .property-wall{width:max-content;max-width:none;overflow:visible;min-width:92vw;height:70dvh}.object-gallery-page .property-painting{width:min(80vw,1050px)}

/* The facade always meets a continuous ground line, including at browser zoom. */
.portal-ground{position:relative;min-height:130px;margin-top:0}
.portal-ground:after{content:'';position:absolute;inset:auto 0 0;height:20px;background:linear-gradient(90deg,#34482d,#1b311f,#405331);pointer-events:none}
.object-gallery-page{scroll-padding-top:calc(var(--gallery-header-height,110px) + 24px)}
.object-gallery-page .topbar{position:fixed;top:0;left:0;width:100vw;max-width:100vw;z-index:100}
.object-gallery-page body{padding-top:calc(var(--gallery-header-height,88px) + 12px)}
.object-gallery-page .property-wall{border-bottom:24px solid #39472e;align-items:end;padding-bottom:0}
.object-gallery-page .property-painting{width:max-content;max-width:84vw;height:auto;max-height:calc(70dvh - 35px);padding:12px;display:block;align-self:end;background:#e7ddbd;line-height:0}
.object-gallery-page .property-painting img{display:block;width:auto;height:auto;max-width:calc(84vw - 52px);max-height:calc(70dvh - 100px);object-fit:contain;background:transparent}
.object-gallery-page .property-painting figcaption{line-height:1.35;padding-top:6px}
.object-gallery-page footer{background:linear-gradient(#273a2a,#142619);min-height:110px;border-top:14px solid #34482d}
.trainee-building .portal-floor:not(#portal-floor-1):not(#portal-floor-2) .portal-grid{opacity:.42;filter:grayscale(1);pointer-events:none}
.trainee-building .portal-floor:not(#portal-floor-1):not(#portal-floor-2) .window{background:#11191b!important;box-shadow:none!important}
.trainee-building .portal-floor:not(#portal-floor-1):not(#portal-floor-2) .window:before,.trainee-building .portal-floor:not(#portal-floor-1):not(#portal-floor-2) .window:after{display:none!important}
.colleague-house{margin-top:22px;border-bottom:0}.colleague-windows{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:35px;align-items:center}.colleague-windows .window{aspect-ratio:auto;min-height:230px}.colleague-windows .window strong{font-size:clamp(22px,2vw,34px)}.colleague-picture{margin:0;padding:12px;border:12px ridge #aa8754;background:#ead9af;text-align:center;color:#282018}.colleague-picture img{display:block;width:100%;max-height:330px;object-fit:cover}.colleague-picture figcaption{margin-top:8px}.colleague-placeholder{min-height:220px;display:grid;place-items:center;background:#b9b0a1}.colleague-house+.portal-ground{margin-bottom:0}
@media(max-width:900px){.colleague-windows{grid-template-columns:repeat(2,minmax(0,1fr))}.colleague-picture{grid-column:1/-1;grid-row:1;max-width:350px;justify-self:center}.object-gallery-page .topbar{min-height:88px}}

html.object-gallery-page body{overflow:visible}

.colleague-directory-house{border-bottom:0}.colleague-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:28px;padding:36px}.colleague-choice{position:relative;min-width:0;aspect-ratio:auto;padding:10px;background:#352b25;border:10px ridge #a98855;box-shadow:0 14px 32px #0008}.colleague-choice-link{display:flex;flex-direction:column;min-height:330px;text-decoration:none;color:#f6ebd3}.colleague-choice-link img{display:block;width:100%;height:280px;object-fit:cover;background:#675e52}.colleague-choice-link strong{display:block;font-size:clamp(19px,1.7vw,26px);line-height:1.2;margin:12px 5px 4px;overflow-wrap:anywhere}.colleague-choice-link small{margin:0 5px 7px;color:#e8d5a8}.colleague-choice-link:hover{color:#fff}.colleague-photo-missing{height:280px;display:grid;place-items:center;padding:20px;text-align:center;background:#6a6255;color:#eee}.colleague-photo-review{position:relative;z-index:2;margin:8px 0;padding:10px;background:#151d1b;color:#eee;font-size:12px}.colleague-photo-review summary{cursor:pointer}.colleague-review-option{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #ffffff28}.colleague-review-option img{width:70px;height:80px;object-fit:cover}.colleague-review-option form{margin-top:8px}.colleague-windows{align-items:stretch;grid-auto-rows:minmax(360px,auto)}.colleague-windows .window{height:100%;min-height:0;display:flex;flex-direction:column}.colleague-windows .window .button{margin-top:auto}.colleague-picture{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.colleague-picture img{max-height:300px}.colleague-picture small{display:block}
@media(max-width:900px){.colleague-directory{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:15px}.colleague-windows{grid-auto-rows:auto}}
@media(max-width:580px){.colleague-directory{grid-template-columns:minmax(0,1fr)}.colleague-choice-link img,.colleague-photo-missing{height:340px}}

.colleague-choice{border:0;background:#eee3c8;padding:14px;box-shadow:0 14px 32px #0008}
.colleague-choice-link{min-height:0;color:#241c15}
.colleague-photo-frame{display:block;border:10px ridge #a98855;background:#675e52;box-shadow:0 7px 18px #0007}
.colleague-choice-link .colleague-name{display:block;margin:14px 2px 8px;color:#241c15;text-align:center;text-shadow:none;font-weight:800}
.colleague-choice-link:hover .colleague-name{color:#462c10;text-decoration:underline}
.agent-portrait{width:180px;height:220px;max-width:100%;object-fit:cover;border:8px ridge #b49a65}
