@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=DM+Sans:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#08080a;--surface:#121215;--surface-2:#1a1a1f;--accent:#e8c46c;--text:#e0e0e0;--text-muted:#888;--border:#2a2a2f;--error:#e85454;--warning:#e8a46c;--accent-warning:#f0c430;--success:#4caf50;--font-heading:"Playfair Display", serif;--font-body:"DM Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}::placeholder{color:var(--text-muted);opacity:1}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6}.app{height:100dvh;overflow:hidden}.app-header{z-index:50;background:var(--bg);border-bottom:1px solid #2a2a2f80;flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 2rem;display:flex}.app-header h1{font-family:var(--font-heading);color:var(--accent);letter-spacing:.01em;font-size:1.35rem;font-weight:400}.user-identity{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:.72rem}.admin-link{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:100px;padding:.25rem .75rem;font-size:.75rem;text-decoration:none;transition:color .15s,border-color .15s}.admin-link:hover{color:var(--accent);border-color:var(--accent)}.app-layout{height:100dvh;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;min-width:0;display:flex}.chat-content{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-content::-webkit-scrollbar{width:6px}.chat-content::-webkit-scrollbar-track{background:0 0}.chat-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.message-list{flex-direction:column;flex:1;gap:1rem;width:100%;max-width:800px;margin:0 auto;padding:1.5rem;display:flex}.message{animation:.3s ease-in fadeIn}.assistant-message{flex-direction:column;gap:.75rem;display:flex}.user-message{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-self:flex-end;max-width:70%;padding:.75rem 1rem}.ask-message{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.ask-message.answered{opacity:.7}.research-message{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.research-message.loading .research-indicator{color:var(--accent);animation:1.5s infinite pulse}.research-message.done .research-indicator{color:var(--success)}.widget{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.question-label{margin-bottom:.5rem;font-weight:500;display:block}.start-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:800px;margin:0 auto;animation:.4s fadeIn;display:flex}.start-screen h2{font-family:var(--font-heading);color:var(--text);font-size:1.5rem;font-weight:400}.start-screen .start-subtitle{color:var(--text-muted);margin-top:-.25rem;font-size:.9rem}.start-btn{background:var(--accent);color:var(--bg);font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.7rem 2.25rem;font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .15s}.start-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e8c46c33}.start-btn:active{box-shadow:none;transform:translateY(0)}.input-area{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);z-index:10;background:#121215d9;gap:.5rem;padding:1rem 1.5rem;display:flex;position:sticky;bottom:0}.input-area input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);border-radius:8px;flex:1;padding:.75rem 1rem;font-size:.95rem}.input-area input:focus{border-color:var(--accent);outline:none}.input-area button,.submit-btn{background:var(--accent);color:var(--bg);font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600}.input-area button:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed}.constraint-hint{font-family:var(--font-mono);color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.validation-error{font-family:var(--font-mono);color:var(--error);margin-top:.25rem;font-size:.8rem}.error-text{color:var(--error);font-family:var(--font-body);margin-bottom:1rem}.stream-text{white-space:normal}.markdown-content h1,.markdown-content h2,.markdown-content h3{font-family:var(--font-heading);color:var(--accent);margin:.75rem 0 .5rem}.markdown-content h1{font-size:1.3rem}.markdown-content h2{font-size:1.15rem}.markdown-content h3{font-size:1.05rem}.markdown-content strong{color:var(--text);font-weight:700}.markdown-content code{background:var(--bg);font-family:var(--font-mono);border-radius:4px;padding:.15em .4em;font-size:.9em}.markdown-content pre{background:var(--bg);border-radius:6px;padding:.75rem;overflow-x:auto}.markdown-content pre code{background:0 0;padding:0}.markdown-content blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:.5rem 0;padding-left:1rem}.markdown-content ul,.markdown-content ol{margin:.5rem 0;padding-left:1.5rem}.markdown-content a{color:var(--accent);text-decoration:underline}.markdown-content p{margin:.4rem 0}.markdown-content p:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.cursor{animation:1s infinite blink}.preamble{color:var(--text);margin-bottom:.5rem}.widget-section-header h2{font-family:var(--font-heading);color:var(--accent);font-size:1.2rem}.widget-section-header .subtitle{color:var(--text-muted);font-size:.9rem}.widget-quote-highlight blockquote{border-left:3px solid var(--accent);padding-left:1rem;font-size:1.1rem;font-style:italic}.widget-quote-highlight cite{color:var(--text-muted);margin-top:.5rem;font-size:.85rem;display:block}.widget-quote-highlight .note{color:var(--accent);margin-top:.5rem;font-size:.9rem}.widget-final-result{border-color:var(--accent);background:var(--surface-2)}.widget-final-result .final-result-content{font-size:1.2rem;line-height:1.8}.widget-data-table table{border-collapse:collapse;width:100%}.widget-data-table th,.widget-data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}.widget-data-table th{font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;font-size:.8rem}.widget-data-table .table-caption{color:var(--text-muted);margin-top:.5rem;font-size:.85rem}.widget-data-table .highlights{margin-top:.75rem;font-size:.85rem}.widget-data-table .label{font-family:var(--font-mono);color:var(--accent)}.widget-comparison .comparison-sides{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.widget-comparison .side-label{font-family:var(--font-mono);color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem}.widget-comparison .diff-note{color:var(--accent);margin-top:.75rem;font-size:.9rem}.widget-metric-bars .metric{margin-bottom:.75rem}.widget-metric-bars .metric-header{justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}.widget-metric-bars .metric-label{font-family:var(--font-mono)}.meter-track,.progress-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.meter-fill,.progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .5s}.widget-progress{align-items:center;gap:.75rem;display:flex}.widget-progress .progress-label{min-width:120px;font-size:.85rem}.widget-progress .progress-track{flex:1}.widget-progress .progress-percent{font-family:var(--font-mono);text-align:right;min-width:40px;font-size:.85rem}.widget-copyable pre{background:var(--bg);font-family:var(--font-mono);white-space:pre-wrap;border-radius:4px;padding:.75rem;font-size:.85rem;overflow-x:auto}.widget-copyable .copy-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;margin-top:.5rem;padding:.25rem .75rem;font-size:.8rem}.widget-copyable .copy-btn:hover{border-color:var(--accent);color:var(--accent)}.widget-copyable .copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.widget-timer{text-align:center}.widget-timer .timer-display{font-family:var(--font-mono);color:var(--accent);font-size:2.5rem}.widget-timer .timer-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem}.options{flex-direction:column;gap:.5rem;display:flex}.option{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;display:flex}.option:hover{background:var(--surface-2)}.option input[type=radio],.option input[type=checkbox]{appearance:none;border:2px solid var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;width:18px;height:18px}.option input[type=radio]{border-radius:50%}.option input[type=checkbox]{border-radius:4px}.option input[type=radio]:checked,.option input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent)}.option input[type=radio]:checked:after{content:"";background:var(--bg);border-radius:50%;width:8px;height:8px;margin:3px;display:block}.option input[type=checkbox]:checked:after{content:"✓";color:var(--bg);text-align:center;font-size:12px;font-weight:700;line-height:14px;display:block}.option input[type=radio]:focus-visible,.option input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.custom-option input[type=text]{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font-body);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.95rem}.custom-option input[type=text]:focus{border-color:var(--accent);outline:none}.widget-free-text textarea,.widget-free-text input[type=text]{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);resize:vertical;border-radius:6px;padding:.75rem}.widget-free-text textarea:focus,.widget-free-text input:focus{border-color:var(--accent);outline:none}.widget-free-text textarea:disabled,.widget-free-text input[type=text]:disabled,.widget-tag-input input:disabled,.custom-option input[type=text]:disabled{opacity:.5;cursor:not-allowed;background:var(--surface)}input[type=range]:disabled{opacity:.5;cursor:not-allowed}.word-count{font-family:var(--font-mono);color:var(--text-muted);text-align:right;margin-top:.25rem;font-size:.8rem}.word-count.over{color:var(--error)}.widget-slider-scale .slider-container{align-items:center;gap:.5rem;display:flex}.widget-slider-scale input[type=range]{appearance:none;background:var(--surface-2);border-radius:3px;outline:none;flex:1;height:6px}.widget-slider-scale input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.widget-slider-scale input[type=range]::-moz-range-track{background:var(--surface-2);border:none;border-radius:3px;height:6px}.widget-slider-scale input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.widget-slider-scale input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.widget-slider-scale .slider-value{font-family:var(--font-mono);text-align:center;margin-top:.25rem}.widget-tag-input .tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.tag{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.85rem;display:inline-flex}.tag-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem}.widget-tag-input input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-body);border-radius:6px;padding:.5rem .75rem}.widget-rank-priorities .rank-list{list-style:none}.rank-item{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem;display:flex}.rank-number{font-family:var(--font-mono);color:var(--accent);min-width:1.5rem;font-weight:600}.rank-text{flex:1}.rank-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.rank-btn:disabled{opacity:.3}.rank-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rank-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.widget-matrix-2x2 .matrix-items{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.matrix-item{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:16px;padding:.25rem .75rem;font-size:.85rem}.matrix-item.active{border-color:var(--accent);color:var(--accent)}.matrix-item.placed{opacity:.6}.matrix-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.matrix-grid{aspect-ratio:1;background:var(--bg);border:1px solid var(--border);cursor:crosshair;border-radius:4px;width:100%;position:relative}.matrix-grid .axis-label{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem;position:absolute}.matrix-grid .x-axis{bottom:-1.5rem;right:0}.matrix-grid .y-axis{transform-origin:0 0;top:0;left:-.5rem;transform:rotate(-90deg)translate(-100%)}.matrix-point{background:var(--accent);width:1.5rem;height:1.5rem;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%,50%)}.widget-category-list h4{font-family:var(--font-mono);color:var(--accent);margin-bottom:.5rem;font-size:.85rem}.widget-category-list ul{margin-bottom:.75rem;padding-left:1.25rem}.widget-category-list .category-success h4{color:var(--success)}.widget-category-list .category-warning h4,.widget-category-list .category-error h4{color:var(--error)}.answer-item{flex-direction:column;gap:.15rem;font-size:.9rem;display:flex}.answer-label{color:var(--text-muted);font-size:.75rem;font-family:var(--font-mono)}.sidebar-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.1rem;transition:color .15s,background .15s;display:flex}.sidebar-toggle:hover{color:var(--accent);background:#ffffff0d}.sidebar-overlay{z-index:200;background:#00000080;position:fixed;inset:0;overflow:hidden}.session-sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:300;flex-direction:column;width:280px;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%)}.session-sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem;display:flex}.sidebar-header h2{font-family:var(--font-heading);color:var(--accent);font-size:1.1rem}.sidebar-collapse{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:color .15s,background .15s;display:none}.sidebar-collapse:hover{color:var(--accent);background:#ffffff0d}.sidebar-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.sidebar-close:hover{color:var(--text)}.sidebar-collapsed-icons{display:none}@media (width>=1024px){.sidebar-overlay{display:none}.session-sidebar{z-index:auto;flex-shrink:0;width:280px;transition:width .2s;position:static;transform:none}.app-layout.sidebar-collapsed .session-sidebar{width:48px}.app-layout.sidebar-collapsed .sidebar-header,.app-layout.sidebar-collapsed .sidebar-new-btn,.app-layout.sidebar-collapsed .sidebar-sessions{display:none}.app-layout.sidebar-collapsed .sidebar-collapsed-icons{flex-direction:column;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.sidebar-collapsed-icons button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:color .15s,background .15s;display:flex}.sidebar-collapsed-icons button:hover{color:var(--accent);background:#ffffff0d}.sidebar-collapse{display:flex}.sidebar-close{display:none}}.sidebar-new-btn{background:var(--accent);color:var(--bg);font-family:var(--font-body);cursor:pointer;border:none;border-radius:6px;margin:.75rem;padding:.5rem;font-size:.9rem;font-weight:600}.sidebar-new-btn:hover{opacity:.9}.sidebar-sessions{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:.5rem;overflow-y:auto}.sidebar-session-item{cursor:pointer;border-radius:6px;margin-bottom:.25rem;padding:.75rem}.sidebar-session-item:hover{background:var(--surface-2)}.sidebar-session-item.active{background:var(--surface-2);border-left:3px solid var(--accent)}.sidebar-session-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.25rem;margin-bottom:.25rem;font-size:.9rem;display:flex;overflow:hidden}.sidebar-session-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;margin-left:auto;padding:0 .25rem;font-size:1rem;line-height:1;transition:color .15s,background .15s;display:none}.sidebar-session-delete:hover{color:#e55;background:#ee55551f}.sidebar-session-item:hover .sidebar-session-delete{display:block}.sidebar-session-meta{font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex}.sidebar-session-app{font-family:var(--font-mono);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:3px;margin-top:.25rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.sidebar-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}.session-error-banner{border-bottom:1px solid var(--error);color:var(--error);background:#e854541f;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.9rem;display:flex}.session-error-actions{gap:.5rem;display:flex}.session-error-banner button{cursor:pointer;font-size:.8rem;font-family:var(--font-body);border-radius:4px;padding:.35rem .75rem;font-weight:600}.session-error-banner button:first-child{background:var(--accent);color:var(--bg);border:none}.session-error-banner button:last-child{background:var(--surface);border:1px solid var(--border);color:var(--text)}.session-error-banner button:hover{opacity:.9}.session-done-banner{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);color:var(--text-muted);z-index:10;background:#121215d9;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex;position:sticky;bottom:0}.session-done-banner .start-btn{padding:.4rem 1.25rem;font-size:.85rem}.app-selector{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2rem;padding:2rem;animation:.4s fadeIn;display:flex}.app-selector h2{font-family:var(--font-heading);color:var(--text);font-size:1.5rem;font-weight:400}.app-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;width:100%;max-width:700px;display:grid}.app-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;font-family:var(--font-body);border-radius:12px;padding:1.5rem;transition:border-color .2s,background .2s}.app-card:hover{border-color:var(--accent);background:var(--surface-2)}.app-card h3{font-family:var(--font-heading);color:var(--accent);margin-bottom:.5rem;font-size:1.2rem;font-weight:400}.app-card p{color:var(--text-muted);font-size:.9rem;line-height:1.4}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;max-width:380px;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;animation:.25s toastIn;display:flex}.toast-error{border-color:var(--error);color:var(--error);background:#e854541f}.toast-success{border-color:var(--success);color:var(--success);background:#4caf501f}.toast-info{border-color:var(--accent);color:var(--accent);background:#e8c46c1f}.toast-close{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-size:1.2rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=1023px){.app-layout{flex-direction:column;height:100dvh;display:flex}.main-area{flex:1;min-height:0}.sidebar-collapse{display:none!important}.sidebar-close{display:block!important}}@media (width<=639px){.session-sidebar{width:85vw;max-width:320px}.sidebar-toggle{width:2rem;height:2rem}.sidebar-toggle svg{width:16px;height:16px}.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.25rem}.message-list,.input-area,.ask-message,.widget{padding:.75rem}.user-message{max-width:85%}.widget-comparison .comparison-sides{grid-template-columns:1fr}.widget-progress{flex-wrap:wrap}.widget-progress .progress-label{min-width:unset;width:100%}.widget-metric-bars .metric-label{word-break:break-word}.widget-timer .timer-display{font-size:2rem}.matrix-point{width:2rem;height:2rem;font-size:.8rem}.matrix-item{align-items:center;min-height:48px;display:flex}.matrix-grid{aspect-ratio:auto;min-height:250px}.rank-btn{width:2.75rem;height:2.75rem}.option{min-height:48px}.option input[type=radio],.option input[type=checkbox]{width:20px;height:20px}.widget-free-text textarea,.widget-free-text input[type=text],.widget-tag-input input,.input-area input{font-size:16px}.toast-container{max-width:none;left:.5rem;right:.5rem}.submit-btn{width:100%;min-height:48px}.widget-data-table th,.widget-data-table td{white-space:nowrap;padding:.35rem .5rem}}.start-btn:disabled,.submit-btn:disabled,.session-error-actions button:disabled{opacity:.5;cursor:not-allowed}.widget-error{border:1px dashed var(--border);color:var(--text-secondary);border-radius:8px;padding:.75rem 1rem;font-size:.85rem}.build-version{color:#555;pointer-events:none;z-index:1;font-family:JetBrains Mono,monospace;font-size:.65rem;position:fixed;bottom:4px;right:8px}
