:root{--paper: #f7f4ef;--paper-2: #efeae2;--ink: #1a1917;--ink-muted: #5c574f;--rule: #d6d0c6;--accent: #0645ad;--accent-soft: rgba(6, 69, 173, .12);--danger: #8b2e2e;--shadow: 0 12px 40px rgba(26, 25, 23, .18);--serif: "Source Serif 4", "Noto Serif Gurmukhi", "Noto Serif Devanagari", "Noto Serif JP", "Times New Roman", serif;--sans: "Source Sans 3", "Noto Sans Gurmukhi", "Noto Sans Devanagari", "Noto Sans JP", system-ui, sans-serif;--col: 44rem;--pad: 1.25rem;--radius: 2px}@media(prefers-color-scheme:dark){:root{--paper: #161513;--paper-2: #1e1c19;--ink: #ece7df;--ink-muted: #a39c90;--rule: #3a3630;--accent: #6b9fff;--accent-soft: rgba(107, 159, 255, .16);--danger: #e08a8a;--shadow: 0 12px 40px rgba(0, 0, 0, .45)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.55;font-feature-settings:"kern","liga"}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.5rem 1rem;z-index:100}.skip-link:focus{left:.5rem;top:.5rem}.masthead{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}.masthead__inner{max-width:var(--col);margin:0 auto;padding:.9rem var(--pad) .55rem}.masthead__title{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(1.75rem,4vw,2.15rem);letter-spacing:-.02em;line-height:1.1}.masthead__date{margin:.15rem 0 0;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.filters{max-width:var(--col);margin:0 auto;padding:0 var(--pad) .65rem;display:flex;flex-direction:column;gap:.35rem}.filter-row__scroll{display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.15rem}.filter-row__scroll::-webkit-scrollbar{display:none}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:transparent;color:var(--ink-muted);font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .7rem;min-height:44px;border-radius:999px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s ease,color .15s ease,border-color .15s ease}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stream{max-width:var(--col);margin:0 auto;padding:.5rem var(--pad) 4rem}.stream__status{margin:1.5rem 0;color:var(--ink-muted);font-size:.95rem}.stream__errors{margin:0 0 1rem;padding:.75rem .9rem;border-left:2px solid var(--danger);color:var(--ink-muted);font-size:.88rem;background:color-mix(in srgb,var(--danger) 6%,transparent)}.stream__errors p{margin:.2rem 0}.articles{display:flex;flex-direction:column}.article{padding:1.35rem 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr;gap:.75rem}.article:first-child{border-top:none}.article__meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.article__tag{font-weight:600;color:var(--ink)}.article__source:before{content:"·";margin-right:.65rem;color:var(--rule)}.article__media{display:block;width:100%;aspect-ratio:16 / 9;max-height:220px;object-fit:cover;background:var(--paper-2);border-radius:var(--radius)}.article__title{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(1.25rem,3.2vw,1.55rem);line-height:1.28;letter-spacing:-.01em}.article__body{display:flex;flex-direction:column;gap:.75rem}.article__body[hidden]{display:none!important}.article__summary{margin:0;font-size:1.02rem;line-height:1.6;color:var(--ink)}.article__summary--empty{color:var(--ink-muted);font-style:italic}.article__source-link{color:var(--accent);text-decoration:none;align-self:flex-start;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.article__source-link:hover{background:var(--accent-soft)}.article__source-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article__source-icon{display:block}.article__actions{display:flex;align-items:center;gap:.75rem}.article__expand{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--ink-muted);width:44px;height:44px;padding:0;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.article__expand:hover{color:var(--accent);background:var(--accent-soft)}.article__expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article__expand-icon{display:block;transition:transform .15s ease}.article.is-expanded .article__expand-icon{transform:rotate(180deg)}@media(min-width:720px){.article.has-image{grid-template-columns:1fr 11rem;grid-template-areas:"meta media" "title media" "body media" "actions media";column-gap:1.25rem;align-items:start}.article.has-image .article__meta{grid-area:meta}.article.has-image .article__media{grid-area:media;width:11rem;height:7.5rem;max-height:none;aspect-ratio:auto}.article.has-image .article__title{grid-area:title}.article.has-image .article__body{grid-area:body}.article.has-image .article__actions{grid-area:actions}}.word{cursor:text}.word.is-active{background:var(--accent-soft);border-radius:2px}.define[hidden]{display:none!important}.define{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.define__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a191759}.define__panel{position:absolute;left:0;right:0;bottom:0;max-height:min(70vh,28rem);background:var(--paper);color:var(--ink);border-radius:12px 12px 0 0;box-shadow:var(--shadow);padding:.5rem 1.15rem calc(1.15rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.5rem;transform:translateY(0);animation:sheet-in .22s ease}.define__handle{width:2.25rem;height:3px;border-radius:2px;background:var(--rule);margin:.25rem auto .35rem}.define__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.define__word{margin:0;font-family:var(--serif);font-size:1.45rem;font-weight:700}.define__lang{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.define__body{overflow-y:auto;min-height:3.5rem}.define__list{margin:0;padding:0;list-style:none}.define__list li{padding:.45rem 0;border-top:1px solid var(--rule)}.define__list li:first-child{border-top:none}.define__pos{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.15rem}.define__gloss{margin:0;font-size:.98rem;line-height:1.45}.define__miss{margin:.4rem 0;color:var(--ink-muted);font-size:.95rem}.define__shimmer span{display:block;height:.85rem;margin:.55rem 0;border-radius:2px;background:linear-gradient(90deg,var(--paper-2),var(--rule),var(--paper-2));background-size:200% 100%;animation:shimmer 1.1s ease-in-out infinite}.define__shimmer span:nth-child(2){width:85%}.define__shimmer span:nth-child(3){width:70%}.define__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.35rem;border-top:1px solid var(--rule)}.define__link{color:var(--accent);text-decoration:none;font-size:.9rem;font-weight:500;min-height:44px;display:inline-flex;align-items:center}.define__link:hover{text-decoration:underline}.define__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--rule);background:transparent;color:var(--ink-muted);font-family:var(--sans);font-size:.85rem;padding:.45rem .85rem;min-height:44px;border-radius:4px;cursor:pointer}@media(min-width:720px){.define__backdrop{background:transparent}.define__panel{left:auto;right:auto;bottom:auto;width:min(22rem,calc(100vw - 2rem));max-height:20rem;border-radius:6px;border:1px solid var(--rule);animation:pop-in .15s ease}.define__handle{display:none}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
