:root{--bg:#f5f5f7;--sidebar-bg:rgba(251,251,253,0.85);--card:#ffffff;--ink:#1d1d1f;--muted:#636366;--muted-2:#6e6e73;--line:rgba(0,0,0,0.08);--line-strong:rgba(0,0,0,0.12);--hover:rgba(0,0,0,0.04);--active:rgba(0,0,0,0.06);--accent:#e91e63;--accent-ink:#b3124a;--accent-soft:#fde8ee;--green:#1f8a4c;--green-soft:#e7f7ed;--red:#c12b2b;--red-soft:#fde8e8;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.06);--shadow-lg:0 12px 40px rgba(0,0,0,0.08);--radius-sm:10px;--radius:16px;--radius-lg:22px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:-.01em;height:100%;overflow:hidden}body{height:100vh}a{color:inherit}button{font:inherit;letter-spacing:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{display:grid;grid-template-columns:280px 1fr;height:100vh}.main{height:100vh;overflow-y:auto;background:var(--bg)}.sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;height:100vh;padding:14px 12px;gap:14px;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.sidebar,.sidebar-skeleton{background:var(--sidebar-bg)}.sb-top{justify-content:space-between;padding:4px 4px 0}.sb-brand,.sb-top{display:flex;align-items:center;gap:8px}.sb-brand{text-decoration:none;color:var(--ink)}.sb-logo{height:26px;width:26px;display:block;border-radius:6px;object-fit:cover}.sb-brand-suffix{font-weight:500;font-size:14px;color:var(--muted-2);letter-spacing:-.01em;margin-left:2px}.sb-new{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px;box-shadow:var(--shadow-sm);transition:background .12s ease}.sb-new:hover{background:var(--hover)}.sb-plus{font-size:14px;font-weight:500;line-height:1}.sb-top-actions{display:flex;align-items:center;gap:6px}.sb-close{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:8px;font-size:20px;line-height:1;color:var(--muted-2);cursor:pointer;transition:background .12s ease,color .12s ease}.sb-close:hover{background:var(--hover);color:var(--ink)}.sb-tabs{display:flex;flex-direction:column;gap:2px;padding:0 4px}.sb-tab{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);font-size:14px;font-weight:500;transition:background .12s ease}.sb-tab:hover{background:var(--hover)}.sb-tab-active{background:var(--card);box-shadow:var(--shadow-sm)}.sb-tab-icon{width:18px;font-size:14px;display:inline-flex;justify-content:center;color:var(--muted)}.sb-tab-active .sb-tab-icon{color:var(--accent)}.sb-history{flex:1 1;overflow-y:auto;padding:4px;display:flex;flex-direction:column;gap:14px}.sb-history-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.sb-history-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted)}.sb-clear-all{border:none;background:transparent;color:var(--muted-2);font-size:11px;font-weight:500;padding:2px 6px;border-radius:4px;cursor:pointer;transition:background .12s ease,color .12s ease}.sb-clear-all:hover{background:var(--red-soft);color:var(--red)}.sb-empty{font-size:13px;color:var(--muted);padding:0 6px}.sb-search-wrap{padding:4px 2px 8px}.sb-search{width:100%;font:inherit;font-size:13px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 10px;outline:none;color:var(--ink)}.sb-search:focus{background:#fff;border-color:var(--ink)}.sb-conv-btns{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s ease}.sb-conv:hover .sb-conv-btns{opacity:1}.sb-conv-pin{background:transparent;border:none;color:var(--muted);font-size:14px;line-height:1;width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.sb-conv-pin:hover{background:var(--hover);color:var(--ink)}.sb-conv-pin-active{color:var(--accent);opacity:1!important}.sb-conv:hover .sb-conv-pin-active{opacity:1}.sb-conv-rename{flex:1 1;font:inherit;font-size:13px;background:var(--card);border:1px solid var(--ink);border-radius:6px;padding:2px 6px;outline:none;color:var(--ink);min-width:0}.sb-conv-rename-btn{background:transparent;border:none;color:var(--muted);width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease}.sb-conv-rename-btn:hover{background:var(--hover);color:var(--ink)}.sb-conv-active .sb-conv-btns{opacity:1}.sb-group{display:flex;flex-direction:column;gap:4px}.sb-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.sb-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--muted)}.sb-group-clear{border:none;background:transparent;color:var(--muted-2);font-size:10px;font-weight:500;padding:1px 6px;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.sb-group:hover .sb-group-clear{opacity:1}.sb-group-clear:hover{background:var(--red-soft);color:var(--red)}@media (max-width:768px){.sb-group-clear{opacity:.6}}.sb-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.sb-conv{display:flex;align-items:center;gap:6px;padding:7px 8px 7px 10px;border-radius:8px;font-size:13px;color:var(--ink);cursor:pointer;transition:background .12s ease}.sb-conv:hover{background:var(--hover)}.sb-conv-active{background:var(--card);box-shadow:var(--shadow-sm)}.sb-conv-title{flex:1 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-conv-del{background:transparent;border:none;color:var(--muted);font-size:18px;line-height:1;width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.sb-conv-del:hover{background:var(--red-soft);color:var(--red)}.chat{display:flex;flex-direction:column;height:100vh;width:100%}.chat-thread-wrap{flex:1 1;overflow-y:auto;padding:32px 0 24px}.chat-composer-wrap{padding:8px 24px 24px;background:linear-gradient(to top,var(--bg) 60%,rgba(245,245,247,0))}.thread{max-width:760px;margin:0 auto;flex-direction:column;gap:16px}.thread,.thread-empty{padding:0 24px;display:flex}.thread-empty{max-width:920px;margin:8vh auto 0;color:var(--muted-2);align-items:center;gap:40px}.thread-empty-content{flex:1 1;min-width:0}.thread-empty-carl{width:280px;height:auto;flex-shrink:0;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.08))}.thread-empty h1{font-size:32px;letter-spacing:-.02em;font-weight:600;margin:0 0 10px;color:var(--ink);line-height:1.15}.thread-empty-name{background:linear-gradient(135deg,var(--accent),var(--accent-ink));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.thread-empty p{margin:0;font-size:15px;line-height:1.55;max-width:44ch}.thread-quickstarts{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:24px}.thread-qs-btn{display:flex;align-items:center;gap:6px;padding:9px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease;box-shadow:var(--shadow-sm)}.thread-qs-btn:hover{background:#fff;border-color:var(--ink)}.thread-qs-icon{font-size:16px}.msg{display:flex;gap:12px}.msg-user{flex-direction:column;align-items:flex-end}.msg-bubble{max-width:85%;border-radius:18px;padding:14px 18px;font-size:15px;line-height:1.55;word-wrap:break-word}.msg-user .msg-bubble{background:var(--ink);color:#fff;border-bottom-right-radius:6px}.msg-assistant .msg-bubble{background:var(--card);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:6px;box-shadow:var(--shadow-sm)}.msg-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.msg-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.18);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.msg-assistant .msg-chip{background:var(--hover);color:var(--muted-2)}.streaming-dot{display:inline-block;animation:pulse 1.4s ease-in-out infinite;color:var(--muted)}.msg-assistant{flex-direction:column;align-items:flex-start}.msg-user-actions{display:flex;gap:2px;margin-top:4px;padding-right:6px;opacity:0;transition:opacity .12s ease}.msg-user-actions:has(.msg-user-action-bookmarked),.msg-user:hover .msg-user-actions{opacity:1}.msg-user-action{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:6px;color:var(--muted-2);cursor:pointer;transition:background .12s ease,color .12s ease}.msg-user-action:hover{background:var(--hover);color:var(--ink)}.msg-user-action-copied{color:var(--green)}.msg-user-action-bookmarked{color:var(--accent)}.msg-user-action-bookmarked:hover{background:var(--accent-soft);color:var(--accent-ink)}@media (max-width:768px){.msg-user-actions{opacity:.55}}.msg-actions{margin-top:6px;margin-left:6px;display:flex;flex-direction:column;gap:8px;max-width:85%}.msg-actions-row{display:flex;align-items:center;gap:4px}.msg-action{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;color:var(--muted);padding:5px 10px;border-radius:999px;font-size:12px;font-weight:500;transition:background .12s ease,color .12s ease,border-color .12s ease}.msg-action:hover:not(:disabled){background:var(--hover);color:var(--ink)}.msg-action-active{background:var(--accent-soft);color:var(--accent)}.msg-action-up{background:var(--green-soft);color:var(--green);border-color:rgba(31,138,76,.2)}.msg-action-down{background:var(--red-soft);color:var(--red);border-color:rgba(193,43,43,.2)}.msg-action-divider{width:1px;height:16px;background:var(--line);margin:0 4px}.msg-action-copied{background:var(--green-soft);color:var(--green);border-color:rgba(31,138,76,.2)}.msg-refine-row{display:flex;gap:6px;flex-wrap:wrap}.msg-refine-chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;color:var(--muted-2);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.msg-refine-chip:hover:not(:disabled){background:var(--card);color:var(--ink);border-color:var(--ink)}.msg-count{font-size:11px;color:var(--muted);margin-top:4px;margin-left:8px}.msg-duration{color:var(--muted-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.msg-suggest{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);width:100%;max-width:560px}.msg-suggest textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;resize:vertical;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5;min-height:70px}.msg-suggest textarea:focus{background:#fff;border-color:var(--ink)}.msg-suggest-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.msg-suggest-save{background:var(--ink);color:white;border:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600}.msg-suggest-save:hover:not(:disabled){background:#000}.msg-suggest-cancel{background:transparent;color:var(--muted-2);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500}.msg-suggest-cancel:hover{background:var(--hover)}.msg-suggest-hint{font-size:12px;color:var(--muted);margin-left:auto}.msg-saved{font-size:12px;color:var(--green);background:var(--green-soft);padding:6px 12px;border-radius:999px;align-self:flex-start}.msg-saved-error{color:var(--red);background:var(--red-soft)}.msg-footnote{margin-top:12px;margin-left:0;display:flex;gap:10px;align-items:flex-start;max-width:100%;padding:12px 16px;background:rgba(124,58,237,.05);border:1px solid rgba(124,58,237,.15);border-radius:12px;font-size:13px;color:var(--muted-2);line-height:1.55}.msg-footnote-label{flex:0 0 auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#5b2bb5;background:rgba(124,58,237,.1);padding:3px 10px;border-radius:999px;border:1px solid rgba(124,58,237,.22);margin-top:1px}.msg-footnote-text{flex:1 1;min-width:0}.msg-footnote .msg-inline-list{margin:2px 0 0;padding-left:18px}.msg-footnote .msg-inline-list li{margin:2px 0}.msg-top-pick{background:rgba(31,138,76,.08);border-left:3px solid var(--green);padding:6px 10px 6px 12px;border-radius:0 6px 6px 0;list-style:none;margin-left:-20px}.msg-top-pick::marker{content:""}.msg-optional-alt{background:rgba(0,0,0,.035);border-left:3px solid var(--muted);padding:6px 10px 6px 12px;border-radius:0 6px 6px 0;list-style:none;margin-left:-20px;margin-top:6px}.msg-optional-alt::marker{content:""}.msg-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.msg-line{display:block}.msg-inline-list{margin:6px 0;padding-left:20px;list-style:disc}.msg-inline-list li{margin:3px 0;line-height:1.55}.msg-option{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:var(--bg);border-radius:12px;font-size:15px;line-height:1.5}.msg-option-text{color:var(--ink)}.msg-option-top{background:var(--accent-soft);border:1px solid rgba(233,30,99,.18);position:relative}.msg-option-top .msg-option-text{font-weight:500}.msg-option-badge{align-self:flex-start;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:white;padding:2px 8px;border-radius:999px;border:1px solid rgba(233,30,99,.2)}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.composer{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 12px 10px;box-shadow:var(--shadow-md)}.composer-error{background:var(--red-soft);color:var(--red);padding:8px 12px;border-radius:10px;font-size:13px;margin-bottom:8px}.ctx-row{display:flex;flex-direction:column;gap:8px;padding:4px 8px 10px;border-bottom:1px dashed var(--line);margin-bottom:8px}.ctx-fields{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:end}.ctx-field{display:flex;flex-direction:column;gap:4px}.ctx-select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--bg);color:var(--ink);outline:none;cursor:pointer}.ctx-select:focus{border-color:var(--ink);background:#fff}@media (max-width:560px){.ctx-fields{grid-template-columns:1fr}}.ctx-label{font-size:12px;font-weight:600;color:var(--muted-2);display:flex;align-items:center;gap:6px}.ctx-label:before{content:"📍";font-size:12px}.ctx-input{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--bg);color:var(--ink);outline:none;transition:border-color .12s ease,background .12s ease}.ctx-input:focus{border-color:var(--ink);background:#fff}.ctx-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding-top:2px}.ctx-suggestion{background:transparent;border:1px solid var(--line);color:var(--muted-2);font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;transition:background .12s ease,color .12s ease,border-color .12s ease}.ctx-suggestion:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:rgba(233,30,99,.2)}.chips{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 6px 4px 10px;font-size:12px;font-weight:500;color:var(--ink);max-width:240px}.chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-x{background:transparent;border:none;color:var(--muted);font-size:16px;line-height:1;width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.chip-x:hover{background:var(--red-soft);color:var(--red)}.doc-row{display:flex;gap:6px;margin-bottom:8px}.doc-row input{flex:1 1;font:inherit;font-size:14px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);outline:none;color:var(--ink)}.doc-row input:focus{background:#fff;border-color:var(--ink)}.doc-add{padding:8px 14px;background:var(--ink);color:white;border:none;border-radius:10px;font-size:13px;font-weight:600}.doc-cancel{padding:0;width:32px;background:transparent;border:none;color:var(--muted);font-size:18px;line-height:1}.composer-row{display:flex;flex-direction:column;gap:8px}.composer textarea{font:inherit;width:100%;border:none;outline:none;resize:none;background:transparent;color:var(--ink);font-size:15px;line-height:1.5;padding:6px 8px;min-height:44px;max-height:200px}.composer textarea::placeholder{color:#a8a8ad}.composer-actions{display:flex;align-items:center;gap:6px;padding:0 4px}.surface-select{font:inherit;font-size:12px;padding:5px 28px 5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted-2);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M2 4l3 3 3-3'/></svg>");background-repeat:no-repeat;background-position:right 10px center;margin-right:auto}.surface-select:focus{outline:none;border-color:var(--ink)}.icon-btn{width:34px;height:34px;border-radius:999px;border:none;background:transparent;color:var(--muted-2);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--ink)}.icon-btn-active{background:var(--accent-soft);color:var(--accent)}.send-btn{width:34px;height:34px;border-radius:999px;border:none;background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,transform 80ms ease}.send-btn:hover:not(:disabled){background:#000}.send-btn:active:not(:disabled){transform:scale(.95)}.page{max-width:820px;margin:0 auto;padding:56px 32px 80px;display:flex;flex-direction:column;gap:28px}.page-header h1{font-size:32px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}.page-header p{color:var(--muted-2);margin:0;max-width:60ch;font-size:15px}.page-section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.page-section-head h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm)}.card h2{margin:0 0 14px;font-size:16px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.error{background:var(--red-soft);color:var(--red);padding:10px 14px;border-radius:10px;font-size:14px;margin-top:10px}.primary{background:var(--ink);color:white;border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600}.primary:hover:not(:disabled){background:#000}.knowledge-form{gap:14px}.knowledge-form,.knowledge-label{display:flex;flex-direction:column}.knowledge-label{gap:6px;font-weight:500;font-size:13px;color:var(--muted-2)}.knowledge-select{font:inherit;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;color:var(--ink);cursor:pointer;max-width:240px}.knowledge-select:focus{background:#fff;border-color:var(--ink)}.knowledge-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:4px;border-top:1px solid var(--line)}.knowledge-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.knowledge-pair label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:13px;color:var(--muted-2)}.knowledge-form input[type=text],.knowledge-pair input{font:inherit;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;color:var(--ink)}.knowledge-form input[type=text]:focus,.knowledge-pair input:focus{background:#fff;border-color:var(--ink)}.knowledge-file-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.knowledge-file-btn{font:inherit;font-size:13px;font-weight:500;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 16px;cursor:pointer;color:var(--ink)}.knowledge-file-btn:hover:not(:disabled){background:#fff;border-color:var(--ink)}.knowledge-file-hint{font-size:12px;color:var(--muted)}.knowledge-file-attached{display:flex;align-items:center;gap:8px;background:var(--green-soft);border:1px solid rgba(31,138,76,.2);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:500;color:var(--green)}.knowledge-file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-file-clear{background:transparent;border:none;font-size:18px;line-height:1;color:var(--green);cursor:pointer;padding:0 2px;opacity:.7}.knowledge-file-clear:hover{opacity:1}.knowledge-save-btn{align-self:flex-start}@media (max-width:560px){.knowledge-pair{grid-template-columns:1fr}}.terms-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.term-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.term-item-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.knowledge-type-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);background:var(--accent-soft);padding:2px 8px;border-radius:999px;flex:0 0 auto}.term-file{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500}.term-file-name{color:var(--ink)}.term-remove{margin-left:auto;background:transparent;color:var(--muted);border:1px solid var(--line);padding:4px 10px;font-size:12px;font-weight:500;border-radius:999px}.term-remove:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}.term-preview{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.term-preview+.term-remove{margin-left:0}.term-preview:hover{background:var(--hover);color:var(--ink);border-color:var(--ink)}.kb-preview-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .15s ease}.kb-preview-modal{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:800px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.kb-preview-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.kb-preview-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ink);flex:1 1;min-width:0}.kb-preview-title>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-preview-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted-2);flex-shrink:0}.kb-preview-close{border:none;background:transparent;color:var(--muted-2);font-size:22px;line-height:1;width:30px;height:30px;border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease}.kb-preview-close:hover{background:var(--hover);color:var(--ink)}.kb-preview-body{flex:1 1;overflow-y:auto;margin:0;padding:18px 22px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-wrap:break-word;background:var(--bg)}.term-pair{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:500}.term-wrong{color:var(--red);text-decoration:line-through;-webkit-text-decoration-color:rgba(193,43,43,.4);text-decoration-color:rgba(193,43,43,.4)}.term-arrow{color:var(--muted);font-weight:400}.term-right{color:var(--green)}.term-reason{font-size:13px;color:var(--muted-2)}.stats{display:flex;gap:12px;flex-wrap:wrap}.stat-info .stat-n{color:var(--accent)}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;min-width:110px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:2px}.stat-n{font-size:26px;font-weight:600;letter-spacing:-.02em}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.feedback-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:12px;gap:12px}.feedback-card{background:var(--card);border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.feedback-card.rating-up{border-left-color:var(--green)}.feedback-card.rating-down{border-left-color:var(--red)}.feedback-prompt-note{display:flex;align-items:flex-start;gap:8px;background:var(--accent-soft);border:1px solid rgba(233,30,99,.15);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--accent-ink);line-height:1.5}.feedback-prompt-icon{flex:0 0 auto;font-size:14px}.feedback-filters{display:flex;gap:6px}.feedback-filter{background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;color:var(--muted-2);cursor:pointer;transition:background .12s ease,color .12s ease}.feedback-filter-active{background:var(--ink);color:#fff;border-color:var(--ink)}.kb-tabs{display:flex;gap:6px;margin-bottom:16px}.kb-tab{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500;color:var(--muted-2);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.kb-tab:hover{border-color:var(--line-strong)}.kb-tab-active{background:var(--ink);color:#fff;border-color:var(--ink)}.kb-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(0,0,0,.06);color:var(--muted-2);font-size:11px;font-weight:600;line-height:1}.kb-tab-active .kb-tab-count{background:rgba(255,255,255,.18);color:#fff}.term-file-meta{font-size:11px;color:var(--muted-2);margin-left:auto;padding-right:8px;white-space:nowrap}.feedback-card-used{box-shadow:0 0 0 2px rgba(233,30,99,.15)}.feedback-used-badge{font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:999px}.feedback-delete{margin-left:auto;background:transparent;color:var(--muted);border:1px solid var(--line);padding:3px 10px;font-size:11px;font-weight:500;border-radius:999px;cursor:pointer;transition:background .12s ease,color .12s ease}.feedback-delete:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}.feedback-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.badge{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px}.badge-up{background:var(--green-soft);color:var(--green)}.badge-down{background:var(--red-soft);color:var(--red)}.feedback-surface{font-size:12px;font-weight:500;color:var(--muted-2);background:var(--bg);padding:2px 10px;border-radius:6px}.feedback-date{font-size:12px;color:var(--muted)}.feedback-section{margin-top:10px}.feedback-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.feedback-body{font-size:14px;line-height:1.5}.feedback-output{white-space:pre-wrap;font-family:inherit;background:var(--bg);padding:12px 14px;border-radius:12px;margin:0}.feedback-note-display{background:#fff8e6;padding:10px 14px;border-radius:12px;border-left:3px solid #e7b42e}.bookmark-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.bookmark-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.bookmark-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted-2);margin-bottom:4px}.bookmark-conv-link{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .12s ease}.bookmark-conv-link:hover{border-bottom-color:var(--ink)}.bookmark-date{margin-left:auto}.bookmark-remove{border:1px solid var(--line);background:transparent;color:var(--muted-2);border-radius:6px;padding:3px 9px;font-size:11px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.bookmark-remove:hover{background:var(--red-soft);color:var(--red);border-color:var(--red)}.bookmark-section{margin-top:12px}.bookmark-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.bookmark-body{font-size:14px;line-height:1.55;white-space:pre-wrap}.bookmark-response{background:var(--bg);padding:10px 14px;border-radius:10px;color:var(--muted-2);font-size:13px}.bookmark-actions{margin-top:12px;display:flex;justify-content:flex-end}.bookmark-open{font-size:12px;font-weight:600;color:var(--accent-ink);text-decoration:none;padding:4px 0;transition:color .12s ease}.bookmark-open:hover{color:var(--accent)}.msg-post-copy-rate{display:flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px 5px 12px;background:var(--card);border:1px solid var(--line);border-radius:20px;width:-moz-fit-content;width:fit-content;animation:fade-in .15s ease}.msg-post-copy-label{font-size:12px;color:var(--muted-2);white-space:nowrap}.msg-post-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--muted-2);transition:background .12s ease,color .12s ease}.msg-post-copy-btn:hover{background:var(--hover);color:var(--ink)}.msg-post-copy-dismiss{font-size:16px;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0 2px;line-height:1;opacity:.5;transition:opacity .12s ease}.msg-post-copy-dismiss:hover{opacity:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.image-row{display:flex;align-items:center;gap:10px;padding:6px 10px 4px;flex-wrap:wrap}.image-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--muted-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 10px 4px 6px;border-radius:999px;border:1px solid var(--line);background:var(--card);transition:border-color .12s ease,background .12s ease}.image-toggle:hover{border-color:var(--line-strong)}.image-toggle input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent);cursor:pointer}.image-toggle-icon{display:inline-flex;color:var(--muted)}.image-toggle:has(input:checked){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.image-toggle:has(input:checked) .image-toggle-icon{color:var(--accent)}.image-desc{flex:1 1;min-width:200px;font:inherit;font-size:13px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:6px 12px;outline:none;color:var(--ink);transition:border-color .12s ease}.image-desc:focus{border-color:var(--ink)}.msg-image-wrap{margin-top:10px;margin-bottom:4px;max-width:100%}.msg-image{height:auto;display:block;box-shadow:var(--shadow-md);animation:fade-in .25s ease;background:var(--hover)}.msg-image,.msg-image-loading{width:100%;max-width:720px;border-radius:var(--radius-sm)}.msg-image-loading{aspect-ratio:16/9;background:linear-gradient(90deg,var(--hover) 0,var(--active) 50%,var(--hover) 100%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.msg-image-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--red-soft);color:var(--red);border:1px solid rgba(193,43,43,.15);border-radius:var(--radius-sm);font-size:13px;max-width:720px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.msg-error-wrap{display:flex;justify-content:flex-start;padding:0 4px}.msg-error{display:flex;align-items:center;gap:10px;background:var(--red-soft);border:1px solid rgba(193,43,43,.15);color:var(--red);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;max-width:80%}.msg-error-icon{font-size:16px;flex-shrink:0;line-height:1}.msg-error-text{flex:1 1;min-width:0;line-height:1.4}.msg-error-retry{border:1px solid rgba(193,43,43,.3);background:transparent;color:var(--red);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease;flex-shrink:0}.msg-error-retry:hover{background:rgba(193,43,43,.08)}.msg-error-retry:disabled{opacity:.4;cursor:not-allowed}.toast{position:fixed;top:70px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;z-index:500;box-shadow:var(--shadow-lg);animation:toast-in .2s ease;white-space:nowrap;max-width:calc(100vw - 32px)}.toast-error{background:var(--red-soft);color:var(--red);border:1px solid rgba(193,43,43,.2)}.toast-dismiss{border:none;background:transparent;color:inherit;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.55;flex-shrink:0}.toast-dismiss:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.bottom-nav,.mobile-header{display:none}@media (max-width:768px){input,select,textarea{font-size:16px!important}.shell{grid-template-columns:1fr;position:relative}.sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(85vw,320px);z-index:200;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding-top:max(14px,env(safe-area-inset-top))}.sidebar-mobile-open{transform:translateX(0)}.sb-tabs{display:none}.sb-close{display:inline-flex!important}.sb-conv-btns{opacity:.55}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:199;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;height:56px;background:var(--sidebar-bg);border-bottom:1px solid var(--line);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);z-index:100;padding:env(safe-area-inset-top) 16px 0}.mobile-menu-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;color:var(--ink);transition:background .12s ease}.mobile-menu-btn:hover{background:var(--hover)}.mobile-header-brand{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink)}.mobile-header-logo{height:24px;width:24px;border-radius:5px;object-fit:cover}.mobile-header-suffix{font-size:14px;font-weight:500;color:var(--muted-2)}.mobile-header-spacer{width:40px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(60px + env(safe-area-inset-bottom));background:var(--sidebar-bg);border-top:1px solid var(--line);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);z-index:100;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.02em;min-height:44px;transition:color .12s ease}.bottom-nav-active{color:var(--accent)}.main{height:calc(100dvh - 56px - 60px - env(safe-area-inset-bottom));margin-top:56px;overflow-y:auto}.chat{height:100%}.chat-thread-wrap{padding:16px 0}.chat-composer-wrap{padding:8px 12px calc(12px + env(safe-area-inset-bottom))}.thread{padding:0 14px;gap:12px}.thread-empty{margin-top:4vh;padding:0 16px;flex-direction:column-reverse;text-align:center;gap:18px}.thread-empty-carl{width:180px;margin:0 auto}.thread-empty p{margin-left:auto;margin-right:auto}.thread-empty h1{font-size:24px}.thread-empty p{font-size:14px}.thread-quickstarts{justify-content:center}.msg-bubble{max-width:92%;padding:12px 14px;font-size:15px}.msg-actions{max-width:100%}.msg-actions-row{flex-wrap:wrap;gap:4px}.msg-action{min-height:36px;padding:6px 10px}.msg-refine-row{gap:6px}.msg-refine-chip{min-height:34px;padding:6px 14px}.composer{border-radius:var(--radius)}.composer:not(:focus-within)>.ctx-row,.composer:not(:focus-within)>.image-row{display:none}.composer-row textarea{font-size:16px;min-height:44px}.composer-actions{flex-wrap:wrap;gap:6px}.surface-select{flex:1 1;min-width:0}.icon-btn{width:40px;height:40px}.send-btn{height:40px;min-width:44px}.page{padding:24px 16px 80px}.page-header h1{font-size:26px}.thread-quickstarts{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.thread-qs-btn{justify-content:center;padding:12px 10px}.stats{gap:8px}.stat{min-width:80px;padding:12px 14px}.stat-n{font-size:22px}.feedback-filters{flex-wrap:wrap}.feedback-card{padding:14px}.feedback-meta{gap:6px}.knowledge-pair{grid-template-columns:1fr}.msg-footnote{max-width:100%}.msg-count{margin-left:4px}.terms-list{gap:8px}}@media (min-width:769px) and (max-width:1024px){.shell{grid-template-columns:240px 1fr}.sidebar{padding:12px 10px}.composer,.thread{max-width:640px}}