:root{--bg:#ffffff;--bg-2:#f6f7f9;--panel:#ffffff;--panel-2:#f1f2f5;--border:#e6e7ec;--border-strong:#d7d9e0;--text:#17181c;--text-dim:#565b66;--text-faint:#8b909b;--accent:#e4002b;--accent-2:#ff2d4f;--accent-dark:#c2001f;--accent-tint:rgba(228,0,43,0.08);--radius:14px;--radius-sm:9px;--shadow:0 8px 26px rgba(20,22,35,0.08);--shadow-sm:0 2px 8px rgba(20,22,35,0.06);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(1100px 520px at 88% -8%,rgba(228,0,43,.07),transparent 60%),var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:28px;height:28px;display:block;flex:none;filter:drop-shadow(0 3px 7px rgba(228,0,43,.32))}.brand-text h1{margin:0;font-size:19px;letter-spacing:-.01em}.brand-text p{margin:0;font-size:12px;color:var(--text-faint)}.topbar-actions{display:flex;align-items:center;gap:10px}.badge{font-size:12px;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);padding:5px 11px;border-radius:999px;white-space:nowrap}.badge:empty{display:none}.btn{font:inherit;font-size:14px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);padding:9px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:transform .06s ease,background .15s ease,border-color .15s ease}.btn:hover{background:#e9eaef;border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn.ghost{background:transparent}.btn.ghost:hover{background:var(--panel-2)}.btn.small{padding:6px 12px;font-size:13px}.btn.primary{border-color:transparent;color:#fff;font-weight:600;box-shadow:0 6px 16px rgba(228,0,43,.26)}.btn.primary,.btn.primary:hover{background:linear-gradient(180deg,var(--accent-2),var(--accent))}.btn.primary:hover{filter:brightness(1.04)}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.icon-btn{font:inherit;font-size:20px;line-height:1;color:var(--text-faint);background:transparent;border:none;width:30px;height:30px;border-radius:8px;cursor:pointer}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.layout{max-width:1240px;margin:0 auto;padding:22px;display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px;align-items:start}@media (max-width:940px){.layout{grid-template-columns:1fr}.persona-col{order:-1}}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{font:inherit;font-size:14px;color:var(--text-dim);background:var(--panel);border:1px solid var(--border);padding:9px 16px;border-radius:999px;cursor:pointer;transition:all .15s ease}.tab.is-active,.tab:hover{color:var(--text);border-color:var(--border-strong)}.tab.is-active{background:#fff;box-shadow:var(--shadow-sm)}.tab.is-active:after{content:"";display:block;height:2px;margin-top:7px;border-radius:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.tab .city-input{font:inherit;font-size:14px;color:var(--text);background:transparent;border:none;outline:none;padding:0;margin:0;width:auto;min-width:5ch;text-align:center}.tab .city-input::selection{background:rgba(228,0,43,.18)}.tab-edit{margin-left:6px;font-size:12px;opacity:.5}.tab:hover .tab-edit{opacity:.9}.toolbar{justify-content:space-between;margin-bottom:14px;flex-wrap:wrap}.toolbar,.toolbar-left{display:flex;align-items:center;gap:12px}.meta{font-size:13px;color:var(--text-faint)}.digest-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.digest-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.digest-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.digest-head h2{margin:0;font-size:16px}.news-list{display:flex;flex-direction:column;gap:10px}.news-item{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .06s ease,box-shadow .15s ease}.news-item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.news-item h3{margin:0 0 6px;font-size:15px;font-weight:600;line-height:1.4}.news-item .row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-faint)}.news-item .src{color:var(--accent);font-weight:700}.news-item .dot{opacity:.5}.empty,.loading-line{color:var(--text-faint);font-size:14px;padding:28px 4px;text-align:center}.news-divider{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin:14px 2px 4px;padding-top:12px;border-top:1px solid var(--border)}.skel{height:64px;border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f1f4 25%,#f7f8fa 37%,#f0f1f4 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border:1px solid var(--border)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;top:84px}.panel-title{margin:0 0 4px;font-size:16px}.panel-sub{margin:0 0 14px;font-size:13px;color:var(--text-dim)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}.field>span{font-size:12.5px;color:var(--text-dim)}.field input,.field select,.field textarea{font:inherit;font-size:14px;color:var(--text);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{resize:vertical;min-height:120px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(228,0,43,.15)}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.sections{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px 12px;margin:4px 0 14px}.sections legend{font-size:12px;color:var(--text-faint);padding:0 6px}.sections label{display:inline-flex;align-items:center;gap:6px;margin-right:12px;font-size:13.5px;color:var(--text-dim)}.sections input{accent-color:var(--accent)}.hint{font-size:12px;color:var(--text-faint);margin:10px 0 0}.hint code{background:var(--panel-2);padding:1px 5px;border-radius:5px}.briefing-zone{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;animation:pop .18s ease}@keyframes pop{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.briefing-zone:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.briefing-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.briefing-head h2{margin:0;font-size:17px}.briefing-head-actions{display:flex;align-items:center;gap:8px}.briefing-meta{padding:12px 20px 0;font-size:12.5px;color:var(--text-faint)}.briefing-body{padding:14px 20px 22px}.briefing-chat{border-top:1px solid var(--border);background:var(--bg-2);padding:14px 20px 18px}.chat-thread{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;margin-bottom:12px}.chat-turn{max-width:88%}.chat-turn.user{align-self:flex-end;background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#fff;border-radius:14px 14px 4px 14px;padding:9px 14px;box-shadow:0 4px 12px rgba(228,0,43,.22)}.chat-turn.user p{margin:0;white-space:pre-wrap}.chat-turn.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-radius:14px 14px 14px 4px;padding:4px 14px}.chat-turn.assistant .prose{font-size:14px}.chat-composer{display:flex;align-items:flex-end;gap:8px}.chat-input{flex:1 1;font:inherit;font-size:14px;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;outline:none;resize:none;max-height:140px;line-height:1.45;transition:border-color .15s ease,box-shadow .15s ease}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(228,0,43,.15)}.chat-input:disabled{opacity:.6}.chat-hint{margin:10px 2px 0;font-size:12px;color:var(--text-faint)}@keyframes fade{0%{opacity:0}to{opacity:1}}.auth-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,22,35,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s ease}.auth-card{width:min(420px,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 60px rgba(20,22,35,.25);animation:pop .18s ease}.auth-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.auth-head h2{margin:0;font-size:17px}.auth-body{display:flex;flex-direction:column;padding:18px 20px 8px}.auth-err{margin:2px 0 10px;font-size:13px;color:var(--accent-dark)}.auth-body .btn.block{margin-top:4px}.auth-switch{text-align:center;font-size:13px;color:var(--text-dim);padding:12px 20px 18px;margin:0}.linklike{font:inherit;font-size:13px;color:var(--accent-dark);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account{position:relative}.account-btn{padding:0;border:none;background:none;cursor:pointer}.account-btn,.avatar{display:inline-flex;border-radius:999px}.avatar{width:30px;height:30px;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(160deg,var(--accent-2),var(--accent));box-shadow:0 2px 8px rgba(228,0,43,.3)}.account-btn:hover .avatar{filter:brightness(1.05)}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:290px;max-width:80vw;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;animation:pop .16s ease}.account-email{font-size:13px;color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:10px}.account-section{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:700;margin:4px 2px 6px}.account-empty{font-size:12.5px;color:var(--text-faint);margin:0 2px 10px}.history-list{list-style:none;margin:0 0 10px;padding:0;max-height:260px;overflow:auto}.history-item{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;font:inherit;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px 9px;cursor:pointer}.history-item:hover{background:var(--panel-2);border-color:var(--border)}.history-title{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-date{font-size:11px;color:var(--text-faint)}.digest-setting{border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.digest-options{display:flex;gap:6px;margin-bottom:6px}.digest-chip{flex:1 1;font:inherit;font-size:12.5px;color:var(--text-dim);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 8px;cursor:pointer;transition:all .15s ease}.digest-chip:hover:not(:disabled){border-color:var(--border-strong);color:var(--text)}.digest-chip.is-active{color:#fff;border-color:transparent;font-weight:600;background:linear-gradient(180deg,var(--accent-2),var(--accent))}.digest-chip:disabled{opacity:.6;cursor:default}.digest-note{font-size:11px;color:var(--text-faint);margin:0 2px 10px}.prose{color:var(--text);font-size:14.5px}.prose h1,.prose h2,.prose h3{line-height:1.3;margin:16px 0 8px}.prose h1{font-size:19px}.prose h2{font-size:16.5px}.prose h3{font-size:15px;color:var(--accent-dark)}.prose p{margin:9px 0}.prose ul{margin:8px 0;padding-left:20px}.prose li{margin:5px 0}.prose strong{color:#000}.prose em{color:var(--text-dim)}.prose a{color:var(--accent-dark)}.prose hr{border:none;border-top:1px solid var(--border);margin:14px 0}.cursor:after{content:"|";color:var(--accent);animation:blink 1s steps(2) infinite;margin-left:1px;font-weight:700}@keyframes blink{50%{opacity:0}}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#fff;color:var(--text);border:1px solid var(--border-strong);border-radius:999px;padding:10px 18px;font-size:13.5px;z-index:80;box-shadow:var(--shadow);animation:fade .15s ease}.toast.err{border-color:var(--accent);color:var(--accent-dark)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3d6dd;border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.persona-col{order:-1}.city-hint{margin:-4px 0 14px;font-size:12.5px;line-height:1.5;color:var(--text-faint)}.city-hint strong{color:var(--text-dim)}.state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:40px 16px;color:var(--text-faint)}.state-dot{width:12px;height:12px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 0 rgba(228,0,43,.45)}.state-empty .state-dot{animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(228,0,43,.4)}70%{box-shadow:0 0 0 12px rgba(228,0,43,0)}to{box-shadow:0 0 0 0 rgba(228,0,43,0)}}.state-error .state-dot{background:var(--accent-dark)}.state-title{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--text-dim)}.state-hint{margin:0;font-size:13px;max-width:42ch}@media (max-width:600px){body,html{font-size:14.5px}.topbar{padding:11px 15px}.brand-text p{display:none}.layout{padding:15px;gap:16px}.panel{padding:15px;position:static}.briefing-head{padding:13px 15px}.briefing-meta{padding:11px 15px 0}.briefing-body{padding:12px 15px 18px}.toolbar{gap:9px}.toolbar .btn.primary{width:100%}.news-item{padding:12px 13px}.account-menu{width:270px}}:root[data-theme=dark]{--bg:#0e0f13;--bg-2:#15171c;--panel:#15171c;--panel-2:#1d2026;--border:#262a32;--border-strong:#353b46;--text:#e9eaee;--text-dim:#aab0bb;--text-faint:#767d8a;--accent-dark:#ff6076;--accent-tint:rgba(228,0,43,0.16);--shadow:0 10px 30px rgba(0,0,0,0.45);--shadow-sm:0 2px 10px rgba(0,0,0,0.40)}[data-theme=dark] body{background:radial-gradient(1100px 520px at 88% -8%,rgba(228,0,43,.16),transparent 60%),var(--bg)}[data-theme=dark] .topbar{background:rgba(16,17,22,.82)}[data-theme=dark] .btn:hover{background:#232730}[data-theme=dark] .tab.is-active{background:var(--panel-2)}[data-theme=dark] .prose strong{color:#fff}[data-theme=dark] .toast{background:var(--panel)}[data-theme=dark] .city-input::selection,[data-theme=dark] .hint code{background:var(--panel-2)}[data-theme=dark] .skel{background:linear-gradient(90deg,#1b1e24 25%,#232730 37%,#1b1e24 63%);background-size:400% 100%}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2c313b;border-color:var(--bg)}.site-footer{max-width:1240px;margin:10px auto 0;padding:22px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;font-size:13px;color:var(--text-faint)}.footer-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--text-dim)}.footer-mark{width:16px;height:16px;border-radius:5px;background:linear-gradient(160deg,var(--accent-2),var(--accent))}.footer-muted{color:var(--text-faint)}.footer-links{display:inline-flex;gap:14px}.footer-links a{color:var(--text-dim);text-decoration:none}.footer-links a:hover{color:var(--text);text-decoration:underline}.footer-spacer{flex:1 1 auto}.footer-disclaimer{flex-basis:100%;margin:0;font-size:12px;line-height:1.55;color:var(--text-faint)}.footer-disclaimer a{color:var(--accent-dark);text-decoration:none}.footer-disclaimer a:hover{text-decoration:underline}.status{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--text-dim)}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--text-faint);transition:background .2s ease}.status-up .status-dot{background:#1faa59;box-shadow:0 0 0 3px rgba(31,170,89,.16)}.status-down .status-dot{background:var(--accent);box-shadow:0 0 0 3px rgba(228,0,43,.16)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);padding:5px 11px;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}.theme-toggle svg{width:14px;height:14px;display:block}.pwa-actions{position:fixed;left:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.pwa-pill{font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:9px 15px;box-shadow:var(--shadow);border:1px solid transparent;animation:pwa-rise .22s ease}.pwa-install{color:#fff;background:linear-gradient(180deg,var(--accent-2),var(--accent));box-shadow:0 6px 16px rgba(228,0,43,.26)}.pwa-install:hover{filter:brightness(1.05)}.pwa-update{color:var(--text);background:var(--panel);border-color:var(--border-strong)}.pwa-update:hover{border-color:var(--accent);color:var(--accent-dark)}@keyframes pwa-rise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media (max-width:600px){.pwa-actions{left:12px;right:12px;bottom:12px}.pwa-pill{justify-content:center}}.page{max-width:760px;margin:0 auto;padding:30px 22px 10px}.page-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim);text-decoration:none;margin-bottom:18px}.page-back:hover{color:var(--text)}.page h1{font-size:24px;margin:0 0 6px;letter-spacing:-.01em}.page .lede{color:var(--text-dim);margin:0 0 18px;font-size:15px}.page h2{font-size:17px;margin:24px 0 8px}.page li,.page p{color:var(--text);font-size:14.5px;line-height:1.6}.page ul{padding-left:20px;margin:8px 0}.page li{margin:6px 0}.page a{color:var(--accent-dark)}