*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}:root{--font-ui:"Libre Baskerville", serif}body{font-family:var(--font-body), Georgia, serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-x:none;height:100dvh;transition:background .2s,color .2s;overflow:hidden}:root{--favorited:#b89020;--favorited-bg:#fdf8e4}[data-theme=dark]{--favorited:#e6c050;--favorited-bg:#282210}[data-theme=light]{--bg:#faf9f7;--bg-rgb:250,249,247;--bg-raised:#fff;--bg-raised-rgb:255,255,255;--border-rgb:0,0,0;--bg-hover:#f0ede8;--bg-sidebar:#f5f3ef;--border:#e5e1da;--border-subtle:#ede9e3;--text:#1a1816;--text-secondary:#6b6560;--text-tertiary:#9b948d;--accent:#2d2926;--accent-light:#e8e4de;--saved:#b85c2a;--saved-bg:#fdf3ed;--read-opacity:.45;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 8px 24px #00000014}[data-theme=dark]{--bg:#141210;--bg-rgb:20,18,16;--bg-raised:#1e1c19;--bg-raised-rgb:30,28,25;--border-rgb:255,255,255;--bg-hover:#252320;--bg-sidebar:#181614;--border:#2e2c28;--border-subtle:#242220;--text:#e8e2d9;--text-secondary:#9b948d;--text-tertiary:#6b6560;--accent:#e8e2d9;--accent-light:#252320;--saved:#e07843;--saved-bg:#2a1e17;--read-opacity:.35;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-lg:0 8px 24px #0006}[data-theme=light][data-palette=cool]{--bg:#f5f7fa;--bg-rgb:245,247,250;--bg-raised:#fff;--bg-raised-rgb:255,255,255;--bg-hover:#e8ecf3;--bg-sidebar:#edf0f6;--border:#cfd6e3;--border-subtle:#d8dfe9;--text-secondary:#546070;--text-tertiary:#8090a8;--accent:#1d5299;--accent-light:#dce8f8;--saved:#2563eb;--saved-bg:#eff3ff}[data-theme=dark][data-palette=cool]{--bg:#0f1117;--bg-rgb:15,17,23;--bg-raised:#161b26;--bg-raised-rgb:22,27,38;--bg-hover:#1c2333;--bg-sidebar:#131720;--border:#222b3d;--border-subtle:#1c2535;--text-secondary:#8898b0;--text-tertiary:#566070;--accent:#93c5fd;--accent-light:#162440;--saved:#60a5fa;--saved-bg:#0f1f3d}[data-theme=light][data-palette=rose]{--bg:#fdf7f7;--bg-rgb:253,247,247;--bg-raised:#fff;--bg-raised-rgb:255,255,255;--bg-hover:#f5e8e8;--bg-sidebar:#f8eded;--border:#e8d4d4;--border-subtle:#f0dcdc;--text-secondary:#7a5060;--text-tertiary:#a88090;--accent:#8c1a40;--accent-light:#faddec;--saved:#b83258;--saved-bg:#fdf0f4}[data-theme=dark][data-palette=rose]{--bg:#130f10;--bg-rgb:19,15,16;--bg-raised:#1d1618;--bg-raised-rgb:29,22,24;--bg-hover:#251b1d;--bg-sidebar:#171012;--border:#2e2022;--border-subtle:#261a1c;--text-secondary:#a88090;--text-tertiary:#7a5060;--accent:#f9a8c9;--accent-light:#3a0f20;--saved:#e06090;--saved-bg:#2a1220}[data-theme=light][data-palette=forest]{--bg:#f5faf6;--bg-rgb:245,250,246;--bg-raised:#fff;--bg-raised-rgb:255,255,255;--bg-hover:#e3eedf;--bg-sidebar:#edf5ee;--border:#c8deca;--border-subtle:#d6e8d8;--text-secondary:#486858;--text-tertiary:#789880;--accent:#1a5c3a;--accent-light:#d8eede;--saved:#2d6a4f;--saved-bg:#eef7f1}[data-theme=dark][data-palette=forest]{--bg:#0d1210;--bg-rgb:13,18,16;--bg-raised:#141f16;--bg-raised-rgb:20,31,22;--bg-hover:#192519;--bg-sidebar:#111a13;--border:#1f2e20;--border-subtle:#192619;--text-secondary:#789880;--text-tertiary:#486858;--accent:#86efac;--accent-light:#0f2e1c;--saved:#52b788;--saved-bg:#0d2417}.app{height:100dvh;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:20;flex-direction:column;width:280px;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;height:108px;padding:0 24px;display:flex}.sidebar-logo-svg{color:var(--text-secondary)}.sidebar-logo-svg svg{width:100%;height:auto;display:block}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);padding:16px 24px 6px;font-size:.65rem;font-weight:600}.nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 24px;font-size:.875rem;transition:background .12s,color .12s;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{color:var(--text);background:var(--accent-light)}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:4px;bottom:4px;left:0}.nav-item-favicon{object-fit:contain;border-radius:3px;flex-shrink:0;width:16px;height:16px}.nav-item-favicon-placeholder{background:var(--border);width:16px;height:16px;color:var(--text-tertiary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;display:flex}.nav-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-item-delete{opacity:0;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.8rem;line-height:1;transition:opacity .1s}.nav-item:hover .nav-item-delete{opacity:1}.nav-item-delete:hover{color:#c0392b}.nav-item-settings-btn{opacity:0;width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,color .1s;display:flex}.nav-item:hover .nav-item-settings-btn{opacity:1}.nav-item-settings-btn:hover{color:var(--text)}@media (hover:none){.nav-item-settings-btn{opacity:.5}}.nav-feeds-badge{background:var(--border);color:var(--text-tertiary);text-align:center;border-radius:10px;flex-shrink:0;min-width:24px;padding:2px 9px;font-size:.75rem;font-weight:600}.nav-sync-badge{color:var(--accent,#b85c2a);background:color-mix(in srgb, var(--accent,#b85c2a) 14%, transparent);border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.sidebar-manage-feeds{padding:10px 16px}.sidebar-manage-feeds-btn{color:var(--text-primary);cursor:pointer;background:var(--accent-light);border:1.5px solid var(--palette-accent);text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;font-size:.85rem;font-weight:400;transition:background .12s;display:flex}.sidebar-manage-feeds-btn:hover{background:color-mix(in srgb, var(--palette-accent) 22%, var(--accent-light))}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:12px 16px;padding-bottom:max(12px, calc(env(safe-area-inset-bottom,0px) + 8px));flex-direction:column;gap:4px;display:flex}.sidebar-footer-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:.8rem;transition:background .12s,color .12s;display:flex}.sidebar-footer-btn:hover{background:var(--bg-hover);color:var(--text)}.main{background:var(--bg);flex-direction:column;height:100dvh;margin-left:280px;display:flex;position:relative;overflow:hidden}.topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg);flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 28px;display:flex}.topbar-title{font-family:var(--font-ui);letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:75%;font-size:1.15rem;font-weight:600;overflow:hidden}.topbar-unread-badge{background:var(--border);color:var(--text-tertiary);text-align:center;border-radius:10px;flex-shrink:0;min-width:24px;margin-right:4px;padding:2px 9px;font-size:.75rem;font-weight:600}@media (min-width:1024px){.topbar-unread-badge{display:none}}.topbar-btn{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.saved-search-bar{border-bottom:1px solid var(--border-subtle);background:var(--bg);color:var(--text-tertiary);flex-shrink:0;align-items:center;gap:8px;padding:13px 16px;display:flex}.saved-search-input{color:var(--text);font-size:.875rem;font-family:var(--font-body), sans-serif;background:0 0;border:none;outline:none;flex:1}.saved-search-input::placeholder{color:var(--text-tertiary)}.saved-search-input::-webkit-search-cancel-button{display:none}.saved-search-clear{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.75rem;line-height:1}.saved-search-clear:hover{color:var(--text)}.topbar-btn:hover{background:var(--bg-hover);color:var(--text)}.topbar-rss-btn.copied{color:var(--saved)}.topbar-btn.spinning svg{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.article-list{scroll-snap-type:y proximity;flex:1;padding:0 0 100svh;overflow-y:auto}.article-list.free-scroll{scroll-snap-type:none}.article-list::-webkit-scrollbar{width:4px}.article-list::-webkit-scrollbar-track{background:0 0}.article-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.empty-state{min-height:40vh;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.empty-state-icon{opacity:.5;color:var(--accent);font-size:2.5rem}.empty-state-title{font-family:var(--font-ui);color:var(--text-secondary);font-size:1.15rem}.empty-state-text{max-width:320px;font-size:.85rem;line-height:1.6}.caught-up-overlay{pointer-events:none;opacity:0;z-index:10;transition:opacity .15s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.caught-up-overlay.visible{opacity:1}.caught-up-content{color:var(--text-tertiary);text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.snap-end-target{scroll-snap-align:start;height:1px}.all-caught-up-icon{opacity:.45;color:var(--accent)}.all-caught-up-text{font-family:var(--font-ui);color:var(--text-tertiary);font-size:1.05rem}.article-card{border-bottom:1px solid var(--border-subtle);cursor:pointer;scroll-snap-align:start;position:relative;overflow:hidden}.swipe-save-bg{background:var(--saved);color:#fff;justify-content:flex-end;align-items:center;padding-right:28px;transition:background .15s,filter .12s;display:flex;position:absolute;inset:0}.swipe-save-bg.fav-level{background:var(--favorited)}.swipe-icon-save{align-items:center;display:flex}.swipe-icon-fav{align-items:center;display:none}.swipe-save-bg.fav-level .swipe-icon-save{display:none}.swipe-save-bg.fav-level .swipe-icon-fav{display:flex}.swipe-save-bg.threshold-active{filter:brightness(1.3)}.swipe-save-bg.threshold-active .swipe-icon-save,.swipe-save-bg.threshold-active .swipe-icon-fav{animation:.28s cubic-bezier(.34,1.56,.64,1) forwards swipeThresholdPop}@keyframes swipeThresholdPop{0%{transform:scale(1)}45%{transform:scale(1.9)}to{transform:scale(1.35)}}.card-content{background:var(--bg-raised);padding:22px 28px 20px;position:relative}.article-card.is-read .card-content{background:var(--bg)}.article-card.is-read{opacity:var(--read-opacity)}.article-card.sift-feed .card-content{border-left:2px solid var(--palette-accent);padding-left:26px}.article-card.sift-feed.is-read .card-content{border-left-color:color-mix(in srgb, var(--palette-accent) 40%, transparent)}.card-indicators{align-items:center;gap:5px;display:flex;position:absolute;top:13px;right:16px}.saved-indicator{color:var(--text-tertiary);align-items:center;gap:4px;display:flex}.saved-indicator.just-saved svg{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards bookmarkPop}.saved-indicator.just-unsaved svg{animation:.45s cubic-bezier(.2,0,.8,1) forwards bookmarkRemove}.saved-label{letter-spacing:.05em;color:var(--text-tertiary);white-space:nowrap;font-size:.68rem;font-weight:600;animation:1.8s forwards savedLabelAnim}.fav-indicator{color:var(--favorited);align-items:center;gap:4px;display:flex}.fav-indicator.just-favorited svg{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards bookmarkPop}.fav-indicator.just-unfavorited svg{animation:.45s cubic-bezier(.2,0,.8,1) forwards bookmarkRemove}.fav-label{letter-spacing:.05em;color:var(--favorited);white-space:nowrap;font-size:.68rem;font-weight:600;animation:1.8s forwards savedLabelAnim}.article-read-check{color:var(--text-tertiary)}@keyframes bookmarkPop{0%{opacity:0;transform:scale(0)}65%{transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@keyframes bookmarkRemove{0%{opacity:1;transform:scale(1)}18%{opacity:1;transform:scale(1.9)}40%{opacity:.7;transform:scale(1.5)}to{opacity:0;transform:scale(0)}}@keyframes savedLabelAnim{0%{opacity:0;transform:translate(6px)}15%{opacity:1;transform:translate(0)}75%{opacity:1}to{opacity:0}}.article-card-meta{align-items:center;gap:8px;margin-bottom:7px;display:flex}.article-feed-name{letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:75%;font-size:.7rem;font-weight:600;overflow:hidden}.article-annotations{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.article-view-annotations{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.article-annotation{color:var(--palette-accent);background:color-mix(in srgb, var(--palette-accent) 10%, transparent);border-radius:20px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-size:.7rem;display:inline-flex}.article-date{color:var(--text-tertiary);margin-top:7px;font-size:.7rem}.article-meta-dot{background:var(--text-tertiary);border-radius:50%;flex-shrink:0;width:2px;height:2px}.article-title{font-family:var(--font-headline), serif;letter-spacing:-.01em;color:var(--text);margin-bottom:7px;font-size:1.15rem;font-weight:600;line-height:1.5}.article-excerpt{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.65;display:-webkit-box;overflow:hidden}.article-view-overlay{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:hidden}.article-view-overlay.open{pointer-events:auto}.article-view-panel{background:var(--bg);touch-action:pan-y;overscroll-behavior-x:none;clip-path:inset(0 0 0 -50px);z-index:2;flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;transform:translate(100%);box-shadow:-8px 0 32px #0000002e}.article-view-overlay.open .article-view-panel{transform:translate(0)}.next-article-peek,.prev-article-peek{background:var(--bg);z-index:1;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.next-article-peek{border-left:1px solid var(--border);transform:translate(100%)}.prev-article-peek{transform:translate(-100%)}.article-view-bar{border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:14px 24px;display:flex}.article-view-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;transition:background .12s,color .12s;display:flex}.article-view-back:hover{background:var(--bg-hover);color:var(--text)}.article-view-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.article-view-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:.8rem;font-weight:500;transition:background .12s,color .12s;display:flex}.article-view-btn:hover{background:var(--bg-hover);color:var(--text)}.article-view-btn.saved{color:var(--saved);background:var(--saved-bg)}.article-view-content{flex:1;padding:0 0 60px;overflow-y:auto}.article-view-content::-webkit-scrollbar{width:4px}.article-view-content::-webkit-scrollbar-track{background:0 0}.article-view-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.article-view-inner{max-width:680px;margin:0 auto;padding:72px 32px 60px}.article-fab-save{z-index:10;border:1px solid rgba(var(--border-rgb,0,0,0), .12);background:rgba(var(--bg-raised-rgb,255,255,255), .62);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s;display:flex;position:absolute;top:16px;right:16px}.article-fab-save:hover{background:rgba(var(--bg-raised-rgb,255,255,255), .98);box-shadow:0 3px 12px #00000026}.article-fab-save.saved{background:rgba(var(--bg-raised-rgb,255,255,255), .98);color:var(--saved)}.article-fab-device{z-index:10;border:1px solid rgba(var(--border-rgb,0,0,0), .12);background:rgba(var(--bg-raised-rgb,255,255,255), .62);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s;display:flex;position:absolute;top:16px;right:120px}.article-fab-device:hover{background:rgba(var(--bg-raised-rgb,255,255,255), .98);box-shadow:0 3px 12px #00000026}.article-fab-device.queued{background:rgba(var(--bg-raised-rgb,255,255,255), .98);color:var(--text-secondary,#6b7280)}.article-fab-fav{z-index:10;border:1px solid rgba(var(--border-rgb,0,0,0), .12);background:rgba(var(--bg-raised-rgb,255,255,255), .62);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--text-tertiary);cursor:pointer;box-shadow:none;border-radius:50%;justify-content:center;align-items:center;transition:background .12s;display:flex;position:absolute;top:16px;right:68px}.article-fab-fav:hover{background:rgba(var(--bg-raised-rgb,255,255,255), .98);box-shadow:0 3px 12px #00000026}.article-fab-fav.favorited{background:rgba(var(--bg-raised-rgb,255,255,255), .98);color:var(--favorited)}.article-fab-back{z-index:10;border:1px solid rgba(var(--border-rgb,0,0,0), .12);background:rgba(var(--bg-raised-rgb,255,255,255), .62);-webkit-backdrop-filter:blur(12px);height:44px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-body), Georgia, serif;box-shadow:none;border-radius:22px;align-items:center;gap:4px;padding:0 16px 0 12px;font-size:.875rem;transition:background .12s;display:flex;position:absolute;top:16px;left:16px}.article-fab-back:hover{background:rgba(var(--bg-raised-rgb,255,255,255), .98);box-shadow:0 3px 12px #00000026}.caught-up-peek{justify-content:center;align-items:center;display:flex}.caught-up-screen{color:var(--text-tertiary);flex-direction:column;align-items:center;gap:14px;display:flex}.article-view-panel.fabs-raised .article-fab-back,.article-view-panel.fabs-raised .article-fab-save,.article-view-panel.fabs-raised .article-fab-fav,.article-view-panel.fabs-raised .article-fab-device,.caught-up-peek.fabs-raised .article-fab-back{animation:.5s cubic-bezier(.34,1.4,.64,1) forwards fabRaise}@keyframes fabRaise{0%{box-shadow:none;border-color:rgba(var(--border-rgb,0,0,0), .12)}to{border-color:#0000;box-shadow:0 3px 10px #0000001a,0 1px 3px #00000012}}[data-theme=dark] .article-fab-save,[data-theme=dark] .article-fab-fav,[data-theme=dark] .article-fab-device,[data-theme=dark] .article-fab-back{background:rgba(var(--bg-raised-rgb), .55);border-color:#0000}[data-theme=dark] .article-view-panel.fabs-raised .article-fab-back,[data-theme=dark] .article-view-panel.fabs-raised .article-fab-save,[data-theme=dark] .article-view-panel.fabs-raised .article-fab-fav,[data-theme=dark] .article-view-panel.fabs-raised .article-fab-device,[data-theme=dark] .caught-up-peek.fabs-raised .article-fab-back{animation:.5s cubic-bezier(.34,1.4,.64,1) forwards fabRaiseDark}@keyframes fabRaiseDark{0%{box-shadow:none;border-color:#0000}to{border-color:#ffffff47;box-shadow:0 4px 18px #0000008c,0 1px 5px #0006,inset 0 1px #ffffff12}}.article-view-feed{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:14px;font-size:.7rem;font-weight:600}.article-view-title{font-family:var(--font-headline), serif;letter-spacing:-.025em;color:var(--text);margin-bottom:16px;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;line-height:1.35}.article-view-byline{color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);margin-bottom:24px;padding-bottom:24px;font-size:.8rem}.article-view-link{color:var(--text-tertiary);border:1px solid var(--border);border-radius:6px;align-items:center;gap:5px;margin-top:8px;padding:5px 10px;font-size:.78rem;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.article-view-link:hover{background:var(--bg-hover);color:var(--text)}.article-body{font-family:var(--font-body), Georgia, serif;color:var(--text);font-size:1rem;line-height:1.8}.article-body p{margin-bottom:1.4em}.article-body h1,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6{font-family:var(--font-headline), serif;letter-spacing:-.02em;color:var(--text);margin:1.8em 0 .7em;line-height:1.35}.article-body h1{font-size:1.6em}.article-body h2{font-size:1.35em}.article-body h3{font-size:1.15em}.article-body a{color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px}.article-body a:hover{color:var(--text-secondary)}.article-body blockquote{border-left:2px solid var(--border);color:var(--text-secondary);margin:1.6em 0;padding:0 0 0 20px;font-style:italic}.article-body pre,.article-body code{background:var(--bg-hover);border-radius:4px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.875em}.article-body pre{margin:1.4em 0;padding:16px;overflow-x:auto}.article-body code{padding:2px 5px}.article-body pre code{background:0 0;padding:0}.article-body img{border-radius:6px;max-width:100%;height:auto;margin:1.4em 0}.article-body ul,.article-body ol{margin:1em 0 1.4em 1.4em}.article-body li{margin-bottom:.4em}.article-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.article-body table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.9em}.article-body th{border-bottom:2px solid var(--border);text-align:left;padding:8px 12px;font-weight:600}.article-body td{border-bottom:1px solid var(--border-subtle);padding:8px 12px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-raised);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:14px;padding:28px;animation:.2s cubic-bezier(.34,1.56,.64,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-family:var(--font-ui);letter-spacing:-.02em;color:var(--text);margin-bottom:6px;font-size:1.2rem;font-weight:700}.modal-subtitle{color:var(--text-tertiary);margin-bottom:20px;font-size:.82rem;line-height:1.5}.modal-input-wrap{margin-bottom:14px;position:relative}.modal-input{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:9px;outline:none;padding:12px 14px;font-family:inherit;font-size:.9rem;transition:border-color .12s}.modal-input:focus{border-color:var(--text-secondary)}.modal-input::placeholder{color:var(--text-tertiary)}.modal-error{color:#c0392b;background:#fdf0ef;border-radius:7px;margin-bottom:12px;padding:10px 12px;font-size:.8rem}[data-theme=dark] .modal-error{color:#e07070;background:#2a1515}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:9px 18px;font-family:inherit;font-size:.85rem;font-weight:500;transition:background .12s,color .12s,opacity .12s}.btn-ghost{color:var(--text-secondary);border:1.5px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.settings-panel{z-index:50;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.settings-backdrop{-webkit-backdrop-filter:blur(6px);background:#0000008c;animation:.15s fadeIn;position:fixed;inset:0}.settings-drawer{z-index:1;background:var(--bg-raised);border:1px solid var(--border);border-radius:16px;width:100%;max-width:380px;padding:28px;animation:.2s cubic-bezier(.34,1.2,.64,1) settingsIn;position:relative;box-shadow:0 24px 60px #00000040}@keyframes settingsIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.settings-page{background:var(--bg);flex-direction:column;flex:1;min-width:0;height:100%;animation:.15s fadeIn;display:flex;overflow:hidden}.settings-page-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.settings-close{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.settings-close:hover{background:var(--bg-hover,#8080801f);color:var(--text-primary)}.settings-body{flex:1;min-height:0;display:flex}.settings-nav{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:3px;width:210px;padding:18px 12px;display:flex;overflow-y:auto}.settings-nav-item{cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 13px;font-size:.92rem;font-weight:500;display:flex}.settings-nav-item svg{opacity:.85;flex-shrink:0}.settings-nav-item:hover{background:var(--bg-hover,#8080801a);color:var(--text-primary)}.settings-nav-item.active{background:color-mix(in srgb, var(--accent,#b85c2a) 13%, transparent);color:var(--accent,#b85c2a);font-weight:600}.settings-content{flex:1;min-width:0;max-width:760px;padding:30px 44px;overflow-y:auto}.settings-content-wide{max-width:1180px}.settings-content-myfeeds{max-width:none;padding:18px 16px}.myfeeds-toolbar{align-items:center;gap:10px;max-width:760px;margin-bottom:18px;display:flex}.myfeeds-search{flex:1;align-items:center;display:flex;position:relative}.myfeeds-search svg{color:var(--text-tertiary);pointer-events:none;position:absolute;left:12px}.myfeeds-search input{border:1px solid var(--border);background:var(--bg-raised);width:100%;color:var(--text-primary);border-radius:9px;padding:10px 12px 10px 36px;font-size:.9rem}.myfeeds-btn{border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:9px 14px;font-size:.85rem;font-weight:500;display:inline-flex}.myfeeds-btn:hover{background:var(--bg-hover,#8080801a)}.myfeeds-btn.active{background:color-mix(in srgb, var(--accent,#b85c2a) 13%, transparent);color:var(--accent,#b85c2a);border-color:#0000}.myfeeds-btn.primary{background:var(--accent,#b85c2a);color:#fff;border-color:#0000}.myfeeds-btn.primary:hover{filter:brightness(1.06)}.myfeeds-bulk{border:1px solid var(--border);background:var(--bg-raised);border-radius:9px;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:.85rem;display:flex}.myfeeds-bulk button{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:.82rem}.myfeeds-bulk button:disabled{opacity:.5;cursor:default}.myfeeds-bulk button.danger{color:#c0392b;border-color:color-mix(in srgb, #c0392b 40%, var(--border))}.myfeeds-empty{text-align:center;color:var(--text-tertiary);padding:40px 0;font-size:.9rem}.myfeeds-list{flex-direction:column;gap:18px;max-width:760px;display:flex}.myfeeds-default{margin-top:0}.myfeeds-group{border:1px solid var(--border);background:var(--bg-raised);border-radius:12px;overflow:hidden}.myfeeds-group-head{align-items:center;padding:4px 8px 4px 4px;display:flex}.myfeeds-group-grip{color:var(--text-tertiary);cursor:grab;padding:6px 4px}.myfeeds-group-grip:active{cursor:grabbing}.myfeeds-group-overlay{border:1px solid var(--border);background:var(--bg-raised);cursor:grabbing;border-radius:12px;min-width:300px;box-shadow:0 14px 32px -10px #0006}.myfeeds-group-toggle{cursor:pointer;min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:8px;padding:9px 8px;display:flex}.myfeeds-group-toggle:hover{background:var(--bg-hover,#80808014)}.myfeeds-caret{color:var(--text-tertiary);flex-shrink:0;align-items:center;transition:transform .15s;display:inline-flex}.myfeeds-caret.open{transform:rotate(90deg)}.myfeeds-group-title{white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:600;overflow:hidden}.myfeeds-group-meta{color:var(--text-tertiary);white-space:nowrap;margin-left:auto;padding-left:10px;font-size:.75rem}.myfeeds-group-edit{border:1px solid var(--accent,#b85c2a);background:var(--bg);min-width:0;color:var(--text-primary);border-radius:6px;flex:1;padding:4px 8px;font-size:.94rem;font-weight:600}.myfeeds-group-actions{flex-shrink:0;align-items:center;gap:1px;display:flex}.myfeeds-group-actions button{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;padding:6px;font-size:.85rem;line-height:1;display:inline-flex}.myfeeds-group-actions button:hover:not(:disabled){background:var(--bg-hover,#8080801f);color:var(--text-primary)}.myfeeds-group-actions button:disabled{opacity:.3;cursor:default}.myfeeds-group-actions button.fav{color:var(--accent,#b85c2a)}.myfeeds-group-empty{color:var(--text-tertiary);text-align:center;padding:14px;font-size:.82rem}.myfeeds-newgroup{gap:8px;margin-bottom:16px;display:flex}.myfeeds-newgroup input{border:1px solid var(--border);background:var(--bg-raised);color:var(--text-primary);border-radius:9px;flex:1;padding:9px 12px;font-size:.9rem}.myfeeds-rows{border-top:1px solid var(--border);min-height:10px;transition:background .12s}.myfeeds-rows.over{background:color-mix(in srgb, var(--accent,#b85c2a) 7%, transparent)}.myfeeds-empty-hint{border:1.5px dashed var(--border);text-align:center;color:var(--text-tertiary);border-radius:8px;margin:8px 12px;padding:14px;font-size:.8rem}.myfeeds-grip{color:var(--text-tertiary);cursor:grab;touch-action:none;flex-shrink:0;align-items:center;padding:2px;display:inline-flex}.myfeeds-grip:active{cursor:grabbing}.myfeeds-row-overlay{background:var(--bg-raised);border:1px solid var(--border);cursor:grabbing;border-radius:8px;box-shadow:0 12px 28px -8px #00000059}.myfeeds-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 14px;display:flex}.myfeeds-row:last-child{border-bottom:none}.myfeeds-row.selected{background:color-mix(in srgb, var(--accent,#b85c2a) 8%, transparent)}.myfeeds-check{width:15px;height:15px;accent-color:var(--accent,#b85c2a);cursor:pointer}.myfeeds-favicon{object-fit:cover;border-radius:4px;flex-shrink:0;width:18px;height:18px}.myfeeds-favicon-ph{background:var(--border)}.myfeeds-row-main{flex:1;min-width:0}.myfeeds-row-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.myfeeds-row-sub{color:var(--text-tertiary);margin-top:1px;font-size:.72rem}.myfeeds-health{align-items:center;gap:4px;display:inline-flex}.myfeeds-health.error{color:#c0392b}.myfeeds-unread{color:var(--text-tertiary);background:var(--border);border-radius:8px;flex-shrink:0;padding:1px 7px;font-size:.72rem;font-weight:600}.myfeeds-icon-btn{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:5px;display:inline-flex}.myfeeds-icon-btn:hover{background:var(--bg-hover,#8080801f);color:var(--text-primary)}.myfeeds-icon-btn.fav{color:var(--accent,#b85c2a)}.admin-embedded .admin-tabs{margin-top:0}.settings-subhead{text-transform:uppercase;letter-spacing:.09em;color:var(--text-tertiary);border-bottom:1px solid var(--border);margin:0 0 12px;padding-bottom:8px;font-size:.7rem;font-weight:700}.settings-hint{color:var(--text-tertiary);margin:6px 0 14px;font-size:.82rem;line-height:1.6}.settings-row{justify-content:space-between;align-items:center;gap:16px;font-size:.88rem;display:flex}.settings-primary-btn{background:var(--accent,#b85c2a);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:10px;padding:13px 22px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.settings-primary-btn:hover{filter:brightness(1.06)}@media (max-width:768px){.settings-body{flex-direction:column}.settings-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;gap:6px;width:100%;padding:10px;overflow-x:auto}.settings-nav-item{white-space:nowrap;width:auto}.settings-content{padding:22px 18px}.settings-content-myfeeds{padding:16px 12px}.myfeeds-toolbar{flex-wrap:wrap}.myfeeds-search{flex:100%}.settings-page-header{padding:16px 18px;padding-top:max(16px, calc(env(safe-area-inset-top,0px) + 8px))}.settings-close{margin:-4px;padding:10px}}.settings-title{font-family:var(--font-ui);letter-spacing:-.02em;font-size:1.3rem;font-weight:700}.settings-section{margin-bottom:30px}.settings-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:10px;font-size:.7rem;font-weight:600;display:block}.settings-select{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239b948d' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:9px;outline:none;padding:10px 36px 10px 14px;font-family:inherit;font-size:.875rem;transition:border-color .12s}.settings-select:focus{border-color:var(--text-secondary)}.font-preview{border:1px solid var(--border-subtle);background:var(--bg);color:var(--text-secondary);border-radius:8px;margin-top:8px;padding:10px 14px;font-size:1rem;line-height:1.5}.theme-toggle{border:1.5px solid var(--border);border-radius:10px;display:flex;overflow:hidden}.theme-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:.82rem;font-weight:500;transition:background .12s,color .12s;display:flex}.theme-btn.active{background:var(--palette-accent);color:#fff}.feeds-panel-add-btn{background:var(--bg-hover);border:1.5px dashed var(--border);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:13px 16px;font-family:inherit;font-size:.875rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:flex}.feeds-panel-add-btn:hover{background:var(--accent-light);border-color:var(--text-secondary);color:var(--text)}.feeds-panel-add-icon{background:var(--bg-raised);border:1px solid var(--border);width:26px;height:26px;color:var(--text-secondary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feeds-panel-add-arrow{color:var(--text-tertiary);flex-shrink:0;margin-left:auto}.feeds-panel-search{border:1px solid var(--border);background:var(--bg);color:var(--text-tertiary);border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.feeds-panel-search input{color:var(--text);font-size:.875rem;font-family:var(--font-body), sans-serif;background:0 0;border:none;outline:none;flex:1}.feeds-panel-search input::placeholder{color:var(--text-tertiary)}.feed-list-item{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 4px;display:flex}.feed-list-item:last-child{border-bottom:none}.feed-list-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.875rem;overflow:hidden}.feed-list-empty{text-align:center;color:var(--text-tertiary);padding:32px 0 16px;font-size:.875rem}.feed-list-settings-btn{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.feed-list-settings-btn:hover{background:var(--bg-hover);color:var(--text)}.feed-fav-active{color:var(--palette-accent)!important}.feed-url-display{color:var(--text-secondary);background:var(--bg);border:1px solid var(--border-subtle);word-break:break-all;border-radius:8px;padding:9px 12px;font-family:ui-monospace,monospace;font-size:.78rem;line-height:1.5}.retention-slider-wrap{padding:4px 0 0}.retention-slider{width:100%;accent-color:var(--accent);cursor:pointer}.retention-labels{justify-content:space-between;gap:2px;margin-top:8px;display:flex}.retention-tick{color:var(--text-tertiary);text-align:center;white-space:nowrap;flex:1;font-size:.65rem;line-height:1.2;transition:color .12s}.retention-tick.active{color:var(--text);font-weight:600}.retention-value{color:var(--text-secondary);text-align:center;margin-top:12px;font-size:.82rem}.feed-delete-btn{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #c0392b4d;border-radius:10px;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:.875rem;font-weight:500;transition:background .12s,border-color .12s;display:flex}.feed-delete-btn:hover{background:#c0392b0f;border-color:#c0392b80}.dev-tool-btn{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:8px;padding:9px 14px;font-size:.82rem;transition:background .12s,color .12s;display:block}.dev-tool-btn:hover{background:var(--bg-hover);color:var(--text)}.admin-drawer{max-width:560px}.admin-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.admin-tab{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:.85rem;font-weight:500;transition:color .12s;display:flex}.admin-tab.active{color:var(--text);border-bottom-color:var(--palette-accent)}.admin-tab:hover{color:var(--text-secondary)}.admin-pending-dot{color:#fff;background:#e07b30;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.5}.admin-blocked-dot{color:#fff;background:#b42828;border-radius:10px;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.5}.admin-search{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;outline:none;margin-bottom:12px;padding:8px 12px;font-size:.875rem}.admin-search:focus{border-color:var(--palette-accent)}.admin-user-list{flex-direction:column;gap:2px;display:flex}.admin-user-row{border-radius:10px;align-items:flex-start;gap:12px;padding:12px;transition:background .1s;display:flex}.admin-user-row:hover{background:var(--bg-hover)}.admin-user-row.admin-user-pending{background:#e07b3012;border:1px solid #e07b3033;border-radius:10px}.admin-user-row.admin-user-pending:hover{background:#e07b301f}.admin-user-row.admin-user-blocked{background:#b428280d;border:1px solid #b4282826;border-radius:10px}.admin-user-row.admin-user-blocked:hover{background:#b4282817}.admin-user-avatar{background:var(--bg-hover);border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.admin-user-info{flex:1;min-width:0}.admin-user-name{color:var(--text);font-size:.875rem;font-weight:500}.admin-user-email{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.8rem;overflow:hidden}.admin-user-date{color:var(--text-tertiary);margin-top:2px;font-size:.75rem}.admin-user-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.admin-role-buttons{gap:4px;display:flex}.admin-role-btn{border:1px solid var(--border);cursor:pointer;background:var(--bg-raised);color:var(--text-secondary);border-radius:6px;padding:3px 9px;font-size:.75rem;font-weight:500;transition:background .1s,color .1s}.admin-role-btn:disabled{opacity:.4;cursor:not-allowed}.admin-role-btn.approve{color:#2e7055;border-color:#2e7055}.admin-role-btn.approve:hover{color:#fff;background:#2e7055}.admin-role-btn.promote{border-color:var(--palette-accent);color:var(--palette-accent)}.admin-role-btn.promote:hover{background:var(--palette-accent);color:#fff}.admin-role-btn.demote:hover{background:var(--bg-hover)}.admin-role-btn.block{color:#b42828;border-color:#b42828}.admin-role-btn.block:hover{color:#fff;background:#b42828}.admin-role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:600}.admin-role-badge.admin-role-admin{background:rgba(var(--palette-accent-rgb,155,104,72), .12);color:var(--palette-accent)}.admin-role-badge.admin-role-user{background:var(--bg-hover);color:var(--text-secondary)}.admin-role-badge.admin-role-pending{color:#e07b30;background:#e07b301f}.admin-role-badge.admin-role-blocked{color:#b42828;background:#b428281a}.pending-screen{background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pending-card{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:360px;display:flex}.pending-logo{opacity:.5;color:var(--text)}.pending-title{font-family:var(--font-ui);color:var(--text);font-size:1.2rem;font-weight:600}.pending-text{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.pending-signout{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:8px;margin-top:8px;padding:8px 20px;font-size:.875rem}.pending-signout:hover{background:var(--bg-hover);color:var(--text)}.welcome-feed-row{gap:8px;width:100%;margin-top:8px;display:flex}.welcome-url-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font-family:var(--font-ui);border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:.875rem}.welcome-url-input:focus{border-color:var(--palette-accent)}.welcome-add-btn{background:var(--palette-accent);color:#fff;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 16px;font-size:.875rem;font-weight:500;transition:opacity .15s}.welcome-add-btn:disabled{opacity:.55;cursor:default}.welcome-add-btn:not(:disabled):hover{opacity:.88}.welcome-error{color:#c0392b;margin:4px 0 0;font-size:.8rem;line-height:1.4}.welcome-skip{cursor:pointer;font-family:var(--font-ui);color:var(--text-tertiary);background:0 0;border:none;margin-top:16px;padding:4px;font-size:.8rem}.welcome-skip:hover{color:var(--text-secondary)}.rss-feed-copy-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:9px 14px;font-family:inherit;font-size:.82rem;transition:background .12s,color .12s;display:flex}.rss-feed-copy-btn:hover{background:var(--bg-hover);color:var(--text)}.rss-feed-copy-btn:disabled{opacity:.4;cursor:default}.palette-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.palette-swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;transition:border-color .15s;display:flex}.palette-swatch:hover{border-color:var(--border)}.palette-swatch.active{border-color:var(--palette-accent)}.palette-swatch-halves{border:1px solid var(--border);border-radius:50%;width:36px;height:36px;display:flex;overflow:hidden}.palette-swatch-halves span{width:50%;height:100%;display:block}.palette-swatch-dot{border-radius:50%;width:8px;height:8px;display:block}.palette-swatch-label{color:var(--text-tertiary);letter-spacing:.03em;font-size:.7rem;font-weight:500}.hotkey-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.hotkey-row:last-child{margin-bottom:0}.hotkey-label{color:var(--text-secondary);font-size:.875rem}.hotkey-capture{border:1.5px solid var(--border);background:var(--bg);min-width:48px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:6px 12px;font-size:.8rem;transition:border-color .15s,background .15s;display:inline-flex}.hotkey-capture:hover{border-color:var(--text-secondary)}.hotkey-capture.capturing{border-color:var(--accent);background:var(--bg-hover);color:var(--text-secondary);font-style:italic}.hotkey-capture kbd{background:0 0;border:none;padding:0;font-family:ui-monospace,monospace;font-size:.85rem;font-weight:600}.sidebar-mobile-overlay{z-index:19;background:#0006;display:none;position:fixed;inset:0}.swipe-hint{color:var(--text-tertiary);pointer-events:none;opacity:.7;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:16px;font-size:.7rem;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.loading-overlay{background:var(--bg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:2px solid var(--border);border-top-color:var(--text-secondary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@media (max-width:768px){.sidebar{width:min(80vw,300px);min-width:unset;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-mobile-overlay.open{display:block}.main{margin-left:0}.topbar{height:auto;padding:14px 16px;padding-top:max(14px, calc(env(safe-area-inset-top,0px) + 6px))}.card-content{padding:18px 16px 16px}.article-view-inner{padding:72px 20px 60px}.modal-backdrop{padding-top:max(60px, calc(env(safe-area-inset-top,0px) + 40px));align-items:flex-start}}.main-left{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.main-right{display:none}@media (min-width:1024px){.main{flex-direction:row}.main-left{border-right:1px solid var(--border);flex:none;width:380px}.main-right{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.desktop-article-scroll{flex:1;height:100%;overflow-y:auto}.desktop-article-scroll::-webkit-scrollbar{width:4px}.desktop-article-scroll::-webkit-scrollbar-track{background:0 0}.desktop-article-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.desktop-article-empty{color:var(--text-tertiary);-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.desktop-article-empty-icon{opacity:.3;font-size:2rem}.desktop-article-empty-text{opacity:.5;font-size:.875rem}.main-left .article-view-overlay,.caught-up-overlay{display:none!important}}.feed-folder-section{margin-bottom:4px}.feed-folder-header{cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px 6px 4px;display:flex}.feed-folder-header:hover{background:0 0}.feed-folder-header-left{min-width:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;flex:1;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:flex}.feed-folder-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-name-input{background:var(--bg-secondary);border:1px solid var(--palette-accent);color:var(--text-primary);border-radius:4px;outline:none;flex:1;min-width:0;padding:2px 6px;font-size:.8rem}.folder-name-input--standalone{background:var(--bg-secondary);border:1px solid var(--palette-accent);box-sizing:border-box;width:100%;height:34px;color:var(--text-primary);border-radius:6px;outline:none;padding:0 10px;font-size:.875rem}.feed-folder-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.folder-action-btn{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px 4px;font-size:.85rem;line-height:1;display:flex}.folder-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.folder-action-btn.active{color:var(--palette-accent)}.folder-delete-btn{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;align-items:center;padding:3px 4px;font-size:.9rem;line-height:1;display:flex}.folder-delete-btn:hover{color:#e05050;background:#dc32321f}.folder-create-row{background:var(--bg-hover);border:1.5px solid var(--border);border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.folder-create-confirm{background:var(--palette-accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;height:34px;padding:0 14px;font-size:.875rem;font-weight:600}.folder-create-confirm:hover{opacity:.88}.folder-empty-drop{border:1.5px dashed var(--border);color:var(--text-tertiary);text-align:center;border-radius:6px;margin:2px 4px;padding:10px 12px;font-size:.8rem;transition:background .15s,border-color .15s}.folder-empty-drop.over{background:var(--bg-hover);border-color:var(--palette-accent);color:var(--palette-accent)}.feed-drag-handle{cursor:grab;color:var(--text-tertiary);opacity:.5;flex-shrink:0;align-items:center;padding:0 4px 0 0;display:flex}.feed-drag-handle:active{cursor:grabbing}.feed-drag-overlay{background:var(--bg-primary);border:1px solid var(--palette-accent);opacity:.95;border-radius:8px;padding:0 8px;box-shadow:0 8px 24px #0000002e}.feed-folder-section--uncategorized .feed-folder-header--uncategorized{padding-left:4px}.uncat-drop-over{background:var(--bg-hover);border-radius:6px}.feeds-panel-new-folder-btn{border:1.5px dashed var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:8px;align-items:center;gap:6px;width:100%;padding:8px 14px;font-size:.875rem;transition:border-color .15s,color .15s;display:flex}.feeds-panel-new-folder-btn:hover{border-color:var(--palette-accent);color:var(--palette-accent)}.lib-shell{max-width:1080px;margin:0 auto;padding:0 20px 80px}.lib-header{background:var(--bg);z-index:5;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0 16px;display:flex;position:sticky;top:0}.lib-back{color:var(--text-secondary);white-space:nowrap;font-size:.9rem;text-decoration:none}.lib-back:hover{color:var(--text)}.lib-title{font-family:var(--font-headline), Georgia, serif;color:var(--text);margin:0;font-size:1.6rem}.lib-search{border:1px solid var(--border);background:var(--bg-raised);min-width:180px;height:40px;color:var(--text);border-radius:10px;flex:1;padding:0 14px;font-size:.95rem}.lib-search:focus{border-color:var(--palette-accent,var(--saved));outline:none}.lib-add-btn{background:var(--palette-accent,var(--saved));color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;height:40px;padding:0 16px;font-weight:600}.lib-add-btn:disabled{opacity:.5;cursor:default}.lib-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.lib-seg{background:var(--bg-hover);border-radius:10px;padding:3px;display:inline-flex}.lib-seg-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 18px;font-size:.9rem;font-weight:600}.lib-seg-btn.active{background:var(--bg-raised);color:var(--text);box-shadow:var(--shadow)}.lib-chips,.lib-tags{flex-wrap:wrap;gap:8px;display:flex}.lib-tags{margin-bottom:20px}.lib-chip,.lib-tag{border:1px solid var(--border);background:var(--bg-raised);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.82rem}.lib-chip.active,.lib-tag.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.lib-tag-count{color:var(--text-tertiary);margin-left:2px;font-size:.72rem}.lib-chip.active .lib-tag-count{color:var(--bg)}.lib-empty{text-align:center;color:var(--text-tertiary);padding:80px 20px;font-size:.95rem}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.lib-card{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:14px;flex-direction:column;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.lib-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border)}.lib-card-shot{aspect-ratio:16/10;cursor:pointer;background:var(--bg-hover);overflow:hidden}.lib-card-shot img{object-fit:cover;object-position:top;width:100%;height:100%}.lib-card-body{flex-direction:column;flex:1;gap:8px;padding:14px 16px 12px;display:flex}.lib-card-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.72rem;display:flex}.lib-card-type{text-transform:uppercase;letter-spacing:.06em;color:var(--palette-accent,var(--saved));font-weight:700}.lib-card-pending{color:var(--favorited)}.lib-card-title{font-family:var(--font-headline), Georgia, serif;color:var(--text);cursor:pointer;margin:0;font-size:1.05rem;line-height:1.3}.lib-card-title:hover{color:var(--palette-accent,var(--saved))}.lib-card-summary{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.lib-card-note{color:var(--text-secondary);margin:0;font-size:.82rem;font-style:italic}.lib-card-tags{flex-wrap:wrap;gap:6px;display:flex}.lib-card-tag{color:var(--text-secondary);background:var(--bg-hover);border-radius:6px;padding:3px 8px;font-size:.72rem}.lib-card-actions{gap:8px;margin-top:auto;padding-top:8px;display:flex}.lib-card-actions button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:7px;font-size:.8rem}.lib-card-actions button:hover{background:var(--bg-hover);color:var(--text)}.lib-card-actions .danger:hover{color:#d64545;border-color:#d64545}.lib-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lib-modal{background:var(--bg);border-radius:16px;flex-direction:column;width:100%;max-width:720px;max-height:90vh;display:flex;overflow:hidden}.lib-modal-bar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:12px 16px;display:flex}.lib-modal-bar button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:.9rem}.lib-modal-bar .danger:hover{color:#d64545}.lib-modal-content{padding:24px 28px;overflow-y:auto}.lib-add{background:var(--bg-raised);border-radius:16px;flex-direction:column;gap:12px;width:100%;max-width:460px;padding:24px;display:flex}.lib-add h3{font-family:var(--font-headline), Georgia, serif;color:var(--text);margin:0}.lib-add-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.lib-add-actions button:first-child{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;height:40px;padding:0 16px}.lib-upsell{text-align:center;max-width:460px;color:var(--text-secondary);margin:80px auto}.lib-upsell h2{font-family:var(--font-headline), Georgia, serif;color:var(--text)}.lib-back-btn{color:var(--palette-accent,var(--saved));margin-top:20px;text-decoration:none;display:inline-block}
