:root { --yellow:#ffff00; }
.office[data-editorial] { --actor-width:10.5%;--lounge-width:13.2%;--room-image:url('/public/assets/editorial-room-v2.webp');background-image:var(--room-image);image-rendering:auto;overflow:visible;transform-origin:50% 65%; }
.scene-stage,.workspace.inspector-hidden .scene-stage { overflow:hidden;touch-action:pan-y;position:relative;background:#202124;height:auto;container-type:normal; }
.office[data-editorial] { width:100%;max-width:none; }
.office[data-editorial] > :is(.lucy,.teammate,.sleeping-lucy,.zzz,.room-atmosphere,.office-speech) { display:none!important; }
.editorial-actor { position:absolute;width:var(--actor-width);aspect-ratio:1;transform:translate(-50%,-96%);pointer-events:auto;will-change:left,top;border:0;padding:0;background:none;cursor:pointer; }
.editorial-actor:focus-visible { outline:2px solid var(--yellow);outline-offset:2px;border-radius:5px; }
.editorial-body { width:100%;height:100%;background-size:400% 300%;background-repeat:no-repeat;transform-origin:50% 90%;filter:drop-shadow(0 2px 1px #25312e36); }
.editorial-actor::after { content:'';position:absolute;bottom:2%;left:27%;width:46%;height:5%;border-radius:50%;background:#18252224;z-index:-1; }
.editorial-actor[data-pose='offline'] { opacity:.45; }
.editorial-actor[data-pose='rest'] .editorial-body { animation:editorial-breathe var(--breath-duration) ease-in-out var(--breath-delay) infinite; }
.editorial-actor[data-pose='walking'] .editorial-body { animation:editorial-step 600ms ease-in-out infinite; }
.editorial-actor[data-name='lucy'][data-pose='walking'] .editorial-body { animation-duration:380ms; }
.editorial-actor[data-focus='true'] .editorial-body { filter:drop-shadow(0 0 3px #ffff00); }
.editorial-actor[data-face='right'] .editorial-body { transform:scaleX(-1); }
.editorial-actor[data-name='ardi'][data-face='right'] .editorial-body { transform:none; }
.editorial-actor[data-name='ardi'][data-face='left'] .editorial-body { transform:scaleX(-1); }
.editorial-table { position:absolute;left:43%;top:64%;width:19%;height:27%;object-fit:contain;pointer-events:none;z-index:760; }
.editorial-beanbag { position:absolute;width:var(--lounge-width);aspect-ratio:1;object-fit:contain;transform:translate(-50%,-86.5%);pointer-events:none;z-index:879; }
.editorial-rest { display:none;width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:50% 90%;filter:drop-shadow(1px 3px 2px #20211d32); }
.editorial-actor[data-resting='true'] .editorial-body { display:none; }
.editorial-actor[data-resting='true'] .editorial-rest { display:block;animation:editorial-breathe var(--breath-duration) ease-in-out var(--breath-delay) infinite; }
.editorial-actor[data-resting='true']::after { display:none; }
.editorial-actor[data-name='lucy'][data-resting='true'] { width:14.4%;aspect-ratio:3/2;transform:translate(-62%,-108%); }
.editorial-actor[data-name='ardi'][data-resting='true'] { width:11.5%;transform:translate(-60%,-115%); }
.editorial-seated { display:none;width:100%;height:100%;object-fit:contain;transform-origin:50% 70%;filter:drop-shadow(0 2px 1px #20211d24); }
.editorial-actor[data-seated='true'] .editorial-body { display:none; }
.editorial-actor[data-seated='true'] .editorial-seated { display:block;animation:editorial-typing 2.6s ease-in-out infinite; }
.editorial-actor[data-seated='true'] { transform:translate(-60%,-140%); }
.editorial-actor[data-seated='true']::after { display:none; }
@keyframes editorial-typing { 50% { transform:rotate(.3deg); } }
.editorial-actor[data-reclining='true'] { width:var(--lounge-width);transform:translate(-50%,-86.5%); }
.editorial-actor[data-reclining='true']::after { display:none; }
.editorial-actor[data-reclining='true'] .editorial-body { display:none; }
.editorial-actor[data-reclining='true'] .editorial-nico-rest { display:block; }
.editorial-chair-foreground { position:absolute;inset:0;background:var(--room-image) center/100% 100% no-repeat;clip-path:polygon(71.1% 50.7%,74.7% 52.6%,75.7% 57%,76.2% 60%,75.6% 63%,73.5% 65.5%,72% 64%,71.5% 61%,70.9% 57%);pointer-events:none;z-index:705; }
.editorial-chair-foreground[hidden] { display:none; }
.editorial-lucy-chair-foreground { position:absolute;inset:0;background:var(--room-image) center/100% 100% no-repeat;clip-path:polygon(37.7% 50.2%,41.3% 48.7%,41.6% 53.5%,40.8% 58.7%,40.1% 61.6%,37% 63%,35.1% 60.3%,35.2% 58.7%,36.8% 58.4%);pointer-events:none;z-index:705; }
.editorial-lucy-chair-foreground[hidden] { display:none; }
.editorial-sleep-fade { pointer-events:none;animation:editorial-wake-out .85s ease-out forwards; }
.editorial-actor[data-waking='true'] .editorial-body { animation:editorial-wake-in .85s ease-out both; }
.office-screensaver { position:absolute;z-index:10;pointer-events:none;overflow:hidden;background:#10181b;opacity:.82;contain:paint; }
.screensaver-tsp { --saver-ink:#fffc00;--saver-paper:#e5eeea; }
.screensaver-aiu { --saver-ink:#c8d3d8;--saver-paper:#eef2f3;opacity:.78;background:#141b20; }
.screensaver-art { position:absolute;inset:-30%;overflow:hidden; }
.screensaver-art span { position:absolute;display:block; }
.screensaver-pages span { width:32%;height:53%;left:calc(8% + var(--shape)*15%);top:calc(15% + var(--shape)*6%);background:var(--saver-paper);opacity:calc(.2 + var(--shape)*.16);transform:rotate(-22deg);animation:saver-pages 18s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-pages span:last-child { background:var(--saver-ink); }
.screensaver-ribbons span { left:-40%;top:calc(12% + var(--shape)*23%);width:160%;height:12%;background:var(--saver-ink);opacity:calc(.25 + var(--shape)*.16);transform:rotate(-30deg);animation:saver-ribbons 22s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-orbit span { width:calc(25% + var(--shape)*24%);aspect-ratio:1;left:50%;top:50%;border:2px solid var(--saver-paper);border-radius:50%;transform:translate(-50%,-50%);opacity:calc(.65 - var(--shape)*.12);animation:saver-orbit 20s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-orbit span:first-child { background:var(--saver-ink);border:0; }
.screensaver-mesh .screensaver-art { background-image:linear-gradient(#d6e2e833 1px,transparent 1px),linear-gradient(90deg,#d6e2e833 1px,transparent 1px);background-size:18% 18%;transform:rotate(-20deg);animation:saver-mesh 28s linear var(--saver-delay) infinite; }
.screensaver-mesh span { width:120%;height:2%;left:-10%;top:calc(15% + var(--shape)*23%);background:var(--saver-paper);opacity:calc(.12 + var(--shape)*.12); }
.screensaver-contours span { width:calc(45% + var(--shape)*35%);height:calc(50% + var(--shape)*32%);left:50%;top:50%;border:2px solid var(--saver-paper);border-radius:35%;transform:translate(-50%,-50%) rotate(25deg);opacity:calc(.65 - var(--shape)*.12);animation:saver-contours 24s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-eclipse span { width:75%;aspect-ratio:1;left:calc(20% + var(--shape)*9%);top:calc(10% + var(--shape)*6%);border-radius:50%;background:var(--saver-paper);opacity:calc(.6 - var(--shape)*.12);animation:saver-eclipse 26s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-eclipse span:last-child { background:#141b20;opacity:1; }
.screensaver-signal span { width:6%;height:calc(25% + var(--shape)*14%);left:calc(24% + var(--shape)*14%);bottom:20%;background:var(--saver-paper);opacity:calc(.25 + var(--shape)*.14);transform-origin:bottom;animation:saver-signal 16s ease-in-out calc(var(--saver-delay) - var(--shape)*2s) infinite alternate; }
.office[data-daypart='night'] .office-screensaver,.building-floor-scene[data-daypart='night'] .office-screensaver { opacity:.65; }
.building-floor-scene[data-screensavers='false'] .office-screensaver { display:none; }
.screensaver-pages span,.screensaver-ribbons span,.screensaver-eclipse span { animation-duration:3s; }
.screensaver-orbit span,.screensaver-contours span { animation-duration:2.5s; }
.screensaver-mesh .screensaver-art { animation-duration:4s; }
.screensaver-signal span { animation-duration:2s; }
@keyframes saver-pages { from { translate:-35% 0; } to { translate:65% 0; } }
@keyframes saver-ribbons { from { translate:0 -120%; } to { translate:0 120%; } }
@keyframes saver-orbit { from { scale:.55; } to { scale:1.15; } }
@keyframes saver-mesh { to { background-position:36% 36%; } }
@keyframes saver-contours { from { scale:.55; } to { scale:1.15; } }
@keyframes saver-eclipse { from { translate:25% 0; } to { translate:-35% 0; } }
@keyframes saver-signal { from { scale:1 .25; } to { scale:1 1; } }
.office-screensaver .screensaver-art { inset:-12%;background-image:url('/public/assets/editorial-geometric-screensaver-v1.png');background-size:110.66% 226.2%;background-repeat:no-repeat;transform:none;animation:saver-geometric 4s ease-in-out var(--saver-delay) infinite alternate; }
.screensaver-tsp .screensaver-art { background-position:88.8% 8.76%; }
.screensaver-aiu .screensaver-art { background-position:88.8% 92%; }
.office-screensaver .screensaver-art span { display:none; }
.screensaver-ribbons .screensaver-art,.screensaver-contours .screensaver-art { animation-direction:alternate-reverse; }
.screensaver-orbit .screensaver-art,.screensaver-signal .screensaver-art { animation-duration:3s; }
@keyframes saver-geometric { from { translate:-7% -3%;scale:1; } to { translate:7% 3%;scale:1.12; } }
body[data-paused='true'] .office-screensaver :is(.screensaver-art,span) { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) { .office-screensaver :is(.screensaver-art,span) { animation:none!important; } }
.office[data-editorial] .scene-agent { min-width:38px;min-height:25px;padding:3px 7px;font-size:10px;top:auto;z-index:1500;background:#202124bb;border-color:transparent;white-space:nowrap;box-shadow:0 1px 3px #0002; }
.office[data-editorial] .scene-agent:is(:hover,:focus-visible,[data-selected='true']) { background:#202124ed;border-color:#fffc0080; }
.office[data-editorial] .scene-destination { z-index:1400;right:9%;top:10%;padding:6px;border-color:#ffffff30;background:#202124bb;font-size:0; }
.office[data-editorial] .scene-destination svg { width:16px;height:16px; }
.office[data-editorial] .scene-destination:is(:hover,:focus-visible) { font-size:10px;background:#202124ed; }
.office-hotspot { position:absolute;border:1px solid transparent;background:transparent;border-radius:6px;z-index:600;cursor:pointer; }
.office-hotspot:hover,.office-hotspot:focus-visible { background:#ffff001a;border-color:var(--yellow);outline:none; }
.office-hotspot svg { width:17px;height:17px;position:absolute;top:5px;right:5px;color:#fff;opacity:0;filter:drop-shadow(0 1px 2px #000); }
.office-hotspot:hover svg,.office-hotspot:focus-visible svg { opacity:1; }
.editorial-bubble { position:absolute;z-index:1800;width:clamp(130px,25%,240px);max-width:65%;padding:9px 11px;box-sizing:border-box;background:#fafaf7;color:#202124;border:1px solid #929494;border-radius:6px;box-shadow:0 3px 12px #20212426;transform:translate(-50%,-100%);pointer-events:none;font:11px/1.45 Manrope,sans-serif; }
.editorial-bubble[hidden] { display:none; }
.editorial-bubble strong { display:block;font-size:10px;color:#454647;margin-bottom:3px; }
.editorial-bubble span { display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere; }
.editorial-bubble[data-reply="true"] { width:clamp(160px,32%,330px); }
.editorial-bubble[data-reply="true"] span { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
/* Keep daylight local to the window wall, with a steep falloff into the unlit room. */
.office { --shade-near:.18;--shade-mid:.72;--shade-far:.9;--shade-ink:3 6 9; }
.office[data-daypart="morning"] { --shade-near:.22;--shade-mid:.76;--shade-far:.91; }
.office[data-daypart="evening"] { --shade-near:.38;--shade-mid:.82;--shade-far:.93; }
.office[data-daypart="night"] { --shade-near:.67;--shade-mid:.91;--shade-far:.97;--shade-ink:3 6 12; }
.office-light-shade { position:absolute;inset:0;z-index:1200;pointer-events:none;background:radial-gradient(ellipse 38% 43% at 22% 43%,rgb(var(--shade-ink) / var(--shade-near)) 20%,rgb(var(--shade-ink) / var(--shade-mid)) 62%,rgb(var(--shade-ink) / var(--shade-far)) 90%);opacity:0;transition:opacity 1.4s ease-in-out;clip-path:polygon(evenodd,5% 33%,48.5% 4%,94.5% 33%,96.5% 85%,73% 99%,28% 99%,5% 83%,5% 33%,9.3% 36%,16.9% 30.4%,16.9% 50.9%,9.3% 56.8%,9.3% 36%,5% 33%,18.2% 29.5%,24.5% 25%,24.5% 45.6%,18.2% 50.2%,18.2% 29.5%,5% 33%,25.8% 24.2%,33.1% 18.8%,33.1% 39.8%,25.8% 44.8%,25.8% 24.2%,5% 33%,34.4% 18.1%,41.3% 13.4%,41.3% 34.1%,34.4% 39.1%,34.4% 18.1%,5% 33%); }
.office-lamp-glow { position:absolute;width:4%;aspect-ratio:1;z-index:12;pointer-events:none;transform:translate(-50%,-50%);border-radius:50%;background:#ffe6a3;filter:blur(6px);opacity:.12;transition:opacity .6s ease; }
.office[data-lights="off"] .office-light-shade { opacity:1; }
.office[data-lights="off"] .office-lamp-glow { opacity:0; }
.office[data-lights="off"] .office-screensaver { z-index:1202;opacity:.55; }
.office[data-lights="off"] .scene-agent { background:#171c21e8; }
@media(prefers-reduced-motion:reduce) { .office-light-shade,.office-lamp-glow { transition:none; } }
.scene-camera { display:flex;gap:3px;align-items:center; }
.scene-camera .icon-btn { width:30px;height:30px;min-width:30px; }
.scene-camera output { font:10px DM Mono,monospace;min-width:32px;text-align:center;color:var(--muted); }
.scene-camera svg { width:16px;height:16px; }
.studio-heading { margin-bottom:4px;min-height:34px; }
.business-strip { padding:6px 0 12px;gap:22px; }
.scene-meta { margin-bottom:9px; }
#expandOffice { display:inline-flex; }
.workspace.expanded { position:fixed;inset:0;z-index:3000;height:100dvh;display:block;background:#101314;overflow:auto; }
.workspace.expanded .studio { height:100%;width:100%;max-width:none;margin:0;padding:14px 24px;box-sizing:border-box; }
.workspace.expanded .scene-stage { height:auto;flex:1 1 auto;min-height:0;container-type:size; }
.workspace.expanded .office { width:min(100cqw,calc(100cqh * 1672 / 941));max-width:none; }
.workspace.expanded :is(.team-room,.roster,.daily-publishing,.publication,.production-board,.agenda-jump,.studio-footer,.latest-update) { display:none; }
.workspace.expanded .floor-caption { padding:8px 0 0; }
.workspace.expanded .scene-actions > button:not(#expandOffice) { display:none; }
.office[data-editorial][data-daypart='morning'] { --room-image:url('/public/assets/editorial-room-morning-v1.webp'); }
.office[data-editorial][data-daypart='evening'] { --room-image:url('/public/assets/editorial-room-evening-v1.webp'); }
.office[data-editorial][data-daypart='night'] { --room-image:url('/public/assets/editorial-room-night-v1.webp'); }
.office[data-editorial][data-published='true'] .editorial-table { animation:editorial-published 1.5s ease-out; }
@keyframes editorial-breathe { 50% { translate:0 -.25%; } }
@keyframes editorial-wake-out { to { opacity:0; } }
@keyframes editorial-wake-in { from { opacity:0;translate:0 2%; } to { opacity:1;translate:0 0; } }
@keyframes editorial-step { 25%,75% { translate:0 -1%; } }
@keyframes editorial-published { 30% { filter:drop-shadow(0 0 5px #65c79a); } }
@media(max-width:680px) { .scene-camera { gap:1px; }.scene-camera .icon-btn { width:32px;min-width:32px; }.scene-camera output { display:none; }.office[data-editorial] .scene-agent { font-size:9px;min-width:32px;min-height:25px;padding:2px 4px; }.editorial-bubble { padding:6px 8px;font-size:10px; }.workspace.expanded .studio { padding:10px; }.workspace.expanded .business-strip { gap:10px; }.workspace.expanded .scene-stage { margin-left:0;width:100%; }.workspace.expanded .studio-heading { min-height:40px; } }
@media(prefers-reduced-motion:reduce) { .editorial-body,.editorial-table,.editorial-rest { animation:none!important; }.editorial-sleep-fade { display:none; } }
.office .editorial-actor[data-seated='true'][data-pose='thinking'] .editorial-seated { animation:editorial-breathe 6.4s ease-in-out infinite; }
@media(prefers-reduced-motion:reduce) { .editorial-seated { animation:none!important; } }
body[data-paused='true'] .editorial-seated { animation:none!important; }
body[data-paused='true'] .editorial-body,body[data-paused='true'] .editorial-table,body[data-paused='true'] .editorial-rest { animation:none!important; }
body[data-paused='true'] .editorial-sleep-fade { display:none; }
