@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#123f63;--navy-deep:#0b2d49;--blue:#328fc3;--blue-strong:#1476ad;--sky:#9edcf3;--ice:#e9f6fc;--paper:#f5fafc;--white:#fff;--ink:#183b54;--muted:#617b8d;--line:#d7e7ef;--mint:#35ac87;--shadow:0 14px 42px rgba(23,68,96,.08);font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#e9f6fc 0,#f5fafc 370px,#f5fafc 100%)}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:1200px;margin:0 auto;padding:0 34px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(18,63,99,.11)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}.brand-icon{height:44px;width:44px;border-radius:14px;object-fit:cover}.brand-copy{display:grid;gap:2px}.brand-copy strong{font:800 15px Manrope,sans-serif;letter-spacing:.04em}.brand-copy small{font-size:11px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:16px}.live-mark,.assistant-status{color:#27765f;font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px}.live-mark i,.assistant-status i{height:8px;width:8px;border-radius:50%;background:#3bb68d;box-shadow:0 0 0 4px rgba(59,182,141,.12)}.install-button{border:1px solid var(--line);background:white;color:var(--navy);padding:8px 12px;border-radius:9px;font-size:12px;font-weight:700}
.welcome{position:relative;min-height:184px;padding:34px 0 28px;display:flex;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}.welcome-copy{position:relative;z-index:1;max-width:690px}.eyebrow{margin:0 0 8px;color:var(--blue-strong);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.welcome h1{margin:0;color:var(--navy-deep);font:800 clamp(28px,4vw,40px)/1.12 Manrope,sans-serif;letter-spacing:-.045em;max-width:640px}.welcome-sub{color:var(--muted);margin:11px 0 0;font-size:14px}.welcome-orb{position:absolute;right:130px;top:19px;height:160px;width:160px;border-radius:50%;overflow:hidden;opacity:.94;box-shadow:0 18px 42px rgba(30,100,140,.15)}.welcome-orb img{width:100%;height:100%;object-fit:cover}.welcome-date{position:absolute;right:0;bottom:30px;z-index:1;display:grid;gap:4px;text-align:right}.date-label{color:var(--muted);font-size:9px;letter-spacing:.12em;font-weight:800}.welcome-date strong{color:var(--navy);font-size:13px}
.assistant-panel{position:relative;margin:28px 0 45px;padding:22px 24px 16px;background:var(--white);border:1px solid #dcebf3;border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.assistant-panel:before{position:absolute;content:"";left:0;top:0;width:5px;height:100%;background:linear-gradient(var(--sky),var(--blue))}.assistant-heading{display:flex;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid #edf3f6}.assistant-avatar,.message-avatar{width:42px;height:42px;border-radius:14px;background:var(--ice);overflow:hidden;flex:0 0 auto}.assistant-avatar img,.message-avatar img{height:100%;width:100%;object-fit:cover}.assistant-heading .eyebrow{margin-bottom:3px;font-size:10px}.assistant-heading h2{margin:0;color:var(--navy);font:800 18px Manrope,sans-serif}.assistant-status{margin-left:auto;font-size:11px}.chat-history{max-height:300px;min-height:110px;overflow:auto;padding:17px 5px 8px;scrollbar-width:thin}.message{display:flex;gap:10px;margin:0 0 14px;align-items:flex-start}.message-avatar{width:30px;height:30px;border-radius:10px}.message-body{max-width:min(780px,90%);padding:11px 14px;background:#f1f8fb;border-radius:4px 14px 14px 14px}.user-message{justify-content:flex-end}.user-message .message-body{background:#e3f3fb;border-radius:14px 4px 14px 14px}.message-body p{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap}.message-time{display:block;margin-top:7px;color:#7991a0;font-size:10px}.sources-list{display:grid;gap:7px;margin-top:11px}.source-item{display:block;border-left:2px solid #59aed4;padding:2px 0 3px 9px;color:var(--blue-strong);font-size:11px;font-weight:700;line-height:1.4;text-decoration:none}.source-item:hover{text-decoration:underline}.source-item small{display:block;color:var(--muted);font-weight:500;font-size:10px;margin-top:3px}.composer{position:relative;display:flex;align-items:flex-end;gap:10px;padding:11px 12px 9px;border:1px solid #cfe1eb;background:#fcfeff;border-radius:15px;transition:border .15s,box-shadow .15s}.composer:focus-within{border-color:#5ab0d8;box-shadow:0 0 0 3px rgba(50,143,195,.1)}.composer-input-wrap{flex:1}.composer textarea{width:100%;min-height:28px;max-height:100px;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px;line-height:1.5;padding:4px 3px}.composer textarea::placeholder{color:#7590a1}.composer-actions{display:flex;align-items:center;gap:8px}.photo-button{display:flex;align-items:center;gap:5px;color:#527487;font-size:11px;font-weight:700;padding:7px 9px;border-radius:8px;cursor:pointer}.photo-button:hover{background:var(--ice);color:var(--blue-strong)}.photo-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.send-button{display:flex;align-items:center;gap:9px;background:var(--navy);border:0;color:white;padding:10px 13px;border-radius:10px;font-weight:700;font-size:12px}.send-button:hover{background:var(--blue-strong)}.send-button:disabled{opacity:.55;cursor:wait}.send-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.photo-preview[hidden]{display:none}.photo-preview{display:flex;align-items:center;gap:9px;position:absolute;left:10px;bottom:calc(100% + 7px);padding:5px 8px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;font-size:11px;color:var(--muted)}.photo-preview img{height:38px;width:38px;object-fit:cover;border-radius:6px}.photo-preview span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-preview button{border:0;background:none;color:#7690a0;font-size:20px}.privacy-note{font-size:10px;color:#78909e;margin:8px 2px 0;line-height:1.5}.quick-questions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0 40px}.quick-questions button{border:1px solid #dcebf3;border-radius:999px;background:white;color:#45677c;padding:7px 10px;font-size:10px}.quick-questions button:hover{border-color:#79bfde;color:var(--blue-strong)}
.news-section{padding:0 0 48px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-title-row .eyebrow{margin-bottom:5px}.section-title-row h2{margin:0;color:var(--navy-deep);font:800 26px Manrope,sans-serif;letter-spacing:-.04em}.refresh-box{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:11px}.refresh-button{display:flex;align-items:center;gap:6px;border:1px solid #cfe1eb;border-radius:9px;background:#fff;color:var(--navy);padding:8px 11px;font-size:11px;font-weight:700}.refresh-button:hover{border-color:#69b8da;background:#f5fbfe}.refresh-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6}.news-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0 15px}.section-filters{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.section-filters::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;border:1px solid transparent;border-radius:9px;background:#e9f2f6;color:#4d6d80;padding:8px 12px;font-size:11px;font-weight:700}.filter-chip:hover{background:#deeff7}.filter-chip.active{background:var(--navy);color:#fff}.search-box{display:flex;align-items:center;gap:8px;width:230px;flex:0 0 auto;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:9px;color:#7991a0}.search-box svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.search-box input{min-width:0;width:100%;border:0;outline:0;background:none;color:var(--ink);font-size:11px}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.news-item{position:relative;padding:16px 17px 14px 19px;border:1px solid #dfebf1;border-radius:13px;background:white;min-height:142px;transition:border-color .15s,transform .15s}.news-item:hover{border-color:#8dc7df;transform:translateY(-1px)}.news-item:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;border-radius:0 2px 2px 0;background:var(--item-color,#4ca7d1)}.story-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px;color:#78909d;font-size:10px}.story-section{color:var(--blue-strong);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.news-item h3{margin:0 0 10px;color:#19435e;font:700 14px/1.42 Manrope,sans-serif;letter-spacing:-.015em}.news-item p{margin:0;color:#668092;font-size:11px;line-height:1.5}.story-link{display:inline-block;margin-top:11px;color:#1476ad;text-decoration:none;font-size:10px;font-weight:800}.story-link:hover{text-decoration:underline}.loading-state,.empty-state{grid-column:1/-1;text-align:center;padding:35px 16px;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:14px;font-size:13px}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #cde5f0;border-top-color:#2488bb;border-radius:50%;animation:spin .9s linear infinite}.loading-state p{margin:9px 0 0}.empty-state strong{display:block;color:var(--navy);margin-bottom:5px}.source-footnote{color:#7b909d;font-size:10px;line-height:1.5;margin:13px 0}.footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:17px 0 25px;color:#78909d;font-size:10px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:all .2s;background:var(--navy-deep);color:white;padding:10px 14px;border-radius:10px;font-size:12px;box-shadow:var(--shadow);z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #76c8e9;outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.app-shell{padding:0 17px}.topbar{height:66px}.brand-icon{width:38px;height:38px;border-radius:12px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:10px}.live-mark{font-size:0}.live-mark i{height:9px;width:9px}.install-button{font-size:11px;padding:7px 9px}.welcome{min-height:172px;padding:27px 0 25px}.welcome h1{font-size:29px;max-width:75%}.welcome-sub{font-size:12px;max-width:72%;line-height:1.5}.welcome-orb{right:0;top:19px;width:115px;height:115px}.welcome-date{right:0;bottom:22px}.date-label{font-size:8px}.welcome-date strong{font-size:11px}.assistant-panel{margin:19px 0 34px;padding:17px 15px 13px;border-radius:16px}.assistant-heading{gap:10px}.assistant-avatar{width:37px;height:37px;border-radius:12px}.assistant-heading h2{font-size:16px}.assistant-status{font-size:0;gap:0}.assistant-status i{height:8px;width:8px}.chat-history{max-height:280px;min-height:91px;padding-top:13px}.message-body{max-width:88%;padding:10px 11px}.message-body p{font-size:12px}.composer{gap:5px;padding:8px}.composer textarea{font-size:13px}.photo-button{padding:7px 6px}.photo-button span{display:none}.send-button{padding:9px 10px;gap:5px}.send-button span{font-size:11px}.quick-questions{margin-left:0}.quick-questions button{font-size:9px;padding:7px 9px}.section-title-row{align-items:flex-start}.section-title-row h2{font-size:22px}.refresh-box{align-items:flex-end;flex-direction:column-reverse;gap:6px;font-size:9px}.refresh-button{font-size:10px;padding:7px 9px}.news-tools{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.section-filters{width:100%;padding-bottom:2px}.filter-chip{padding:8px 10px;font-size:10px}.search-box{width:100%}.news-grid{grid-template-columns:1fr;gap:9px}.news-item{min-height:unset;padding:14px 14px 13px 17px}.news-item h3{font-size:13px}.story-meta{font-size:9px}.footer{font-size:9px}.footer span:last-child{text-align:right}}
@media(max-width:390px){.app-shell{padding:0 13px}.welcome h1{font-size:25px}.welcome-orb{width:96px;height:96px;top:24px}.section-title-row h2{font-size:20px}.refresh-box{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
