:root{color-scheme:dark;--bg:#102b24;--panel:#132c26;--border:#3c5149;--text:#f2f5ef;--muted:#b4c4ba;--mint:#78e9ab;--amber:#f2c573;--red:#ffaba2;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a{color:var(--mint);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mint);outline-offset:3px}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}button svg{display:block}.office-app{height:100dvh;display:grid;grid-template-rows:54px minmax(0,1fr) 42px;overflow:hidden}.topbar{display:flex;align-items:center;gap:16px;padding:0 24px;background:#102b24;z-index:30;border-bottom:1px solid #365047}.brand{display:flex;align-items:center;gap:15px;font-size:22px;font-weight:650;letter-spacing:-.4px;color:var(--text);white-space:nowrap}.brand svg{width:32px;height:32px;color:var(--mint);stroke:none}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:36px}.menu summary::-webkit-details-marker{display:none}#navigation{padding-left:24px;border-left:1px solid #5a7968;margin-left:12px}h1{font-size:16px;font-weight:400;margin:0;white-space:nowrap}.menu-body{position:absolute;top:calc(100% + 10px);left:0;min-width:218px;background:#11271f;border:1px solid #486052;border-radius:8px;box-shadow:0 12px 36px #0005;padding:8px;z-index:50}.menu-body button{display:block;width:100%;text-align:left;background:transparent;padding:10px 12px;border-radius:5px}.menu-body button:hover,.menu-body button.active{background:#294336}.menu-body strong{display:block;font-size:12px;color:var(--muted);padding:10px 12px}.account .menu-body{left:auto;right:0}.account summary{padding:6px}.search{margin-left:auto;display:flex;align-items:center;gap:10px;width:280px;min-width:100px;height:35px;border:1px solid #486052;border-radius:9px;padding:0 12px;background:#1c352d}.search svg{width:18px;flex-shrink:0}.search input{width:100%;min-width:0;border:0;background:none;padding:5px 0;font-size:13px}.search input::placeholder{color:#c4d0c7}.icon-button,.top-action,.text-button{background:transparent;color:var(--text);padding:7px;border-radius:5px}.icon-button:hover,.top-action:hover,.text-button:hover{background:#294336}.icon-button{font-size:24px;line-height:22px}.top-action{font-size:12px;color:var(--muted)}.top-action[aria-pressed=true]{color:var(--amber)}.live-status{display:flex;align-items:center;gap:8px;white-space:nowrap;background:none;font-size:13px;padding:6px}.live-status i,.metric i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--mint);flex-shrink:0}.live-status.error i,.metric.unknown i{background:#aebcb5}.live-status.demo i,.metric.waiting i{background:var(--amber)}.metric.completed i{background:#6ad5e5}#workspace{position:relative;overflow:hidden;min-height:0;background:#1c3026}#office-viewport{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7d977e #193329;cursor:grab;touch-action:pan-x pan-y}#office-viewport.dragging{cursor:grabbing;user-select:none}#office-size{position:relative;margin:auto}#office-world{width:1600px;height:900px;position:absolute;transform-origin:top left;isolation:isolate}.office-background{position:absolute;width:100%;height:100%;inset:0;object-fit:fill;pointer-events:none;user-select:none}#paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.walk-trail{fill:none;stroke:#94edbd;stroke-width:5;stroke-dasharray:4 14;stroke-linecap:round;opacity:.8}.label-leader{stroke:#edf6dc;stroke-width:1.2;opacity:.6}.scene-agent{position:absolute;width:124px;height:132px;margin-left:-62px;margin-top:-132px;background:none;padding:0;z-index:4;border-radius:50%;isolation:isolate}.scene-agent img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 5px 3px #35281955)}.scene-agent::after{content:'';position:absolute;z-index:-1;left:28px;right:22px;bottom:3px;height:20px;border-radius:50%;background:#342c2950;transform:rotate(-10deg)}.scene-agent.selected::after,.scene-agent:hover::after{background:#68ed9e44;outline:3px solid #9af2ba}.scene-agent.working img{animation:breathe 3.8s ease-in-out infinite;transform-origin:50% 90%}.scene-agent.walking img{animation:none}.nameplate{position:absolute;width:176px;min-height:70px;padding:7px 10px;background:#10231ff5;border:1px solid #668473;border-radius:7px;text-align:left;box-shadow:0 4px 10px #0003;z-index:10;color:#fff;font-size:12px;line-height:17px;cursor:pointer}.nameplate:hover,.nameplate.selected{border-color:#9bf5ba;background:#17392d;z-index:20}.nameplate strong{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;white-space:nowrap}.nameplate .name{overflow:hidden;text-overflow:ellipsis}.nameplate .status-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);flex-shrink:0}.nameplate.waiting .status-dot,.nameplate.interrupted .status-dot{background:var(--amber)}.nameplate.failed .status-dot{background:var(--red)}.nameplate.unknown .status-dot{background:#bac8c0}.nameplate.completed .status-dot{background:#6ad5e5}.nameplate .action,.nameplate .stage{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nameplate .stage{color:#cad6ca}.nameplate.waiting .stage,.nameplate.interrupted .stage{color:var(--amber)}.nameplate.failed .stage{color:var(--red)}.zone-overflow{position:absolute;z-index:12;background:#122a23;color:var(--text);border:1px solid #afc5b1;border-radius:6px;padding:7px 12px;font-size:13px}.notice{position:absolute;z-index:22;top:12px;left:50%;transform:translateX(-50%);max-width:min(720px,calc(100% - 32px));width:max-content;border-radius:6px;padding:8px 14px;background:#17352af2;font-size:12px;text-align:center;box-shadow:0 3px 14px #0003}.notice.demo{background:#342c19f5;color:#f3d191}.notice.error{background:#412b25f5;color:#ffc1b6}.scene-empty{position:absolute;bottom:22px;left:22px;z-index:15;max-width:300px;background:#142c25f5;border:1px solid #718a77;border-radius:8px;padding:16px;font-size:13px}.scene-empty strong{font-size:15px}.scene-empty p{margin:5px 0 12px;color:var(--muted)}.toolbar{position:absolute;top:12px;right:18px;width:280px;z-index:35;padding:18px;background:#152e25;border:1px solid #65816c;border-radius:8px;box-shadow:0 10px 35px #0005}.toolbar label{display:block;margin-bottom:12px;color:var(--muted);font-size:12px}input,select{background:#172d24;border:1px solid #526d5c;border-radius:6px;padding:10px}.toolbar select{width:100%;display:block;margin-top:6px}.secondary,.primary{display:inline-block;border:1px solid #698271;border-radius:6px;padding:9px 13px;background:#243c2f;color:var(--text);font-size:13px}.secondary:hover{background:#35513f}.primary{background:var(--mint);color:#142c22;font-weight:600;border-color:transparent}.text-button{color:var(--muted)}.statusbar{display:flex;align-items:center;gap:18px;padding:0 24px;background:#102b24;z-index:25;border-top:1px solid #355044;font-size:12px}.legend{display:flex;gap:22px;align-items:center}.metric{display:flex;gap:7px;align-items:center;white-space:nowrap;font-size:12px}.metric strong{font-size:12px;font-weight:400;color:#b8cdc0;font-variant-numeric:tabular-nums}.metric{background:none;padding:0}.metric:hover span{text-decoration:underline}#freshness{color:#b6c9bc;font-size:11px;margin-left:auto}.scene-controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.scene-controls button{background:transparent;color:var(--text);min-width:30px;height:30px;border-radius:5px;font-size:20px}.scene-controls button:hover{background:#294336}#zoom-fit{font-size:12px;min-width:48px;font-variant-numeric:tabular-nums}#fullscreen{margin-left:12px}.workspace-panel{position:absolute;inset:12px 12px 12px auto;width:min(1080px,calc(100% - 24px));z-index:23;background:#132a23f9;border:1px solid #647960;border-radius:10px;padding:24px;overflow:auto;box-shadow:0 10px 40px #0006}.panel-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header h2{font-size:23px;margin:0 0 4px}.panel-header p{margin:0;font-size:13px;color:var(--muted)}.source-note{font-size:12px;line-height:1.65;color:var(--muted)}.cards,.studio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.project-card,.source-card,.result-card,.studio-card{padding:20px;background:#1e352a;border:1px solid #455c49;border-radius:8px;min-width:0}.cards h3,.studio-card h3{font-size:16px;margin:0 0 10px;overflow-wrap:anywhere}.cards p,.studio-card p{font-size:13px;color:var(--muted);line-height:1.6}.project-card img{height:100px;width:100%;object-fit:contain}.result-card pre{font:13px/1.5 inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:hidden}.source-card code{display:block;font-size:12px;overflow-wrap:anywhere}.source-card .secondary,.source-card .primary{margin:5px 0}.badge{font-size:12px;color:var(--mint);line-height:1.4}.badge.waiting,.badge.interrupted{color:var(--amber)}.badge.failed{color:var(--red)}.badge.completed{color:#83dfeb}.badge.unknown{color:#bdc8c0}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:24px 0 12px}.section-heading h3{font-size:15px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:400;color:var(--muted);padding:10px}td{padding:12px 10px;border-top:1px solid #3b5141;max-width:260px;overflow-wrap:anywhere}td small{display:block;color:var(--muted);font-size:11px}.row-link{background:none;text-align:left;color:var(--text);padding:0}.row-link:hover{color:var(--mint)}dialog{position:absolute;inset:0 0 0 auto;margin:0;width:420px;max-width:100%;height:100%;max-height:100%;padding:24px;border:0;border-left:1px solid #657c68;background:#132a23;color:var(--text);z-index:40;box-shadow:-10px 0 35px #0005;overflow:auto}.close{position:sticky;float:right;right:0;top:0;width:32px;height:32px;border-radius:5px;font-size:25px;background:#2d4736;color:var(--text);z-index:2}.detail-top{display:flex;align-items:center;gap:10px;padding:14px 0 20px;clear:both}.detail-top img{width:70px;height:90px;object-fit:contain}.detail-top h2{font-size:21px;line-height:1.3;margin:0 0 6px;overflow-wrap:anywhere}.detail-top p{font-size:12px;color:var(--muted);margin:0 0 6px}.detail-section{border-top:1px solid #3d5544;margin-top:22px;padding-top:18px}.detail-section h3{font-size:14px;margin:0 0 10px}.detail-section p{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.plan{padding-left:22px;font-size:13px}.plan li{padding:6px 0}.plan .done{color:var(--mint)}.plan .current{color:var(--amber)}.result-text{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 system-ui;background:#0e211a;padding:13px;border-radius:6px;max-height:400px;overflow:auto;margin-bottom:12px}.event{display:flex;gap:12px;font-size:12px;margin:10px 0}.event time{font-variant-numeric:tabular-nums;color:var(--muted);flex-shrink:0}.artifact{margin-bottom:16px}.artifact img,.artifact video{display:block;max-width:100%;max-height:360px;object-fit:contain}.artifact audio{width:100%}.artifact a{display:block;font-size:12px;margin-top:6px;overflow-wrap:anywhere}.login{min-height:100dvh;display:grid;place-items:center;background:#102b24}.login-card{width:min(420px,calc(100% - 32px));padding:28px;border:1px solid #4d6957;border-radius:12px;background:#172e24;text-align:center}.login .brand{justify-content:center}.login-bot{height:160px;width:160px;object-fit:contain}.login h1{font-size:26px;white-space:normal}.login p{color:var(--muted);font-size:13px}.login form{display:grid;gap:12px;text-align:left;margin-top:24px}.login input{width:100%}.login-hint{font-size:12px!important}[hidden]{display:none!important}@keyframes breathe{50%{transform:translateY(-2px) rotate(.6deg)}}@media(max-width:1100px){.topbar{gap:10px;padding:0 16px}.brand{font-size:18px;gap:10px}#navigation{padding-left:14px;margin-left:0}.search{width:210px}.statusbar{gap:12px;padding:0 16px}.legend{gap:12px}#freshness{display:none}.scene-controls{margin-left:auto}.live-status span{display:none}.live-status{padding:8px}.metric{font-size:11px}}@media(max-width:700px){.office-app{grid-template-rows:94px minmax(0,1fr) 46px}.topbar{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:6px 10px;padding:6px 12px}.brand{font-size:17px;gap:8px}.brand svg{width:24px;height:24px}#navigation{padding-left:10px;border-left:0;justify-self:start}h1{font-size:13px}.menu summary{gap:5px;min-height:32px}.search{grid-row:2;grid-column:1/4;width:100%;height:36px;margin:0}#filters-toggle{grid-row:2;grid-column:4}.top-action{grid-row:2;grid-column:5;padding:8px}.live-status{grid-row:1;grid-column:4}.account{grid-row:1;grid-column:5}.statusbar{padding:0 10px;gap:8px}.legend{gap:8px}.metric{gap:4px}.metric span{display:none}.metric strong{font-size:12px}.metric i{width:8px;height:8px}.scene-controls{gap:0}#fullscreen{margin-left:4px}.notice{font-size:11px;top:8px;max-width:calc(100% - 16px)}.workspace-panel{inset:0;width:100%;border-radius:0;padding:16px}.cards,.studio-grid{grid-template-columns:minmax(0,1fr)}.panel-header h2{font-size:21px}.scene-empty{left:12px;bottom:12px;max-width:260px}.menu-body{min-width:190px}.account .menu-body{right:0}#navigation .menu-body{left:-100px}.toolbar{right:8px;top:8px}.scene-controls button{min-width:32px;height:36px}.topbar button,.menu-body button{min-height:34px}.close{width:38px;height:38px}.detail-top h2{font-size:20px}dialog{width:100%;padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:420px){.topbar{grid-template-columns:minmax(0,1fr) auto auto;gap:6px 8px}.brand{font-size:16px}#navigation{grid-column:2;padding:0}#navigation summary{width:32px;justify-content:center}#navigation h1{display:none}#navigation .menu-icon{display:block}#navigation summary>span{display:none}.account{grid-column:3}.live-status{display:none}.search{grid-column:1;min-width:0}#filters-toggle{grid-column:2}.top-action{grid-column:3}#navigation .menu-body{left:auto;right:-36px}.legend{gap:7px}.metric{gap:3px}#fullscreen{margin-left:0}.scene-controls button{min-width:28px}#zoom-fit{min-width:42px}}
.nameplate strong{gap:4px}.nameplate strong .name{max-width:45%;flex-shrink:1}.nameplate .project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:400}

