@font-face{font-family:Inter Variable;src:url(/assets/InterVariable-Dx4kXJAl.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:block}@font-face{font-family:Inter Variable;src:url(/assets/InterVariable-Italic-DpCbqKDY.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:block}@font-face{font-family:Playfair Display;src:url(/assets/PlayfairDisplay-VariableFont_wght-BOwq7MWX.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:block}:root{--bg-primary: #0E0F11;--bg-secondary: #1C1D24;--bg-tertiary: #23242D;--bg-elevated: #2A2C37;--bg-overlay: #333541;--border-subtle: #2A2B30;--border-standard: #363840;--border-emphasis: #4A4D56;--text-primary: #F5F5F0;--text-secondary: #B8B9BE;--text-tertiary: #6B7280;--text-disabled: #4A4D56;--text-inverse: #0E0F11;--accent-primary: #8B7355;--accent-secondary: #A68B5B;--accent-tertiary: #C4A882;--accent-subtle: rgba(139, 115, 85, .12);--color-success: #4CAF7D;--color-warning: #D4A017;--color-error: #E05A5A;--color-info: #5B9BD5;--font-interface: "Inter Variable", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-editorial: "Playfair Display", Georgia, "Times New Roman", serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 28px;--text-3xl: 32px;--space-0-5: 4px;--space-1: 8px;--space-1-5: 12px;--space-2: 16px;--space-2-5: 20px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-8: 64px;--space-10: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--response-max-width: 760px;--transition-fast: .1s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-elevated: 10;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-interface);font-size:var(--text-base);line-height:1.6;background-image:radial-gradient(ellipse 900px 600px at 8% -5%,rgba(139,115,85,.04),transparent 55%),radial-gradient(ellipse 700px 500px at 95% 105%,rgba(139,115,85,.03),transparent 50%)}#root{height:100vh;display:flex;flex-direction:column}button:not(:disabled){cursor:pointer}button:disabled{cursor:default}::selection{background:#c4a88259;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-standard);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-emphasis)}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-tertiary);outline-offset:2px}.app-shell{height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary)}.login-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card{width:100%;max-width:380px;background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5)}.login-title{font-family:var(--font-editorial);font-size:var(--text-xl);font-weight:400;color:var(--text-primary);letter-spacing:-.01em;margin-bottom:var(--space-0-5)}.login-subtitle{font-family:var(--font-interface);font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-4)}.login-field{display:flex;flex-direction:column;gap:var(--space-0-5);margin-bottom:var(--space-2-5)}.login-field label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.login-field input{font-family:var(--font-interface);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-standard);border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-2);transition:border-color var(--transition-fast)}.login-field input:focus{outline:none;border-color:var(--accent-secondary)}.login-submit{width:100%;font-family:var(--font-interface);font-size:var(--text-base);font-weight:500;color:var(--text-inverse);background-color:var(--accent-secondary);border:none;border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-2);margin-top:var(--space-1);transition:background-color var(--transition-fast)}.login-submit:hover:not(:disabled){background-color:var(--accent-tertiary)}.login-submit:disabled{background-color:var(--bg-elevated);color:var(--text-disabled)}.workspace{flex:1;display:flex;min-height:0}.workspace-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1-5) var(--space-3);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.workspace-brand{font-family:var(--font-editorial);font-size:var(--text-md);color:var(--text-primary);letter-spacing:-.01em}.workspace-topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.logout-button{font-family:var(--font-interface);font-size:var(--text-sm);color:var(--text-secondary);background:transparent;border:1px solid var(--border-standard);border-radius:var(--radius-md);padding:var(--space-0-5) var(--space-1-5);transition:background-color var(--transition-fast),color var(--transition-fast)}.logout-button:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.workspace-body{flex:1;display:flex;min-height:0}.history-panel{width:240px;flex-shrink:0;background-color:var(--bg-secondary);border-right:1px solid var(--border-subtle);overflow-y:auto;padding:var(--space-2)}.history-panel-title{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1-5)}.history-item{width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-interface);font-size:var(--text-sm);padding:var(--space-1) var(--space-1-5);margin-bottom:var(--space-0-5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color var(--transition-fast),color var(--transition-fast)}.history-item:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.history-empty{font-size:var(--text-sm);color:var(--text-tertiary);padding:var(--space-1) var(--space-1-5)}.conversation-thread{flex:1;display:flex;flex-direction:column;min-width:0}.conversation-scroll{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;align-items:center}.conversation-empty{margin:auto;text-align:center;color:var(--text-tertiary);font-family:var(--font-editorial);font-size:var(--text-lg);max-width:var(--response-max-width)}.exchange{width:100%;max-width:var(--response-max-width);margin-bottom:var(--space-5)}.exchange-question{font-family:var(--font-interface);font-size:var(--text-md);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-2)}.exchange-answer{font-family:var(--font-interface);font-size:var(--text-base);color:var(--text-primary);line-height:1.7;white-space:pre-wrap}.exchange-answer.streaming:after{content:"▍";color:var(--accent-tertiary)}.exchange-error{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-1)}.conversation-input-bar{flex-shrink:0;display:flex;gap:var(--space-1-5);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);background-color:var(--bg-secondary)}.conversation-input-bar input{flex:1;font-family:var(--font-interface);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-tertiary);border:1px solid var(--border-standard);border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-2)}.conversation-input-bar input:focus{outline:none;border-color:var(--accent-secondary)}.conversation-input-bar button{font-family:var(--font-interface);font-size:var(--text-base);font-weight:500;color:var(--text-inverse);background-color:var(--accent-secondary);border:none;border-radius:var(--radius-md);padding:var(--space-1-5) var(--space-3);transition:background-color var(--transition-fast)}.conversation-input-bar button:hover:not(:disabled){background-color:var(--accent-tertiary)}.conversation-input-bar button:disabled{background-color:var(--bg-elevated);color:var(--text-disabled)}.runtime-status{display:inline-flex;align-items:center;gap:var(--space-0-5);font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-full);border:1px solid var(--border-subtle)}.runtime-status-dot{width:6px;height:6px;border-radius:var(--radius-full);background-color:var(--text-tertiary)}.runtime-status[data-status=idle] .runtime-status-dot{background-color:var(--color-success)}.runtime-status[data-status=connecting] .runtime-status-dot,.runtime-status[data-status=streaming] .runtime-status-dot{background-color:var(--color-info)}.runtime-status[data-status=error] .runtime-status-dot{background-color:var(--color-error)}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background-color:#e05a5a1a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);padding:var(--space-1-5) var(--space-2);margin:0 var(--space-4) var(--space-2)}.error-banner-dismiss{background:transparent;border:none;color:var(--text-secondary);font-size:var(--text-sm);flex-shrink:0}.error-banner-dismiss:hover{color:var(--text-primary)}.loading-text{color:var(--text-tertiary);font-size:var(--text-sm)}@media (max-width: 900px){.history-panel{width:180px}}@media (max-width: 700px){.workspace-body{flex-direction:column}.history-panel{width:100%;max-height:140px;border-right:none;border-bottom:1px solid var(--border-subtle)}}
