:root{color-scheme:light;--color-bg: #fbfaf7;--color-text: #2b2724;--color-surface: #f4f1ec;--color-divider: #e9e4db;--color-neutral-100: #ffffff;--color-neutral-200: #f2eee8;--color-neutral-300: color-mix(in oklch, #2b2724 22%, #fbfaf7);--color-neutral-400: color-mix(in oklch, #2b2724 34%, #fbfaf7);--color-neutral-500: color-mix(in oklch, #2b2724 46%, #fbfaf7);--color-neutral-600: color-mix(in oklch, #2b2724 58%, #fbfaf7);--color-neutral-700: color-mix(in oklch, #2b2724 72%, #fbfaf7);--color-neutral-800: color-mix(in oklch, #2b2724 86%, #fbfaf7);--color-neutral-900: color-mix(in oklch, #2b2724 94%, #fbfaf7);--color-accent: #2b2724;--color-accent-2: #2b2724;--color-accent-500: #2b2724;--color-accent-100: color-mix(in oklch, #2b2724 10%, #fbfaf7);--color-accent-200: color-mix(in oklch, #2b2724 18%, #fbfaf7);--color-accent-300: color-mix(in oklch, #2b2724 34%, #fbfaf7);--color-accent-400: color-mix(in oklch, #2b2724 58%, #fbfaf7);--color-accent-600: color-mix(in oklch, #2b2724 88%, #2b2724);--color-accent-700: color-mix(in oklch, #2b2724 100%, #2b2724);--color-accent-800: color-mix(in oklch, #2b2724 45%, #2b2724);--color-accent-900: color-mix(in oklch, #2b2724 30%, #2b2724);--grad: #2b2724;--color-on-accent: #fbfaf7;--deep-mix: black;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: none;--shadow-md: 0 3px 10px rgba(20, 20, 24, .08);--shadow-lg: 0 12px 32px rgba(20, 20, 24, .14);--font-heading: "Archivo", system-ui, -apple-system, sans-serif;--font-body: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Monaco, Consolas, monospace;--cell-padding: 8px 12px}[data-theme=dark]{color-scheme:dark;--color-bg: #1a1816;--color-text: #eee8de;--color-surface: #2a2622;--color-divider: #37312b;--color-neutral-100: #221f1c;--color-neutral-200: #2e2a26;--color-neutral-300: color-mix(in oklch, #eee8de 22%, #1a1816);--color-neutral-400: color-mix(in oklch, #eee8de 34%, #1a1816);--color-neutral-500: color-mix(in oklch, #eee8de 46%, #1a1816);--color-neutral-600: color-mix(in oklch, #eee8de 58%, #1a1816);--color-neutral-700: color-mix(in oklch, #eee8de 72%, #1a1816);--color-neutral-800: color-mix(in oklch, #eee8de 86%, #1a1816);--color-neutral-900: color-mix(in oklch, #eee8de 94%, #1a1816);--color-accent: #eee8de;--color-accent-2: #eee8de;--color-accent-500: #eee8de;--color-accent-100: color-mix(in oklch, #eee8de 10%, #1a1816);--color-accent-200: color-mix(in oklch, #eee8de 18%, #1a1816);--color-accent-300: color-mix(in oklch, #eee8de 34%, #1a1816);--color-accent-400: color-mix(in oklch, #eee8de 58%, #1a1816);--color-accent-600: color-mix(in oklch, #eee8de 88%, #eee8de);--color-accent-700: color-mix(in oklch, #eee8de 100%, #eee8de);--color-accent-800: color-mix(in oklch, #eee8de 45%, #eee8de);--color-accent-900: color-mix(in oklch, #eee8de 30%, #eee8de);--grad: #eee8de;--color-on-accent: #1a1816;--deep-mix: white;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: none;--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55)}.density-compact{--cell-padding: 8px 12px}.density-comfortable{--cell-padding: 12px 14px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%;font-family:var(--font-body);font-size:13px;line-height:1.45;background:var(--color-bg);color:var(--color-text);overflow:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0}a{color:var(--color-accent-700);text-decoration:none}a:hover{color:var(--color-accent)}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-divider);border-radius:6px;background:transparent;color:var(--color-text);font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--color-neutral-200)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-accent-600);border-color:var(--color-accent-600)}.btn-secondary{background:var(--color-neutral-100);border-color:var(--color-divider);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-200)}.btn-ghost{border-color:transparent;background:transparent;color:var(--color-neutral-700)}.btn-ghost:hover:not(:disabled){background:var(--color-neutral-200);color:var(--color-text)}.btn-icon{padding:0;width:28px;height:28px;border-radius:6px}.input{width:100%;border:1px solid var(--color-divider);border-radius:6px;background:var(--color-neutral-100);color:var(--color-text);font-family:inherit;font-size:13px;padding:6px 10px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input.input,select.input{height:33px}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:26px!important;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='%2378716c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 15%,transparent)}.input:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;font-weight:600;color:var(--color-neutral-600)}.radio{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.radio input{accent-color:var(--color-accent)}.hv-surface{transition:background .12s ease}.hv-surface:hover{background:var(--color-surface)!important}.hv-border{transition:border-color .15s ease}.hv-border:hover{border-color:var(--color-accent)!important}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12131673;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.dialog{background:var(--color-neutral-100);border:1px solid var(--color-divider);border-radius:8px;box-shadow:var(--shadow-lg);padding:18px 20px;display:flex;flex-direction:column;animation:dialog-pop .18s cubic-bezier(.16,1,.3,1)}@keyframes dialog-pop{0%{opacity:0;transform:scale(.97) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-title{font-family:var(--font-heading);font-weight:800;font-size:16px;line-height:1.3}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.toast-container{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:100;background:var(--color-accent);color:var(--color-on-accent);padding:8px 18px;border-radius:6px;font-size:13px;font-weight:600;box-shadow:var(--shadow-lg);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-surface) 37%,var(--color-neutral-200) 63%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.markdown-content{word-break:break-word;line-height:1.55}.markdown-content p{margin-top:0;margin-bottom:8px}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:6px 0 10px 20px;padding:0}.markdown-content li{margin-bottom:4px}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:10px 0 6px;font-weight:700;color:inherit;line-height:1.35}.markdown-content h1{font-size:1.25em}.markdown-content h2{font-size:1.15em}.markdown-content h3{font-size:1.05em}.markdown-content code{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:4px;padding:1px 5px;font-size:11.5px;font-family:var(--font-mono);color:var(--color-text)}.markdown-content pre{background:#1a1816;color:#f4f1ec;padding:10px 12px;border-radius:6px;overflow-x:auto;font-size:11.5px;margin:8px 0}.markdown-content pre code{background:transparent;border:none;padding:0;color:inherit}.markdown-content blockquote{border-left:3px solid var(--color-accent);margin:8px 0;padding-left:10px;color:var(--color-neutral-600)}.markdown-content table{width:100%;border-collapse:separate;border-spacing:0;margin:10px 0;font-size:12px;border:1px solid var(--color-divider);border-radius:6px;overflow:hidden}.markdown-content th,.markdown-content td{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);padding:6px 10px;text-align:left;vertical-align:middle}.markdown-content th:last-child,.markdown-content td:last-child{border-right:none}.markdown-content tr:last-child td{border-bottom:none}.markdown-content th{background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:11.5px}.sse-cursor{display:inline-block;width:8px;height:8px;background:var(--color-accent);border-radius:50%;margin-left:5px;vertical-align:middle;animation:ssePulse 1s infinite ease-in-out}@keyframes ssePulse{0%,to{transform:scale(.85);opacity:.35}50%{transform:scale(1.15);opacity:1}}