.menu-icon{display:none}@media(max-width:420px){#navigation .menu-icon{display:block}}
/* Seated sprites face the workstation; only hands/head change between typing frames. */
.scene-agent.working img{animation:none}.typing-sprite{display:block;width:124px;height:132px;background-image:url('/assets/sprites/office-typing.png');background-size:400% 300%;background-position:0 0;transform:translateY(24px)}.typing-sprite[data-direction=right]{background-position-y:50%}.typing-sprite[data-direction=back]{background-position-y:100%}.scene-agent[data-motion=typing] .typing-sprite{animation:office-typing 1.1s step-end infinite}.scene-agent[data-motion=walking] img{animation:none}.scene-agent[data-motion=walking][data-facing=left] img,.scene-agent[data-motion=turning][data-facing=left] img{transform:scaleX(-1)}.extra-workstation{position:absolute;width:190px;height:190px;object-fit:contain;pointer-events:none;z-index:3}.scene-agent[data-motion=typing]::after,.scene-agent[data-motion=resting]::after{opacity:.35}@keyframes office-typing{0%,100%{background-position-x:0}25%{background-position-x:33.333333%}50%{background-position-x:66.666667%}75%{background-position-x:100%}}@media(prefers-reduced-motion:reduce){.scene-agent[data-motion=typing] .typing-sprite{animation:none}}

.scene-agent[data-zone=development][data-slot="1"] .typing-sprite{clip-path:inset(0 0 40% 0)}
/* Match the keyboard heights baked into the office background. */
.scene-agent[data-zone=research]:is([data-slot="0"],[data-slot="1"]) .typing-sprite,.scene-agent[data-zone=publishing][data-slot="0"] .typing-sprite{transform:translateY(12px)}
.scene-agent[data-zone=development][data-slot="4"] .typing-sprite{transform:translate(-20px,0)}
.scene-agent[data-zone=studio][data-slot="0"] .typing-sprite{transform:translateY(10px)}
/* Readable controls and results stay in screen coordinates above the scene. */
.view-switch{position:absolute;left:12px;top:12px;z-index:26;display:flex;background:#102b24;border:1px solid #698271;border-radius:7px;padding:3px}.view-switch button{background:none;padding:8px 13px;border-radius:4px;min-height:36px}.view-switch button[aria-pressed=true]{background:#35513f;color:var(--mint)}.workspace-panel{top:66px}.notice{top:66px;z-index:27;pointer-events:none}.notice:not([hidden])~.workspace-panel{top:120px}.history-result{padding:12px 0}.history-result summary{cursor:pointer;margin-bottom:10px}.row-link{font-size:14px;min-height:32px}.badge{display:inline-block;max-width:260px}.table-wrap td{font-size:13px}.metric.failed i{background:var(--red)}
@media(max-width:700px){.workspace-panel{top:62px}.notice:not([hidden])~.workspace-panel{top:124px}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%;max-width:none}.table-wrap thead{display:none}.table-wrap tr{border:1px solid #486052;padding:10px;border-radius:8px;margin-bottom:10px}.table-wrap td{border:0;padding:4px;font-size:14px}.table-wrap td:nth-child(2)::before{content:'Задача: ';color:var(--muted)}.table-wrap td:nth-child(3)::before{content:'Сейчас: ';color:var(--muted)}.table-wrap td small{font-size:12px}.table-wrap .row-link{font-size:16px}.metric{min-height:36px}.view-switch button{min-height:40px}}
