:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#0b0c0f;--bg-elevated:#12141a;--bg-hover:#1a1d27;--border:#2a2f3a;--border-subtle:#1e222b;--text:#eceef2;--text-muted:#9aa3b2;--text-faint:#6b7380;--accent:#7c9cff;--accent-soft:#7c9cff26;--accent-strong:#a8c0ff;--has-dot:#5eead4;--radius:14px;--radius-sm:10px;--shadow:0 1px 0 #ffffff0a inset, 0 10px 28px #00000052;--font:"Inter", "Segoe UI", system-ui, -apple-system, "PingFang SC", "Noto Sans SC", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, "Songti SC", "Noto Serif SC", Georgia, serif;--mono:"SF Mono", ui-monospace, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--bg:#f6f7f9;--bg-elevated:#fff;--bg-hover:#eef0f5;--border:#e2e5ec;--border-subtle:#eceef2;--text:#111318;--text-muted:#5c6573;--text-faint:#8b93a1;--accent:#3b6cff;--accent-soft:#3b6cff1f;--accent-strong:#2a54d4;--has-dot:#0d9488;--shadow:0 1px 0 #ffffffd9 inset, 0 10px 28px #0f172a0f}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-strong)}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.brand{flex-direction:column;gap:.1rem;display:flex}.brand strong{letter-spacing:-.02em;font-size:1.05rem}.brand span{color:var(--text-faint);font-size:.75rem}.app-main{flex:1;grid-template-columns:minmax(280px,340px) 1fr;gap:0;min-height:0;display:grid}.pane{min-width:0}.pane-calendar{border-right:1px solid var(--border-subtle);background:var(--bg-elevated);padding:1.25rem}.pane-articles{width:100%;max-width:none;padding:1.25rem clamp(1rem,2.5vw,2.5rem) 3rem}@media (width<=980px){.app-main{grid-template-columns:minmax(240px,300px) 1fr}}@media (width<=860px){.app-main{grid-template-columns:1fr}.pane-calendar{border-right:none;border-bottom:1px solid var(--border-subtle);padding:1rem}.pane-articles{padding:1rem .9rem 2.25rem}}@media (width<=480px){.pane-calendar{padding:.85rem}.pane-articles{padding:.85rem .75rem 2rem}}.calendar{flex-direction:column;gap:1rem;display:flex}.calendar-nav{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.calendar-nav h2{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:600}.nav-btn{border:1px solid var(--border);width:2rem;height:2rem;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.nav-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--text-faint)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.dow{text-align:center;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;padding:.35rem 0;font-size:.7rem;font-weight:600}.day-cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.85rem;transition:background .15s,color .15s;display:flex;position:relative}.day-cell:not(.empty):hover{background:var(--bg-hover);color:var(--text)}.day-cell.empty{pointer-events:none}.day-cell.selected{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);font-weight:600}.day-cell.today:not(.selected){color:var(--accent-strong);font-weight:600}.day-dot{background:var(--has-dot);border-radius:999px;width:4px;height:4px}.day-cell.selected .day-dot{background:var(--accent)}.legend{color:var(--text-faint);gap:1rem;font-size:.75rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:inline-flex}.legend-dot{background:var(--has-dot);border-radius:999px;width:6px;height:6px}.articles-header{border-bottom:1px solid var(--border-subtle);margin-bottom:1.75rem;padding-bottom:1rem}.articles-header h1{letter-spacing:-.035em;margin:0 0 .3rem;font-size:clamp(1.75rem,3vw,2.15rem);font-weight:650;line-height:1.2}.articles-header p{color:var(--text-muted);margin:0;font-size:.95rem}.category-section{margin-bottom:2.25rem}.category-header{border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:.65rem;margin:0 0 .95rem;padding-bottom:.55rem;display:flex}.category-header h2{letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(1.05rem,1.6vw,1.2rem);font-weight:650}.category-count{font-variant-numeric:tabular-nums;color:var(--text-faint);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:999px;padding:.12rem .5rem;font-size:.78rem}.article-grid{grid-template-columns:1fr;grid-auto-rows:minmax(168px,auto);align-items:stretch;gap:.75rem;display:grid}@media (width>=700px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.score-tier-l,.score-tier-xl{grid-column:span 2}.score-tier-xl{grid-row:span 2}}@media (width>=1100px){.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.score-tier-m{grid-area:span 1/span 1;min-height:220px}.score-tier-l{grid-area:span 1/span 2}.score-tier-xl{grid-area:span 2/span 2}}@media (width>=1500px){.article-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.score-tier-m{grid-column:span 2;min-height:200px}.score-tier-l{grid-column:span 2}.score-tier-xl{grid-area:span 2/span 3}}@media (width>=1900px){.article-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.15rem}.score-tier-s{grid-column:span 1}.score-tier-m{grid-column:span 2}.score-tier-l{grid-column:span 3}.score-tier-xl{grid-area:span 2/span 4}}.article-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);min-width:0;min-height:168px;box-shadow:var(--shadow);color:inherit;flex-direction:column;justify-content:flex-end;padding:0;text-decoration:none;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.article-card:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));color:inherit}.article-card:hover .article-title{color:var(--accent-strong)}.article-card.has-image:hover .article-title{color:#fff}.article-bg{object-fit:cover;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.article-scrim{z-index:1;pointer-events:none;background:linear-gradient(#00000038 0%,#00000073 55%,#000000c7 100%);display:none;position:absolute;inset:0}.article-card.has-image .article-scrim{display:block}.article-body{z-index:2;flex-direction:column;gap:.35rem;min-width:0;padding:1.1rem 1.15rem 1.2rem;display:flex;position:relative}.article-card.has-image .article-body{color:#f4f5f7}.article-title{letter-spacing:-.025em;font-size:clamp(1.12rem,1.5vw,1.3rem);font-weight:650;line-height:1.3}.score-tier-l .article-title,.score-tier-xl .article-title{font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,1.85rem);font-weight:600}.article-meta{color:var(--text-faint);font-size:.82rem}.article-card.has-image .article-meta{color:#f4f5f7b8}.article-summary{color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:.1rem 0 0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.article-card.has-image .article-summary{color:#f4f5f7e0}.score-tier-s .article-summary{-webkit-line-clamp:2}.score-tier-xl .article-summary{-webkit-line-clamp:4;font-size:.98rem}.score-tier-xl .article-body,.score-tier-l .article-body{padding:1.25rem 1.35rem 1.4rem}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:color-mix(in srgb, var(--bg-elevated) 70%, transparent);padding:2.5rem 1.25rem}.empty-state strong{color:var(--text);margin-bottom:.35rem;display:block}.today-link{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:999px;padding:.35rem .75rem;font-size:.8rem}.today-link:hover{background:var(--accent-soft)}
