.feat-shell{--hue-bg:transparent;--hue-line:var(--border);--hue-ink:var(--ink);padding:24px 32px;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:18px;min-height:100vh;box-sizing:border-box}.feat-shell[data-color=cyan]{--hue-bg:var(--cyan-soft);--hue-line:var(--cyan-line);--hue-ink:var(--cyan)}.feat-shell[data-color=purple]{--hue-bg:var(--purple-soft);--hue-line:var(--purple-line);--hue-ink:var(--purple)}.feat-shell[data-color=yellow]{--hue-bg:rgba(250,204,21,.1);--hue-line:rgba(250,204,21,.3);--hue-ink:#facc15}.feat-shell[data-color=green]{--hue-bg:rgba(74,222,128,.1);--hue-line:rgba(74,222,128,.3);--hue-ink:#4ade80}.feat-shell[data-color=blue]{--hue-bg:rgba(96,165,250,.1);--hue-line:rgba(96,165,250,.3);--hue-ink:#60a5fa}.feat-shell[data-color=pink]{--hue-bg:rgba(244,114,182,.1);--hue-line:rgba(244,114,182,.3);--hue-ink:#f472b6}.feat-shell[data-color=orange]{--hue-bg:rgba(251,146,60,.1);--hue-line:rgba(251,146,60,.3);--hue-ink:#fb923c}.feat-shell[data-color=red]{--hue-bg:hsla(0,91%,71%,.1);--hue-line:hsla(0,91%,71%,.3);--hue-ink:#f87171}.feat-shell[data-color=teal]{--hue-bg:rgba(45,212,191,.1);--hue-line:rgba(45,212,191,.3);--hue-ink:#2dd4bf}.feat-shell[data-color=amber]{--hue-bg:rgba(251,191,36,.1);--hue-line:rgba(251,191,36,.3);--hue-ink:#fbbf24}.feat-shell[data-color=indigo]{--hue-bg:rgba(129,140,248,.12);--hue-line:rgba(129,140,248,.32);--hue-ink:#818cf8}.feat-shell[data-color=rose]{--hue-bg:rgba(244,63,94,.12);--hue-line:rgba(244,63,94,.32);--hue-ink:#f43f5e}.feat-hero{display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:16px;background:var(--hue-bg);border:1px solid var(--hue-line)}.feat-emoji{width:56px;height:56px;border-radius:14px;background:var(--panel);display:inline-flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.feat-hero-text h1{margin:0 0 4px;font-size:22px;color:var(--hue-ink)}.feat-hero-text .lead{margin:0;color:var(--ink-2);font-size:14px}.feat-err{border-radius:10px;padding:10px 14px;border:1px solid var(--purple-line);background:var(--purple-soft);color:var(--purple);font-size:13px}.feat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:880px){.feat-grid{grid-template-columns:1fr}}.feat-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-height:180px}.feat-card-head{display:flex;align-items:center;gap:8px}.feat-card-head h3{margin:0;font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.01em;flex:1 1}.feat-card-add,.feat-card-edit{width:26px;height:26px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.feat-card-add:hover,.feat-card-edit:hover{background:var(--bg-2);color:var(--ink);border-color:var(--border)}.feat-card-skel{height:80px;border-radius:10px;background:linear-gradient(90deg,var(--bg-2),var(--panel),var(--bg-2));background-size:200% 100%;animation:feat-skel 1.4s linear infinite}@keyframes feat-skel{0%{background-position:0 0}to{background-position:-200% 0}}.feat-card-empty{color:var(--muted);font-size:13px;padding:18px 4px;text-align:center}.feat-instr-input{width:100%;min-height:120px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5;resize:vertical;outline:none;transition:border-color .12s}.feat-instr-input:focus{border-color:var(--hue-line)}.feat-card-foot{display:flex;justify-content:flex-end;min-height:16px}.feat-save-status{color:var(--muted);font-size:11px}.feat-instr-preview{width:100%;text-align:start;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit;font-size:13px;line-height:1.5;cursor:pointer;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:border-color .12s,background .12s}.feat-instr-preview:hover{border-color:var(--hue-line);background:var(--panel)}.feat-instr-input-modal{min-height:240px;background:var(--bg-2)}.feat-skill-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;margin:0 4px 4px 0;font-size:13px;color:var(--ink)}.feat-skills:has(.feat-skill-chip){flex-direction:row;flex-wrap:wrap}.feat-skill-chip .feat-skill-name{font-weight:500}.feat-skill-del{background:transparent;border:0;color:var(--muted);width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;cursor:pointer;transition:background .12s,color .12s}.feat-skill-del:hover{background:var(--panel);color:var(--ink)}.feat-modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.feat-modal-input{width:100%;background:var(--bg-2);border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;outline:none;transition:border-color .12s}.feat-modal-input:focus{border-color:var(--hue-line,var(--cyan-line))}.feat-btn-primary{background:var(--hue-bg,var(--cyan-soft));color:var(--hue-ink,var(--cyan));border:1px solid var(--hue-line,var(--cyan-line));border-radius:10px;padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer;transition:opacity .12s}.feat-btn-primary:disabled{opacity:.5;cursor:not-allowed}.feat-btn-secondary{background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:10px;padding:8px 16px;font-size:13px;cursor:pointer;transition:border-color .12s,color .12s}.feat-btn-secondary:hover{border-color:var(--border-strong);color:var(--ink)}.feat-files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.feat-file-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-2)}.feat-file-icon{width:18px;height:18px;color:var(--muted);flex-shrink:0;display:inline-flex;align-items:center}.feat-file-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.feat-file-size{color:var(--muted);font-size:11px;flex-shrink:0}.feat-file-del{width:22px;height:22px;border-radius:6px;border:0;background:transparent;color:var(--muted-2);font-size:16px;line-height:1;cursor:pointer}.feat-file-del:hover{background:var(--purple-soft);color:var(--purple)}.feat-skills{list-style:none;margin:0;padding:0;gap:4px}.feat-skill-row,.feat-skills{display:flex;flex-direction:column}.feat-skill-row{gap:2px;width:100%;text-align:start;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-2);cursor:pointer;position:relative;transition:background .12s,border-color .12s,color .12s}.feat-skill-row:hover{background:var(--panel)}.feat-skill-row[data-active=true]{background:var(--hue-bg);border-color:var(--hue-line);color:var(--hue-ink)}.feat-skill-row{color:var(--ink)}.feat-skill-name{font-size:13px;font-weight:600;color:var(--ink)}.feat-skill-desc{font-size:11px;color:var(--muted)}.feat-skill-row[data-active=true] .feat-skill-name{color:var(--hue-ink)}.feat-skill-row[data-active=true] .feat-skill-desc{color:var(--hue-ink);opacity:.8}.feat-skill-check{position:absolute;top:6px;inset-inline-end:8px;color:var(--hue-ink)}.feat-card-tall{min-height:320px}.feat-conn-count{font-family:var(--mono);font-size:11px;color:var(--muted);padding:2px 8px}.feat-conn-count,.feat-conn-search{background:var(--bg-2);border:1px solid var(--border);border-radius:999px}.feat-conn-search{width:100%;color:var(--ink);padding:7px 14px;font:inherit;font-size:13px;outline:none;transition:border-color .12s}.feat-conn-search:focus{border-color:var(--hue-line)}.feat-conn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;max-height:320px;overflow-y:auto}.feat-conn-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-2);text-align:start;cursor:pointer;transition:background .12s,border-color .12s,color .12s;position:relative;min-width:0}.feat-conn-row:hover{background:var(--bg-2);color:var(--ink)}.feat-conn-row[data-active=true]{background:var(--hue-bg);border-color:var(--hue-line);color:var(--hue-ink)}.feat-conn-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.feat-conn-cat{font-size:10px;font-family:var(--mono);color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em;background:var(--bg);border:1px solid var(--border);padding:2px 6px;border-radius:6px;flex-shrink:0}.feat-conn-row[data-active=true] .feat-conn-cat{background:var(--bg-2);border-color:var(--hue-line);color:var(--hue-ink)}.feat-conn-check{color:var(--hue-ink);flex-shrink:0}.feat-conn-empty-row,.feat-conn-more{padding:8px 10px;color:var(--muted);font-size:11px;text-align:center}.feat-subsb{display:flex;flex-direction:column;min-height:0;background:color-mix(in srgb,var(--panel-solid) 50%,transparent);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);padding:14px 12px 10px;gap:8px;overflow:hidden}.feat-subsb-head{display:flex;align-items:center;gap:10px;padding:4px 4px 6px}.feat-subsb-emoji{width:36px;height:36px;border-radius:10px;background:var(--hue-bg,var(--bg-2));border:1px solid var(--hue-line,var(--border));color:var(--hue-ink,var(--ink));display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.feat-subsb-emoji svg{width:20px;height:20px}.feat-subsb-title{display:flex;flex-direction:column;min-width:0}.feat-subsb-title .t{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feat-subsb-title .sub{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.feat-subsb-new{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--hue-line,var(--border));background:var(--hue-bg,var(--bg-2));color:var(--hue-ink,var(--ink));font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.feat-subsb-new:hover{filter:brightness(1.05)}.feat-subsb-new .ico{width:16px;height:16px}.feat-subsb-section-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:10px 6px 4px}.feat-subsb-empty{color:var(--muted);font-size:12px;padding:14px 8px;text-align:center}.feat-subsb-list{list-style:none;margin:0;padding:0 4px 12px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;min-height:0;flex:1 1}.feat-subsb-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-2);text-align:start;font:inherit;font-size:12.5px;cursor:pointer;position:relative;transition:background .12s,color .12s}.feat-subsb-item:hover{background:var(--bg-2);color:var(--ink)}.feat-subsb-item[data-active=true]{background:var(--hue-bg);border-color:var(--hue-line);color:var(--hue-ink)}.feat-subsb-li{position:relative;display:flex;align-items:center;gap:4px}.feat-subsb-li .feat-subsb-item{flex:1 1;min-width:0}.feat-subsb-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--muted);flex-shrink:0}.feat-subsb-item-icon svg{width:16px;height:16px}.feat-subsb-item[data-active=true] .feat-subsb-item-icon{color:inherit}.feat-subsb-item-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feat-subsb-item-menu-btn{width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;flex-shrink:0;transition:opacity .12s,background .12s,color .12s}.feat-subsb-item-menu-btn[aria-expanded=true],.feat-subsb-li:focus-within .feat-subsb-item-menu-btn,.feat-subsb-li:hover .feat-subsb-item-menu-btn{opacity:1}.feat-subsb-item-menu-btn:hover{background:var(--panel);color:var(--ink)}.feat-subsb-row-menu{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:40;min-width:160px;padding:4px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1px}.feat-subsb-row-menu-item{display:inline-flex;align-items:center;gap:10px;width:100%;background:transparent;border:0;padding:8px 10px;border-radius:6px;color:var(--ink);font:inherit;font-size:13px;text-align:start;cursor:pointer;transition:background .1s,color .1s}.feat-subsb-row-menu-item:hover{background:var(--panel)}.feat-subsb-row-menu-item.is-danger:hover{background:hsla(0,91%,71%,.1);color:#f87171}.feat-subsb-row-menu-item svg{width:14px;height:14px;flex-shrink:0}.feat-main{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.feat-main .feat-err{margin:16px 24px 0}.feat-chat,.feat-chat-scroll{flex:1 1;display:flex;flex-direction:column;min-height:0}.feat-chat-scroll{overflow-y:auto;align-items:center;padding:24px 24px 12px}.feat-chat[data-chat=false] .feat-chat-scroll{justify-content:center}.feat-chat-empty{text-align:center;max-width:520px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px}.feat-chat-empty-emoji{font-size:56px;width:80px;height:80px;border-radius:22px;background:var(--hue-bg);border:1px solid var(--hue-line);color:var(--hue-ink);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px}.feat-chat-empty-emoji svg{width:40px;height:40px}.feat-chat-empty h2{margin:0;font-size:22px;font-weight:600;color:var(--hue-ink)}.feat-chat-empty p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}.feat-composer,.feat-transcript{width:100%;max-width:760px;margin:0 auto}.feat-composer{position:-webkit-sticky;position:sticky;bottom:0;padding:12px 24px 18px;background:linear-gradient(180deg,transparent 0,var(--bg) 30%);z-index:10}.feat-composer .composer{width:100%;max-width:none}.feat-composer textarea{font-size:15px}.feat-model-wrap{position:relative}.feat-model-pop{position:absolute;bottom:calc(100% + 8px);inset-inline-start:0;min-width:280px;max-height:420px;overflow-y:auto;z-index:30}@media (max-width:560px){.feat-composer{padding:10px 12px 16px}.feat-composer .composer{padding:12px 12px 10px}.feat-model-wrap{position:static}.feat-model-pop{inset-inline-start:auto;inset-inline-end:0;bottom:calc(100% + 8px);min-width:0;width:min(300px,82vw);max-width:none;max-height:56vh}.feat-composer .popover{min-width:0;width:max-content;max-width:calc(100vw - 28px)}.feat-composer .add-btn,.feat-composer .cmpr-icon{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:12px}.feat-composer .add-btn svg,.feat-composer .cmpr-icon svg{width:20px;height:20px}.feat-composer .model-pill{font-size:13px;padding:9px 12px;max-width:48vw;min-height:40px;overflow:hidden}.feat-composer .model-pill>span:not(.brand-mark){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}}.feat-shell[data-color=fuchsia]{--hue-bg:rgba(217,70,239,.12);--hue-line:rgba(217,70,239,.32);--hue-ink:#d946ef}.feat-subsb{position:relative}.feat-subsb-collapse{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.feat-subsb-collapse:hover{color:var(--ink);background:var(--bg-2);border-color:var(--border)}.feat-subsb-resize{position:absolute;top:0;bottom:0;inset-inline-end:-3px;width:6px;cursor:col-resize;z-index:5;background:transparent;transition:background .15s}.feat-subsb-resize:active,.feat-subsb-resize:hover{background:color-mix(in srgb,var(--hue-ink,var(--cyan)) 35%,transparent)}.feat-subsb[data-collapsed=true] .feat-subsb-empty,.feat-subsb[data-collapsed=true] .feat-subsb-list,.feat-subsb[data-collapsed=true] .feat-subsb-new-lbl,.feat-subsb[data-collapsed=true] .feat-subsb-section-label,.feat-subsb[data-collapsed=true] .feat-subsb-title{display:none}.feat-subsb[data-collapsed=true] .feat-subsb-head{padding-inline:4px;justify-content:center}.feat-subsb[data-collapsed=true] .feat-subsb-new{justify-content:center;padding-inline:0}.feat-subsb[data-collapsed=true] .feat-subsb-resize{display:none}@media (max-width:560px){.feat-subsb{max-height:56px;overflow:hidden}.feat-subsb[data-collapsed=false]{max-height:240px}}.feat-subsb[data-collapsed=true]{align-items:center}.feat-subsb[data-collapsed=true] .feat-subsb-head{flex-direction:column;gap:6px;padding:10px 4px 4px}.feat-subsb[data-collapsed=true] .feat-subsb-collapse{order:-1}.feat-subsb[data-collapsed=true] .feat-subsb-new{width:36px;height:36px;padding:0;border-radius:10px}.feat-shell-2col{--subsb-w:320px;display:grid;grid-template-columns:var(--subsb-w) minmax(0,1fr);grid-gap:0;gap:0;padding:0;margin:0;max-width:none;height:100%;min-height:0;overflow:hidden}.feat-mobile-subsb-btn{display:none;position:fixed;top:14px;inset-inline-start:66px;z-index:60;width:40px;height:40px;border-radius:10px;border:1px solid var(--hue-line,var(--border));background:var(--panel-solid);color:var(--hue-ink,var(--ink));align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow)}.feat-mobile-subsb-btn svg{width:20px;height:20px}.feat-subsb-backdrop{display:none;position:fixed;inset:0;z-index:51;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.shell[data-mobile-open=true] .feat-mobile-subsb-btn{display:none}body.modal-open .feat-mobile-subsb-btn{display:none!important}@media (max-width:820px){.feat-shell-2col{grid-template-columns:1fr}.feat-shell-2col .feat-subsb{position:fixed;top:0;bottom:0;inset-inline-start:0;width:min(320px,86vw);height:auto;max-height:none;padding-top:60px;-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);background:var(--panel-solid);transform:translateX(-100%);transition:transform .22s ease;z-index:52;box-shadow:8px 0 24px rgba(0,0,0,.3)}[dir=rtl] .feat-shell-2col .feat-subsb{transform:translateX(100%);box-shadow:-8px 0 24px rgba(0,0,0,.3)}.feat-shell-2col[data-subsb-mobile-open=true] .feat-subsb{transform:translateX(0)}.feat-shell-2col[data-subsb-mobile-open=true] .feat-subsb-backdrop{display:block}.feat-mobile-subsb-btn{display:inline-flex}.feat-subsb-collapse,.feat-subsb-resize{display:none}}@media (max-width:768px){.feat-mobile-subsb-btn{min-width:44px;min-height:44px}}.feat-subsb{overflow-y:auto}.feat-subsb::-webkit-scrollbar{width:8px}.feat-subsb::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.feat-subsb-panels{display:flex;flex-direction:column;gap:10px;padding:12px 8px 16px;margin-top:4px}.feat-subsb-panels .feat-card{background:var(--panel-solid)}.feat-subsb[data-collapsed=true] .feat-subsb-panels{display:none}.feat-subsb-row{display:flex;align-items:center;gap:6px;width:100%;border-radius:10px;padding:6px 6px 6px 12px;background:var(--panel);border:1px solid var(--border);color:var(--ink);font-size:13px;font-weight:500;text-align:start;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.feat-subsb-row[data-disabled=true]{opacity:.5;cursor:not-allowed}.feat-subsb-row-button:hover,.feat-subsb-row:hover{background:var(--bg-2);border-color:var(--border-strong)}.feat-subsb-row-button{cursor:pointer}.feat-subsb-row-button:disabled{opacity:.5;cursor:not-allowed}.feat-subsb-row-label{background:transparent;border:0;color:inherit;font:inherit;flex:1 1;text-align:start;padding:4px 0;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feat-subsb-row-label.as-text{padding:0;cursor:inherit}.feat-subsb-row-add{width:26px;height:26px;border:1px solid var(--border);border-radius:8px;background:var(--bg-2);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .12s,background .12s,border-color .12s}.feat-subsb-row-add:hover{color:var(--hue-ink,var(--ink));border-color:var(--hue-line,var(--border-strong))}.feat-subsb-row-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex-shrink:0}.feat-subsb-row-icon svg{width:18px;height:18px}.feat-subsb-row-button:hover .feat-subsb-row-icon{color:var(--ink)}.feat-subsb-row-count{font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:var(--bg-2);color:var(--muted-2);flex-shrink:0}.feat-files-modal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto}.feat-subsb-row-chev{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-2);flex-shrink:0;-webkit-margin-start:2px;margin-inline-start:2px;transition:color .12s,transform .12s}.feat-subsb-row-chev svg{width:14px;height:14px}[dir=rtl] .feat-subsb-row-chev{transform:scaleX(-1)}.feat-subsb-row-button:hover .feat-subsb-row-chev{color:var(--ink)}