@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0f1117;--bg-secondary:#171b24;--bg-sidebar:#12161f;--bg-card:#1a1d27e0;--bg-muted:#ffffff08;--border-color:#ffffff14;--border-strong:#ffffff24;--text-primary:#e8eaed;--text-secondary:#9aa0a6;--text-muted:#6b7280;--accent:#4a9eff;--accent-strong:#2563eb;--accent-gradient:linear-gradient(135deg, #4a9eff, #6366f1);--danger:#ef4444;--danger-soft:#ef44441f;--success:#22c55e;--warning:#f59e0b;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-lg:0 20px 40px #0006;--radius:14px;--app-height:100dvh;--chat-sidebar-width:320px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}body.theme-light{--bg-primary:#f5f8fc;--bg-secondary:#fff;--bg-sidebar:#edf4f8;--bg-card:#fffffff5;--bg-muted:#0f223a0d;--border-color:#0f223a24;--border-strong:#0f223a38;--text-primary:#10223a;--text-secondary:#526174;--text-muted:#7a8797;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-gradient:linear-gradient(135deg, #1d4ed8, #60a5fa);--shadow-lg:0 20px 44px #10223a29}html{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}body{width:100%;height:var(--app-height);font-family:var(--font-family);background:radial-gradient(circle at top left, #4a9eff14, transparent 32%), radial-gradient(circle at right center, #6366f11a, transparent 28%), var(--bg-primary);color:var(--text-primary);position:fixed;top:0;left:0;overflow:hidden}body.is-resizing-sidebar,body.is-resizing-sidebar *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.theme-light{background:radial-gradient(circle at top left, #2563eb14, transparent 32%), radial-gradient(circle at right center, #60a5fa14, transparent 28%), var(--bg-primary)}button,input,textarea{font:inherit}button{cursor:pointer}.login-screen{isolation:isolate;min-height:var(--app-height);padding:calc(1.5rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1.5rem + var(--safe-bottom)) calc(1rem + var(--safe-left));background:radial-gradient(at top,#1a1d27 0%,#0f1117 70%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-screen:before{content:"";z-index:0;opacity:.1;pointer-events:none;background-image:url(https://councillorzamprogno.info/wp-content/uploads/2026/06/about_this_chatbot.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.login-card{z-index:1;border:1px solid var(--border-color);background:var(--bg-card);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);text-align:center;width:min(100%,440px);box-shadow:var(--shadow-lg);border-radius:24px;padding:clamp(1.55rem,3.4vw,2.15rem);position:relative}.login-card img.logo{max-width:min(240px,70vw);margin-bottom:1rem}.brand-logo{aspect-ratio:1136/297}.login-card h1{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.45rem;font-size:clamp(1.8rem,4vw,2.45rem);font-weight:700;line-height:1.05}.login-card p{color:var(--text-secondary);margin-bottom:1.35rem;font-size:.95rem;line-height:1.55}.login-card .login-tagline{color:#dbeafe;margin-bottom:.85rem;font-size:clamp(.98rem,2vw,1.12rem);font-style:italic;line-height:1.35}.login-card .login-intro{margin-bottom:1.2rem}.google-signin-container{justify-content:center;margin-bottom:1rem;display:flex}.login-divider{text-align:center;margin:1rem 0;position:relative}.login-divider:before{content:"";border-top:1px solid #ffffff14;position:absolute;top:50%;left:0;right:0}.login-divider span{color:var(--text-secondary);background:#1a1d27f0;padding:0 .75rem;font-size:.8rem;display:inline-block;position:relative}.email-auth-actions{flex-direction:column;gap:.75rem;display:flex}.email-auth-btn,.btn-action,.btn-logout,.btn-send,.btn-primary{border:1px solid var(--border-color);border-radius:999px;transition:transform .15s,border-color .2s,background .2s,opacity .2s}.email-auth-btn{width:100%;color:var(--text-primary);background:#ffffff08;padding:.85rem 1rem;font-size:.95rem;font-weight:600}.email-auth-btn:hover{background:#ffffff14;border-color:#ffffff2e}.email-auth-btn-primary,.btn-primary,.btn-send{background:var(--accent-gradient);color:#fff;border-color:#4a9eff4d}.email-auth-btn-primary:hover,.btn-primary:hover,.btn-send:hover{filter:brightness(1.04)}.login-status{color:#bbf7d0;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:10px;margin-top:1rem;padding:.8rem .95rem;font-size:.84rem;line-height:1.5}.login-footer{color:var(--text-secondary);margin-top:1.5rem;font-size:.75rem}.chat-app{height:var(--app-height);flex-direction:column;display:none}.chat-app.active{display:flex}.chat-header{padding:calc(.85rem + var(--safe-top)) calc(1.2rem + var(--safe-right)) .85rem calc(1.2rem + var(--safe-left));border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#10141cf0;flex-shrink:0}body.theme-light .chat-header{background:#fffffff0}.chat-header-desktop{justify-content:space-between;align-items:center;gap:1rem;display:flex}.chat-header-mobile{display:none}.chat-header-left{flex:auto;align-items:center;gap:.8rem;min-width:0;display:flex}.chat-header-left img.header-logo{flex-shrink:0;width:auto;height:42px}.chat-header-titleblock{flex-direction:column;gap:.18rem;min-width:0;display:flex}.chat-header-titleblock h2,.chat-header-left h2{white-space:normal;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:clamp(.9rem,1.35vw,1.23rem);font-weight:700;line-height:1.12}.chat-header-titleblock p,.chat-header-tagline{color:#dbeafe;font-size:.9rem;font-style:italic;line-height:1.35}.chat-header-mobile-brand{align-items:center;gap:.65rem;min-width:0;display:flex}.chat-header-mobile-brand img.header-logo{flex-shrink:0;width:auto;height:28px}.chat-header-mobile-copy{min-width:0}.chat-header-mobile-copy h2{text-overflow:ellipsis;white-space:nowrap;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:.92rem;font-weight:700;overflow:hidden}.chat-header-mobile-copy p{color:var(--text-secondary);margin-top:.1rem;font-size:.76rem}.chat-header-mobile-copy .chat-header-status{color:var(--text-muted);font-size:.72rem;font-style:normal}.chat-header-mobile-actions{scrollbar-width:none;grid-column:1/-1;align-items:center;gap:.45rem;min-width:0;margin-top:.55rem;display:flex;overflow-x:auto}.chat-header-mobile-actions::-webkit-scrollbar{display:none}.chat-header-right,.user-info{align-items:center;gap:.85rem;display:flex}.chat-header-right{flex-shrink:0}.header-from-lockup{flex-direction:column;align-items:center;gap:.14rem;min-width:112px;display:flex}.header-from-lockup span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:800;line-height:1}.header-from-lockup a{line-height:0;display:block}.header-from-lockup img{aspect-ratio:854/297;object-fit:contain;background:#05070a;border-radius:8px;width:112px;padding:.18rem .24rem}.quota-badge{appearance:none;color:var(--accent);cursor:pointer;font:inherit;white-space:nowrap;background:#4a9eff1a;border:1px solid #4a9eff33;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.82rem;font-weight:600;line-height:1;display:inline-flex}.chat-header-desktop .quota-badge{min-height:2.5rem}.quota-badge:hover,.quota-badge:focus-visible{background:#4a9eff29;border-color:#4a9eff73;transform:translateY(-1px)}.quota-badge:focus-visible{outline-offset:2px;outline:2px solid #93c5fdd9}.quota-badge.depleted{color:var(--danger);background:#ef44441a;border-color:#ef44444d}.quota-badge.depleted:hover,.quota-badge.depleted:focus-visible{background:#ef444429;border-color:#ef44447a}.user-profile{color:inherit;cursor:pointer;background:#ffffff0d;border:1px solid #94a3b838;border-radius:999px;align-items:center;gap:.65rem;padding:.34rem .8rem .34rem .38rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.user-profile:hover{background:#4a9eff1f;border-color:#4a9eff73;transform:translateY(-1px)}.user-profile img{border:2px solid #ffffff14;border-radius:999px;width:30px;height:30px}.user-profile span{color:var(--text-secondary);font-size:.84rem}.btn-sample-questions{color:#cfe6ff;background:#4a9eff1a;border-color:#4a9eff3d}.btn-about-project{color:#ccfbf1;background:#2dd4bf17;border-color:#2dd4bf3d}.btn-about-project:hover,.btn-about-project:focus-visible{background:#2dd4bf26;border-color:#2dd4bf6b}.mobile-header-sample,.mobile-header-about{flex:none;min-height:2.25rem;padding:.48rem .75rem;font-size:.78rem}.mobile-header-quota-badge{flex:none;min-height:2.25rem;padding:.42rem .62rem;font-size:.76rem}.mobile-header-profile{min-height:2.25rem;color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #94a3b83d;border-radius:999px;flex:none;align-items:center;gap:.45rem;padding:.35rem .65rem .35rem .42rem;font-size:.78rem;font-weight:700;display:inline-flex}.mobile-header-profile:hover,.mobile-header-profile:focus-visible{background:#4a9eff1f;border-color:#4a9eff73}.mobile-header-profile img{object-fit:cover;border:1px solid #ffffff2e;border-radius:999px;width:24px;height:24px}.mobile-header-profile span{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;overflow:hidden}.btn-action,.btn-logout,.btn-primary{min-height:2.5rem;color:var(--text-primary);white-space:nowrap;background:#ffffff0a;justify-content:center;align-items:center;gap:.35rem;padding:.6rem .95rem;font-size:.85rem;font-weight:600;display:inline-flex}.btn-icon{aspect-ratio:1;border-radius:16px;width:2.5rem;min-width:2.5rem;padding:0;font-size:1.1rem}.btn-action:hover,.btn-logout:hover{background:#ffffff14;border-color:#ffffff2e}.btn-logout{color:#fecaca;background:#ef44441a;border-color:#ef444440}.btn-action:disabled,.btn-logout:disabled,.btn-primary:disabled,.btn-send:disabled{opacity:.45;cursor:not-allowed}.chat-workspace{flex:1;min-height:0;display:flex;position:relative}.chat-sidebar{width:var(--chat-sidebar-width);border-right:1px solid var(--border-color);z-index:20;background:#0e121af5;flex-direction:column;min-width:240px;max-width:min(42vw,520px);min-height:0;display:flex}.chat-sidebar-resizer{border:0;border-right:1px solid var(--border-color);cursor:col-resize;z-index:19;background:#ffffff05;flex:0 0 12px;width:12px;min-width:12px;position:relative}.chat-sidebar-resizer:before{content:"";background:#94a3b86b;border-radius:999px;width:3px;height:48px;transition:background .2s,box-shadow .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chat-sidebar-resizer:hover:before,.chat-sidebar-resizer:focus-visible:before,body.is-resizing-sidebar .chat-sidebar-resizer:before{background:var(--accent);box-shadow:0 0 0 4px #4a9eff1f}.chat-sidebar-resizer:focus-visible{outline-offset:-2px;outline:2px solid #93c5fdd9}.chat-sidebar-top{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.9rem;padding:1rem;display:flex}.sidebar-new-chat-btn{width:100%;min-height:2.85rem;font-size:.92rem;font-weight:700}.chat-sidebar-search{flex-direction:column;gap:.45rem;display:flex}.chat-sidebar-search span{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;font-size:.77rem;font-weight:600}.chat-sidebar-search input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#ffffff08;border-radius:14px;padding:.85rem .95rem;font-size:.95rem}.chat-sidebar-search input:focus{border-color:#4a9eff73;outline:none;box-shadow:0 0 0 3px #4a9eff1f}.chat-session-list{flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:.75rem;display:flex;overflow-y:auto}.chat-session-item{background:0 0;border:1px solid #0000;border-radius:18px;grid-template-columns:1fr auto;gap:.7rem;padding:.2rem;display:grid}.chat-session-item.is-active{background:#4a9eff14;border-color:#4a9eff33}.chat-session-open{text-align:left;color:var(--text-primary);background:#ffffff05;border:none;border-radius:14px;flex-direction:column;gap:.3rem;padding:.9rem .95rem;display:flex}.chat-session-open:hover{background:#ffffff0d}.chat-session-title{font-size:.92rem;font-weight:700;line-height:1.4}.chat-session-preview{color:var(--text-secondary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.chat-session-side{flex-direction:column;align-items:flex-end;gap:.5rem;padding:.4rem .2rem .2rem 0;display:flex}.chat-session-time{color:var(--text-muted);font-size:.72rem}.chat-session-delete{color:#fecaca;background:#ef444414;border:1px solid #ef444433;border-radius:999px;width:28px;height:28px;font-size:1.1rem;line-height:1}.chat-session-delete:hover{background:#ef444429}.chat-session-empty{color:var(--text-secondary);background:#ffffff05;border:1px dashed #ffffff1a;border-radius:16px;flex-direction:column;gap:.35rem;padding:1rem;font-size:.86rem;display:flex}.chat-sidebar-backdrop{display:none}.chat-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.conversation-header{border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11151ec2;flex-shrink:0;justify-content:space-between;align-items:center;gap:.9rem;padding:1rem 1.15rem;display:flex}.conversation-header-left{align-items:center;gap:.85rem;min-width:0;display:flex}.conversation-summary{min-width:0}.conversation-summary h3{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.conversation-summary p{color:var(--text-secondary);margin-top:.2rem;font-size:.8rem}.conversation-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.btn-sidebar-toggle,.btn-sidebar-toggle-inline{display:none}.chat-messages{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1.15rem;display:flex;overflow:hidden auto}.message{border-radius:18px;max-width:75%;padding:1rem 1.15rem;font-size:.94rem;line-height:1.72;animation:.25s fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{color:#fff;background:var(--accent-gradient);border-bottom-right-radius:6px;align-self:flex-end}.message.bot{color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-color);border-bottom-left-radius:6px;align-self:flex-start;max-width:80%}.message-content{overflow-wrap:anywhere;word-break:break-word;min-width:0}.message-content.is-progress{width:min(100%,34rem)}.answer-progress{color:var(--text-secondary);gap:.45rem;display:grid}.answer-progress-current{color:var(--text-primary);align-items:center;gap:.55rem;font-weight:600;display:flex}.answer-progress-dot{background:var(--accent);border-radius:999px;flex:none;width:.55rem;height:.55rem;animation:1.4s ease-out infinite answerProgressPulse;box-shadow:0 0 #4a9eff73}.answer-progress-detail,.answer-progress-meta{font-size:.86rem;line-height:1.45}.answer-progress-meta{color:var(--text-muted)}.answer-progress-steps{color:var(--text-muted);gap:.18rem;margin:.15rem 0 0;padding-left:1.1rem;font-size:.8rem;line-height:1.35;display:grid}.answer-progress-steps li:last-child{color:var(--text-secondary)}@keyframes answerProgressPulse{0%{box-shadow:0 0 #4a9eff6b}70%{box-shadow:0 0 0 .55rem #4a9eff00}to{box-shadow:0 0 #4a9eff00}}.message-content h1,.message-content h2,.message-content h3,.message-content h4{color:var(--text-primary);margin:1rem 0 .45rem}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child,.message-content h4:first-child{margin-top:0}.message-content p,.message-content ul,.message-content ol,.message-content table,.message-content blockquote{margin-bottom:.7rem}.message-content p,.message-content li,.message-content td,.message-content blockquote,.message-content a,.message-content strong,.message-content em{overflow-wrap:anywhere;word-break:break-word}.message-content table{border-collapse:collapse;border-radius:12px;width:100%;overflow:hidden}.message-content .markdown-table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #ffffff14;border-radius:12px;max-width:100%;margin:.5rem 0 .85rem;overflow-x:auto}.message-content .markdown-table{table-layout:fixed;width:100%;min-width:42rem}.message-content th,.message-content td{text-align:left;vertical-align:top;border:1px solid #ffffff14;padding:.65rem .8rem}.message-content th{background:#ffffff0a}.message-content .markdown-table th,.message-content .markdown-table td{white-space:normal;overflow-wrap:break-word;word-break:normal}.message-content .markdown-table th:first-child,.message-content .markdown-table td:first-child{overflow-wrap:normal;width:12rem;min-width:12rem}.message.bot a{color:var(--accent);text-decoration:none}.message.bot a:hover{text-decoration:underline}.citation-ref{cursor:pointer;color:var(--accent);border-bottom:1px dotted #ffffff59;text-decoration:none;display:inline-block;position:relative}.citation-ref:hover,.citation-ref:focus{text-decoration:none}.citation-ref:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.2rem}.citation-ref:after{content:attr(data-tooltip);color:#fffffff2;white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:50;background:#080c12f5;border:1px solid #ffffff24;border-radius:.5rem;width:max-content;max-width:min(28rem,78vw);padding:.5rem .65rem;font-size:.8rem;line-height:1.35;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.citation-ref:before{content:"";opacity:0;visibility:hidden;pointer-events:none;z-index:49;border:6px solid #0000;border-top-color:#080c12f5;border-bottom-width:0;transition:opacity .15s;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.citation-ref:hover:after,.citation-ref:hover:before{opacity:1;visibility:visible}.sources-container{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:.75rem}.sources-heading{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.55rem;font-size:.78rem;font-weight:700}.sources-category{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin-top:.55rem;margin-bottom:.45rem;font-size:.78rem;font-weight:700;display:block}.sources-list{flex-direction:column;gap:.45rem;margin-bottom:.9rem;padding-left:0;font-size:.84rem;list-style:none;display:flex}.sources-item{border-radius:.4rem;margin-left:-.25rem;padding:.15rem .25rem;scroll-margin-top:1rem;transition:background .2s,outline-color .2s}.sources-item:target,.sources-item.is-citation-target{background:#3b82f629;outline:1px solid #3b82f66b}.sources-list li,.sources-list span,.sources-list a{overflow-wrap:anywhere;word-break:break-word;min-width:0}.source-index{color:var(--accent)}.source-original-link{color:var(--accent);overflow-wrap:anywhere;word-break:break-word;text-decoration:none}.source-original-link:hover{text-decoration:underline}.stats-bar{color:var(--warning);margin-top:.75rem;font-size:.75rem}.message-meta{color:#ffffff8c;margin-top:.65rem;font-size:.72rem}.chat-footer{padding:.9rem 1.15rem calc(max(.8rem, var(--safe-bottom)));border-top:1px solid var(--border-color);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#11151edb;flex-direction:column;flex-shrink:0;gap:.55rem;display:flex}.chat-input-bar{align-items:flex-end;gap:.75rem;display:flex}.chat-input-bar textarea{border:1px solid var(--border-color);min-width:0;min-height:3.15rem;max-height:9rem;color:var(--text-primary);resize:none;background:#ffffff08;border-radius:16px;flex:1;padding:.95rem 1rem;font-size:16px;line-height:1.45;overflow-y:auto}.chat-input-bar textarea::placeholder{white-space:nowrap;text-overflow:ellipsis;font-size:.95em;overflow:hidden}.chat-input-bar textarea:focus{border-color:#4a9eff73;outline:none;box-shadow:0 0 0 3px #4a9eff1f}.chat-input-bar textarea:disabled{opacity:.6}.btn-send{border:none;min-width:112px;padding:.95rem 1.35rem;font-size:.93rem;font-weight:700}.btn-send-icon,.btn-sources-toggle{display:none}.btn-sources-icon{justify-content:center;align-items:center;font-size:1.05rem;line-height:1;display:inline-flex}.btn-sources-count{color:#fff;background:#ffffff1f;border-radius:999px;justify-content:center;align-items:center;min-width:1.55rem;height:1.55rem;padding:0 .35rem;font-size:.76rem;font-weight:700;display:none}.search-options{flex-wrap:wrap;gap:.65rem;display:flex}.search-options-sheet-header,.search-options-actions{display:none}.search-options-list{flex-wrap:wrap;gap:.65rem;display:flex}.search-options label{min-height:2.15rem;color:var(--text-secondary);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.8rem;transition:border-color .16s,color .16s,opacity .16s,background .16s;display:inline-flex}.search-options label:hover{color:var(--text-primary)}.search-options label.is-overridden-by-auto{opacity:.55;color:var(--text-muted);background:#ffffff05;border-color:#ffffff0f}.search-options label.is-overridden-by-auto:hover{opacity:.82;color:var(--text-primary);border-color:#4a9eff52}.search-options label.is-overridden-by-auto input[type=checkbox]{opacity:.72;filter:grayscale()}.search-options label.search-options-auto{color:var(--text-primary);background:#50c8a014;border-color:#50c8a052;font-weight:650}.search-options input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.search-options input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}.mobile-panel-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:52;background:#00000073;border:none;display:none;position:fixed;inset:0}.mobile-sheet{padding:.8rem 1rem calc(1rem + var(--safe-bottom));z-index:60;background:#0d1118fa;border:1px solid #ffffff14;border-bottom:none;border-top-left-radius:26px;border-top-right-radius:26px;transition:transform .22s;display:none;position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% + 24px));box-shadow:0 -20px 60px #00000073}.mobile-sheet-handle{background:#ffffff2e;border-radius:999px;width:3rem;height:.28rem;margin:0 auto 1rem}.mobile-sheet-header{flex-direction:column;gap:.9rem;display:flex}.mobile-sheet-account{align-items:center;gap:.85rem;display:flex}.mobile-sheet-account img{background:#ffffff0a;border:2px solid #ffffff1a;border-radius:999px;width:44px;height:44px}.mobile-sheet-account-copy h3{font-size:1rem;font-weight:700}.mobile-sheet-account-copy p{color:var(--text-secondary);margin-top:.2rem;font-size:.82rem}.mobile-quota-badge{align-self:flex-start}.mobile-sheet-actions{flex-direction:column;gap:.7rem;margin-top:1rem;display:flex}.mobile-sheet-action{justify-content:center;width:100%;min-height:3rem;font-size:.95rem}.mobile-sheet-logout{margin-top:.3rem}.public-modal{padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:140;background:#000000ad;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.public-modal.active{display:flex}.public-modal-dialog{width:min(100%,760px);max-height:min(88vh, calc(var(--app-height) - 2rem));border:1px solid var(--border-color);box-shadow:var(--shadow-lg);background:radial-gradient(circle at 0 0,#4a9eff17,#0000 36%),#12161ffa;border-radius:24px;padding:1.55rem;position:relative;overflow-y:auto}.public-modal-close{width:38px;height:38px;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;font-size:1.35rem;line-height:1;position:absolute;top:.85rem;right:.85rem}.public-modal-header{margin-bottom:1.2rem;padding-right:2.8rem}.public-modal-header h2{margin-bottom:.45rem;font-size:clamp(1.4rem,3vw,2rem)}.public-modal-header p,.profile-section p{color:var(--text-secondary);line-height:1.58}.profile-dialog{width:min(100%,720px)}.quota-info-dialog{width:min(100%,620px)}.quota-info-copy{color:var(--text-secondary);flex-direction:column;gap:.95rem;line-height:1.62;display:flex}.quota-info-copy a{color:#bfdbfe;font-weight:700}.quota-reset-detail{color:#dbeafe;border-left:3px solid #4a9eff94;padding-left:.85rem;font-weight:650}.profile-section{border:1px solid var(--border-color);background:#ffffff08;border-radius:18px;padding:1rem}.profile-section+.profile-section{margin-top:.95rem}.profile-section h3{margin-bottom:.35rem;font-size:1rem}.profile-toggle-row{border:1px solid var(--border-color);cursor:pointer;background:#ffffff09;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.85rem;padding:.85rem .95rem;display:flex}.profile-toggle-row span{flex-direction:column;gap:.2rem;min-width:0;display:flex}.profile-toggle-row strong{color:var(--text-primary);font-size:.92rem}.profile-toggle-row small{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.profile-toggle-row input{border:1px solid var(--border-strong);appearance:none;background:radial-gradient(circle at .72rem,#fff 0 .5rem,#0000 .53rem),#94a3b859;border-radius:999px;flex:none;width:3rem;height:1.6rem;transition:background .18s,border-color .18s}.profile-toggle-row input:checked{background:radial-gradient(circle at 2.22rem 50%, #fff 0 .5rem, transparent .53rem), var(--accent-gradient);border-color:#2563eb73}.profile-toggle-row input:focus-visible{outline-offset:3px;outline:2px solid #93c5fdd9}.profile-form{flex-direction:column;gap:.75rem;margin-top:.85rem;display:flex}.profile-field{flex-direction:column;gap:.4rem;display:flex}.profile-field span{color:var(--text-secondary);font-size:.82rem;font-weight:600}.profile-field input,.profile-field textarea{border:1px solid var(--border-color);width:100%;color:var(--text-primary);background:#ffffff0a;border-radius:14px;padding:.85rem .95rem;font-size:16px}.profile-field textarea{resize:vertical;min-height:9rem;line-height:1.55}.profile-field input:focus,.profile-field textarea:focus{border-color:#4a9eff73;outline:none;box-shadow:0 0 0 3px #4a9eff1f}.profile-submit,.btn-danger-outline{align-self:flex-start;min-height:2.6rem;padding:.65rem 1rem}.profile-inline-status{min-height:1.25rem;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.profile-inline-status.success{color:#bbf7d0}.profile-inline-status.error{color:#fecaca}.profile-danger-zone{background:#ef44440f;border-color:#ef444438}.btn-danger-outline{color:#fecaca;background:#ef44441f;border:1px solid #ef444459;border-radius:999px;font-weight:700}.about-dialog{width:min(100%,860px)}.about-project-header{margin-bottom:1rem}.about-project-image{object-fit:cover;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;width:100%;max-height:360px;margin-bottom:1.25rem;display:block}.about-project-copy{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.about-project-copy p{margin:0 0 1rem}.about-project-copy p:last-child{margin-bottom:0}.about-project-copy a{color:#93c5fd;text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.about-project-copy a:hover,.about-project-copy a:focus-visible{color:#bfdbfe}.about-project-technical-link{padding-top:.25rem}.about-project-technical-link a{background:#3b82f61f;border:1px solid #93c5fd59;border-radius:8px;padding:.65rem .85rem;text-decoration:none;display:inline-block}.about-project-signoff{color:var(--text-primary);font-weight:600}.sample-questions-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.sample-question-card{border:1px solid var(--border-color);min-height:100%;color:var(--text-primary);text-align:left;background:#ffffff09;border-radius:18px;flex-direction:column;gap:.45rem;padding:1rem;display:flex}.sample-question-card:hover{background:#4a9eff14;border-color:#4a9eff59}.sample-question-card strong{font-size:.95rem}.sample-question-card span{color:var(--text-secondary);font-size:.82rem;line-height:1.45}.sample-question-card em{color:#cfe6ff;font-size:.78rem;font-style:normal;line-height:1.4}.sample-loading{color:var(--text-secondary)}.copy-btn{color:#ffffffc7;opacity:0;background:#00000047;border:1px solid #ffffff1a;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;transition:opacity .2s,background .2s;position:absolute;top:10px;right:10px}.message:hover .copy-btn,.message:focus-within .copy-btn{opacity:1}.copy-btn:hover{color:#fff;background:#0000007a}.rate-limit-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:120;background:#000000b8;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.rate-limit-overlay.active{display:flex}.rate-limit-card{width:min(100%,420px);box-shadow:var(--shadow-lg);text-align:center;background:#13161efa;border:1px solid #ef444447;border-radius:24px;padding:2.4rem}.rate-limit-card h2{color:var(--danger);margin-bottom:1rem}.rate-limit-card p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.countdown{color:var(--warning);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.email-auth-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:130;background:#000000a6;justify-content:center;align-items:center;padding:1.25rem;display:none;position:fixed;inset:0}.email-auth-modal.active{display:flex}.email-auth-dialog{border:1px solid var(--border-color);width:min(100%,520px);box-shadow:var(--shadow-lg);background:#13161ef5;border-radius:18px;padding:1.6rem;position:relative}.email-auth-close{width:36px;height:36px;color:var(--text-primary);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:.8rem;right:.8rem}.email-auth-header{margin-bottom:1.2rem;padding-right:2rem}.email-auth-header h2{margin-bottom:.35rem;font-size:1.25rem}.email-auth-header p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.email-auth-tabs{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem;display:grid}.email-auth-tab{border:1px solid var(--border-color);color:var(--text-secondary);background:#ffffff08;border-radius:12px;padding:.75rem .95rem;font-size:.92rem;font-weight:600}.email-auth-tab.is-active{color:#fff;background:#4a9eff1f;border-color:#4a9eff4d}.email-auth-form{flex-direction:column;gap:.9rem;display:flex}.email-auth-name-fields{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.email-auth-field{flex-direction:column;gap:.4rem;display:flex}.email-auth-field span{color:var(--text-secondary);font-size:.82rem}.email-auth-field input{width:100%;color:var(--text-primary);background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:.85rem .95rem;font-size:16px}.email-auth-field input:focus{border-color:#4a9eff73;outline:none;box-shadow:0 0 0 3px #4a9eff1f}.email-auth-help-row{justify-content:flex-end;margin-top:-.35rem;display:flex}.email-auth-link,.email-auth-secondary-action{color:#93c5fd;text-underline-offset:3px;background:0 0;border:0;font-size:.84rem;font-weight:600;text-decoration:underline}.email-auth-link:hover,.email-auth-secondary-action:hover{color:#bfdbfe}.email-auth-status,.email-auth-error{border-radius:12px;padding:.8rem .95rem;font-size:.84rem;line-height:1.5}.email-auth-status{color:#bbf7d0;background:#22c55e1a;border:1px solid #22c55e40}.email-auth-error{color:#fecaca;background:#ef44441a;border:1px solid #ef444440}.email-auth-submit{background:var(--accent-gradient);color:#fff;border:none;border-radius:12px;width:100%;margin-top:.25rem;padding:.9rem 1rem;font-size:.95rem;font-weight:700}.email-auth-submit:disabled,.email-auth-btn:disabled,.email-auth-tab:disabled,.email-auth-link:disabled,.email-auth-secondary-action:disabled{opacity:.6;cursor:not-allowed}body.theme-light .login-screen{background:linear-gradient(#eef6fb 0%,#f8fbff 100%)}body.theme-light .login-screen:before{opacity:.13}body.theme-light .login-card,body.theme-light .public-modal-dialog,body.theme-light .email-auth-dialog,body.theme-light .rate-limit-card{background:#fffffffa}body.theme-light .login-card .login-tagline,body.theme-light .chat-header-titleblock p,body.theme-light .chat-header-tagline,body.theme-light .quota-reset-detail,body.theme-light .sample-question-card em,body.theme-light .about-project-copy a,body.theme-light .email-auth-link,body.theme-light .email-auth-secondary-action{color:#1e4c7a}body.theme-light .login-divider:before{border-top-color:#0f223a24}body.theme-light .login-divider span{background:#fffffffa}body.theme-light .email-auth-btn,body.theme-light .btn-action,body.theme-light .user-profile,body.theme-light .mobile-header-profile,body.theme-light .search-options label,body.theme-light .profile-section,body.theme-light .profile-toggle-row,body.theme-light .sample-question-card,body.theme-light .chat-session-open,body.theme-light .chat-session-empty{background:#0f223a0a}body.theme-light .email-auth-btn-primary,body.theme-light .btn-primary,body.theme-light .btn-send{background:var(--accent-gradient);color:#fff}body.theme-light .btn-action:hover,body.theme-light .btn-logout:hover,body.theme-light .email-auth-btn:hover,body.theme-light .chat-session-open:hover,body.theme-light .sample-question-card:hover{background:#2563eb14;border-color:#2563eb47}body.theme-light .btn-sample-questions,body.theme-light .quota-badge{color:#1d4ed8;background:#2563eb14;border-color:#2563eb38}body.theme-light .btn-about-project,body.theme-light .search-options label.search-options-auto{color:#12633e;background:#22a86714;border-color:#22a8673d}body.theme-light .btn-logout,body.theme-light .chat-session-delete,body.theme-light .btn-danger-outline{color:#b91c1c;background:#ef444414}body.theme-light .login-status,body.theme-light .profile-inline-status.success,body.theme-light .email-auth-status{color:#166534}body.theme-light .profile-inline-status.error,body.theme-light .email-auth-error{color:#b91c1c}body.theme-light .chat-sidebar{background:#f8fbfffa}body.theme-light .chat-sidebar-resizer{background:#0f223a08}body.theme-light .conversation-header,body.theme-light .chat-footer{background:#ffffffe0}body.theme-light .message.bot{background:#fff}body.theme-light .message.user{color:#fff}body.theme-light .message-meta{color:#ffffffb8}body.theme-light .message.bot .message-meta{color:#0f223a8a}body.theme-light .chat-input-bar textarea,body.theme-light .chat-sidebar-search input,body.theme-light .profile-field input,body.theme-light .profile-field textarea,body.theme-light .email-auth-field input{color:var(--text-primary);background:#ffffffeb}body.theme-light .mobile-sheet,body.theme-light .search-options{background:#fffffffa}body.theme-light .message-content th{background:#0f223a0f}body.theme-light .message-content th,body.theme-light .message-content td,body.theme-light .message-content .markdown-table-wrap{border-color:#0f223a24}@media (width<=960px){.chat-sidebar{max-width:min(88vw,360px);transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:24px 0 48px #00000061}.chat-sidebar-resizer{display:none}.chat-app.sidebar-open .chat-sidebar{transform:translate(0)}.chat-sidebar-backdrop{z-index:18;background:#0000007a;border:none;display:none;position:absolute;inset:0}.chat-app.sidebar-open .chat-sidebar-backdrop{display:block}.btn-sidebar-toggle,.btn-sidebar-toggle-inline{display:inline-flex}.conversation-header{flex-direction:column;align-items:flex-start}.conversation-header-left,.conversation-header-actions{width:100%}.conversation-header-actions{justify-content:flex-start}.message{max-width:100%}}@media (width<=768px){.login-screen{justify-content:flex-start}.login-card{margin-top:max(1rem, var(--safe-top));padding:1.5rem}.login-card img.logo{max-width:min(240px,70vw);margin-bottom:1rem}.login-card h1{font-size:clamp(2rem,9vw,2.6rem)}.login-card .login-tagline{font-size:1rem}.chat-header{padding:calc(.5rem + var(--safe-top)) calc(.85rem + var(--safe-right)) .5rem calc(.85rem + var(--safe-left))}.chat-header-desktop{display:none}.chat-header-mobile{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.btn-icon-mobile{display:inline-flex}.conversation-header,.chat-messages,.chat-footer{padding-left:.85rem;padding-right:calc(.85rem + var(--safe-right))}.conversation-header{flex-direction:row;justify-content:space-between;align-items:center;gap:.7rem;padding-top:.65rem;padding-bottom:.55rem}.conversation-header-left{width:100%;min-width:0}.conversation-header-actions,.btn-sidebar-toggle-inline{display:none}.chat-messages{gap:.75rem;padding-top:.8rem;padding-bottom:.7rem}.chat-footer{padding-top:.65rem;padding-bottom:max(.65rem, var(--safe-bottom));gap:0}.chat-input-bar{flex-direction:row;align-items:flex-end;gap:.5rem}.chat-input-bar textarea{border-radius:18px;min-height:3rem;padding:.85rem .95rem}.btn-sources-toggle{border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;min-width:auto;height:3rem;padding:0 .8rem;display:inline-flex}.btn-send{border-radius:18px;flex-shrink:0;width:3rem;min-width:3rem;height:3rem;padding:0}.btn-send-label{display:none}.btn-send-icon{font-size:1.15rem;line-height:1;display:inline-block}.search-options{z-index:58;max-height:min(72vh, calc(var(--app-height) - 4rem));padding:.85rem 1rem calc(1rem + var(--safe-bottom));visibility:hidden;pointer-events:none;scrollbar-width:none;background:#0d1118fa;border:1px solid #ffffff14;border-bottom:none;border-top-left-radius:26px;border-top-right-radius:26px;flex-direction:column;gap:.8rem;transition:transform .22s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(calc(100% + 24px));box-shadow:0 -20px 60px #00000073}.search-options::-webkit-scrollbar{display:none}.chat-app.mobile-sources-open .search-options{visibility:visible;pointer-events:auto;transform:translateY(0)}.chat-app.mobile-sources-open .chat-footer{z-index:60;position:relative}.chat-app.mobile-panel-open .mobile-panel-backdrop{display:block}.chat-app.mobile-actions-open .mobile-actions-sheet{display:block;transform:translateY(0)}.search-options-sheet-header,.search-options-actions{display:flex}.search-options-sheet-header{justify-content:space-between;align-items:flex-start;gap:.8rem}.search-options-sheet-header h4{font-size:1rem;font-weight:700}.search-options-sheet-header p{color:var(--text-secondary);margin-top:.2rem;font-size:.82rem;line-height:1.45}.search-options-close{min-height:2.5rem;padding:.6rem .95rem}.search-options-actions{gap:.6rem}.search-options-quick-btn{min-height:2.45rem;padding:.55rem .85rem}.search-options-list{flex-flow:column;gap:.7rem}.search-options label{width:100%;min-height:3rem;color:var(--text-primary);background:#ffffff0a;border-radius:16px;justify-content:flex-start;padding:.7rem .9rem}.search-options label input[type=checkbox]{width:16px;height:16px}.message{max-width:100%;padding:.95rem 1rem;font-size:.92rem;line-height:1.62}.message.bot{width:100%;max-width:100%}.copy-btn{opacity:1}.citation-ref.is-active:after,.citation-ref.is-active:before{opacity:1;visibility:visible}.message-content table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.email-auth-name-fields{grid-template-columns:1fr}.email-auth-modal{align-items:flex-end;padding:0}.email-auth-dialog{width:100%;max-height:min(88vh, var(--app-height));padding:1.25rem 1rem calc(1rem + var(--safe-bottom));border-radius:22px 22px 0 0;overflow-y:auto}.public-modal{align-items:flex-end;padding:0}.public-modal-dialog{width:100%;max-height:min(90vh, var(--app-height));padding:1.25rem 1rem calc(1rem + var(--safe-bottom));border-radius:24px 24px 0 0}.about-project-image{max-height:280px}.about-project-copy{font-size:.9rem;line-height:1.64}.sample-questions-list{grid-template-columns:1fr}.profile-submit,.btn-danger-outline{justify-content:center;width:100%}}@media (width<=480px){.chat-header-mobile-copy h2{font-size:.86rem}.chat-header-tagline{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7rem;display:block;overflow:hidden}.conversation-summary h3{white-space:nowrap;font-size:.94rem}.conversation-summary p,.chat-session-preview{font-size:.78rem}.conversation-summary p{display:none}.chat-session-title{font-size:.88rem}.btn-sources-label{display:none}.btn-sources-toggle{padding:0 .7rem}.chat-input-bar textarea::placeholder{font-size:.88rem}.mobile-sheet{padding-left:.85rem;padding-right:.85rem}}@media print{body{color:#000!important;background:#fff!important;height:auto!important;overflow:visible!important}.chat-header,.chat-sidebar,.chat-sidebar-backdrop,.conversation-header,.chat-footer,.copy-btn{display:none!important}.chat-app{height:auto!important;display:block!important}.chat-main,.chat-messages{padding:0!important;display:block!important;overflow:visible!important}.message{page-break-inside:avoid;color:#111827!important;background:#fff!important;border:1px solid #d1d5db!important;max-width:100%!important}.message.user{background:#eff6ff!important}}
