:root{--bg:#0b0d12;--surface:#14171f;--surface-2:#1c2029;--border:#262a35;--border-strong:#353a48;--text:#e7e9ee;--text-muted:#8b91a3;--text-faint:#5e6373;--accent:#818cf8;--accent-hover:#9aa3ff;--accent-subtle:#818cf81f;--error:#f87171;--radius:12px;--radius-sm:8px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:radial-gradient(ellipse 80% 50% at 50% -10%, #818cf812, transparent 60%), var(--bg);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}button{color:inherit;font-family:inherit}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-subtle);color:var(--text)}.question-form{flex-direction:column;gap:.875rem;display:flex}.form-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.8rem;font-weight:500}.form-textarea{resize:vertical;width:100%;min-height:7.5rem;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;outline:none;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s}.form-textarea::placeholder{color:var(--text-faint)}.form-textarea:hover:not(:disabled){border-color:var(--border-strong)}.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);background:var(--surface-2)}.form-textarea:disabled{opacity:.55;cursor:not-allowed}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.provider-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:.125rem;padding:.25rem;display:inline-flex}.provider-option{appearance:none;color:var(--text-muted);font:inherit;border-radius:calc(var(--radius) - 4px);cursor:pointer;background:0 0;border:none;padding:.4rem .85rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s}.provider-option:hover:not(:disabled):not(.is-active){color:var(--text);background:var(--surface-2)}.provider-option.is-active{color:var(--text);background:var(--accent-subtle);box-shadow:inset 0 0 0 1px var(--accent)}.provider-option:disabled{opacity:.55;cursor:not-allowed}.submit-button{appearance:none;font:inherit;color:#0b0d12;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.625rem;padding:.625rem 1.125rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.submit-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.submit-button:active:not(:disabled){transform:translateY(1px)}.submit-button:disabled{opacity:.45;cursor:not-allowed}.kbd-hint{background:#0b0d122e;border:1px solid #0b0d1226;border-radius:4px;padding:.1rem .4rem;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.75rem;line-height:1}@media (width<=480px){.form-actions{flex-direction:column-reverse;align-items:stretch}.provider-toggle,.submit-button{justify-content:center;width:100%}}.spinner{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;align-items:center;gap:.875rem;width:100%;padding:1rem 1.125rem;font-size:.95rem;display:inline-flex}.spinner-ring{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:1.125rem;height:1.125rem;animation:.85s linear infinite spinner-spin}.spinner-text{animation:.4s spinner-fade-in;display:inline-block}@keyframes spinner-spin{to{transform:rotate(360deg)}}@keyframes spinner-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.spinner-ring{animation-duration:2s}.spinner-text{animation:none}}.answer-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.25rem 1.375rem;animation:.35s answer-fade-in}.answer-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.875rem;font-size:.78rem;font-weight:500}.answer-markdown{color:var(--text);word-wrap:break-word;font-size:1rem;line-height:1.65}.answer-markdown>:first-child{margin-top:0}.answer-markdown>:last-child{margin-bottom:0}.answer-markdown p{margin:0 0 .85em}.answer-markdown h1,.answer-markdown h2,.answer-markdown h3,.answer-markdown h4,.answer-markdown h5,.answer-markdown h6{color:var(--text);letter-spacing:-.01em;margin:1.25em 0 .5em;font-weight:600;line-height:1.3}.answer-markdown h1{font-size:1.45rem}.answer-markdown h2{font-size:1.25rem}.answer-markdown h3{font-size:1.1rem}.answer-markdown h4,.answer-markdown h5,.answer-markdown h6{font-size:1rem}.answer-markdown strong{color:var(--text);font-weight:600}.answer-markdown em{font-style:italic}.answer-markdown ul,.answer-markdown ol{margin:0 0 .85em;padding-left:1.5rem}.answer-markdown li{margin:.25em 0}.answer-markdown li::marker{color:var(--text-muted)}.answer-markdown li>p{margin:0 0 .35em}.answer-markdown li>ul,.answer-markdown li>ol{margin-top:.25em;margin-bottom:.25em}.answer-markdown code{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.12em .4em;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.88em}.answer-markdown pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 .85em;padding:.875rem 1rem;font-size:.88rem;line-height:1.55;overflow-x:auto}.answer-markdown pre code{font-size:inherit;color:var(--text);background:0 0;border:none;padding:0}.answer-markdown blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:0 0 .85em;padding:.1rem 0 .1rem 1rem}.answer-markdown blockquote>:last-child{margin-bottom:0}.answer-markdown a{color:var(--accent);text-underline-offset:3px;word-break:break-word;text-decoration:underline;text-decoration-thickness:1px}.answer-markdown a:hover{color:var(--accent-hover)}.answer-markdown hr{border:none;border-top:1px solid var(--border);margin:1.25em 0}.answer-markdown table{border-collapse:collapse;width:100%;margin:0 0 .85em;font-size:.92em}.answer-markdown th,.answer-markdown td{text-align:left;border:1px solid var(--border);padding:.5rem .75rem}.answer-markdown th{background:var(--surface-2);color:var(--text);font-weight:600}.answer-markdown del{color:var(--text-muted)}.answer-box-error{background:#f871710f;border-color:#f8717166}.answer-meta-error{color:var(--error);align-items:center;gap:.5rem;display:inline-flex}.error-dot{background:var(--error);border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 3px #f8717126}.answer-error-text{color:var(--text);white-space:pre-wrap;word-wrap:break-word;margin:0;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.9rem;line-height:1.6}@keyframes answer-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.answer-box{animation:none}}.trace-viewer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.trace-toggle{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.625rem;padding:.9rem 1.125rem;font-size:.95rem;transition:background .15s;display:flex}.trace-toggle:hover{background:var(--surface-2)}.trace-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.trace-chevron{width:1.25rem;height:1.25rem;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:transform .2s;display:inline-flex}.trace-chevron.is-open{transform:rotate(90deg)}.trace-toggle-label{flex:1;font-weight:500}.trace-count{letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:500}.trace-list{border-top:1px solid var(--border);margin:0;padding:.25rem 0 .75rem;list-style:none}.trace-item{grid-template-columns:2rem 1fr;align-items:start;gap:.75rem;padding:.55rem 1.125rem;display:grid}.trace-item:hover{background:var(--surface-2)}.trace-index{width:1.5rem;height:1.5rem;color:var(--text-muted);background:var(--surface-2);border-radius:6px;justify-content:center;align-items:center;margin-top:.05rem;font-size:.72rem;font-weight:600;display:inline-flex}.trace-line{color:var(--text-muted);word-break:break-word;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.82rem;line-height:1.55}@media (prefers-reduced-motion:reduce){.trace-chevron{transition:none}}.app-shell{flex-direction:column;gap:2.5rem;max-width:720px;min-height:100vh;margin:0 auto;padding:3.5rem 1.5rem 4rem;display:flex}.app-header{flex-direction:column;gap:.5rem;display:flex}.app-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:2rem;font-weight:600}.app-tagline{color:var(--text-muted);max-width:52ch;margin:0;font-size:1rem;line-height:1.55}.app-main{flex-direction:column;gap:1.5rem;display:flex}.app-footer{color:var(--text-faint);margin-top:auto;padding-top:1.5rem;font-size:.82rem}.app-footer a{color:inherit;border-bottom:1px solid #0000;text-decoration:none;transition:color .15s,border-color .15s}.app-footer a:hover{color:var(--text-muted);border-bottom-color:var(--border-strong)}@media (width<=640px){.app-shell{gap:2rem;padding:2rem 1rem 3rem}.app-title{font-size:1.65rem}}
