:root{--font-ui: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--font-reading: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--fs-2xs: .75rem;--fs-xs: clamp(.75rem, .73rem + .08vw, .8125rem);--fs-sm: clamp(.875rem, .84rem + .1vw, .9375rem);--fs-base: clamp(1rem, .96rem + .18vw, 1.125rem);--fs-md: clamp(1.0625rem, 1rem + .25vw, 1.25rem);--fs-lg: clamp(1.25rem, 1.12rem + .4vw, 1.5rem);--fs-xl: clamp(1.75rem, 1.45rem + 1.2vw, 2.5rem);--fs-2xl: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);--lh-tight: 1.08;--lh-heading: 1.18;--lh-ui: 1.35;--lh-body: 1.55;--lh-reading: 1.75;--lh-code: 1.5;--tracking-tight: -.025em;--tracking-label: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 2rem;--space-8: 2.5rem;--row-h: 2.75rem;--radius: .4375rem;--dur-fast: .12s;--dur-med: .18s;--dur-slow: .32s;--dur-page: .46s;--ease: cubic-bezier(.2, 0, 0, 1)}:root,[data-theme=light]{color-scheme:light;--bg: #ffffff;--bg-subtle: #f6f7f8;--bg-hover: #eef0f2;--bg-active: #e5e9f4;--border: #e3e5e9;--border-strong: #c9cdd4;--text: #191c20;--text-dim: #5c6370;--text-faint: #9aa0ab;--accent: #4f46e5;--accent-bg: #eef0fe;--accent-text: #4338ca;--accent-contrast: #ffffff;--danger: #dc2626;--danger-bg: #fef2f2;--warn: #b45309;--warn-bg: #fffbeb;--shadow: 0 6px 20px rgba(15, 18, 25, .1)}[data-theme=dark]{color-scheme:dark;--bg: #121417;--bg-subtle: #17191d;--bg-hover: #1e2126;--bg-active: #272b38;--border: #25282e;--border-strong: #3a3e47;--text: #e4e6ea;--text-dim: #9aa0ab;--text-faint: #60656f;--accent: #818cf8;--accent-bg: #23253c;--accent-text: #a5b0fc;--accent-contrast: #121417;--danger: #f87171;--danger-bg: #2b1717;--warn: #fbbf24;--warn-bg: #2a2110;--shadow: 0 6px 20px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);font-size:var(--fs-base);background:var(--bg);color:var(--text);transition:background-color var(--dur-med) var(--ease),color var(--dur-med) var(--ease)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius);transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}button:hover{background:var(--bg-hover)}button:active{transform:scale(.97)}input{font:inherit;color:var(--text);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;transition:border-color var(--dur-fast) var(--ease)}input:focus{outline:none;border-color:var(--accent)}.app{display:grid;grid-template-rows:40px 1fr;height:100vh}.header{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-subtle)}.header .brand{font-weight:700;letter-spacing:.02em;font-size:var(--fs-md);margin:0}.header .spacer{flex:1}.icon-btn{width:28px;height:28px;display:grid;place-items:center;color:var(--text-dim)}.icon-btn[aria-pressed=true]{color:var(--accent-text);background:var(--accent-bg);border-radius:var(--radius)}.demo-banner{font-size:var(--fs-xs);color:var(--text-dim)}.demo-banner a{color:var(--accent-text);font-weight:600}.hamburger{display:none}.layout{display:grid;grid-template-columns:240px 360px 1fr;min-height:0}.sidebar{border-right:1px solid var(--border);padding:var(--space-3);overflow-y:auto;background:var(--bg-subtle)}.sidebar-actions{display:flex;align-items:stretch;gap:var(--space-2);padding-top:var(--space-1);margin-bottom:var(--space-3)}.sidebar-action{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--border-strong);color:var(--text-dim);font-weight:600;line-height:1;white-space:nowrap}.sidebar-action:hover{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.sidebar-action.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.sidebar-action.primary:hover{background:var(--accent-text);border-color:var(--accent-text)}.sidebar-action:disabled{opacity:.5;cursor:default}.sidebar input{flex:1;min-width:0}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{display:flex;align-items:center;gap:2px;border-radius:var(--radius)}.sidebar li>button:first-child{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);text-align:left;padding:5px 8px;min-width:0}.sidebar li>button:first-child .feed-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar li.selected>button:first-child{background:var(--bg-active);font-weight:600}.count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim)}.sidebar li.selected .count{color:var(--accent-text)}.row-actions button{color:var(--text-dim);padding:2px 5px;font-size:var(--fs-sm)}.warn-badge{color:var(--warn)}.list{border-right:1px solid var(--border);overflow-y:auto}.list ul{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);border-bottom:1px solid var(--border);animation:row-in var(--dur-med) var(--ease) backwards}@keyframes row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.list li>button{flex:1;text-align:left;padding:7px 10px;min-width:0;border-radius:0}.list li .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.list li.read .t{color:var(--text-dim)}.list li.unread .t{font-weight:600}.list li.selected{background:var(--accent-bg)}.list li .date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);padding-right:8px;padding-top:9px;white-space:nowrap}.date-head{padding:var(--space-3) 14px var(--space-1);font-size:var(--fs-2xs);font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);background:var(--bg-subtle);border-bottom:1px solid var(--border)}.load-sentinel{height:1px}.load-more-btn{display:block;width:calc(100% - 28px);margin:var(--space-3) auto;padding:10px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-dim);font-size:var(--fs-sm)}.load-more-btn:hover{color:var(--text);border-color:var(--accent)}.cat-chips{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain;padding:var(--space-3) 14px;border-bottom:1px solid var(--border)}.cat-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:32px;padding:4px 12px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-dim);font-size:var(--fs-sm);font-weight:600;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.cat-chip:hover{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.cat-chip.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.cat-chip .cat-count{font-family:var(--font-mono);font-size:var(--fs-2xs);opacity:.75}.list .empty,.list .loading{padding:var(--space-6);color:var(--text-dim);text-align:center}.skel{padding:var(--space-2)}.skel .bar{height:14px;margin:10px 8px;border-radius:4px;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-active) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.reader{position:relative;overflow-y:auto;touch-action:pan-y;overscroll-behavior-x:contain}.edge-indicators{position:sticky;top:50%;height:0;z-index:2;pointer-events:none}.edge-dot{position:absolute;top:0;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.55;transform:translateY(-50%)}.edge-dot-prev{left:6px}.edge-dot-next{right:6px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.reader-stage{position:relative;padding:var(--space-4) var(--space-6)}.reader .article{max-width:68ch;animation:article-in var(--dur-slow) var(--ease)}.reader .article.enter-next{--push-base: 110px;animation:none}.reader .article.enter-prev{--push-base: -110px;animation:none}@keyframes push-in{0%{opacity:0;transform:translate(calc(var(--push-base, 0px) * var(--push-rate, 1)))}}@keyframes push-out{to{opacity:0;transform:translate(calc(var(--push-base, 0px) * var(--push-rate, 1) * -.55))}}.reader .article.enter-next .article-heading,.reader .article.enter-prev .article-heading{--push-rate: 1.4;animation:push-in var(--dur-page) var(--ease) both}.reader .article.enter-next .reader-tabs,.reader .article.enter-prev .reader-tabs{--push-rate: 1.15;animation:push-in var(--dur-page) var(--ease) 50ms both}.reader .article.enter-next #reader-content-panel,.reader .article.enter-prev #reader-content-panel,.reader .article.enter-next .embedded-content-panel,.reader .article.enter-prev .embedded-content-panel{--push-rate: .85;animation:push-in var(--dur-page) var(--ease) 70ms both}.reader .article.enter-next .article-lead-media,.reader .article.enter-prev .article-lead-media{--push-rate: 1.7;animation:push-in var(--dur-page) var(--ease) 40ms both}.reader .article.enter-next .article-nav,.reader .article.enter-prev .article-nav{--push-rate: .7;animation:push-in var(--dur-page) var(--ease) .11s both}@keyframes article-in{0%{opacity:0;transform:translateY(14px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reader .article-heading{animation:rise-in var(--dur-med) var(--ease) both;animation-delay:40ms}.reader .reader-tabs{animation:rise-in var(--dur-med) var(--ease) 90ms both}#reader-content-panel{animation:rise-in var(--dur-slow) var(--ease) .13s both}.embedded-content-panel{animation:rise-in var(--dur-med) var(--ease) .13s both}.reader .article-lead-media{animation:reveal-media .42s var(--ease) .12s both}@keyframes reveal-media{0%{opacity:0;transform:scale(.985);clip-path:inset(5% 3% 5% 3% round var(--radius))}to{opacity:1;transform:none;clip-path:inset(0 0 0 0 round var(--radius))}}.reader .article-nav{animation:rise-in var(--dur-med) var(--ease) .18s both}.reader .article-leaving{position:absolute;inset:0;z-index:1;max-width:68ch;pointer-events:none;overflow:hidden;padding:inherit}.reader .article-leaving.leave-next{--push-base: 110px}.reader .article-leaving.leave-prev{--push-base: -110px}.reader .article-leaving *{animation:none!important}.reader .article-leaving .article-heading{--push-rate: 1.4;animation:push-out var(--dur-page) var(--ease) both!important}.reader .article-leaving .leaving-body{--push-rate: .85;animation:push-out var(--dur-page) var(--ease) 70ms both!important}.reader .article-leaving .article-lead-media{--push-rate: 1.7;animation:push-out var(--dur-page) var(--ease) 40ms both!important}.reader .article-leaving .reader-tabs{--push-rate: 1.15;animation:push-out var(--dur-page) var(--ease) 50ms both!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.reader.empty{display:grid;place-items:center;color:var(--text-dim)}.reader h2{font-size:var(--fs-xl);line-height:1.3;margin:0 0 var(--space-1)}.reader h2 a{color:var(--text);text-decoration:none}.reader h2 a:hover{color:var(--accent-text)}.reader .meta{color:var(--text-dim);font-size:var(--fs-sm);margin:0 0 var(--space-4)}.article-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-4);font-size:var(--fs-sm)}.article-actions>button,.snooze-wrap>button{border:1px solid var(--border-strong);color:var(--text-dim);border-radius:var(--radius);padding:4px 10px;font-size:var(--fs-sm)}.article-actions>button:hover,.snooze-wrap>button:hover{color:var(--text);border-color:var(--accent);background:var(--accent-bg)}.snooze-wrap{position:relative;display:inline-block}.snooze-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;display:flex;flex-direction:column;min-width:160px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-1)}.snooze-menu button{text-align:left;padding:6px 10px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.snooze-menu button.selected{font-weight:700}.snooze-menu button.selected:before{content:"✓";order:-1}.snooze-menu button kbd{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-dim);border:1px solid var(--border-strong);border-radius:4px;padding:0 4px}.snooze-state{color:var(--text-dim)}.list-chips{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.list-chips .cat-chip:disabled{opacity:.6}.cat-chip .chip-key{font-family:var(--font-mono);font-size:var(--fs-2xs);border:1px solid currentColor;border-radius:4px;padding:0 4px;opacity:.8}.shortcut-note{margin:var(--space-3) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.list-key-input{width:2.6em;margin-left:auto;text-align:center;font-family:var(--font-mono);font-size:var(--fs-sm);padding:2px 4px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--text)}.list-key-input:focus{outline:2px solid var(--accent);outline-offset:1px}.list-picker{list-style:none;margin:0 0 var(--space-4);padding:0}.list-picker li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.list-picker label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.list-create-form{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-4)}.list-public-toggle{display:flex;align-items:center;gap:var(--space-2);color:var(--text-dim);font-size:var(--fs-sm);cursor:pointer}.reader article{font-size:var(--fs-md);line-height:1.65}.reader article img{max-width:100%;height:auto;border-radius:var(--radius)}.reader article pre{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-sm)}.reader article code{font-family:var(--font-mono);font-size:.92em}.reader article blockquote{margin:var(--space-3) 0;padding-left:var(--space-3);border-left:3px solid var(--accent);color:var(--text-dim)}.reader article a{color:var(--accent-text)}.article-loading{padding:var(--space-4) 0 var(--space-6)}.loading-lines span{height:13px;border-radius:6px;margin:16px 0;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-active) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.loading-lines span:nth-child(1){width:55%;opacity:.55;animation-delay:.1s}.loading-lines span:nth-child(2){width:96%}.loading-lines span:nth-child(3){width:90%;animation-delay:.05s}.loading-lines span:nth-child(4){width:97%;animation-delay:.1s}.loading-lines span:nth-child(5){width:84%;animation-delay:.15s}.loading-lines span:nth-child(6){width:93%;animation-delay:.2s}.loading-lines span:nth-child(7){width:38%;opacity:.55;animation-delay:.25s}.loading-orbit{position:relative;width:84px;height:84px;margin:var(--space-6) auto;opacity:0;animation:fade-in .5s var(--ease) .6s forwards}.orbit-ring{position:absolute;inset:6px;border-radius:50%;border:1px dashed var(--border-strong);opacity:.55;animation:ring-drift 14s linear infinite}.orbit-core{position:absolute;top:50%;left:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px 2px color-mix(in srgb,var(--accent) 55%,transparent);animation:core-pulse 1.8s ease-in-out infinite}.orbit-arm{position:absolute;inset:0;transform:rotate(var(--a, 0deg));animation:orbit-spin var(--dur, 3s) linear infinite}.orbit-dot{position:absolute;top:6px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--accent-text);opacity:.9;box-shadow:0 0 8px 1px color-mix(in srgb,var(--accent-text) 45%,transparent)}@keyframes orbit-spin{to{transform:rotate(calc(var(--a, 0deg) + 360deg))}}@keyframes ring-drift{to{rotate:360deg}}@keyframes core-pulse{50%{transform:scale(1.45);box-shadow:0 0 18px 4px color-mix(in srgb,var(--accent) 70%,transparent)}}.loading-hint{text-align:center;color:var(--text-dim);font-size:var(--fs-sm);margin:var(--space-4) 0 0}.loading-hint-slow{display:block;font-style:italic;opacity:0;animation:fade-in .6s var(--ease) 4s forwards}@media(prefers-reduced-motion:reduce){.loading-lines span{animation:none;background:var(--bg-active)}.loading-orbit{opacity:1;animation:none}.orbit-arm,.orbit-ring,.orbit-core{animation:none}.loading-hint-slow{animation:none;opacity:1}}.back-btn{display:none;margin-bottom:var(--space-3);color:var(--accent-text);font-weight:600}.article-nav{display:flex;justify-content:space-between;align-items:stretch;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--border)}.article-nav .nav-spacer{flex:1}.nav-link{display:flex;align-items:center;gap:var(--space-3);min-width:0;max-width:48%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);text-align:left;color:var(--text);transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.nav-link:hover{border-color:var(--accent);background:var(--accent-bg)}.nav-link:active{transform:scale(.98)}.nav-link .nav-arrow{color:var(--accent-text);font-size:var(--fs-lg);flex-shrink:0}.nav-link .nav-target{min-width:0}.nav-link .nav-dir{display:block;font-size:var(--fs-2xs);font-weight:700;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px}.nav-unread-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:6px;vertical-align:1px}.nav-link .nav-title{display:block;font-size:var(--fs-sm);font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34ch}.nav-link.nav-next{text-align:right;margin-left:auto}.nav-link.nav-next .nav-target{text-align:right}.nav-link.nav-next .nav-title{margin-left:auto}.install-steps{margin:0 0 var(--space-4);padding-left:var(--space-5);color:var(--text)}.install-steps li{margin-bottom:var(--space-2);font-size:var(--fs-sm);line-height:1.5}.install-steps strong{font-weight:700}.callout{border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius);background:var(--danger-bg);padding:var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-sm);animation:fade-in var(--dur-med) var(--ease)}.callout h3{margin:0 0 2px;font-size:var(--fs-base);color:var(--danger)}.callout p{margin:0 0 var(--space-2);color:var(--text)}.callout ol{margin:0;padding-left:var(--space-4);color:var(--text-dim)}.callout .callout-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.callout .callout-actions button{padding:3px 8px;background:var(--bg);border:1px solid var(--border);font-size:var(--fs-sm)}.overlay{position:fixed;inset:0;background:#0a0c1073;display:grid;place-items:center;z-index:20;animation:fade-in var(--dur-fast) var(--ease)}.picker{background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);width:min(520px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;padding:var(--space-4);animation:pop-in var(--dur-med) var(--ease)}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.picker h2{margin:0 0 var(--space-1);font-size:var(--fs-lg)}.picker .sub{color:var(--text-dim);font-size:var(--fs-sm);margin:0 0 var(--space-3)}.picker ul{list-style:none;margin:0;padding:0}.picker li{display:flex;align-items:center;gap:var(--space-2);padding:8px;border-radius:var(--radius)}.picker li:hover{background:var(--bg-hover)}.picker li .info{flex:1;min-width:0}.picker li .info .t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker li .info .u{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker li .kind{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-text);background:var(--accent-bg);padding:1px 6px;border-radius:10px}.picker li .sub-btn{background:var(--accent);color:var(--accent-contrast);padding:4px 10px;font-weight:600}.picker .cancel{margin-top:var(--space-3);color:var(--text-dim);padding:4px 8px}.backdrop{position:fixed;inset:0;background:#0a0c1073;z-index:14;animation:fade-in var(--dur-fast) var(--ease)}.ingestor-btn{width:100%;padding:5px;margin-bottom:var(--space-3);border:1px dashed var(--border-strong);color:var(--text-dim);font-size:var(--fs-sm)}.ingestor-btn:hover{color:var(--text);border-color:var(--accent)}.platform-badge{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text);background:var(--accent-bg);padding:1px 5px;border-radius:3px;flex-shrink:0}.feed-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-width:100%;inset:1rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);margin:auto;overflow-y:auto;overscroll-behavior:contain;padding:0;border:1px solid var(--border-strong);border-radius:12px;background:var(--bg);color:var(--text);box-shadow:var(--shadow)}.feed-dialog::backdrop{background:#0a0c1094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feed-dialog-body{padding:var(--space-6)}.feed-dialog h2{margin:0 0 var(--space-1);font-size:var(--fs-lg)}.feed-dialog-sub,.feed-dialog-help{color:var(--text-dim);font-size:var(--fs-sm)}.feed-dialog-sub{margin:0 0 var(--space-4)}.feed-dialog-help{margin:var(--space-1) 0 0}.feed-dialog label{display:block;margin-bottom:var(--space-1);font-size:var(--fs-sm);font-weight:600}.feed-dialog input[type=url]{width:100%;min-height:42px;padding:8px 10px}.feed-dialog input:user-invalid{border-color:var(--danger)}.feed-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.feed-dialog-actions button{min-height:40px;padding:7px 14px;border:1px solid var(--border-strong);font-weight:600}.feed-dialog-actions .secondary{color:var(--text-dim)}.feed-dialog-actions .primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.feed-dialog-actions .primary:hover{background:var(--accent-text);border-color:var(--accent-text)}.feed-dialog-actions button:disabled{cursor:wait;opacity:.55}.dialog{width:min(600px,calc(100vw - 32px))}.dialog label{display:block;font-size:var(--fs-sm);color:var(--text-dim);margin:var(--space-2) 0 2px}.dialog input[type=text],.dialog input[type=number],.dialog input[type=password],.dialog select{width:100%;padding:5px 8px}.dialog .auth-hint{font-size:var(--fs-xs);color:var(--text-dim);margin-top:2px}.dialog .row{display:flex;gap:var(--space-3)}.dialog .row>div{flex:1}.dialog .actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.dialog .actions .primary{background:var(--accent);color:var(--accent-contrast);padding:5px 12px;font-weight:600}.dialog .test-results{margin-top:var(--space-3);border-top:1px solid var(--border);padding-top:var(--space-2);max-height:240px;overflow-y:auto}.dialog .test-results h4{margin:var(--space-2) 0 2px;font-size:var(--fs-sm)}.dialog .test-results li{font-size:var(--fs-sm);padding:2px 0}.dialog .score{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-text)}.dialog .reason{color:var(--text-dim);font-size:var(--fs-xs)}.head-actions{display:flex;align-items:center;gap:var(--space-1)}.view-toggle{color:var(--text-dim);font-size:var(--fs-md);padding:2px 6px}.view-toggle[aria-pressed=true]{color:var(--accent-text)}.pinboard{columns:220px 4;column-gap:var(--space-3);padding:var(--space-2) var(--space-3)}.pin-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);width:100%;margin:0 0 var(--space-3);padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-hover);text-align:left;cursor:pointer;break-inside:avoid}.pin-card:hover{border-color:var(--accent-text)}.pin-card.selected{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text)}.pin-card.read .pin-title{color:var(--text-dim)}.pin-hero{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;background:var(--bg-hover)}.pin-fallback{display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:var(--accent-text);background:var(--accent-bg)}.pin-title{padding:6px 8px 0;font-size:var(--fs-sm);font-weight:600;line-height:1.3}.pin-date{padding:0 8px 8px;font-size:var(--fs-xs);color:var(--text-dim)}.wizard{max-height:85vh;overflow-y:auto}.wizard-steps{display:flex;gap:var(--space-2);list-style:none;margin:0 0 var(--space-3);padding:0;font-size:var(--fs-xs)}.wizard-steps li{color:var(--text-dim);padding:2px 8px;border-radius:10px;border:1px solid var(--border)}.wizard-steps li.current{color:var(--accent-text);border-color:var(--accent-text)}.wizard-steps li.done{color:var(--text)}.source-kinds{display:flex;flex-direction:column;gap:var(--space-2)}.source-kind{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-hover);cursor:pointer}.source-kind:hover{border-color:var(--accent-text)}.source-kind .t{font-weight:600}.source-kind .u{color:var(--text-dim);font-size:var(--fs-xs)}.wizard-feed-list{max-height:220px;overflow-y:auto}.wizard-feed-list li{padding:2px 0}.dialog input[type=range]{width:100%}@media(max-width:1099px){.hamburger{display:grid}.layout{grid-template-columns:360px 1fr}.sidebar{position:fixed;top:48px;bottom:0;left:0;width:280px;z-index:15;transform:translate(-100%);transition:transform var(--dur-med) var(--ease);box-shadow:var(--shadow)}.sidebar.open{transform:none}}@media(max-width:699px){.layout{grid-template-columns:1fr}.layout.show-reader .list{display:none}.layout:not(.show-reader) .reader{display:none}.list{border-right:none}.back-btn{display:block}.list li .date{display:none}.list li>button{padding:10px 14px}.back-btn{min-height:44px;margin:0 0 var(--space-2) -14px;padding:8px 14px;font-size:var(--fs-md)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible,a:focus-visible,[role=separator]:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}button:disabled{cursor:wait;opacity:.55}.app{grid-template-rows:48px 1fr}.header{padding:0 var(--space-4)}.header .brand{font-size:var(--fs-lg)}.icon-btn{width:36px;height:36px;font-size:var(--fs-lg)}.layout{position:relative;grid-template-columns:var(--sidebar-width, 300px) var(--list-width, 440px) minmax(360px,1fr);min-width:0;overflow:auto}.layout.reader-collapsed{grid-template-columns:var(--sidebar-width, 300px) var(--list-width, 440px) 52px}.sidebar,.list,.reader{min-width:0}.sidebar{padding:0 var(--space-4) var(--space-4)}.sidebar .panel-head,.list .panel-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:48px;margin:0 calc(var(--space-4) * -1) var(--space-3);padding:0 var(--space-4);background:var(--bg-subtle);border-bottom:1px solid var(--border)}.sidebar .panel-head{margin-bottom:var(--space-3)}.sidebar>ul:not(:last-child){padding-bottom:var(--space-5)}.panel-head h2{margin:0;font-size:var(--fs-md);letter-spacing:.01em}.panel-collapse{padding:6px 8px;color:var(--text-dim);font-size:var(--fs-xs)}.panel-collapse:hover{color:var(--accent-text);background:var(--accent-bg)}.panel-rail{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;height:100%;min-height:100px;padding:10px 12px;color:var(--text-dim);background:var(--bg-subtle);font-weight:600}.panel-rail:hover{color:var(--accent-text);background:var(--accent-bg)}.panel-rail .rail-label{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.06em}.sidebar.collapsed{padding:0}.sidebar.collapsed .panel-rail,.list.collapsed .panel-rail,.reader.collapsed .panel-rail{min-height:100%}.column-resizer{position:absolute;top:0;bottom:0;z-index:10;width:12px;margin-left:-6px;cursor:col-resize;touch-action:none;display:grid;place-items:center}.column-resizer span{width:2px;height:100%;background:transparent;transition:background-color var(--dur-fast) var(--ease)}.column-resizer:hover span,.column-resizer:focus-visible span{background:var(--accent)}.sidebar-resizer{left:var(--sidebar-width, 300px)}.list-resizer{left:calc(var(--sidebar-width, 300px) + var(--list-width, 440px))}.sidebar li>button:first-child,.sidebar li>button:first-child .feed-title{font-size:var(--fs-base)}.sidebar li>button:first-child{padding-top:8px;padding-bottom:8px}.row-actions{display:flex;gap:2px}.row-actions button{min-width:30px;min-height:30px;padding:3px 6px;font-size:var(--fs-md)}.warn-badge{cursor:help}.list .panel-head{margin:0}.list li>button{padding:11px 14px}.list li .t{font-size:var(--fs-base);line-height:1.35}.list li .date{font-size:var(--fs-sm);padding-right:12px}.list .empty,.list .loading{font-size:var(--fs-base)}.reader-stage{padding:var(--space-6) clamp(24px,4vw,64px)}.reader .article-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.reader h2{font-size:clamp(26px,2.4vw,36px);line-height:1.18}.reader .meta{font-size:var(--fs-sm)}.reader .article-content{font-size:var(--fs-md);line-height:1.75;overflow-wrap:anywhere}.reader .article-content img,.reader .article-content video,.reader .article-content iframe,.reader .article-content picture{max-width:100%}.reader .article-content img{display:block;height:auto}.reader .article-content picture{display:block}.reader .article-content video{display:block;width:auto;max-height:75vh;background:#050608}.reader .article-content audio{display:block;width:100%;max-width:520px}.reader .article-content iframe,.source-frame{display:block;width:100%;min-height:420px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle)}.reader .article-content figure{margin:var(--space-6) 0}.reader .article-lead-media{margin:0 0 var(--space-5)}.reader .article-lead-media img{display:block;width:100%;max-height:min(420px,45vh);object-fit:cover}.reader .article-content-plain .feed-plain-text,.reader .article-content .feed-plain-text{white-space:pre-wrap;overflow-wrap:anywhere}.reader .article-content figcaption{margin-top:var(--space-2);color:var(--text-dim);font-size:var(--fs-sm)}.reader .article-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.reader .article-content th,.reader .article-content td{border:1px solid var(--border);padding:6px 9px}.reader .article-content math{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle}.reader .article-content .katex{display:inline-block;font-size:1.05em}.reader .article-content .katex-mathml{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reader .article-content .katex-html{white-space:nowrap}.content-fallback p{margin-top:0}.content-note{color:var(--text-dim);font-size:var(--fs-sm)}.reader-tabs{display:flex;gap:2px;margin:var(--space-5) 0 var(--space-4);border-bottom:1px solid var(--border)}.reader-tab{min-height:38px;padding:7px 12px;border:0;border-bottom:2px solid transparent;border-radius:var(--radius) var(--radius) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.reader-tab:hover{color:var(--text);background:var(--bg-subtle)}.reader-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent-text);background:var(--accent-bg);font-weight:700}.embedded-content-panel{margin-top:var(--space-4)}.source-frame{min-height:min(720px,70vh)}.embedded-content-actions{margin:var(--space-3) 0 0;font-size:var(--fs-sm)}.embedded-content-actions a{color:var(--accent-text)}.empty-reader{display:grid;gap:var(--space-3);place-items:center}.shortcut-hints,.shortcut-popover,.shortcut-notice{position:fixed;z-index:30;box-shadow:var(--shadow);border:1px solid var(--border-strong);background:var(--bg)}.shortcut-hints{right:16px;bottom:16px;display:flex;align-items:center;gap:var(--space-3);padding:8px 10px;border-radius:999px;color:var(--text-dim);font-size:var(--fs-xs)}.shortcut-hints span{white-space:nowrap}.shortcut-toggle{display:inline-flex;align-items:center;gap:5px;padding:2px 4px;color:var(--accent-text);font-weight:700}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.55em;padding:2px 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--bg-subtle);color:var(--text);font-family:var(--font-mono);font-size:.95em}.shortcut-popover{right:16px;bottom:62px;width:min(300px,calc(100vw - 32px));padding:var(--space-4);border-radius:10px}.shortcut-popover-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.shortcut-popover h2{margin:0;font-size:var(--fs-lg)}.shortcut-popover-head button{padding:4px 8px;font-size:var(--fs-lg)}.shortcut-popover dl{margin:var(--space-3) 0 0}.shortcut-popover dl>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:7px 0;border-top:1px solid var(--border)}.shortcut-popover dt,.shortcut-popover dd{margin:0}.shortcut-popover dd{color:var(--text-dim);text-align:right}.shortcut-notice{right:16px;bottom:64px;max-width:min(420px,calc(100vw - 32px));padding:10px 14px;border-left:3px solid var(--accent);border-radius:var(--radius);color:var(--text);font-size:var(--fs-sm)}@media(max-width:1099px){.layout,.layout.reader-collapsed{grid-template-columns:var(--list-width, 440px) minmax(360px,1fr)}.sidebar{top:48px}.sidebar-resizer{display:none}.list-resizer{left:var(--list-width, 440px)}}@media(max-width:699px){.layout,.layout.reader-collapsed{grid-template-columns:1fr;overflow:hidden}.column-resizer{display:none}.reader-stage{padding:var(--space-4)}.reader .article-heading{display:block}.reader .article-heading .panel-collapse{display:none}.shortcut-hints{right:8px;bottom:8px;left:8px;justify-content:space-between;gap:4px}.shortcut-hints span{font-size:10px}.shortcut-popover,.shortcut-notice{right:8px;bottom:56px}}html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--fs-base);line-height:var(--lh-body);font-kerning:normal;font-optical-sizing:auto;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:var(--font-ui);font-size:inherit;line-height:var(--lh-ui)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);text-wrap:balance}p,li{text-wrap:pretty}.header .brand{font-size:var(--fs-lg);line-height:1;letter-spacing:var(--tracking-tight)}.panel-head h2{font-size:var(--fs-xs);line-height:var(--lh-ui);font-weight:750;letter-spacing:var(--tracking-label);text-transform:uppercase}.panel-collapse{font-size:var(--fs-xs);line-height:var(--lh-ui);letter-spacing:.02em}.sidebar-action,.feed-dialog-actions button,.reader-tab{line-height:var(--lh-ui);letter-spacing:.005em}.sidebar li>button:first-child,.list li>button{line-height:var(--lh-ui)}.count,.list li .date,.reader .meta{font-variant-numeric:tabular-nums}.platform-badge{font-size:var(--fs-2xs);line-height:1.2;letter-spacing:.06em}.reader .article{max-width:78ch}.reader h2{max-width:22ch;font-family:var(--font-display);font-size:clamp(2rem,1.45rem + 1.8vw,3.25rem);line-height:var(--lh-tight);letter-spacing:-.035em;text-wrap:balance}.reader .meta{font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-ui);letter-spacing:.015em}.reader .article-content{max-width:68ch;font-family:var(--font-reading);font-size:clamp(1.0625rem,1rem + .25vw,1.25rem);line-height:var(--lh-reading);letter-spacing:normal;text-wrap:pretty}.reader .article-content p{margin:0 0 1.25em}.reader .article-content>:first-child{margin-top:0}.reader .article-content>:last-child{margin-bottom:0}.reader .article-content h1,.reader .article-content h2,.reader .article-content h3,.reader .article-content h4{margin:var(--space-7) 0 var(--space-3);font-family:var(--font-display);line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);text-wrap:balance}.reader .article-content h1{font-size:var(--fs-2xl)}.reader .article-content h2{font-size:var(--fs-xl)}.reader .article-content h3{font-size:var(--fs-lg)}.reader .article-content h4{font-size:var(--fs-md)}.reader .article-content ul,.reader .article-content ol{margin:0 0 1.25em;padding-inline-start:1.35em}.reader .article-content li+li{margin-top:.35em}.reader .article-content blockquote{margin:var(--space-7) 0;padding:var(--space-2) 0 var(--space-2) var(--space-5);font-size:1.02em;line-height:1.6;font-style:italic}.reader .article-content figcaption,.content-note,.embedded-content-actions{font-family:var(--font-ui);line-height:var(--lh-ui)}.reader .article-content pre,.reader .article-content code,kbd{font-family:var(--font-mono);font-variant-ligatures:none}.reader .article-content pre{font-size:clamp(.8125rem,.79rem + .08vw,.9375rem);line-height:var(--lh-code)}.reader .article-content code{font-size:.9em}.reader .article-content a{text-decoration-thickness:.08em;text-underline-offset:.16em}.content-fallback{max-width:68ch;font-family:var(--font-reading);font-size:var(--fs-md);line-height:var(--lh-reading)}.shortcut-hints,.shortcut-popover,.shortcut-notice{line-height:var(--lh-ui)}kbd{min-height:1.6em;font-size:var(--fs-2xs);line-height:1;font-variant-numeric:tabular-nums}@media(max-width:699px){.reader .article{max-width:none}.reader h2{max-width:none;font-size:clamp(1.875rem,1.55rem + 2vw,2.5rem)}.reader .article-content{font-size:clamp(1.0625rem,1rem + .35vw,1.125rem)}.reader .article-content h1{font-size:var(--fs-xl)}.reader-tabs{overflow-x:auto;scrollbar-width:thin}.reader-tab{flex:0 0 auto}.shortcut-hints span{font-size:var(--fs-2xs)}.article-nav{margin-top:var(--space-6)}.nav-link{max-width:46%;padding:10px}.nav-link .nav-title{max-width:18ch}}
