:root{--sf-slate-4: #002b48;--sf-slate-3: #234863;--sf-slate-2: #5a7a92;--sf-blue-4: #1f5fbf;--sf-blue-1: #edf4f7;--sf-cloud: #f7fafc;--sf-white: #ffffff;--sf-ink: #1d2731;--sf-border: #d6e2ea;--sf-border-strong: #bfd0de;--sf-success: #2d7a48;--sf-danger: #a43b35;--sf-warning: #8b6000;--shadow-soft: 0 18px 45px rgba(0, 43, 72, .08);--shadow-float: 0 10px 30px rgba(0, 43, 72, .1);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{background:radial-gradient(circle at bottom left,rgba(31,95,191,.09),transparent 25%),linear-gradient(180deg,#fcfdff,#f6fafc);color:var(--sf-ink);font-family:Rubik,Segoe UI,sans-serif;font-size:16px;line-height:1.5;height:100%;min-height:100vh;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}a{color:var(--sf-blue-4)}.app-shell{display:grid;grid-template-columns:288px minmax(0,1fr);height:100vh;height:100dvh;min-height:100vh;overflow:hidden}.app-sidebar{background:#ffffffc2;border-right:1px solid rgba(0,43,72,.08);display:flex;flex-direction:column;gap:24px;height:100%;min-height:0;overflow:hidden;padding:20px 16px 18px;position:relative;z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-header{display:flex;flex-direction:column;gap:18px}.sidebar-brand{align-items:center;background:transparent;border:0;border-radius:12px;color:inherit;display:flex;gap:14px;margin:-4px;padding:4px;text-align:left;width:calc(100% + 8px)}.sidebar-brand:hover{background:#1f5fbf0f}.sidebar-seal{background:#ffffffb3;border:1px solid rgba(0,43,72,.08);border-radius:999px;box-shadow:var(--shadow-soft);display:block;flex-shrink:0;height:58px;object-fit:contain;padding:6px;width:58px}.sidebar-brand-copy{display:flex;flex-direction:column;gap:2px}.sidebar-wordmark{color:#111;font-size:1.9rem;font-weight:600;letter-spacing:-.03em;line-height:1}.sidebar-subtitle{color:var(--sf-slate-2);font-size:.94rem}.dept-selector{display:flex;flex-direction:column;gap:6px}.dept-selector-label{color:var(--sf-blue-4);font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.dept-selector-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#ffffffdb;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a7a92' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid rgba(0,43,72,.16);border-radius:var(--radius-sm);color:var(--sf-slate-4);cursor:pointer;font-family:inherit;font-size:.95rem;min-height:42px;padding:8px 36px 8px 14px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;width:100%}.dept-selector-select:hover{background-color:var(--sf-white);border-color:#002b4847}.dept-selector-select:focus,.dept-selector-select:focus-visible{border-color:#1f5fbf85;box-shadow:0 0 0 3px #1f5fbf1f;outline:none}.dept-selector-empty{color:var(--sf-slate-2);font-size:.88rem;margin:0}.sidebar-new-thread,.ask-button,.email-modal button,.feedback-submit,.retry-button,.back-home-button{align-items:center;background:var(--sf-blue-4);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--sf-white);display:inline-flex;font-weight:500;gap:10px;justify-content:center;min-height:46px;padding:0 16px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}.sidebar-new-thread:hover,.ask-button:hover,.email-modal button:hover,.feedback-submit:hover,.retry-button:hover,.back-home-button:hover{background:#174d9b;transform:translateY(-1px)}.sidebar-label,.section-eyebrow{color:var(--sf-blue-4);font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.sidebar-section{display:flex;flex:1;flex-direction:column;gap:12px;min-height:0}.thread-history{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding-right:4px}.thread-history::-webkit-scrollbar,.results-area::-webkit-scrollbar{width:10px}.thread-history::-webkit-scrollbar-thumb,.results-area::-webkit-scrollbar-thumb{background:#5a7a9247;border:2px solid transparent;border-radius:999px;background-clip:padding-box}.thread-history-item{background:transparent;border:1px solid transparent;border-radius:16px;color:var(--sf-slate-4);display:flex;flex-direction:row;align-items:center;gap:4px;padding:4px 4px 4px 0;text-align:left;width:100%}.thread-history-item:hover{background:#002b480f;border-color:#002b4829}.thread-history-item.is-active{background:#1f5fbf1c;border-color:#1f5fbf2e}.thread-history-item.is-active:hover{background:#1f5fbf2e;border-color:#1f5fbf4d}.thread-history-item-btn{background:transparent;border:none;border-radius:12px;color:inherit;cursor:pointer;display:flex;flex-direction:column;flex:1;gap:6px;min-width:0;padding:8px 10px;text-align:left}.thread-delete-btn{background:transparent;border:none;border-radius:8px;color:var(--sf-slate-2);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;opacity:.5;padding:4px 8px;transition:opacity .15s,color .15s}.thread-delete-btn:hover{color:var(--sf-danger, #c0392b);opacity:1}.modal-overlay{align-items:center;background:#00000073;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:var(--sf-white);border-radius:16px;box-shadow:0 8px 32px #0000002e;max-width:420px;padding:28px 28px 24px;width:90%}.modal h2{font-size:1.25rem;margin:0 0 10px}.modal p{color:var(--sf-slate-3);font-size:.95rem;margin:0 0 8px}.modal-error{color:var(--sf-danger, #c0392b);font-size:.9rem}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.modal-actions button{border-radius:var(--radius-sm, 8px);cursor:pointer;font-size:.95rem;padding:9px 20px}.modal-actions button:first-child{background:transparent;border:1px solid rgba(0,43,72,.18);color:var(--sf-slate-4)}.modal-delete-btn{background:var(--sf-danger, #c0392b);border:1px solid transparent;color:#fff;font-weight:600}.modal-single-action{display:flex;justify-content:flex-end;margin-top:20px}.thread-history-title{font-size:.98rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-history-meta{color:var(--sf-slate-2);font-size:.82rem}.thread-history-meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;width:100%}.thread-history-kb-chip{background:#1f5fbf14;border:1px solid rgba(31,95,191,.22);border-radius:999px;color:var(--sf-blue-4);font-size:.72rem;font-weight:500;letter-spacing:.01em;line-height:1.2;max-width:60%;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;white-space:nowrap}.thread-history-empty{background:#ffffffc7;border:1px dashed rgba(31,95,191,.24);border-radius:16px;color:var(--sf-slate-2);font-size:.94rem;line-height:1.6;padding:14px}.sidebar-logout{background:transparent;border:1px solid rgba(0,43,72,.18);border-radius:var(--radius-sm);color:var(--sf-slate-4);min-height:42px;padding:0 14px;text-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.sidebar-logout:hover{background:#a43b3514;border-color:#a43b3547;color:#7e1f1a}.sidebar-scrim{background:#09142175;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:3}.main-shell{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:22px 26px 24px;position:relative}.mobile-sidebar-toggle{align-self:flex-start;background:#ffffffdb;border:1px solid rgba(0,43,72,.12);border-radius:999px;color:var(--sf-slate-4);display:none;margin-bottom:10px;min-height:42px;padding:0 14px}.sidebar-new-thread:focus-visible,.sidebar-brand:focus-visible,.ask-button:focus-visible,.email-modal button:focus-visible,.feedback-submit:focus-visible,.retry-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 5px #002b48d1;outline:3px solid transparent}.landing-panel,.thread-shell{flex:1;min-height:0}.landing-panel{align-items:flex-start;display:flex;justify-content:center;padding:24px 24px 12px}.landing-inner{align-items:center;display:flex;flex-direction:column;gap:16px;max-width:780px;text-align:center}.landing-seal{background:#ffffffc7;border:1px solid rgba(0,43,72,.08);border-radius:999px;box-shadow:var(--shadow-soft);display:block;flex-shrink:0;height:120px;object-fit:contain;padding:12px;width:120px}.landing-inner h1,.thread-topbar h2,.email-modal h3,.answer-content h1,.answer-content h2,.answer-content h3,.answer-content h4,.answer-content h5,.answer-content h6{color:var(--sf-slate-4);font-family:Merriweather,Georgia,Times New Roman,serif;letter-spacing:-.03em}.landing-inner h1{font-size:clamp(2.6rem,4vw,4rem);line-height:1.08;max-width:12ch}.landing-description{color:var(--sf-slate-3);font-size:1.06rem;line-height:1.7;max-width:58ch;transition:opacity .18s ease,visibility .18s ease}body:not(.is-thread-view).sample-questions-overlap .landing-description{opacity:0;visibility:hidden}.thread-shell{display:none;flex-direction:column;margin:0 auto;max-width:980px;padding:14px 0 0;width:100%}.thread-topbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.thread-topbar h2{font-size:2rem;line-height:1.12}.back-home-button{background:#ffffffe0;border-color:#002b4824;color:var(--sf-slate-4);flex-shrink:0;padding:0 22px;white-space:nowrap}.back-home-button:hover{background:#1f5fbf14;border-color:#1f5fbf47;color:var(--sf-blue-4)}.results-area{display:flex;flex:1;flex-direction:column;gap:26px;min-height:0;overflow-y:auto;padding:10px 12px 24px 0}.message{display:flex;width:100%}.message.user-message{justify-content:flex-end}.message.assistant-message{justify-content:flex-start}.message-body{max-width:min(820px,100%)}.user-bubble{background:linear-gradient(135deg,#1f5fbf1f,#3b6fc40f);border:1px solid rgba(31,95,191,.12);border-radius:22px;box-shadow:var(--shadow-soft);color:var(--sf-slate-4);padding:16px 18px}.assistant-meta{align-items:center;color:var(--sf-slate-2);display:flex;font-size:.88rem;gap:12px;margin-bottom:12px}.assistant-meta-seal{border-radius:999px;display:block;flex-shrink:0;height:32px;object-fit:contain;width:32px}.answer-content{background:transparent;color:var(--sf-ink);font-size:1rem;line-height:1.72}.answer-content h1,.answer-content h2,.answer-content h3,.answer-content h4,.answer-content h5,.answer-content h6{font-size:1.18rem!important;font-weight:700!important;line-height:1.35!important;margin:18px 0 10px!important}.answer-content p{margin:10px 0!important}.answer-content ul,.answer-content ol{margin:12px 0!important;padding-left:22px!important}.answer-content li{margin:7px 0!important}.answer-content strong,.answer-content b{font-weight:600!important}.answer-content a{color:var(--sf-blue-4);font-weight:500;text-decoration-thickness:1.5px;text-underline-offset:.18em}.answer-content table{border-collapse:collapse;margin:18px 0!important;width:100%}.answer-content table thead tr{background:#edf4f7d6;border-bottom:2px solid var(--sf-slate-4)}.answer-content table th,.answer-content table td{border:1px solid rgba(0,43,72,.16)!important;font-size:.96rem!important;padding:12px!important;text-align:left!important}.answer-content table tbody tr:nth-child(2n){background:#edf4f76b}.typing-indicator{align-items:center;color:var(--sf-slate-2);display:flex;gap:12px;min-height:38px}.typing-dots{display:flex;gap:6px}.typing-dots span{animation:typing 1.2s infinite;background:var(--sf-blue-4);border-radius:999px;height:9px;width:9px}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}.message-sources{border-top:1px solid var(--sf-slate-7, #e3e6ee);display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:10px}.message-sources-label{color:var(--sf-slate-3, #6b7280);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.message-sources-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.message-sources-item{display:flex;flex-direction:column;gap:4px}.message-sources-row{align-items:center;display:flex;gap:6px}.message-sources-icon{color:var(--sf-slate-3, #6b7280);flex:0 0 14px;height:14px;width:14px}.message-sources-link{color:var(--sf-blue, #1564bf);font-size:.95rem;text-decoration:none}.message-sources-link:hover{text-decoration:underline}.message-sources-link.is-unlinked{color:var(--sf-slate-2, #4b5563);cursor:default}.message-sources-chips{display:inline-flex;flex-wrap:wrap;gap:4px;padding-left:20px}.message-sources-chip{background-color:var(--sf-slate-8, #eef0f5);border-radius:999px;color:var(--sf-slate-2, #4b5563);cursor:help;font-size:.75rem;line-height:1.3;padding:2px 8px;white-space:nowrap}.message-sources-chip.is-source{background-color:var(--sf-blue-tint, #e8f1fb);color:var(--sf-blue-dark, #0d4a8d)}.message-sources-chip.is-unknown{background-color:var(--sf-slate-9, #f5f6fa);color:var(--sf-slate-4, #8a93a3);font-style:italic}.feedback-section{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.feedback-header{color:var(--sf-slate-2);font-size:.92rem;margin-right:2px}.feedback-note{color:var(--sf-slate-3);font-size:.88rem}.feedback-icon-btn,.feedback-cancel,.toggle-questions-button{align-items:center;background:#ffffffd1;border:1px solid rgba(0,43,72,.12);border-radius:999px;color:var(--sf-slate-4);display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:0 14px;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.feedback-icon-btn:hover,.feedback-cancel:hover,.toggle-questions-button:hover{background:#1f5fbf14;border-color:#1f5fbf47;color:var(--sf-blue-4)}.feedback-icon-btn svg,.search-shell-icon svg,.ask-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85}.feedback-icon-btn svg{height:18px;width:18px}.feedback-icon-btn.is-active{background:#1f5fbf1a;border-color:#1f5fbf52;color:var(--sf-blue-4)}.feedback-icon-btn.is-negative.is-active{background:#a43b3514;border-color:#a43b353d;color:var(--sf-danger)}.feedback-comment-section{display:flex;flex-basis:100%;flex-direction:column;gap:10px;margin-top:4px}.feedback-upload-field{display:flex;flex-direction:column;gap:8px}.feedback-dropzone{align-items:center;background:#ffffffb8;border:1px dashed rgba(0,43,72,.28);border-radius:var(--radius-sm);color:var(--sf-slate-4);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:104px;justify-content:center;padding:16px;position:relative;text-align:center;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.feedback-dropzone:hover,.feedback-dropzone:focus-visible,.feedback-dropzone:focus-within,.feedback-dropzone.is-dragging{background:#1f5fbf14;border-color:#1f5fbf73;box-shadow:0 0 0 3px #1f5fbf1f}.feedback-dropzone.is-dragging{transform:translateY(-1px)}.feedback-dropzone-title{color:var(--sf-slate-4);font-size:.95rem;font-weight:500}.feedback-dropzone-copy{color:var(--sf-slate-3);font-size:.88rem}.feedback-label{color:var(--sf-slate-4);font-size:.92rem;font-weight:500}.feedback-textarea,.email-modal input{background:#ffffffdb;border:1px solid rgba(0,43,72,.16);border-radius:var(--radius-sm);min-height:112px;outline:none;padding:12px 14px;resize:vertical;width:100%}.feedback-file-input{height:100%;top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;width:100%}.feedback-file-hint,.feedback-file-name{color:var(--sf-slate-3);font-size:.88rem}.feedback-file-name{font-weight:500}.feedback-textarea:focus,.email-modal input:focus,.search-shell:focus-within{border-color:#1f5fbf85;box-shadow:0 0 0 3px #1f5fbf1f}.feedback-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.feedback-cancel{background:transparent}.feedback-status{color:var(--sf-blue-4);font-size:.92rem}.composer-wrap{flex-shrink:0;margin:auto auto 0;max-width:980px;padding-top:18px;width:100%}.question-picker{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;min-height:0}.question-picker-header{align-items:center;display:flex;gap:14px;justify-content:space-between}.top-questions{display:flex;flex-wrap:wrap;gap:10px}.question-picker.is-expanded .top-questions{max-height:min(34vh,340px);max-height:min(34dvh,340px);overflow-y:auto;padding-right:4px}.top-question{background:#ffffffd1;border:1px solid rgba(0,43,72,.1);border-radius:18px;color:var(--sf-slate-4);font-size:.95rem;min-height:48px;padding:12px 14px;text-align:left}.top-question:hover{background:var(--sf-white);border-color:#1f5fbf42}.search-section{align-items:center;background:#ffffffe0;border:1px solid rgba(0,43,72,.08);border-radius:24px;box-shadow:var(--shadow-float);display:flex;gap:14px;padding:14px}.search-shell{align-items:center;background:transparent;border:1px solid rgba(0,43,72,.12);border-radius:18px;display:flex;flex:1;gap:12px;min-height:60px;padding:0 18px}.search-shell-icon{color:var(--sf-slate-2);display:inline-flex;flex-shrink:0;height:22px;width:22px}.search-input{background:transparent;border:none;color:var(--sf-slate-4);font-size:1.04rem;outline:none;width:100%}.search-input::placeholder{color:var(--sf-slate-2)}.ask-button{gap:10px;min-width:130px}.ask-button:disabled,.retry-button:disabled{background:#9fb5d6;cursor:not-allowed;transform:none}.ask-button svg{height:18px;width:18px}.composer-footnote{color:var(--sf-slate-2);font-size:.88rem;margin-top:12px;text-align:center}.ai-disclaimer{color:var(--sf-slate-2);font-size:.78rem;font-style:italic;margin-top:8px;text-align:center;opacity:.85}.error-display,.auth-error,.rate-limit-error{border-radius:16px;padding:18px}.error-display,.auth-error{background:#a43b3514;border:1px solid rgba(164,59,53,.16);color:var(--sf-danger)}.rate-limit-error{background:#8b600014;border:1px solid rgba(139,96,0,.16);color:var(--sf-warning)}.auth-error .title,.rate-limit-error .title{font-weight:600;margin-bottom:8px}.retry-section{margin-top:14px}.email-overlay{align-items:center;background:#09142175;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:20}.email-modal{background:var(--sf-white);border:1px solid rgba(0,43,72,.08);border-radius:26px;box-shadow:0 24px 50px #0000002e;max-width:460px;padding:34px 30px 28px;width:min(92vw,460px)}.email-modal h3{font-size:2rem;line-height:1.1;margin-bottom:10px}.email-modal p{color:var(--sf-slate-3);margin-bottom:14px}.email-modal input{margin-bottom:10px;min-height:54px}.email-modal .email-error{color:var(--sf-danger);display:none;font-size:.9rem;margin-bottom:12px}body.is-thread-view .landing-panel{display:none}body.is-thread-view .thread-shell{display:flex}body.is-thread-view .question-picker{margin-bottom:0}body.is-thread-view .question-picker,body.is-thread-view .composer-footnote{display:none}body.sidebar-open .sidebar-scrim{opacity:1;pointer-events:auto}@keyframes typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (max-width: 1080px){.app-shell{grid-template-columns:1fr}.app-sidebar{box-shadow:var(--shadow-float);left:0;max-width:320px;position:fixed;top:0;transform:translate(-100%);transition:transform .22s ease;width:84vw;z-index:6}body.sidebar-open .app-sidebar{transform:translate(0)}.main-shell{padding:18px 18px 22px}.mobile-sidebar-toggle{display:inline-flex}}@media (max-width: 760px),(max-height: 760px){body:not(.is-thread-view) .question-picker,body:not(.is-thread-view) .composer-footnote{display:none}body:not(.is-thread-view) .composer-wrap{padding-top:8px}}@media (max-width: 760px){.landing-inner h1{font-size:2.2rem}.landing-seal{height:98px;width:98px}.thread-topbar,.question-picker-header{align-items:flex-start;flex-direction:column}.search-section{align-items:stretch;border-radius:20px;flex-direction:column}.ask-button{width:100%}.feedback-controls{align-items:stretch;flex-direction:column}.feedback-submit,.feedback-cancel{width:100%}}
