:root{--bg:#0a0e12;--surface:#121821;--surface-2:#19212c;--surface-3:#202938;--border:#242c39;--border-strong:#2f3a4c;--text:#e6e9ee;--text-muted:#8c95a4;--text-faint:#5d6573;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-subtle:#2dd4bf21;--accent-fade:#2dd4bf0f;--good:#10b981;--warn:#fbbf24;--bad:#f87171;--bad-bg:#f8717114;--radius:14px;--radius-sm:8px;--radius-lg:18px;--ease:cubic-bezier(.22, 1, .36, 1)}*,: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 70% 45% at 50% -10%, #2dd4bf14, 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.55}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,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-subtle);color:var(--text)}.spinner{color:var(--text-muted);align-items:center;gap:.75rem;display:inline-flex}.spinner-md{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:.875rem 1rem;font-size:.95rem}.spinner-sm{padding:0;font-size:.85rem}.spinner-ring{border-style:solid;border-color:var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;animation:.85s linear infinite spinner-spin}.spinner-md .spinner-ring{border-width:2px;width:1.125rem;height:1.125rem}.spinner-sm .spinner-ring{border-width:2px;width:.875rem;height:.875rem}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner-ring{animation-duration:2s}}.answer-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:answer-fade-in .35s var(--ease);padding:1.25rem 1.25rem 1.375rem}.answer-meta{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem;font-size:.78rem;font-weight:500}.answer-text{color:var(--text);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:1rem;line-height:1.7}.answer-box-error{background:#f871710f;border-color:#f8717166}.answer-meta-error{color:var(--bad);align-items:center;gap:.5rem;display:inline-flex}.error-dot{background:var(--bad);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}}.metrics-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:metrics-fade-in .4s var(--ease);flex-direction:column;gap:1.125rem;padding:1.5rem 1.5rem 1.625rem;display:flex}.metrics-panel-header{flex-direction:column;gap:.35rem;display:flex}.metrics-panel-title{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.metrics-panel-subtitle{color:var(--text-muted);max-width:60ch;margin:0;font-size:.88rem;line-height:1.6}.metrics-body{justify-content:center;align-items:center;min-height:5rem;display:flex}.metrics-empty{color:var(--text-faint);text-align:center;margin:0;font-size:.92rem}.metrics-unavailable{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);align-items:flex-start;gap:.75rem;width:100%;padding:.875rem 1rem;display:flex}.metrics-info-icon{background:var(--surface-3);width:1.25rem;height:1.25rem;color:var(--text-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:.1rem;font-family:serif;font-size:.85rem;font-style:italic;font-weight:600;display:inline-flex}.metrics-unavailable-title{color:var(--text);margin:0 0 .3rem;font-size:.9rem;font-weight:500}.metrics-unavailable-detail{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.55}.metrics-error{background:var(--bad-bg);border-radius:var(--radius);border:1px solid #f8717159;align-items:flex-start;gap:.6rem;width:100%;padding:.75rem 1rem;display:flex}.metrics-error p{color:var(--text);margin:0;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.9rem}.metrics-error .error-dot{background:var(--bad);border-radius:50%;flex:none;width:.5rem;height:.5rem;margin-top:.45rem;box-shadow:0 0 0 3px #f8717126}.metrics-actions{justify-content:flex-start;display:flex}.evaluate-button{appearance:none;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);padding:.55rem 1rem;font-size:.92rem;font-weight:500}.evaluate-button:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text)}.evaluate-button:active{transform:translateY(1px)}.gauges{grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;display:grid}.gauge{border-radius:var(--radius);flex-direction:column;align-items:center;gap:.625rem;padding:1rem .5rem .75rem;display:flex}.gauge-arc{width:148px;height:148px;position:relative}.gauge-track{fill:none;stroke:var(--surface-3);stroke-width:8px}.gauge-fill{fill:none;stroke:var(--gauge-color,var(--accent));stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray .9s var(--ease), stroke .9s var(--ease)}.gauge-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;display:flex;position:absolute;inset:0}.gauge-value{color:var(--text);letter-spacing:-.02em;font-feature-settings:"tnum";font-size:1.7rem;font-weight:600}.gauge-fraction{color:var(--text-faint);font-feature-settings:"tnum";font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.74rem}.gauge-meta{color:var(--text);align-items:center;gap:.4rem;font-size:.88rem;display:inline-flex}.gauge-label{font-weight:500}.gauge-tooltip-wrapper{display:inline-flex;position:relative}.gauge-tooltip-trigger{appearance:none;width:1.1rem;height:1.1rem;font:inherit;color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);cursor:help;transition:color .15s var(--ease), background .15s var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;display:inline-flex}.gauge-tooltip-trigger:hover,.gauge-tooltip-trigger:focus{color:var(--text);background:var(--accent-subtle);outline:none}.gauge-tooltip{width:240px;color:var(--text);background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:left;opacity:0;pointer-events:none;transition:opacity .18s var(--ease);z-index:10;padding:.65rem .8rem;font-size:.8rem;line-height:1.5;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0000004d}.gauge-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--surface-3);position:absolute;top:100%;left:50%;transform:translate(-50%)}.gauge-tooltip-trigger:hover+.gauge-tooltip,.gauge-tooltip-trigger:focus+.gauge-tooltip,.gauge-tooltip-wrapper:hover .gauge-tooltip{opacity:1}@keyframes metrics-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.gauges{grid-template-columns:1fr;gap:.75rem}}@media (prefers-reduced-motion:reduce){.metrics-panel,.gauge-fill,.gauge-tooltip{transition:none;animation:none}}.question-form-section{flex-direction:column;gap:1rem;display:flex}.question-form-header{flex-direction:column;gap:.25rem;display:flex}.question-form-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:.95rem;font-weight:500}.question-form-subtitle{color:var(--text-faint);margin:0;font-size:.92rem}.question-form{flex-direction:column;gap:.875rem;display:flex}.question-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);transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);box-sizing:border-box;outline:none;padding:.875rem 1rem}.question-textarea::placeholder{color:var(--text-faint)}.question-textarea:hover:not(:disabled){border-color:var(--border-strong)}.question-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);background:var(--surface-2)}.question-textarea:disabled{opacity:.55;cursor:not-allowed}.question-actions{justify-content:flex-end;display:flex}.ask-button{appearance:none;font:inherit;color:#06302b;background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), transform 50ms var(--ease);align-items:center;gap:.625rem;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-flex}.ask-button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ask-button:active:not(:disabled){transform:translateY(1px)}.ask-button:disabled{opacity:.45;cursor:not-allowed}.kbd-hint{background:#0a0e1238;border:1px solid #0a0e122e;border-radius:4px;padding:.1rem .4rem;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.72rem;line-height:1}@media (width<=480px){.question-actions{justify-content:stretch}.ask-button{justify-content:center;width:100%}}.source-list{animation:source-fade-in .4s var(--ease);flex-direction:column;gap:.875rem;display:flex}.source-list-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:.625rem;margin:0;font-size:.78rem;font-weight:500;display:flex}.source-list-count{letter-spacing:.04em;color:var(--text-muted);background:var(--surface-2);text-transform:none;border-radius:999px;padding:.15rem .55rem;font-size:.72rem}.source-items{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.source-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .18s var(--ease);padding:.875rem 1rem .95rem}.source-item:hover{border-color:var(--border-strong)}.source-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.55rem;display:flex}.source-filename{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.85rem;overflow:hidden}.source-score{color:var(--text-muted);font-feature-settings:"tnum";white-space:nowrap;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.78rem}.source-bar{background:var(--surface-3);border-radius:999px;height:.4rem;margin-bottom:.6rem;position:relative;overflow:hidden}.source-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-hover) 100%);height:100%;transition:width .6s var(--ease);border-radius:999px;display:block}.source-text{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.source-list-footnote{color:var(--text-faint);margin:0;font-size:.78rem;line-height:1.55}@keyframes source-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.source-list,.source-bar-fill{transition:none;animation:none}}.upload-area-section{flex-direction:column;gap:1rem;display:flex}.upload-area-header{flex-direction:column;gap:.25rem;display:flex}.upload-area-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:.95rem;font-weight:500}.upload-area-subtitle{color:var(--text-faint);margin:0;font-size:.92rem}.upload-zone{background:var(--surface);border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;min-height:11rem;transition:border-color .18s var(--ease), background .18s var(--ease), transform .18s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.75rem 1.5rem;display:flex}.upload-zone:hover:not(.is-loading){border-color:var(--accent);background:var(--accent-fade)}.upload-zone.is-dragging{border-color:var(--accent);background:var(--accent-subtle);transform:scale(1.005)}.upload-zone.is-loading{cursor:progress;border-style:solid;border-color:var(--border)}.upload-zone:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.upload-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-icon{background:var(--accent-subtle);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:inline-flex}.upload-primary{color:var(--text);margin:0;font-size:1rem}.upload-link{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.upload-hint{color:var(--text-faint);margin:0;font-size:.85rem}.upload-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.95rem 1.125rem}.upload-result-header{color:var(--text);align-items:center;gap:.55rem;margin-bottom:.6rem;font-size:.92rem;display:flex}.upload-result-check{background:var(--accent);color:#06302b;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.upload-result-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.upload-result-item{justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;font-size:.88rem;display:flex}.upload-file-name{color:var(--text);font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.83rem}.upload-file-chunks{color:var(--text-muted);font-feature-settings:"tnum";white-space:nowrap}.upload-skipped-block{border-top:1px dashed var(--border);margin-top:.75rem;padding-top:.75rem}.upload-skipped-header{color:var(--warn);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:inline-flex}.upload-skipped-icon{width:1.15rem;height:1.15rem;color:var(--warn);background:#fbbf242e;border:1px solid #fbbf2473;border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.upload-skipped-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.upload-skipped-item{flex-direction:column;gap:.2rem;padding:.3rem 0;display:flex}.upload-skipped-reason{color:var(--text-muted);font-size:.82rem;line-height:1.5}.upload-error{background:var(--bad-bg);border-radius:var(--radius);color:var(--text);border:1px solid #f8717159;padding:.75rem 1rem;font-family:SF Mono,Menlo,Monaco,Cascadia Code,Consolas,monospace;font-size:.9rem}@media (prefers-reduced-motion:reduce){.upload-zone{transition:none}}.app-shell{flex-direction:column;gap:2.5rem;max-width:860px;min-height:100vh;margin:0 auto;padding:3rem 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:2.1rem;font-weight:600}.app-tagline{color:var(--text-muted);max-width:56ch;margin:0;font-size:1rem;line-height:1.55}.app-main{flex-direction:column;gap:2rem;display:flex}.app-footer{color:var(--text-faint);margin-top:auto;padding-top:1.5rem;font-size:.82rem}.app-footer a{color:inherit;transition:color .15s var(--ease), border-color .15s var(--ease);border-bottom:1px solid #0000;text-decoration:none}.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.7rem}.app-main{gap:1.5rem}}
