:root{--bg:#fff;--bg-soft:#f4f4f4;--bg-side:#f9f9f9;--bg-hover:#ececec;--bg-active:#e8e8e8;--fg:#171717;--fg-muted:#6b6b6b;--border:#e5e5e5;--border-strong:#d0d0d0;--primary:#171717;--on-primary:#fff;--danger:#c4301c;--ok:#1a7f37;--warn-bg:#fff7e0;--warn-fg:#6b4e00;--err-bg:#fdecea;--err-fg:#8f1f10;--ok-bg:#e9f6ec;--ok-fg:#14602b;--composer:#f4f4f4;--shadow:0 8px 28px #0000001f;--r-sm:8px;--r-md:12px;--r-lg:24px;--sidebar-w:260px;--t:.15s ease;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}[data-theme=dark]{--bg:#212121;--bg-soft:#2f2f2f;--bg-side:#171717;--bg-hover:#2a2a2a;--bg-active:#333;--fg:#ececec;--fg-muted:#a3a3a3;--border:#3a3a3a;--border-strong:#4a4a4a;--primary:#f5f5f5;--on-primary:#171717;--danger:#ff6b57;--ok:#4cc26a;--warn-bg:#3a3118;--warn-fg:#f3d98a;--err-bg:#3d1f1b;--err-fg:#ffb3a7;--ok-bg:#1c3324;--ok-fg:#9de0b0;--composer:#2f2f2f;--shadow:0 8px 28px #00000080}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{height:100%;font-family:var(--font);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--fg);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.muted{color:var(--fg-muted)}.mono{font-family:var(--mono)}.stack{flex-direction:column;gap:14px;display:flex}.stack-c{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.desktop-only{display:inline-flex}.mobile-only{display:none!important}.splash{height:100dvh;color:var(--fg);place-items:center;display:grid}.brand{color:var(--fg);align-items:center;gap:8px;display:inline-flex}.brand-name{letter-spacing:.01em;font-weight:700}.vmark{flex:none}.spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app{height:100dvh;height:var(--vvh,100dvh);width:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-side);padding:calc(10px + var(--sat)) 10px calc(10px + var(--sab)) calc(10px + var(--sal));border-right:1px solid var(--border);transition:margin var(--t),transform var(--t);flex-direction:column;flex:none;gap:8px;display:flex}.sidebar-top{justify-content:space-between;align-items:center;min-height:40px;padding:4px 4px 4px 8px;display:flex}.sidebar-brand{text-decoration:none}.new-chat{border-radius:var(--r-md);background:var(--primary);height:42px;color:var(--on-primary);transition:opacity var(--t);align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.new-chat:hover{opacity:.88}.search{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);height:40px;color:var(--fg-muted);align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--fg-muted)}.search input{min-width:0;color:var(--fg);background:0 0;border:0;outline:0;flex:1;font-size:14px}.search input::-webkit-search-cancel-button{display:none}.chat-list{flex:1;min-height:0;margin:4px -4px 0;padding:0 4px;overflow-y:auto}.chat-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chat-list-empty{text-align:center;color:var(--fg-muted);padding:40px 12px;font-size:14px}.chat-item{border-radius:var(--r-sm);position:relative}.chat-item:hover,.chat-item.menu-open{background:var(--bg-hover)}.chat-item.is-active{background:var(--bg-active)}.chat-link{align-items:center;gap:10px;min-width:0;height:40px;padding:0 36px 0 10px;font-size:14px;text-decoration:none;display:flex}.chat-link svg{color:var(--fg-muted);flex:none}.chat-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-more{width:32px;height:32px;color:var(--fg-muted);opacity:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.chat-item:hover .chat-more,.chat-item.menu-open .chat-more,.chat-more:focus-visible,.chat-item.is-active .chat-more{opacity:1}@media (hover:none){.chat-more{opacity:1}}.popover{z-index:40;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);min-width:170px;box-shadow:var(--shadow);flex-direction:column;padding:6px;display:flex;position:absolute;top:38px;right:4px}.popover-up{inset:auto 0 calc(100% + 6px)}.popover button{text-align:left;border-radius:8px;align-items:center;gap:10px;height:40px;padding:0 10px;font-size:14px;display:flex}.popover button:hover{background:var(--bg-hover)}.popover .danger{color:var(--danger)}.sidebar-bottom{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:8px;display:flex}.side-link{border-radius:var(--r-sm);text-align:left;align-items:center;gap:12px;width:100%;height:42px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.side-link:hover{background:var(--bg-hover)}.side-link.is-active{background:var(--bg-active)}.user-wrap{position:relative}.avatar{background:var(--primary);width:28px;height:28px;color:var(--on-primary);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.user-btn{height:48px}.user-meta{flex-direction:column;min-width:0;line-height:1.2;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.user-plan{color:var(--fg-muted);font-size:12px}.backdrop{display:none}.main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{height:56px;padding:var(--sat) calc(12px + var(--sar)) 0 12px;box-sizing:content-box;flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar-left{align-items:center;gap:6px;min-width:0;display:flex}.topbar-title{align-items:center;gap:12px;min-width:0;display:flex}.topbar-brand{font-size:20px;text-decoration:none}.topbar-brand .brand-name{font-size:20px}.topbar-right{align-items:center;gap:4px;display:flex}.pro-btn{border:1px solid var(--border-strong);border-radius:var(--r-md);align-items:center;gap:8px;height:36px;margin-left:4px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.pro-btn:hover{background:var(--bg-hover)}}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--fg);transition:background var(--t);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.icon-btn:hover:not(:disabled){background:var(--bg-hover)}}.icon-btn:active:not(:disabled),.pro-btn:active{background:var(--bg-active)}.icon-btn:disabled{opacity:.4}.icon-btn.sm{width:30px;height:30px;color:var(--fg-muted)}.lang-btn{align-items:center;gap:6px;width:auto;padding:0 8px;display:inline-flex}.lang-code{font-size:12px;font-weight:600}.banner{background:var(--warn-bg);color:var(--warn-fg);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;font-size:14px;display:flex}.link-btn{font-size:inherit;color:inherit;text-decoration:underline}.link-btn:disabled{opacity:.6;text-decoration:none}.content{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sidebar-collapsed .sidebar{margin-left:calc(-1 * var(--sidebar-w))}.toasts{z-index:100;left:50%;bottom:calc(20px + var(--sab));pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--r-md);background:var(--fg);color:var(--bg);box-shadow:var(--shadow);padding:12px 16px;font-size:14px}.toast-error{background:var(--danger);color:#fff}.btn{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);min-height:40px;transition:background var(--t),opacity var(--t);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled):not(.is-static){background:var(--bg-hover)}.btn:disabled{opacity:.5}.btn-primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn-primary:hover:not(:disabled){opacity:.88;background:var(--primary)!important}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.88;background:var(--danger)!important}.btn-danger-outline{color:var(--danger);border-color:var(--danger)}.btn-block{width:100%}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.btn-ghost{border-color:#0000}.is-static{cursor:default;color:var(--fg-muted)}.field{flex-direction:column;gap:6px;min-width:0;font-size:14px;display:flex}.field>span{font-weight:500}.field input,.field select,.field textarea,.edit-box textarea{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);width:100%;min-height:42px;padding:9px 12px;font-size:16px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--fg);outline-offset:-1px}.field input[readonly]{color:var(--fg-muted);background:var(--bg-soft)}.field-inline{flex-direction:row;align-items:center;gap:8px}.field-inline input,.field-inline select{width:auto;min-height:36px;padding:4px 8px;font-size:14px}.hint{color:var(--fg-muted);font-size:13px}.hint.center{text-align:center;margin-top:8px}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{flex:none;width:16px;height:16px;margin-top:4px}.form-error{color:var(--danger);font-size:14px}.notice{border-radius:var(--r-md);background:var(--bg-soft);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.notice svg{flex:none;margin-top:2px}.notice-ok{background:var(--ok-bg);color:var(--ok-fg)}.notice-warn{background:var(--warn-bg);color:var(--warn-fg)}.notice-err{background:var(--err-bg);color:var(--err-fg)}.pill{background:var(--bg-soft);border-radius:999px;padding:1px 10px;font-size:12px;font-weight:600;display:inline-block}.pill-ok{background:var(--ok-bg);color:var(--ok-fg)}.pill-bad{background:var(--err-bg);color:var(--err-fg)}.center-pad{justify-content:center;padding:32px 16px;display:flex}.modal-backdrop{z-index:80;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border-radius:var(--r-lg);width:min(440px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);padding:20px;overflow:auto}.modal-wide{width:min(680px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{overflow-wrap:anywhere;font-size:18px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chat{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-empty{justify-content:center;padding:0 16px}.empty-center{flex-direction:column;align-items:center;gap:28px;margin-bottom:12vh;display:flex}.greeting{text-align:center;letter-spacing:-.01em;overflow-wrap:anywhere;font-size:32px;font-weight:500}.composer-wrap{width:100%;max-width:760px;margin:0 auto}.composer{background:var(--composer);border-radius:var(--r-lg);border:1px solid #0000;align-items:flex-end;gap:8px;padding:10px 10px 10px 20px;display:flex}.composer:focus-within{border-color:var(--border-strong)}.composer textarea{resize:none;background:0 0;border:0;outline:0;flex:1;min-width:0;max-height:220px;padding:8px 0;font-size:16px;line-height:1.5}.composer textarea::placeholder{color:var(--fg-muted)}.send-btn{background:var(--primary);width:36px;height:36px;color:var(--on-primary);transition:opacity var(--t);border-radius:50%;flex:none;place-items:center;display:grid}.send-btn:disabled{opacity:.25}.think-btn{width:36px;height:36px;color:var(--fg-muted);transition:background var(--t),border-color var(--t),color var(--t);border:1.5px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.think-btn:hover{background:var(--bg-hover);color:var(--fg)}}.think-btn.is-on{color:var(--fg);border-color:var(--fg);background:0 0}.reasoning{color:var(--fg-muted);background:linear-gradient(90deg,var(--fg-muted) 0%,var(--fg) 50%,var(--fg-muted) 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:15px;animation:1.6s linear infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.composer-notice{color:var(--fg-muted);text-align:center;margin:0 0 8px;padding:0 8px;font-size:14px}.composer-notice-error{color:var(--danger)}.composer-notice a{text-decoration:underline}.disclaimer{color:var(--fg-muted);text-align:center;margin-top:10px;font-size:12px}.composer-dock{padding:8px 16px calc(10px + var(--sab));background:var(--bg);flex:none}.messages{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 16px 24px;overflow-y:auto}.thread{flex-direction:column;gap:24px;max-width:760px;margin:0 auto;display:flex}.scroll-down{left:50%;bottom:calc(110px + var(--sab));background:var(--bg);border:1px solid var(--border-strong);width:34px;height:34px;box-shadow:var(--shadow);z-index:5;border-radius:50%;place-items:center;display:grid;position:absolute;transform:translate(-50%)}.msg{flex-direction:column;min-width:0;display:flex}.msg-user{align-items:flex-end}.bubble{background:var(--bg-soft);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px;max-width:85%;padding:10px 16px}.msg-actions{opacity:0;transition:opacity var(--t);gap:2px;margin-top:4px;display:flex}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}@media (hover:none){.msg-actions{opacity:1}}.edit-box{background:var(--bg-soft);border-radius:20px;flex-direction:column;gap:8px;width:100%;max-width:85%;padding:12px;display:flex}.edit-box textarea{background:var(--bg);border:0;min-height:80px}.edit-actions{justify-content:flex-end;gap:8px;display:flex}.msg-assistant{flex-direction:row;align-items:flex-start;gap:12px}.msg-avatar{border:1px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;margin-top:2px;font-size:13px;font-weight:700;display:grid}.msg-body{flex:1;min-width:0}.msg-note{color:var(--fg-muted);margin-top:6px;font-size:13px}.msg-note-error{color:var(--danger)}.typing{gap:4px;padding:10px 0;display:inline-flex}.typing i{background:var(--fg-muted);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.markdown{overflow-wrap:anywhere;min-width:0}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote{margin:0 0 12px}.markdown ul,.markdown ol{padding-left:24px}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:20px 0 8px;line-height:1.3}.markdown h1{font-size:24px}.markdown h2{font-size:20px}.markdown h3{font-size:17px}.markdown a{text-decoration:underline}.markdown blockquote{border-left:3px solid var(--border-strong);color:var(--fg-muted);padding-left:14px}.markdown code{font-family:var(--mono);background:var(--bg-soft);border-radius:6px;padding:2px 6px;font-size:.9em}.markdown hr{border:0;border-top:1px solid var(--border);margin:16px 0}.codeblock{border-radius:var(--r-md);color:#ececec;background:#0d0d0d;margin:0 0 12px;overflow:hidden}.codeblock-bar{color:#c9c9c9;background:#2f2f2f;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.codeblock-copy{color:inherit;align-items:center;gap:6px;font-size:12px;display:inline-flex}.codeblock pre{margin:0;padding:14px;font-size:13px;line-height:1.55;overflow-x:auto}.markdown .codeblock code{font-size:inherit;color:inherit;background:0 0;padding:0}.hljs-comment,.hljs-quote{color:#8b949e}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#ff7b72}.hljs-string,.hljs-regexp{color:#a5d6ff}.hljs-number,.hljs-built_in,.hljs-type{color:#79c0ff}.hljs-title,.hljs-function{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-variable{color:#ffa657}.md-table{max-width:100%;margin:0 0 12px;overflow-x:auto}.md-table table{border-collapse:collapse;font-size:14px}.md-table th,.md-table td{border:1px solid var(--border);text-align:left;padding:6px 12px}.md-table th{background:var(--bg-soft)}.katex-display{max-width:100%;overflow:auto hidden}.auth{min-height:100dvh;padding:var(--sat) var(--sar) var(--sab) var(--sal);flex-direction:column;display:flex}.auth-top{justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.auth-top a{text-decoration:none}.auth-body,.gate{flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.auth-card{flex-direction:column;gap:14px;width:min(400px,100%);display:flex}.auth-card h1{font-size:28px;font-weight:600}.auth-links{color:var(--fg-muted);flex-direction:column;align-items:center;gap:8px;font-size:14px;display:flex}.auth-links a{color:var(--fg);text-decoration:underline}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.support-thread{overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:10px;min-height:200px;max-height:min(60dvh,560px);padding:12px;display:flex;overflow-y:auto}.sup-msg{background:var(--bg-soft);overflow-wrap:anywhere;border-radius:16px;align-self:flex-start;max-width:85%;padding:10px 14px}.sup-msg.is-mine{background:var(--primary);color:var(--on-primary);align-self:flex-end}.sup-text{white-space:pre-wrap}.sup-meta{opacity:.7;margin-top:4px;font-size:12px}.sup-older{align-self:center}.sup-send{justify-content:space-between;align-items:center}.sup-back{align-self:flex-start}.sup-history{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sup-history-btn{white-space:normal;text-align:left;justify-content:space-between;gap:12px}.sup-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.support-admin{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.sup-list{min-width:0}.sup-tabs{gap:8px;padding:12px;display:flex}.sup-pad{padding:12px 16px}.sup-tickets{margin:0;padding:0;list-style:none}.sup-ticket{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;flex-direction:column;gap:2px;width:100%;min-width:0;padding:12px 16px;display:flex}.sup-ticket:hover,.sup-ticket.is-active{background:var(--bg-hover)}.sup-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sup-back-mobile{display:none}@media (max-width:760px){.support-admin{grid-template-columns:1fr}.support-admin.has-selection .sup-list,.support-admin:not(.has-selection) .sup-detail{display:none}.sup-back-mobile{display:inline-flex}.sup-msg{max-width:92%}}.social{flex-direction:column;gap:10px;display:flex}.social-or{color:var(--fg-muted);align-items:center;gap:12px;font-size:13px;display:flex}.social-or:before,.social-or:after{content:"";border-top:1px solid var(--border);flex:1}.social-item{flex-direction:column;gap:4px;display:flex}.social-btn{min-height:44px}.social-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.social-btn[aria-disabled=true]:hover{background:var(--bg)}.social .hint.center{margin-top:0}.social .hint a{color:var(--fg);text-decoration:underline}.page-scroll{min-height:0;padding:8px 16px calc(32px + var(--sab));flex:1;overflow-y:auto}.page{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.page-wide{max-width:980px}.page-title{font-size:28px;font-weight:600}.page-sub{color:var(--fg-muted)}.panel{border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:12px;min-width:0;padding:18px;display:flex}.panel h2{font-size:17px}.panel-flush{gap:0;padding:0;overflow:hidden}.panel-title{padding:14px 16px 0;font-size:15px!important}.pad{padding:16px}.plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.plan{border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:14px;padding:20px;display:flex}.plan-pro{border-color:var(--fg)}.plan-current{background:var(--bg-soft)}.plan h2{font-size:20px}.plan-price{font-size:28px;font-weight:600}.plan-per{color:var(--fg-muted);font-size:14px;font-weight:400}.plan-list{flex-direction:column;flex:1;gap:8px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.plan-list li{align-items:flex-start;gap:8px;display:flex}.plan-list svg{color:var(--ok);flex:none;margin-top:3px}.kv{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--fg-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.kv-row{display:contents}.copy-row{align-items:center;gap:6px;display:flex}.copy-row code{font-family:var(--mono);font-size:15px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.usage{flex-direction:column;gap:6px;font-size:14px;display:flex}.usage-row{justify-content:space-between;display:flex}.meter{background:var(--bg-soft);border-radius:3px;height:6px;overflow:hidden}.meter span{background:var(--fg);height:100%;display:block}.legal{flex-direction:column;gap:18px;display:flex}.legal h2{margin-bottom:4px;font-size:17px}.legal p{color:var(--fg-muted)}.inline-link{align-items:center;gap:4px;text-decoration:underline;display:inline-flex}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.stat-grid-sm{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.stat{border:1px solid var(--border);border-radius:var(--r-md);min-width:0;padding:14px 16px}.stat-label{color:var(--fg-muted);font-size:13px}.stat-value{overflow-wrap:anywhere;margin-top:2px;font-size:22px;font-weight:600}.charts{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:12px 0;display:grid}.chart{border:1px solid var(--border);border-radius:var(--r-md);min-width:0;margin:0;padding:14px 16px}.chart figcaption{color:var(--fg-muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.chart svg{width:100%;height:140px;display:block}.chart-axis{stroke:var(--border);stroke-width:1px}.chart-bar{fill:var(--fg-muted)}.chart-bar.is-active{fill:var(--fg)}.chart-axis-labels{color:var(--fg-muted);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px}.table th{color:var(--fg-muted);background:var(--bg-side);font-size:12px;font-weight:600;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table td.num{text-align:right;font-variant-numeric:tabular-nums}.cell{text-overflow:ellipsis;vertical-align:bottom;max-width:280px;display:inline-block;overflow:hidden}.admin{height:100dvh;display:flex;overflow:hidden}.admin-nav{background:var(--bg-side);border-right:1px solid var(--border);width:230px;padding:calc(12px + var(--sat)) 10px calc(12px + var(--sab)) calc(10px + var(--sal));flex-direction:column;flex:none;gap:2px;display:flex;overflow-y:auto}.admin-nav nav{flex-direction:column;flex:1;gap:2px;display:flex}.admin-brand{padding:6px 8px 14px;text-decoration:none}.admin-link{border-radius:var(--r-sm);white-space:nowrap;align-items:center;gap:12px;height:40px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.admin-link:hover{background:var(--bg-hover)}.admin-link.is-active{background:var(--bg-active);font-weight:600}.admin-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.admin-top{padding:calc(14px + var(--sat)) calc(20px + var(--sar)) 10px 20px;flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-top h1{font-size:26px;font-weight:600}.eyebrow{color:var(--fg-muted);font-size:13px}.admin-content{min-height:0;padding:4px calc(20px + var(--sar)) calc(24px + var(--sab)) 20px;flex:1;overflow:auto}.admin-section{flex-direction:column;gap:14px;display:flex}.admin-section .panel{margin-top:12px}.proof-options{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.proof-options legend{margin-bottom:8px;font-size:14px;font-weight:500}.proof-preview{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:8px;display:flex}.proof-preview img{object-fit:contain;border:1px solid var(--border);border-radius:var(--r-sm);max-width:100%;max-height:240px;display:block}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-admin{width:240px;max-width:100%}.presets{flex-wrap:wrap;gap:6px;display:flex}.row-btns{gap:6px;display:flex}.pager{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.pager-btns{align-items:center;gap:8px;display:flex}.is-loading{opacity:.6;transition:opacity var(--t)}.defs{padding:12px 16px}.defs summary{cursor:pointer;font-size:14px}.defs .kv{margin-top:10px}@media (max-width:1023px){.desktop-only{display:none!important}.mobile-only{justify-content:center;align-items:center;display:inline-flex!important}.sidebar{z-index:60;width:min(300px,86vw);box-shadow:var(--shadow);position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);margin-left:0!important}.sidebar.is-open{transform:none}.backdrop{z-index:50;background:#0006;display:block;position:fixed;inset:0}.admin{flex-direction:column}.admin-nav{width:100%;padding:calc(8px + var(--sat)) 10px 8px;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:4px;overflow:auto hidden}.admin-nav nav{flex-direction:row;flex:none}.admin-brand{padding:0 8px}.admin-back{margin-left:auto}.admin-top{padding:10px 14px}.admin-content{padding:4px 14px calc(20px + var(--sab))}}@media (max-width:767px){.plans,.grid-2{grid-template-columns:1fr}.greeting{font-size:28px}.topbar-title{flex-direction:row}.pro-btn span{display:none}.pro-btn{border-radius:var(--r-sm);justify-content:center;gap:0;width:36px;margin-left:2px;padding:0}.bubble{max-width:92%}.page-title,.admin-top h1{font-size:24px}.modal{border-radius:20px}}@media (max-width:420px){.lang-code{display:none}.lang-btn{justify-content:center;width:36px;padding:0}.topbar{padding-left:6px}.composer-dock{padding-left:10px;padding-right:10px}.messages{padding-left:12px;padding-right:12px}.search-admin{width:100%}}.composer{flex-wrap:wrap;padding-left:10px;position:relative}.composer>textarea{flex:1 1 0;padding-left:4px}.composer-plus{flex:none;position:relative}.plus-btn{width:36px;height:36px;color:var(--fg-muted);transition:background var(--t),color var(--t);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.plus-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}}.plus-btn.is-on{background:var(--bg-hover);color:var(--fg)}.plus-btn:disabled{opacity:.35}.composer-menu{white-space:nowrap;min-width:190px;inset:auto auto calc(100% + 8px) 0}.attach-row{flex-wrap:wrap;flex:0 0 100%;order:-1;gap:8px;min-width:0;margin:0 0 4px;padding:0 0 0 2px;list-style:none;display:flex}.attach-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:8px;width:220px;min-width:0;max-width:100%;padding:6px 30px 6px 6px;display:flex;position:relative}.attach-chip.is-error{border-color:var(--danger)}.attach-thumb{background:var(--bg-soft);width:40px;height:40px;color:var(--fg-muted);border-radius:8px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.attach-thumb img{object-fit:cover;width:100%;height:100%;display:block}.attach-progress{background:var(--fg);height:4px;transition:width .1s linear;position:absolute;bottom:0;left:0}.attach-meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.attach-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attach-sub{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attach-chip.is-error .attach-sub{color:var(--danger)}.attach-x{width:24px;height:24px;color:var(--fg-muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}@media (hover:hover){.attach-x:hover{background:var(--bg-hover);color:var(--fg)}}.spin{animation:1s linear infinite spin}.drop-overlay{z-index:30;border:2px dashed var(--border-strong);border-radius:var(--r-lg);background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--fg-muted);pointer-events:none;place-items:center;font-size:16px;display:grid;position:absolute;inset:8px}.msg-attachments{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:85%;margin:6px 0 0;padding:0;list-style:none;display:flex}.msg-img{border-radius:var(--r-md);border:1px solid var(--border);background:var(--bg-soft);display:block;overflow:hidden}.msg-img img{object-fit:cover;width:auto;max-width:min(240px,100%);height:auto;max-height:200px;display:block}.msg-file{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-soft);align-items:center;gap:8px;max-width:240px;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.msg-file .attach-name{min-width:0}.msg-file svg{flex:none}.lightbox{z-index:90;padding:calc(16px + var(--sat)) 16px calc(16px + var(--sab));background:#000000d9;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-close{top:calc(12px + var(--sat));color:#fff;background:#ffffff26;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;right:12px}.tool-line{color:var(--fg-muted);align-items:center;gap:8px;min-width:0;margin:0 0 8px;font-size:14px;display:flex}.tool-line span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tool-line svg{flex:none}.memory-note{align-items:center;gap:6px;display:flex}.memory-note a{text-decoration:underline}.sources{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.sources-label{color:var(--fg-muted);font-size:13px;line-height:26px}.sources ul{flex-wrap:wrap;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.source-pill{border:1px solid var(--border);background:var(--bg-soft);max-width:200px;height:26px;color:var(--fg);text-overflow:ellipsis;white-space:nowrap;vertical-align:top;border-radius:999px;padding:0 10px;font-size:12px;line-height:24px;text-decoration:none;display:inline-block;overflow:hidden}@media (hover:hover){.source-pill:hover{background:var(--bg-hover)}}.divider{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.counter{align-self:flex-end}.switch-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.switch-row p{margin:2px 0 0}.switch{flex:none;width:44px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{background:var(--border-strong);transition:background var(--t);border-radius:999px;position:absolute;inset:0}.switch-track:after{content:"";background:var(--bg);width:20px;height:20px;transition:transform var(--t);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{background:var(--on-primary);transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--fg);outline-offset:2px}.memory-add{flex-wrap:wrap;gap:8px;display:flex}.memory-add input,.memory-edit input{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--bg);flex:220px;min-width:0;min-height:40px;padding:8px 12px;font-size:16px}.memory-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.memory-item{border-top:1px solid var(--border);align-items:center;gap:4px;min-width:0;padding:8px 0;display:flex}.memory-item:first-child{border-top:0}.memory-text{overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px}.memory-edit{align-items:center;gap:4px;width:100%;display:flex}#personalization{scroll-margin-top:12px}.mini-welcome{text-align:center;background:var(--bg);min-height:100dvh;color:var(--fg);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:40px 24px;display:flex}.mini-welcome h1{letter-spacing:-2px;margin:0;font-size:42px}.mini-welcome>p{max-width:350px;line-height:1.6}.mini-emblem{font-size:72px;font-weight:800;line-height:1}.mini-eyebrow{letter-spacing:2px;color:var(--fg-muted);font-size:10px}.mini-actions{flex-direction:column;gap:10px;width:min(320px,100%);display:flex}
