:root{color-scheme:light;--ink:#20322e;--muted:#66736d;--green:#225a45;--line:#e1e6e1;--paper:#f7f9f6}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#fff}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:750;font-size:21px;letter-spacing:-.7px}
.brand-light{font-weight:400}
.brand-icon{height:37px;width:37px;border-radius:10px;background:#173e35;color:white;text-align:center;font-size:30px;line-height:32px;letter-spacing:-3px}
.brand-icon span{color:#c9ee80}
.connection{font-size:13px;background:#edf5eb;border:1px solid #dde9da;padding:7px 12px;border-radius:20px;color:#385b37}
.connection:before{content:"";display:inline-block;width:6px;height:6px;border-radius:100%;background:currentColor;margin-right:8px}
.connection.offline{background:#fff4e6;color:#976118;border-color:#efdec8}
main{max-width:1400px;margin:auto;padding:0 5%}
.heading{display:flex;align-items:flex-end;justify-content:space-between;padding:47px 0 36px;gap:24px}
.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:1.4px;font-weight:650;text-transform:uppercase;color:var(--muted)}
.update-box{display:flex;align-items:center;gap:16px;padding-bottom:3px}
.update-box>span{font-size:12px;color:var(--muted)}
button,input{font:inherit}
button{cursor:pointer}
#refresh{border:1px solid #d3ddd4;background:white;color:var(--ink);border-radius:8px;padding:11px 15px;font-size:14px;white-space:nowrap}
#refresh span{font-size:19px;margin-right:6px}
button:disabled{opacity:.55;cursor:wait}
@media(hover:hover) and (pointer:fine){button:hover{filter:brightness(.97)}}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #74a980;outline-offset:4px}
.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;border-top:1px solid var(--line);padding-top:28px}
aside{padding-top:7px}
nav{display:grid;gap:6px}
.source{border:1px solid transparent;background:transparent;border-radius:7px;display:flex;align-items:center;text-align:left;gap:10px;padding:13px 12px;color:#4c5c54;font-size:14px;width:100%}
.source.active{background:#e7efe5;border-color:#dce6d8;color:#264c34;font-weight:650}
.source>span:last-child{margin-left:auto;font-size:12px;color:#6f7c71}
.auto-note{border-top:1px solid var(--line);margin-top:28px;padding:23px 12px;display:flex;gap:10px}
.pulse{width:7px;height:7px;border-radius:100%;background:#60874e;flex-shrink:0;margin-top:5px}
.auto-note strong{font-size:12px;font-weight:600}
.auto-note p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:7px}
.feed-panel{min-width:0}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
h2{font-size:20px;letter-spacing:-.4px;margin:0 0 5px;font-weight:650}
#result-count{font-size:12px;color:var(--muted)}
.search{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:7px;padding:9px 12px;width:270px}
.search>span{font-size:22px;line-height:1;color:#728279}
.search input{min-width:0;width:100%;border:0;background:transparent;font-size:13px;color:var(--ink);outline-offset:8px}
.day-heading{display:flex;align-items:center;gap:13px;margin:26px 0 12px;color:#728077;text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:650}
.day-heading:after{content:"";height:1px;flex:1;background:var(--line)}
.day-heading:first-child{margin-top:0}
.article{display:grid;grid-template-columns:66px minmax(0,1fr);padding:23px 24px 23px 0;border-bottom:1px solid var(--line);gap:16px}
.article time{font-size:14px;font-variant-numeric:tabular-nums;color:#607469;padding-top:2px;position:relative}
.article-body{min-width:0}
.article-source{font-size:11px;font-weight:650;display:flex;align-items:center;gap:7px;margin-bottom:9px}
.article h3{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:0;font-weight:620}
.article a{color:var(--ink);text-decoration:none}
.article a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.article p{font-size:15px;line-height:1.65;color:var(--muted);margin:9px 0 0;overflow-wrap:anywhere}
.related-stories{margin-top:14px;color:#5145cf;font-size:13px}
.related-stories summary{width:max-content;max-width:100%;cursor:pointer;font-weight:650;border:1px solid #e4e1f3;border-radius:18px;padding:6px 11px;background:#faf9ff}
.related-stories summary:hover{text-decoration:underline;text-underline-offset:3px}
.related-links{list-style:none;margin:8px 0 0;padding:0 0 0 12px;border-left:2px solid #e8e5f5;display:grid;gap:8px}
.related-links a{font-size:13px;line-height:1.5;color:#565174;overflow-wrap:anywhere}
.related-links a:hover{color:#5145cf}
.article h3{overflow-wrap:anywhere}
.new-tag{font-size:10px;background:#e4efdb;color:#406e2c;padding:2px 6px;border-radius:3px;letter-spacing:.5px}
.article.new{animation:arrive 1.3s ease-out}
.empty{padding:64px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;line-height:1.8}
.notice{background:#fff5e5;border:1px solid #eadabe;border-radius:7px;padding:12px 15px;color:#785321;font-size:14px;line-height:1.6}
footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding:24px 0;margin-top:45px;font-size:12px;color:#7b867e}
footer span span{margin:0 9px}
.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}
[hidden]{display:none!important}
@media(min-width:1200px){.heading{padding-top:55px}
.workspace{gap:48px;grid-template-columns:235px minmax(0,1fr)}
}
@media(max-width:850px){.heading{align-items:flex-start}
.update-box{flex-direction:column;align-items:flex-end;padding-top:35px}
.workspace{grid-template-columns:175px minmax(0,1fr);gap:22px}
.toolbar{align-items:flex-start;flex-direction:column}
.search{width:100%}
.article{padding-right:0;grid-template-columns:49px minmax(0,1fr);gap:13px}
}
@media(max-width:600px){.topbar{height:73px;padding:0 20px}
.brand{font-size:18px;gap:9px}
.brand-icon{width:32px;height:32px;font-size:26px;line-height:28px}
.connection{font-size:11px;padding:6px 8px}
main{padding:0 20px}
.heading{padding:29px 0 23px;display:block}
#today{display:none}
.update-box{padding-top:0;flex-direction:row-reverse;justify-content:space-between;align-items:center}
.workspace{display:flex;flex-direction:column;padding-top:20px}
.feed-panel{order:1}
aside{order:2;padding-top:20px}
.auto-note{display:none}
nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:25px}
.source{width:auto;padding:9px 10px;font-size:12px;gap:7px;border-color:var(--line);background:#fff}
.source>span:last-child{font-size:11px}
.toolbar{gap:15px;margin-bottom:24px}
.article{padding:21px 0;grid-template-columns:43px minmax(0,1fr);gap:12px}
.article time{font-size:12px}
.article h3{font-size:18px}
.article p{font-size:14px}
.article-source{font-size:11px}
footer{flex-direction:column;gap:8px;margin-top:30px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important}
}

/* Glossy surfaces inspired by schwoerer.info. */
:root{--ink:#17201e;--muted:#626974;--green:#5044ef;--line:#e5e5f0;--paper:#fafbff}
body{background:radial-gradient(ellipse at 90% 0%,#eceaff 0,transparent 38%),radial-gradient(ellipse at 0% 25%,#f0f6ff 0,transparent 40%),#fafbff;background-attachment:fixed}
.topbar{max-width:1320px;height:80px;margin:20px auto 0;padding:0 28px;border:1px solid #fff;border-radius:44px;background:linear-gradient(160deg,#fff 0%,#ffffffdd 48%,#eff0ffb8 100%);box-shadow:inset 0 2px 2px #fff,0 15px 40px #24234514;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.brand{font-weight:850;letter-spacing:-.8px}
.brand-icon{background:linear-gradient(155deg,#8880ff,#5145f5 55%,#3e32cd);box-shadow:inset 0 1px 2px #ffffffb0,0 4px 12px #5145f532}
.brand-icon span{color:white}
.brand-light{font-weight:450}
.heading{padding-top:42px}
.eyebrow{color:#686283}
.connection{color:#5145cf;background:linear-gradient(#fff,#eeecff);border-color:#dedafa;box-shadow:inset 0 1px #fff}
.connection.offline{color:#976118;background:#fff4e6}
#refresh{color:white;background:linear-gradient(175deg,#786cff 0%,#5347f5 50%,#473bde 100%);border:1px solid #8075ff;border-radius:26px;padding:11px 19px;font-weight:650;box-shadow:inset 0 1px 1px #ffffff85,0 8px 20px #5145f526}
.workspace{border-top:0;padding-top:12px;gap:30px}
.feed-panel{background:linear-gradient(145deg,#ffffffef,#ffffffbb);border:1px solid white;box-shadow:inset 0 1px #fff,0 12px 45px #29254d08;border-radius:24px;padding:27px 28px}
aside{padding-top:23px}
.source{border-radius:13px}
.source.active{background:linear-gradient(150deg,#fff,#ece9ff);color:#4e40cd;border-color:#ded8ff;box-shadow:inset 0 1px #fff,0 5px 15px #5044ef0a}
.auto-note{border-color:#e1dff0}
.pulse{background:#6557ed}
.search{border-radius:24px;background:linear-gradient(#f8f8fe,#fff);border-color:#e6e4f0;padding:11px 15px}
.toolbar{gap:20px}
h2{font-weight:750}
.article h3{font-weight:680}
.article time{color:#737085}
.article-source{font-size:12px}
.day-heading{color:#797287}
.article{padding:24px 8px 24px 0;transition:background .3s}
.article.new{background:linear-gradient(105deg,#eeeaffcc,#faf9ff55);box-shadow:inset 3px 0 #6354f3;border-radius:12px;padding-left:12px;margin-left:-12px}
.new-tag{font-size:11px;letter-spacing:.7px;font-weight:800;color:white;background:linear-gradient(#8174ff,#5544e8);border:1px solid #958aff;border-radius:6px;padding:3px 8px;box-shadow:inset 0 1px #ffffff60,0 2px 6px #5145f525}
.article-source{flex-wrap:wrap}
@keyframes arrive{from{background:#dcd5ff}
to{background:#f2efff}
}
button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#8b80fa}
footer{border-color:#e5e3f0}
.empty{border-color:#ded9ef}

@media(max-width:1400px){.topbar{margin-left:4%;margin-right:4%}
}

@media(max-width:850px){.feed-panel{padding:23px 20px}
.workspace{gap:20px}
.topbar{padding:0 23px}
}

@media(max-width:600px){.topbar{height:67px;margin:12px 12px 0;padding:0 15px;border-radius:35px}
.brand{font-size:17px}
.brand-icon{width:29px;height:29px;line-height:26px}
.heading{padding-top:29px}
.workspace{padding-top:0}
.feed-panel{padding:21px 16px;border-radius:20px;margin:0 -7px}
aside{padding-top:0}
.source{border-radius:20px;background:#ffffffa8}
nav{margin-bottom:20px}
.article{grid-template-columns:39px minmax(0,1fr);gap:9px}
.article.new{margin-left:-8px;padding-left:8px}
.article h3{font-size:18px}
.article-source{font-size:12px}
.update-box{padding-top:19px}
.connection{font-size:11px}
footer{margin-top:25px}
}

/* Compact date row and persistent navigation. */
html{scroll-padding-top:120px}
.topbar{position:-webkit-sticky;position:sticky;top:12px;z-index:20}
.heading{align-items:center;padding:30px 0 20px;gap:20px}
.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:0;line-height:1.6}
#current-time{font-size:32px;font-weight:750;letter-spacing:1.5px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#5145cf}
.update-box{padding:0;flex-direction:row;align-items:center;flex-shrink:0}
.connection{white-space:nowrap;cursor:default}

@media(max-width:1050px){.heading{flex-wrap:wrap}
.update-box{margin-left:auto}
}

@media(max-width:600px){html{scroll-padding-top:100px}
.topbar{top:8px;gap:10px}
.brand{font-size:15px;gap:7px}
.brand-icon{flex-shrink:0}
.connection{font-size:10px;padding:6px 8px}
.connection:before{margin-right:5px}
.heading{display:flex;padding:24px 0 20px;gap:18px}
.eyebrow{font-size:11px;width:100%}
.update-box{width:100%;justify-content:space-between;flex-direction:row-reverse}
}

@media(max-width:360px){.topbar{padding:0 11px}
.brand{font-size:14px}
.brand-icon{width:25px;height:25px;font-size:23px;line-height:23px}
.connection{white-space:normal;text-align:center;max-width:94px}
}

.keyword-filters{margin:-7px 0 22px;border:1px solid #e6e4f0;border-radius:14px;background:linear-gradient(#fff,#fbfaff);box-shadow:inset 0 1px #fff}
.keyword-filters>summary{cursor:pointer;padding:12px 15px;color:#5145cf;font-size:13px;font-weight:650;list-style-position:inside}
.filter-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 15px 15px}
.keyword-filter{min-width:0;padding:14px;border:1px solid #eeecf5;border-radius:11px;background:#ffffffb8}
.keyword-filter h3{margin:0 0 5px;font-size:13px;color:var(--ink)}
.keyword-filter>p{margin:0 0 11px;color:var(--muted);font-size:12px;line-height:1.5}
.keyword-filter form{display:flex;gap:7px}
.keyword-filter input{min-width:0;flex:1;border:1px solid #e3e1ed;border-radius:8px;padding:8px 10px;font-size:12px;background:#fff;color:var(--ink)}
.keyword-filter form button{border:1px solid #dedaf5;border-radius:8px;padding:7px 10px;background:#f2f0ff;color:#5145cf;font-size:12px;font-weight:650;white-space:nowrap}
.filter-terms{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:10px 0 0;padding:0}
.filter-term{display:flex;align-items:center;gap:5px;max-width:100%;padding:4px 5px 4px 9px;border:1px solid #e6e3f1;border-radius:18px;background:#f7f6fc;color:#46435a;font-size:12px;overflow-wrap:anywhere}
.filter-remove{flex-shrink:0;width:20px;height:20px;border:0;border-radius:50%;background:#eae8f3;color:#59546e;font-size:16px;line-height:16px}
.filter-empty{color:#8b8996;font-size:12px;padding:4px 0}
.article.highlighted{position:relative;z-index:1;pointer-events:auto;background:linear-gradient(100deg,#fff8e7dd,#ffffff70);box-shadow:inset 3px 0 #e7a92e;border-radius:10px;padding-left:12px;margin-left:-12px}
.article.highlighted.new{box-shadow:inset 3px 0 #e7a92e}
@media(max-width:700px){.filter-lists{grid-template-columns:1fr;gap:10px;padding:0 10px 10px}.keyword-filter{padding:12px}}

@media(max-width:700px){
 .search input,.keyword-filter input{font-size:16px}
 .source{min-height:44px}
 .topbar #refresh,.related-stories summary,.keyword-filters>summary,.keyword-filter form button{min-height:44px}
 .related-stories summary{display:flex;align-items:center}
 .article-link,.hide-article,.bookmark-article{min-height:44px}
 .filter-remove{width:44px;height:44px;font-size:20px}
}

/* Refresh stays accessible in the header; source status accompanies the last fetch. */
@media(max-width:600px){.topbar #refresh{font-size:12px;padding:9px 12px}
.topbar #refresh span{font-size:17px;margin-right:3px}
.update-box .connection{font-size:12px;max-width:none;white-space:nowrap}
.update-box{flex-direction:row}
}

@media(max-width:360px){.topbar #refresh{font-size:11px;padding:8px 10px}
}

@media(max-width:700px){.article-link,.hide-article,.bookmark-article{min-height:44px}}
.article-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.article-meta .article-source{margin-bottom:0}
.hide-article{border:0;border-radius:8px;background:transparent;color:#746b8a;font-size:12px;padding:8px 9px;flex-shrink:0}
.hide-article:hover{background:#efecff;color:#5145cf}
.dismiss-feedback{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:15px;max-width:calc(100% - 32px);width:max-content;padding:14px 18px;background:#fff;border:1px solid #e3ddff;border-radius:16px;box-shadow:0 10px 45px #29254d25;font-size:14px}
.dismiss-feedback button{border:0;background:#eeeaff;color:#5145cf;border-radius:8px;padding:10px;font-weight:600;white-space:nowrap}
#close-dismiss{background:transparent;font-size:22px;padding:5px 8px}
@media(max-width:600px){.dismiss-feedback{flex-wrap:wrap;gap:8px;bottom:14px}
.dismiss-feedback span{flex-basis:100%}
.hide-article{min-height:40px;padding:7px}
.article-meta{gap:5px}
}

/* Desktop clock stays centered in the sticky header; mobile retains its clock row. */
.header-time{position:absolute;left:50%;transform:translateX(-50%);font-size:20px;font-weight:650;letter-spacing:1px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#5145cf}
.heading .eyebrow{display:none}
.heading{justify-content:flex-end}

@media(max-width:600px){.header-time{display:none}
.heading .eyebrow{display:flex}
.heading{justify-content:space-between}
}

@media(min-width:601px) and (max-width:760px){.header-time{display:none}
.heading .eyebrow{display:flex}
.heading{justify-content:space-between}
}
.article-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.bookmark-article{border:1px solid transparent;border-radius:8px;background:transparent;color:#746b8a;font-size:12px;padding:8px 9px;white-space:nowrap}
.bookmark-article:hover,.bookmark-article.saved{background:#eeebff;color:#5145cf;border-color:#e3dcff}
.source[data-source=":bookmarks"]{color:#5145cf}
.article-meta{flex-wrap:wrap}
.article-actions{margin-left:auto}
@media(max-width:600px){.bookmark-article{min-height:40px;padding:7px}
.article-actions{gap:0}
}
footer>a{color:inherit;text-decoration:none}
footer>a:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.source-favicon{display:inline-block;width:16px;height:16px;object-fit:contain;flex-shrink:0;vertical-align:middle;border-radius:3px}

/* Group headings also filter all feeds assigned to that region. */
.source.source-group{margin-top:18px;font-weight:700;font-size:12px;color:#645b83;border-top:1px solid #e3def0;border-radius:8px;padding:12px 10px;overflow-wrap:anywhere}
.source.source-group.active{color:#4e40cd}
@media(max-width:600px){.source.source-group{flex-basis:100%;width:100%;margin-top:10px;text-align:left}}

/* Article actions use inline icons without additional image requests. */
.article-link{border:1px solid transparent;border-radius:8px;background:transparent;color:#746b8a;font-size:12px;padding:8px 9px;white-space:nowrap;text-decoration:none}
.article-link:hover{background:#efecff;color:#5145cf}
.article-link,.hide-article{display:inline-flex;align-items:center;gap:5px}
.action-icon{width:15px;height:15px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.article-link{min-height:40px;padding:7px}}
.article-title{font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;color:var(--ink);border:0;background:transparent;padding:0;cursor:pointer;text-decoration:none}
.article-title:hover{color:var(--green);text-decoration:none}
