:root{--bg-primary:#08090a;--bg-panel:#0f1011;--bg-surface:#191a1b;--bg-hover:#ffffff0a;--bg-card:#ffffff05;--bg-card-hover:#ffffff0a;--bg-input:#0f1011;--text-primary:#f7f8f8;--text-secondary:#d0d6e0;--text-tertiary:#8a8f98;--text-quaternary:#62666d;--accent:#5e6ad2;--accent-hover:#828fff;--accent-text:#7170ff;--accent-bg:#5e6ad21f;--accent-bg-strong:#5e6ad233;--border-subtle:#ffffff0d;--border-standard:#ffffff14;--border-strong:#ffffff1f;--success:#27a644;--success-bg:#27a6441f;--warning:#d9a130;--shadow-card:0 0 0 1px #ffffff0d}.app.light,html.light{--bg-primary:#f5f6f8;--bg-panel:#fff;--bg-surface:#eef0f2;--bg-hover:#0000000a;--bg-card:#00000004;--bg-card-hover:#00000008;--bg-input:#fff;--text-primary:#1a1b1e;--text-secondary:#4a4e57;--text-tertiary:#7a7f89;--text-quaternary:#9a9ea8;--accent:#5e6ad2;--accent-hover:#737ff0;--accent-text:#5c5ce0;--accent-bg:#5e6ad214;--accent-bg-strong:#5e6ad226;--border-subtle:#0000000f;--border-standard:#0000001a;--border-strong:#00000026;--success:#1e8a37;--success-bg:#27a64414;--warning:#b8861a;--shadow-card:0 1px 3px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-secondary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}#root{min-height:100vh}.app{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.app.consult-mode,.app.build-mode{height:100dvh;max-height:100dvh;overflow:hidden}.app.consult-mode .build-panel,.app.build-mode .doc-studio{height:100dvh}svg.icon{vertical-align:middle;flex-shrink:0;width:14px;height:14px;display:inline-block}svg.icon-sm{width:12px;height:12px}svg.icon-xs{width:10px;height:10px}svg.icon-md{width:16px;height:16px}.navbar{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 20px;display:flex;position:sticky;top:0}.nav-left{align-items:center;gap:18px;display:flex}.nav-brand{color:var(--text-primary);letter-spacing:-.15px;cursor:pointer;align-items:center;gap:7px;font-size:14px;font-weight:590;text-decoration:none;display:flex}.nav-brand .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.nav-links{align-items:center;gap:1px;display:flex}.nav-links a{color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:510;text-decoration:none;transition:all .15s}.nav-links a:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-links a.active{color:var(--accent-text);background:var(--accent-bg)}.nav-right{align-items:center;gap:8px;display:flex}.model-btn{background:var(--bg-hover);border:1px solid var(--border-standard);cursor:pointer;color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:510;transition:all .15s;display:flex}.model-btn:hover{background:var(--bg-card-hover);border-color:var(--border-strong);color:var(--text-primary)}.model-btn .live-dot{background:var(--success);border-radius:50%;width:5px;height:5px}.theme-btn{background:var(--bg-hover);cursor:pointer;width:30px;height:30px;color:var(--text-tertiary);border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.hero{text-align:center;background:linear-gradient(180deg,var(--bg-panel) 0%,var(--bg-primary) 100%);border-bottom:1px solid var(--border-subtle);padding:80px 20px 60px}.hero-badge{background:var(--bg-card);border:1px solid var(--border-standard);color:var(--text-tertiary);border-radius:9999px;align-items:center;gap:7px;margin-bottom:20px;padding:4px 14px;font-size:12px;display:inline-flex}.hero-badge .live{background:var(--success);border-radius:50%;width:6px;height:6px}.hero h1{color:var(--text-primary);letter-spacing:-.6px;margin-bottom:14px;font-size:2.8rem;font-weight:640}.typed-text{color:var(--accent-text)}.typed-cursor{color:var(--accent-text);font-weight:300}.hero p{color:var(--text-tertiary);max-width:580px;margin:0 auto 24px;font-size:15px;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn-chat{background:var(--bg-card);color:var(--accent-text);border:1px solid var(--accent-bg-strong)}.btn-chat:hover{background:var(--accent-bg);color:var(--accent-text)}.cat-info{border-bottom:1px solid var(--border-subtle);padding:0 24px;position:relative;overflow:hidden}.cat-info:before{content:"";background:linear-gradient(180deg,transparent,var(--accent-bg-strong),transparent);width:1px;position:absolute;top:0;bottom:0;left:50%}.cat-info-inner{flex-direction:column;width:100%;max-width:900px;margin:0 auto;padding:20px 0;display:flex}.cat-row{align-items:stretch;display:flex;position:relative}.cat-half{flex-direction:column;flex:1;gap:6px;display:flex}.cat-left{text-align:right;align-items:flex-end;padding:14px 40px 14px 0}.cat-right{text-align:left;align-items:flex-start;padding:14px 0 14px 40px}.cat-dot{background:var(--accent);border:2px solid var(--bg-primary);z-index:2;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cat-row:first-child .cat-dot{top:calc(50% + 3px)}.cat-row:last-child .cat-dot{top:calc(50% - 3px)}.cat-label{color:var(--accent-text);letter-spacing:-.5px;font-family:Playfair Display,Georgia,serif;font-size:38px;font-style:italic;font-weight:700;line-height:1}.cat-desc{color:var(--text-secondary);font-size:13px;line-height:1.55}.cat-desc strong{color:var(--text-primary);font-weight:590}.cat-desc em{color:var(--text-tertiary);margin-top:3px;font-size:12px;font-style:normal;display:block}.browse-toolbar{border-bottom:1px solid var(--border-subtle);padding:12px 24px}.browse-toolbar-inner{flex-wrap:wrap;align-items:center;gap:14px;width:100%;max-width:1400px;margin:0 auto;display:flex}.browse-search{background:var(--bg-input);border:1px solid var(--border-standard);border-radius:6px;align-items:center;gap:5px;width:220px;padding:5px 10px;transition:border-color .15s;display:flex}.browse-search:focus-within{border-color:var(--accent)}.browse-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.browse-search input::placeholder{color:var(--text-quaternary)}.browse-search svg{color:var(--text-quaternary);flex-shrink:0}.browse-tabs{background:var(--bg-surface);border-radius:6px;gap:3px;padding:2px;display:flex}.browse-tabs button{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;padding:4px 14px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s;display:flex}.browse-tabs button.active{background:var(--accent-bg);color:var(--accent-text)}.browse-tabs button:hover:not(.active){color:var(--text-primary)}.browse-grid-wrap{padding:24px}.browse-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;max-width:1400px;margin:0 auto;display:grid}.browse-pagination{justify-content:center;align-items:center;gap:8px;max-width:1400px;margin:0 auto;padding:24px 0 8px;display:flex}.page-btn{background:var(--bg-surface);border:1px solid var(--border-standard);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:510;transition:all .15s;display:inline-flex}.page-btn:hover:not(:disabled){background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-strong)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-nums{gap:3px;display:flex}.page-num{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;font-weight:510;transition:all .15s;display:flex}.page-num:hover{background:var(--bg-hover);color:var(--text-primary)}.page-num.active{background:var(--accent-bg);color:var(--accent-text);font-weight:590}.skill-card{background:var(--bg-card);border:1px solid var(--border-standard);cursor:pointer;color:inherit;border-radius:8px;flex-direction:column;gap:8px;padding:16px 18px;text-decoration:none;transition:all .15s;display:flex}.skill-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.skill-card h3{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:590}.skill-card p{color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.skill-card .card-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.skill-card .tag-row{align-items:center;gap:6px;display:flex}.skill-card .source-badge{border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:590;display:flex}.skill-card .source-badge.agent{background:var(--accent-bg);color:var(--accent-text)}.skill-card .source-badge.pm{background:var(--success-bg);color:var(--success)}.skill-card .file-count{background:var(--bg-hover);color:var(--text-quaternary);border-radius:9999px;align-items:center;gap:4px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:510;display:flex}.skill-card .cat-tag{background:var(--bg-hover);color:var(--text-quaternary);text-overflow:ellipsis;white-space:nowrap;border-radius:9999px;max-width:160px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:510;overflow:hidden}.main-split{flex:1;height:calc(100vh - 44px);display:flex;overflow:hidden}.chat-panel{border-right:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:420px;min-width:340px;display:flex}.chat-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.chat-header-title{color:var(--text-primary);align-items:center;gap:6px;font-size:13px;font-weight:590;display:flex}.chat-header-title svg{color:var(--accent-text)}.chat-header-badge{color:var(--accent-text);background:var(--accent-bg);border-radius:9999px;padding:2px 8px;font-size:10px;font-weight:510}.chat-msgs{flex-direction:column;flex:1;gap:14px;padding:14px 18px;display:flex;overflow-y:auto}.msg{gap:8px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.msg.user{flex-direction:row-reverse}.msg .ava{background:var(--bg-hover);border:1px solid var(--border-subtle);width:26px;height:26px;color:var(--text-tertiary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:590;display:flex}.msg.user .ava{background:var(--accent-bg);color:var(--accent-text)}.msg .bub{border-radius:8px;max-width:80%;padding:9px 12px;font-size:13px;line-height:1.55}.msg.assistant .bub{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary)}.msg.user .bub{background:var(--accent-bg);border:1px solid var(--accent-bg);color:var(--text-primary)}.bub .skill-chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.skill-chip{cursor:pointer;border:1px solid var(--border-standard);background:var(--bg-card);color:var(--text-secondary);border-radius:5px;align-items:center;gap:4px;padding:4px 9px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:510;transition:all .15s;display:inline-flex}.skill-chip:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.skill-chip svg{color:var(--accent-text)}.bub .ai-note{color:var(--text-quaternary);border-top:1px solid var(--border-subtle);margin-top:7px;padding-top:7px;font-size:11px}.bub .ai-note strong{color:var(--text-tertiary);font-weight:590}.starters{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.starter{cursor:pointer;border:1px solid var(--border-standard);color:var(--text-tertiary);background:0 0;border-radius:9999px;padding:4px 11px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s}.starter:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.chat-bottom{border-top:1px solid var(--border-subtle);flex-shrink:0;padding:10px 18px}.mode-switch{background:var(--bg-surface);border-radius:6px;gap:3px;margin-bottom:8px;padding:2px;display:flex}.mode-switch button{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s;display:flex}.mode-switch button.active{background:var(--accent-bg);color:var(--accent-text)}.mode-switch button:hover:not(.active){color:var(--text-primary)}.chat-input-row{background:var(--bg-input);border:1px solid var(--border-standard);border-radius:7px;gap:6px;padding:7px 10px;transition:border-color .2s;display:flex}.chat-input-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.chat-input-row input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13px}.chat-input-row input::placeholder{color:var(--text-quaternary)}.chat-input-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s;display:flex}.chat-input-row button:hover{background:var(--accent-hover)}.chat-input-row button svg{width:16px;height:16px}.canvas{background:var(--bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:14px;padding:10px 24px;display:flex}.canvas-toolbar .label{color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:510}.canvas-toolbar h2{color:var(--text-primary);margin-right:auto;font-size:16px;font-weight:590}.canvas-search{background:var(--bg-input);border:1px solid var(--border-standard);border-radius:6px;align-items:center;gap:5px;width:200px;padding:5px 10px;transition:border-color .15s;display:flex}.canvas-search:focus-within{border-color:var(--accent)}.canvas-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.canvas-search input::placeholder{color:var(--text-quaternary)}.canvas-search svg{color:var(--text-quaternary);flex-shrink:0}.tab-row{background:var(--bg-surface);border-radius:6px;gap:3px;padding:2px;display:flex}.tab-row button{color:var(--text-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s;display:flex}.tab-row button.active{background:var(--accent-bg);color:var(--accent-text)}.tab-row button:hover:not(.active){color:var(--text-primary)}.sel-bar{background:var(--accent-bg);border-bottom:1px solid var(--border-subtle);color:var(--accent-text);flex-shrink:0;align-items:center;gap:10px;min-height:34px;padding:7px 24px;font-size:12px;display:flex}.sel-bar.hidden{display:none}.sel-bar .count{font-weight:590}.sel-bar .stack{flex-wrap:wrap;gap:4px;display:flex}.sel-bar .stack-chip{background:var(--accent-bg-strong);cursor:pointer;border-radius:4px;align-items:center;gap:3px;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.sel-bar .stack-chip .rm{opacity:.5;font-size:11px}.sel-bar .stack-chip:hover .rm{opacity:1}.sel-bar .acts{gap:5px;margin-left:auto;display:flex}.btn-sm{cursor:pointer;border:none;border-radius:5px;align-items:center;gap:4px;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s;display:flex}.btn-sm-prim{background:var(--accent);color:#fff}.btn-sm-prim:hover{background:var(--accent-hover)}.btn-sm-prim:disabled{opacity:.4;cursor:not-allowed}.btn-sm-ghost{color:var(--text-tertiary);border:1px solid var(--border-standard);background:0 0}.btn-sm-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.canvas-grid-wrap{flex:1;padding:20px 24px;overflow-y:auto}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.skill-card-canvas{background:var(--bg-card);border:1px solid var(--border-standard);cursor:pointer;border-radius:7px;flex-direction:column;gap:6px;padding:12px 14px;transition:all .15s;display:flex;position:relative}.skill-card-canvas:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}.skill-card-canvas.selected{border-color:var(--accent);background:var(--accent-bg)}.skill-card-canvas.rec{border-color:var(--accent-bg-strong);box-shadow:0 0 0 1px var(--accent-bg)}.skill-card-canvas .check{border:1px solid var(--border-strong);background:var(--bg-surface);border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px}.skill-card-canvas.selected .check{background:var(--accent);border-color:var(--accent);color:#fff}.skill-card-canvas h3{color:var(--text-primary);padding-right:22px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:590;line-height:1.4}.skill-card-canvas p{color:var(--text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.5;display:-webkit-box;overflow:hidden}.skill-card-canvas .tags{flex-wrap:wrap;gap:5px;display:flex}.skill-card-canvas .tag{border-radius:9999px;padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:510}.tag.agent{background:var(--accent-bg);color:var(--accent-text)}.tag.pm{background:var(--success-bg);color:var(--success)}.tag.cat{background:var(--bg-hover);color:var(--text-quaternary)}.skill-card-canvas .ai-badge{background:var(--accent);color:#fff;border-radius:9999px;align-items:center;gap:3px;padding:1px 7px;font-size:9px;font-weight:590;display:flex;position:absolute;top:-5px;left:10px}.empty{text-align:center;color:var(--text-quaternary);grid-column:1/-1;padding:50px 20px}.empty p{margin-top:8px;font-size:13px}.doc-studio{background:var(--bg-primary);flex-direction:column;flex:1;height:100dvh;display:flex;position:relative;overflow:hidden}.doc-topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.doc-topbar-left{align-items:center;gap:10px;min-width:0;display:flex}.doc-topbar-back{background:var(--bg-hover);cursor:pointer;width:30px;height:30px;color:var(--text-tertiary);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.doc-topbar-back:hover{color:var(--text-primary);background:var(--bg-card-hover)}.doc-topbar-brand{align-items:center;gap:10px;min-width:0;display:flex}.doc-topbar-logo{background:var(--accent);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.doc-topbar-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:590;overflow:hidden}.doc-topbar-sub{color:var(--text-quaternary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.doc-topbar-tools{flex-shrink:0;align-items:center;gap:4px;display:flex}.doc-tool-btn{cursor:pointer;width:32px;height:32px;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.doc-tool-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.doc-tool-btn.active{background:var(--accent-bg);color:var(--accent-text)}.doc-tool-btn:disabled{opacity:.4;cursor:not-allowed}.doc-tool-sep{background:var(--border-standard);width:1px;height:20px;margin:0 4px}.doc-copied-hint{color:var(--success);margin-right:4px;font-size:10px}.doc-regen-btn{border:1px solid var(--border-standard);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;margin-left:4px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:510;transition:all .15s}.doc-regen-btn:hover{border-color:var(--accent);color:var(--accent-text)}.doc-regen-btn:disabled{opacity:.4;cursor:not-allowed}.doc-close-btn{cursor:pointer;width:30px;height:30px;color:var(--text-quaternary);background:0 0;border:none;border-radius:6px;margin-left:4px;font-size:14px}.doc-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.doc-body{flex:1;min-height:0;display:flex;overflow:hidden}.doc-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.doc-sidebar-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-quaternary);flex-shrink:0;padding:14px 16px 10px;font-size:10px;font-weight:600}.doc-toc{flex:1;padding:0 8px 16px;overflow-y:auto}.doc-toc-empty{color:var(--text-quaternary);padding:8px;font-size:11px;line-height:1.5}.doc-toc-list{flex-direction:column;gap:2px;list-style:none;display:flex}.doc-toc-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:8px;width:100%;padding:8px 10px;font-family:inherit;transition:all .12s;display:flex}.doc-toc-item:hover{background:var(--bg-hover)}.doc-toc-item.active{background:var(--accent-bg)}.doc-toc-num{background:var(--bg-surface);width:20px;height:20px;color:var(--text-quaternary);border:1px solid var(--border-standard);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.doc-toc-item.active .doc-toc-num{background:var(--accent);color:#fff;border-color:var(--accent)}.doc-toc-label{color:var(--text-secondary);font-size:12px;font-weight:510;line-height:1.35}.doc-toc-item.active .doc-toc-label{color:var(--accent-text)}.doc-canvas{background:var(--bg-primary);scroll-behavior:smooth;flex:1;min-width:0;overflow-y:auto}.doc-article{max-width:1200px;margin:0 auto;padding:40px 32px 96px}.doc-preamble{border-bottom:1px solid var(--border-subtle);margin-bottom:36px;padding-bottom:28px}.doc-article .prd-content h1{margin-bottom:20px;font-size:32px;line-height:1.25}.doc-article .prd-content h2{display:none}.doc-article .prd-content h3{color:var(--text-primary);margin-top:28px;margin-bottom:12px;font-size:18px;font-weight:600}.doc-article .prd-content h4{margin-top:22px;margin-bottom:10px;font-size:16px}.doc-article .prd-content p,.doc-article .prd-content .prd-p{margin:0 0 16px;font-size:16px;line-height:1.85}.doc-article .prd-content li,.doc-article .prd-content .prd-li,.doc-article .prd-content .prd-li-ord{margin:0 0 7px;font-size:16px;line-height:1.8}.doc-article .prd-content ul,.doc-article .prd-content ol,.doc-article .prd-content .prd-ul,.doc-article .prd-content .prd-ol{margin:6px 0 18px;padding-left:1.5em}.doc-article .prd-content .prd-list-label{margin:20px 0 8px;font-size:16px}.doc-section-heading{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);letter-spacing:-.3px;margin:0 0 20px;padding-bottom:10px;font-size:24px;font-weight:640}.doc-code-view{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-width:1200px;margin:0 auto;padding:32px 40px;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.75}.doc-stream-status{z-index:5;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);padding:10px 24px;position:sticky;top:0}.doc-stream-status-left{color:var(--text-primary);align-items:center;gap:8px;font-size:12px;display:flex}.doc-stream-waiting{color:var(--text-tertiary);padding:40px 0;font-size:14px;font-style:italic}.doc-stream-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:16px;margin-left:2px;animation:1s ease-in-out infinite stream-pulse;display:inline-block}.doc-assist{border-left:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:hidden}.doc-assist-head{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);flex-shrink:0;padding:14px 16px;font-size:12px;font-weight:590}.doc-assist-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.doc-assist-hint{color:var(--text-quaternary);font-size:12px;line-height:1.55}.doc-assist-selected{flex-direction:column;gap:4px;display:flex}.doc-assist-selected strong{color:var(--text-primary);font-size:13px}.doc-assist-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-quaternary);font-size:10px;font-weight:600}.doc-assist-quick{flex-wrap:wrap;gap:6px;display:flex}.doc-assist-chip{border:1px solid var(--border-standard);background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;border-radius:9999px;padding:5px 10px;font-family:inherit;font-size:11px;transition:all .12s}.doc-assist-chip:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}.doc-assist-chip:disabled{opacity:.5;cursor:not-allowed}.doc-assist-input,.doc-assist-textarea{background:var(--bg-input);border:1px solid var(--border-standard);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.5;transition:border-color .15s}.doc-assist-input:focus,.doc-assist-textarea:focus{border-color:var(--accent)}.doc-assist-acts,.doc-assist-manual-acts{justify-content:flex-end;gap:6px;display:flex}.doc-assist-history{flex-direction:column;gap:8px;margin-bottom:4px;display:flex}.doc-assist-msg{color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;padding:8px 10px;font-size:11px;line-height:1.45}.doc-assist-msg-sec{color:var(--accent-text);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.doc-assist-status{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 0;display:flex}.doc-assist-status p{color:var(--text-tertiary);font-size:12px;line-height:1.5}.doc-assist-stop{border:1px solid var(--border-standard);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:11px}.doc-assist-stop:hover{color:#ef4444;border-color:#ef4444}.doc-assist-skills{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.doc-assist-skill{background:var(--bg-surface);color:var(--text-tertiary);border-radius:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.doc-assist-link{color:var(--accent-text);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:4px;padding:0;font-family:inherit;font-size:11px}.doc-assist-link:hover{text-decoration:underline}.doc-setup{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow-y:auto}.doc-setup-card{background:var(--bg-panel);border:1px solid var(--border-standard);border-radius:12px;width:100%;max-width:560px;overflow:hidden}.doc-setup-head{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.doc-setup-head h2{color:var(--text-primary);font-size:16px;font-weight:590}.doc-setup-head-actions{align-items:center;gap:4px;display:flex}.doc-setup-sub{color:var(--text-tertiary);padding:6px 20px 0;font-size:12px}.doc-setup-chips{border-bottom:none;padding:12px 20px}.doc-setup-form{padding:0 20px 20px;overflow:visible}.doc-error-bar{color:#ef4444;background:#dc262614;border-bottom:1px solid #dc262626;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.build-panel{flex-direction:column;flex:1;height:calc(100vh - 44px);display:flex;position:relative;overflow:hidden}.build-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.build-header h2{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:590;display:flex}.build-header h2 svg{color:var(--accent-text)}.build-sub{color:var(--text-tertiary);margin-top:3px;font-size:12px}.build-header-right{gap:6px;display:flex}.build-chips{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:6px;padding:12px 24px;display:flex}.build-chip{background:var(--bg-card);border:1px solid var(--border-standard);color:var(--text-secondary);border-radius:5px;align-items:center;gap:6px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:510;display:flex}.build-chip-rm{color:var(--text-quaternary);cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.build-chip-rm:hover{opacity:1;color:var(--text-primary)}.build-stats{border-bottom:1px solid var(--border-subtle);gap:32px;padding:14px 24px;display:flex}.bstat-val{color:var(--text-primary);font-size:22px;font-weight:590}.bstat-label{color:var(--text-quaternary);margin-top:1px;font-size:11px}.build-actions{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;padding:14px 24px;display:flex}.build-preview{flex:1;padding:24px;overflow-y:auto}.build-loading{color:var(--text-quaternary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.build-md{background:var(--bg-surface);border:1px solid var(--border-standard);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:20px 24px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.prd-steps{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:14px 24px;display:flex}.prd-step{color:var(--text-quaternary);align-items:center;gap:6px;font-size:11px;font-weight:510;transition:color .2s;display:flex}.prd-step.active{color:var(--accent-text)}.prd-step.done{color:var(--success)}.prd-step-num{background:var(--bg-surface);border:1px solid var(--border-standard);width:22px;height:22px;color:var(--text-quaternary);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.prd-step.active .prd-step-num{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}.prd-step.done .prd-step-num{background:var(--success-bg);border-color:var(--success);color:var(--success)}.prd-step-line{background:var(--border-standard);width:48px;height:1px;margin:0 8px}.prd-step.active~.prd-step-line{background:var(--border-standard)}.prd-step.done~.prd-step-line{background:var(--success)}.prd-form{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.prd-form-group{flex-direction:column;gap:6px;display:flex}.prd-form-group label{color:var(--text-tertiary);font-size:12px;font-weight:510}.prd-form-group input,.prd-form-group textarea{background:var(--bg-input);border:1px solid var(--border-standard);color:var(--text-primary);border-radius:7px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.prd-form-group input:focus,.prd-form-group textarea:focus{border-color:var(--accent)}.prd-form-group textarea{resize:vertical;min-height:80px}.prd-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.prd-cta{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-self:flex-start;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:590;transition:all .15s;display:flex}.prd-form-hint{color:var(--text-quaternary);margin-top:-4px;font-size:11px;line-height:1.5}.prd-form-hint-ok{color:var(--accent-text);background:var(--accent-bg);border-radius:6px;margin:0;padding:8px 12px}.prd-optional-toggle{color:var(--text-tertiary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px}.prd-optional-toggle:hover{color:var(--text-secondary)}.prd-generate-actions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.prd-summary-row-stack{align-items:flex-start}.prd-summary-consult{color:var(--text-tertiary);font-size:11px;line-height:1.45}.prd-cta:disabled{opacity:.4;cursor:not-allowed}.prd-cta:hover:not(:disabled){background:var(--accent-hover)}.prd-cta-big{border-radius:8px;padding:14px 28px;font-size:14px}.qa-step{flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow-y:auto}.qa-header{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding-bottom:12px;font-size:14px;font-weight:590;display:flex}.qa-header svg{color:var(--accent-text)}.qa-progress{color:var(--text-tertiary);background:var(--bg-hover);border-radius:9999px;margin-left:auto;padding:3px 10px;font-size:11px;font-weight:500}.qa-desc{color:var(--text-tertiary);margin:0;font-size:12px;line-height:1.5}.qa-list{flex-direction:column;gap:16px;display:flex}.qa-item{background:var(--bg-surface);border:1px solid var(--border-standard);border-radius:8px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.qa-label{color:var(--text-primary);align-items:flex-start;gap:8px;font-size:13px;font-weight:510;line-height:1.4;display:flex}.qa-num{background:var(--accent);color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:590;display:flex}.qa-input{border:1px solid var(--border-standard);resize:vertical;background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:6px;min-height:48px;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.qa-input:focus{border-color:var(--accent);outline:none}.qa-input::placeholder{color:var(--text-quaternary)}.qa-options{flex-wrap:wrap;gap:6px;display:flex}.qa-opt-btn{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-standard);cursor:pointer;white-space:normal;text-align:left;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:510;line-height:1.3;transition:all .12s}.qa-opt-btn:hover,.qa-opt-btn.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}.qa-opt-custom{opacity:.7;font-style:italic}.qa-opt-custom:hover,.qa-opt-custom.selected{opacity:1}.prd-quick-chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.prd-chip-opt{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border-standard);cursor:pointer;border-radius:20px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.prd-chip-opt:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text)}.prd-chip-opt.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text);font-weight:600}.qa-actions{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:4px;padding-top:16px;display:flex}.consult-summary{background:var(--bg-surface);border:1px solid var(--border-standard);border-radius:8px;overflow:hidden}.consult-summary-toggle{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:12px;font-weight:590;display:flex}.consult-summary-toggle svg{color:var(--accent-text);flex-shrink:0}.consult-summary-hint{color:var(--text-quaternary);margin-left:auto;font-size:10px;font-weight:500}.consult-summary-input{border:none;border-top:1px solid var(--border-subtle);background:var(--bg-input);width:100%;color:var(--text-primary);resize:vertical;outline:none;min-height:100px;padding:12px 14px;font-family:inherit;font-size:12px;line-height:1.5}.consult-summary-input:focus{background:var(--bg-panel)}.prd-generate-view{flex-direction:column;flex:1;gap:16px;padding:24px;display:flex;overflow-y:auto}.prd-summary-card{background:var(--bg-surface);border:1px solid var(--border-standard);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.prd-summary-row{gap:12px;display:flex}.prd-summary-label{color:var(--text-quaternary);flex-shrink:0;min-width:80px;font-size:11px;font-weight:510}.prd-summary-val{color:var(--text-primary);font-size:12px}.prd-warning{color:var(--warning);background:#d9a1301a;border:1px solid #d9a13033;border-radius:7px;padding:12px 14px;font-size:12px}.prd-error{color:#ef4444;background:#dc26261a;border:1px solid #dc262633;border-radius:7px;padding:12px 14px;font-size:12px}.prd-generating{background:var(--accent-bg);border:1px solid var(--accent-bg-strong);border-radius:8px;align-items:center;gap:12px;padding:20px;display:flex}.prd-generating strong{color:var(--accent-text);font-size:13px}.prd-generating-sub{color:var(--text-tertiary);margin-top:2px;font-size:11px}.prd-generating-spinner{border:3px solid var(--border-standard);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:.8s linear infinite prd-spin}@keyframes prd-spin{to{transform:rotate(360deg)}}.prd-btn-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.7s linear infinite prd-spin;display:inline-block}.build-transition-overlay{z-index:50;background:var(--bg-primary);opacity:.95;border-radius:inherit;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.build-transition-spinner{border:3px solid var(--border-standard);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite prd-spin}.build-transition-msg{color:var(--text-secondary);font-size:13px;font-weight:500}.prd-stream-view{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.prd-stream-header{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;display:flex}.prd-stream-pulse{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1s ease-in-out infinite stream-pulse}@keyframes stream-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.prd-stream-pct{color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.prd-stream-bar{background:var(--border-standard);border-radius:2px;height:3px;overflow:hidden}.prd-stream-bar-fill{background:var(--accent);will-change:width;border-radius:2px;height:100%;transition:width .3s}.prd-stream-preview{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;flex:1;min-height:200px;padding:16px;font-size:13px;line-height:1.6;overflow-y:auto}.prd-stream-waiting{color:var(--text-tertiary);font-size:13px;font-style:italic}.prd-elapsed{color:var(--accent);font-variant-numeric:tabular-nums;font-style:normal;font-weight:510}.prd-stream-hint{color:var(--text-tertiary);margin-top:4px;font-size:11px}.prd-typing-dots span{animation:1.2s infinite both typing-blink}.prd-typing-dots span:nth-child(2){animation-delay:.2s}.prd-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-blink{0%,80%,to{opacity:0}40%{opacity:1}}.prd-content{max-width:100%;margin:0}.prd-content>div{display:flow-root}.prd-content h1{color:var(--text-primary);margin:0 0 16px;font-size:26px;font-weight:650;line-height:1.3}.prd-content h2{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);margin:32px 0 12px;padding-bottom:6px;font-size:18px;font-weight:600}.prd-content h3{color:var(--text-primary);margin:28px 0 10px;font-size:15px;font-weight:590}.prd-content h4{color:var(--text-secondary);margin:22px 0 8px;font-size:13px;font-weight:550}.prd-content p,.prd-content .prd-p{color:var(--text-secondary);margin:0 0 14px;font-size:15px;line-height:1.8}.prd-content p:last-child,.prd-content .prd-p:last-child{margin-bottom:0}.prd-content strong{color:var(--text-primary);font-weight:600}.prd-content em{color:var(--text-tertiary);font-style:italic}.prd-content ul,.prd-content ol,.prd-content .prd-ul,.prd-content .prd-ol{margin:6px 0 16px;padding-left:1.5em;list-style-position:outside}.prd-content .prd-ul,.prd-content ul.prd-ul{list-style-type:disc}.prd-content .prd-ol,.prd-content ol.prd-ol{list-style-type:decimal}.prd-content li,.prd-content .prd-li,.prd-content .prd-li-ord{color:var(--text-secondary);margin:0 0 6px;padding-left:2px;font-size:15px;line-height:1.75;display:list-item}.prd-content li:last-child,.prd-content .prd-li:last-child,.prd-content .prd-li-ord:last-child{margin-bottom:0}.prd-content .prd-list-label{color:var(--text-primary);margin:18px 0 6px;font-size:15px;line-height:1.5}.prd-content .prd-list-label strong{font-weight:600}.prd-content .prd-list-label+.prd-ul,.prd-content .prd-list-label+.prd-ol{margin-top:4px}.prd-content li::marker{color:var(--accent-text)}.prd-content hr{border:none;border-top:1px solid var(--border-standard);margin:28px 0}.prd-code{background:var(--bg-surface);border:1px solid var(--border-standard);color:var(--text-secondary);white-space:pre-wrap;border-radius:6px;margin:10px 0;padding:12px 14px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.prd-inline-code{background:var(--bg-card);color:var(--accent-text);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.prd-content a.prd-anchor-link{color:var(--accent-text);border-bottom:1px dashed var(--accent);cursor:pointer;text-decoration:none;transition:color .12s,border-color .12s}.prd-content a.prd-anchor-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.prd-content a.prd-ext-link{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.prd-table-wrap{border:1px solid var(--border-standard);border-radius:8px;margin:20px 0 24px;overflow-x:auto}.prd-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:15px}.prd-table th,.prd-table td{text-align:left;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top;padding:12px 16px;line-height:1.55}.prd-table th{background:var(--bg-surface);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:12px;font-weight:600}.prd-table td{min-width:80px}.doc-article .prd-table{font-size:16px}.doc-article .prd-table th{font-size:13px}.doc-article .prd-table th,.doc-article .prd-table td{padding:14px 18px}.prd-table tr:last-child td{border-bottom:none}.prd-table tbody tr:hover td{background:var(--bg-hover)}.prd-diagram{border:1px solid var(--border-standard);background:linear-gradient(180deg,var(--bg-surface) 0%,var(--bg-panel) 100%);border-radius:10px;margin:16px 0;position:relative;overflow:hidden}.prd-diagram-expanded{z-index:200;margin:0;position:fixed;inset:24px;box-shadow:0 24px 80px #0000008c}.prd-diagram-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.prd-diagram-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-quaternary);font-size:10px;font-weight:600}.prd-diagram-tools{align-items:center;gap:4px;display:flex}.prd-diagram-btn{border:1px solid var(--border-standard);background:var(--bg-hover);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:14px;line-height:1;transition:all .12s;display:flex}.prd-diagram-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}.prd-diagram-zoom{color:var(--text-quaternary);text-align:center;min-width:36px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.prd-diagram-viewport{background:var(--bg-surface);justify-content:center;align-items:flex-start;max-height:640px;padding:16px 20px;display:flex;position:relative;overflow:auto}.app.light .prd-diagram-viewport{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%)}.app:not(.light) .prd-diagram-viewport{background:radial-gradient(ellipse at 50% 0%,#3b82f614 0%,transparent 70%),var(--bg-surface)}.prd-diagram-expanded .prd-diagram-viewport{height:calc(100% - 45px);max-height:none;padding:24px}.prd-diagram-inner{justify-content:center;align-items:flex-start;width:100%;display:flex}.prd-diagram-inner svg{flex-shrink:0;display:block}.prd-diagram-loading{text-align:center;color:var(--text-quaternary);padding:32px;font-size:12px;font-style:italic}.prd-diagram-fallback{padding:12px}.prd-diagram-fallback-msg{color:var(--text-quaternary);margin:0 0 8px;font-size:11px}.doc-section{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:12px;margin-bottom:32px;padding:28px 32px;scroll-margin-top:24px;transition:border-color .2s,box-shadow .2s}.doc-section:hover{border-color:var(--border-standard);box-shadow:var(--shadow-card)}.prd-empty{text-align:center;color:var(--text-quaternary);padding:60px 20px}.prd-empty svg{opacity:.3;margin-bottom:12px}.prd-empty h3{color:var(--text-tertiary);margin:8px 0;font-size:15px}.prd-empty p{color:var(--text-quaternary);margin:0;font-size:12px}.prd-sections-view{max-width:860px;margin:0 auto}.prd-preamble{margin-bottom:24px}.prd-section{border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:28px;transition:border-color .2s;overflow:hidden}.prd-section:hover{border-color:var(--border-standard)}.prd-section-bar{background:var(--bg-surface);cursor:default;align-items:center;gap:10px;padding:10px 14px;display:flex}.prd-section-badge{background:var(--accent-bg);width:24px;height:24px;color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.prd-section-title{color:var(--text-primary);flex:1;min-width:0;margin:0;font-size:14px;font-weight:600}.prd-section-actions{flex-shrink:0;gap:4px;display:flex}.prd-sec-btn{cursor:pointer;background:var(--bg-hover);color:var(--text-tertiary);border:none;border-radius:5px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .15s}.prd-sec-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.prd-sec-btn.save{background:var(--accent);color:#fff}.prd-sec-btn.save:hover{background:var(--accent-hover)}.prd-sec-btn.cancel{color:var(--text-quaternary);background:0 0}.prd-sec-btn.cancel:hover{color:var(--warning)}.prd-sec-btn.regen:hover{color:var(--accent-text);background:var(--accent-bg)}.prd-section-body{padding:16px 18px}.prd-section-body .prd-content{padding:0}.prd-section-body .prd-content h2{border-bottom:none;margin-top:0;font-size:16px}.prd-section-edit{background:var(--bg-input);border:1px solid var(--accent);width:100%;min-height:150px;color:var(--text-primary);resize:vertical;border-radius:6px;outline:none;padding:12px 14px;font-family:inherit;font-size:13px;line-height:1.7}.prd-popup-overlay{background:var(--bg-surface);border-top:1px solid var(--accent-bg);padding:16px 18px;position:relative}.prd-popup{flex-direction:column;gap:10px;display:flex}.prd-popup-head{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:12px;font-weight:510;display:flex}.prd-popup-close{color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px}.prd-popup-close:hover{color:var(--text-primary);background:var(--bg-hover)}.prd-popup-input{background:var(--bg-input);border:1px solid var(--border-standard);width:100%;color:var(--text-primary);resize:vertical;border-radius:6px;outline:none;min-height:60px;padding:10px 12px;font-family:inherit;font-size:12px;transition:border-color .15s}.prd-popup-input:focus{border-color:var(--accent)}.prd-popup-foot{justify-content:flex-end;gap:6px;display:flex}.modal-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;width:100%;max-width:420px;overflow:hidden}.modal-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.modal-head h2{color:var(--text-primary);align-items:center;gap:7px;font-size:14px;font-weight:590;display:flex}.modal-head h2 svg{color:var(--accent-text)}.modal-close{color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 7px;font-size:16px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:18px}.modal-body label{color:var(--text-tertiary);margin-bottom:5px;font-size:11px;font-weight:510;display:block}.modal-body select,.modal-body input{background:var(--bg-input);border:1px solid var(--border-standard);width:100%;color:var(--text-primary);border-radius:6px;outline:none;margin-bottom:12px;padding:8px 10px;font-family:inherit;font-size:12px;transition:border-color .15s}.modal-body select:focus,.modal-body input:focus{border-color:var(--accent)}.modal-body select{appearance:none}.modal-body .hint{color:var(--text-quaternary);margin-top:-7px;margin-bottom:12px;font-size:10px}.model-head-row{justify-content:space-between;align-items:center;margin-bottom:5px;display:flex}.model-head-row label{margin-bottom:0}.fetch-count{color:var(--accent);cursor:pointer;font-size:10px}.fetch-count:hover{opacity:.8}.btn-fetch{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 10px;font-size:12px;font-weight:510;transition:opacity .15s;display:flex}.apikey-row{align-items:center;gap:6px;margin-bottom:12px;display:flex}.modal-body .apikey-row input{flex:1;min-width:0;margin-bottom:0}.modal-body .apikey-row button.btn-fetch-inline{flex:0 0 34px;width:34px;min-width:34px;height:34px}.btn-fetch-inline{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:opacity .15s;display:flex}.btn-fetch-inline:hover{opacity:.85}.btn-fetch-inline:disabled{opacity:.4;cursor:not-allowed}.btn-fetch:hover{opacity:.9}.btn-fetch:disabled{opacity:.5;cursor:not-allowed}.fetch-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.model-field-row{align-items:flex-end;gap:6px;margin-bottom:0;display:flex}.model-field-row .model-field-grow{flex:1}.model-field-row .model-field-grow select{margin-bottom:0}.model-field-row .model-fetch-btn-wrap{flex-shrink:0;padding-bottom:2px}.model-field-row .model-fetch-btn-wrap .btn-sm{white-space:nowrap;margin:0;padding:6px 10px;font-size:10px}.modal-foot{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:6px;padding:12px 18px;display:flex}.detail-loading{color:var(--text-quaternary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:100px 20px;display:flex}.loading-spinner{border:2px solid var(--border-standard);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px}.detail-error{color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:100px 20px;display:flex}.skill-detail{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.detail-nav{z-index:100;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:sticky;top:0}.detail-nav-inner{justify-content:space-between;align-items:center;max-width:900px;height:44px;margin:0 auto;padding:0 24px;display:flex}.detail-nav-right{align-items:center;gap:8px;display:flex}.nav-back{color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:510;text-decoration:none;transition:all .15s;display:flex}.nav-back:hover{color:var(--text-primary);background:var(--bg-hover)}.detail-badge{border-radius:9999px;align-items:center;gap:4px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:590;display:inline-flex}.detail-badge.agent{background:var(--accent-bg);color:var(--accent-text)}.detail-badge.pm{background:var(--success-bg);color:var(--success)}.container{width:100%;max-width:900px;margin:0 auto;padding:0 24px}.detail-container{flex:1;padding:40px 24px 60px}.detail-header{border-bottom:1px solid var(--border-subtle);margin-bottom:32px;padding-bottom:24px}.detail-category{color:var(--accent-text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:510}.detail-header h1{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:12px;font-size:28px;font-weight:640;line-height:1.2}.detail-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;align-items:center;gap:7px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:540;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-standard);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:7px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:540;text-decoration:none;transition:all .15s;display:inline-flex}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.detail-meta{flex-wrap:wrap;gap:16px;display:flex}.detail-meta-item{color:var(--text-tertiary);align-items:center;gap:5px;font-size:12px;display:flex}.detail-content{color:var(--text-secondary);font-size:14px;line-height:1.7}.detail-content h1{color:var(--text-primary);letter-spacing:-.4px;margin:32px 0 14px;font-size:24px;font-weight:640}.detail-content h2{color:var(--text-primary);letter-spacing:-.3px;margin:28px 0 12px;font-size:20px;font-weight:640}.detail-content h3{color:var(--text-primary);margin:24px 0 10px;font-size:16px;font-weight:590}.detail-content h4{color:var(--text-primary);margin:20px 0 8px;font-size:14px;font-weight:590}.detail-content p{margin:0 0 12px}.detail-content ul,.detail-content ol{margin:0 0 12px;padding-left:20px}.detail-content li{margin:4px 0}.detail-content code{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:12px}.detail-content pre{background:var(--bg-surface);border:1px solid var(--border-standard);border-radius:8px;margin:16px 0;padding:16px 18px;overflow-x:auto}.detail-content pre code{color:var(--text-primary);background:0 0;border:none;padding:0;font-size:12px;line-height:1.6}.detail-content blockquote{border-left:3px solid var(--accent);background:var(--accent-bg);color:var(--text-tertiary);border-radius:0 6px 6px 0;margin:12px 0;padding:4px 14px;font-size:13px}.detail-content a{color:var(--accent-text);text-decoration:underline}.detail-content a:hover{color:var(--accent-hover)}.detail-content hr{border:none;border-top:1px solid var(--border-subtle);margin:24px 0}.detail-content img{border:1px solid var(--border-subtle);border-radius:6px;max-width:100%}.detail-content strong{color:var(--text-primary);font-weight:590}@media (width<=600px){.detail-container{padding:24px 16px 40px}.container{padding:0 16px}.detail-header h1{font-size:22px}.detail-content{font-size:13px}.detail-content h2{font-size:18px}.detail-nav-inner{padding:0 16px}}@media (width<=900px){.main-split{flex-direction:column;height:auto}.chat-panel{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border-subtle);max-height:48vh}.canvas{max-height:52vh}.canvas-toolbar{gap:8px;padding:8px 16px}.canvas-toolbar h2{font-size:14px}.canvas-search{width:150px}.canvas-grid-wrap{padding:14px 16px}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.chat-msgs{gap:10px;padding:12px 14px}.navbar{padding:0 14px}.hero h1{font-size:2rem}.hero{padding:50px 16px 40px}.browse-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.browse-grid-wrap{padding:16px}.page-nums{flex-wrap:wrap;justify-content:center}.browse-pagination{flex-wrap:wrap}.doc-sidebar{width:180px}.doc-assist{width:260px}.doc-article{padding:24px 20px 60px}.doc-regen-btn{display:none}}@media (width<=500px){.chat-panel{max-height:44vh}.canvas{max-height:56vh}.canvas-toolbar{flex-direction:column;align-items:flex-start;gap:6px}.canvas-search,.tab-row{width:100%}.tab-row button{flex:1;justify-content:center}.sel-bar{flex-wrap:wrap;gap:6px;padding:6px 14px}.skills-grid{grid-template-columns:1fr}.nav-links{display:none}.canvas-toolbar h2{font-size:13px}.chat-header,.chat-bottom{padding:8px 12px}.build-stats{gap:20px;padding:12px 16px}.build-chips{padding:10px 16px}.build-actions{flex-direction:column;padding:10px 16px}.build-preview{padding:16px}.build-md{padding:14px 16px;font-size:12px}.hero h1{font-size:1.6rem}.hero p{font-size:13px}.browse-grid{grid-template-columns:1fr}.browse-toolbar-inner{flex-direction:column;align-items:stretch}.browse-toolbar{padding:10px 16px}.browse-search{width:100%}.browse-tabs button{flex:1;justify-content:center}.browse-tabs{width:100%}}@media (width<=768px){.prd-form-row{grid-template-columns:1fr}.prd-steps{gap:4px;padding:10px 12px}.prd-step span{display:none}.prd-step-num{width:24px;height:24px;font-size:11px}.prd-step-line{flex:1;min-width:12px}.build-header{padding:12px 16px}.build-header h2{font-size:14px}.build-sub{font-size:11px}.build-chips{gap:5px;padding:8px 14px}.build-chip{padding:3px 8px;font-size:11px}.prd-form{gap:12px;padding:14px 16px}.prd-form-group label{font-size:12px}.prd-form-group input,.prd-form-group textarea{padding:8px 10px;font-size:13px}.prd-cta{padding:11px 20px;font-size:13px}.prd-cta-big{padding:14px 20px}.qa-step{padding:14px 16px}.qa-label{font-size:13px}.qa-options{gap:5px}.qa-opt-btn{padding:5px 10px;font-size:11px}.qa-input{font-size:13px}.prd-summary-card{gap:8px;padding:12px 14px}.prd-summary-row{font-size:12px}.prd-stream-view{gap:8px}.prd-stream-preview{min-height:160px;padding:12px;font-size:12px}.prd-stream-header{font-size:12px}.prd-generate-view{gap:12px;padding:16px}.prd-section{padding:14px 16px}.prd-section-title{font-size:14px}.prd-section-actions{gap:4px}.prd-sec-btn{padding:4px 8px;font-size:11px}.prd-quick-chips{gap:5px}.prd-chip-opt{padding:3px 9px;font-size:11px}.doc-body{flex-direction:column}.doc-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%;max-height:140px}.doc-assist{border-left:none;border-top:1px solid var(--border-subtle);width:100%;max-height:220px}.doc-topbar-title{max-width:140px}.doc-tool-sep{display:none}}.cv3-wrap{background:var(--bg-primary);flex-direction:column;flex:1;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.cv3-glow{pointer-events:none;z-index:0;background:radial-gradient(circle,#5e6ad20f,#0000 70%);width:400px;height:400px;position:absolute;top:-120px;right:-120px}.cv3-nav{border-bottom:1px solid var(--border-subtle);z-index:2;background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:relative}.cv3-nav-left{align-items:center;gap:8px;display:flex}.cv3-logo{background:var(--accent);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.cv3-back-btn{width:26px;height:26px;color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cv3-back-btn:hover{background:var(--bg-hover);color:var(--text-tertiary)}.cv3-brand{color:var(--text-quaternary);font-size:13px;font-weight:500}.cv3-brand span{color:var(--accent-text);font-weight:600}.cv3-nav-center{align-items:center;display:flex}.cv3-nav-right{align-items:center;gap:6px;display:flex}.cv3-model-btn{background:var(--bg-surface);border:1px solid var(--border-standard);color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:3px 10px;font-family:inherit;font-size:10px;display:flex}.cv3-model-btn:hover{border-color:var(--border-strong)}.cv3-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:5px;height:5px}.cv3-dot-sm{background:var(--success);border-radius:50%;flex-shrink:0;width:4px;height:4px}.cv3-theme-btn,.cv3-sidebar-btn{width:28px;height:28px;color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;display:flex}.cv3-theme-btn:hover,.cv3-sidebar-btn:hover{background:var(--bg-hover);color:var(--text-tertiary)}.cv3-sidebar-btn.active{background:var(--accent-bg);color:var(--accent-text)}.cv3-nav-stats{color:var(--text-quaternary);gap:8px;margin-right:4px;font-size:10px;display:flex}.cv3-nav-stats span{align-items:center;gap:3px;display:flex}.cv3-nav-sel{color:var(--accent-text)}.cv3-body{z-index:2;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.cv3-hybrid .cv3-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.cv3-panel{border-left:1px solid var(--border-subtle);background:var(--bg-panel);flex-direction:column;flex-shrink:0;width:280px;min-height:0;display:flex;overflow:hidden}.cv3-panel-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.cv3-panel-head h3{color:var(--text-primary);margin:0;font-size:12px;font-weight:600}.cv3-panel-count{background:var(--accent-bg);color:var(--accent-text);border-radius:9999px;padding:2px 8px;font-size:10px;font-weight:600}.cv3-panel-list{flex:1;padding:8px;overflow-y:auto}.cv3-panel-empty{color:var(--text-quaternary);margin:0;padding:8px;font-size:11px;line-height:1.5}.cv3-panel-item{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;align-items:flex-start;gap:6px;margin-bottom:4px;padding:8px 10px;display:flex}.cv3-panel-item-name{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500;display:block}.cv3-panel-item-desc{color:var(--text-quaternary);margin-top:2px;font-size:9px;line-height:1.4;display:block}.cv3-panel-rm{width:20px;height:20px;color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;font-size:11px}.cv3-panel-rm:hover{background:var(--bg-hover);color:var(--text-secondary)}.cv3-panel-acts{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding:12px;display:flex}.cv3-panel-add,.cv3-panel-clear,.cv3-panel-gen{cursor:pointer;border:1px solid var(--border-standard);border-radius:6px;padding:8px 12px;font-family:inherit;font-size:11px;font-weight:500}.cv3-panel-add{color:var(--text-secondary);background:0 0}.cv3-panel-add:hover{background:var(--bg-hover);border-color:var(--border-strong)}.cv3-panel-clear{color:var(--text-tertiary);background:0 0;border-color:#0000}.cv3-panel-clear:hover{color:var(--text-secondary);background:var(--bg-hover)}.cv3-panel-gen{background:var(--accent);color:#fff;border-color:var(--accent)}.cv3-panel-gen:hover:not(:disabled){background:var(--accent-hover)}.cv3-panel-gen:disabled{opacity:.45;cursor:not-allowed}.cv3-new-chat{border:1px solid var(--border-standard);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;padding:4px 10px;font-family:inherit;font-size:10px}.cv3-new-chat:hover{background:var(--bg-hover);border-color:var(--border-strong)}.cv3-dot.off{background:var(--text-quaternary)}.cv3-api-cta{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:12px;padding:8px 16px;font-family:inherit;font-size:12px;font-weight:500}.cv3-api-cta:hover{background:var(--accent-hover)}.cv3-chat{flex-direction:column;flex:1;width:100%;min-width:0;display:flex;overflow:hidden}.cv3-msgs{flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 24px;display:flex;overflow-y:auto}.cv3-hybrid .cv3-msgs{align-items:center}.cv3-hybrid .cv3-msg{width:100%;max-width:720px}.cv3-welcome{text-align:center;max-width:520px;margin:0 auto;padding:50px 0 20px}.cv3-welcome-icon{background:var(--accent-bg);width:44px;height:44px;color:var(--accent-text);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.cv3-greeting{color:var(--text-primary);letter-spacing:-.2px;margin-bottom:6px;font-size:22px;font-weight:600}.cv3-greeting span{color:var(--accent-text)}.cv3-sub{color:var(--text-tertiary);font-size:13px;line-height:1.6}.cv3-sub strong{color:var(--text-secondary);cursor:pointer}.cv3-sub strong:hover{color:var(--accent-text)}.cv3-quick-acts{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.cv3-qact{border:1px solid var(--border-standard);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:4px;padding:6px 14px;font-family:inherit;font-size:11px;transition:all .15s;display:inline-flex}.cv3-qact:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.cv3-qact:disabled{opacity:.5;cursor:not-allowed}.cv3-qact.prim{background:var(--accent-bg);border-color:var(--accent-bg);color:var(--accent-text)}.cv3-qact.prim:hover{background:var(--accent-bg-strong);border-color:var(--accent-bg-strong)}.cv3-msg{gap:10px;animation:.3s fadeIn;display:flex}.cv3-msg.user{flex-direction:row-reverse;margin-left:auto}.cv3-user-text{white-space:pre-wrap;word-break:break-word;margin:0}.cv3-md{color:var(--text-primary);font-size:13px;line-height:1.55}.cv3-md p{margin:0 0 8px}.cv3-md p:last-child{margin-bottom:0}.cv3-md ul,.cv3-md ol{margin:0 0 8px;padding-left:18px}.cv3-md li{margin:3px 0}.cv3-md code{background:var(--bg-primary);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.cv3-md strong{color:var(--text-primary);font-weight:600}.cv3-cursor{background:var(--accent-text);vertical-align:text-bottom;width:2px;height:14px;margin-left:2px;animation:1s step-end infinite cv3-blink;display:inline-block}@keyframes cv3-blink{50%{opacity:0}}.cv3-suggest{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:10px}.cv3-suggest-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.cv3-suggest-head span{color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:500}.cv3-suggest-all{color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;font-weight:500}.cv3-suggest-all:hover{text-decoration:underline}.cv3-suggest-chips{flex-wrap:wrap;gap:6px;display:flex}.cv3-suggest-chip{border:1px solid var(--border-standard);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:10px;transition:all .15s;display:inline-flex}.cv3-suggest-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.cv3-suggest-chip.added{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);cursor:default;opacity:.85}.cv3-suggest-chip:disabled{cursor:default}.cv3-suggest-list{flex-direction:column;gap:6px;display:flex}.cv3-suggest-card{border:1px solid var(--border-standard);background:var(--bg-surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:8px 10px;transition:all .12s;display:flex}.cv3-suggest-card:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg)}.cv3-suggest-card.added{border-color:var(--accent);background:var(--accent-bg);opacity:.9;cursor:default}.cv3-suggest-card-top{align-items:center;gap:6px;width:100%;display:flex}.cv3-suggest-card-name{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.cv3-suggest-card-why{color:var(--text-tertiary);font-size:11px;line-height:1.4}.cv3-readiness{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;margin:0 12px 10px;padding:10px 12px}.cv3-readiness.ready{border-color:var(--accent-bg-strong);background:var(--accent-bg)}.cv3-readiness-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.cv3-readiness-head span{color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:500}.cv3-readiness-score{color:var(--text-secondary);font-size:11px;font-weight:600}.cv3-readiness-bar{background:var(--bg-hover);border-radius:2px;height:4px;margin-bottom:8px;overflow:hidden}.cv3-readiness-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .2s}.cv3-readiness-checks{flex-wrap:wrap;gap:4px;display:flex}.cv3-readiness-chip{background:var(--bg-hover);color:var(--text-tertiary);border-radius:4px;padding:2px 6px;font-size:10px}.cv3-readiness-chip.ok{background:var(--accent-bg);color:var(--accent-text)}.cv3-readiness-hint{color:var(--text-quaternary);margin:8px 0 0;font-size:10px;line-height:1.4}.cv3-readiness-ok{color:var(--accent-text);margin:6px 0 0;font-size:10px}.cv3-panel-summary{padding:0 12px 8px}.cv3-panel-summarize{border:1px dashed var(--border-standard);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s}.cv3-panel-summarize:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text);background:var(--accent-bg)}.cv3-panel-summarize:disabled{opacity:.45;cursor:not-allowed}.cv3-panel-summary-ok{color:var(--accent-text);text-align:center;margin:6px 0 0;font-size:10px}.cv3-ava{background:var(--bg-surface);border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-quaternary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.cv3-msg.user .cv3-ava{background:var(--accent-bg);color:var(--accent-text)}.cv3-bub{color:var(--text-primary);border-radius:10px;max-width:80%;padding:10px 14px;font-size:13px;line-height:1.55}.cv3-msg.assistant .cv3-bub{background:var(--bg-surface);border:1px solid var(--border-subtle)}.cv3-msg.user .cv3-bub{background:var(--accent-bg);border:1px solid var(--accent-bg)}.cv3-query{color:var(--accent-text);font-weight:500}.cv3-explanation{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);margin-bottom:10px;padding-bottom:10px;font-size:12px;line-height:1.55}.cv3-loading .cv3-bub{align-items:center;gap:6px;display:flex}.cv3-typing-label{color:var(--text-tertiary);font-size:12px}.cv3-typing-dots{gap:1px;display:inline-flex}.cv3-typing-dots span{color:var(--accent-text);font-size:16px;line-height:1;animation:1.2s ease-in-out infinite cv3-dot}.cv3-typing-dots span:nth-child(2){animation-delay:.2s}.cv3-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes cv3-dot{0%,60%,to{opacity:.2}30%{opacity:1}}.cv3-mode-label{color:var(--text-quaternary);align-items:center;gap:4px;font-size:10px;font-weight:500;display:inline-flex}.cv3-sel-gen:disabled{opacity:.5;cursor:not-allowed}.cv3-error{color:#ef4444;background:#dc26261a;border:1px solid #dc262633;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.cv3-rec-section{margin-top:10px}.cv3-rec-label{color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;font-size:10px;font-weight:500}.cv3-rec-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.cv3-rec-card{background:var(--bg-card);border:1px solid var(--border-standard);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:10px 12px;transition:all .15s;display:flex}.cv3-rec-card:hover,.cv3-rec-card.selected{border-color:var(--accent);background:var(--accent-bg)}.cv3-ck{border:1px solid var(--border-standard);color:#0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;transition:all .15s;display:flex}.cv3-rec-card.selected .cv3-ck{background:var(--accent);border-color:var(--accent);color:#fff}.cv3-rec-info{flex:1;min-width:0}.cv3-rec-name{color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:11px;font-weight:500}.cv3-rec-desc{color:var(--text-quaternary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;line-height:1.4;overflow:hidden}.cv3-rec-tag{background:var(--accent-bg);color:var(--accent-text);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8px}.cv3-rec-tag.pm{background:var(--success-bg);color:var(--success)}.cv3-rec-note{color:var(--text-quaternary);border-top:1px solid var(--border-subtle);margin-top:10px;padding-top:8px;font-size:10px}.cv3-rec-note strong{color:var(--accent-text)}.cv3-sel-bar{background:var(--accent-bg);border-top:1px solid var(--border-subtle);color:var(--accent-text);flex-shrink:0;align-items:center;gap:8px;padding:8px 24px;font-size:11px;animation:.2s fadeIn;display:flex}.cv3-sel-bar.hidden{display:none}.cv3-sel-count{white-space:nowrap;font-weight:600}.cv3-sel-chips{flex-wrap:wrap;flex:1;gap:4px;display:flex}.cv3-sel-chip{background:var(--accent-bg-strong);cursor:pointer;color:var(--accent-text);border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.cv3-sel-rm{opacity:.5;margin-left:2px;font-size:12px;line-height:1}.cv3-sel-chip:hover .cv3-sel-rm{opacity:1}.cv3-sel-acts{flex-shrink:0;gap:4px;display:flex}.cv3-sel-gen{cursor:pointer;background:var(--accent);color:#fff;white-space:nowrap;border:none;border-radius:5px;padding:5px 12px;font-family:inherit;font-size:10px;font-weight:500;transition:background .15s}.cv3-sel-gen:hover{background:var(--accent-hover)}.cv3-sel-clear{border:1px solid var(--accent-bg-strong);cursor:pointer;color:var(--accent-text);white-space:nowrap;background:0 0;border-radius:5px;padding:5px 10px;font-family:inherit;font-size:10px;font-weight:500;transition:background .15s}.cv3-sel-clear:hover{background:var(--accent-bg-strong)}.cv3-bottom{border-top:1px solid var(--border-subtle);background:var(--bg-panel);flex-shrink:0;padding:10px 24px 14px}.cv3-input-wrap{width:100%;max-width:720px;margin:0 auto}.cv3-input-wrap.welcome .cv3-input-bar{padding:12px 14px}.cv3-input-bar{background:var(--bg-input);border:1px solid var(--border-standard);border-radius:12px;align-items:flex-end;gap:6px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;display:flex}.cv3-input-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.cv3-input-bar textarea{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-width:0;max-height:200px;padding:4px 0;font-family:inherit;font-size:14px;line-height:1.45}.cv3-input-bar textarea::placeholder{color:var(--text-quaternary)}.cv3-input-bar textarea:disabled{opacity:.6;cursor:not-allowed}.cv3-send:disabled{opacity:.45;cursor:not-allowed}.cv3-send.cv3-stop{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-standard)}.cv3-send.cv3-stop:hover{background:var(--bg-hover)}.cv3-msg-actions{gap:6px;margin-top:8px;display:flex}.cv3-msg-act{color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px}.cv3-msg-act:hover{color:var(--text-secondary);background:var(--bg-hover)}.cv3-msg-act.prim{color:var(--accent-text)}.cv3-edit-box textarea{background:var(--bg-primary);border:1px solid var(--border-standard);width:100%;color:var(--text-primary);resize:vertical;border-radius:6px;min-height:60px;padding:8px;font-family:inherit;font-size:12px}.cv3-edit-acts{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.cv3-attach-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.cv3-attach-chip{background:var(--accent-bg);color:var(--accent-text);border-radius:9999px;align-items:center;gap:6px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.cv3-attach-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0}.cv3-panel-fab{z-index:15;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9999px;padding:10px 14px;font-family:inherit;font-size:11px;font-weight:600;display:none;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #00000040}.cv3-panel-head-right{align-items:center;gap:8px;display:flex}.cv3-panel-close-mobile{color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;display:none}.cv3-panel-backdrop{display:none}.cv3-input-acts{flex-shrink:0;align-items:center;gap:2px;display:flex}.cv3-iact{width:30px;height:30px;color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cv3-iact:hover{background:var(--bg-hover);color:var(--text-tertiary)}.cv3-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.cv3-send:hover{background:var(--accent-hover)}.cv3-input-footer{color:var(--text-quaternary);justify-content:center;align-items:center;margin-top:6px;padding:0 4px;font-size:10px;display:flex}.cv3-hint{align-items:center;gap:4px;display:flex}.cv3-kbd{background:var(--bg-surface);border:1px solid var(--border-standard);border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px}.cv3-modal-backdrop{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cv3-modal{background:var(--bg-panel);border:1px solid var(--border-standard);border-radius:10px;flex-direction:column;width:100%;max-width:420px;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0000004d}.cv3-modal-head{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cv3-modal-head h3{color:var(--text-primary);margin:0;font-size:13px;font-weight:600}.cv3-modal-close{color:var(--text-quaternary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px}.cv3-modal-close:hover{background:var(--bg-hover)}.cv3-modal-search{background:var(--bg-input);border:1px solid var(--border-standard);border-radius:6px;align-items:center;gap:6px;margin:10px 12px;padding:6px 10px;display:flex}.cv3-modal-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.cv3-modal-search svg{color:var(--text-quaternary);flex-shrink:0}.cv3-modal-list{flex:1;padding:4px 8px 12px;overflow-y:auto}.cv3-modal-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-family:inherit;transition:background .15s;display:flex}.cv3-modal-item:hover:not(:disabled){background:var(--bg-hover)}.cv3-modal-item.selected{opacity:.5;cursor:default}.cv3-modal-name{color:var(--text-primary);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.cv3-modal-desc{color:var(--text-quaternary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;overflow:hidden}@media (width<=900px){.cv3-hybrid{flex-direction:column}.cv3-panel{border-left:none;border-top:1px solid var(--border-subtle);z-index:20;flex-shrink:0;width:100%;max-height:72vh;transition:transform .22s;position:fixed;bottom:0;left:0;right:0;transform:translateY(110%)}.cv3-panel.mobile-open{transform:translateY(0)}.cv3-panel-backdrop{z-index:19;background:#00000073;border:none;display:block;position:fixed;inset:0}.cv3-panel-fab,.cv3-panel-close-mobile{display:inline-flex}.cv3-panel-list{padding:8px 12px;overflow-y:auto}.cv3-panel-acts{flex-flow:wrap;padding:8px 12px 16px}.cv3-panel-gen{flex:1}.cv3-new-chat{display:none}.cv3-msgs{padding:12px 16px}.cv3-bottom{padding:8px 16px 72px}}
