:root{--bg:#0f1218;--floor:#171c26;--panel:#1c2230;--line:#2a3242;--text:#e8ecf3;--muted:#8b94a7;--brand:#f4961e;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);height:100%;margin:0}button,input{font:inherit}.office{grid-template:"top top""key key""floor side"1fr/minmax(380px,42%) 1fr;gap:12px;height:100vh;padding:12px;display:grid;overflow:hidden}.topbar{background:var(--panel);border:1px solid var(--line);border-radius:14px;grid-area:top;align-items:center;gap:16px;padding:10px 16px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:20px}.topbar h1 span{color:var(--brand)}.goal{flex:1;gap:8px;display:flex}.goal input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;outline:none;flex:1;padding:10px 12px}.goal input:focus{border-color:var(--brand)}.btn{background:var(--brand);color:#1a1407;cursor:pointer;border:0;border-radius:10px;padding:10px 16px;font-weight:600}.btn--stop{color:#fff;background:#e74c3c}.toggle{color:var(--muted);align-items:center;gap:6px;font-size:14px;display:flex}.floor{background:radial-gradient(ellipse at 50% 0%, #f2b13414, transparent 60%), repeating-linear-gradient(90deg, transparent 0 58px, #ffffff06 58px 60px), var(--floor);border:1px solid var(--line);border-radius:14px;flex-direction:column;grid-area:floor;justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden}.pixel-canvas{image-rendering:pixelated;image-rendering:crisp-edges;aspect-ratio:22/13;background:#3a2b22;border-radius:8px;width:100%;height:auto;max-height:calc(100% - 40px);box-shadow:0 20px 60px -20px #000000b3,inset 0 0 0 2px #3a2b22}.legend{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.legend .pill{align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.legend .pill i{border-radius:2px;width:8px;height:8px;display:inline-block}.pill{background:var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal}.pill--thinking{color:#c6c3ff;background:#3b3a66}.pill--talking{background:color-mix(in srgb, var(--agent) 30%, #000);color:#fff}.pill--working{color:#9ed0ff;background:#2b4a66}.pill--done{color:#7cf0b0;background:#1f4d36}.side{overscroll-behavior:contain;flex-direction:column;grid-area:side;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.side>.panel{flex-shrink:0}.panel--log{flex:0 auto;max-height:45vh}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}.panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:13px}.panel--log{flex-direction:column;flex:1;min-height:0;display:flex}.panel--summary{border-color:#2ecc71}.panel--error{color:#ff9b91;border-color:#e74c3c}.muted{color:var(--muted);font-size:13px}.tasks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.task{background:var(--bg);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:grid}.task .dot{border-radius:50%;width:8px;height:8px}.task-owner{color:var(--muted);font-size:12px}.task--in_progress .task-title{color:#9ed0ff}.task--done .task-title{color:var(--muted);text-decoration:line-through}.task-detail{white-space:pre-wrap;color:var(--text);background:#0b0e14;border-radius:8px;grid-column:1/-1;max-height:240px;margin:4px 0 0;padding:10px;font-size:12px;overflow:auto}.log{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.msg{border-left:3px solid var(--agent);padding-left:10px}.msg strong{color:var(--agent);font-size:12px}.msg p{white-space:pre-wrap;margin:2px 0 0;font-size:13px;line-height:1.4}.msg--live p:after{content:"▍";animation:.8s step-end infinite cursor}@keyframes cursor{50%{opacity:0}}@media (max-width:980px){.office{grid-template:"top""key""floor""side"/1fr;height:auto;overflow:visible}.side{overflow:visible}.panel--log{max-height:none}}.needs-title{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin:12px 0 6px;font-size:12px}.needs{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.needs li{margin-bottom:4px}.panel--proposals.has-pending{border-color:var(--brand)}.panel h2 .count{background:var(--brand);color:#1a1407;letter-spacing:0;text-transform:none;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px}.notice{color:#7cf0b0;margin:0 0 8px;font-size:12px}.proposals{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.proposal{background:var(--bg);border-radius:10px;padding:8px 10px;font-size:13px}.proposal--applied{opacity:.7}.proposal--rejected{opacity:.5}.proposal-head{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.proposal-head:hover .proposal-title{color:var(--brand)}.proposal-head:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.proposal--closed{padding:8px 10px}.chev{color:var(--muted);flex-shrink:0;font-size:12px}.proposal-head .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.proposal-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;overflow:hidden}.proposal-title{flex:180px;min-width:0;font-size:13px;font-weight:600;line-height:1.3}.proposal-head .pill{white-space:nowrap;margin-left:auto}.proposal-head{flex-wrap:wrap}.brief{grid-template-columns:max-content 1fr;gap:3px 10px;margin:8px 0 0;font-size:12.5px;line-height:1.45;display:grid}.brief dt{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;padding-top:2px;font-size:11px;font-weight:600}.brief dd{color:var(--text);margin:0}.proposal-reason{color:var(--muted);margin:6px 0 0;font-size:11.5px;line-height:1.4}.proposal-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.btn--small{padding:6px 10px;font-size:12px}.btn--ghost{background:var(--line);color:var(--text)}.diff{background:#0b0e14;border-radius:8px;max-height:320px;margin:8px 0 0;padding:8px;font-size:11.5px;line-height:1.45;overflow:auto}.diff-line{white-space:pre-wrap;word-break:break-all}.diff-add{color:#7cf0b0;background:#2ecc7114}.diff-del{color:#ff9b91;background:#e74c3c14}.diff-ctx{color:var(--muted)}.keybar{background:var(--panel);border:1px solid var(--brand);color:var(--muted);border-radius:14px;flex-wrap:wrap;grid-area:key;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.keybar input{background:var(--bg);min-width:240px;color:var(--text);border:1px solid var(--line);border-radius:10px;outline:none;flex:1;padding:8px 12px}.keybar input:focus{border-color:var(--brand)}.key-error{color:#ff9b91}.server-action .sa-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 0 2px;font-size:11px}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;width:min(420px,100%);padding:28px 24px;display:flex;box-shadow:0 20px 60px -20px #000000b3}.login-card h1{letter-spacing:-.02em;margin:0;font-size:22px}.login-card h1 span{color:var(--brand)}.login-card .muted{margin:0;line-height:1.5}.login-form{flex-direction:column;gap:12px;margin-top:4px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-form input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;outline:none;padding:10px 12px}.login-form input:focus{border-color:var(--brand)}.login-form .btn{margin-top:4px}.login-form .btn:disabled{opacity:.6;cursor:default}.login-error{color:#ff9b91;margin:0;font-size:13px}.signout{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:6px 10px;font-size:12px}.signout:hover{color:var(--text);border-color:var(--muted)}.decided{color:var(--muted);align-self:center;margin-right:auto;font-size:12px}.pill--rejected{color:#ff9b91;background:#4d2a2a}.history{max-width:860px;padding:16px max(16px, env(safe-area-inset-left)) 48px max(16px, env(safe-area-inset-right));flex-direction:column;gap:18px;margin:0 auto;display:flex}.history-head{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.history-head h1{letter-spacing:-.02em;margin:0;font-size:24px}.history-head .muted{margin:0;line-height:1.5}.history-filters{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--panel);color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.chip--on{color:var(--text);border-color:var(--brand)}.chip-count{opacity:.7;margin-left:4px}.history-day h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:13px}.history-item{padding:10px 12px}.history-meta{color:var(--muted);margin:4px 0 0;font-size:12px}.history-what{margin:6px 0 0;font-size:13.5px;line-height:1.45}.reports{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.report{border-top:1px solid var(--line);padding-top:10px}.report:first-child{border-top:0;padding-top:0}.report-head{align-items:flex-start;gap:8px;display:flex}.report-goal{min-width:0;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:12px;display:-webkit-box;overflow:hidden}.report--running .report-goal{color:var(--text)}.report p{margin:6px 0 0;font-size:13px;line-height:1.5}.btn:disabled{opacity:.5;cursor:default}.panel-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.panel-toggle h2{flex:1;margin:0}.panel:not(.panel--min) .panel-toggle{margin-bottom:10px}.panel--min{padding:10px 14px}.panel--min.panel--log{flex:none}.panel-toggle:hover h2{color:var(--text)}.panel-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.panel .history-filters{margin-bottom:8px}.o3-wrap{flex:1 1 0;justify-content:center;align-self:stretch;align-items:flex-start;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.o3-stage{transform-origin:50% 0;perspective:2600px;perspective-origin:50% 15%;flex-shrink:0;position:relative}.o3-floor{transform-origin:50% 0;transform-style:preserve-3d;background:repeating-linear-gradient(90deg,#0000001a 0 1px,#0000 1px 40px),repeating-linear-gradient(0deg,#0000000f 0 1px,#0000 1px 40px),linear-gradient(#c7a16a,#b68b55);border-radius:6px;position:absolute;top:0;left:0;box-shadow:0 40px 80px -30px #000c}.o3-room{display:contents}.o3-face{transform-style:preserve-3d;backface-visibility:visible;position:absolute}.o3-carpet{box-shadow:inset 0 0 0 2px #0000001f}.o3-runner{background:linear-gradient(90deg,#7a5b8e,#8d6aa3 50%,#7a5b8e);box-shadow:inset 0 0 0 2px #00000026}.o3-lounge{background:#785a3c40}.o3-glass{box-sizing:border-box;background:#aad7ff38;border:1px solid #c8e6ff8c;border-bottom:3px solid #3a2b22}.o3-whiteboard{background:#f4f4f4;border:2px solid #ddd;box-shadow:inset 0 0 0 4px #fff,inset 10px -6px 0 -2px #e74c3c,inset 22px -6px 0 -2px #2ecc71,inset 34px -6px 0 -2px #3498db}.o3-shelf>.o3-face:first-child{background:repeating-linear-gradient(90deg,#c0392b 0 6px,#2980b9 6px 12px,#f1c40f 12px 18px,#27ae60 18px 24px)!important}.o3-rack .o3-face:nth-child(2){background:repeating-linear-gradient(0deg,#1a1f29 0 5px,#2ecc71 5px 6px,#1a1f29 6px 9px)!important}.o3-laptop{background:#2b3140;border-radius:2px;width:16px;height:10px;margin-left:-8px;position:absolute;top:4px;left:50%}.o3-laptop.on{background:#7fd1ff;box-shadow:0 0 10px 2px #7fd1ffb3}.o3-bill{transform-origin:50% 100%;transform-style:preserve-3d;position:absolute;top:0;left:0}.o3-plant{width:28px;height:34px}.o3-leaf{background:#2d8f4e;border-radius:50%/60% 60% 40% 40%;width:14px;height:18px;position:absolute;top:2px;left:7px}.o3-leaf.l2{background:#3aa65f;top:8px;left:0;transform:rotate(-35deg)}.o3-leaf.l3{background:#277f45;top:8px;left:14px;transform:rotate(35deg)}.o3-pot{background:sienna;border-radius:0 0 3px 3px;width:14px;height:10px;position:absolute;bottom:0;left:7px}.o3-plate{font:700 calc(9px / var(--s,1)) ui-monospace, Menlo, monospace;letter-spacing:.06em;text-transform:uppercase;color:#1a1410;white-space:nowrap;border-radius:3px;padding:2px 5px}.o3-char{image-rendering:pixelated}.o3-sprite{width:100%;height:100%;image-rendering:pixelated;background-repeat:no-repeat;background-size:100% 100%}.o3-tags{white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;gap:3px;padding-bottom:4px;display:flex;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.o3-name{font:600 calc(12px / var(--s,1)) ui-monospace, Menlo, monospace;color:#fff;background:#14100ed1;border-radius:4px;padding:2px 6px}.o3-char.is-seated .o3-name-title{display:none}.o3-task{font:600 calc(11px / var(--s,1)) ui-monospace, Menlo, monospace;border-radius:4px;padding:2px 6px}.o3-bubble{font:calc(12px / var(--s,1)) ui-sans-serif, system-ui, sans-serif;color:#1a1410;max-width:calc(200px / var(--s,1));white-space:normal;text-align:left;background:#fff;border-radius:8px;padding:6px 8px;line-height:1.3;box-shadow:0 4px 14px #0000004d}.o3-dots{gap:3px;display:flex}.o3-dots i{background:#fff;border-radius:1px;width:5px;height:5px;animation:.9s step-end infinite o3dot}.o3-dots i:nth-child(2){animation-delay:.3s}.o3-dots i:nth-child(3){animation-delay:.6s}@keyframes o3dot{0%,to{transform:translateY(0)}33%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.o3-dots i{animation:none}}.view-toggle{background:var(--line);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.view-toggle button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:12px}.view-toggle button[aria-pressed=true]{background:var(--panel);color:var(--text)}.running-line{background:color-mix(in srgb, var(--brand) 14%, var(--bg));border:1px solid color-mix(in srgb, var(--brand) 45%, var(--line));border-radius:10px;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;font-size:13px;display:flex}.running-line .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.spinner{border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.sim{height:100vh;padding:12px max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:12px;display:grid;overflow:hidden}.sim-head,.sim-floor{grid-area:auto/1}.sim-head{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 16px;display:flex}.sim-head h1{letter-spacing:-.02em;flex:1;min-width:0;margin:0;font-size:18px}.sim-head h1 .muted{font-size:13px;font-weight:400}.sim-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sim-clock{font-variant-numeric:tabular-nums}.sim-floor{min-height:0}.o3-char--toy{image-rendering:auto}.o3-char--toy .o3-sprite{image-rendering:auto;background-position:bottom;background-size:contain}@media (max-width:980px){.sim{height:auto;overflow:visible}}.o3-char--edge-l .o3-tags{align-items:flex-start;left:0;transform:none}.o3-char--edge-r .o3-tags{align-items:flex-end;left:auto;right:0;transform:none}.o3-bubble{width:max-content}
