:root{--bg: #0d0d0f;--bg-2: #131316;--panel: #161618;--panel-2: #101012;--elev: #1c1c20;--elev-2: #232328;--line: #26262b;--line-soft: #1d1d21;--text: #ededee;--text-dim: #a0a0a6;--text-faint: #6e6e74;--accent: #6f8cff;--brand-blue: var(--accent);--brand-green: #3fb950;--brand-yellow: #d29922;--brand-red: #f85149;--ok: #3fb950;--warn: #d29922;--err: #f85149;--radius: 8px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:var(--accent)}.app{display:grid;grid-template-rows:48px 1fr;height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.brand{display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.1px}.brand .logo{width:22px;height:22px}.brand .name{font-size:14px;color:var(--text)}.brand .name b{color:var(--accent);font-weight:700}.topbar .spacer{flex:1}.topbar .meta{color:var(--text-faint);font-size:12px;display:flex;gap:12px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);display:inline-block}.dot.on{background:var(--ok)}.dot.warn{background:var(--warn)}.btn{background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:var(--radius);padding:6px 11px;font-size:13px;transition:background .12s,color .12s,border-color .12s}.btn:hover{background:var(--elev);color:var(--text)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:#fff;font-weight:600;border-color:var(--accent)}.btn.primary:hover{background:var(--accent);filter:brightness(1.08);color:#fff}.btn.green{background:var(--brand-green);color:#fff;font-weight:600;border-color:var(--brand-green)}.btn.green:hover{background:var(--brand-green);filter:brightness(1.08);color:#fff}.btn.ghost{background:transparent}.btn.sm{padding:4px 9px;font-size:12px}.workspace{display:grid;grid-template-columns:230px 1fr 420px;min-height:0}.pane{min-width:0;min-height:0;display:flex;flex-direction:column}.pane+.pane{border-left:1px solid var(--line-soft)}.pane-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:12px;font-weight:600;letter-spacing:0;color:var(--text-faint);border-bottom:1px solid var(--line-soft);background:transparent}.pane-body{flex:1;overflow:auto}.switcher{position:relative;flex:1;min-width:0}.switcher-btn{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;padding:0;cursor:pointer;color:var(--text);font-size:13px}.switcher-btn:hover{color:#fff}.switcher-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-align:left}.switcher-caret{color:var(--text-faint);font-size:10px;flex-shrink:0}.switcher-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-width:300px;background:var(--elev);border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px #00000080;padding:6px;z-index:60}.switcher-empty{padding:8px 10px;color:var(--text-faint);font-size:12px}.switcher-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-dim)}.switcher-item:hover{background:var(--elev-2);color:var(--text)}.switcher-item.active{color:var(--accent)}.switcher-mark{width:14px;text-align:center;color:var(--accent);font-size:12px;flex-shrink:0}.switcher-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-del{background:transparent;border:0;color:var(--text-faint);cursor:pointer;padding:2px 5px;border-radius:5px;font-size:11px;line-height:1;opacity:0}.switcher-item:hover .switcher-del{opacity:1}.switcher-del:hover{color:var(--err);background:#f851491f}.switcher-act{background:transparent;border:0;color:var(--text-faint);cursor:pointer;padding:2px 5px;border-radius:5px;font-size:11px;line-height:1;opacity:0}.switcher-item:hover .switcher-act{opacity:1}.switcher-act:hover{color:var(--text);background:var(--elev-2)}.switcher-rename{flex:1;min-width:0;background:var(--elev);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-size:13px;padding:3px 6px}.switcher-rename:focus{outline:none}.switcher-divider{height:1px;background:var(--line);margin:5px 2px}.switcher-item.new:hover{color:var(--accent)}.seg-toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.seg{background:transparent;border:0;padding:4px 12px;font-size:12px;color:var(--text-dim);cursor:pointer}.seg.active{background:var(--elev);color:var(--text)}.seg:not(.active):hover{color:var(--text)}.preview-pane{flex:1;min-height:0;display:flex;flex-direction:column}.preview-toolbar{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line-soft);background:transparent;font-size:12px}.preview-badge{color:var(--warn);font-size:11.5px}.preview-frame{flex:1;width:100%;min-height:0;border:0;background:#fff}.preview-error{padding:18px;color:var(--text-faint);font-size:13px}.mock-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 12px;border-top:1px solid var(--line-soft);background:transparent;font-size:11.5px;max-height:64px;overflow:auto}.preview-banners{display:flex;flex-direction:column;gap:4px;padding:6px 12px;border-top:1px solid var(--line-soft)}.preview-banner{font-size:12px;padding:5px 8px;border-radius:6px;line-height:1.4}.preview-banner.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent)}.preview-banner.error{color:var(--err);background:color-mix(in srgb,var(--err) 10%,transparent)}.mock-chip{font-family:var(--mono);background:var(--elev);border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--text-dim)}.muted{color:var(--text-faint)}.preview-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--bg);display:flex;flex-direction:column}.preview-fs-body{flex:1;min-height:0;display:flex}.preview-fs-frame{flex:1;width:100%;min-height:0;border:0;background:#fff}.tool-row-wrap{display:flex;flex-direction:column;gap:4px}.tool-row[role=button]{cursor:pointer}.tool-row .caret{margin-left:auto;color:var(--text-faint);font-size:10px}.diff-meta{font-size:11px;font-family:var(--mono);display:inline-flex;gap:6px}.diff-meta .add{color:var(--brand-green)}.diff-meta .del{color:var(--err)}.diff{font-family:var(--mono);font-size:11px;line-height:1.5;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:6px;padding:4px 0;max-height:260px;overflow:auto}.diff-line{display:flex;gap:6px;padding:0 8px;white-space:pre-wrap;word-break:break-word}.diff-line.add{background:#3fb9501f;color:#7ee99a}.diff-line.del{background:#f851491f;color:#ff9b94}.diff-line.ctx{color:var(--text-faint)}.diff-sign{width:8px;flex-shrink:0;opacity:.85;-webkit-user-select:none;user-select:none}.diff-text{flex:1;min-width:0}.diff-more{padding:2px 8px;color:var(--text-faint);font-style:italic}@keyframes line-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.diff-line.line-in{animation:line-in .18s ease-out both}@keyframes flash-add{0%{background:#3fb9506b}to{background:#3fb9501f}}.diff-line.add{animation:line-in .18s ease-out both,flash-add 1.4s ease-out .08s both}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.diff-cursor{display:inline-block;width:7px;height:13px;margin:1px 8px;background:var(--accent);vertical-align:text-bottom;animation:blink .8s step-end infinite}@keyframes row-pulse{0%,to{opacity:.55}50%{opacity:1}}.tool-row.pending{animation:row-pulse 1.1s ease-in-out infinite}.tool-row .working{display:inline-flex;align-items:center;gap:6px;color:var(--text-faint)}.tool-row .working-text{font-size:11px}.ctx-meter{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-faint)}.ctx-bar{display:inline-block;width:44px;height:5px;background:var(--panel-2);border:1px solid var(--line);border-radius:3px;overflow:hidden;vertical-align:middle}.ctx-fill{display:block;height:100%;background:var(--brand-green);transition:width .3s ease}.ctx-fill.warn{background:var(--warn)}.ctx-fill.danger{background:var(--err)}.ctx-pct{font-variant-numeric:tabular-nums}.changes{margin:8px 0 2px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--panel-2)}.changes-head{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--elev);border-bottom:1px solid var(--line-soft);font-size:12px}.changes-title{font-weight:600;color:var(--text)}.changes-totals{font-family:var(--mono);font-size:11px;display:inline-flex;align-items:center;gap:8px}.changes-totals .add,.change-counts .add{color:var(--brand-green)}.changes-totals .del,.change-counts .del{color:var(--err)}.changes-undo{font-family:var(--sans);font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-dim);cursor:pointer;transition:border-color .12s,color .12s}.changes-undo:hover{border-color:var(--accent);color:var(--accent)}.changes-undone{font-family:var(--sans);font-size:11px;color:var(--text-faint);font-style:italic}.changes-files,.change-file-wrap{display:flex;flex-direction:column}.change-file{display:flex;align-items:center;gap:8px;padding:5px 10px;font-size:12px}.change-file[role=button]{cursor:pointer}.change-file:hover{background:var(--elev)}.change-status{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:10px;font-weight:700;flex-shrink:0}.change-status.new{background:#3fb9502e;color:#7ee99a}.change-status.mod{background:#d299222e;color:#f0d07c}.change-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.change-counts{font-family:var(--mono);font-size:11px;white-space:nowrap}.change-file .caret{color:var(--text-faint);font-size:10px}.change-file.plain{cursor:default}.change-note{font-size:11px;color:var(--text-faint);white-space:nowrap}.filetree{list-style:none;margin:0;padding:6px}.filetree li{padding:5px 10px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);border-left:2px solid transparent}.filetree li:hover{background:var(--elev);color:var(--text)}.filetree li.active{background:var(--elev);color:var(--text);border-left-color:var(--accent)}.filetree li.meta{color:var(--text-faint)}.filetree .ext{font-size:9px;font-weight:700;text-transform:uppercase;min-width:26px;text-align:center;font-family:var(--sans)}.filetree .ext.gs{color:var(--brand-green)}.filetree .ext.html{color:#e37933}.filetree .ext.json,.filetree .ext.js{color:var(--brand-yellow)}.filetree .ext.css{color:var(--accent)}.filetree .sz{font-size:11px;color:var(--text-faint);font-family:var(--mono)}.filetree .file-name{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.filetree .row-actions{display:inline-flex;align-items:center;gap:6px;flex:none}.filetree .file-del{background:transparent;border:0;color:var(--text-faint);cursor:pointer;padding:1px 5px;border-radius:5px;font-size:11px;line-height:1.4;opacity:0;transition:opacity .12s}.filetree li:hover .file-del,.file-del:focus-visible{opacity:1}.filetree .file-del:hover{color:var(--err);background:#f851491f}@media(hover:none){.filetree .file-del,.switcher-del{opacity:.5}}.empty{color:var(--text-faint);padding:18px;text-align:center;font-size:13px}.editor-wrap{flex:1;min-height:0;position:relative}.editor-tabs{display:flex;gap:2px;padding:6px 8px 0}.editor-tab{font-size:12px;padding:5px 10px;border-radius:6px 6px 0 0;background:var(--elev);color:var(--text-dim);border:1px solid var(--line-soft);border-bottom:none}.editor-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--text-faint)}.editor-empty .big{font-size:40px}.chat{display:flex;flex-direction:column;height:100%;background:var(--panel)}.chat .stream{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.msg{display:flex;flex-direction:column;gap:6px}.msg .who{font-size:11px;font-weight:600;color:var(--text-faint)}.msg.user .bubble{background:var(--elev);border:1px solid var(--line-soft)}.msg .bubble{padding:4px 0;border-radius:10px;background:transparent;border:0;font-size:14px;line-height:1.6;word-wrap:break-word;color:var(--text)}.msg .bubble code{font-family:var(--mono);font-size:12.5px;background:var(--panel-2);padding:1px 5px;border-radius:4px}.msg .bubble.summary{border-left:3px solid var(--brand-green);padding-left:10px}.msg .bubble.plan{border-left:3px solid var(--accent);padding-left:10px;color:var(--text-dim)}.plan-tag,.done-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:2px 8px;margin-right:8px;vertical-align:1px}.plan-tag{background:#5882ff1f;color:var(--accent)}.done-tag{background:#22a05a1f;color:var(--ok)}.cursor:after{content:"▋";color:var(--accent);animation:blink 1s steps(2) infinite}.msg .bubble p{margin:0 0 8px}.msg .bubble p:last-child{margin-bottom:0}.msg .bubble ul,.msg .bubble ol{margin:0 0 8px;padding-left:20px}.msg .bubble li{margin:2px 0}.msg .bubble h1,.msg .bubble h2,.msg .bubble h3,.msg .bubble h4{margin:12px 0 6px;line-height:1.3}.msg .bubble h1{font-size:18px}.msg .bubble h2{font-size:16px}.msg .bubble h3{font-size:14px}.msg .bubble pre{margin:8px 0;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;overflow-x:auto}.msg .bubble pre code{background:transparent;padding:0;font-size:12.5px}.msg .bubble a{color:var(--accent);text-decoration:none}.msg .bubble a:hover{text-decoration:underline}.msg .bubble blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--line);color:var(--text-dim)}.msg .bubble hr{border:none;border-top:1px solid var(--line);margin:12px 0}.msg .bubble table{border-collapse:collapse;margin:8px 0;font-size:13px}.msg .bubble th,.msg .bubble td{border:1px solid var(--line);padding:4px 8px;text-align:left}.msg .bubble th{background:var(--panel-2)}.tool-activity{display:flex;flex-direction:column;gap:4px;margin-top:2px}.tool-row{font-size:12px;font-family:var(--mono);color:var(--text-dim);display:flex;align-items:center;gap:7px}.tool-row .tag{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:5px;background:var(--elev);border:1px solid var(--line-soft);color:var(--text-dim)}.tool-row .name{color:var(--accent)}.tool-row .ok{color:var(--ok)}.tool-row .fail{color:var(--err)}.tool-row .res{color:var(--text-faint)}.composer{padding:10px 12px 12px;background:var(--panel);border-top:1px solid var(--line-soft)}.composer-box{position:relative;background:var(--elev);border:1px solid var(--line);border-radius:12px;transition:border-color .12s}.composer-box:focus-within{border-color:var(--accent)}.composer-box textarea{width:100%;resize:none;background:transparent;color:var(--text);border:0;padding:12px 46px 12px 14px;font-size:14px;line-height:1.5;min-height:52px;max-height:180px}.composer-box textarea::placeholder{color:var(--text-faint)}.composer-box textarea:focus{outline:none}.composer-send{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:filter .12s,opacity .12s}.composer-send:hover:not(:disabled){filter:brightness(1.1)}.composer-send:disabled{background:var(--elev-2);color:var(--text-faint);cursor:default}.composer-stop{background:var(--err, #c0392b)}.composer-stop:hover:not(:disabled){filter:brightness(1.15)}.composer-hint{font-size:11px;color:var(--text-faint);margin-top:6px;padding:0 2px}.composer-atts{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 0}.comp-att{position:relative;width:64px;height:44px;border-radius:8px;overflow:hidden;border:1px solid var(--line-soft);background:#fff;animation:att-in .16s ease-out;transition:border-color .12s}.comp-att:hover{border-color:var(--accent)}.comp-att img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}.comp-att-x{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:#080a0ec7;color:#fff;font-size:8px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s,background .12s}.comp-att:hover .comp-att-x,.comp-att-x:focus-visible{opacity:1}.comp-att-x:hover{background:var(--err, #c0392b)}.comp-att-x:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media(hover:none){.comp-att-x{opacity:1}}.comp-att.pending{border-style:dashed;border-color:var(--line);background:transparent}.comp-att-spinner{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:sp .7s linear infinite}.composer-box:has(.composer-atts) textarea{min-height:40px;padding-top:8px}@keyframes att-in{0%{opacity:0;transform:translateY(2px) scale(.94)}to{opacity:1;transform:none}}.composer-warn{margin-bottom:8px;padding:7px 10px;border-radius:8px;border:1px solid var(--warn-line, #e6c15a);background:var(--warn-bg, #fdf6e0);color:var(--warn-text, #7a5d00);font-size:12px;line-height:1.45}.msg-atts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.msg-att{max-width:168px;max-height:120px;border-radius:10px;border:1px solid var(--line-soft);box-shadow:0 1px 2px #0000002e;display:block;cursor:zoom-in;transition:border-color .12s,transform .12s}.msg-att:hover{border-color:var(--accent);transform:translateY(-1px)}.msg-att:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zoom-img{max-width:94vw;max-height:92vh;border-radius:12px;border:1px solid var(--line);box-shadow:0 30px 80px #0009;cursor:zoom-out;animation:toast-in .14s ease-out}.work-log{margin:8px 0 4px}.work-log>summary{cursor:pointer;font-size:11.5px;color:var(--text-faint);list-style:none;display:inline-flex;align-items:center;gap:6px;padding:2px 0}.work-log>summary::-webkit-details-marker{display:none}.work-log>summary:before{content:"▸";font-size:9px}.work-log[open]>summary:before{content:"▾"}.work-log>summary:hover{color:var(--text)}.work-log>p{margin:6px 0 0;padding-left:11px;border-left:2px solid var(--line-soft);font-size:12.5px;line-height:1.5;color:var(--text-faint);white-space:pre-wrap}.turns-left{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums;padding:2px 7px;border-radius:999px;border:1px solid var(--line-soft)}.turns-left.low{color:#f0b429;border-color:#f0b42973}.suggestion.primary{border-color:var(--accent);color:var(--accent);font-weight:600}.check-row{display:flex;align-items:center;gap:8px;cursor:pointer}.check-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.toast{position:fixed;left:20px;bottom:20px;z-index:200;max-width:min(380px,calc(100vw - 40px));display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.45;background:var(--elev);border:1px solid var(--line);box-shadow:0 12px 32px #00000029;animation:toast-in .28s ease}.toast .toast-ico{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.toast.info{border-color:var(--accent)}.toast.info .toast-ico{background:var(--accent)}.toast.warn{border-color:var(--warn)}.toast.warn .toast-ico{background:var(--warn)}.toast.error{border-color:var(--err)}.toast.error .toast-ico{background:var(--err)}.toast .x{color:var(--text-faint);cursor:pointer;margin-left:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:520px;max-width:92vw;max-height:88vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px #0000008c}.modal h2{margin:0;padding:16px 18px;font-size:15px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center}.modal .body{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.modal .foot{padding:12px 18px;border-top:1px solid var(--line-soft);display:flex;justify-content:flex-end;gap:8px;background:var(--panel-2);position:sticky;bottom:0}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--text-dim)}.field input,.field select,.field textarea{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:9px 10px;font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field .help{font-size:11px;color:var(--text-faint)}.deploy-auth{margin-top:10px;padding:12px;border:1px dashed var(--warn);border-radius:10px;font-size:12px;display:flex;flex-direction:column;gap:8px}.deploy-auth b{color:var(--text)}.deploy-auth-step{color:var(--text-dim);line-height:1.6}.deploy-auth-step code{font-family:var(--mono);background:var(--panel-2);padding:1px 5px;border-radius:4px}.deploy-auth .btn{align-self:flex-start}.radio-group{display:flex;flex-direction:column;gap:6px}.radio{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}.radio.on{border-color:var(--accent);background:var(--elev)}.radio input{accent-color:var(--accent)}.radio span{display:flex;flex-direction:column;gap:1px}.radio b{font-size:13px;font-weight:600}.radio small{font-size:11px;color:var(--text-dim)}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.choice{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel-2);cursor:pointer;display:flex;gap:9px;align-items:flex-start}.choice:hover{border-color:var(--elev-2)}.choice.active{border-color:var(--accent);background:#6f8cff1a}.choice-icon{flex:none;width:28px;height:28px;border-radius:7px;background:var(--elev);display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);transition:color .12s,background .12s}.choice:hover .choice-icon{color:var(--text)}.choice.active .choice-icon{color:var(--accent);background:#6f8cff24}.choice-text{min-width:0}.choice .t{font-size:13px;font-weight:600;display:block}.choice .d{font-size:11.5px;color:var(--text-faint);margin-top:3px;display:block}.choice-group-label{grid-column:1 / -1;font-size:11px;font-weight:600;color:var(--text-faint);margin:8px 0 2px}.choice-group-label:first-child{margin-top:0}.tpl-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tpl{display:flex;gap:9px;align-items:flex-start;text-align:left;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--panel-2);cursor:pointer;color:var(--text);font:inherit}.tpl:hover{border-color:var(--elev-2);background:var(--elev)}.tpl.active{border-color:var(--accent);background:#6f8cff1a}.tpl:disabled{opacity:.5;cursor:default}.tpl-icon{flex:none;width:32px;height:32px;border-radius:8px;background:var(--elev);display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim);transition:color .12s,background .12s}.tpl:hover .tpl-icon{color:var(--accent)}.tpl.active .tpl-icon{color:var(--accent);background:#6f8cff24}.tpl-text{display:flex;flex-direction:column;min-width:0}.tpl-title{font-size:12.5px;font-weight:600}.tpl-blurb{font-size:11px;color:var(--text-faint);margin-top:2px;line-height:1.35}.empty-label{font-size:11px;font-weight:600;color:var(--text-faint);margin:4px 0 8px}.scope-preview{border:1px solid var(--line-soft);border-radius:10px;background:var(--panel-2);padding:10px 12px}.scope-preview .sp-head{font-size:12px;color:var(--text-dim);margin-bottom:8px}.scope-row{display:flex;gap:9px;align-items:flex-start;padding:5px 0;font-size:12.5px}.scope-row+.scope-row{border-top:1px solid var(--line-soft)}.scope-row .ico{flex:none;width:16px;text-align:center}.scope-row .what{color:var(--text)}.scope-row .note{color:var(--text-faint);font-size:11px}.scope-risk{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;flex:none}.scope-risk.sensitive{color:var(--warn);border:1px solid var(--warn)}.scope-risk.high{color:#fff;background:var(--err)}.scope-risk.low{color:var(--text-dim);border:1px solid var(--line)}.kvs{display:flex;flex-direction:column;gap:6px;font-size:13px}.kv{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line-soft)}.kv .k{color:var(--text-dim)}.sev{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}.sev.high{color:#fff;background:var(--err)}.sev.med{color:#000;background:var(--warn)}.sev.low{color:var(--text-dim);border:1px solid var(--line)}.finding{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:12.5px}.finding .loc{font-family:var(--mono);color:var(--brand-yellow)}.finding .sug{color:var(--text-faint);margin-top:3px}.scope-list{font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim)}.badge.ok{color:var(--ok);border-color:var(--ok)}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}@keyframes sp{to{transform:rotate(360deg)}}.agent-status{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-faint);letter-spacing:.3px}.agent-status-row{margin-top:10px;padding:2px 0}.agent-status .spin{width:15px;height:15px;border-color:#33405e;animation:sp .7s linear infinite,heat-ramp 4s ease-in-out infinite}@keyframes heat-ramp{0%{border-top-color:#5b8cff;filter:drop-shadow(0 0 0 rgba(255,120,40,0))}35%{border-top-color:#ffb45e;filter:drop-shadow(0 0 5px rgba(255,140,40,.45))}65%{border-top-color:#ff5a3c;filter:drop-shadow(0 0 10px rgba(255,60,30,.7))}to{border-top-color:#5b8cff;filter:drop-shadow(0 0 0 rgba(255,120,40,0))}}.agent-status-label{font-weight:600;animation:status-fade .45s ease,heat-text 4s ease-in-out infinite}@keyframes heat-text{0%{color:#7aa2ff}35%{color:#ffb45e}65%{color:#ff7a50}to{color:#7aa2ff}}@keyframes status-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.phase-chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:#5882ff1a;border:1px solid rgba(88,130,255,.35);border-radius:999px;padding:3px 10px}.phase-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);animation:model-pulse 1.6s ease-in-out infinite}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:clamp(32px,6vw,88px);background:var(--bg);overflow:auto;padding:40px 24px}.login-glow{position:fixed;border-radius:50%;filter:blur(120px);pointer-events:none}.login-glow-a{width:520px;height:520px;top:-180px;left:-120px;background:#6f8cff29}.login-glow-b{width:420px;height:420px;bottom:-160px;right:-80px;background:#3fb9501a}.login-hero{position:relative;max-width:470px;flex:1 1 470px}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.login-brand .logo{width:38px;height:38px}.login-brand-name{font-size:18px;letter-spacing:.2px}.login-headline{margin:0 0 10px;font-size:clamp(28px,3.6vw,40px);line-height:1.1;font-weight:750;letter-spacing:-.5px}.login-sub{margin:0 0 18px;color:var(--text-dim);font-size:14px;line-height:1.55;max-width:440px}.login-props{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.login-prop{display:flex;gap:11px;align-items:flex-start}.login-prop-icon{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--elev);border:1px solid var(--line-soft);color:var(--accent);font-size:13px}.login-prop-title{font-size:13px;font-weight:600;color:var(--text)}.login-prop-text{font-size:12px;color:var(--text-dim);line-height:1.45;margin-top:1px}.login-card{flex:none;width:340px;max-width:92vw;padding:34px 32px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px #00000080;text-align:center}.login-card-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.login-card-title{margin:0 0 6px;font-size:17px}.login-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 22px;font-size:14.5px;text-decoration:none;width:100%;justify-content:center}.login-btn .g-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--accent);font-weight:800;font-size:12px;font-family:var(--sans)}.login-note{margin:6px 0 0;color:var(--text-faint);font-size:11.5px}.login-divider{display:flex;align-items:center;gap:12px;width:100%;color:var(--text-faint);font-size:11.5px;margin:2px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}@media(max-width:880px){.login-page{flex-direction:column;align-items:center;text-align:center;padding:32px 20px}.login-hero{max-width:480px}.login-props{align-items:center;text-align:left}.login-brand{justify-content:center}}.boot-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-faint);background:var(--bg)}.user-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--text-dim)}.user-chip img{width:18px;height:18px;border-radius:50%}.model-chip{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--text-dim);background:var(--elev);border:1px solid var(--line);border-radius:999px;padding:4px 11px}.model-chip .model-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-green, var(--accent));box-shadow:0 0 6px #22a05a8c;animation:model-pulse 2s ease-in-out infinite}@keyframes model-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;padding:0;text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default}.sheet-connect{display:flex;flex-direction:column;gap:8px;padding:10px 12px 0}.sheet-connect .search{width:100%}.sheet-connect .btn{align-self:flex-start}.sheet-summary{font-size:12px;color:var(--ok);font-weight:600}.sheet-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px dashed var(--accent);border-radius:10px;font-size:13px;color:var(--text-dim)}.sheet-addrow{display:flex;gap:8px}.sheet-addrow .search{flex:1}.sheet-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line-soft);border-radius:999px;padding:4px 10px;font-size:12px;max-width:100%;overflow:hidden;white-space:nowrap;color:var(--text)}.chip-x{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:11px;padding:0 2px}.chip-x:hover{color:var(--err)}.sheet-hint{width:100%;font-size:11px;color:var(--text-dim)}.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;background:var(--panel);border-top:1px solid var(--line-soft)}.chat-toolbar-left,.chat-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chat-toolbar-btn{display:inline-flex;align-items:center;gap:5px}.chat-toolbar-btn svg{flex:none}.sheet-connect-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sheet-connect-title{font-size:13px;font-weight:600;color:var(--text)}.design-picker-wrap{position:relative}.design-picker{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--text-dim);font-size:12px;padding:4px 9px}.design-picker:hover:not(:disabled){color:var(--text);background:var(--elev)}.design-picker:disabled{opacity:.45;cursor:default}.design-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-dot{width:10px;height:10px;border-radius:50%;background:var(--line);display:inline-block;flex:none}.design-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:240px;max-width:300px;background:var(--elev);border:1px solid var(--line);border-radius:10px;box-shadow:0 -16px 40px #00000080;padding:6px;z-index:60}.design-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-dim)}.design-item:hover{background:var(--elev-2);color:var(--text)}.design-item.active,.design-item.new:hover{color:var(--accent)}.design-mark{width:14px;text-align:center;color:var(--accent);font-size:12px;flex-shrink:0}.design-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-sub{font-size:12.5px;color:var(--text-faint);line-height:1.5}.active-kit-note{font-size:12.5px;color:var(--text-dim);border:1px solid var(--line-soft);background:var(--panel-2);border-radius:8px;padding:9px 11px;line-height:1.5}.active-kit-note b{color:var(--text)}.kit-list{display:flex;flex-direction:column;gap:10px}.kit-card{border:1px solid var(--line-soft);border-radius:10px;background:var(--panel-2);padding:11px 12px}.kit-card.active{border-color:var(--accent)}.kit-card-top{display:flex;align-items:center;gap:10px}.kit-logo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:var(--elev);border:1px solid var(--line);flex:none}.kit-logo.ph{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent)}.kit-favicon{width:16px;height:16px;border-radius:4px;object-fit:contain;flex:none;opacity:.75}.kit-card-name{min-width:0;flex:1}.kit-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.kit-sub{font-size:11px;color:var(--text-dim);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-fonts{font-size:11px;color:var(--text-faint);margin-top:2px}.kit-swatches{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap}.swatch{width:17px;height:17px;border-radius:4px;border:1px solid rgba(255,255,255,.16)}.kit-tokens{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.token-chip{font-size:10.5px;color:var(--text-dim);background:var(--elev);border:1px solid var(--line-soft);border-radius:999px;padding:2px 8px}.kit-notes{font-size:12px;color:var(--text-dim);margin-top:8px;line-height:1.45}.kit-actions{display:flex;gap:7px;margin-top:10px}.btn.danger{color:var(--err);border-color:var(--line)}.btn.danger:hover{background:#f851491f;color:var(--err);border-color:var(--err)}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.color-field{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:5px 8px;background:var(--bg)}.color-field input[type=color]{width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;cursor:pointer;flex:none}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-field input[type=color]::-webkit-color-swatch{border:1px solid var(--line);border-radius:6px}.color-field input[type=text]{flex:1;min-width:0;background:transparent;border:0;padding:4px 2px;font-size:12.5px;font-family:var(--mono);color:var(--text)}.color-field input[type=text]:focus{outline:none}.color-label{font-size:11px;color:var(--text-dim);flex:none}.font-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.font-field{display:flex;flex-direction:column;gap:4px}.font-field input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:13px}.font-field input:focus{outline:none;border-color:var(--accent)}.token-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.token-field{display:flex;flex-direction:column;gap:4px}.token-field input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;font-size:12.5px;font-family:var(--mono)}.token-field input:focus{outline:none;border-color:var(--accent)}.token-field input::placeholder{font-family:inherit;color:var(--text-faint)}.modal-lg{width:640px;max-width:92vw}.mode-tabs{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.mode-tab{flex:1;padding:8px 12px;font-size:13px;background:transparent;color:var(--text-dim);border:0;border-right:1px solid var(--line);cursor:pointer;transition:background .12s,color .12s}.mode-tab:last-child{border-right:0}.mode-tab:hover:not(.active){background:var(--elev);color:var(--text)}.mode-tab.active{background:var(--elev);color:var(--accent);font-weight:600}.mode-tab:disabled{opacity:.4;cursor:default}.label-optional{color:var(--text-faint);font-weight:400;font-size:11px}.help.ok{color:var(--ok)}.help.err{color:var(--err)}.template-note{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#6f8cff14;border:1px solid rgba(111,140,255,.2);border-radius:8px;font-size:12px;color:var(--text-dim);line-height:1.4}.template-note svg{color:var(--accent);flex:none}.filetree-actions{padding:8px 8px 6px}.new-file-btn{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:5px;color:var(--text-dim)}.new-file-btn:hover:not(:disabled){color:var(--accent)}.new-file-form{margin:6px 8px 4px;padding:8px;border:1px solid var(--accent);border-radius:8px;background:var(--bg);display:flex;flex-direction:column;gap:6px}.new-file-exts{display:flex;gap:4px;flex-wrap:wrap}.new-file-ext{font-size:11px;font-family:var(--mono);padding:2px 8px;border-radius:5px;background:var(--elev);border:1px solid var(--line-soft);color:var(--text-dim);cursor:pointer}.new-file-ext:hover{color:var(--text)}.new-file-ext.active{border-color:var(--accent);color:var(--accent);background:#6f8cff1f}.new-file-form input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:13px}.new-file-form input:focus{outline:none;border-color:var(--accent)}.new-file-buttons{display:flex;gap:6px;justify-content:flex-end}.msg-copy{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-faint);background:transparent;border:0;cursor:pointer;padding:2px 6px;border-radius:5px;transition:color .12s,background .12s;align-self:flex-start}.msg-copy:hover{color:var(--text-dim);background:var(--elev)}.msg-copy svg{flex:none}.deploy-progress{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:8px;font-size:12.5px;color:var(--text-dim)}.deploy-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.deploy-actions .btn{display:inline-flex;align-items:center;gap:5px}.deploy-actions a.btn{text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--elev-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--line)}*{scrollbar-width:thin;scrollbar-color:var(--elev-2) transparent}.btn:focus-visible,.choice:focus-visible,.tpl:focus-visible,.radio:focus-visible,.filetree li:focus-visible,.switcher-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choice:hover{border-color:#6f8cff66}.tpl:hover{border-color:#6f8cff66;background:var(--elev)}.boot-screen{flex-direction:column;gap:14px}.boot-brand{display:flex;align-items:center;gap:10px}.boot-brand .logo{width:32px;height:32px}.boot-name{font-size:18px;font-weight:700;color:var(--text)}.boot-name b{color:var(--accent)}.chat-empty{padding:24px 16px;text-align:left;color:var(--text-faint);font-size:14px;line-height:1.6;border-left:3px solid var(--accent);margin:8px 0}.editor-status{position:absolute;bottom:6px;right:12px;font-size:11px;color:var(--text-faint);pointer-events:none}.editor-status.failed{color:var(--err)}.radio.on{box-shadow:inset 0 0 0 1px var(--accent)}.composer-stop{background:var(--err)}.msg .bubble{padding:8px 0}.choices-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.deploy-primary-row{margin-bottom:8px}.deploy-primary{width:100%;justify-content:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.more-wrap{position:relative}.more-btn{letter-spacing:1px}.more-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--elev);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 12px 32px #00000059;z-index:150;display:flex;flex-direction:column}.more-item{display:flex;align-items:center;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;color:var(--text);font-size:13px;border-radius:6px;cursor:pointer}.more-item:hover{background:var(--elev-2)}.more-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.more-item:disabled{opacity:.4;cursor:not-allowed}.more-item.danger{color:var(--err)}.more-item.danger:hover{background:#f851491f;color:var(--err)}.more-menu .switcher-divider{margin:4px 0}.confirm-modal{width:420px}.confirm-msg{font-size:14px;line-height:1.55;color:var(--text)}.section-title{font-weight:600;margin-bottom:8px}.mono{font-family:var(--mono)}.text-err{color:var(--err)}.text-warn{color:var(--warn)}.dim{color:var(--text-dim)}.fs12{font-size:12px}.mt-10{margin-top:10px}.palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh;z-index:400}.palette{width:560px;max-width:92vw;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px #0000008c;overflow:hidden}.palette-input{width:100%;background:var(--bg);color:var(--text);border:none;border-bottom:1px solid var(--line-soft);padding:14px 16px;font-size:15px;outline:none}.palette-results{max-height:46vh;overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer}.palette-item.active{background:var(--elev-2)}.palette-group{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);width:64px;flex-shrink:0}.palette-label{font-size:13.5px;color:var(--text)}.palette-hint{margin-left:auto;font-size:11.5px;color:var(--text-faint)}.palette-empty{padding:14px;font-size:13px;color:var(--text-faint)}.palette-foot{padding:8px 12px;font-size:11px;color:var(--text-faint);border-top:1px solid var(--line-soft)}.suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:2px 16px 10px}.suggestion{background:var(--elev);border:1px solid var(--line);color:var(--text-dim);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;transition:border-color .15s,color .15s}.suggestion:hover{border-color:var(--accent);color:var(--text)}.landing{min-height:100vh;overflow-x:hidden;position:relative;background:#fff;color:#0b1020;font-family:var(--sans)}.landing:before{content:"";position:absolute;inset:0 0 auto 0;height:760px;background:radial-gradient(900px 480px at 12% -10%,rgba(111,140,255,.2),transparent 60%),radial-gradient(800px 420px at 88% -6%,rgba(139,92,246,.16),transparent 60%),radial-gradient(700px 360px at 50% 0%,rgba(63,185,80,.1),transparent 60%);pointer-events:none}.landing:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(11,16,32,.05) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(#000,transparent 55%);mask-image:linear-gradient(#000,transparent 55%);pointer-events:none}.landing-nav{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border-bottom:1px solid #e6e8f0}.landing-nav-inner{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.landing-nav-actions,.landing-brand{display:flex;align-items:center;gap:10px}.landing-brand .logo{width:30px;height:30px}.landing-brand-name{font-size:16px;font-weight:600;color:#0b1020}.landing-brand-name b{color:#4f6bff}.landing-btn{display:inline-flex;align-items:center;gap:9px;padding:10px 20px;font-size:14px;font-weight:600;border-radius:11px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.landing-btn-primary{background:linear-gradient(135deg,#4f6bff,#7a5cff);color:#fff;box-shadow:0 8px 22px #4f6bff52}.landing-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #4f6bff6b}.landing-btn-ghost{background:#fff;color:#0b1020;border-color:#e6e8f0}.landing-btn-ghost:hover{border-color:#c9cfe0}.landing-btn-lg{padding:14px 30px;font-size:16px;border-radius:13px}.g-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:#4285f4;font-weight:800;font-size:13px}.landing-container{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 24px}.landing-hero{text-align:center;padding:72px 0 28px}.landing-badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#4f6bff;background:#eef1ff;border:1px solid #dfe4ff;border-radius:999px;padding:7px 15px;margin-bottom:24px}.landing-h1{margin:0 auto 20px;max-width:840px;font-size:clamp(38px,5.6vw,68px);line-height:1.06;font-weight:800;letter-spacing:-2px;color:#0b1020}.landing-gradient{background:linear-gradient(95deg,#4f6bff,#8b5cf6 55%,#22c55e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.landing-sub{margin:0 auto 30px;max-width:640px;color:#5b6270;font-size:18px;line-height:1.6}.landing-cta{display:flex;flex-direction:column;align-items:center;gap:14px}.landing-cta-note{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:center;color:#8a90a0;font-size:13.5px}.landing-cta-note svg{color:#22c55e}.mock-wrap{position:relative;max-width:800px;margin:64px auto 0;text-align:left}.mock-sheet-card{position:absolute;top:-34px;left:-18px;z-index:2;width:210px;background:#fff;border:1px solid #e6e8f0;border-radius:14px;padding:14px;box-shadow:0 20px 50px #0b102024;transform:rotate(-3deg)}.mock-sheet-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#e7f6ec;color:#16a34a;margin-bottom:10px}.mock-sheet-title{font-size:13px;font-weight:650;color:#0b1020}.mock-sheet-sub{font-size:11px;color:#8a90a0;margin-bottom:10px}.mock-sheet-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.mock-sheet-grid span{height:14px;background:#eef0f6;border-radius:3px}.mock-sheet-grid span:nth-child(3n){background:#dfe4ff}.mock-arrow{position:absolute;top:46px;left:172px;z-index:3;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4f6bff,#7a5cff);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px #4f6bff66}.mock{background:#fff;border:1px solid #e6e8f0;border-radius:18px;overflow:hidden;box-shadow:0 40px 90px #0b10202e}.mock-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:#f7f8fc;border-bottom:1px solid #eef0f6}.mock-dot{width:11px;height:11px;border-radius:50%;background:#e6e8f0}.mock-dot:nth-child(1){background:#f87171}.mock-dot:nth-child(2){background:#fbbf24}.mock-dot:nth-child(3){background:#34d399}.mock-url{margin-left:12px;font-size:11.5px;color:#8a90a0;background:#fff;border:1px solid #eef0f6;border-radius:6px;padding:4px 12px;font-family:var(--mono)}.mock-body{display:flex;min-height:360px}.mock-side{width:168px;padding:18px 14px;border-right:1px solid #eef0f6;background:#fbfbfd;display:flex;flex-direction:column;gap:8px}.mock-logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#4f6bff,#8b5cf6);margin-bottom:10px}.mock-side-item{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#5b6270;padding:7px 10px;border-radius:8px}.mock-side-item.on{background:#eef1ff;color:#4f6bff;font-weight:600}.mock-side-dot{width:7px;height:7px;border-radius:50%;background:#4f6bff}.mock-side-user{margin-top:auto;display:flex;align-items:center;gap:8px}.mock-side-name{font-size:12px;color:#5b6270}.mock-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#4f6bff,#8b5cf6);color:#fff;font-size:10px;font-weight:700;flex-shrink:0}.mock-avatar.sm{width:28px;height:28px}.mock-avatar.tiny{width:20px;height:20px;font-size:8px}.mock-main{flex:1;padding:18px 22px}.mock-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mock-search{font-size:12.5px;color:#a0a5b2;background:#f7f8fc;border:1px solid #eef0f6;border-radius:8px;padding:7px 12px;width:220px}.mock-title{font-size:16px;font-weight:700;color:#0b1020;margin-bottom:14px}.mock-kpis{display:flex;gap:12px;margin-bottom:16px}.mock-kpi{flex:1;background:#fff;border:1px solid #eef0f6;border-radius:12px;padding:12px 14px;box-shadow:0 2px 6px #0b102008}.mock-kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:#eef1ff;color:#4f6bff;margin-bottom:8px}.mock-kpi-label{font-size:10.5px;color:#8a90a0;text-transform:uppercase;letter-spacing:.05em}.mock-kpi-val{font-size:24px;font-weight:800;color:#0b1020;margin:3px 0 2px}.mock-kpi-delta{font-size:11px;color:#8a90a0}.mock-kpi-delta.up{color:#16a34a}.mock-kpi-delta.warn{color:#d97706}.mock-table{border:1px solid #eef0f6;border-radius:12px;overflow:hidden}.mock-tr{display:grid;grid-template-columns:1.6fr .5fr .8fr .6fr;gap:8px;align-items:center;padding:10px 14px;border-bottom:1px solid #f3f4f8;font-size:12px;color:#3c4250}.mock-tr:last-child{border-bottom:0}.mock-tr.head{background:#f7f8fc;color:#8a90a0;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.mock-pill{justify-self:start;font-size:10.5px;font-weight:600;border-radius:999px;padding:3px 10px}.mock-pill.green{background:#e7f6ec;color:#16a34a}.mock-pill.blue{background:#eef1ff;color:#4f6bff}.mock-pill.amber{background:#fef3e2;color:#d97706}.landing-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px;padding:26px 0 56px}.landing-strip-item{display:flex;align-items:center;gap:9px;color:#3c4250;font-size:14px;font-weight:600}.landing-strip-item svg{color:#4f6bff}.landing-section{padding:46px 0 6px}.landing-section-title{text-align:center;font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-1px;color:#0b1020;margin:0 0 14px;line-height:1.15}.landing-section-sub{text-align:center;color:#5b6270;font-size:16.5px;margin:0 auto 38px;max-width:600px}.landing-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.problem-card,.feature-card,.step-card,.usecase-card{background:#fff;border:1px solid #eef0f6;border-radius:16px;padding:24px 22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.problem-card:hover,.feature-card:hover,.usecase-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #0b102014;border-color:#dfe4ff}.problem-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fef3e2;color:#d97706;margin-bottom:14px}.problem-title{font-size:16px;font-weight:650;color:#0b1020;margin-bottom:6px}.problem-text{font-size:13.5px;color:#5b6270;line-height:1.55}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#eef1ff;color:#4f6bff;margin-bottom:14px}.feature-title{font-size:16px;font-weight:650;color:#0b1020;margin-bottom:6px}.feature-text{font-size:13.5px;color:#5b6270;line-height:1.55}.step-card{position:relative}.step-num{position:absolute;top:18px;right:20px;font-size:40px;font-weight:800;color:#eef0f6;letter-spacing:-1px}.step-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#e7f6ec;color:#16a34a;margin-bottom:14px}.step-title{font-size:16px;font-weight:650;color:#0b1020;margin-bottom:6px}.step-text{font-size:13.5px;color:#5b6270;line-height:1.55}.usecase-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#f1ecff;color:#8b5cf6;margin-bottom:14px}.usecase-title{font-size:16px;font-weight:650;color:#0b1020;margin-bottom:12px}.usecase-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.usecase-list li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#3c4250}.usecase-list svg{color:#22c55e;flex-shrink:0}.landing-compare{max-width:860px;margin:0 auto;border:1px solid #eef0f6;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #0b10200d}.landing-compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr}.landing-compare-row>span{padding:14px 18px;font-size:13.5px;color:#3c4250;border-bottom:1px solid #f3f4f8;display:flex;align-items:center}.landing-compare-row:last-child>span{border-bottom:0}.landing-compare-row.head>span{background:#f7f8fc;color:#0b1020;font-weight:650;font-size:13px}.landing-compare-label{color:#8a90a0;font-weight:600}.landing-compare-row .win{background:#eef7ff;color:#4f6bff;font-weight:600}.landing-faq{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.faq-item{border:1px solid #eef0f6;border-radius:12px;background:#fff;overflow:hidden}.faq-item summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;color:#0b1020;font-size:15px;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:20px;color:#4f6bff;font-weight:500}.faq-item[open] summary:after{content:"–"}.faq-item p{margin:0;padding:0 20px 18px;color:#5b6270;font-size:14px;line-height:1.6}.landing-final{text-align:center;padding:72px 0 40px}.landing-final-title{font-size:clamp(28px,3.6vw,44px);font-weight:800;letter-spacing:-1px;color:#0b1020;margin:0 0 12px}.landing-final-sub{color:#5b6270;font-size:16px;margin:0 0 28px}.landing-dev{margin-top:14px;display:inline-flex;background:#fff;color:#5b6270;border:1px solid #e6e8f0}.landing-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:24px 0 40px;border-top:1px solid #eef0f6;color:#8a90a0;font-size:13px}.landing-footer-links{display:inline-flex;gap:16px}.landing-footer-links a{color:#8a90a0;text-decoration:none}.landing-footer-links a:hover{color:#4a5570;text-decoration:underline}@media(max-width:900px){.landing-grid-3{grid-template-columns:1fr}.mock-side,.mock-sheet-card,.mock-arrow{display:none}.landing-compare-row{grid-template-columns:1.2fr 1fr 1fr 1fr;font-size:12px}.landing-compare-row>span{padding:10px 12px}}@media(max-width:560px){.landing-h1{font-size:34px;letter-spacing:-1px}.mock-kpis{flex-direction:column}.mock-tr{grid-template-columns:1.4fr .5fr .7fr .5fr;gap:5px;padding:9px 10px;font-size:11px}}.landing:before{animation:auroraDrift 16s ease-in-out infinite}@keyframes auroraDrift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-24px,16px,0) scale(1.06)}}.landing-gradient{background-size:220% auto;animation:gradientShift 7s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.landing-spotlight{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(460px circle at var(--mx, 50%) var(--my, 28%),rgba(111,140,255,.12),transparent 70%);opacity:0;transition:opacity .4s ease}.landing-hero:hover .landing-spotlight{opacity:1}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1)}.reveal.in{opacity:1;transform:none}.mock-wrap{transition:transform .22s ease;transform-style:preserve-3d;will-change:transform}.mock-sheet-card{animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-9px)}}.landing-btn-primary{position:relative;overflow:hidden}.landing-btn-primary:before{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .6s ease}.landing-btn-primary:hover:before{left:130%}.landing-marquee{position:relative;overflow:hidden;padding:10px 0;border-top:1px solid #eef0f6;border-bottom:1px solid #eef0f6;background:#fff}.landing-marquee-track{display:flex;gap:30px;width:max-content;animation:marquee 30s linear infinite}.landing-marquee-word{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:#9aa0b2;white-space:nowrap}.landing-marquee-word svg{color:#c4c9ff}.landing-marquee:hover .landing-marquee-track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.landing{background:linear-gradient(180deg,#fff,#f6f8fd 34%,#eff2fb 66%,#edf2fb)}.landing-nav{background:#f7f8fdd1}.landing-marquee{background:#f0f3fb;border-color:#e6e9f4}.mock-bar{background:#eef1f9}.mock-side{background:#f4f6fc}.feature-card,.problem-card,.step-card,.usecase-card{box-shadow:0 1px 2px #0b102008,0 10px 26px #0b10200d}.landing-compare{box-shadow:0 16px 40px #0b10200f}.landing-final{text-align:center;padding:60px 40px;margin:48px 0 24px;border-radius:26px;background:linear-gradient(135deg,#1a2038,#2b2350 55%,#3b2a5e);color:#fff;box-shadow:0 30px 70px #2b235052;position:relative;overflow:hidden}.landing-final:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(520px 280px at 82% 0%,rgba(111,140,255,.42),transparent 60%),radial-gradient(420px 240px at 8% 100%,rgba(63,185,80,.34),transparent 60%)}.landing-final>*{position:relative}.landing-final-title{color:#fff}.landing-final-sub{color:#fffc}.landing{background:linear-gradient(180deg,#e8ecf6,#dfe4f1 40%,#d4dae9 76%,#d0d7e7)}.landing:after{background-image:radial-gradient(rgba(11,16,32,.06) 1px,transparent 1px)}.landing-nav{background:#dee3f0db}.landing-marquee{background:#dde3ef;border-color:#cdd3e2}.mock-bar{background:#e1e6f0}.mock-side{background:#e7eaf4}.mock{border-color:#cdd3e2}.landing-compare,.faq-item{border-color:#d3d9e7}.landing-footer{border-top-color:#cfd5e4}.topbar .model-select{background:transparent;color:var(--text-dim);border:1px solid var(--line);border-radius:6px;padding:3px 6px;font-size:12px;font-family:var(--mono)}.topbar .model-select:hover{color:var(--text);border-color:var(--elev-2)}.topbar .model-select:focus{outline:none;border-color:var(--accent)}.org-managed{display:flex;align-items:center;gap:8px}.org-managed .help{flex:1}.org-modal{width:560px}.super-modal{width:620px}.org-title-sub{margin-left:10px;font-size:12px;font-weight:500;color:var(--text-faint)}.org-head-badges{display:inline-flex;gap:6px;align-items:center}.org-edit-row{display:inline-flex;gap:8px;align-items:center}.org-edit-row select,.org-edit-row input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px;font-size:12.5px}.org-card{border:1px solid var(--line);border-radius:12px;background:var(--panel-2);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.org-card-head{display:flex;align-items:center;justify-content:space-between;font-size:13px}.org-card-head b{font-weight:650}.org-seats{display:flex;align-items:baseline;gap:10px}.org-seats-count{font-size:22px;font-weight:700;font-family:var(--mono)}.org-member{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--line-soft)}.org-member:first-of-type{border-top:0}.org-member-role{flex:none;width:18px;text-align:center;font-size:12px}.org-member-id{display:flex;flex-direction:column;min-width:0;flex:1}.org-member-email{font-size:13px}.badge.warn-badge{color:var(--warn);border-color:var(--warn)}.org-invite{display:flex;gap:8px}.org-invite input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;font-size:13px}.org-invite input:focus{outline:none;border-color:var(--accent)}.org-invite select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:7px 8px;font-size:13px}.org-models{display:flex;flex-wrap:wrap;gap:8px}.org-model-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:12px;font-family:var(--mono);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.org-model-chip.on{border-color:var(--accent);color:var(--text);background:#6f8cff1a}.org-model-chip input{accent-color:var(--accent)}.org-custom-model{display:flex;gap:8px}.org-custom-model input{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:7px 10px;font-size:13px}.org-custom-model input:focus{outline:none;border-color:var(--accent)}.org-row-end{display:flex;justify-content:flex-end}
