.legislative-assistant{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--bg-primary: #ffffff;--bg-secondary: #f7f7f8;--bg-tertiary: #ececf1;--bg-hover: #f0f0f5;--text-primary: #0d0d0d;--text-secondary: #6b6b6b;--text-tertiary: #8e8e8e;--text-inverse: #ffffff;--border-light: #e5e5e5;--border-medium: #d1d1d1;--border-dark: #b4b4b4;--accent: #00205B;--accent-hover: #001845;--accent-light: #e8ecf4;--accent-muted: rgba(0, 32, 91, .08);--user-bg: #00205B;--user-text: #ffffff;--success: #10a37f;--error: #ef4444;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-input: 0 2px 12px rgba(0, 0, 0, .08);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .25s;--max-width: 48rem;--header-height: 64px;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.legislative-assistant :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legislative-assistant :focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){.legislative-assistant *,.legislative-assistant *:before,.legislative-assistant *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.floating-new-chat-btn{position:fixed;top:calc(var(--header-height) + var(--space-4));right:var(--space-6);z-index:50;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-md)}.floating-new-chat-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--text-inverse);transform:scale(1.05)}.floating-new-chat-btn:active{transform:scale(.98)}@media(max-width:768px){.floating-new-chat-btn{top:calc(var(--header-height) + var(--space-3));right:var(--space-4);width:36px;height:36px}}.messages-container{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.messages-inner{max-width:var(--max-width);margin:0 auto;padding:var(--space-8) var(--space-6);min-height:100%}@media(max-width:768px){.messages-inner{padding:var(--space-4) var(--space-4)}}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100%;padding-top:var(--space-8)}@media(max-width:768px){.welcome-screen{padding-top:var(--space-4)}}.welcome-content{width:100%;max-width:var(--max-width)}.welcome-header{text-align:center;margin-bottom:var(--space-12)}@media(max-width:768px){.welcome-header{margin-bottom:var(--space-8)}}.welcome-title{font-size:clamp(var(--text-2xl),5vw,var(--text-4xl));font-weight:600;letter-spacing:-.02em;color:var(--text-primary);margin:0 0 var(--space-2)}.welcome-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin:0}@media(max-width:768px){.welcome-subtitle{font-size:var(--text-base)}}.welcome-section-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin:var(--space-10) 0 var(--space-4)}.welcome-section-label:first-of-type{margin-top:0}@media(max-width:768px){.welcome-section-label{margin:var(--space-8) 0 var(--space-3)}}.welcome-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(max-width:640px){.welcome-actions{grid-template-columns:1fr;gap:var(--space-2)}}.welcome-action-btn{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.welcome-action-btn:hover{background:var(--bg-primary);border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-1px)}.welcome-action-btn:active{transform:translateY(0)}@media(max-width:640px){.welcome-action-btn{padding:var(--space-4);gap:var(--space-3)}}.action-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-muted);border-radius:var(--radius-md);color:var(--accent)}@media(max-width:640px){.action-icon{width:40px;height:40px}.action-icon svg{width:20px;height:20px}}.action-content{flex:1;min-width:0;padding-top:2px}.action-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.action-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}@media(max-width:640px){.action-title{font-size:var(--text-sm)}.action-description{font-size:var(--text-xs)}}.welcome-actions-compact{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.welcome-actions-compact{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.welcome-actions-compact{grid-template-columns:repeat(2,1fr)}}.welcome-action-btn-compact{padding:var(--space-3) var(--space-4);gap:var(--space-3);align-items:center}.welcome-action-btn-compact .action-content{padding-top:0}.welcome-action-btn-compact .action-title{font-size:var(--text-sm);margin-bottom:0}@media(max-width:640px){.welcome-action-btn-compact{padding:var(--space-3);gap:var(--space-2)}.welcome-action-btn-compact .action-title{font-size:var(--text-xs)}}.action-icon-small{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent-muted);border-radius:var(--radius-sm);color:var(--accent)}.action-icon-small svg{width:18px;height:18px}@media(max-width:640px){.action-icon-small{width:28px;height:28px}.action-icon-small svg{width:16px;height:16px}}.message-thread{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-16)}.message{display:flex;gap:var(--space-4);animation:messageIn var(--duration-normal) var(--ease-out) both}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-user{flex-direction:row-reverse}.message-avatar{flex-shrink:0;width:32px;height:32px}.avatar-ai{width:100%;height:100%;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:1px solid var(--border-light)}.avatar-user{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-inverse);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full)}.message-content-wrapper{flex:1;min-width:0;max-width:calc(100% - 48px)}.message-user .message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.message-content{max-width:100%}.message-user .message-content{background:var(--user-bg);color:var(--user-text);padding:var(--space-3) var(--space-5);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);max-width:85%}.message-assistant .message-content{padding:0}.message-text{font-size:var(--text-base);line-height:1.7;white-space:pre-wrap;word-break:break-word}.message-markdown{font-size:var(--text-base);line-height:1.7;color:var(--text-primary)}.message-markdown>*:first-child{margin-top:0}.message-markdown>*:last-child{margin-bottom:0}.message-markdown p{margin:0 0 var(--space-4)}.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{font-weight:600;color:var(--text-primary);margin-top:var(--space-6);margin-bottom:var(--space-3)}.message-markdown h1{font-size:var(--text-2xl)}.message-markdown h2{font-size:var(--text-xl)}.message-markdown h3{font-size:var(--text-lg)}.message-markdown h4{font-size:var(--text-base)}.message-markdown ul,.message-markdown ol{margin:0 0 var(--space-4);padding-left:var(--space-6)}.message-markdown li{margin-bottom:var(--space-2);line-height:1.6}.message-markdown li::marker{color:var(--text-tertiary)}.message-markdown li>ul,.message-markdown li>ol{margin-top:var(--space-2);margin-bottom:0}.message-markdown strong{font-weight:600}.markdown-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:opacity var(--duration-fast)}.markdown-link:hover{opacity:.8}.inline-code{background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em}.message-markdown blockquote{border-left:3px solid var(--border-medium);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--text-secondary)}.message-markdown hr{border:none;border-top:1px solid var(--border-light);margin:var(--space-6) 0}.code-block-wrapper{margin:var(--space-4) 0;border-radius:var(--radius-md);overflow:hidden;background:#1e1e1e}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);background:#2d2d2d}.code-language{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#a0a0a0}.code-copy-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);color:#a0a0a0;cursor:pointer;transition:all var(--duration-fast)}.code-copy-btn:hover{background:#ffffff1a;color:#fff}.code-loading{padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);color:#d4d4d4;white-space:pre-wrap;overflow-x:auto}.message-footer{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.message-user .message-footer{justify-content:flex-end}.message-time{font-size:var(--text-xs);color:var(--text-tertiary)}.message-copy-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast)}.message-copy-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.message-loading{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;color:var(--text-secondary);font-size:var(--text-sm)}.message-loading svg{color:var(--accent)}.thinking-dots{display:flex;gap:4px;align-items:center}.thinking-dots span{width:6px;height:6px;background:var(--accent);border-radius:var(--radius-full);animation:dotPulse 1.4s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.input-container{flex-shrink:0;padding:var(--space-4) var(--space-6) var(--space-6);background:linear-gradient(to top,var(--bg-primary) 90%,transparent)}@media(max-width:768px){.input-container{padding:var(--space-3) var(--space-4) var(--space-4)}}.input-wrapper{max-width:var(--max-width);margin:0 auto;position:relative;display:flex;align-items:flex-end;gap:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:var(--radius-xl);padding:var(--space-3);box-shadow:var(--shadow-input);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:var(--shadow-lg),0 0 0 3px var(--accent-muted)}.char-count{position:absolute;top:-24px;right:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.input-textarea{flex:1;min-height:24px;max-height:200px;padding:var(--space-2) var(--space-3);background:transparent;border:none;outline:none;resize:none;font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;color:var(--text-primary)}.input-textarea::-moz-placeholder{color:var(--text-tertiary)}.input-textarea::placeholder{color:var(--text-tertiary)}.input-textarea:disabled{opacity:.5;cursor:not-allowed}.input-textarea:focus,.input-textarea:focus-visible{outline:none;box-shadow:none}.input-send-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-inverse);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.input-send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.input-send-btn:active:not(:disabled){transform:scale(.95)}.input-send-btn:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.input-send-btn svg{width:18px;height:18px}.input-hint{max-width:var(--max-width);margin:var(--space-2) auto 0;text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}@media(max-width:768px){.input-hint{display:none}}.input-hint kbd{display:inline-block;padding:1px 5px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:4px;font-family:var(--font-sans);font-size:.7rem}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--border-medium)}@media print{.floating-new-chat-btn,.input-container{display:none}.messages-container{overflow:visible}.message{-moz-column-break-inside:avoid;break-inside:avoid}}
