:root{--bg-0:#0e0d0b;--bg-1:#161513;--bg-2:#1f1d1a;--bg-3:#28251f;--bg-elev:#1a1815;--border:#2a2724;--border-strong:#3a3633;--border-faint:#1f1d1a;--text:#edeae4;--text-muted:#9a938a;--text-dim:#6b655f;--text-on-accent:#1a0e07;--accent:#d97757;--accent-hover:#e1855e;--accent-pressed:#c9663f;--accent-soft:#d977571f;--accent-ring:#d9775752;--danger:#e5484d;--danger-soft:#e5484d1f;--ok:#4cc38a;--ok-soft:#4cc38a1f;--warn:#e5a458;--warn-soft:#e5a4581f;--info:#6fa3d9;--info-soft:#6fa3d91f;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:32px;--fs-4xl:44px;--fs-5xl:56px;--lh-tight:1.15;--lh-snug:1.35;--lh-normal:1.55;--lh-relaxed:1.7;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:56px;--sp-10:80px;--sp-11:120px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-pill:999px;--shadow-sm:0 1px 0 #0000004d;--shadow-md:0 4px 16px #00000052;--shadow-lg:0 20px 48px #00000073;--ease:cubic-bezier(.4,0,.2,1);--t-fast:.12s;--t-mid:.2s;--t-slow:.32s;--container:1200px;--container-narrow:880px;--sidebar-w:264px;--navbar-h:64px;--z-nav:50;--z-modal:10000;--z-toast:11000;--z-popover:12000}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-0);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;margin:0;padding:0;overflow-x:clip}body{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);color:var(--text);margin:0}h1{font-size:var(--fs-4xl);font-weight:700}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{color:var(--text-muted);line-height:var(--lh-normal);margin:0}a{color:inherit;transition:color var(--t-fast)var(--ease);text-decoration:none}a:hover{color:var(--accent)}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}::selection{background:var(--accent-soft);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-pill);border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell-app{grid-template-columns:var(--sidebar-w)minmax(0,1fr);min-height:100vh;display:grid}.main-content{flex:1}.section{padding:var(--sp-10)0}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.kicker{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);min-height:30px;font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);background:var(--bg-1);padding:7px 12px 5px;font-weight:500;line-height:1;display:inline-flex}.kicker-dot{border-radius:var(--r-pill);background:var(--accent);width:6px;height:6px}.page{width:100%;min-height:calc(100vh - var(--navbar-h))}.eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--accent);margin-bottom:var(--sp-3);font-weight:600}.section-title{font-size:var(--fs-3xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-3);font-weight:700}.section-lede{font-size:var(--fs-md);color:var(--text-muted);max-width:60ch;margin:0 auto}.hidden{display:none!important}@media (width<=720px){h1{font-size:var(--fs-3xl)}.section{padding:var(--sp-8)0}}.not-found{justify-content:center;align-items:center;gap:var(--sp-3);text-align:center;flex-direction:column;padding:80px 24px;display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:0 var(--sp-4);border-radius:var(--r-md);height:38px;font-size:var(--fs-sm);background:var(--bg-2);color:var(--text);cursor:pointer;transition:background var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease),color var(--t-fast)var(--ease),transform var(--t-fast)var(--ease);white-space:nowrap;user-select:none;border:1px solid #0000;font-weight:500;line-height:1;display:inline-flex}.btn:hover{background:var(--bg-3);color:var(--text)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}.btn svg{width:14px;height:14px}.btn-sm{height:30px;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-lg{height:46px;padding:0 var(--sp-6);font-size:var(--fs-md)}.btn-full{width:100%}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);font-weight:600}.btn-primary:hover{background:var(--accent-hover);color:var(--text-on-accent);border-color:var(--accent-hover)}.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.btn-secondary{background:var(--bg-2);border-color:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--bg-3);border-color:var(--border-strong)}.btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--bg-1);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger:hover{color:var(--danger);background:#e5484d33}.spinner-sm{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-icon{width:36px;height:36px;padding:0}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--t-fast)var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg-2);color:var(--text)}.icon-btn svg{width:16px;height:16px}@media (width<=768px){.btn{height:40px;padding:0 var(--sp-4)}.btn-sm{height:34px}.btn-lg{height:48px}.icon-btn{width:36px;height:36px}}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);z-index:0;position:relative;overflow:visible}.card:has(.custom-select.open){z-index:30}.card-header{padding:clamp(var(--sp-3),3vw,var(--sp-5))clamp(var(--sp-3),3vw,var(--sp-6))var(--sp-3);border-bottom:1px solid var(--border-faint)}.card-header-split{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.card-header-main{min-width:0}.card-header-aside{align-items:center;gap:var(--sp-2);flex-shrink:0;display:flex}.card-title{font-size:var(--fs-md);letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.card-subtitle{font-size:var(--fs-sm);color:var(--text-muted);margin:4px 0 0}.card-body{padding:clamp(var(--sp-3),3vw,var(--sp-5))clamp(var(--sp-3),3vw,var(--sp-6));min-width:0;overflow:auto visible}.stat-box{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);align-items:center;display:flex}.stat-content{flex-direction:column;gap:4px;display:flex}.stat-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:500}.stat-value{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight);color:var(--text);font-weight:600}.stat-detail{font-size:var(--fs-xs);color:var(--text-dim)}.stats-row{gap:clamp(var(--sp-2),2vw,var(--sp-4));margin-bottom:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.input,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],input[type=date],textarea,select{width:100%;height:38px;padding:0 var(--sp-3);background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease),box-shadow var(--t-fast)var(--ease);outline:none;font-family:inherit}textarea{height:auto;min-height:100px;padding:var(--sp-3);line-height:var(--lh-normal);resize:vertical}.input:hover,input:hover,textarea:hover,select:hover{border-color:var(--border-strong);background:var(--bg-1)}.input:focus,input:focus,textarea:focus,select:focus{border-color:var(--accent);background:var(--bg-1);box-shadow:0 0 0 2px #d977572e}input:disabled,textarea:disabled,select:disabled{opacity:.55;cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--text-dim)}select{appearance:none;background-color:var(--bg-0);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a938a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:32px}select:hover,select:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a938a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px}.custom-select{width:100%;min-width:0;font-size:var(--fs-sm);z-index:1;outline:none;position:relative}.custom-select.open{z-index:80}.custom-select-trigger{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-0);width:100%;min-height:38px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease),box-shadow var(--t-fast)var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:0 10px 0 12px;display:inline-flex}.custom-select-trigger:hover{border-color:var(--border-strong);background:var(--bg-1)}.custom-select.open .custom-select-trigger,.custom-select:focus-within .custom-select-trigger{border-color:var(--accent);background:var(--bg-1);box-shadow:0 0 0 2px #d977572e}.custom-select-trigger svg{color:var(--text-dim);transition:transform var(--t-fast)var(--ease),color var(--t-fast)var(--ease);flex:none}.custom-select.open .custom-select-trigger svg{color:var(--text);transform:rotate(180deg)}.custom-select-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select-detail{font-size:var(--fs-xs);color:var(--text-dim);flex:none;margin-left:auto}.custom-select-overlay{z-index:calc(var(--z-popover) - 1);cursor:default;position:fixed;inset:0}.custom-select-menu{z-index:90;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--bg-0)94%,transparent);width:100%;min-width:min(320px,100vw - 32px);max-height:min(360px,60vh);box-shadow:var(--shadow-lg);backdrop-filter:blur(14px);animation:select-menu-in .14s var(--ease)both;padding:6px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.custom-select-menu-portal{z-index:var(--z-popover);isolation:isolate;position:fixed;top:auto;bottom:auto;left:auto}.custom-select-group{z-index:2;color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--bg-0)97%,transparent);backdrop-filter:blur(14px);margin:0 -6px;padding:7px 14px 5px;font-size:10px;font-weight:700;position:sticky;top:-6px}.custom-select-group:not(:first-child){border-top:1px solid var(--border-faint)}.custom-select-option{border-radius:var(--r-sm);width:100%;min-height:36px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:7px 8px;display:flex}.custom-select-option:hover,.custom-select-option.selected{background:var(--bg-1)}.custom-select-option.selected{color:var(--accent)}.custom-select-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select-option-detail{color:var(--text-dim);font-size:var(--fs-xs);flex:none}.custom-select.disabled{opacity:.6;pointer-events:none}.custom-select.compact,.custom-select.compact .custom-select-trigger{width:auto;max-width:min(520px,54vw)}.custom-select.compact .custom-select-menu{width:max-content;min-width:min(360px,100vw - 32px);max-width:min(560px,100vw - 32px);left:auto;right:0}@keyframes select-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}label{font-size:var(--fs-sm);color:var(--text-muted);flex-direction:column;gap:6px;font-weight:500;display:flex}.field{flex-direction:column;gap:6px;display:flex}.stack-form{gap:var(--sp-3);flex-direction:column;display:flex}.stack-form>input,.stack-form>select,.stack-form>textarea,.stack-form>.custom-select .custom-select-trigger{height:40px}.stack-form>input::placeholder,.stack-form>textarea::placeholder{color:var(--text-dim)}.stack-form>button[type=submit]{margin-top:var(--sp-1);height:40px}.inline-form{gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.inline-form>*{flex:auto}.inline-form button{flex:none}@media (width<=768px){.input,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],input[type=url],input[type=date],select{height:46px;padding:0 var(--sp-3);font-size:16px}textarea{padding:var(--sp-3);font-size:16px}.stack-form>input,.stack-form>select,.stack-form>textarea,.stack-form>.custom-select .custom-select-trigger,.stack-form>button[type=submit]{height:46px}.custom-select-trigger{min-height:46px}}.badge{border-radius:var(--r-sm);font-size:var(--fs-xs);letter-spacing:.01em;background:var(--bg-2);color:var(--text-muted);border:1px solid var(--border);align-items:center;gap:4px;padding:3px 8px;font-weight:500;line-height:1.3;display:inline-flex}.badge-success{background:var(--ok-soft);color:var(--ok);border-color:#0000}.badge-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge-warning{background:var(--warn-soft);color:var(--warn);border-color:#0000}.badge-info{background:var(--info-soft);color:var(--info);border-color:#0000}.badge-admin,.badge-root{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge-user,.badge-neutral{background:var(--bg-2);color:var(--text-muted)}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-sm)}.table thead th{text-align:left;font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);padding:var(--sp-3)var(--sp-3);border-bottom:1px solid var(--border);background:var(--bg-1);position:sticky;top:0}.table tbody td{padding:var(--sp-3);border-bottom:1px solid var(--border-faint);color:var(--text);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-1)}.table code{font-size:var(--fs-xs);background:var(--bg-2);border-radius:var(--r-xs);color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;padding:2px 6px}.table .mono-sm,.mono-sm{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.table-note{font-size:var(--fs-xs);color:var(--text-dim);margin-left:6px;display:inline-block}.action-btns{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.table-wrap{width:100%;overflow-x:auto}.table-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.table-toolbar-meta{color:var(--text-muted);font-size:var(--fs-sm)}.table-controls,.pagination{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.table-controls select{width:auto;min-width:76px;height:32px}.table-controls .rows-select{flex:0 0 76px;width:76px}.table-controls .rows-select .custom-select-trigger{min-height:32px}.table-controls .rows-select .custom-select-menu{min-width:92px}.pagination{margin-top:var(--sp-3);justify-content:flex-end;gap:6px}.pagination-label{color:var(--text-muted);font-size:var(--fs-xs);text-align:center;min-width:40px}.pagination-btn{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-1);width:30px;height:30px;color:var(--text);transition:background var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease),color var(--t-fast)var(--ease);justify-content:center;align-items:center;padding:0 0 2px;font-size:18px;line-height:0;display:inline-flex;box-shadow:0 1px 2px #00000029}.pagination-btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-strong);color:var(--text)}.pagination-btn:disabled{opacity:.42;cursor:not-allowed}.table-modal-row,.table-modal-row td{border:0!important;padding:0!important}.skeleton-table{gap:var(--sp-2);flex-direction:column;display:flex}.skeleton-row{gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--border-faint);grid-template-columns:2fr 1.2fr 1fr 1fr 1fr;display:grid}.skeleton-cell,.skeleton-card,.skeleton-title,.skeleton-copy{background:linear-gradient(90deg,var(--bg-2)0%,var(--bg-3)50%,var(--bg-2)100%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.2s ease-in-out infinite skeleton;display:block}.skeleton-cell{height:14px}.skeleton-title{width:180px;height:18px}.skeleton-copy{width:min(320px,100%);height:12px}.skeleton-card{border-radius:var(--r-lg);min-height:150px}.empty-state{padding:var(--sp-7);text-align:center;color:var(--text-muted);background:var(--bg-1);border-radius:var(--r-md);border:1px dashed var(--border)}.empty-state p{color:var(--text-muted);margin:0}@media (width<=768px){.table-wrap{margin:0 calc(-1*var(--sp-4));padding:0 var(--sp-4)}.table thead th{padding:var(--sp-2);font-size:10px}.table tbody td{padding:var(--sp-2);font-size:var(--fs-xs)}.table tbody td .btn{white-space:nowrap}.action-btns{gap:4px}.table-toolbar{gap:var(--sp-2);align-items:stretch}.table-toolbar>*{width:100%}.table-controls{justify-content:space-between}.pagination{flex-wrap:wrap;justify-content:center}.skeleton-row{grid-template-columns:2fr 1fr 1fr}}@media (width<=480px){.skeleton-row{grid-template-columns:1fr 1fr}.empty-state{padding:var(--sp-5)var(--sp-3)}}.alert{align-items:center;gap:var(--sp-3);padding:var(--sp-3)var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);margin-bottom:var(--sp-4);border:1px solid #0000;display:flex}.alert-info{background:var(--info-soft);color:var(--info)}.alert-success{background:var(--ok-soft);color:var(--ok)}.alert-warning{background:var(--warn-soft);color:var(--warn)}.alert-error,.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-close{color:inherit;font-size:var(--fs-base);cursor:pointer;opacity:.7;padding:0 var(--sp-2);background:0 0;margin-left:auto}.alert-close:hover{opacity:1}.form-status{font-size:var(--fs-sm);color:var(--text-muted);margin:var(--sp-2)0 0}.form-error{color:var(--danger)}.form-hint{color:var(--text-dim);font-size:var(--fs-xs);margin:0}.secret-box{gap:var(--sp-2);padding:var(--sp-4);background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-md);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.secret-box strong{color:var(--accent);font-size:var(--fs-sm)}.secret-key{font-family:var(--font-mono);font-size:var(--fs-sm);word-break:break-all;padding:var(--sp-2)var(--sp-3);background:var(--bg-0);border-radius:var(--r-sm);color:var(--text);display:block}.secret-box-actions{align-items:center;gap:var(--sp-2);display:flex}.toast{align-items:center;gap:var(--sp-3);padding:var(--sp-3)var(--sp-4);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);font-size:var(--fs-sm);display:flex}.toast-close{color:var(--text-dim);cursor:pointer;background:0 0;margin-left:auto}.toast-close:hover{color:var(--text)}.toast-info{border-color:var(--info)}.toast-success{border-color:var(--ok)}.toast-error{border-color:var(--danger)}.toast-host{z-index:var(--z-toast);gap:var(--sp-2);pointer-events:none;flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:fixed}.toast-right{right:var(--sp-4)}.toast-left{left:var(--sp-4)}.toast-top{top:var(--sp-4)}.toast-bottom{bottom:var(--sp-4)}.app-toast{align-items:center;gap:var(--sp-3);padding:var(--sp-3)var(--sp-3)var(--sp-3)var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-md);font-size:var(--fs-sm);pointer-events:auto;animation:toast-in .18s var(--ease)both;display:flex}.app-toast span{flex:1;min-width:0}.app-toast button{border-radius:var(--r-sm);width:26px;height:26px;color:var(--text-muted);background:var(--bg-1);border:1px solid var(--border);justify-content:center;align-items:center;display:inline-flex}.app-toast button:hover{color:var(--text);background:var(--bg-2)}.app-toast.toast-success{border-color:var(--ok)}.app-toast.toast-error{border-color:var(--danger)}.app-toast.toast-info{border-color:var(--info)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-backdrop{width:100dvw;height:100dvh;padding:var(--sp-5);backdrop-filter:blur(10px);animation:modal-backdrop-in .17s var(--ease)both;overscroll-behavior:contain;isolation:isolate;background:#1211106b;justify-content:center;place-items:center;display:grid;overflow:hidden;z-index:var(--z-modal)!important;position:fixed!important;inset:0!important}.modal-backdrop.closing{animation:modal-backdrop-out .16s var(--ease)both}.confirm-dialog{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);width:min(420px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-lg);padding:var(--sp-5);animation:confirm-dialog-in .17s var(--ease)both;margin:auto;position:relative;overflow:hidden}.confirm-dialog:has(.custom-select.open),.manage-dialog-body:has(.custom-select.open){overflow:visible}.modal-backdrop.closing .confirm-dialog{animation:confirm-dialog-out .16s var(--ease)both}.manage-dialog{width:min(1040px,100vw - 48px);max-height:min(760px,100dvh - 48px);padding:var(--sp-6);gap:var(--sp-5);flex-direction:column;display:flex}.manage-dialog-body{gap:var(--sp-6);flex-direction:column;min-height:0;padding-right:2px;display:flex;overflow:auto}.manage-section{gap:var(--sp-4);padding-top:var(--sp-6);border-top:1px solid var(--border-faint);flex-direction:column;display:flex}.manage-section:first-child{border-top:0;padding-top:0}.manage-section h4,.manage-section-head h4{font-size:var(--fs-md);letter-spacing:var(--tracking-tight)}.manage-section-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.manage-form-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.form-switch-row{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);padding:var(--sp-3)var(--sp-4);border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--bg-2);display:flex}.form-switch-text{flex-direction:column;gap:4px;display:flex}.danger-zone .form-switch-row{border-color:color-mix(in srgb,var(--danger)40%,var(--border-faint));background:color-mix(in srgb,var(--danger)8%,var(--bg-2))}.manage-actions{justify-content:flex-end;align-items:center;gap:var(--sp-2);padding-top:var(--sp-1);flex-wrap:wrap;display:flex}.manage-key-form{padding-top:var(--sp-2);margin:0}.api-key-list{gap:var(--sp-3);flex-direction:column;display:flex}.api-key-item{gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--bg-0);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:center;display:grid}.api-key-item.revoked{opacity:.72;background:color-mix(in srgb,var(--danger)5%,var(--bg-0))}.api-key-main,.api-key-metric{flex-direction:column;gap:6px;min-width:0;display:flex}.api-key-title-row{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.api-key-title-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.api-key-prefix{align-items:center;gap:var(--sp-2);color:var(--text-dim);font-size:var(--fs-xs);display:flex}.api-key-prefix code{border-radius:var(--r-xs);background:var(--bg-2);color:var(--text-muted);padding:3px 7px}.api-key-metrics{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));display:grid}.api-key-metric span{color:var(--text-dim);font-size:var(--fs-xs)}.api-key-metric strong{min-width:0;color:var(--text);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.api-key-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;display:flex}.manage-dialog-footer{justify-content:space-between;align-items:center;gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-faint);display:flex}.manage-footer-left,.manage-footer-right{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.manage-footer-right{justify-content:flex-end}.manage-dialog .table-wrap{border:1px solid var(--border-faint);border-radius:var(--r-md);max-width:100%}.manage-dialog .table{min-width:760px}.manage-dialog .table tbody td{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.user-detail-dialog{width:min(1120px,100vw - 48px)}@media (width<=560px){.modal-backdrop{padding:var(--sp-3)}.confirm-dialog,.manage-dialog,.user-detail-dialog{width:min(100%,100vw - 24px);max-height:calc(100dvh - 24px)}}.user-detail-stack{gap:var(--sp-5);flex-direction:column;display:flex}.user-detail-stack>.card{margin:0}@media (width<=560px){.manage-actions{justify-content:stretch}.manage-actions .btn,.manage-key-form .btn{width:100%}.manage-dialog-footer{flex-direction:column;align-items:stretch}.manage-footer-left,.manage-footer-right{width:100%}.api-key-actions{justify-content:stretch}.api-key-actions .btn{flex:auto}}.confirm-dialog-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);padding-right:38px;display:flex}.confirm-dialog-head .icon-btn{top:var(--sp-4);right:var(--sp-4);border-radius:var(--r-sm);border-color:var(--border);background:var(--bg-1);width:30px;height:30px;color:var(--text);position:absolute;box-shadow:0 1px 2px #00000029}.confirm-dialog-head .icon-btn:hover{background:var(--bg-3);border-color:var(--border-strong)}.confirm-dialog h3{font-size:var(--fs-lg);letter-spacing:var(--tracking-tight)}.confirm-dialog p{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-relaxed)}.confirm-dialog-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5);display:flex}@keyframes modal-backdrop-in{0%{opacity:0;backdrop-filter:blur()}to{opacity:1;backdrop-filter:blur(10px)}}@keyframes modal-backdrop-out{0%{opacity:1;backdrop-filter:blur(10px)}to{opacity:0;backdrop-filter:blur()}}@keyframes confirm-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes confirm-dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.98)}}.skeleton-list{gap:var(--sp-2);margin-top:var(--sp-3);flex-direction:column;display:flex}.skeleton-line{background:linear-gradient(90deg,var(--bg-2)0%,var(--bg-3)50%,var(--bg-2)100%);border-radius:var(--r-xs);background-size:200% 100%;height:12px;animation:1.2s ease-in-out infinite skeleton}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-text{color:var(--text-dim);font-size:var(--fs-sm);padding:var(--sp-4);text-align:center}.load-error{justify-content:space-between}.load-error .btn{flex-shrink:0}.progress{align-items:center;gap:var(--sp-3);display:flex}.progress-bar{background:var(--bg-2);border-radius:var(--r-pill);flex:1;height:6px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width var(--t-slow)var(--ease);border-radius:var(--r-pill)}.progress-fill.over{background:var(--danger)}.progress-fill.near{background:var(--warn)}.progress-label{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:70px}.sys-gauge{align-items:center;gap:var(--sp-3);padding:var(--sp-2)0;display:flex}.gauge-bar{background:var(--bg-2);border-radius:var(--r-pill);flex:1;height:8px;overflow:hidden}.gauge-fill{background:var(--accent);height:100%;transition:width var(--t-slow)var(--ease)}.gauge-fill.gauge-mem{background:var(--info)}.gauge-fill.gauge-disk{background:var(--warn)}.gauge-label{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:130px}.navbar{z-index:var(--z-nav);height:var(--navbar-h);-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--border-faint);background:#0e0d0bb8;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:var(--sp-4);height:100%;max-width:var(--container);padding:0 var(--sp-6);margin:0 auto;display:flex}.nav-brand{align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--fs-md);letter-spacing:var(--tracking-tight);color:var(--text);display:inline-flex}.nav-brand:hover{color:var(--text)}.nav-brand-mark{background:var(--accent);width:26px;height:26px;color:var(--text-on-accent);border-radius:var(--r-sm);justify-content:center;align-items:center;display:inline-flex}.nav-links{align-items:center;gap:var(--sp-1);display:flex}.nav-link{border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-muted);transition:color var(--t-fast)var(--ease),background var(--t-fast)var(--ease);align-items:center;padding:8px 12px;font-weight:500;display:inline-flex}.nav-link:hover{color:var(--text);background:var(--bg-1)}.nav-link.active{color:var(--text)}.nav-actions{align-items:center;gap:var(--sp-2);margin-left:var(--sp-3);display:flex}.nav-divider{background:var(--border);width:1px;height:18px;margin:0 var(--sp-2)}@media (width<=720px){.nav-links .nav-link-extra{display:none}.navbar-inner{padding:0 var(--sp-4);gap:var(--sp-2)}.nav-link{font-size:var(--fs-xs);padding:8px}.nav-actions{margin-left:var(--sp-1);gap:var(--sp-1)}.nav-divider{display:none}}@media (width<=480px){.nav-links{gap:0}.nav-link{padding:6px}.nav-brand{font-size:var(--fs-sm);gap:var(--sp-1)}.nav-brand-mark{width:22px;height:22px}}.sidebar{width:var(--sidebar-w);background:var(--bg-1);border-right:1px solid var(--border);height:100vh;padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-top{padding:0 var(--sp-1);justify-content:space-between;align-items:center;display:flex}.sidebar-brand{align-items:center;gap:var(--sp-2);font-weight:600;font-size:var(--fs-sm);letter-spacing:var(--tracking-tight);color:var(--text);display:flex}.sidebar-brand-mark{background:var(--accent);width:22px;height:22px;color:var(--text-on-accent);border-radius:var(--r-sm);justify-content:center;align-items:center;display:inline-flex}.sidebar-brand-mark svg{width:14px;height:14px}.sidebar-new{align-items:center;gap:var(--sp-2);width:100%;height:36px;padding:0 var(--sp-3);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);cursor:pointer;transition:all var(--t-fast)var(--ease);font-weight:500;display:inline-flex}.sidebar-new:hover{background:var(--bg-3);border-color:var(--border-strong)}.sidebar-new svg{width:14px;height:14px}.sidebar-nav{flex-direction:column;gap:2px;margin-top:0;display:flex}.sidebar-link{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;text-align:left;width:100%;transition:all var(--t-fast)var(--ease);background:0 0;border:none;padding:8px 10px;font-weight:500;display:flex}.sidebar-link:hover,.sidebar-link.active{background:var(--bg-2);color:var(--text)}.sidebar-link svg{flex:0 0 16px;width:16px;height:16px}.sidebar-section{margin-top:var(--sp-3);padding:0 var(--sp-2);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);font-size:11px;font-weight:500}.sidebar-main-title{margin-top:var(--sp-1)}.sidebar-history{flex-direction:column;flex:1;gap:2px;min-height:0;margin-top:2px;display:flex;overflow-y:auto}.history-item{align-items:center;gap:var(--sp-2);border-radius:var(--r-sm);min-height:34px;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--t-fast)var(--ease),color var(--t-fast)var(--ease);padding:7px 10px;display:flex;position:relative}.history-item:hover,.history-item.active{background:var(--bg-2);color:var(--text)}.history-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.history-actions{opacity:0;pointer-events:none;transition:opacity var(--t-fast)var(--ease);flex:0 0 32px;gap:2px;display:flex}.history-item:hover .history-actions,.history-item.active .history-actions{opacity:1;pointer-events:auto}.history-empty{padding:4px var(--sp-2)var(--sp-2);font-size:var(--fs-xs);color:var(--text-dim)}.history-skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--bg-2)0%,var(--bg-3)50%,var(--bg-2)100%);background-size:200% 100%;height:34px;animation:1.2s ease-in-out infinite skeleton}.sidebar-user{border-top:1px solid var(--border-faint);padding-top:var(--sp-3);align-items:center;gap:var(--sp-3);display:flex}.sidebar-avatar{border-radius:var(--r-pill);background:var(--accent);width:32px;height:32px;color:var(--text-on-accent);font-weight:600;font-size:var(--fs-sm);flex:0 0 32px;justify-content:center;align-items:center;display:flex}.sidebar-user-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-user-email{font-size:var(--fs-xs);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user-role{color:var(--text-dim);font-size:11px}.sidebar-user-action{flex:0 0 28px}.sidebar-signin{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--border-faint);flex-direction:column;display:flex}.sidebar-toggle{z-index:calc(var(--z-nav) + 2);border-radius:var(--r-md);background:var(--bg-1);width:40px;height:40px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:none;position:fixed;top:10px;left:10px}.sidebar-toggle:hover{background:var(--bg-2)}.sidebar-close{border-radius:var(--r-md);background:var(--bg-2);width:34px;height:34px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;z-index:2;transition:background var(--t-fast)var(--ease),color var(--t-fast)var(--ease);justify-content:center;align-items:center;display:none;position:absolute;top:10px;right:10px}.sidebar-close:hover{background:var(--bg-3);color:var(--text)}.sidebar-backdrop{backdrop-filter:blur(2px);z-index:calc(var(--z-nav) - 1);animation:sidebar-backdrop-in .16s var(--ease);background:#0e0d0b8c;display:none;position:fixed;inset:0}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}@media (width<=1024px){.app-shell-app{grid-template-columns:1fr}.sidebar{width:min(86vw,320px);transition:transform var(--t-mid)var(--ease);z-index:calc(var(--z-nav) + 1);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:inline-flex}.sidebar-backdrop{display:block}.sidebar-close{display:inline-flex}}@media (width<=480px){.sidebar{width:min(92vw,320px)}}.sidebar-admin-nav{scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent;flex-direction:column;flex:1;gap:2px;min-height:0;margin-top:2px;display:flex;overflow-y:auto}.sidebar-admin-nav .sidebar-section{margin-top:var(--sp-3)}.sidebar-admin-nav .sidebar-section:first-child{margin-top:0}.faq{gap:var(--sp-2);max-width:var(--container-narrow);flex-direction:column;margin:0 auto;display:flex}.faq-item{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-1);transition:border-color var(--t-fast)var(--ease);overflow:hidden}.faq-item.open{border-color:var(--border-strong)}.faq-question{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4)var(--sp-5);cursor:pointer;width:100%;color:var(--text);font-size:var(--fs-md);text-align:left;transition:background var(--t-fast)var(--ease);background:0 0;border:none;font-weight:500;display:flex}.faq-question:hover{background:var(--bg-2)}.faq-chevron{width:16px;height:16px;color:var(--text-dim);transition:transform var(--t-mid)var(--ease);flex:0 0 16px}.faq-item.open .faq-chevron{color:var(--accent);transform:rotate(180deg)}.faq-answer{opacity:0;transition:grid-template-rows var(--t-mid)var(--ease),opacity var(--t-fast)var(--ease);grid-template-rows:0fr;display:grid}.faq-item.open .faq-answer{opacity:1;grid-template-rows:1fr}.faq-answer-inner{min-height:0;padding:0 var(--sp-5);color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-relaxed);transition:padding var(--t-mid)var(--ease),transform var(--t-mid)var(--ease);overflow:hidden;transform:translateY(-4px)}.faq-item.open .faq-answer-inner{padding-bottom:var(--sp-4);transform:translateY(0)}.footer{border-top:1px solid var(--border-faint);background:var(--bg-1);padding:var(--sp-8)0 var(--sp-6);margin-top:var(--sp-10)}.footer-inner{max-width:var(--container);padding:0 var(--sp-6);gap:var(--sp-6);grid-template-columns:1.4fr repeat(3,1fr);margin:0 auto;display:grid}.footer-brand{gap:var(--sp-3);flex-direction:column;max-width:320px;display:flex}.footer-brand-row{align-items:center;gap:var(--sp-2);color:var(--text);font-weight:600;display:flex}.footer-tagline{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-relaxed)}.footer-col h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);margin-bottom:var(--sp-3);font-weight:500}.footer-col ul{gap:var(--sp-2);flex-direction:column;display:flex}.footer-col a{font-size:var(--fs-sm);color:var(--text-muted)}.footer-col a:hover{color:var(--text)}.footer-bottom{max-width:var(--container);margin:var(--sp-7)auto 0;padding:var(--sp-4)var(--sp-6)0;border-top:1px solid var(--border-faint);justify-content:space-between;align-items:center;gap:var(--sp-4);font-size:var(--fs-xs);color:var(--text-dim);flex-wrap:wrap;display:flex}@media (width<=720px){.footer{padding:var(--sp-6)0 var(--sp-4);margin-top:var(--sp-8)}.footer-inner{gap:var(--sp-5);grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=480px){.footer-inner{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;gap:var(--sp-2);flex-direction:column}}.page-fade{animation:page-fade-in .32s var(--ease)both}.hero-inner>*,.gallery-head>*,.pricing-head>*,.install-head>*,.editors-head>*,.tutorial-head>*{animation:rise-in .48s var(--ease)both}.hero-inner>:first-child{animation-delay:40ms}.hero-inner>:nth-child(2){animation-delay:.1s}.hero-inner>:nth-child(3){animation-delay:.16s}.hero-inner>:nth-child(4){animation-delay:.22s}.hero-inner>:nth-child(5){animation-delay:.28s}.model-row .model-card,.pricing-grid .plan-card,.editors-grid .editor-card,.gallery-grid .gallery-card,.tutorial-steps .tutorial-step{animation:rise-in .42s var(--ease)both}.model-row .model-card:first-child,.pricing-grid .plan-card:first-child,.editors-grid .editor-card:first-child,.gallery-grid .gallery-card:first-child,.tutorial-steps .tutorial-step:first-child{animation-delay:60ms}.model-row .model-card:nth-child(2),.pricing-grid .plan-card:nth-child(2),.editors-grid .editor-card:nth-child(2),.gallery-grid .gallery-card:nth-child(2),.tutorial-steps .tutorial-step:nth-child(2){animation-delay:.12s}.model-row .model-card:nth-child(3),.pricing-grid .plan-card:nth-child(3),.editors-grid .editor-card:nth-child(3),.gallery-grid .gallery-card:nth-child(3),.tutorial-steps .tutorial-step:nth-child(3){animation-delay:.18s}.model-row .model-card:nth-child(4),.pricing-grid .plan-card:nth-child(4),.editors-grid .editor-card:nth-child(4),.gallery-grid .gallery-card:nth-child(4){animation-delay:.24s}.sidebar{animation:slide-in-left .36s var(--ease)both}.chat-empty,.agent-head,.agent-card{animation:rise-in .42s var(--ease)both}.agent-grid>.agent-card:first-child{animation-delay:80ms}.agent-grid>.agent-card:nth-child(2){animation-delay:.16s}.msg{animation:msg-in .26s var(--ease)both}.faq-answer{animation:faq-open .26s var(--ease)both;overflow:hidden}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0}to{opacity:1}}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes faq-open{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:400px}}.btn{transition:background var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease),color var(--t-fast)var(--ease),transform 80ms var(--ease),box-shadow var(--t-fast)var(--ease)}.btn:active{transform:translateY(1px)scale(.99)}.editor-card,.plan-card,.gallery-card,.model-card{transition:transform var(--t-mid)var(--ease),border-color var(--t-mid)var(--ease),box-shadow var(--t-mid)var(--ease)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}.home{flex-direction:column;display:flex}.hero{padding:clamp(var(--sp-7),10vw,var(--sp-11))0 clamp(var(--sp-6),8vw,var(--sp-10));text-align:center;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(at 50% -20%,#d977571a,#0000 60%);position:absolute;inset:0}.hero-inner{max-width:880px;padding:0 clamp(var(--sp-4),5vw,var(--sp-6));align-items:center;gap:clamp(var(--sp-3),3vw,var(--sp-5));flex-direction:column;margin:0 auto;display:flex;position:relative}.hero h1{letter-spacing:-.03em;word-break:break-word;max-width:18ch;font-size:clamp(28px,7.5vw,56px);font-weight:700;line-height:1.05}.hero h1 .accent{color:var(--accent)}.hero-lede{font-size:clamp(var(--fs-md),2.2vw,var(--fs-lg));color:var(--text-muted);max-width:56ch;line-height:var(--lh-relaxed)}.hero-actions{gap:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}.hero-meta{gap:var(--sp-4);margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--text-dim);flex-wrap:wrap;justify-content:center;display:flex}.hero-meta span{align-items:center;gap:6px;line-height:1.2;display:inline-flex}.hero-meta .dot{background:var(--accent);border-radius:var(--r-pill);flex:0 0 4px;width:4px;height:4px;transform:translateY(.5px)}.model-row{gap:clamp(var(--sp-2),2vw,var(--sp-4));max-width:var(--container);padding:0 clamp(var(--sp-4),4vw,var(--sp-6))clamp(var(--sp-7),8vw,var(--sp-10));grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:0 auto;display:grid}.model-card{padding:clamp(var(--sp-3),3vw,var(--sp-5));background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);min-width:0}.model-card-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);margin-bottom:var(--sp-2);font-weight:500}.model-card-value{font-size:var(--fs-xl);color:var(--text);letter-spacing:var(--tracking-tight);font-weight:600}.model-card-detail{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere}.gallery{padding:clamp(var(--sp-7),8vw,var(--sp-10))0;background:linear-gradient(180deg,var(--bg-0)0%,var(--bg-1)100%);border-top:1px solid var(--border-faint);border-bottom:1px solid var(--border-faint)}.gallery-head{text-align:center;margin-bottom:clamp(var(--sp-5),5vw,var(--sp-7));padding:0 clamp(var(--sp-4),4vw,var(--sp-6))}.gallery-grid{gap:clamp(var(--sp-3),3vw,var(--sp-5));max-width:var(--container);padding:0 clamp(var(--sp-4),4vw,var(--sp-6));grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin:0 auto;display:grid}.gallery-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:clamp(var(--sp-4),3vw,var(--sp-5));flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.gallery-card-feature{flex-direction:column;display:flex}.gallery-tag{background:var(--bg-2);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text-muted);align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.gallery-tag.coming{background:var(--accent-soft);color:var(--accent)}.gallery-title{font-size:var(--fs-lg);margin:var(--sp-3)0 var(--sp-1);letter-spacing:var(--tracking-tight);font-weight:600}.gallery-desc{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:var(--sp-4)}.gallery-shot{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-0);aspect-ratio:16/10;justify-content:stretch;align-items:stretch;min-width:0;min-height:clamp(180px,36vw,240px);display:flex;overflow:hidden}.gallery-card-feature .gallery-shot{aspect-ratio:auto;flex:1;min-height:clamp(220px,50vw,360px)}.terminal{background:var(--bg-0);width:100%;height:100%;font-family:var(--font-mono);padding:clamp(var(--sp-2),1.5vw,var(--sp-3));color:var(--text);flex-direction:column;gap:6px;min-width:0;font-size:clamp(10px,1.6vw,12px);display:flex;overflow:hidden}.terminal-bar{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border-faint);color:var(--text-dim);padding-bottom:6px;font-size:11px;display:flex}.terminal-bar .dot{border-radius:var(--r-pill);background:var(--border-strong);width:8px;height:8px}.terminal-line{overflow-wrap:anywhere;word-break:break-word;line-height:1.6}.terminal-prompt{color:var(--accent)}.terminal-user{color:var(--text)}.terminal-agent{color:var(--text-muted)}.terminal-system{color:var(--info)}.editor-mock{background:var(--bg-0);flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.editor-bar{background:var(--bg-1);border-bottom:1px solid var(--border-faint);height:28px;padding:0 var(--sp-3);align-items:center;gap:var(--sp-2);color:var(--text-dim);font-size:11px;display:flex}.editor-tabs{gap:var(--sp-3);display:flex}.editor-tab.active{color:var(--text)}.editor-body{padding:var(--sp-3);font-family:var(--font-mono);color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;flex:1;font-size:clamp(10px,1.6vw,12px);line-height:1.6;position:relative;overflow:hidden}.editor-ghost{right:var(--sp-3);bottom:var(--sp-3);width:min(60%,240px);padding:var(--sp-3);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-muted);font-size:11px;line-height:1.5;position:absolute}.editor-ghost-title{color:var(--accent);align-items:center;gap:6px;margin-bottom:6px;font-weight:500;display:flex}@media (width>=960px){.gallery-grid{grid-template-columns:1.6fr 1fr}.gallery-card-feature{grid-row:span 2}.gallery-card-feature .gallery-shot{min-height:360px}}.pricing{padding:var(--sp-10)0}.pricing-head{text-align:center;margin-bottom:var(--sp-8);padding:0 var(--sp-6)}.pricing-grid{gap:var(--sp-4);max-width:var(--container);padding:0 var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;display:grid}.plan-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex;position:relative}.plan-card.featured{border-color:var(--accent);background:linear-gradient(180deg,#d977570f,transparent 40%)var(--bg-1)}.plan-badge{top:-10px;left:var(--sp-5);background:var(--accent);color:var(--text-on-accent);border-radius:var(--r-pill);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;padding:3px 10px;font-weight:600;position:absolute}.plan-name{font-size:var(--fs-lg);letter-spacing:var(--tracking-tight);font-weight:600}.plan-desc{font-size:var(--fs-sm);color:var(--text-muted);min-height:40px}.plan-price-row{align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3)0;border-top:1px solid var(--border-faint);border-bottom:1px solid var(--border-faint);display:flex}.plan-price{font-size:var(--fs-3xl);letter-spacing:-.02em;color:var(--text);filter:blur(7px)saturate(70%);user-select:none;pointer-events:none;font-weight:700;position:relative}.plan-period{font-size:var(--fs-sm);color:var(--text-muted);padding-bottom:4px}.plan-hidden-tag{background:var(--bg-2);border-radius:var(--r-pill);font-size:var(--fs-xs);color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;padding:3px 10px;display:inline-flex}.plan-features{gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);flex-direction:column;display:flex}.plan-feature{align-items:flex-start;gap:var(--sp-2);display:flex}.plan-feature svg{width:16px;height:16px;color:var(--accent);flex:0 0 16px;margin-top:2px}.plan-feature.muted svg{color:var(--text-dim)}.plan-cta{margin-top:auto}.pricing-faq{padding:var(--sp-10)0 var(--sp-8);max-width:var(--container);margin:0 auto}.pricing-faq-head{text-align:center;margin-bottom:var(--sp-6);padding:0 var(--sp-6)}@media (width<=768px){.pricing{padding:var(--sp-8)0}.pricing-head{margin-bottom:var(--sp-6);padding:0 var(--sp-4)}.pricing-grid{padding:0 var(--sp-4);gap:var(--sp-3)}.plan-card{padding:var(--sp-5)}.plan-price{font-size:var(--fs-2xl)}}@media (width<=480px){.pricing-grid{grid-template-columns:1fr}}.install{padding:var(--sp-10)0;max-width:var(--container);margin:0 auto}.install-head{text-align:center;padding:0 var(--sp-6);margin-bottom:var(--sp-7)}.install-copy-card{max-width:720px;padding:var(--sp-5);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);margin:0 auto}.install-tabs{background:var(--bg-2);border-radius:var(--r-md);margin-bottom:var(--sp-4);padding:3px;display:inline-flex}.install-tab{font-size:var(--fs-sm);border-radius:var(--r-sm);color:var(--text-muted);cursor:pointer;transition:all var(--t-fast)var(--ease);background:0 0;border:none;padding:6px 12px;font-weight:500}.install-tab:hover{color:var(--text)}.install-tab.active{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.install-code{align-items:center;gap:var(--sp-3);padding:var(--sp-3)var(--sp-3)var(--sp-3)var(--sp-4);background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-mono);display:flex}.install-code code{font-size:var(--fs-sm);color:var(--text);white-space:nowrap;background:0 0;flex:1;padding:0;overflow-x:auto}.install-meta{margin-top:var(--sp-3);gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-dim);flex-wrap:wrap;display:flex}.install-meta span{align-items:center;gap:6px;display:inline-flex}.install-meta .dot{background:var(--text-dim);border-radius:var(--r-pill);width:4px;height:4px}.editors{margin-top:var(--sp-9);padding:0 var(--sp-6)}.editors-head{text-align:center;margin-bottom:var(--sp-6)}.editors-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.editor-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);gap:var(--sp-3);transition:border-color var(--t-mid)var(--ease),transform var(--t-mid)var(--ease);flex-direction:column;display:flex;position:relative}.editor-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.editor-card.locked{opacity:.7;pointer-events:none}.editor-card-logo{border-radius:var(--r-md);background:var(--bg-2);width:36px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.editor-card-logo svg{width:22px;height:22px}.editor-card-name{font-size:var(--fs-md);letter-spacing:var(--tracking-tight);font-weight:600}.editor-card-desc{font-size:var(--fs-sm);color:var(--text-muted);flex:1}.editor-card-soon{top:var(--sp-3);right:var(--sp-3);background:var(--bg-2);border-radius:var(--r-pill);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:3px 8px;font-size:11px;position:absolute}.tutorial{margin-top:var(--sp-9);max-width:880px;padding:0 var(--sp-6);margin-left:auto;margin-right:auto}.tutorial-head{margin-bottom:var(--sp-5)}.tutorial-steps{gap:var(--sp-3);flex-direction:column;display:flex}.tutorial-step{gap:var(--sp-4);padding:var(--sp-4);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:28px 1fr;display:grid}.tutorial-num{border-radius:var(--r-pill);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);font-size:var(--fs-xs);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.tutorial-step h4{font-size:var(--fs-md);margin-bottom:4px;font-weight:600}.tutorial-step p{font-size:var(--fs-sm);color:var(--text-muted)}.tutorial-step pre{margin:var(--sp-2)0 0;padding:var(--sp-2)var(--sp-3);background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text);overflow-x:auto}.tutorial-section{margin-top:var(--sp-6)}.tutorial-section h3{font-size:var(--fs-lg);margin-bottom:var(--sp-3);align-items:center;gap:var(--sp-2);display:flex}.tutorial-section h3 .pill{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);background:var(--bg-2);border-radius:var(--r-pill);padding:3px 8px;font-weight:500}@media (width<=768px){.install{padding:var(--sp-7)0}.install-head{padding:0 var(--sp-4);margin-bottom:var(--sp-5)}.install-copy-card{margin:0 var(--sp-4);padding:var(--sp-4)}.install-tabs{width:100%;display:flex}.install-tab{flex:1}.editors{margin-top:var(--sp-7);padding:0 var(--sp-4)}.editors-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.editor-card{padding:var(--sp-4)}.tutorial{padding:0 var(--sp-4);margin-top:var(--sp-7)}.tutorial-step{gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:24px 1fr}.tutorial-num{width:24px;height:24px;font-size:11px}}@media (width<=480px){.editors-grid{grid-template-columns:1fr 1fr}}.auth{min-height:calc(100vh - var(--navbar-h));padding:var(--sp-7)var(--sp-4);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#d977571a,#0000 60%);width:800px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.auth-card{z-index:1;width:100%;max-width:420px;padding:var(--sp-7)var(--sp-6)var(--sp-6);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);gap:var(--sp-5);animation:card-rise var(--t-slow)var(--ease);flex-direction:column;display:flex;position:relative}@keyframes card-rise{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-mark{border-radius:var(--r-lg);background:linear-gradient(160deg,var(--accent),var(--accent-pressed));width:48px;height:48px;color:var(--text-on-accent);justify-content:center;align-items:center;margin:0 auto;display:flex;box-shadow:0 8px 24px #d9775747}.auth-mark svg{width:22px;height:22px}.auth-head{text-align:center;gap:var(--sp-1);flex-direction:column;display:flex}.auth-head h1{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight)}.auth-head p{color:var(--text-muted);font-size:var(--fs-sm)}.auth-form{gap:var(--sp-4);flex-direction:column;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>span{font-size:var(--fs-sm);color:var(--text);font-weight:500}.auth-input{align-items:center;display:flex;position:relative}.auth-input>svg.input-icon{color:var(--text-dim);pointer-events:none;width:16px;height:16px;transition:color var(--t-fast)var(--ease);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input input{width:100%;height:42px;padding:0 var(--sp-3)0 38px;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease),box-shadow var(--t-fast)var(--ease);outline:none}.auth-input input:hover{border-color:var(--border-strong);background:var(--bg-1)}.auth-input input:focus{border-color:var(--accent);background:var(--bg-1);box-shadow:0 0 0 3px var(--accent-ring)}.auth-input input:focus~svg.input-icon,.auth-input input:not(:placeholder-shown)~svg.input-icon{color:var(--accent)}.auth-input .auth-toggle{width:30px;height:30px;color:var(--text-dim);cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast)var(--ease),color var(--t-fast)var(--ease);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-input .auth-toggle:hover{color:var(--text);background:var(--bg-2)}.auth-input input[type=password],.auth-input input.has-toggle{padding-right:42px}.auth-submit{height:42px;font-weight:600;font-size:var(--fs-sm)}.auth-error{align-items:center;gap:var(--sp-2);background:var(--danger-soft);color:var(--danger);padding:var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);animation:shake-in .26s var(--ease);display:flex}.auth-error.success{background:var(--ok-soft);color:var(--ok)}.auth-error.success svg{color:var(--ok)}@keyframes shake-in{0%{opacity:0;transform:translate(-4px)}40%{opacity:1;transform:translate(3px)}70%{transform:translate(-2px)}to{transform:translate(0)}}.auth-foot{text-align:center;font-size:var(--fs-xs);color:var(--text-dim)}.auth-foot a{color:var(--accent);font-weight:500}.auth-foot a:hover{color:var(--accent-hover);text-decoration:underline}.auth-spinner{border-radius:var(--r-pill);border:2px solid;border-right-color:#0000;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-locked{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--warn-soft);color:var(--warn);border-radius:var(--r-md);border:1px solid #e5a45840;display:flex}.auth-locked svg{flex:0 0 18px;margin-top:1px}.auth-locked strong{color:var(--warn);font-weight:600;font-size:var(--fs-sm);margin-bottom:2px;display:block}.auth-locked p{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:0}.auth-disabled-form{opacity:.55;pointer-events:none;user-select:none;filter:saturate(60%)}@media (width<=480px){.auth{padding:var(--sp-5)var(--sp-3)}.auth-card{padding:var(--sp-5)var(--sp-4)var(--sp-4);gap:var(--sp-4);border-radius:var(--r-lg)}.auth-mark{width:42px;height:42px}.auth-mark svg{width:20px;height:20px}.auth-head h1{font-size:var(--fs-xl)}}.chat{background:var(--bg-0);flex-direction:column;height:100vh;display:flex}.chat-topbar{height:56px;padding:0 var(--sp-5);border-bottom:1px solid var(--border-faint);flex:0 0 56px;justify-content:space-between;align-items:center;display:flex}.chat-topbar h2{font-size:var(--fs-md);color:var(--text);letter-spacing:var(--tracking-tight);font-weight:500}.chat-controls{background:var(--bg-1);border:1px solid var(--border-faint);border-radius:var(--r-xl);align-items:stretch;height:38px;display:inline-flex}.chat-controls>*+*{border-left:1px solid var(--border-faint)}.chat-ctrl{align-items:center;display:inline-flex}.chat-usage-seg{font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;gap:6px;padding:0 14px}.chat-usage-seg>svg{color:var(--text-dim);opacity:.85}.chat-usage-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:10px}.chat-usage-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.chat-thinking-picker{color:var(--text-muted)}.chat-controls .custom-select-trigger{min-height:36px;box-shadow:none;font-size:var(--fs-xs);background:0 0;border:none;border-radius:0;padding:0 10px 0 12px}.chat-controls .custom-select-trigger:hover{background:var(--bg-2)}.chat-controls .custom-select.open .custom-select-trigger,.chat-controls .custom-select:focus-within .custom-select-trigger{box-shadow:none;background:var(--bg-2);color:var(--text);border:none}.chat-controls>.chat-model-picker{border-top-right-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl);overflow:visible}.chat-controls>.chat-model-picker .custom-select-trigger{border-top-right-radius:var(--r-xl);border-bottom-right-radius:var(--r-xl)}.chat-model-picker .custom-select-label{max-width:240px;font-weight:500}.chat-model-picker .custom-select-detail{color:var(--text-dim);margin-left:8px}.chat-thinking-select .custom-select-trigger{align-items:center;line-height:1.1}.chat-thinking-select .custom-select-label,.chat-thinking-select .custom-select-detail{align-items:center;line-height:1.1;display:inline-flex}.chat-thinking-select .custom-select-label{max-width:80px}.chat-stream{scroll-behavior:smooth;padding:0 0 var(--sp-6)0;gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-stream>:first-child{margin-top:var(--sp-6)}.chat-empty{text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-6);flex-direction:column;max-width:480px;margin:auto;display:flex}.chat-empty-mark{border-radius:var(--r-md);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);margin-bottom:var(--sp-3);justify-content:center;align-items:center;display:flex}.chat-empty h2{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight)}.chat-empty p{color:var(--text-muted);font-size:var(--fs-sm)}.chat-loading{justify-content:center;align-items:center;gap:var(--sp-3);width:min(420px,100%);padding:var(--sp-6);flex-direction:column;margin:auto;display:flex}.chat-loading .skeleton-copy:nth-child(3){width:min(260px,80%)}.chat-suggestions{gap:var(--sp-2);margin-top:var(--sp-4);grid-template-columns:1fr 1fr;width:100%;display:grid}.chat-suggestion{padding:var(--sp-3);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;text-align:left;transition:all var(--t-fast)var(--ease)}.chat-suggestion:hover{background:var(--bg-2);border-color:var(--border-strong);color:var(--text)}.chat-peers-strip{align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border-faint);background:var(--bg-1);font-size:var(--fs-xs);color:var(--text-muted);padding:8px 12px;display:flex}.chat-peers-dot{background:var(--ok,#2ecc71);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 2px #2ecc712e}.chat-peers-label{color:var(--text);font-variant-numeric:tabular-nums;margin-right:var(--sp-2);font-weight:600}.chat-peers-list{gap:var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.chat-peer{align-items:baseline;gap:2px;display:inline-flex}.chat-peer strong{color:var(--text);font-weight:500}.msg{max-width:780px;padding:0 var(--sp-6);gap:var(--sp-4);align-items:flex-start;width:100%;margin:0 auto;display:flex}.msg-avatar{border-radius:var(--r-sm);width:28px;height:28px;font-size:var(--fs-xs);flex:0 0 28px;justify-content:center;align-items:center;font-weight:600;display:flex}.msg.user .msg-avatar{background:var(--bg-2);color:var(--text)}.msg.assistant .msg-avatar{background:var(--accent);color:var(--text-on-accent)}.md-thinking-empty .md-thinking-head{border-bottom:0}.msg>div:last-child{flex:1;min-width:0}.msg-body{min-width:0;font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text);white-space:pre-wrap;word-wrap:break-word;flex:1}.msg.user{flex-direction:row-reverse}.msg.user>div:last-child{flex-direction:column;flex:0 auto;align-items:flex-end;max-width:78%;display:flex}.msg.user .msg-author{display:none}.msg.user .msg-body{background:var(--bg-2);border:1px solid var(--border-faint);border-radius:var(--r-xl);border-top-right-radius:var(--r-sm);box-shadow:var(--shadow-sm);flex:0 auto;padding:10px 14px;position:relative}.msg.user .msg-body-editing{width:100%;box-shadow:none;background:0 0;border:0;padding:0}.msg-text{display:block}.msg-answered{margin:var(--sp-2)0;justify-content:flex-end;display:flex}.msg-answered-chip{background:var(--bg-1);border:1px solid var(--border-faint);border-radius:var(--r-pill);color:var(--text-muted);font-size:var(--fs-xs);letter-spacing:.01em;align-items:center;gap:6px;padding:4px 10px;font-weight:500;display:inline-flex}.msg-answered-chip>svg{color:var(--accent)}.msg-fallback{background:var(--bg-1);border:1px dashed var(--border-faint);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);margin:0;padding:6px 10px;font-style:italic}.msg-metrics.estimated .msg-metric-est{color:var(--warn,#d4a017);margin-left:3px;font-weight:600}.msg-sources{margin-top:var(--sp-2);background:var(--bg-1);border:1px solid var(--border-faint);border-radius:var(--r-sm);padding:6px 8px}.msg-sources-head{color:var(--text-dim);letter-spacing:.01em;align-items:center;gap:5px;margin-bottom:5px;font-size:11px;font-weight:500;display:inline-flex}.msg-sources-head>svg{opacity:.8}.msg-sources-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.msg-source{background:var(--bg-0);border:1px solid var(--border-faint);border-radius:var(--r-pill);color:var(--text);align-items:center;gap:5px;max-width:240px;padding:2px 7px;font-size:11px;line-height:1.6;text-decoration:none;display:inline-flex}.msg-source:hover{border-color:var(--accent);background:var(--bg-2)}.msg-source-index{color:var(--text-dim);font-variant-numeric:tabular-nums}.msg-source-favicon{border-radius:2px;flex-shrink:0;width:12px;height:12px}.msg-source-host{color:var(--text-muted);white-space:nowrap;font-weight:500}.msg-source-title{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:150px;overflow:hidden}.md-thinking-meta{color:var(--text-dim);font-size:var(--fs-xs);margin-left:4px}.msg-metrics{margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px dashed var(--border-faint);gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-wrap:wrap;align-items:center;display:flex}.msg-metric{align-items:center;gap:4px;display:inline-flex}.msg-metric>svg,.msg-metric.muted{color:var(--text-dim)}.msg-model{color:var(--accent);font-weight:500}.msg-model>svg{color:var(--accent)}.msg-edit-btn{margin-top:var(--sp-2);border:1px solid var(--border-faint);border-radius:var(--r-pill);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer;opacity:0;transition:opacity var(--t-fast)var(--ease),color var(--t-fast)var(--ease);background:0 0;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.msg.user:hover .msg-edit-btn,.msg-edit-btn:focus-visible{opacity:1}.msg-edit-btn:hover{color:var(--text)}.msg-body-editing{gap:var(--sp-2);flex-direction:column;display:flex}.msg-edit-input{width:100%;min-height:64px;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg-1);color:var(--text);font-family:inherit;font-size:var(--fs-md);line-height:var(--lh-relaxed);resize:vertical}.msg-edit-input:focus{border-color:var(--accent);outline:none}.msg-edit-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.msg-author{font-size:var(--fs-xs);color:var(--text-dim);margin-bottom:4px;font-weight:500}.chat-error{width:100%;max-width:780px;margin:var(--sp-2)auto 0}.md-body{white-space:normal}.md-body p{color:var(--text);margin:0 0 var(--sp-3)}.md-body p:last-child{margin-bottom:0}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:var(--sp-4)0 var(--sp-2);letter-spacing:var(--tracking-tight)}.md-body h1{font-size:var(--fs-xl)}.md-body h2{font-size:var(--fs-lg)}.md-body h3{font-size:var(--fs-md)}.md-body ul,.md-body ol{margin:0 0 var(--sp-3);padding-left:var(--sp-5);list-style:revert}.md-body ul li,.md-body ol li{color:var(--text);margin-bottom:4px}.md-body a{color:var(--accent);text-decoration:underline}.md-body a:hover{color:var(--accent-hover)}.md-body code:not(pre code){background:var(--bg-2);border:1px solid var(--border-faint);border-radius:var(--r-xs);font-family:var(--font-mono);color:var(--text);word-break:break-word;padding:1px 6px;font-size:.9em}.md-body blockquote{margin:0 0 var(--sp-3);padding-left:var(--sp-3);border-left:3px solid var(--border);color:var(--text-muted)}.md-body hr{border:0;border-top:1px solid var(--border-faint);margin:var(--sp-4)0}.md-body table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin:0 0 var(--sp-3)}.md-body th,.md-body td{border:1px solid var(--border-faint);text-align:left;padding:6px 10px}.md-body th{background:var(--bg-1);color:var(--text);font-weight:600}.md-thinking{margin:0 0 var(--sp-3);border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--bg-1);overflow:hidden}.md-thinking-head{padding:8px var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);align-items:center;gap:7px;display:flex}.md-thinking-toggle{border:1px solid var(--border-faint);border-radius:var(--r-pill);color:var(--text-dim);font-size:var(--fs-xs);cursor:pointer;transition:color var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease);background:0 0;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;display:inline-flex}.md-thinking-toggle:hover{color:var(--text);border-color:var(--border)}.md-thinking-body{border-top:1px solid var(--border-faint);padding:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm)}.md-thinking-preview{color:var(--text-dim);font-size:var(--fs-xs);line-height:var(--lh-relaxed);white-space:pre-wrap;word-break:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;transition:opacity .18s;display:-webkit-box;overflow:hidden}.md-thinking-body.expanded .md-thinking-preview{opacity:0;-webkit-line-clamp:0;height:0;margin:0}.md-thinking-full{grid-template-rows:0fr;transition:grid-template-rows .32s;display:grid}.md-thinking-full-inner{min-height:0;overflow:hidden}.md-thinking-body.expanded .md-thinking-full{grid-template-rows:1fr}.md-thinking-body p{color:var(--text-muted);margin:0 0 var(--sp-2);font-size:var(--fs-sm)}.md-thinking-body p:last-child{margin-bottom:0}.md-thinking-body ul,.md-thinking-body ol{margin:0 0 var(--sp-2);padding-left:var(--sp-4);list-style:revert;font-size:var(--fs-sm)}.md-code{margin:var(--sp-3)0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-1);width:min(100%,calc(100vw - var(--sidebar-w) - 96px));max-width:100%}.md-code-head{z-index:2;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:6px var(--sp-3);background:var(--bg-2);border-bottom:1px solid var(--border-faint);border-top-left-radius:var(--r-sm);border-top-right-radius:var(--r-sm);font-size:var(--fs-xs);display:flex;position:sticky;top:0;box-shadow:0 4px 12px -10px #0009}.md-code-lang{color:var(--text-dim);font-family:var(--font-mono);text-transform:lowercase;letter-spacing:.02em}.md-code-copy{border:1px solid var(--border);border-radius:var(--r-sm);height:26px;color:var(--text-muted);font-size:var(--fs-xs);cursor:pointer;transition:all var(--t-fast)var(--ease);background:0 0;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.md-code-copy:hover{background:var(--bg-3);color:var(--text);border-color:var(--border-strong)}.md-code-copy svg{flex:0 0 12px}.md-code-body{font-family:var(--font-mono);font-size:var(--fs-xs);border-bottom-left-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm);background:#111827;grid-template-columns:auto 1fr;line-height:1.6;display:grid;overflow-x:auto}.md-code-lines{padding:var(--sp-3)var(--sp-2);border-right:1px solid var(--border-faint);color:var(--text-dim);user-select:none;text-align:right;background:#0b1220;flex-direction:column;min-width:36px;display:flex}.md-line-num{font-variant-numeric:tabular-nums;line-height:1.6;display:block}.md-code-body pre{padding:var(--sp-3)var(--sp-3);tab-size:4;min-width:0;margin:0;overflow-x:auto}.md-code-body code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text);white-space:pre;background:0 0;padding:0;display:block}.chat-typing{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.thinking-label{color:var(--text-muted);font-size:var(--fs-sm)}.chat-typing span{background:var(--text-dim);border-radius:var(--r-pill);width:6px;height:6px;animation:1.2s ease-in-out infinite typing}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,80%,to{opacity:.3}40%{opacity:1}}@keyframes live-pulse{0%,to{opacity:.5}50%{opacity:1}}.md-thinking-live-indicator{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:4px;animation:1.2s ease-in-out infinite live-pulse;display:inline-block}.composer-plus{flex:none;align-self:stretch;align-items:flex-end;display:flex;position:relative}.composer-plus-btn{border:1px solid var(--border-faint);width:30px;height:30px;color:var(--text-muted);cursor:pointer;transition:all var(--t-fast)var(--ease);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 0 3px;display:inline-flex}.composer-plus-btn:hover{color:var(--text);border-color:var(--border);background:var(--bg-1)}.composer-plus.open .composer-plus-btn{background:var(--bg-2);color:var(--text);border-color:var(--accent)}.composer-plus-overlay{z-index:30;background:0 0;position:fixed;inset:0}.composer-plus-menu{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);z-index:31;min-width:220px;padding:6px;position:absolute;bottom:calc(100% + 10px);left:0;box-shadow:0 8px 32px #00000059}.composer-plus-item{border-radius:var(--r-sm);width:100%;color:var(--text);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.composer-plus-item:hover{background:var(--bg-2)}.composer-plus-item.active{background:var(--bg-2);color:var(--accent)}.composer-plus-item.active>svg{color:var(--accent)}.composer-plus-label{flex:1}.composer-plus-head{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 6px;font-weight:600}.composer-toggle{background:var(--bg-2);border:1px solid var(--border);width:34px;height:18px;transition:background var(--t-fast)var(--ease),border-color var(--t-fast)var(--ease);border-radius:9px;flex-shrink:0;position:relative}.composer-toggle-knob{background:var(--text-muted);width:14px;height:14px;transition:transform var(--t-fast)var(--ease),background var(--t-fast)var(--ease);border-radius:50%;position:absolute;top:1px;left:1px}.composer-toggle.on{background:var(--accent);border-color:var(--accent)}.composer-toggle.on .composer-toggle-knob{background:#fff;transform:translate(16px)}.chat-composer-wrap{padding:var(--sp-3)var(--sp-6)var(--sp-5);background:linear-gradient(180deg,transparent 0%,var(--bg-0)40%);flex:none}.chat-composer{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);max-width:780px;transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease),box-shadow var(--t-fast)var(--ease);align-items:flex-end;gap:8px;margin:0 auto;padding:6px 8px;display:flex}.chat-composer:hover{border-color:var(--border-strong)}.chat-composer:focus-within{border-color:var(--border);background:var(--bg-elev);box-shadow:0 0 0 2px #d977572e}.chat-input{height:36px;min-height:36px;max-height:132px;font-size:var(--fs-md);color:var(--text);resize:none;scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent;background:0 0;border:none;outline:none;flex:1;align-self:center;padding:6px 0;font-family:inherit;line-height:24px;overflow-y:hidden}.chat-input:focus{box-shadow:none;background:0 0;border:none;outline:none}.chat-input::placeholder{color:var(--text-dim)}.chat-send{border-radius:var(--r-pill);background:var(--accent);width:36px;height:36px;color:var(--text-on-accent);cursor:pointer;transition:background var(--t-fast)var(--ease),transform var(--t-fast)var(--ease),box-shadow var(--t-fast)var(--ease);border:none;flex:0 0 36px;justify-content:center;align-self:flex-end;align-items:center;display:inline-flex;box-shadow:0 4px 12px #d9775740}.chat-send:hover{background:var(--accent-hover);transform:translateY(-1px)}.chat-send.stopping{background:var(--bg-2);color:var(--danger);border:1px solid var(--border-strong);box-shadow:none}.chat-send.stopping:hover{background:var(--danger-soft);color:var(--danger)}.chat-send:active{transform:translateY(0)}.chat-send:disabled{background:var(--bg-3);color:var(--text-dim);cursor:not-allowed;box-shadow:none;transform:none}.chat-send svg{width:16px;height:16px}.chat-send:not(.stopping) svg{transform:translate(-1px,1px)}.chat-foot{margin-top:var(--sp-2);text-align:center;font-size:var(--fs-xs);color:var(--text-dim)}.ask-panel{max-width:780px;margin:0 auto var(--sp-3);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex;box-shadow:0 8px 24px #0000002e}.ask-panel-head{align-items:center;gap:var(--sp-2);display:flex}.ask-panel-title{font-size:.95rem;font-weight:600}.ask-chip{color:var(--accent);letter-spacing:.02em;text-transform:uppercase;background:#d9775729;border:1px solid #d9775752;border-radius:999px;padding:1px 8px;font-size:.72rem}.ask-progress{color:var(--text-muted);font-size:.78rem}.ask-panel-close{color:var(--text-muted);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none;margin-left:auto;padding:4px;display:inline-flex}.ask-panel-close:hover{color:var(--text);background:var(--bg-elev)}.ask-question{color:var(--text);margin:0;font-size:.95rem}.ask-options{flex-direction:column;gap:6px;display:flex}.ask-option{align-items:flex-start;gap:var(--sp-3);text-align:left;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-lg);color:var(--text);cursor:pointer;transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease);padding:10px 12px;display:flex}.ask-option:hover{border-color:var(--border-strong);background:var(--bg-elev)}.ask-option.active{border-color:var(--accent);background:#d977570f}.ask-option-num{background:var(--bg-elev);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:inline-flex}.ask-option.active .ask-option-num{background:var(--accent);color:#fff}.ask-option-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ask-option-label{align-items:center;gap:8px;font-weight:500;display:inline-flex}.ask-option-desc{color:var(--text-muted);font-size:.82rem;line-height:1.35}.ask-rec{letter-spacing:.04em;text-transform:uppercase;color:var(--success,#4cc38a);background:#4cc38a1f;border-radius:999px;padding:1px 6px;font-size:.65rem;font-weight:700}.ask-option-custom{color:var(--text-muted);border-style:dashed;font-style:italic}.ask-option-custom .ask-option-label{color:var(--text);font-style:normal}.ask-custom{gap:var(--sp-2);background:var(--bg-0);border:1px solid var(--accent);border-radius:var(--r-lg);flex-direction:column;padding:10px 12px;display:flex}.ask-custom-input{width:100%;color:var(--text);font:inherit;background:0 0;border:none;outline:none}.ask-custom-actions,.ask-panel-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.ask-review-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ask-review-row{margin:0}.ask-review-edit{gap:var(--sp-3);text-align:left;background:var(--bg-0);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;color:var(--text);cursor:pointer;grid-template-columns:36px 1fr auto auto;align-items:center;padding:8px 12px;display:grid}.ask-review-edit:hover{background:var(--bg-elev);border-color:var(--border-strong)}.ask-review-num{color:var(--text-muted);font-size:.8rem;font-weight:600}.ask-review-q{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.ask-review-a{color:var(--accent);font-size:.84rem;font-weight:500}.ask-review-a.rec:after{content:" ✓";opacity:.7}@media (width<=1024px){.chat-topbar{padding-left:64px}}@media (width<=768px){.chat-topbar{padding-right:var(--sp-3)}.chat-topbar h2{font-size:var(--fs-sm)}.chat-model-picker .custom-select-label{max-width:140px}.msg{padding:0 var(--sp-4);gap:var(--sp-3)}.md-code{width:calc(100vw - 32px)}.chat-composer-wrap{padding:var(--sp-3)var(--sp-3)var(--sp-4)}.chat-suggestions{grid-template-columns:1fr}.chat-empty{padding:var(--sp-4)}.chat-empty h2{font-size:var(--fs-xl)}}@media (width<=480px){.chat-topbar{padding-left:56px}.chat-model-picker .custom-select-label{max-width:110px}.chat-model-picker .custom-select-detail{display:none}.msg-avatar{flex:0 0 24px;width:24px;height:24px}.msg-body{font-size:var(--fs-sm)}.chat-composer{padding:6px 6px 6px var(--sp-3);border-radius:var(--r-lg)}.chat-input{font-size:var(--fs-sm)}.chat-send{flex:0 0 34px;width:34px;height:34px}.chat-foot{font-size:10px}}.agent{padding:var(--sp-7)var(--sp-7);width:100%;min-width:0}.agent-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-6);display:flex}.agent-head-text h1{font-size:var(--fs-2xl);letter-spacing:var(--tracking-tight);margin-bottom:4px}.agent-head-text p{color:var(--text-muted);font-size:var(--fs-sm)}.agent-grid{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=1024px){.agent-grid{grid-template-columns:1fr}.agent{padding:var(--sp-5)var(--sp-4)var(--sp-5);padding-top:calc(var(--sp-5) + 44px)}.agent-head{flex-direction:column;align-items:flex-start}}@media (width<=768px){.agent-head-text h1{font-size:var(--fs-xl)}.usage-row-grid{grid-template-columns:1fr}.agent-card{padding:var(--sp-4)}.agent-keys-table{font-size:var(--fs-xs)}.agent-keys-table th,.agent-keys-table td{padding:var(--sp-2)6px}}@media (width<=480px){.agent{padding-left:var(--sp-3);padding-right:var(--sp-3)}}.agent-card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.agent-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.agent-card-title{font-size:var(--fs-md);letter-spacing:var(--tracking-tight);font-weight:600}.agent-card-desc{font-size:var(--fs-sm);color:var(--text-muted)}.usage-row-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.usage-fig{padding:var(--sp-3);background:var(--bg-2);border-radius:var(--r-md)}.usage-fig-label{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:4px}.usage-fig-value{font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;font-weight:600}.agent-keys-table{width:100%;font-size:var(--fs-sm)}.agent-keys-table th{text-align:left;padding:var(--sp-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-dim);border-bottom:1px solid var(--border-faint);font-weight:500}.agent-keys-table td{padding:var(--sp-3)var(--sp-2);border-bottom:1px solid var(--border-faint);vertical-align:middle}.agent-keys-table tr:last-child td{border-bottom:none}.memory-grid{gap:var(--sp-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}.memory-span{grid-column:1/-1}@media (width<=900px){.memory-grid{grid-template-columns:1fr}}.memory-toggle{gap:var(--sp-3);font-size:var(--fs-sm);cursor:pointer;align-items:center;display:flex}.memory-textarea{background:var(--bg-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);font:inherit;resize:vertical}.memory-list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.memory-item{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-md);display:flex}.memory-item-body{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.memory-item-text{word-break:break-word;min-width:0}.memory-item-meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);display:flex}.memory-item-badge{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg-3);color:var(--text);font-size:var(--fs-xs);align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.memory-actions{gap:var(--sp-2);display:flex}.memory-export-box{gap:var(--sp-2);flex-direction:column;display:flex}.memory-export-head{justify-content:space-between;align-items:center;display:flex}.memory-export-label{font-size:var(--fs-sm);color:var(--text-muted)}.admin{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.admin-head{gap:var(--sp-1);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-faint);flex-direction:column;display:flex}.admin-head h1{font-size:var(--fs-xl);letter-spacing:var(--tracking-tight);font-weight:600}.admin-head p{color:var(--text-muted);font-size:var(--fs-sm)}.admin-content{padding:var(--sp-6)var(--sp-7);gap:var(--sp-5);scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden auto}.admin,.tab-panel,.tab-panel>*{min-width:0}.head-stats{align-items:center;gap:var(--sp-2);display:flex}.head-stat{padding:3px var(--sp-2);border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--border-faint);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.head-stat strong{color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;font-weight:600}.head-stat-ok strong{color:var(--ok)}.head-stat-muted strong{color:var(--text-dim)}.tab-panel{gap:var(--sp-4);flex-direction:column;display:flex}.system-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.sys-info-list{gap:var(--sp-2);flex-direction:column;display:flex}.sys-row{border-bottom:1px solid var(--border-faint);justify-content:space-between;padding:6px 0;display:flex}.sys-row:last-child{border-bottom:none}.sys-label{color:var(--text-muted);font-size:var(--fs-sm)}.sys-value{color:var(--text);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.pagination-row{justify-content:flex-end;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);color:var(--text-muted);font-size:var(--fs-xs);display:flex}.table th.text-right{text-align:right}.audit-detail{max-width:320px}.audit-detail code{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:var(--fs-xs);display:block;overflow:hidden}.audit-row-actions{white-space:nowrap}.audit-row-actions .btn+.btn{margin-left:var(--sp-2)}.audit-detail-kv{margin:0 0 var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.audit-detail-kv .kv-row{gap:var(--sp-3);grid-template-columns:120px 1fr;align-items:baseline;display:grid}.audit-detail-kv dt{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.audit-detail-kv dd{color:var(--text);font-size:var(--fs-sm);word-break:break-word;margin:0}.audit-detail-label{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--sp-2)}.audit-detail-json{padding:var(--sp-3);background:var(--bg-0,var(--bg-1));border:1px solid var(--border-faint);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:50vh;margin:0;overflow:auto}.pagination-row{justify-content:space-between}.flag-list{flex-direction:column;gap:4px;display:flex}.flag-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4);background:var(--bg-1);border:1px solid var(--border-faint);border-radius:var(--r-md);transition:border-color var(--t-fast)var(--ease);display:flex}.flag-row:hover{border-color:var(--border)}.flag-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.flag-key{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);background:0 0;padding:0}.flag-desc{font-size:var(--fs-xs);color:var(--text-muted);margin:0}.switch{border-radius:var(--r-pill);background:var(--bg-3);border:1px solid var(--border);cursor:pointer;width:44px;height:24px;transition:background var(--t-mid)var(--ease),border-color var(--t-mid)var(--ease);flex:0 0 44px;position:relative}.switch .switch-knob{border-radius:var(--r-pill);background:var(--text-muted);width:18px;height:18px;transition:transform var(--t-mid)var(--ease),background var(--t-mid)var(--ease);position:absolute;top:2px;left:2px}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on .switch-knob{background:var(--text-on-accent);transform:translate(20px)}.stats-row{gap:clamp(var(--sp-2),2vw,var(--sp-4));grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.localai-toolbar{gap:var(--sp-3);margin-bottom:var(--sp-5);align-items:stretch;display:flex}.localai-toolbar+.localai-empty,.localai-toolbar+.localai-cards,.localai-toolbar+.loading-text{margin-top:var(--sp-4)}.localai-toolbar>.input,.localai-toolbar>form{flex:1}.localai-toolbar form{gap:var(--sp-3);display:flex}.localai-toolbar form>.input{flex:1}.install-job{padding:var(--sp-3)var(--sp-4);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);gap:var(--sp-2);flex-direction:column;display:flex}.install-job-head{justify-content:space-between;align-items:center;display:flex}.install-job-status{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.install-job-bytes{font-size:var(--fs-xs);color:var(--text-muted);justify-content:space-between;display:flex}.localai-cards{gap:var(--sp-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.localai-card{padding:var(--sp-4);background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-fast)var(--ease)}.localai-card:hover{border-color:var(--border-strong)}.localai-card.expanded{border-color:var(--accent)}.localai-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.localai-card-title{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.localai-card-title strong{font-size:var(--fs-md);color:var(--text);word-break:break-word}.localai-card-meta{font-size:var(--fs-xs);color:var(--text-muted);gap:var(--sp-3);flex-wrap:wrap;display:flex}.localai-card-meta span:before{content:"·";margin-right:var(--sp-3);color:var(--text-dim)}.localai-card-meta span:first-child:before{content:none;margin:0}.localai-card-actions{gap:var(--sp-2);flex-shrink:0;display:flex}.localai-card-body{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-faint)}.localai-card-toggle{color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);border-radius:var(--r-sm);background:0 0;border:0;padding:4px}.localai-card-toggle:hover{background:var(--bg-2);color:var(--text)}.localai-files{gap:var(--sp-2);flex-direction:column;display:flex}.localai-file-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2)var(--sp-3);background:var(--bg-0);border:1px solid var(--border-faint);border-radius:var(--r-sm);display:flex}.localai-file-row code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text);word-break:break-all}.localai-file-meta{align-items:center;gap:var(--sp-3);flex-shrink:0;display:flex}.localai-file-size{font-variant-numeric:tabular-nums;font-size:var(--fs-xs);color:var(--text-muted)}.localai-empty{padding:var(--sp-6);text-align:center;color:var(--text-muted);background:var(--bg-1);border:1px dashed var(--border);border-radius:var(--r-md)}@media (width<=1024px){.admin-head{justify-content:center;min-height:40px;padding-left:48px}.admin-content{padding:clamp(var(--sp-3),3vw,var(--sp-5))clamp(var(--sp-3),3vw,var(--sp-4));gap:var(--sp-4)}.system-grid{grid-template-columns:1fr}.flag-row{padding:var(--sp-3);gap:var(--sp-3);flex-wrap:wrap}.flag-meta{width:100%}}.form-row{flex-direction:column;gap:6px;display:flex}.form-row .form-label{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.btn-row{gap:4px;display:inline-flex}.provider-flags{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.models-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.models-toolbar .input{flex:1;min-width:260px}.toolbar-divider{background:var(--border);width:1px;height:30px;margin:0 var(--sp-1);flex:none}.tab-panel-models,.tab-panel-models>.card,.tab-panel-models>.card>.card-body{flex-direction:column;flex:1;min-height:0;display:flex}.models-table-scroll{overscroll-behavior:contain;border:1px solid var(--border-faint);border-radius:var(--r-md);scrollbar-width:thin;scrollbar-color:var(--border-strong)transparent;max-height:calc(100vh - 300px);overflow-y:auto}.tab-panel-models .models-table-scroll{flex:1;min-height:0;max-height:none}.admin-content::-webkit-scrollbar,.models-table-scroll::-webkit-scrollbar,.custom-select-menu::-webkit-scrollbar{width:10px;height:10px}.admin-content::-webkit-scrollbar-track,.models-table-scroll::-webkit-scrollbar-track,.custom-select-menu::-webkit-scrollbar-track{background:0 0}.admin-content::-webkit-scrollbar-thumb,.models-table-scroll::-webkit-scrollbar-thumb,.custom-select-menu::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);background-clip:padding-box;border:2px solid #0000}.admin-content::-webkit-scrollbar-thumb:hover,.models-table-scroll::-webkit-scrollbar-thumb:hover,.custom-select-menu::-webkit-scrollbar-thumb:hover{background:var(--text-dim);background-clip:padding-box}.models-table-scroll .models-table thead th{z-index:2;background:var(--bg-0);box-shadow:inset 0 -1px 0 var(--border);position:sticky;top:0}.models-table .text-right{text-align:right}.models-table input[type=checkbox]{accent-color:var(--accent);transform:scale(1.1)}.models-table td{vertical-align:middle}.model-row-hidden{opacity:.55}.model-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-sub{color:var(--text-dim);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.model-ctx{font-variant-numeric:tabular-nums;color:var(--text-muted);border:1px solid var(--border-faint);border-radius:var(--r-pill);padding:0 6px}.model-edit-dialog{width:min(900px,100vw - 48px)}.model-edit-heading{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.model-edit-heading h4{margin:0}.model-users-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.model-users-toolbar .input{flex:280px}.model-user-search-results{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.model-user-result{justify-content:space-between;align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-3);border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--bg-0);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--t-fast)var(--ease),background var(--t-fast)var(--ease),transform var(--t-fast)var(--ease);display:flex}.model-user-result:hover{border-color:var(--border-strong);background:var(--bg-1);transform:translateY(-1px)}.model-user-result.added{cursor:default;background:color-mix(in srgb,var(--accent)6%,var(--bg-0))}.model-user-result-main{flex-direction:column;gap:3px;min-width:0;display:flex}.model-user-result-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-user-result-main small{color:var(--text-dim);font-size:var(--fs-xs)}.model-user-result-side{align-items:center;gap:var(--sp-1);flex-wrap:wrap;flex:none;justify-content:flex-end;display:inline-flex}.model-user-search-empty{padding:var(--sp-3);color:var(--text-dim);border:1px dashed var(--border-faint);border-radius:var(--r-md)}.model-users-table-wrap{border:1px solid var(--border-faint);border-radius:var(--r-md);max-height:min(420px,48vh);overflow:auto}.model-users-table{margin:0}.model-users-table th{z-index:1;background:var(--bg-elev);position:sticky;top:0}.model-users-table select{min-width:180px}.model-user-granted{background:color-mix(in srgb,var(--accent)6%,transparent)}.model-user-cell{flex-direction:column;gap:2px;min-width:0;display:flex}.model-user-cell strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(460px,60vw);overflow:hidden}.model-user-cell small{color:var(--text-dim);font-size:var(--fs-xs)}.install-job-inset{background:var(--bg-0)}.localai-error-note{margin:var(--sp-2)0 0}.download-dialog-body{gap:var(--sp-4);padding:var(--sp-2)var(--sp-4)var(--sp-4);flex-direction:column;display:flex}.download-dialog-file,.download-dialog-repo{margin:0}