@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.chat-layout{height:100%;animation:.6s cubic-bezier(.16,1,.3,1) chat-in;display:flex}@keyframes chat-in{0%{opacity:0}to{opacity:1}}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;transition:margin-left .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-collapsed .sidebar{margin-left:-260px}.sidebar-header{height:var(--titlebar-height);-webkit-app-region:drag;justify-content:space-between;align-items:center;margin-top:0;padding:0 8px 0 18px;display:flex}.sidebar-header .icon-button{-webkit-app-region:no-drag}.wordmark{letter-spacing:-.02em;align-items:center;gap:8px;font-size:16px;font-weight:500;display:flex}.wordmark img{width:18px;height:18px}.sidebar-nav{padding:10px 8px 4px}.sidebar-scroll{flex:1;padding:18px 8px 12px;overflow-y:auto}.sidebar-section-title{color:var(--text-faint);padding:0 10px 6px;font-size:12px}.nav-item,.project-row,.chat-row{width:100%;color:var(--text-muted);text-align:left;border-radius:8px;align-items:center;transition:background .15s,color .15s;display:flex}.nav-item{gap:10px;height:34px;padding:0 10px}.nav-item:hover,.project-row:hover,.chat-row:hover{color:var(--text);background:#ffffff0a}.nav-item.active,.chat-row.active{color:var(--text);background:#ffffff12}.nav-icon{flex-shrink:0;place-items:center;display:grid}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.project-group+.project-group{margin-top:2px}.project-row{height:32px;color:var(--text);gap:8px;padding:0 10px}.project-chevron{color:var(--text-faint);flex-shrink:0;transition:transform .15s}.project-chevron.open{transform:rotate(90deg)}.project-chats{padding:2px 0 8px}.chat-row{height:30px;padding:0 10px 0 32px;font-size:13.5px}.project-row.active{background:#ffffff12}.sidebar-section-title.with-action{justify-content:space-between;align-items:center;padding-right:4px;display:flex}.section-action{width:22px;height:22px;color:var(--text-faint);border-radius:6px;place-items:center;margin:-4px 0;transition:background .12s,color .12s;display:grid}.section-action:hover{color:var(--text);background:#ffffff14}.plain-chats{margin-bottom:18px}.plain-chats .chat-row{padding-left:10px}.row-wrap{position:relative}.row-wrap>.project-row,.row-wrap>.chat-row{padding-right:34px}.chat-row{gap:6px}.chat-pin{color:var(--text-faint);flex-shrink:0;margin-left:-18px}.row-more{width:24px;height:24px;color:var(--text-muted);opacity:0;border-radius:6px;place-items:center;transition:opacity .12s,background .12s;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.row-wrap.has-action>.project-row{padding-right:60px}.row-action{width:24px;height:24px;color:var(--text-muted);opacity:0;border-radius:6px;place-items:center;transition:opacity .12s,background .12s;display:grid;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.row-wrap:hover .row-more,.row-wrap.menu-open .row-more,.row-more:focus-visible,.row-wrap:hover .row-action,.row-action:focus-visible{opacity:1}.row-action:hover,.row-more:hover,.row-wrap.menu-open .row-more{color:var(--text);background:#ffffff14}.row-wrap:hover .chat-running,.row-wrap.menu-open .chat-running{visibility:hidden}.row-menu{z-index:30;border:1px solid var(--border-strong);background:#262626;border-radius:10px;min-width:180px;padding:4px;position:absolute;top:calc(100% + 2px);right:4px;box-shadow:0 16px 48px #00000073}.row-menu-item{width:100%;height:30px;color:var(--text);text-align:left;white-space:nowrap;border-radius:6px;align-items:center;gap:9px;padding:0 8px;font-size:13px;display:flex}.row-menu-item svg{color:var(--text-muted);flex-shrink:0}.row-menu-item:hover{background:#ffffff0f}.row-menu-item.armed,.row-menu-item.armed svg{color:var(--red)}.renaming{background:#ffffff12}.row-rename{outline:1px solid var(--border-strong);min-width:0;height:22px;color:var(--text);font:inherit;background:0 0;border:0;border-radius:4px;flex:1;margin-left:-4px;padding:0 4px}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:12px 10px 12px 16px;display:flex}.avatar{background:#333;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:500;display:grid}.account-name{color:var(--text-muted);flex:1}.icon-button{width:30px;height:30px;color:var(--text-muted);border-radius:8px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.icon-button:hover,.icon-button.active{color:var(--text);background:#ffffff0f}.chat-main{padding-top:var(--chrome-height);background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.idle-background{z-index:5;pointer-events:none;mix-blend-mode:screen;opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.idle-background.visible{opacity:.45;transition-duration:2.4s}.chat-topbar{height:var(--titlebar-height);-webkit-app-region:drag;flex-shrink:0;align-items:center;gap:8px;margin-top:0;padding:0 8px 0 16px;display:flex}.chat-topbar .icon-button{-webkit-app-region:no-drag}.chat-title{min-width:0;color:var(--text);white-space:nowrap;flex:1;gap:8px;display:flex;overflow:hidden}.chat-title span{text-overflow:ellipsis;overflow:hidden}.chat-title-project,.chat-title-sep{color:var(--text-faint);flex-shrink:0}.empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:0 24px 10vh;display:flex}.empty-logo-still{object-fit:contain;width:100%;height:100%}.empty-logo{width:128px;height:128px;margin-bottom:4px}.empty-state h2{letter-spacing:-.02em;text-align:center;margin:0 0 28px;font-size:28px;font-weight:400}.empty-project-link{color:var(--text-faint);margin-top:14px;font-size:13px;transition:color .15s}.empty-project-link:hover{color:var(--text)}.messages{-webkit-user-select:text;user-select:text;flex:1;overflow-y:auto}.messages-inner{flex-direction:column;gap:28px;max-width:720px;margin:0 auto;padding:24px 24px 32px;display:flex}.message.user{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.message.user .bubble{background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;max-width:80%;max-height:50vh;padding:10px 16px;line-height:1.55;overflow-y:auto}.message.assistant{color:#dedede;font-size:15px;line-height:1.7}.message.assistant p{margin:0 0 14px}.message.assistant strong{color:var(--text);font-weight:500}.inline-file{font-family:var(--font-mono);color:var(--text);font-size:.86em}.agent-steps{border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:12px;margin:4px 0 18px;overflow:hidden}.agent-steps-header{width:100%;height:40px;color:var(--text);align-items:center;gap:10px;padding:0 14px;font-size:13.5px;transition:background .15s;display:flex}.agent-steps-header:hover{background:#ffffff08}.agent-steps-count{text-align:left;color:var(--text-faint);flex:1}.agent-steps-chevron{color:var(--text-faint);transition:transform .15s}.agent-steps.open .agent-steps-chevron{transform:rotate(90deg)}.agent-steps-list{border-top:1px solid var(--border);margin:0;padding:6px;list-style:none}.agent-step{width:100%;height:32px;color:var(--text-muted);text-align:left;border-radius:7px;align-items:center;gap:10px;padding:0 8px;font-size:13.5px;transition:background .15s,color .15s;display:flex}.agent-step:hover{color:var(--text);background:#ffffff0a}.agent-step-icon{color:var(--text-faint);place-items:center;display:grid}.agent-step-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.agent-step-detail{font-family:var(--font-mono);color:var(--text-faint);font-size:12px}.diff{gap:6px;display:inline-flex}.file-chips{flex-wrap:wrap;gap:8px;display:flex}.file-chip{border:1px solid var(--border-strong);height:36px;color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:13px;transition:background .15s;display:flex}.file-chip svg{color:var(--text-muted)}.file-chip:hover{background:#ffffff0a}.composer-dock{flex-direction:column;align-items:center;padding:0 24px 22px;display:flex}.composer{border:1px solid var(--border-strong);background:var(--surface);border-radius:18px;width:100%;max-width:720px;padding:14px 12px 10px 16px;transition:border-color .2s}.composer:focus-within{border-color:#fff3}.composer textarea{resize:none;-webkit-user-select:text;user-select:text;background:0 0;border:0;outline:none;width:100%;min-height:26px;font-size:15px;line-height:1.6}.composer textarea::placeholder{color:var(--text-faint)}.composer-row{align-items:center;gap:4px;margin-top:10px;margin-left:-6px;display:flex}.composer-context{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-size:13px;overflow:hidden}.spacer{flex:1}.send-button{color:#1b1b1b;background:#ececec;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;margin-left:4px;transition:opacity .15s,background .15s;display:grid}.send-button:hover:not(:disabled){background:#fff}.send-button:disabled{opacity:.25;cursor:default}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sidebar-empty{color:var(--text-faint);margin:4px 10px;font-size:13px}.chat-running{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:auto;animation:1.4s ease-in-out infinite fade-pulse}@keyframes fade-pulse{50%{opacity:.25}}button.sidebar-footer{width:100%;color:var(--text-muted);text-align:left;transition:color .15s,background .15s}button.sidebar-footer:hover{color:var(--text);background:#ffffff08}.notice{z-index:6;color:#f2b3b3;background:#ef7a7a14;border:1px solid #ef7a7a4d;border-radius:10px;align-self:center;align-items:center;gap:8px;max-width:720px;margin:0 24px 8px;padding:8px 6px 8px 14px;font-size:13.5px;display:flex;position:relative}.nav-hint{color:var(--text-faint);opacity:0;margin-left:auto;font-size:11.5px;transition:opacity .15s}.nav-item:hover .nav-hint{opacity:1}.chat-layout>*{transition:opacity .2s}.chat-layout.switching>*{opacity:0}.chat-layout>.sidebar{transition:margin-left .25s cubic-bezier(.4,0,.2,1),opacity .2s}.thinking,.message-note{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.thinking{margin-top:4px}.quiet-hint{max-width:520px;color:var(--text-faint);margin:6px 0 0 22px;font-size:13px;line-height:1.55}.thinking-block{margin:2px 0 10px}.thinking-toggle{max-width:100%;color:var(--text-faint);text-align:left;align-items:center;gap:8px;padding:4px 0;font-size:13.5px;transition:color .15s;display:flex}.thinking-toggle:hover{color:var(--text-muted)}.thinking-toggle svg{flex-shrink:0}.thinking-preview{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.thinking-block.open .agent-steps-chevron{transform:rotate(90deg)}.thinking-text{border-left:1px solid var(--border-strong);white-space:pre-wrap;color:var(--text-muted);margin:4px 0 0 6px;padding-left:16px;font-size:13.5px;line-height:1.6}.thinking-time{font-variant-numeric:tabular-nums;color:var(--text-faint)}.message-error{color:var(--red);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:4px 0 12px;font-size:14px;display:flex}.link-button{color:var(--text);text-underline-offset:3px;text-decoration:underline}.agent-step:disabled{cursor:default}.agent-step:disabled:hover{color:var(--text-muted);background:0 0}.agent-step.error .agent-step-icon{color:var(--red)}.markdown>:first-child{margin-top:0}.markdown p,.markdown ul,.markdown ol{margin:0 0 14px}.markdown ul,.markdown ol{padding-left:22px}.markdown li{margin-bottom:4px}.markdown h1,.markdown h2,.markdown h3{margin:18px 0 10px;font-size:16px;font-weight:500}.markdown code{font-family:var(--font-mono);background:#ffffff12;border-radius:5px;padding:2px 6px;font-size:.86em}.markdown pre{border:1px solid var(--border);background:#151515;border-radius:12px;margin:4px 0 16px;padding:14px 16px;overflow-x:auto}.markdown pre code{color:#d4d4d4;background:0 0;padding:0;font-size:13px;line-height:1.65}.markdown a{color:var(--text);text-underline-offset:3px}.markdown table{border-collapse:collapse;margin:0 0 14px;font-size:14px}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;padding:6px 12px}.model-picker{position:relative}.model-button{max-width:260px;height:30px;color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:13px;transition:background .15s,color .15s;display:flex}.model-button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.model-button:hover{color:var(--text);background:#ffffff0f}.model-menu{z-index:20;border:1px solid var(--border-strong);background:#262626;border-radius:12px;flex-direction:column;width:340px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 16px 48px #00000073}.model-filter{border:1px solid var(--border);background:var(--bg);border-radius:8px;outline:none;margin:8px 8px 0;padding:8px 10px;font-size:13px}.model-list{max-height:320px;padding:6px;overflow-y:auto}.model-group{color:var(--text-faint);justify-content:space-between;gap:8px;padding:8px 8px 4px;font-size:11.5px;display:flex}.model-group-balance{color:var(--text-muted);font-variant-numeric:tabular-nums}.model-option{text-align:left;width:100%;min-height:32px;color:var(--text);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.model-option:hover{background:#ffffff0f}.model-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.model-option-price{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.brand-logo{flex-shrink:0;line-height:1;display:inline-flex}.brand-logo svg{display:block}.model-option .brand-logo{color:var(--text-muted)}.model-empty{color:var(--text-faint);padding:12px 8px;font-size:13px}.model-manage{border-top:1px solid var(--border);text-align:left;color:var(--text-muted);padding:10px 14px;font-size:13px}.model-manage:hover{color:var(--text)}.message-footer{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:10px 0 4px;font-size:13px;display:flex}.build-line,.revert-confirm{align-items:center;gap:10px;display:inline-flex}.build-line.running{gap:6px}.link-button.quiet{color:var(--text-faint);align-items:center;gap:6px;text-decoration:none;transition:color .15s;display:inline-flex}.link-button.quiet:hover{color:var(--text)}.build-line.failed .link-button.quiet{color:var(--red)}.message-note.inline{color:var(--text-faint);font-size:13px;display:inline-flex}.composer-queue{border-bottom:1px solid var(--border);margin:0 0 6px;padding:0 0 8px;list-style:none}.composer-queue li{min-height:28px;color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.composer-queue-label{color:var(--text-faint);flex-shrink:0;font-size:11.5px}.composer-queue-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.composer-queue button{width:22px;height:22px;color:var(--text-faint);border-radius:6px;place-items:center;display:grid}.composer-queue button:hover{color:var(--text);background:#ffffff12}.composer-approval{border:1px solid var(--border-strong);background:#ffffff0a;border-radius:10px;align-items:center;gap:12px;margin:0 0 8px;padding:10px 10px 10px 12px;display:flex}.composer-approval-text{min-width:0;color:var(--text);flex-direction:column;flex:1;gap:4px;font-size:13px;display:flex}.composer-approval-text code{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);color:var(--text-muted);font-size:12px;overflow:hidden}.composer-approval-actions{flex-shrink:0;gap:6px;display:flex}.approval-button{border:1px solid var(--border-strong);height:28px;color:var(--text-muted);border-radius:7px;padding:0 11px;font-size:12.5px;transition:background .15s,color .15s}.approval-button:hover{color:var(--text);background:#ffffff0f}.approval-button.primary{background:var(--text);color:var(--bg);border-color:#0000}.approval-button.primary:hover{background:#fff}.context-meter{color:var(--text-faint);cursor:default;align-items:center;gap:5px;margin-right:6px;font-size:12px;display:inline-flex}.context-meter svg{transform:rotate(-90deg)}.context-track{fill:none;stroke:#ffffff1a;stroke-width:2px}.context-fill{fill:none;stroke:var(--text-muted);stroke-width:2px;stroke-linecap:round}.context-meter.full .context-fill{stroke:var(--amber)}.team-picker .model-button.team-on{color:var(--text);background:#ffffff12}.team-menu{width:380px}.team-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 12px 8px;display:flex}.team-header strong{color:var(--text);font-size:13px;font-weight:500}.team-header p{color:var(--text-faint);margin:3px 0 0;font-size:12px;line-height:1.45}.team-switch{background:#ffffff1f;border-radius:999px;flex-shrink:0;width:32px;height:18px;margin-top:1px;padding:2px;transition:background .15s}.team-switch span{background:var(--text-muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;display:block}.team-switch.on{background:#ffffff52}.team-switch.on span{background:var(--text);transform:translate(14px)}.team-switch:disabled{opacity:.4}.team-option{cursor:default}.team-option:hover{background:0 0}.team-option.chosen .model-option-label{color:var(--text)}.team-option:not(.chosen) .model-option-label{color:var(--text-muted)}.team-group{white-space:nowrap;text-overflow:ellipsis;max-width:90px;color:var(--text-faint);flex-shrink:0;font-size:11px;overflow:hidden}.team-stepper{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.team-stepper button{width:22px;height:22px;color:var(--text-muted);border-radius:6px;place-items:center;transition:background .12s,color .12s;display:grid}.team-stepper button:hover:not(:disabled){color:var(--text);background:#ffffff14}.team-stepper button:disabled{opacity:.3}.team-count{text-align:center;font-variant-numeric:tabular-nums;min-width:16px;color:var(--text);font-size:12.5px}.team-runs{border-left:1px solid var(--border);margin:2px 0 6px 26px;padding:0;list-style:none}.team-run-row{text-align:left;width:100%;min-height:28px;color:var(--text-muted);border-radius:6px;align-items:center;gap:8px;padding:4px 8px 4px 10px;font-size:12.5px;display:flex}.team-run-row:hover{background:#ffffff0a}.team-run-name{color:var(--text);flex-shrink:0}.team-run-task{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.team-run-now{white-space:nowrap;text-overflow:ellipsis;text-align:right;min-width:0;color:var(--text-faint);flex:1;overflow:hidden}.team-run.error .team-run-name{color:var(--red)}.team-run.open>.team-run-line .team-run-row .agent-steps-chevron{transform:rotate(90deg)}.team-run-detail{padding:0 0 6px 10px}.team-run-report{color:var(--text-muted);white-space:pre-wrap;-webkit-user-select:text;user-select:text;background:#ffffff08;border-radius:8px;max-height:220px;margin:4px 8px 0 0;padding:8px 10px;font-size:12.5px;line-height:1.55;overflow-y:auto}.team-run-line{align-items:center;gap:2px;display:flex}.team-run-time{font-variant-numeric:tabular-nums;color:var(--text-faint);flex-shrink:0}.team-run-stop{width:24px;height:24px;color:var(--text-faint);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.team-run-stop:hover{color:var(--text);background:#ffffff0f}.team-panel{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:100%;max-width:720px;margin-bottom:8px;overflow:hidden}.team-panel-header{width:100%;color:var(--text-muted);text-align:left;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.team-panel-header:hover{color:var(--text)}.team-panel-title{min-width:0;color:var(--text);flex:1}.team-panel-failed{color:var(--red);font-size:12px}.team-panel.open .team-panel-header .agent-steps-chevron{transform:rotate(90deg)}.team-panel .team-runs{border-left:none;max-height:260px;margin:0 6px 6px;overflow-y:auto}.team-run-line>.team-run-row{flex:1;width:auto;min-width:0}.team-panel .team-runs{overflow-x:hidden}.composer-queue button.composer-queue-now{width:auto;color:var(--text-muted);border:1px solid var(--border);align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.message-images{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:80%;display:flex}.message-image{border:1px solid var(--border);background:var(--surface);cursor:zoom-in;border-radius:12px;width:132px;height:132px;padding:0;display:block;overflow:hidden}.message-image img{object-fit:cover;width:100%;height:100%;display:block}.message-image.loading{cursor:default}.image-lightbox{z-index:100;cursor:zoom-out;background:#000000d1;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.image-lightbox img{border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 20px 60px #00000080}.composer-attachments{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.composer-attachment{border:1px solid var(--border);background:var(--bg-sidebar);border-radius:10px;width:64px;height:64px;position:relative;overflow:hidden}.composer-attachment img{object-fit:cover;width:100%;height:100%;display:block}.composer-attachment button{color:#fff;opacity:0;background:#000000b3;border-radius:50%;place-items:center;width:20px;height:20px;transition:opacity .15s;display:grid;position:absolute;top:3px;right:3px}.composer-attachment:hover button,.composer-attachment button:focus-visible{opacity:1}.composer-attach{width:30px;height:30px;color:var(--text-muted);border-radius:8px;place-items:center;display:grid}.composer-attach:hover{color:var(--text);background:#ffffff0f}.composer.dragging{border-color:#ffffff59}.composer-attach-error{color:var(--red);margin:0 0 8px;font-size:12.5px}.side-panel{padding-top:var(--chrome-height);background:var(--bg-sidebar);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:clamp(400px,42vw,640px);animation:.3s cubic-bezier(.16,1,.3,1) panel-in;display:flex}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.panel-header{height:var(--titlebar-height);-webkit-app-region:drag;flex-shrink:0;align-items:center;gap:8px;margin-top:0;padding:0 8px 0 12px;display:flex}.panel-header button{-webkit-app-region:no-drag}.panel-tabs{flex:1;gap:2px;display:flex}.panel-tab{height:30px;color:var(--text-muted);border-radius:8px;padding:0 12px;transition:background .15s,color .15s}.panel-tab:hover{color:var(--text)}.panel-tab.active{color:var(--text);background:#ffffff12}.panel-body{border-top:1px solid var(--border);flex-direction:column;flex:1;min-height:0;margin-top:6px;display:flex}.panel-scroll{flex:1;padding:16px;overflow-y:auto}.panel-section-title{color:var(--text-faint);margin:22px 2px 10px;font-size:12px}.log{font-family:var(--font-mono);color:#a8a8a8;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;margin:0;font-size:12px;line-height:1.7}.panel-button{border:1px solid var(--border-strong);height:30px;color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:0 12px;font-size:13px;transition:background .15s;display:flex}.panel-button:hover{background:#ffffff0d}.panel-button.run{color:var(--green);background:#6fcf8f1a;border-color:#6fcf8f59}.panel-button.run:hover{background:#6fcf8f2e}.panel-button.stop{color:var(--red);background:#ef7a7a1a;border-color:#ef7a7a59}.panel-button.stop:hover{background:#ef7a7a2e}.status-card{border:1px solid var(--border);background:var(--bg);border-radius:12px;overflow:hidden}.status-card .log{border-top:1px solid var(--border);white-space:pre;padding:14px 16px;overflow-x:auto}.status-card.muted .status-text strong{color:var(--text-muted)}.status-row{align-items:center;gap:12px;padding:12px 10px 12px 16px;display:flex}.status-text{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.status-text strong{font-weight:500}.status-text span{color:var(--text-faint);font-size:12.5px}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.on{background:var(--green)}.status-dot.off{border:1.5px solid var(--red)}.log-meta{color:#5f5f5f}.log-plugin{color:var(--blue)}.log-player{color:var(--amber)}.log-value{color:#c39ce0}.code-viewer-header svg{flex-shrink:0}.fixed-note{color:var(--text-muted);align-items:center;gap:8px;padding:0 16px 14px;font-size:12.5px;display:flex}.files-tab{flex:1;min-height:0;display:flex}.file-tree{border-right:1px solid var(--border);flex-shrink:0;width:190px;padding:10px 6px;overflow-y:auto}.tree-folder,.tree-file{white-space:nowrap;border-radius:6px;align-items:center;gap:7px;width:100%;height:28px;padding:0 8px;font-size:13px;display:flex;overflow:hidden}.tree-folder{color:var(--text-faint)}.tree-chevron{flex-shrink:0;transform:rotate(90deg)}.tree-folder svg,.tree-file svg{flex-shrink:0}.tree-folder span,.tree-file span{text-overflow:ellipsis;overflow:hidden}.tree-file{color:var(--text-muted);text-align:left;transition:background .15s,color .15s}.tree-file.nested{padding-left:27px}.tree-file:hover{color:var(--text);background:#ffffff0a}.tree-file.active{color:var(--text);background:#ffffff12}.code-viewer{flex-direction:column;flex:1;min-width:0;display:flex}.code-viewer-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 6px 0 16px;display:flex}.code-path{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;flex:1;font-size:12.5px;overflow:hidden}.code-scroll{-webkit-user-select:text;user-select:text;flex:1;overflow:auto}.code-scroll pre{font-family:var(--font-mono);margin:0;padding:12px 0 24px;font-size:12.5px;line-height:1.7}.code-line{padding-right:16px;display:flex}.line-number{text-align:right;color:#4d4d4d;-webkit-user-select:none;user-select:none;flex-shrink:0;width:46px;padding-right:16px}.code-line code{color:#d4d4d4;white-space:pre}.server-tab{flex-direction:column;flex:1;min-height:0;padding:16px;display:flex}.bot-feed{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.bot-feed li{gap:14px;padding:7px 4px;display:flex}.bot-time{font-family:var(--font-mono);color:var(--text-faint);padding-top:2px;font-size:11.5px}.bot-text{font-size:13.5px}.bot-result{color:var(--text-muted);font-size:12.5px}.console{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;flex:1;min-height:140px;display:flex;overflow:hidden}.console .log{white-space:pre;flex:1;padding:12px 14px;overflow-y:auto}.console-input{border-top:1px solid var(--border);height:40px;font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:8px;padding:0 14px;font-size:12.5px;display:flex}.console-input input{font-family:var(--font-mono);background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.console-input input::placeholder{color:var(--text-faint)}.uptime{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:12px;font-weight:400}.panel-empty{text-align:center;color:var(--text-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px;font-size:13.5px;display:flex}.panel-empty p{max-width:300px;margin:0;line-height:1.6}.panel-error{color:var(--red);margin:12px 2px 0;font-size:13px}.panel-button:disabled{opacity:.5;cursor:default}.status-spinner{color:var(--text-muted);flex-shrink:0}.toolchain-progress{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;padding:10px 16px;font-size:12.5px;display:flex}.build-errors{border-top:1px solid var(--border);font-family:var(--font-mono);margin:0;padding:10px 16px;font-size:12px;line-height:1.7;list-style:none}.build-errors li{gap:10px;display:flex}.build-error-file{color:var(--text-muted);flex-shrink:0}.status-card .log{max-height:420px;overflow-y:auto}button.tree-folder{text-align:left;transition:color .15s}button.tree-folder:hover{color:var(--text-muted)}.tree-chevron{transition:transform .15s;transform:none}.tree-chevron.open{transform:rotate(90deg)}.panel-button.subtle{height:26px;color:var(--text-muted);padding:0 10px;font-size:12.5px}.diff-summary{color:var(--text-faint);align-items:center;gap:10px;padding:10px 16px 0;font-size:12.5px;display:flex}.diff-view .code-line{padding-right:16px}.diff-sign{width:16px;color:var(--text-faint);-webkit-user-select:none;user-select:none;flex-shrink:0}.diff-add{background:#6fcf8f17}.diff-add .diff-sign{color:var(--green)}.diff-del{background:#ef7a7a14}.diff-del .diff-sign{color:var(--red)}.diff-del code{color:#9d9d9d}.diff-gap{font-family:var(--font-sans);color:var(--text-faint);background:#ffffff05;padding:4px 0 4px 62px;font-size:12px}.server-tab{gap:12px;overflow-y:auto}.server-tab .status-card{flex-shrink:0}.server-detail,.server-note{color:var(--text-muted);margin:-4px 16px 12px;font-size:12.5px;line-height:1.55}.server-note{color:var(--text-faint)}.server-note a{color:var(--text-muted)}.error-card{border-color:#ef7a7a4d}.bot-card{flex-direction:column;display:flex}.bot-icon{color:var(--text-muted);flex-shrink:0}.bot-card .bot-feed{border-top:1px solid var(--border);max-height:240px;margin:0;padding:6px 16px;overflow-y:auto}.bot-entry{gap:10px;font-size:12.5px;line-height:1.5;display:flex;padding:4px 0!important}.bot-entry.empty{color:var(--text-faint)}.bot-kind{width:70px;color:var(--text-faint);flex-shrink:0}.bot-entry .bot-text{min-width:0;color:var(--text);word-break:break-word;font-size:12.5px}.bot-entry.action .bot-text{color:var(--text-muted)}.bot-entry.error .bot-text,.bot-entry.kick .bot-text,.bot-entry.death .bot-text{color:var(--red)}.bot-card .console-input{margin:0}.bot-window{border:1px solid var(--border-strong);border-radius:10px;margin:0 16px 12px;overflow:hidden}.bot-window-header{height:32px;color:var(--text);background:#ffffff08;justify-content:space-between;align-items:center;padding:0 6px 0 12px;font-size:12.5px;display:flex}.bot-window-header button{width:22px;height:22px;color:var(--text-faint);border-radius:6px;place-items:center;display:grid}.bot-window-header button:hover{color:var(--text);background:#ffffff12}.bot-window-items{flex-wrap:wrap;gap:6px;padding:10px;display:flex}.bot-item{border:1px solid var(--border);height:28px;color:var(--text);border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.bot-item:hover{background:#ffffff0f}.bot-item-count,.bot-item-empty{color:var(--text-faint);font-size:12px}.bot-who{color:var(--text-muted)}.tests-card{flex-direction:column;display:flex}.tests-auto{color:var(--text-faint);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.mini-toggle{background:#ffffff1f;border-radius:999px;flex-shrink:0;width:28px;height:16px;transition:background .15s;position:relative}.mini-toggle span{background:var(--text-muted);border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px}.mini-toggle.on{background:#d6d6d6}.mini-toggle.on span{background:#1b1b1b;transform:translate(12px)}.tests-list{border-top:1px solid var(--border);margin:0;padding:4px 6px 6px;list-style:none}.test-head{align-items:center;display:flex}.test-toggle{min-width:0;height:32px;color:var(--text);text-align:left;border-radius:8px;flex:1;align-items:center;gap:10px;padding:0 8px 0 10px;font-size:13px;display:flex}.test-toggle:not(:disabled):hover{background:#ffffff0a}.test-toggle:disabled{cursor:default}.test-status{width:14px;color:var(--text-faint);flex-shrink:0;place-items:center;display:grid}.test-row.passed .test-status{color:var(--text)}.test-row.failed .test-status{color:var(--red)}.test-pending{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.test-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.test-meta{color:var(--text-faint);flex-shrink:0;font-size:12px}.test-chevron{color:var(--text-faint);flex-shrink:0;transition:transform .15s}.test-chevron.open{transform:rotate(90deg)}.test-run{width:26px;height:26px;color:var(--text-faint);opacity:0;border-radius:7px;flex-shrink:0;place-items:center;transition:opacity .15s;display:grid}.test-head:hover .test-run,.test-run:focus-visible{opacity:1}.test-run:hover{color:var(--text);background:#ffffff12}.test-checks{margin:0 0 6px 34px;padding:0 8px 0 0;list-style:none}.test-check{color:var(--text-muted);word-break:break-word;gap:8px;padding:3px 0;font-size:12.5px;line-height:1.5;display:flex}.test-check.failed{color:var(--text)}.test-check-mark{color:var(--text-faint);flex-shrink:0}.test-check.failed .test-check-mark{color:var(--red)}.test-check-detail{color:var(--text-faint);white-space:pre-wrap;display:block}.tests-footer{border-top:1px solid var(--border);justify-content:flex-end;padding:10px;display:flex}.server-tab .console{flex:1 0 220px}.console .log div{white-space:pre-wrap;word-break:break-word}.console-input input:disabled{opacity:.6}.preview-tab{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex}.preview-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 6px 0 12px;display:flex}.preview-address{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text-muted);flex:1;margin-left:4px;font-size:12px;overflow:hidden}.preview-devices{background:#ffffff0a;border-radius:7px;gap:2px;padding:2px;display:flex}.preview-device,.preview-tool{width:26px;height:26px;color:var(--text-faint);border-radius:6px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.preview-device:hover,.preview-tool:hover{color:var(--text);background:#ffffff0f}.preview-device.active{color:var(--text);background:#ffffff1a}.preview-stage{border:1px solid var(--border);background:#fff;border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.preview-frame{transform-origin:0 0;background:#fff;border:0;position:absolute;top:0}.preview-placeholder{border:1px dashed var(--border-strong);text-align:center;min-height:0;color:var(--text-muted);border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.preview-placeholder p{max-width:320px;margin:0;font-size:13px;line-height:1.55}.preview-placeholder small{max-width:300px;color:var(--text-faint);font-size:12px}.preview-errors{flex-shrink:0}.preview-errors .status-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-log{border:1px solid var(--border);max-height:180px;font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;background:#0003;border-radius:10px;flex-shrink:0;margin:0;padding:10px 12px;font-size:11.5px;line-height:1.55;overflow:auto}.preview-log-toggle{color:var(--text-faint);align-self:flex-start;font-size:12px}.preview-log-toggle:hover{color:var(--text-muted)}
