.auth-page{background:radial-gradient(1200px 600px at 50% -10%, #8aa85a14, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex;overflow:auto}.auth-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);width:min(400px,100%);padding:28px 28px 20px}.auth-brand{font-weight:600;font-size:var(--fs-lg);align-items:center;gap:10px;margin-bottom:24px;display:flex}.auth-card h1{font-size:var(--fs-xl);margin:0 0 4px;font-weight:600}.auth-sub{color:var(--text-secondary);margin:0 0 20px}.auth-form{flex-direction:column;display:flex}.auth-form .btn-block{height:36px;margin-top:4px}.auth-note{border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);font-size:var(--fs-sm);margin-bottom:14px;padding:8px 10px}.auth-foot{border-top:1px solid var(--border);color:var(--text-secondary);text-align:center;font-size:var(--fs-sm);margin-top:18px;padding-top:14px}.auth-ok{border-radius:var(--radius);background:var(--success-soft);color:var(--success);font-size:var(--fs-sm);margin-top:10px;padding:8px 10px}.auth-form .auth-ok,.auth-form .btn-block+.btn-block{margin-top:10px}.auth-inbox{color:var(--text-secondary);align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.auth-inbox svg{color:var(--accent);flex:none;margin-top:2px}.auth-inbox p{margin:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface-1:#0a0a0a;--surface-2:#111;--surface-hover:#161616;--surface-3:#171717;--border:#262626;--border-muted:#1f1f1f;--border-strong:#333;--text:#fff;--text-secondary:#a3a3a3;--text-muted:#737373;--text-inverse:#000;--accent:#8aa85a;--accent-hover:#9bb96b;--accent-soft:#8aa85a24;--accent-border:#8aa85a66;--success:#4ade80;--success-soft:#4ade801f;--warning:#f59e0b;--warning-soft:#f59e0b1f;--danger:#ef4444;--danger-soft:#ef44441f;--info:#60a5fa;--info-soft:#60a5fa1f;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:24px;--lh:1.45;--radius:8px;--radius-sm:6px;--radius-pill:999px;--shadow-menu:0 8px 24px #0009, 0 0 0 1px var(--border);--shadow-modal:0 24px 64px #000000b3;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--transition:.12s ease;--topbar-h:48px;--left-w:min(260px, 16vw);--right-w:min(400px, 24vw);--left-w-min:200px;--right-w-min:300px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{box-shadow:var(--focus-ring);outline:none}::selection{background:var(--accent-soft)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);height:32px;color:var(--text);font-size:var(--fs-md);white-space:nowrap;transition:background var(--transition), border-color var(--transition), color var(--transition);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--text)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-sm{height:26px;font-size:var(--fs-sm);border-radius:var(--radius-sm);padding:0 8px}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);transition:background var(--transition), color var(--transition);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn:disabled{opacity:.4}.icon-btn.active{color:var(--accent);background:var(--accent-soft)}.icon-btn-sm{width:24px;height:24px}.input,.select,.textarea{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);width:100%;height:32px;color:var(--text);font-size:var(--fs-md);transition:border-color var(--transition);padding:0 10px}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:none;outline:none}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input-sm,.select-sm{height:26px;font-size:var(--fs-sm);border-radius:var(--radius-sm);padding:0 8px}.textarea{resize:vertical;height:auto;min-height:80px;padding:8px 10px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:28px}.select option{background:var(--surface-2)}input[type=number].input{font-family:var(--font-mono)}.input-with-btn{align-items:center;display:flex;position:relative}.input-with-btn .input{padding-right:36px}.input-with-btn .icon-btn{position:absolute;right:4px}.field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.field-label{color:var(--text-secondary);font-size:var(--fs-sm);align-items:center;gap:6px;font-weight:500;display:flex}.field-label .req{color:var(--accent)}.field-hint{color:var(--text-muted);font-size:var(--fs-xs)}.field-error{color:var(--danger);font-size:var(--fs-xs)}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius);font-size:var(--fs-sm);border:1px solid #ef44444d;margin-bottom:12px;padding:8px 10px}.checkbox{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.checkbox input{accent-color:var(--accent);margin:0}.spinner{color:inherit;align-items:center;display:inline-flex}.spinner svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-block{color:var(--text-muted);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:8px;padding:24px 12px;display:flex}.fullscreen-center{justify-content:center;align-items:center;height:100%;display:flex}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.empty-icon{color:var(--text-muted);margin-bottom:4px}.empty-title{color:var(--text);font-weight:500}.empty-body{color:var(--text-muted);font-size:var(--fs-sm);max-width:280px}.error-state{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);border:1px solid #ef44444d;align-items:flex-start;gap:8px;margin:12px;padding:10px 12px;display:flex}.error-state svg{flex:none;margin-top:2px}.error-state .error-text{color:var(--text);word-break:break-word;flex:1}.error-state.compact{margin:8px 0}.kbd{font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid var(--border-strong);color:var(--text-secondary);background:var(--surface-2);border-radius:4px;padding:1px 5px}.badge{border-radius:var(--radius-pill);height:18px;font-size:var(--fs-xs);background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;font-weight:500;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.badge-warning{background:var(--warning-soft);color:var(--warning);border-color:#f59e0b59}.spacer{flex:1}.small{font-size:var(--fs-xs)}.dialog-backdrop{z-index:100;background:#0009;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;animation:.12s fade-in;display:flex;position:fixed;inset:0}.dialog{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);max-height:80vh;box-shadow:var(--shadow-modal);flex-direction:column;animation:.14s pop-in;display:flex}.dialog-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 12px 12px 16px;display:flex}.dialog-head h2{font-size:var(--fs-base);flex:1;margin:0;font-weight:600}.dialog-icon{color:var(--accent);display:inline-flex}.dialog-body{padding:16px;overflow:auto}.dialog-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dialog-text{color:var(--text-secondary);margin:0}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.99)}}.menu{z-index:200;background:var(--surface-2);border-radius:var(--radius);box-shadow:var(--shadow-menu);max-height:70vh;padding:4px;animation:90ms fade-in;position:fixed;overflow:auto}.menu-item{border-radius:var(--radius-sm);width:100%;height:30px;color:var(--text);font-size:var(--fs-md);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0 8px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--surface-3);box-shadow:none}.menu-item:disabled{color:var(--text-muted)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.menu-item.checked .menu-icon{color:var(--accent)}.menu-icon{width:16px;color:var(--text-secondary);justify-content:center;display:inline-flex}.menu-item.danger .menu-icon{color:var(--danger)}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.menu-hint{color:var(--text-muted);font-size:var(--fs-xs);font-family:var(--font-mono)}.menu-section{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 8px 4px}.menu-divider{background:var(--border);height:1px;margin:4px}.menu-head{padding:8px 8px 6px}.menu-head .name{font-weight:600}.menu-head .email{color:var(--text-muted);font-size:var(--fs-sm)}.toasts{z-index:300;pointer-events:none;flex-direction:column;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-menu);align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;animation:.16s pop-in;display:flex}.toast-icon{margin-top:1px;display:inline-flex}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--danger)}.toast-info .toast-icon{color:var(--info)}.toast-warning .toast-icon{color:var(--warning)}.toast-text{flex:1;min-width:0}.toast-title{font-weight:500}.toast-msg{color:var(--text-secondary);font-size:var(--fs-sm);word-break:break-word}.tabs{gap:2px;display:flex}.tab{border-radius:var(--radius-sm);height:30px;color:var(--text-secondary);background:0 0;border:none;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text);background:var(--surface-2)}.tab.active{color:var(--text);background:var(--surface-3)}.data-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-sm);width:max-content;min-width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-muted);border-right:1px solid var(--border-muted);white-space:nowrap;text-overflow:ellipsis;text-align:left;max-width:280px;height:28px;padding:0 10px;overflow:hidden}.data-table th{z-index:1;background:var(--surface-2);color:var(--text-secondary);font-weight:500;position:sticky;top:0}.data-table td.num{font-family:var(--font-mono);text-align:right}.data-table td.null{color:var(--text-muted);font-style:italic}.data-table tbody tr:hover td{background:var(--surface-hover)}.settings-section{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.settings-title{align-items:center;gap:6px;margin-bottom:8px;font-weight:600;display:flex}.settings-title svg{color:var(--accent)}.small-text{font-size:var(--fs-sm);margin-bottom:10px}.key-status{font-size:var(--fs-sm);align-items:center;gap:8px;margin-bottom:8px;display:flex}.key-form{gap:8px;display:flex}.kv{font-size:var(--fs-sm);grid-template-columns:110px 1fr;gap:6px 12px;margin:0;display:grid}.kv dt{color:var(--text-muted)}.kv dd{word-break:break-all;margin:0}.token-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);align-items:center;gap:4px;padding:4px 4px 4px 10px;display:flex}.token-value{white-space:nowrap;min-width:0;font-size:var(--fs-sm);flex:1;overflow-x:auto}.small-code{font-size:var(--fs-xs);color:var(--text-secondary)}.api-links{font-size:var(--fs-sm);margin-bottom:14px}.api-links code{color:var(--text-secondary)}.rotate-row{align-items:center;gap:10px;display:flex}.style-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.color-field{align-items:center;gap:6px;display:flex}.color-field input[type=color]{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex:none;width:30px;height:26px;padding:0}.range{width:100%;accent-color:var(--accent);height:26px}.style-preview{border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--fs-xs);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 12px;min-height:32px;padding:8px 10px;display:flex}.style-preview .legend-item{align-items:center;gap:4px;display:inline-flex}.style-preview .legend-dot{border-radius:2px;width:9px;height:9px}
