:root{--bg:oklch(16.5% .012 255);--floor:oklch(19.5% .014 255);--floor-hi:oklch(22.5% .016 255);--rule:oklch(30% .016 255);--ink:oklch(95% .006 255);--muted:oklch(74% .014 255);--dim:oklch(56% .014 255);--work:oklch(82% .145 78);--work-dim:oklch(82% .145 78/.18);--alarm:oklch(68% .2 27);--alarm-wash:oklch(68% .2 27/.14);--watch:oklch(86% .15 95);--ok:oklch(78% .13 158);--radius:10px;--ease-out:cubic-bezier(.25, 1, .5, 1);--z-sticky:10;--z-panel:30;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;font-family:Onest,system-ui,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}button,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible,h2:focus-visible{outline:2px solid var(--work);outline-offset:2px}h2:focus{outline:none}.shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}@media (width>=1100px){.shell[data-panel=true]{grid-template-columns:minmax(0,1fr) 400px}}.topbar{z-index:var(--z-sticky);background:var(--bg);border-bottom:1px solid var(--rule);grid-column:1/-1;align-items:center;gap:24px;padding:12px 28px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.brand svg{width:22px;height:22px;fill:var(--work)}.tabs{gap:4px;margin-right:auto;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 12px;font-weight:500}.tabs button:hover{color:var(--ink);background:var(--floor)}.tabs button[aria-current=true]{color:var(--ink);background:var(--floor-hi)}.ghost{border:1px solid var(--rule);transition:background-color .15s var(--ease-out), border-color .15s var(--ease-out);background:0 0;border-radius:8px;padding:7px 14px;font-weight:500}.ghost:hover:not(:disabled){background:var(--floor);border-color:var(--dim)}.ghost:disabled{color:var(--muted);cursor:progress}.floor-wrap{min-width:0;padding:32px 28px 64px}.shift h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:28px;font-weight:600}.shift h1[data-alarm=true]{color:var(--alarm)}.shift p{color:var(--muted);margin:6px 0 0}.floor{margin-top:28px}.floor-head,.line{grid-template-columns:200px minmax(280px,1fr) minmax(220px,300px);align-items:center;gap:24px;display:grid}.floor-head{color:var(--dim);padding:0 16px 10px;font-size:12.5px;font-weight:500}.stage-names{text-align:center;grid-template-columns:repeat(5,1fr);display:grid}.lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.line{border-radius:var(--radius);background:var(--floor);text-align:left;width:100%;transition:background-color .15s var(--ease-out), border-color .15s var(--ease-out);border:1px solid #0000;padding:14px 16px}.line:hover{background:var(--floor-hi)}.line[aria-pressed=true]{border-color:var(--work);background:var(--floor-hi)}.line[data-lamp=red]{background:linear-gradient(90deg, var(--alarm-wash), var(--floor) 40%)}.line-name{min-width:0;display:grid}.line-name b{font-size:15.5px;font-weight:600}.stage-tag{display:none}.line-name small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.belt{grid-template-columns:repeat(5,1fr);align-items:center;height:34px;display:grid;position:relative}.belt-track{background:var(--rule);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:10%;right:10%;overflow:hidden}.line[data-active=true] .belt-track{background:var(--work-dim)}.line[data-active=true] .belt-track:after{content:"";background:repeating-linear-gradient(90deg, var(--work) 0 6px, transparent 6px 24px);opacity:.55;animation:1.6s linear infinite belt;position:absolute;inset:0 -24px 0 0}@keyframes belt{to{transform:translate(24px)}}.station{background:var(--bg);border:2px solid var(--rule);border-radius:4px;justify-self:center;width:14px;height:14px;position:relative}.station[data-state=done]{border-color:var(--dim);background:var(--dim)}.station[data-state=here]{border-color:var(--work)}.crate{background:var(--work);width:22px;height:22px;box-shadow:0 0 18px var(--work-dim);border-radius:4px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}.line[data-lamp=red] .crate{background:var(--alarm);box-shadow:0 0 20px oklch(68% .2 27/.45)}.line-status{align-items:center;gap:10px;min-width:0;display:flex}.headline{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;display:-webkit-box;overflow:hidden}.line[data-lamp=red] .headline{color:var(--ink)}.lamp{flex:none;place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.lamp svg{width:16px;height:16px}.lamp[data-level=red] svg{fill:var(--alarm)}.lamp[data-level=amber] svg{fill:var(--watch)}.lamp[data-level=green] svg{fill:var(--ok)}.lamp[data-level=off] svg{stroke:var(--dim)}.lamp[data-level=red]:after{content:"";background:radial-gradient(var(--alarm), transparent 70%);opacity:.35;border-radius:50%;animation:1.8s ease-in-out infinite glow;position:absolute;inset:-5px}@keyframes glow{50%{opacity:.05}}.panel{border-left:1px solid var(--rule);background:var(--floor);height:calc(100dvh - 57px);animation:panel-in .22s var(--ease-out);align-content:start;align-self:start;gap:26px;padding:28px 24px 40px;display:grid;position:sticky;top:57px;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}}.panel-head{justify-content:space-between;align-items:start;gap:16px;display:flex}.panel h2{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600}.panel-head p{color:var(--muted);margin:4px 0 0}.panel h3{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:600}.alarms{gap:8px;display:grid}.alarm{border-radius:var(--radius);background:var(--bg);border:1px solid var(--rule);grid-template-columns:auto 1fr;align-items:start;gap:6px 10px;padding:12px 14px;display:grid}.alarm[data-level=red]{background:var(--alarm-wash);border-color:oklch(68% .2 27/.6)}.alarm p{margin:0}.alarm button{grid-column:2;justify-self:start}.primary{background:var(--work);color:oklch(20% .03 78);border:0;border-radius:8px;padding:8px 14px;font-weight:600}.primary:disabled{opacity:.45;cursor:not-allowed}.stages{border-radius:var(--radius);background:var(--bg);grid-template-columns:repeat(5,1fr);gap:4px;padding:4px;display:grid}.stages button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 2px;font-size:12.5px}.stages button:hover{color:var(--ink)}.stages button[aria-checked=true]{background:var(--work);color:oklch(20% .03 78);font-weight:600}.facts{gap:10px;margin:0;display:grid}.facts div{grid-template-columns:140px 1fr;gap:12px;display:grid}.facts dt{color:var(--muted);overflow-wrap:anywhere}.facts dd{min-width:0;margin:0;display:grid}.facts dd small{color:var(--dim);overflow-wrap:anywhere}.facts dd.bad{color:var(--alarm)}.calm{color:var(--ok);margin:12px 0 0}.links{flex-wrap:wrap;gap:8px;display:flex}.links a{color:var(--ink);border:1px solid var(--rule);border-radius:8px;padding:7px 12px;text-decoration:none}.links a:hover{border-color:var(--work)}.note{gap:8px;display:grid}.note span{color:var(--muted);font-size:13px;font-weight:600}.note textarea{resize:vertical;border-radius:var(--radius);border:1px solid var(--rule);background:var(--bg);padding:10px 12px}.note textarea::placeholder{color:var(--muted)}.report{gap:28px;max-width:68ch;margin-top:28px;display:grid}.report h2{margin:0;font-size:20px;font-weight:600}.report .lede{color:var(--muted);margin:-16px 0 0}.report h3{color:var(--work);margin:0 0 10px;font-size:15px;font-weight:600}.report ul{gap:8px;margin:0;padding-left:18px;display:grid}.report li small{color:var(--dim);display:block}.muted{color:var(--muted);margin:0}@media (width<=760px){.topbar{gap:12px;padding:10px 16px}.floor-wrap{padding:22px 16px 48px}.shift h1{font-size:22px}.floor-head{display:none}.stage-tag{color:var(--work);display:inline}.line{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.line-status{grid-area:3/1/auto/-1}.belt{grid-area:2/1/auto/-1}}@media (width<=1099px){.panel{height:100dvh;z-index:var(--z-panel);border-left:0;position:fixed;inset:0}}@media (width>=761px) and (width<=1099px){.panel{border-left:1px solid var(--rule);width:min(440px,100%);left:auto;box-shadow:-24px 0 48px oklch(0% 0 0/.4)}}@media (prefers-reduced-motion:reduce){.line[data-active=true] .belt-track:after,.lamp[data-level=red]:after,.panel{animation:none}}.login{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login form{gap:18px;width:min(360px,100%);display:grid}.login .brand{font-size:22px}.license-form,.code-box{gap:12px;display:grid}.license-form label,.login label{gap:6px;display:grid}.license-form label>span,.login label>span{color:var(--muted);font-size:13px;font-weight:600}.license-form small{color:var(--muted);font-size:12.5px}.license-form input:not([type=checkbox]),.login input,.code-box textarea{font:inherit;color:inherit;border-radius:var(--radius);border:1px solid var(--rule);background:var(--bg);padding:10px 12px}.license-form input:focus-visible,.login input:focus-visible{outline:2px solid var(--work);outline-offset:1px}.license-form input::placeholder{color:var(--dim)}.license-form .check{align-items:center;gap:10px;display:flex}.license-form .check span{color:var(--ink);font-weight:400}.license-form .check input{width:18px;height:18px;accent-color:var(--work)}.license-form button,.login button{justify-self:start}.form-error{color:var(--alarm);margin:0}.licenses{border-radius:var(--radius);background:var(--bg);border:1px solid var(--rule);gap:16px;padding:18px;display:grid}.licenses h3,.code-box p{margin:0}.code-box textarea{word-break:break-all;resize:none;font-family:ui-monospace,Cascadia Mono,monospace;font-size:12.5px}.code-box button{justify-self:start}.license-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.license-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.license-list span{min-width:0;display:grid}.license-list small{color:var(--muted);overflow-wrap:anywhere}.plant{--ground:oklch(20% .014 255);--road:oklch(27% .012 255);margin-top:18px}.iso{width:100%;height:auto;font-family:inherit;display:block;overflow:visible}.iso .ground{fill:var(--ground)}.iso .road{fill:none;stroke:var(--road);stroke-width:1px;stroke-dasharray:6 8}.prism .face-t,.prism .face-l,.prism .face-r{stroke:oklch(13% .01 255/.6);stroke-width:.6px;stroke-linejoin:round}.prism.slab .face-t{fill:oklch(26% .016 255)}.prism.slab .face-l{fill:oklch(21% .014 255)}.prism.slab .face-r{fill:oklch(18% .012 255)}.prism.foundation .face-t{fill:oklch(42% .012 255)}.prism.foundation .face-l{fill:oklch(34% .012 255)}.prism.foundation .face-r{fill:oklch(30% .012 255)}.prism.raw .face-t{fill:oklch(40% .01 255)}.prism.raw .face-l{fill:oklch(33% .012 255)}.prism.raw .face-r{fill:oklch(28% .012 255)}.prism.hall .face-t{fill:oklch(46% .022 255)}.prism.hall .face-l{fill:oklch(36% .026 255)}.prism.hall .face-r{fill:oklch(29% .024 255)}.prism.vent .face-t,.prism.chimney .face-t{fill:oklch(50% .02 255)}.prism.vent .face-l,.prism.chimney .face-l{fill:oklch(40% .02 255)}.prism.vent .face-r,.prism.chimney .face-r{fill:oklch(32% .02 255)}.prism.cargo .face-t{fill:oklch(85% .02 255)}.prism.cargo .face-l{fill:oklch(72% .02 255)}.prism.cargo .face-r{fill:oklch(60% .02 255)}.prism.cab .face-t{fill:var(--work)}.prism.cab .face-l{fill:oklch(70% .13 78)}.prism.cab .face-r{fill:oklch(60% .12 78)}.iso .win polygon{fill:oklch(20% .02 255)}.iso .win.lit polygon{fill:var(--work);filter:drop-shadow(0 0 3px oklch(82% .145 78/.7))}.iso .outline{fill:oklch(82% .145 78/.06);stroke:var(--work);stroke-width:1.2px;stroke-dasharray:5 4}.iso .scaffold polyline,.iso .crane polyline{fill:none;stroke:oklch(62% .02 255);stroke-width:1.2px}.iso .crane polyline:first-child,.iso .crane polyline:nth-child(2){stroke:var(--work);stroke-width:2.2px}.iso .crane .cable{stroke-width:.7px}.iso .smoke circle{fill:oklch(70% .01 255/.35);transform-box:fill-box;transform-origin:50%;animation:3.3s ease-out infinite smoke}@keyframes smoke{0%{opacity:.7;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-34px)scale(1.6)}}.iso .beacon circle,.iso .beacon path{fill:var(--ok)}.iso .beacon[data-level=red] path{fill:var(--alarm)}.iso .beacon[data-level=amber] path{fill:var(--watch)}.iso .beacon[data-level=off] circle{fill:none;stroke:var(--dim);stroke-width:1.5px}.iso .beacon .halo{fill:oklch(68% .2 27/.35);animation:1.8s ease-in-out infinite glow}.iso .plot{cursor:pointer;outline:none}.iso .plot:hover .slab .face-t,.iso .plot:focus-visible .slab .face-t{fill:oklch(31% .02 255)}.iso .plot[data-lamp=red] .slab .face-t{fill:oklch(68% .2 27/.28);stroke:oklch(68% .2 27/.7)}.iso .select-ring{fill:none;stroke:var(--work);stroke-width:2px}.iso .plot:focus-visible .slab .face-t{stroke:var(--work);stroke-width:1.5px}.iso .label .name{fill:var(--ink);paint-order:stroke;stroke:oklch(16.5% .012 255/.85);stroke-width:4px;font-size:13px;font-weight:600}.iso .bubble rect{fill:var(--alarm)}.iso .bubble text{fill:oklch(98% 0 0);font-size:11.5px;font-weight:600}@media (width<=760px){.iso{max-height:none}.iso .label .name{font-size:15px}}@media (prefers-reduced-motion:reduce){.iso .smoke circle,.iso .beacon .halo{animation:none}}.iso-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.iso-cards li{border-radius:var(--radius);background:var(--floor);border:1px solid #0000;display:grid;overflow:hidden}.iso-cards li[data-lamp=red]{background:linear-gradient(180deg, var(--alarm-wash), var(--floor) 60%);border-color:oklch(68% .2 27/.6)}.iso-cards .iso{padding:6px 6px 0}.iso-card-text{text-align:left;background:0 0;border:0;gap:2px;padding:4px 12px 12px;display:grid}.iso-card-text b{font-weight:600}.iso-card-text small{color:var(--work);font-size:12.5px}.iso-card-text span{color:var(--muted);align-items:start;gap:6px;margin-top:4px;font-size:12.5px;line-height:1.35;display:flex}.iso-card-text .lamp{width:14px;height:14px;margin-top:1px}.iso-card-text .lamp svg{width:12px;height:12px}@media (width<=760px){.brand-name{display:none}.tabs button{padding:7px 9px}.topbar .ghost{white-space:nowrap;padding:7px 10px}}.icon-button{place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:18px;height:18px}.icon-button[aria-current=true]{border-color:var(--work)}.settings{gap:24px;max-width:420px;margin-top:28px;display:grid}.settings h2{margin:0;font-size:20px;font-weight:600}.settings h3{color:var(--work);margin:0;font-size:15px}.settings .ghost{justify-self:start}.form-ok{color:var(--ok);margin:0}.prism.glass-tower .face-t{fill:oklch(42% .03 240)}.prism.glass-tower .face-l{fill:oklch(30% .04 240)}.prism.glass-tower .face-r{fill:oklch(24% .035 240)}.prism.studio .face-t{fill:oklch(30% .01 255)}.prism.studio .face-l{fill:oklch(22% .01 255)}.prism.studio .face-r{fill:oklch(19% .01 255)}.iso .glass{fill:oklch(30% .03 230);stroke:oklch(45% .03 230);stroke-width:.6px}.iso .glass.lit{fill:oklch(86% .12 85);filter:drop-shadow(0 0 6px oklch(82% .145 78/.6))}.iso .door{fill:oklch(18% .01 255)}.iso .awning polygon{stroke:oklch(13% .01 255/.4);stroke-width:.4px}.iso .sign-plate{fill:#f6f3ee;stroke:oklch(13% .01 255/.5);stroke-width:.03px}.iso .tree line{stroke:oklch(45% .05 60);stroke-width:1.6px}.iso .tree circle{fill:oklch(55% .11 150)}.iso .balloon line{stroke:oklch(85% .01 255);stroke-width:.8px}.iso .balloon{animation:3.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)}}.iso .pole-glass{fill:#f1f1f1}.iso .arch{fill:oklch(32% .04 70)}.iso .arch.lit{fill:oklch(86% .12 85)}.iso .spire{stroke:oklch(85% .1 85);stroke-width:1.6px}.iso .neon{letter-spacing:.02em;filter:drop-shadow(0 0 6px);font-weight:700;animation:4s step-end infinite neon}@keyframes neon{0%,92%,to{opacity:1}93%{opacity:.35}95%{opacity:1}96%{opacity:.5}}.iso .radar .dish{fill:oklch(30% .02 255);stroke-width:1.6px}.iso .radar line{stroke-width:1.6px}.iso .radar .pulse{fill:none;stroke-width:1.4px;transform-origin:0 0;animation:2.6s ease-out infinite pulse}.iso .radar .pulse.late{animation-delay:1.3s}@keyframes pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(5)}}.iso .rolldoor polygon{fill:oklch(55% .01 255);stroke:oklch(35% .01 255);stroke-width:.5px}.iso .searchlight path{opacity:.22;transform-origin:0 0;mix-blend-mode:screen;animation:7s ease-in-out infinite alternate sweep}@keyframes sweep{0%{transform:rotate(-18deg)}to{transform:rotate(160deg)}}.iso .crane .jib{transform-box:fill-box;transform-origin:100%}.iso .siren path{fill:oklch(68% .2 27/.16);mix-blend-mode:screen}.iso .siren{transform-origin:0 0;animation:2.4s linear infinite siren}@keyframes siren{to{transform:rotate(360deg)}}.iso .bubble{animation:2.4s ease-in-out infinite bob}.iso .car .headlight{fill:oklch(97% .05 90)}.iso .car .glow{fill:oklch(90% .12 85/.22)}.iso .fresh-ring{fill:none;stroke:var(--work);stroke-width:2px;animation:1.8s ease-out infinite fresh}@keyframes fresh{50%{stroke-opacity:.2}}.iso .fresh-tag rect{fill:var(--work)}.iso .fresh-tag text{fill:oklch(20% .03 78);font-size:11px;font-weight:700}.iso .plot .bld{transition:transform .22s var(--ease-out);animation:rise .7s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 70ms + .12s)}@keyframes rise{0%{opacity:0;transform:translateY(40px)}}.iso .plot:hover .bld,.iso .plot:focus-visible .bld{transform:translateY(-5px)}.plant{background:radial-gradient(60% 40% at 50% 0,oklch(30% .06 265/.55),#0000 70%),radial-gradient(1px 1px at 12% 18%,oklch(95% 0 0/.8),#0000),radial-gradient(1px 1px at 28% 8%,oklch(95% 0 0/.6),#0000),radial-gradient(1.5px 1.5px at 46% 14%,oklch(95% 0 0/.7),#0000),radial-gradient(1px 1px at 63% 6%,oklch(95% 0 0/.5),#0000),radial-gradient(1px 1px at 78% 20%,oklch(95% 0 0/.7),#0000),radial-gradient(1.5px 1.5px at 91% 10%,oklch(95% 0 0/.6),#0000);border-radius:18px;position:relative}.since{border-radius:var(--radius);animation:panel-in .3s var(--ease-out);background:oklch(82% .145 78/.1);border:1px solid oklch(82% .145 78/.4);margin-top:14px;padding:12px 40px 12px 14px;position:relative}.since b{color:var(--work)}.since ul{gap:4px;margin:6px 0 0;padding-left:18px;display:grid}.since li button{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.since-close{color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}@media (prefers-reduced-motion:reduce){.iso .cars,.iso .siren{display:none}.iso .balloon,.iso .bubble,.iso .neon,.iso .radar .pulse,.iso .searchlight path,.iso .fresh-ring,.iso .plot .bld{animation:none}}.collect{align-items:center;gap:8px;display:inline-flex}.collect svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.collect svg[data-spin=true]{animation:1s linear infinite siren}@media (width>=761px){.plant .iso{max-height:calc(100dvh - 130px)}}@media (width<=760px){.collect span{display:none}.collect{justify-content:center;width:36px;height:36px;padding:0}}.iso .unfinished{filter:grayscale(.9)brightness(.62);opacity:.9}.iso .unfinished .searchlight,.iso .unfinished .radar .pulse,.iso .unfinished .balloon{display:none}.inside{animation:enter .42s var(--ease-out);margin-top:18px}@keyframes enter{0%{opacity:0;filter:blur(6px);transform:scale(.92)}}.inside-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.inside-head h2{margin:0;font-size:20px;font-weight:600}.inside-head small{color:var(--muted);font-size:14px;font-weight:400}.room{width:100%;height:auto;max-height:calc(100dvh - 300px);margin-top:8px;display:block}.room .floor{fill:oklch(24% .012 255);stroke:oklch(30% .012 255)}.room .wall{stroke:oklch(13% .01 255/.5)}.prism.desk .face-t{fill:oklch(62% .05 70)}.prism.desk .face-l{fill:oklch(48% .05 70)}.prism.desk .face-r{fill:oklch(40% .05 70)}.prism.monitor .face-t,.prism.monitor .face-l,.prism.monitor .face-r{fill:oklch(16% .01 255)}.room .screen{fill:oklch(25% .02 255)}.room .screen.on{filter:drop-shadow(0 0 5px);animation:1.4s steps(2,end) infinite screen}@keyframes screen{50%{opacity:.65}}.room .night-window polygon{fill:oklch(22% .05 265);stroke:oklch(45% .02 255);stroke-width:2px}.room .star{fill:oklch(95% 0 0)}.worker .head{fill:oklch(80% .06 60)}.worker .hair{fill:oklch(25% .03 50)}.worker .shadow{fill:oklch(0% 0 0/.35)}.worker .arm{stroke-width:4px;stroke-linecap:round;transform-origin:6px -18px;animation:.9s ease-in-out infinite alternate wave}@keyframes wave{to{transform:rotate(-24deg)}}.worker .body{animation:1.6s ease-in-out infinite type}.worker[data-mood=alarm] .body,.worker[data-mood=warn] .body{animation:1.1s ease-in-out infinite jump}@keyframes type{50%{transform:translateY(-1.5px)}}@keyframes jump{50%{transform:translateY(-5px)}}.room .role{fill:var(--muted);font-size:11px;font-weight:600}.say rect,.say path{fill:oklch(95% .005 255)}.say text{fill:oklch(20% .01 255);font-size:11.5px;font-weight:600}.say[data-mood=alarm] rect,.say[data-mood=alarm] path{fill:var(--alarm)}.say[data-mood=alarm] text{fill:#fff}.say[data-mood=warn] rect,.say[data-mood=warn] path{fill:var(--watch)}.say[data-mood=alarm]{animation:1.2s ease-in-out infinite bob}.crew-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.crew-list li{border-radius:var(--radius);background:var(--floor);grid-template-columns:12px 120px 1fr;align-items:baseline;gap:10px;padding:10px 12px;display:grid}.crew-list li[data-mood=alarm]{background:var(--alarm-wash);border:1px solid oklch(68% .2 27/.5)}.crew-list i{border-radius:50%;width:10px;height:10px}.crew-list span{color:var(--muted)}.crew-list li[data-mood=alarm] span{color:var(--ink)}@media (width<=760px){.room{max-height:none}.crew-list li{grid-template-columns:12px 1fr}.crew-list span{grid-column:2}}@media (prefers-reduced-motion:reduce){.inside,.worker .body,.worker .arm,.room .screen.on,.say[data-mood=alarm]{animation:none}}@media (width<=1099px){.shell[data-inline-panel=true] .panel{width:auto;height:auto;box-shadow:none;border-left:0;border-top:1px solid var(--rule);animation:none;position:static}}.inside-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);align-items:center;gap:20px;display:grid}.inside-body .crew-list{margin:0}.say text{font-size:15px;font-weight:800}.say .dots circle{fill:oklch(35% .01 255);animation:1.2s ease-in-out infinite dots}.say .dots circle:nth-child(2){animation-delay:.2s}.say .dots circle:nth-child(3){animation-delay:.4s}@keyframes dots{50%{opacity:.25}}.say[data-mood=ok] text{fill:oklch(45% .12 158)}.say[data-mood=warn] text{fill:oklch(25% .05 95)}@media (width<=1100px){.inside-body{grid-template-columns:minmax(0,1fr)}}.visitors{gap:16px;margin-top:28px;display:grid}.visitors h2{margin:0;font-size:20px;font-weight:600}.visitors>.muted{max-width:68ch}.visitor-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.visitor-card{border-radius:var(--radius);background:var(--floor);padding:16px}.visitor-card h3{margin:0 0 10px;font-size:16px;font-weight:600}.site-visitors{gap:10px;display:grid}.people{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.people div{display:grid}.people dt{color:var(--muted);font-size:12.5px}.people dd{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600}.bars{width:100%;height:64px;display:block}.small{font-size:13px}.tops{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.top h4{color:var(--muted);margin:0 0 6px;font-size:12.5px;font-weight:600}.top ol{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.top li{justify-content:space-between;gap:8px;display:flex}.top li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=760px){.tabs{overflow-x:auto}}:root[data-phase=day]{--bg:oklch(97.5% .008 85);--floor:oklch(94.5% .012 85);--floor-hi:oklch(90.5% .016 85);--rule:oklch(86% .016 85);--ink:oklch(24% .025 262);--muted:oklch(45% .022 262);--dim:oklch(62% .016 262);--work:oklch(60% .16 52);--work-dim:oklch(60% .16 52/.14);--alarm:oklch(56% .21 27);--alarm-wash:oklch(56% .21 27/.09);--watch:oklch(72% .15 78);--ok:oklch(55% .13 158);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.city-wrap{--sky-a:#9fd3ff;--sky-b:#e9f6ff;--sky-c:#fff4df;--park:oklch(80% .13 136);--park-edge:oklch(60% .08 60);--park-edge-2:oklch(50% .07 55);--asphalt:oklch(50% .02 255);--lane:oklch(98% 0 0/.85);--curb-t:oklch(92% .012 85);--curb-l:oklch(80% .016 80);--curb-r:oklch(72% .018 75);--lawn:oklch(74% .15 140);--lot:oklch(62% .014 255);--path:oklch(89% .035 78);--hall-t:oklch(95% .03 80);--hall-l:oklch(80% .08 52);--hall-r:oklch(68% .09 45);--vent-t:oklch(86% .01 255);--vent-l:oklch(74% .012 255);--vent-r:oklch(64% .014 255);--glass-t:oklch(84% .05 225);--glass-l:oklch(68% .09 235);--glass-r:oklch(57% .09 240);--win:oklch(80% .07 225);--win-lit:oklch(85% .12 85);--edge:oklch(30% .03 260/.22);--shadow:oklch(20% .03 260/.16);--crown-a:oklch(78% .17 134);--crown-b:oklch(62% .16 142);--pine:oklch(50% .11 160);--pine-lit:oklch(60% .12 155);--trunk:oklch(45% .07 55);--card:oklch(100% 0 0/.94);--card-ink:oklch(24% .025 262);--card-soft:oklch(46% .02 262);--card-edge:oklch(25% .03 262/.12);--lamp-glow:0;--beam:0;background:linear-gradient(180deg, var(--sky-a) 0%, var(--sky-b) 48%, var(--sky-c) 100%);height:clamp(440px,100dvh - 300px,980px);transition:background .6s var(--ease-out);isolation:isolate;border-radius:22px;position:relative;overflow:hidden}.city-wrap[data-phase=evening]{--sky-a:#4b3b7a;--sky-b:#e4789a;--sky-c:#ffc178;--park:oklch(62% .11 128);--park-edge:oklch(45% .07 45);--park-edge-2:oklch(37% .06 40);--asphalt:oklch(38% .03 300);--lane:oklch(95% .03 80/.75);--curb-t:oklch(76% .04 50);--curb-l:oklch(64% .05 45);--curb-r:oklch(55% .05 40);--lawn:oklch(58% .12 132);--lot:oklch(46% .03 300);--path:oklch(74% .06 60);--hall-t:oklch(82% .06 55);--hall-l:oklch(64% .1 40);--hall-r:oklch(50% .09 330);--vent-t:oklch(70% .03 330);--vent-l:oklch(58% .03 330);--vent-r:oklch(48% .03 320);--glass-t:oklch(72% .08 20);--glass-l:oklch(55% .1 330);--glass-r:oklch(44% .1 300);--win:oklch(55% .06 320);--win-lit:oklch(86% .15 80);--edge:oklch(20% .04 300/.3);--shadow:oklch(20% .06 300/.25);--crown-a:oklch(60% .13 120);--crown-b:oklch(46% .11 140);--pine:oklch(38% .08 165);--pine-lit:oklch(46% .09 150);--trunk:oklch(36% .06 40);--card:oklch(99% .01 60/.94);--lamp-glow:.55;--beam:.3}.city-wrap[data-phase=night]{--sky-a:#070b1f;--sky-b:#121a3d;--sky-c:#26306a;--park:oklch(32% .05 165);--park-edge:oklch(26% .03 260);--park-edge-2:oklch(20% .03 260);--asphalt:oklch(24% .02 265);--lane:oklch(85% .03 90/.45);--curb-t:oklch(42% .025 265);--curb-l:oklch(33% .025 265);--curb-r:oklch(27% .025 265);--lawn:oklch(34% .07 155);--lot:oklch(29% .02 265);--path:oklch(45% .03 70);--hall-t:oklch(50% .035 265);--hall-l:oklch(38% .05 280);--hall-r:oklch(30% .045 280);--vent-t:oklch(45% .02 265);--vent-l:oklch(36% .02 265);--vent-r:oklch(29% .02 265);--glass-t:oklch(42% .05 250);--glass-l:oklch(31% .06 255);--glass-r:oklch(25% .05 260);--win:oklch(26% .03 260);--win-lit:oklch(86% .16 82);--edge:oklch(8% .02 265/.55);--shadow:oklch(0% 0 0/.3);--crown-a:oklch(42% .09 150);--crown-b:oklch(32% .08 160);--pine:oklch(27% .06 170);--pine-lit:oklch(34% .07 165);--trunk:oklch(28% .04 50);--card:oklch(22% .03 265/.92);--card-ink:oklch(96% .01 265);--card-soft:oklch(78% .02 265);--card-edge:oklch(100% 0 0/.12);--lamp-glow:1;--beam:.55}.sky{z-index:-1;pointer-events:none;position:absolute;inset:0}.sky .sun{width:72px;height:72px;transition:transform .8s var(--ease-out), background .6s;background:radial-gradient(circle,#fff7d6 0 40%,#ffd76a 60%,#0000 72%);border-radius:50%;position:absolute;top:7%;right:11%;box-shadow:0 0 80px 30px oklch(95% .12 90/.45)}.city-wrap[data-phase=evening] .sun{background:radial-gradient(circle,#ffe0a8 0 38%,#ff8a4c 62%,#0000 74%);transform:translateY(150px)scale(1.25);box-shadow:0 0 120px 50px oklch(75% .18 40/.45)}.city-wrap[data-phase=night] .sun{background:radial-gradient(circle at 38% 38%,#fbfbf2 0 58%,#d9dcc8 70%,#0000 72%);width:46px;height:46px;box-shadow:0 0 60px 18px oklch(90% .03 250/.22)}.city-wrap[data-phase=night] .sky{background:radial-gradient(1.4px 1.4px at 8% 14%,#fff,#0000),radial-gradient(1px 1px at 19% 30%,#fff,#0000),radial-gradient(1.6px 1.6px at 33% 9%,#fff,#0000),radial-gradient(1px 1px at 47% 22%,#fff,#0000),radial-gradient(1.3px 1.3px at 58% 6%,#fff,#0000),radial-gradient(1px 1px at 69% 28%,#fff,#0000),radial-gradient(1.5px 1.5px at 81% 17%,#fff,#0000),radial-gradient(1px 1px at 93% 33%,#fff,#0000),radial-gradient(1px 1px at 26% 44%,#fff8,#0000),radial-gradient(1px 1px at 74% 47%,#fff8,#0000)}.cloud{filter:blur(.5px);background:oklch(100% 0 0/.85);border-radius:26px;height:26px;animation:linear infinite drift;position:absolute}.cloud:before,.cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.cloud:before{width:46%;height:170%;bottom:10%;left:16%}.cloud:after{width:34%;height:140%;bottom:18%;right:14%}.cloud.c1{width:130px;animation-duration:95s;animation-delay:-20s;top:9%}.cloud.c2{opacity:.8;width:90px;animation-duration:120s;animation-delay:-70s;top:20%}.cloud.c3{opacity:.7;width:170px;animation-duration:140s;animation-delay:-105s;top:4%}.city-wrap[data-phase=evening] .cloud{background:oklch(85% .08 30/.7)}.city-wrap[data-phase=night] .cloud{background:oklch(40% .04 265/.45)}@keyframes drift{0%{transform:translate(-220px)}to{transform:translate(calc(100vw + 220px))}}.city{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:hidden}.city:active{cursor:grabbing}.city .prism .face-t,.city .prism .face-l,.city .prism .face-r{stroke:var(--edge);stroke-width:.6px}.city .earth-l{fill:var(--park-edge)}.city .earth-r{fill:var(--park-edge-2)}.city .park{fill:var(--park)}.city .asphalt{fill:var(--asphalt)}.city .lane{fill:none;stroke:var(--lane);stroke-width:1.2px;stroke-dasharray:9 9}.city .zebra polygon{fill:var(--lane)}.city .prism.curb .face-t{fill:var(--curb-t)}.city .prism.curb .face-l{fill:var(--curb-l)}.city .prism.curb .face-r{fill:var(--curb-r)}.city .lawn{fill:var(--lawn)}.city .apron,.city .lot{fill:var(--lot)}.city .lot-line{fill:none;stroke:var(--lane);stroke-width:1px}.city .path{fill:var(--path)}.city .prism.hall .face-t{fill:var(--hall-t)}.city .prism.hall .face-l{fill:var(--hall-l)}.city .prism.hall .face-r{fill:var(--hall-r)}.city .prism.vent .face-t,.city .prism.foundation .face-t{fill:var(--vent-t)}.city .prism.vent .face-l,.city .prism.foundation .face-l{fill:var(--vent-l)}.city .prism.vent .face-r,.city .prism.foundation .face-r{fill:var(--vent-r)}.city .prism.glass-tower .face-t{fill:var(--glass-t)}.city .prism.glass-tower .face-l{fill:var(--glass-l)}.city .prism.glass-tower .face-r{fill:var(--glass-r)}.city .win polygon,.city .glass{fill:var(--win);filter:none}.city .win.lit polygon,.city .glass.lit{fill:var(--win-lit)}.city-wrap:not([data-phase=day]) .city .win.lit polygon,.city-wrap:not([data-phase=day]) .city .glass.lit{filter:drop-shadow(0 0 4px oklch(86% .16 82/.75))}.city-wrap[data-phase=night] .city .bld{filter:brightness(.8)saturate(.9)}.city .outline{fill:oklch(60% .16 52/.12);stroke:var(--work);stroke-width:1.4px;stroke-dasharray:5 4}.city .scaffold polyline,.city .crane polyline{fill:none;stroke:oklch(55% .03 255);stroke-width:1.3px}.city .crane .mast,.city .crane .jib polyline:first-child{stroke:#f5b301;stroke-width:2.6px}.city .crane .cable{stroke-width:.7px}.ctree .tshadow,.vehicle .vshadow,.walker .pshadow{fill:var(--shadow)}.ctree .trunk{fill:var(--trunk)}.ctree .crown-b{fill:var(--crown-b)}.ctree .crown-a{fill:var(--crown-a)}.ctree[data-tone="1"] .crown-b{fill:oklch(from var(--crown-b) l c calc(h - 22))}.ctree[data-tone="1"] .crown-a{fill:oklch(from var(--crown-a) l c calc(h - 30))}.ctree[data-tone="2"] .crown-b{fill:oklch(from var(--crown-b) calc(l - .04) c calc(h + 12))}.ctree.pine .crown-b{fill:var(--pine)}.ctree.pine .crown-a{fill:var(--pine-lit)}.streetlamp line{stroke:oklch(35% .02 260);stroke-width:1.6px}.streetlamp .bulb{fill:oklch(95% .08 90)}.streetlamp .pool{fill:oklch(90% .14 85/.32);opacity:var(--lamp-glow);transition:opacity .6s}.city-wrap:not([data-phase=day]) .streetlamp .bulb{filter:drop-shadow(0 0 5px oklch(92% .15 85))}.city .prism.cabin .face-t{fill:oklch(32% .03 255)}.city .prism.cabin .face-l{fill:oklch(55% .05 235)}.city .prism.cabin .face-r{fill:oklch(45% .05 240)}.city .prism.ladder .face-t{fill:oklch(85% .01 255)}.city .prism.ladder .face-l,.city .prism.ladder .face-r{fill:oklch(70% .01 255)}.headlamp{fill:oklch(97% .08 95)}.taillamp{fill:oklch(60% .22 27)}.vehicle .beam circle{fill:oklch(95% .12 90/.5);opacity:var(--beam)}.walker .legs{fill:oklch(30% .03 260)}.walker .skin{fill:oklch(80% .07 55)}.walker .stride{animation:.55s ease-in-out infinite alternate stride}@keyframes stride{to{transform:translateY(-1.4px)}}.city .smoke circle{fill:oklch(85% .01 255/.55);transform-box:fill-box;transform-origin:50%;animation:3.3s ease-out infinite smoke}.fire .flame{transform-box:fill-box;transform-origin:50% 100%;animation:.5s ease-in-out infinite alternate flicker}.fire .f1{fill:#ff7a1a;animation-delay:-.2s}.fire .f2{fill:#ff4d1a}.fire .f3{fill:#ffa31a;animation-delay:-.35s}.fire .core{fill:#ffe36b;transform-box:fill-box;transform-origin:50% 100%;animation:.35s ease-in-out infinite alternate flicker}.fire .flames{filter:drop-shadow(0 0 8px oklch(75% .2 45/.8))}@keyframes flicker{0%{transform:scaleY(.82)skew(-3deg)}to{transform:scale(.94,1.08)skew(4deg)}}.fire-smoke circle{fill:oklch(25% .01 260/.55);transform-box:fill-box;transform-origin:50%;animation:2.8s ease-out infinite soot}@keyframes soot{0%{opacity:.8;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-60px)scale(1.9)}}.site[data-lamp=red] .lawn{fill:oklch(from var(--lawn) calc(l - .06) calc(c * .6) 70)}.city .site{cursor:pointer;outline:none}.city .site .bld{transition:transform .24s var(--ease-out);animation:rise .7s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 60ms + .1s)}.city .site:hover .bld,.city .site:focus-visible .bld{transform:translateY(-6px)}.city .site:focus-visible .lawn{stroke:var(--work);stroke-width:2.5px}.city .fresh-ring{fill:none;stroke:var(--work);stroke-width:2.5px;animation:1.6s ease-in-out infinite fresh}.city .select-ring{fill:none;stroke:var(--work);stroke-width:2.5px}.station .bay{fill:oklch(93% .01 255);stroke:oklch(55% .02 255);stroke-width:.8px}.station .station-sign{fill:oklch(97% 0 0)}.station .station-num{fill:#c2412d;font-size:10px;font-weight:800}.station-siren circle{fill:oklch(70% .02 255)}.station-siren .halo{fill:none}.station-siren[data-on=true] circle{fill:#ff3b30}.station-siren[data-on=true] .halo{fill:oklch(65% .24 27/.4);animation:.8s ease-in-out infinite glow}.fire-engine .flash-a{fill:#ff3b30;animation:.5s step-end infinite flash}.fire-engine .flash-b{fill:#3b82f6;animation:.5s step-end infinite reverse flash}@keyframes flash{50%{opacity:.15}}.fire-run .water{fill:none;stroke:oklch(80% .1 230/.85);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:6 9;opacity:0}.fire-run[data-arrived=true] .water{opacity:1;animation:.5s linear infinite spray}@keyframes spray{to{stroke-dashoffset:-15px}}.plaque .stem{stroke:var(--card-soft);stroke-width:1px;stroke-dasharray:2 2}.plaque .card{cursor:pointer}.plaque .card rect:first-child{fill:var(--card);stroke:var(--card-edge);stroke-width:1px;filter:drop-shadow(0 4px 8px oklch(20% .03 260/.14))}.plaque .title{fill:var(--card-ink);font-size:13.5px;font-weight:700}.plaque .row{fill:var(--card-ink);font-size:11px;font-weight:500}.plaque .soft{fill:var(--card-soft)}.plaque .bar{fill:oklch(from var(--card-soft) l c h / .22)}.plaque .bar-fill,.plaque .dot{fill:var(--ok)}.plaque[data-lamp=amber] .dot{fill:var(--watch)}.plaque[data-lamp=off] .dot{fill:var(--dim)}.plaque[data-lamp=red] .dot,.plaque[data-lamp=red] .bar-fill{fill:var(--alarm)}.plaque[data-lamp=red] .card rect:first-child{stroke:var(--alarm);stroke-width:1.5px}.city[data-close=false] .plaque[data-lamp=green] .soft,.city[data-close=false] .plaque[data-lamp=off] .soft{opacity:.9}.fire-call{cursor:pointer;outline:none;animation:1.4s ease-in-out infinite bob}.fire-call rect{fill:var(--alarm);filter:drop-shadow(0 4px 10px oklch(56% .21 27/.45))}.fire-call:hover rect,.fire-call:focus-visible rect{fill:oklch(from var(--alarm) calc(l - .06) c h)}.fire-call:focus-visible rect{stroke:#fff;stroke-width:2px}.fire-call text{fill:#fff}.fire-call .why{opacity:.92;font-size:11px;font-weight:500}.fire-call .cta{font-size:11.5px;font-weight:700}.cam-tools{gap:6px;display:grid;position:absolute;bottom:14px;right:14px}.cam-tools button,.legend>button{border:1px solid var(--card-edge);background:var(--card);color:var(--card-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s var(--ease-out);border-radius:10px;font-weight:600;box-shadow:0 2px 10px oklch(20% .03 260/.12)}.cam-tools button{place-items:center;width:38px;height:38px;font-size:18px;display:grid}.cam-tools button:active,.legend>button:active{transform:scale(.96)}.cam-tools svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.legend{max-width:min(340px,100% - 80px);position:absolute;bottom:14px;left:14px}.legend>button{padding:8px 12px;font-size:13px}.legend ul{background:var(--card);color:var(--card-ink);border:1px solid var(--card-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:panel-in .2s var(--ease-out);border-radius:12px;gap:6px;margin:8px 0 0;padding:12px 14px 12px 28px;font-size:13px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0 14px;padding:0;list-style:none;display:grid}.kpis li>*{text-align:left;border:1px solid var(--rule);background:var(--floor);width:100%;height:100%;transition:border-color .15s var(--ease-out), transform .15s var(--ease-out);border-radius:14px;gap:2px;padding:12px 14px;display:grid}.kpis button:hover{border-color:var(--dim)}.kpis button:active{transform:scale(.98)}.kpi-label{color:var(--muted);font-size:12.5px;font-weight:500}.kpi-value{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.15}.kpi-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.kpis li[data-tone=alarm]>*{background:var(--alarm-wash);border-color:oklch(from var(--alarm) l c h / .5)}.kpis li[data-tone=alarm] .kpi-value{color:var(--alarm)}.kpis li[data-tone=watch] .kpi-value{color:oklch(from var(--watch) calc(l - .12) c h)}.kpis li[data-tone=ok] .kpi-value{color:var(--ok)}.tasks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.tasks li{border-radius:var(--radius);background:var(--bg);border:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.tasks li[data-status=late]{border-color:oklch(from var(--alarm) l c h / .55);background:var(--alarm-wash)}.tasks li[data-status=done] b{color:var(--muted);text-decoration:line-through}.task-main{gap:3px;min-width:0;display:grid}.task-main b{overflow-wrap:anywhere;font-weight:600}.task-main small{color:var(--muted);font-size:12.5px}.tasks li[data-status=late] .task-status{color:var(--alarm);font-weight:600}.task-bar{background:var(--floor-hi);border-radius:2px;height:4px;display:block;overflow:hidden}.task-bar i{background:var(--ok);border-radius:inherit;height:100%;transition:width .3s var(--ease-out);display:block}.tasks li[data-status=late] .task-bar i{background:var(--alarm)}.task-actions{gap:4px;display:flex}.ghost.small{padding:4px 8px;font-size:12.5px}.ghost.quiet{color:var(--muted);border-color:#0000}.task-form{gap:8px;margin-top:10px;display:grid}.task-form input,.task-form select{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--rule);border-radius:8px;min-width:0;padding:7px 10px}.task-form input:focus-visible,.task-form select:focus-visible{outline:2px solid var(--work);outline-offset:1px}.task-form-row{flex-wrap:wrap;gap:6px;display:flex}.task-form-row>*{flex:120px}.task-form-row .primary{flex:none}@media (width<=760px){.city-wrap{border-radius:16px;height:68dvh;margin-inline:-8px}.kpis{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:minmax(150px,46%);grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.kpis li{scroll-snap-align:start}.legend ul{font-size:12.5px}}@media (prefers-reduced-motion:reduce){.city .traffic,.city .walkers animateMotion{display:none}.cloud,.walker .stride,.fire .flame,.fire .core,.fire-smoke circle,.fire-call,.city .site .bld,.zz text,.fire-run[data-arrived=true] .water{animation:none}}.theme-button{position:relative}.theme-button svg{fill:none}.theme-button[data-phase=night] svg path{fill:currentColor;stroke:none}.auto-dot{background:var(--work);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;right:5px}.city .unfinished{filter:saturate(.35)brightness(1.08);opacity:.72}.office-wrap{--o-floor:oklch(86% .04 70);--o-plank:oklch(80% .045 65);--o-wall:oklch(96% .012 85);--o-wall-side:oklch(90% .016 80);--o-base:oklch(78% .02 70);--o-desk-t:oklch(93% .02 80);--o-desk-l:oklch(80% .03 70);--o-desk-r:oklch(70% .035 65);--o-chair:oklch(36% .02 260);--o-glass-a:#8ccaf5;--o-glass-b:#dff1ff;--o-sky-body:#ffd75e;--o-beam:.5;--o-lamp:0;--o-edge:oklch(30% .03 260/.18);--o-shadow:oklch(20% .03 260/.16);--o-board:oklch(99% 0 0);background:radial-gradient(120% 90% at 50% 10%,oklch(96% .03 90),oklch(90% .03 75));border-radius:22px;position:relative;overflow:hidden}:root[data-phase=evening] .office-wrap{--o-floor:oklch(62% .07 50);--o-plank:oklch(56% .07 45);--o-wall:oklch(82% .05 55);--o-wall-side:oklch(72% .06 45);--o-base:oklch(50% .05 40);--o-desk-t:oklch(80% .04 60);--o-desk-l:oklch(66% .05 50);--o-desk-r:oklch(56% .05 45);--o-glass-a:#4b3b7a;--o-glass-b:#ff9f6e;--o-sky-body:#ffb36b;--o-beam:.18;--o-lamp:.55;--o-edge:oklch(20% .04 300/.25);--o-shadow:oklch(15% .05 300/.25);background:radial-gradient(120% 90% at 50% 10%,oklch(55% .1 20),oklch(32% .08 300))}:root[data-phase=night] .office-wrap{--o-floor:oklch(34% .03 260);--o-plank:oklch(30% .03 260);--o-wall:oklch(42% .03 265);--o-wall-side:oklch(36% .03 265);--o-base:oklch(26% .02 265);--o-desk-t:oklch(55% .03 70);--o-desk-l:oklch(44% .03 65);--o-desk-r:oklch(37% .03 60);--o-chair:oklch(22% .02 260);--o-glass-a:#050a1f;--o-glass-b:#1d2a5c;--o-sky-body:#f4f4e8;--o-beam:0;--o-lamp:1;--o-edge:oklch(5% .02 265/.5);--o-shadow:oklch(0% 0 0/.35);--o-board:oklch(86% .01 265);background:radial-gradient(120% 90% at 50% 10%,oklch(26% .05 265),oklch(14% .03 265))}.office{width:100%;height:auto;max-height:calc(100dvh - 210px);font-family:inherit;display:block}.office .prism .face-t,.office .prism .face-l,.office .prism .face-r{stroke:var(--o-edge);stroke-width:.6px;stroke-linejoin:round}.office .floor{fill:var(--o-floor)}.office .plank{fill:none;stroke:var(--o-plank);stroke-width:1px}.office .rug{opacity:.55}.office .wall.back{fill:var(--o-wall)}.office .wall.side{fill:var(--o-wall-side)}.office .baseboard{fill:var(--o-base)}.office .sunbeam{fill:oklch(100% .06 95/.55);opacity:var(--o-beam)}.office .prism.desk .face-t{fill:var(--o-desk-t)}.office .prism.desk .face-l{fill:var(--o-desk-l)}.office .prism.desk .face-r{fill:var(--o-desk-r)}.office .prism.monitor .face-t,.office .prism.monitor .face-l,.office .prism.monitor .face-r{fill:oklch(20% .01 260)}.office .prism.keyboard .face-t{fill:oklch(32% .01 260)}.office .prism.mug .face-t{fill:oklch(45% .08 40)}.office .prism.mug .face-l,.office .prism.mug .face-r{fill:oklch(96% 0 0)}.office .prism.chair .face-t{fill:var(--o-chair)}.office .prism.chair .face-l{fill:oklch(from var(--o-chair) calc(l - .05) c h)}.office .prism.chair .face-r{fill:oklch(from var(--o-chair) calc(l - .09) c h)}.office .prism.counter .face-t{fill:oklch(95% .01 80)}.office .prism.counter .face-l{fill:oklch(55% .06 50)}.office .prism.counter .face-r{fill:oklch(46% .06 45)}.office .prism.machine .face-t,.office .prism.machine .face-l,.office .prism.machine .face-r{fill:oklch(28% .01 260)}.office .prism.potbox .face-t{fill:oklch(62% .1 45)}.office .prism.potbox .face-l{fill:oklch(54% .1 45)}.office .prism.potbox .face-r{fill:oklch(46% .09 45)}.office .pot .leaf{fill:oklch(58% .15 148)}.office .pot .leaf.b{fill:oklch(70% .17 138)}.office .pot .leaf.c{fill:oklch(64% .16 150)}.office .screen-off{fill:oklch(16% .01 260)}.office .screen.on{filter:drop-shadow(0 0 .06px oklch(90% .1 230))}:root[data-phase=night] .office .screen.on{filter:drop-shadow(0 0 4px oklch(85% .1 230/.8))}.office .screen .scroll{animation:3s steps(6,end) infinite code-scroll}@keyframes code-scroll{to{transform:translateY(-.13px)}}.office .screen .cursor{animation:1s step-end infinite flash}.office .pendant line{stroke:oklch(30% .01 260);stroke-width:1px}.office .pendant .shade{fill:oklch(30% .02 260)}.office .pendant .bulb{fill:oklch(95% .12 90);opacity:calc(.3 + var(--o-lamp))}.office .pendant .pool{fill:oklch(92% .13 88/.14);opacity:var(--o-lamp)}.office .board-face{fill:var(--o-board);stroke:oklch(55% .02 260);stroke-width:.05px}.office .board-head{fill:oklch(30% .02 260);font-size:.3px;font-weight:700}.office .board-more{fill:oklch(45% .02 260)}.office .sticky{filter:drop-shadow(.02px .03px oklch(0% 0 0/.2))}.office .clock-face{fill:oklch(99% 0 0);stroke:oklch(30% .02 260);stroke-width:.06px}.office .clock-tick{fill:oklch(30% .02 260)}.office .clock-hand{stroke:oklch(25% .02 260);stroke-linecap:round}.office .logo-plate{fill:oklch(99% 0 0);stroke:oklch(30% .02 260/.2);stroke-width:.02px}.office .door-leaf{fill:oklch(55% .07 55);stroke:oklch(35% .05 50);stroke-width:1px}.office .door-knob{fill:oklch(85% .1 85)}.office .side-window .glass{fill:var(--o-glass-a)}.office .side-window .sky-body{fill:var(--o-sky-body)}.office .side-window .frame{fill:none;stroke:oklch(96% .005 85);stroke-width:.08px}.office .steam path{fill:none;stroke:oklch(95% 0 0/.7);stroke-width:1.4px;stroke-linecap:round;animation:2.4s ease-out infinite steam}.office .steam path:nth-child(2){animation-delay:1.1s}@keyframes steam{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.office .person{cursor:pointer;transition:opacity .2s var(--ease-out);outline:none}.office .person[data-dimmed=true]{opacity:.55}.office .person .shadow{fill:var(--o-shadow)}.office .person .pick-ring{fill:none;stroke:var(--work);stroke-width:2.5px}.office .person:focus-visible .shadow{stroke:var(--work);stroke-width:2px}.office .person:hover .body{filter:brightness(1.08)}.office .person .hair{fill:oklch(28% .04 50)}.office .person .ear,.office .person .skin{fill:oklch(80% .07 55)}.office .person .eye{fill:oklch(20% .02 260)}.office .person .legs{fill:oklch(30% .03 260)}.office .person .cup{fill:oklch(97% 0 0)}.office .person .arm{stroke-width:4.5px;stroke-linecap:round;transform-box:fill-box;transform-origin:0 100%;animation:.8s ease-in-out infinite alternate wave}.office .person .typing{animation:1.4s ease-in-out infinite type}.office .person .jumping{animation:1s ease-in-out infinite jump}.office .tag-body rect{fill:oklch(99% 0 0);stroke:oklch(25% .03 260/.15);filter:drop-shadow(0 2px 4px oklch(20% .03 260/.18))}.office .tag-body .tag-tail{fill:oklch(99% 0 0)}.office .tag-name{fill:oklch(24% .02 262);font-size:11px;font-weight:700}.office .tag-dot{fill:oklch(55% .13 158)}.office .tag-glyph{fill:#fff;font-size:10px;font-weight:800}.office .tag .dots circle{fill:#fff;animation:1.2s ease-in-out infinite dots}.office .tag .dots circle:nth-child(2){animation-delay:.2s}.office .tag .dots circle:nth-child(3){animation-delay:.4s}.office .tag[data-tone=busy] .tag-dot{fill:oklch(60% .15 255)}.office .tag[data-tone=warn] .tag-dot{fill:oklch(72% .15 78)}.office .tag[data-tone=alarm] .tag-dot{fill:var(--alarm)}.office .tag[data-tone=alarm] rect,.office .tag[data-tone=alarm] .tag-tail{fill:var(--alarm);stroke:none}.office .tag[data-tone=alarm] .tag-name,.office .tag[data-tone=alarm] .tag-dot{fill:#fff}.office .tag[data-tone=alarm] .tag-glyph{fill:var(--alarm)}.office .tag[data-tone=alarm] .tag-body{animation:1.2s ease-in-out infinite bob}.office .tag-count circle{fill:var(--alarm);stroke:#fff;stroke-width:2px}.office .tag-count text{fill:#fff;font-size:10px;font-weight:800}.inside-meta{color:var(--muted)}.project-toggle{margin-left:auto}.inside-meta b{color:var(--alarm);font-weight:600}.inside-body{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;margin-top:14px}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid;box-shadow:inset 0 -3px oklch(0% 0 0/.15)}.chip{white-space:nowrap;background:oklch(from var(--ok) l c h / .14);color:var(--ok);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.chip[data-tone=busy]{color:oklch(55% .15 255);background:oklch(60% .15 255/.14)}.chip[data-tone=warn]{background:oklch(from var(--watch) l c h / .2);color:oklch(from var(--watch) calc(l - .18) c h)}.chip[data-tone=alarm]{background:var(--alarm);color:#fff}:root:not([data-phase=day]) .chip[data-tone=busy]{color:oklch(75% .12 255)}.team,.worker-card{background:var(--floor);border:1px solid var(--rule);animation:panel-in .22s var(--ease-out);border-radius:20px;gap:14px;padding:18px;display:grid}.team header h3,.worker-card h3{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:650}.team header p,.worker-card header p{color:var(--muted);margin:4px 0 0;font-size:13.5px}.team .late{color:var(--alarm)}.team ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.team li button{background:var(--bg);text-align:left;width:100%;transition:border-color .15s var(--ease-out), transform .15s var(--ease-out);border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.team li button:hover{border-color:var(--dim)}.team li button:active{transform:scale(.99)}.team li button[data-tone=alarm]{border-color:oklch(from var(--alarm) l c h / .5);background:var(--alarm-wash)}.team .who{min-width:0;display:grid}.team .who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.team .count{background:var(--alarm);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:grid}.team-form h4{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:600}.worker-card header{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.worker-card[data-tone=alarm]{border-color:oklch(from var(--alarm) l c h / .55)}.worker-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.worker-stats div{background:var(--bg);border-radius:12px;padding:10px 12px}.worker-stats dt{color:var(--muted);font-size:12px}.worker-stats dd{margin:0;font-size:22px;font-weight:700}.worker-stats div[data-bad=true] dd{color:var(--alarm)}.worker-progress{color:var(--muted);grid-template-columns:1fr auto;gap:6px;font-size:13px;display:grid}.worker-progress b{color:var(--ink)}.worker-progress .task-bar{grid-column:1/-1;height:6px}.worker-card .last-report{border-left:3px solid var(--work);background:var(--bg);border-radius:4px 12px 12px 4px;gap:2px;margin:0;padding:10px 14px;display:grid}.worker-card .last-report span{color:var(--muted);font-size:12px}@media (width<=1100px){.inside-body{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.office-wrap{border-radius:16px;margin-inline:-8px}.office{max-height:none}}@media (prefers-reduced-motion:reduce){.office .person .typing,.office .person .jumping,.office .person .arm,.office .screen .scroll,.office .steam path,.office .tag-body,.office .tag .dots circle{animation:none}}.worker-card .fix{justify-self:start}.office .tag-stem{stroke:oklch(99% 0 0/.7);stroke-width:1.2px;stroke-dasharray:2 2}.floor-head,.line{grid-template-columns:250px minmax(280px,1fr) minmax(220px,300px)}.line-name{grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:12px}.line-name>:not(.line-logo){grid-column:2}.line-logo{color:#fff;border-radius:11px;grid-row:1/span 3;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(0% 0 0/.08)}.line-logo img{object-fit:contain;background:#fff;width:100%;height:100%;padding:4px}.line-facts{color:var(--dim);font-size:12.5px}.line-facts[data-late=true]{color:var(--alarm)}.weekly{gap:18px;margin-top:24px;display:grid}.weekly-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;display:flex}.weekly-head h2{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:650}.weekly-head p{color:var(--muted);margin:4px 0 0}.weekly-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.weekly-tiles li{background:var(--floor);border:1px solid var(--rule);border-radius:16px;gap:4px;padding:14px 16px;display:grid}.weekly-tiles span{color:var(--muted);font-size:12.5px}.weekly-tiles b{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.1}.weekly-tiles li[data-tone=alarm]{background:var(--alarm-wash);border-color:oklch(from var(--alarm) l c h / .45)}.weekly-tiles li[data-tone=alarm] b{color:var(--alarm)}.weekly-tiles li[data-tone=ok] b{color:var(--ok)}.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.weekly-card{background:var(--floor);border:1px solid var(--rule);border-radius:18px;align-content:start;gap:12px;padding:18px;display:grid}.weekly-card.wide{grid-column:1/-1}.weekly-card[data-tone=alarm]{border-color:oklch(from var(--alarm) l c h / .45)}.weekly-card h3{margin:0;font-size:15px;font-weight:650}.weekly-card ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.weekly-card li{background:var(--bg);border-radius:12px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.weekly-card li[data-late=true]{background:var(--alarm-wash)}.weekly-card li[data-late=true] small{color:var(--alarm)}.weekly-card .mark{border-radius:3px;width:10px;height:10px}.weekly-card li>span{min-width:0;display:grid}.weekly-card li small{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px}.weekly-card small.inline{font-weight:400;display:inline}.weekly-card em{color:var(--muted);font-size:12.5px;font-style:normal}@media (width<=900px){.weekly-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.line-name{grid-template-columns:32px minmax(0,1fr)}.line-logo{width:32px;height:32px}}.line-name small.line-facts{white-space:normal;overflow:visible}.overview{background:var(--floor);border:1px solid var(--rule);border-radius:18px;gap:12px;padding:18px;display:grid}.overview-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0;display:grid}.overview-tiles div{align-content:start;gap:2px;display:grid}.overview-tiles dt{color:var(--muted);font-size:12.5px}.overview-tiles dd{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.1}.overview-tiles dd.word{font-size:18px;line-height:1.6}.overview .bars{height:80px}.delta{color:var(--muted);font-size:12px;font-weight:600}.delta.up{color:var(--ok)}.delta.down{color:var(--alarm)}.visitor-card header{grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:10px;margin-bottom:12px;display:grid}.visitor-card header .line-logo{grid-row:1/span 2;width:32px;height:32px}.visitor-card header h3{margin:0}.top li{background:linear-gradient(90deg, oklch(from var(--work) l c h / .14) var(--share,0%), transparent var(--share,0%));border-radius:4px;padding:1px 4px;position:relative}.ops{gap:12px;display:grid}.ops h3{margin:0}.ops h4{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600}.quick{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.quick-action{border:1px solid var(--rule);background:var(--bg);color:inherit;text-align:left;font:inherit;transition:border-color .15s var(--ease-out), transform .15s var(--ease-out);border-radius:12px;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.quick-action:hover{border-color:var(--work)}.quick-action:active{transform:scale(.98)}.quick-action b{font-size:13.5px;font-weight:650}.quick-action small{color:var(--muted);font-size:12px}.runs ul,.books{gap:8px;margin:0;padding:0;list-style:none;display:grid}.runs li{background:var(--work-dim);border:1px solid oklch(from var(--work) l c h / .35);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.run-head{justify-content:space-between;gap:10px;display:flex}.run-head span,.runs small{color:var(--muted);font-size:12.5px}.runs a{color:var(--work);font-weight:600}.book{border:1px solid var(--rule);background:var(--bg);border-radius:12px;overflow:hidden}.book[data-open=true]{border-color:var(--work)}.book-head{text-align:left;background:0 0;border:0;gap:2px;width:100%;padding:10px 12px;display:grid}.book-head:hover{background:var(--floor-hi)}.book-head small{color:var(--muted);font-size:12px}.launcher{animation:panel-in .2s var(--ease-out);gap:10px;padding:0 12px 12px;display:grid}.launcher .why{color:var(--muted);margin:0;font-size:13px}.launcher input{font:inherit;color:inherit;background:var(--floor);border:1px solid var(--rule);border-radius:8px;padding:8px 10px}.launcher input:focus-visible{outline:2px solid var(--work);outline-offset:1px}.steps{gap:6px;margin:0;padding-left:20px;font-size:13.5px;display:grid}.steps li small{color:var(--muted);font-size:12px;display:block}.message{background:var(--floor);border-left:3px solid var(--ok);border-radius:10px;gap:6px;padding:10px 12px;display:grid}.message span{color:var(--muted);font-size:12px}.message p{margin:0;font-size:13.5px}.message .ghost{justify-self:start}.launcher-actions{flex-wrap:wrap;gap:8px;display:flex}a.ghost.small{color:inherit;align-items:center;text-decoration:none;display:inline-flex}
