:root,[data-theme=dark]{color-scheme:dark;--bg-page: #1c1917;--text: #e7e5e4;--text-muted: #a8a29e;--text-subtle: #78716c;--link: #fdba74;--border: #44403c;--border-strong: #57534e;--surface: #292524;--surface-raised: #1c1917;--surface-inset: #0c0a09;--stage-grid: #292524;--btn-bg: #292524;--btn-border: #57534e;--btn-text: #e7e5e4;--btn-hover: #44403c;--btn-active: #57534e;--focus-ring: #fdba74;--accent: #fdba74;--accent-on: #1c1917;--shadow: rgb(0 0 0 / .35);--bubble-user: #44403c;--bubble-agent-bg: #1c1917;--bubble-agent-text: #d6d3d1}[data-theme=light]{color-scheme:light;--bg-page: #fafaf9;--text: #1c1917;--text-muted: #57534e;--text-subtle: #78716c;--link: #c2410c;--border: #d6d3d1;--border-strong: #a8a29e;--surface: #f5f5f4;--surface-raised: #ffffff;--surface-inset: #e7e5e4;--stage-grid: #e7e5e4;--btn-bg: #f5f5f4;--btn-border: #d6d3d1;--btn-text: #1c1917;--btn-hover: #e7e5e4;--btn-active: #d6d3d1;--focus-ring: #ea580c;--accent: #ea580c;--accent-on: #fff7ed;--shadow: rgb(28 25 23 / .12);--bubble-user: #e7e5e4;--bubble-agent-bg: #ffffff;--bubble-agent-text: #44403c}:root{color:var(--text);background:var(--bg-page);font-family:Segoe UI,sans-serif;line-height:1.45}body{margin:0}button{font:inherit;cursor:pointer;color:var(--btn-text);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:8px;padding:.4rem .75rem;line-height:1.2;transition:background .12s ease,border-color .12s ease}button:hover{background:var(--btn-hover)}button:active{background:var(--btn-active)}button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.page{max-width:72rem;margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.page-top{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center;margin-bottom:.4rem}.theme-toggle{flex-shrink:0}.identity,.vcs{display:flex;gap:.5rem;align-items:center;margin:0}.identity a,.vcs a{color:var(--link)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;color:var(--text-muted)}h1{margin:.2rem 0 .6rem;font-size:2rem}.lede{max-width:46rem}.harness{display:flex;gap:.75rem;align-items:center;margin:1rem 0;padding:.6rem .75rem;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:.9rem}.facsimile{display:flex;flex-direction:column;height:640px;margin:8px;border:1px solid var(--border);border-radius:12px;overflow:hidden;overscroll-behavior:contain;background:var(--surface-inset)}.caption{display:flex;gap:.35rem;align-items:center;padding:.45rem .75rem;background:var(--surface);border-bottom:1px solid var(--border)}.caption span{width:.7rem;height:.7rem;border-radius:999px;background:var(--border-strong)}.caption strong{margin-inline-start:.75rem}.desk{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;overscroll-behavior:contain;background:var(--surface-inset)}.desk-bar{display:flex;justify-content:space-between;align-items:center;padding:.45rem .75rem;border-bottom:1px solid var(--border);background:var(--surface-raised)}.view-tools{display:flex;gap:.35rem;align-items:center}.view-tools button{min-width:2rem;padding:.35rem .5rem}.view-tools button[aria-label="Zoom to 100 percent"]{min-width:3.1rem;font-size:.72rem}.zoom-readout{min-width:3rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.archive-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .5rem}.archive-count{position:absolute;top:-.15rem;right:-.15rem;min-width:1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:var(--accent-on);font-size:.65rem;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.stage{position:relative;flex:1;width:100%;min-height:0;overscroll-behavior:contain;overflow:hidden;background:linear-gradient(var(--stage-grid) 1px,transparent 1px),linear-gradient(90deg,var(--stage-grid) 1px,transparent 1px);background-size:32px 32px;touch-action:none;cursor:grab}.stage:active{cursor:grabbing}.stage,.stage .world,.stage .world *{user-select:none;-webkit-user-select:none}.stage .chat-popup .chat-thread-shell,.stage .chat-popup .chat-thread-shell *{user-select:text;-webkit-user-select:text}.stage .chat-popup .chat-popup-chrome,.stage .chat-popup .chat-popup-chrome *{user-select:none;-webkit-user-select:none}.stage-modal-open,.stage-modal-open:active{cursor:default}.canvas-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;margin:0;padding:0;border:none;border-radius:0;background:#0c0a0973;cursor:default}[data-theme=light] .canvas-scrim{background:#1c191733}.chat-popup{position:absolute;z-index:50;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-raised);box-shadow:0 22px 48px var(--shadow)}.chat-popup-chrome{display:flex;gap:.35rem;align-items:center;padding:.45rem .55rem;border-bottom:1px solid var(--border);background:var(--surface)}.chat-popup-drag{display:flex;flex:1;min-width:0;gap:.45rem;align-items:center;cursor:grab;touch-action:none}.chat-popup-drag:active{cursor:grabbing}.chat-popup-title{flex:1;min-width:0;font-size:.92rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-popup-drag .status-dot{flex-shrink:0}.chat-popup-actions{display:flex;flex-shrink:0;gap:.25rem;align-items:center}.chat-popup-popout{padding:.25rem .35rem;line-height:0;color:var(--text-muted)}.chat-popup-popout:hover{color:var(--text)}.chat-popup-close{flex-shrink:0;font-size:.72rem;padding:.25rem .55rem}.standalone-chat{display:flex;flex-direction:column;height:100vh;max-height:100vh;background:var(--bg-page);color:var(--text)}.standalone-chat-chrome{display:flex;gap:.5rem;align-items:center;padding:.65rem .85rem;border-bottom:1px solid var(--border);background:var(--surface)}.standalone-chat-chrome h1{margin:0;font-size:1rem;font-weight:600}.standalone-chat-chrome,.standalone-chat-chrome *{user-select:none;-webkit-user-select:none}.standalone-chat .chat-thread-shell,.standalone-chat .chat-thread-shell *{user-select:text;-webkit-user-select:text}.chat-thread-shell{display:flex;flex:1;flex-direction:column;min-height:0}.standalone-chat .chat-thread-shell{padding:.85rem}.chat-popup .chat-thread-shell{padding:.55rem .55rem .5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-source-open{outline:2px solid var(--link);outline-offset:2px}.stage-pan{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.world{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.world>*{pointer-events:auto}.edges{position:absolute;top:0;right:0;bottom:0;left:0;width:4000px;height:4000px;overflow:visible;pointer-events:none}.edges line{stroke:var(--accent);stroke-width:2}.card,.file-node{position:absolute;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 10px 24px var(--shadow);color:var(--text)}.card{display:flex;flex-direction:column;gap:.4rem;padding:.45rem .55rem .55rem}.card-title-bar{display:flex;gap:.4rem;align-items:flex-start;padding:.15rem 0 .4rem;margin:0;border-bottom:1px solid var(--border)}.card-title-row{display:flex;flex:1;min-width:0;gap:.25rem;align-items:center}.card-title-row h2{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title-row .title-edit{margin-left:0;flex-shrink:0}.card-footer{display:flex;gap:.35rem;align-items:center;justify-content:space-between;margin-top:.15rem;padding-top:.35rem;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-muted)}.card-footer-left{display:flex;gap:.4rem;align-items:center;min-width:0}.card-footer button{font-size:.72rem;padding:.25rem .5rem}.card-status-light{flex-shrink:0;width:.65rem;height:.65rem;padding:0;margin:0;border:none;border-radius:50%;background:transparent;cursor:pointer;line-height:0}.card-status-light:focus-visible{outline:2px solid var(--link);outline-offset:2px}.card h2,.card h3{margin:0;font-size:1.02rem;font-weight:600;line-height:1.35;cursor:inherit;color:var(--text);flex:1;min-width:0;-webkit-user-select:none;user-select:none}.card-title-row .title-edit{flex-shrink:0;margin-top:.12rem;margin-left:0;padding:.2rem .28rem;line-height:0;color:var(--text-muted)}.card-title-row .title-edit:hover{color:var(--text)}.title-input{flex:1;min-width:0;box-sizing:border-box;margin:0;padding:.25rem .4rem;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:1.02rem;font-weight:600;cursor:text;-webkit-user-select:text;user-select:text}.card p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--bubble-agent-text);font-size:.78rem}.card-preview{display:block;width:100%;margin:0;padding:.45rem .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--bubble-agent-bg);color:var(--bubble-agent-text);font-size:.78rem;line-height:1.4;text-align:left;cursor:pointer}.card-preview:hover{border-color:var(--link);background:var(--surface)}.preview-text{display:inline}.preview-ellipsis{display:inline-block;margin-left:.05em;animation:preview-ellipsis 1.2s ease-in-out infinite}@keyframes preview-ellipsis{0%,to{opacity:.35}50%{opacity:1}}.preview-snapshot{min-height:2.75rem}.bubble{margin:0;padding:.35rem .45rem;border-radius:8px;font-size:.72rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bubble.user{align-self:flex-end;max-width:85%;background:var(--bubble-user);color:var(--text)}.bubble.agent{align-self:flex-start;max-width:92%;background:var(--bubble-agent-bg);border:1px solid var(--border-strong);color:var(--bubble-agent-text)}.icon-button{margin-left:auto;padding:.25rem .35rem}.status-dot{width:.55rem;height:.55rem;border-radius:99px;background:currentColor}.status-dot.status-agentWorking{color:#4ade80;animation:status-ci-pulse 1.35s ease-in-out infinite}.status-dot.status-waitingOnCi{color:#4ade80}@keyframes status-ci-pulse{0%,to{opacity:1}50%{opacity:.28}}.status-dot.status-needsAttention{color:#facc15}.status-dot.status-read{color:transparent;box-shadow:inset 0 0 0 2px #9ca3af}.status-dot.status-agentError{color:#f87171}.status-dot.status-dirty{color:#a8a29e}.status-dot.status-needsAttentionDirty{color:transparent;background:linear-gradient(90deg,#facc15 50%,#a8a29e 50%)}.file-node{width:148px;padding:.45rem;font-size:.8rem}.file-node .port{margin-top:.35rem;width:100%}.history{margin:.4rem 0 0;padding-left:1rem;font-size:.75rem;color:var(--text-muted)}.chat-thread-expanded{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.5rem;padding:.1rem .05rem .35rem}.chat-thinking{opacity:.92;font-style:italic}.chat-composer{display:flex;flex-shrink:0;gap:.4rem;align-items:flex-end;padding-top:.35rem;border-top:1px solid var(--border)}.chat-composer textarea{flex:1;min-width:0;min-height:2.5rem;max-height:6rem;resize:vertical;padding:.4rem .5rem;font:inherit;font-size:.78rem;line-height:1.35;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px}.chat-composer textarea:disabled{opacity:.65}.chat-composer button{flex-shrink:0;font-size:.78rem;padding:.45rem .75rem}.chat-mock-disclaimer{flex-shrink:0;margin:.35rem 0 0;font-size:.68rem;line-height:1.35;color:var(--text-subtle)}.chat-thread-expanded .bubble{display:block;overflow:visible;-webkit-line-clamp:unset;max-width:88%}.chat-note{margin:.35rem 0 0;font-size:.75rem;color:var(--text-subtle)}.archive{position:absolute;top:42px;right:0;bottom:0;width:min(440px,100%);background:var(--surface-raised);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;z-index:20}.archive header,.view-switch{display:flex;justify-content:space-between;gap:.4rem;padding:.55rem .7rem;border-bottom:1px solid var(--border)}.view-switch button[aria-selected=true]{background:var(--btn-active);border-color:var(--border-strong)}.archive-body{position:relative;flex:1;overflow:auto;padding:.7rem}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.view-grid .card,.view-list .card{position:static}.view-list .card{margin-bottom:.45rem}.view-spatial{min-height:720px}
