:root{--bg: #1e1f22;--panel: #26282c;--panel2: #2f3136;--line: #3a3d43;--text: #e6e6e6;--muted: #9a9ea6;--accent: #e0a33a;--ok: #6cc070;--bad: #e06c6c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,.button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 10px;cursor:pointer;font:inherit;text-decoration:none}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#1b1b1b;border-color:var(--accent);font-weight:600}button.link{background:none;border:none;color:var(--muted);padding:4px 0;text-align:left}input,textarea,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit}pre{white-space:pre-wrap;word-break:break-word}.muted{color:var(--muted)}.small{font-size:12px}.center{display:grid;place-items:center;height:100%}.login{max-width:300px;margin:18vh auto;display:flex;flex-direction:column;gap:10px}.login h1{font-size:22px;margin:0 0 8px}.login-err{color:var(--bad)}.app{display:grid;grid-template-columns:var(--sidebar-width, 210px) 6px minmax(0,1fr);height:100%}.sidebar{background:var(--panel);padding:14px 12px;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.sidebar-head .brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toggle{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:4px;background:transparent;border-color:transparent;color:var(--muted)}.sidebar-toggle:hover:not(:disabled){background:var(--panel2);color:var(--text);border-color:transparent}.sidebar-collapsed .sidebar{padding-left:8px;padding-right:8px}.sidebar-collapsed .sidebar-head{justify-content:center}.sidebar-collapsed .brand,.sidebar-collapsed .new-project-label,.sidebar-collapsed .projects,.sidebar-collapsed .user-menu-label,.sidebar-collapsed .user-menu-chevron{display:none}.sidebar-collapsed .sidebar>.primary{padding:4px;min-height:36px;font-size:20px}.sidebar-collapsed .user-menu{margin-top:auto}.sidebar-collapsed .user-menu-trigger{justify-content:center;padding:3px}.sidebar-collapsed .user-avatar{width:28px;height:28px}.splitter{position:relative;width:6px;min-height:0;cursor:col-resize;touch-action:none;z-index:4;outline:none}.splitter:before{content:"";position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--line)}.splitter:hover:before,.splitter:focus-visible:before,.splitter.dragging:before{left:1px;width:3px;background:var(--accent)}.splitter[aria-disabled=true]{cursor:default;pointer-events:none}.panel-resizing,.panel-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.brand{font-weight:700;font-size:16px}.projects{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px}.project-item{display:flex;align-items:center;border-radius:6px}.project-link{display:flex;flex-direction:column;flex:1;min-width:0;padding:6px 8px;color:var(--text);text-decoration:none}.project-item:hover{background:var(--panel2)}.project-delete{background:none;border:none;color:var(--muted);padding:4px 6px;margin-right:4px;opacity:0;line-height:0}.project-item:hover .project-delete,.project-item.active .project-delete,.project-delete:focus-visible{opacity:1}.project-delete:hover:not(:disabled){color:#e06c6c}.project-item.active{background:var(--panel2);outline:1px solid var(--line)}.project-activity{display:flex;align-items:center;gap:6px;min-width:0;color:var(--accent)}.project-activity .activity-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{position:relative;flex:none;min-width:0;border-top:1px solid var(--line);padding-top:10px;z-index:30}.user-menu-trigger{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:8px;background:transparent;border-color:transparent;border-radius:10px;text-align:left}.user-menu-trigger:hover:not(:disabled),.user-menu-trigger.active{background:var(--panel2);border-color:transparent}.user-menu-trigger:focus-visible,.user-menu-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#252017;font-size:13px;font-weight:600}.user-menu-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.user-menu-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-caption{color:var(--muted);font-size:12px}.user-menu-chevron{flex:none;color:var(--muted)}.user-menu-popover{position:absolute;bottom:calc(100% + 8px);left:0;width:240px;max-width:calc(100vw - 24px);padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #0006}.user-menu-account{display:flex;flex-direction:column;gap:3px;padding:9px 11px 12px;margin-bottom:4px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.user-menu-account strong{font-weight:500}.user-menu-action{display:flex;align-items:center;gap:10px;width:100%;padding:9px 11px;background:transparent;border-color:transparent;border-radius:7px;text-align:left}.user-menu-action:hover:not(:disabled){background:var(--panel2);border-color:transparent}.user-menu-error{padding:5px 11px;color:var(--bad);font-size:12px;overflow-wrap:anywhere}.activity-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}main{min-width:0;min-height:0}.project{display:grid;grid-template-columns:var(--chat-width, 42%) 6px minmax(0,1fr);height:100%;min-width:0}.project-chat{display:flex;flex-direction:column;min-height:0;min-width:0}.project-head{display:flex;align-items:baseline;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.project-name{background:transparent;border:1px solid transparent;font-size:16px;font-weight:600;padding:2px 4px;flex:1;min-width:0}.project-head>.small{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-name:hover,.project-name:focus{border-color:var(--line)}.project-stage{display:flex;flex-direction:column;min-width:0;min-height:0}.chat{display:flex;flex-direction:column;flex:1;min-height:0}.chat-list{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.chat-empty{color:var(--muted);padding:30px 10px;text-align:center}.chat-busy{color:var(--accent);font-size:13px}.chat-error{background:#4a2626;color:#ffd0d0;padding:6px 14px;cursor:pointer}.chat-offline{background:#4a3d20;color:#ffe0a0;padding:4px 14px;font-size:12px}.session-archive,.archive-history{display:flex;flex-direction:column;gap:12px;min-width:0}.session-archive>.link{align-self:flex-start}.compact-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-align:center}.compact-divider:before,.compact-divider:after{content:"";height:1px;background:var(--line);flex:1;min-width:12px}.compact-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:12px;margin-top:-10px}.compact-summary{font-size:13px;color:var(--muted);max-height:320px;overflow:auto}.compact-progress{padding:6px 14px;color:var(--accent);font-size:13px}.archive-history .loading-block{padding:10px}.msg{display:flex;flex-direction:column;gap:6px;max-width:100%}.msg-user{align-self:flex-end;background:#34383f;border-radius:10px;padding:8px 12px;max-width:88%}.msg-agent{align-self:stretch}.msg-image{max-width:220px;max-height:220px;border-radius:6px;object-fit:contain;background:#fff}.msg-error{color:var(--bad);font-size:13px}.md p{margin:.3em 0}.md pre,.md code{background:#17181a;border-radius:4px}.md pre{padding:8px;overflow-x:auto}.md code{padding:1px 4px;font-size:12.5px}.md table{border-collapse:collapse}.md td,.md th{border:1px solid var(--line);padding:3px 6px}.reasoning summary{color:var(--muted);cursor:pointer;font-size:12px}.reasoning .md{color:var(--muted);font-size:13px}.tool{border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:13px}.tool summary{cursor:pointer;padding:5px 8px;display:flex;gap:8px;align-items:baseline;overflow:hidden}.tool-icon{width:1em}.tool-completed .tool-icon{color:var(--ok)}.tool-error .tool-icon{color:var(--bad)}.tool-running .tool-icon,.tool-pending .tool-icon{color:var(--accent)}.tool-name{color:var(--muted)}.tool-cmd{font-family:ui-monospace,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tool-input,.tool-output{margin:0;padding:8px;font:12px/1.45 ui-monospace,Menlo,monospace;background:#17181a;max-height:320px;overflow:auto;border-top:1px solid var(--line)}.shots{border-top:1px solid var(--line)}.shots>summary{color:var(--accent)}.shot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:6px 8px 8px}.shot-grid a{display:flex;flex-direction:column;min-width:0;color:var(--muted);font-size:11px;text-decoration:none}.shot-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;border:1px solid var(--line)}.permission{border:1px solid var(--accent);border-radius:8px;background:#33291a;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.permission-title{font-weight:600}.permission .tool-input{border:none;border-radius:4px}.permission-actions{display:flex;gap:8px}.composer{border-top:1px solid var(--line);padding:10px 12px 12px}.composer-box{border:1px solid var(--line);border-radius:14px;background:var(--panel2);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.composer-box:focus-within{border-color:#565a62}.composer-input{width:100%;resize:none;border:none;background:transparent;padding:4px 2px;min-height:48px;max-height:240px;outline:none;field-sizing:content}.composer-bar{display:flex;align-items:center;gap:6px}.composer-bar .spacer{flex:1}.composer-bar button.icon{background:none;border:none;color:var(--muted);font-size:22px;line-height:1;width:30px;height:30px;padding:0;border-radius:8px}.composer-bar button.icon:hover{background:var(--panel);color:var(--text)}.composer-bar button.round{width:32px;height:32px;padding:0;border-radius:8px;background:#e6e6e6;color:#1b1b1b;border:none;font-size:16px;font-weight:700}.composer-bar button.round:disabled{background:#55585e;color:#2a2b2e;opacity:1}.plus{position:relative}.menu{position:absolute;bottom:36px;left:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;min-width:120px;box-shadow:0 6px 20px #0008;z-index:10}.menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 10px}.menu button:hover{background:var(--panel2)}.model-pick{display:flex;align-items:center;gap:4px;color:var(--muted);border-radius:8px;padding:0 4px;min-width:0}.model-pick:hover{background:var(--panel);color:var(--text)}.model-pick .spark{font-size:13px}.model-pick select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:none;color:inherit;padding:5px 16px 5px 2px;cursor:pointer;min-width:0;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 7px) 55%,calc(100% - 3px) 55%;background-size:4px 4px;background-repeat:no-repeat}.model-pick select option{background:var(--panel);color:var(--text)}.atts{display:flex;gap:10px;flex-wrap:wrap;padding:6px 2px 2px}.att{position:relative;width:64px;height:64px}.att img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#fff;display:block}.att-name{position:absolute;left:0;bottom:calc(100% + 4px);background:#111;color:#ddd;font-size:11px;padding:1px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s;z-index:5}.att:hover .att-name{opacity:1}.att-remove{position:absolute;top:-7px;right:-7px;width:18px;height:18px;padding:0;border-radius:50%;border:none;background:#6b6f76;color:#fff;font-size:13px;line-height:18px;text-align:center}.att-remove:hover:not(:disabled){background:#8a8e95;border:none}.viewer{position:relative;flex:1;min-height:0}.viewer-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.viewer-canvas canvas{display:block;width:100%;height:100%}.viewer-empty,.viewer-loading,.viewer-error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--muted);pointer-events:none}.viewer-error{color:var(--bad)}.viewer-hud{position:absolute;left:10px;top:8px;font:12px/1.4 ui-monospace,Menlo,monospace;color:#ddd;text-shadow:0 1px 2px #000;pointer-events:none}.viewer-tools{position:absolute;left:10px;bottom:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.viewer-tools .toggle{display:flex;gap:4px;align-items:center;color:#ddd;font-size:13px;margin-left:6px}.panel{border-top:1px solid var(--line);background:var(--panel);padding:10px 14px;display:flex;flex-direction:column;gap:6px}.panel-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.panel label{display:flex;gap:8px;align-items:center}.bookmarks{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:6}.bookmark{writing-mode:vertical-rl;letter-spacing:2px;padding:12px 5px;border-radius:8px 0 0 8px;border-right:none;background:#2f3136e6;color:var(--muted);font-size:13px}.bookmark:hover:not(:disabled){color:var(--text)}.bookmark.active{background:var(--accent);color:#1b1b1b;border-color:var(--accent);font-weight:600}.sidebox{position:absolute;right:34px;top:12px;bottom:56px;width:min(340px,calc(100% - 60px));background:#26282cf2;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;z-index:5;box-shadow:0 8px 30px #0008}.sidebox-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.sidebox-body{padding:10px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.btns{display:flex;flex-wrap:wrap;gap:6px}.btns.fixed{border-top:1px solid var(--line);padding-top:8px}.move-group{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.log{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.log-ok{color:#b9e3bb}.log-bad{color:#f0b0b0}.log-info{color:var(--muted)}.faces{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.face-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px}.face-btn.active{border-color:var(--accent)}.face-preview{width:100%;height:auto;border-radius:6px;background:#000}.telemetry{border-collapse:collapse;width:100%;font-size:13px}.telemetry td{padding:3px 4px;border-bottom:1px solid #33363c;vertical-align:top}.telemetry td:first-child{width:48%}.control{display:flex;gap:8px;align-items:center;justify-content:space-between}.about{background:var(--panel2);border-radius:8px;padding:8px 10px;font-size:13px}.about-title{font-weight:600;margin-bottom:4px}.about ul{margin:0;padding-left:18px}.kv,.kv label{display:flex;flex-direction:column;gap:4px}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:13px}.step-icon{display:inline-block;width:1.3em}.step-done .step-icon{color:var(--ok)}.step-failed .step-icon,.step-failed{color:var(--bad)}.step-running .step-icon{color:var(--accent)}.step-pending{color:var(--muted)}.viewer-running{position:absolute;left:50%;top:10px;transform:translate(-50%);background:#000a;padding:3px 12px;border-radius:12px;font-size:13px;pointer-events:none}.viewer-badge{position:absolute;left:10px;top:46px;background:#000a;color:var(--muted);padding:2px 10px;border-radius:10px;font-size:12px;pointer-events:none}.progress-card{border-top:1px solid var(--line);padding:6px 14px;background:var(--panel);cursor:pointer;display:flex;flex-direction:column;gap:4px;font-size:13px}.progress-line{display:flex;gap:6px;align-items:baseline}.progress-line .spacer{flex:1}.progress-line .bad{color:var(--bad)}.progress-bar{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.progress-bar>div{height:100%;background:var(--accent);transition:width .3s}.task-head{display:flex;gap:8px;align-items:baseline;padding:5px 8px;overflow:hidden}.task-head .spacer{flex:1}.task-head .link{white-space:nowrap;color:var(--accent)}.task details{padding:0 8px 6px}.task-out{font-size:13px;max-height:320px;overflow:auto}.subsession{border-top:1px solid var(--line);padding:8px 10px 10px 14px;display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow-y:auto;background:#1f2023;border-left:3px solid var(--accent)}.seg{display:flex;margin-right:6px}.viewer-fps{position:absolute;right:10px;bottom:12px;font:11px ui-monospace,Menlo,monospace;color:#ddd;background:#0008;padding:2px 8px;border-radius:10px;pointer-events:none;z-index:2}.time-control{display:flex;align-items:center;gap:6px;color:#ddd;font-size:12px;margin-left:6px}.time-control input[type=range]{width:120px}.time-control .time-label{font:12px ui-monospace,Menlo,monospace;min-width:38px}.walk-btn.active{background:var(--accent);color:#1b1b1b;border-color:var(--accent)}.walk-hint{position:absolute;left:50%;bottom:100px;transform:translate(-50%);padding:4px 10px;border-radius:6px;background:#0000008c;color:#eee;font-size:12px;pointer-events:none;white-space:nowrap}.walk-crosshair{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffb3;box-shadow:0 0 2px #000;pointer-events:none}.seg button{border-radius:0;margin-left:-1px}.seg button:first-child{border-radius:6px 0 0 6px;margin-left:0}.seg button:last-child{border-radius:0 6px 6px 0}.seg button.active{background:var(--accent);color:#1b1b1b;border-color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stripes{to{background-position:24px 0}}@keyframes pulse{50%{opacity:.55}}.spinner{display:inline-block;width:.95em;height:.95em;vertical-align:-.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;color:var(--accent)}.progress-bar.active>div{background-image:repeating-linear-gradient(45deg,#fff3 0 6px,transparent 6px 12px);background-size:24px 3px;animation:stripes .6s linear infinite}.loading-block{color:var(--muted);padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:8px}.loading-block .progress-bar{width:min(260px,80%)}.subsession .loading-block{padding:10px}.viewer-loading>div{display:flex;gap:8px;align-items:center}.viewer-loading .loading-block>div:first-child{display:flex;gap:8px;align-items:center}.viewer-streaming{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:240px;top:auto;bottom:100px;z-index:3;color:#eee;padding:6px 12px 8px}.viewer-streaming .progress-bar{width:100%}.activity{display:flex;flex-direction:column;gap:4px;font-size:13px}.activity-head{display:flex;gap:8px;align-items:baseline;background:none;border:none;padding:2px 0;color:var(--muted);text-align:left}.activity-head:hover:not(:disabled){color:var(--text)}.activity-running .activity-head{color:var(--text)}.activity-running .activity-label{animation:pulse 1.6s ease-in-out infinite}.activity-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.activity-head .small{white-space:nowrap}.activity-head .bad,.bad{color:var(--bad)}.activity-steps{list-style:none;margin:0 0 0 4px;padding:2px 0 2px 12px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:2px;color:var(--muted)}.activity-steps li{display:flex;gap:8px;align-items:baseline}.activity .shot-grid{padding:2px 0 4px}.reasoning{border-left:2px solid var(--line);padding-left:10px}.reasoning .md{color:#b9bcc2}.details-toggle{font-size:13px!important;font-family:ui-monospace,Menlo,monospace;width:auto!important;padding:0 6px!important}.details-toggle.on{color:var(--accent)!important}.tool-icon.ok{color:var(--ok)}.tool-icon.err{color:var(--bad)}.tool-icon{flex:none}.shot-grid a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.activity-row{display:flex;gap:10px;align-items:baseline;min-width:0}.activity-row .activity-head{min-width:0}.thought-btn{background:none;border:none;padding:0 2px;color:var(--muted);font-size:12px;white-space:nowrap;flex:none;text-decoration:underline dotted;text-underline-offset:3px}.thought-btn:hover:not(:disabled),.thought-btn.on{color:var(--text);border:none}.activity>.reasoning,.task>.reasoning{margin:2px 0 4px 4px}.task>.reasoning{margin:0 8px 6px 12px}.msg-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:-6px}.msg-meta-user{align-self:flex-end}.msg-meta-agent{align-self:flex-start}.copy-btn{background:none;border:none;padding:3px;border-radius:5px;color:var(--muted);display:inline-flex;line-height:0}.copy-btn:hover:not(:disabled){background:var(--panel2);color:var(--text);border:none}.copy-btn.ok{color:var(--ok)}.copy-btn.fail{color:var(--bad)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-mode{position:absolute;top:12px;left:12px;z-index:4}.viewer-debug .viewer-running{top:90px;max-width:calc(100% - 40px)}.viewer-play .viewer-running{top:90px}.viewer-play .viewer-tools{bottom:auto;top:12px;left:auto;right:10px;max-width:calc(100% - 145px);justify-content:flex-end}.viewer-play .viewer-tools .toggle{display:none}.viewer-play .sidebox{top:92px;bottom:210px}.viewer-debug .sidebox{top:92px}.project-mobile-nav{display:none}@media (max-width: 1150px) and (min-width: 761px){.viewer-play .viewer-tools{max-width:calc(100% - 135px);gap:3px}.viewer-play .viewer-tools button{padding:4px 6px}}@media (max-width: 760px){html,body,#root{height:100dvh}.app{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.splitter{display:none}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-head{grid-column:1;grid-row:1}.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}.sidebar-collapsed .sidebar-head{justify-content:space-between}.sidebar-collapsed .brand,.sidebar-collapsed .user-menu-label,.sidebar-collapsed .user-menu-chevron{display:flex}.sidebar-collapsed .sidebar>.primary{display:none}.sidebar-collapsed .user-menu{margin-top:0}.sidebar-collapsed .user-menu-trigger{padding:6px;justify-content:flex-start}.brand{align-self:center;font-size:14px}.sidebar>.primary{grid-column:1 / -1;grid-row:2}.user-menu{grid-column:2;grid-row:1;padding-top:0;border-top:0;max-width:170px}.user-menu-trigger{padding:6px;gap:8px;min-height:44px}.user-menu-label .user-menu-caption{display:none}.user-avatar{width:28px;height:28px}.user-menu-chevron{transform:rotate(180deg)}.user-menu-popover{top:calc(100% + 6px);bottom:auto;left:auto;right:0}.projects{grid-column:1 / -1;grid-row:3;flex-direction:row;overflow-x:auto;max-height:58px}.project-item{flex-shrink:0;max-width:220px}.project-link{padding:3px 8px}.project-link>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-delete{opacity:1}.project{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.project-mobile-nav{display:flex;padding:6px 12px;border-bottom:1px solid var(--line);margin:0}.project-mobile-nav button{flex:1}.project-chat,.project-stage{grid-column:1;grid-row:2;min-height:0}.project.mobile-viewer .project-chat,.project.mobile-builder .project-stage{visibility:hidden;pointer-events:none}.project.mobile-viewer .project-stage,.project.mobile-builder .project-chat{visibility:visible}.project-name{min-width:0}.viewer-tools{gap:4px}.viewer-tools button{padding:4px 6px}.viewer-play .viewer-tools{top:12px;max-width:calc(100% - 140px)}.viewer-play .viewer-tools button:nth-of-type(n+4){display:none}.sidebox{right:32px;width:min(340px,calc(100% - 42px))}.viewer-play .sidebox{bottom:12px;z-index:5}.bookmark{padding:8px 4px;font-size:12px}.bookmarks{gap:4px;top:48%}}.scene-viewer .viewer-hud{color:#222;text-shadow:none;background:#fffc;padding:3px 8px;border-radius:6px}.viewer-error-bar{position:absolute;left:10px;right:10px;top:54px;background:#5a2323ee;color:#ffd9d9;padding:6px 10px;border-radius:6px;font-size:13px;cursor:pointer;z-index:4}.scene-viewer .viewer-running{color:#fff}.scene-viewer .viewer-empty{color:#4a4f57}.scene-viewer .viewer-tools .toggle{color:#222;background:#fffc;padding:3px 8px;border-radius:6px}.object-pick{max-width:220px}.scene-flags{position:absolute;right:10px;top:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;max-width:45%}.flag{font-size:12px;padding:2px 8px;border-radius:10px;background:#fff3cfee;color:#5a4300;border-color:#d8b54a}.flag-none{background:#ffe08aee}.flag-bad{background:#ffd6d6ee;color:#7a1f1f;border-color:#d97a7a}.object-panel{position:absolute;right:10px;top:10px;width:min(340px,calc(100% - 20px));max-height:calc(100% - 70px);overflow-y:auto;background:#26282cf2;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 30px #0008;z-index:5}.object-head{display:flex;gap:8px;align-items:baseline;padding:8px 10px;border-bottom:1px solid var(--line)}.object-head .spacer{flex:1}.object-body{padding:8px 10px 10px;display:flex;flex-direction:column;gap:8px;font-size:13px}.object-asset{display:flex;gap:10px;align-items:center}.object-asset img{width:72px;height:72px;object-fit:cover;border-radius:6px;background:#fff}.object-asset a{color:var(--text)}.object-note{background:#3a3220;color:#f1d58a;border-radius:6px;padding:4px 8px}.object-issues{margin:0;padding-left:18px;font-size:12.5px}.object-issues .warn{color:#f1d58a}.object-issues .bad,.bad{color:var(--bad)}.pill{display:inline-block;padding:0 7px;border-radius:9px;font-size:11.5px;background:var(--panel2);border:1px solid var(--line)}.pill.route-params{border-color:#6b8fd6;color:#a9c2f5}.pill.route-placeholder,.pill.m-none{border-color:#d8b54a;color:#f1d58a}.pill.m-partial{border-color:#c9934a;color:#f0c48a}.pill.m-exact{border-color:#4f9a53;color:#9fd8a2}.cands{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:6px 8px 8px;display:flex;flex-direction:column;gap:6px}.cands-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:13px}.cand-warn{color:#f1d58a}.cands-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.cand{flex:none;width:118px;display:flex;flex-direction:column;gap:2px;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:4px;background:var(--panel2);font-size:11.5px}.cand img,.cand-noimg{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;background:#fff}.cand.chosen{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cand-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cand-meta{color:var(--muted)}.cand-match.m-exact{color:#9fd8a2}.cand-match.m-partial{color:#f0c48a}.cand-match.m-none{color:#e0a0a0}
