:root{color-scheme:light;color:var(--text);background:var(--app-bg);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,Microsoft YaHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--app-bg: #f5f7f6;--login-bg: #fafbf9;--shell-bg: #eceff0;--sidebar-bg: #f8faf9;--panel-bg: #ffffff;--reader-bg: #fcfcfb;--surface-bg: #ffffff;--surface-muted: #f1f4f3;--surface-soft: #e7f3ef;--item-hover: #f3f6f5;--item-active: #e3f1ec;--line: #d9dfdc;--line-soft: #edf1ef;--line-strong: #c7d0cb;--text: #1f2a27;--text-strong: #111917;--text-muted: #61706a;--text-soft: #68756f;--accent: #167760;--accent-strong: #0f5f4c;--accent-soft: #e0f2ec;--accent-border: #95c9ba;--accent-on: #ffffff;--brand: #167760;--info: #315f8c;--info-soft: #e8f0f8;--danger: #a33a32;--danger-soft: #fff0ed;--danger-border: #efc6bf;--focus: rgba(22, 119, 96, .22);--shadow-panel: 0 18px 58px rgba(25, 35, 31, .11);--shadow-row: 0 8px 22px rgba(25, 35, 31, .08);--scrollbar-size: 10px;--scrollbar-thumb: color-mix(in srgb, var(--line-strong) 72%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--accent) 55%, var(--line-strong));--scrollbar-track: color-mix(in srgb, var(--surface-muted) 58%, transparent)}:root[data-theme=dark]{color-scheme:dark;--app-bg: #101312;--login-bg: #121615;--shell-bg: #141716;--sidebar-bg: #181c1b;--panel-bg: #171b1a;--reader-bg: #101312;--surface-bg: #202522;--surface-muted: #252b28;--surface-soft: #15332c;--item-hover: #202622;--item-active: #18342e;--line: #313a36;--line-soft: #252c29;--line-strong: #45504b;--text: #dfe6e1;--text-strong: #edf2ee;--text-muted: #a9b4af;--text-soft: #7f8d87;--accent: #8bd8c2;--accent-strong: #b4f1dc;--accent-soft: #15332c;--accent-border: #346e5f;--accent-on: #08221b;--brand: #8bd8c2;--info: #a8c7fa;--info-soft: #1b2d40;--danger: #ffb4a8;--danger-soft: #3b211e;--danger-border: #884b44;--focus: rgba(139, 216, 194, .24);--shadow-panel: 0 26px 80px rgba(0, 0, 0, .46);--shadow-row: 0 14px 34px rgba(0, 0, 0, .24);--scrollbar-thumb: color-mix(in srgb, var(--line-strong) 78%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--accent) 58%, var(--line-strong));--scrollbar-track: color-mix(in srgb, var(--surface-bg) 36%, transparent)}*{box-sizing:border-box}html{background:var(--app-bg);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--app-bg);font-variant-numeric:tabular-nums;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{min-height:42px;border:3px solid transparent;border-radius:999px;background:var(--scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--text-strong)}.boot,.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,color-mix(in srgb,var(--panel-bg) 70%,transparent),transparent 46%),linear-gradient(180deg,var(--login-bg),var(--app-bg))}.boot{color:var(--text-muted)}.login-panel{width:min(430px,calc(100vw - 32px));display:grid;gap:18px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:var(--shadow-panel)}.login-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-line,.app-mark-brand{display:flex;align-items:center;flex:1 1 auto;gap:12px;min-width:0}.brand-line>svg,.app-mark-brand>svg{flex:0 0 auto;color:var(--brand)}.brand-line h1{margin:0;color:var(--text-strong);font-size:24px;line-height:1.1;letter-spacing:0}.brand-line>div,.app-mark-brand>div{min-width:0}.brand-line p,.app-mark span{margin:3px 0 0;color:var(--text-muted);font-size:13px}.login-panel label{display:grid;gap:7px;color:var(--text-muted);font-size:13px;font-weight:700}.login-panel input,.compact-form input,.compact-form select,.search-box input,.opml-box textarea,.settings-form input,.settings-inline-form input,.settings-inline-form select,.settings-opml-textarea,.keyword-rule-form input,.keyword-rule-form textarea,.keyword-match-toolbar select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface-bg);color:var(--text);outline:none}.login-panel input::placeholder,.compact-form input::placeholder,.search-box input::placeholder,.opml-box textarea::placeholder,.settings-form input::placeholder,.settings-inline-form input::placeholder,.settings-opml-textarea::placeholder,.keyword-rule-form input::placeholder,.keyword-rule-form textarea::placeholder{color:var(--text-soft)}.login-panel input{height:42px;padding:0 12px}.login-panel input:focus,.compact-form input:focus,.compact-form select:focus,.search-box:focus-within,.opml-box textarea:focus,.settings-form input:focus,.settings-inline-form input:focus,.settings-inline-form select:focus,.settings-opml-textarea:focus,.keyword-rule-form input:focus,.keyword-rule-form textarea:focus,.keyword-match-toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.primary-button{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:8px;background:var(--accent);color:var(--accent-on);font-weight:800;transition:background .14s ease,transform .14s ease}.primary-button:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.error-line{padding:9px 10px;border:1px solid var(--danger-border);border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:13px}.reader-shell{height:100vh;display:grid;grid-template-columns:280px 8px 420px 8px minmax(0,1fr);overflow:hidden;background:var(--shell-bg)}.pane-resizer{position:relative;min-width:8px;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--line) 44%,transparent),transparent),var(--shell-bg);cursor:col-resize;outline:none}.pane-resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:color-mix(in srgb,var(--line-strong) 68%,transparent);opacity:.52;transform:translate(-50%);transition:background .12s ease,opacity .12s ease}.pane-resizer:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--surface-bg);box-shadow:0 1px 3px color-mix(in srgb,var(--text) 10%,transparent);opacity:.7;transform:translate(-50%,-50%);transition:border-color .14s ease,background .14s ease,height .14s ease,opacity .14s ease}.pane-resizer:hover:before,.pane-resizer:focus-visible:before,body.is-resizing-panes .pane-resizer:before{background:color-mix(in srgb,var(--accent) 38%,var(--line));opacity:.78}.pane-resizer:hover:after,.pane-resizer:focus-visible:after,body.is-resizing-panes .pane-resizer:after{height:48px;border-color:var(--accent-border);background:var(--surface-soft);opacity:1}body.is-resizing-panes{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-panes *{cursor:col-resize!important}.sidebar,.article-list-pane,.reader-pane{min-width:0;min-height:0}.sidebar,.article-list,.reader-pane,.opml-box textarea,.settings-opml-textarea{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-gutter:stable;scrollbar-width:thin}.sidebar{display:flex;flex-direction:column;gap:12px;padding:16px;border-right:1px solid var(--line);background:var(--sidebar-bg);overflow-y:auto}.app-mark{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 8px;border-bottom:1px solid var(--line-soft)}.app-mark-actions{display:flex;flex:0 0 auto;gap:8px}.app-mark strong{display:block;overflow:hidden;color:var(--text-strong);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.compact-form{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px}.compact-form.feed-form{grid-template-columns:minmax(0,1fr) minmax(86px,112px) 36px}.compact-form input,.compact-form select{height:36px;padding:0 10px;font-size:13px}.compact-form select{color:var(--text)}.compact-form button,.opml-actions button,.opml-actions a,.icon-button,.theme-toggle,.secondary-button,.reader-actions button,.reader-actions a,.context-line button{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-bg);color:var(--text);transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.compact-form button:hover:not(:disabled),.opml-actions button:hover:not(:disabled),.opml-actions a:hover,.icon-button:hover:not(:disabled),.theme-toggle:hover,.secondary-button:hover:not(:disabled),a.secondary-button:hover,.reader-actions button:hover:not(:disabled),.reader-actions a:hover,.context-line button:hover:not(:disabled){border-color:var(--accent-border);background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface-bg));color:var(--accent-strong);transform:translateY(-1px)}.compact-form button:focus-visible,.opml-actions button:focus-visible,.opml-actions a:focus-visible,.icon-button:focus-visible,.theme-toggle:focus-visible,.secondary-button:focus-visible,.reader-actions button:focus-visible,.reader-actions a:focus-visible,.context-line button:focus-visible,.feed-row:focus-visible,.folder-row:focus-visible,.preset-row:focus-visible,.preset-group-title button:focus-visible,.article-row:focus-visible,.keyword-check:focus-within,.keyword-match-row:focus-within{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle[aria-pressed=true],.icon-button.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.feed-section{display:grid;gap:4px}.folder-title{padding:12px 8px 4px;color:var(--text-soft);font-size:12px;font-weight:800}.preset-section{display:grid;gap:6px;padding-top:4px}.preset-group{display:grid;gap:6px}.preset-group+.preset-group{margin-top:6px}.preset-group-title{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 0 8px;color:var(--text-soft);font-size:12px;font-weight:800}.preset-group-title button{height:26px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface-bg);color:var(--text-muted);font-size:12px}.preset-group-title button:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-soft);color:var(--accent-strong)}.preset-row{width:100%;min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 68%,var(--surface-bg));color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.preset-row:hover,.preset-row.added{border-color:var(--accent-border);background:var(--surface-soft);color:var(--accent-strong)}.preset-row:hover{box-shadow:var(--shadow-row)}.preset-row svg{justify-self:end}.preset-copy{min-width:0;display:grid;gap:3px}.preset-copy strong,.preset-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.preset-copy strong{font-size:13px}.preset-copy small{color:var(--text-soft);font-size:11px}.feed-row,.folder-row{width:100%;height:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,color .14s ease}.feed-row.nested{padding-left:20px}.folder-row{margin-top:4px;background:color-mix(in srgb,var(--surface-muted) 76%,transparent);font-weight:800}.feed-row span,.folder-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feed-row b,.folder-row b{min-width:24px;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--surface-muted) 82%,var(--surface-bg));color:var(--text-muted);font-size:12px;text-align:center}.feed-row:hover,.feed-row.active,.folder-row:hover,.folder-row.active{border-color:var(--accent-border);background:var(--item-active);color:var(--accent-strong)}.feed-row.active b,.folder-row.active b{background:var(--accent);color:var(--accent-on)}.opml-box{margin-top:auto;display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line-soft)}.opml-heading{display:grid;gap:2px}.opml-heading span{color:var(--text-muted);font-size:12px;font-weight:800}.opml-heading small{color:var(--text-soft);font-size:11px}.opml-box textarea{min-height:78px;max-height:160px;resize:vertical;padding:10px;font-size:12px}.opml-actions{display:flex;gap:8px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.sidebar-empty{margin-top:8px;padding:12px;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 62%,transparent);color:var(--text-soft);font-size:13px;line-height:1.5}.settings-shell{min-height:100vh;background:linear-gradient(180deg,color-mix(in srgb,var(--panel-bg) 72%,transparent),transparent 260px),var(--app-bg)}.settings-header{max-width:1180px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto;padding:24px 24px 18px}.settings-header-actions{display:flex;align-items:center;flex:0 0 auto;gap:10px}.settings-layout{max-width:1180px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 auto;padding:0 24px 48px}.settings-section{display:grid;align-content:start;gap:16px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:0 12px 36px color-mix(in srgb,var(--text) 7%,transparent)}.settings-section-wide{grid-column:1 / -1}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-section-header h2,.settings-feed-group h3{margin:0;color:var(--text-strong);letter-spacing:0}.settings-section-header h2{font-size:18px;line-height:1.25}.settings-section-header p{margin:5px 0 0;color:var(--text-muted);font-size:13px;line-height:1.5}.settings-form,.settings-inline-form{display:grid;gap:12px}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.settings-form label{display:grid;gap:7px;color:var(--text-muted);font-size:13px;font-weight:800}.settings-form input,.settings-inline-form input,.settings-inline-form select{height:40px;padding:0 11px;font-size:13px}.feed-settings-form{grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto}.folder-settings-form{grid-template-columns:minmax(0,1fr) auto}.settings-submit,.icon-label-button,.secondary-button{width:auto;padding:0 12px;white-space:nowrap}.settings-status{max-width:1132px;margin:0 auto 18px;padding:10px 12px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px}.settings-status.error{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.settings-feed-list,.settings-feed-group,.settings-preset-grid{display:grid;gap:12px}.settings-feed-group h3{font-size:13px}.settings-feed-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 54%,var(--surface-bg))}.settings-feed-copy{min-width:0;display:grid;gap:5px}.settings-feed-copy strong,.settings-feed-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.settings-feed-copy strong{color:var(--text-strong);font-size:14px}.settings-feed-copy small{color:var(--text-soft);font-size:12px}.settings-feed-meta{display:flex;flex-wrap:wrap;gap:6px}.settings-feed-meta span{min-height:22px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--surface-bg);color:var(--text-muted);font-size:12px}.settings-feed-meta .danger-text{background:var(--danger-soft);color:var(--danger)}.settings-feed-actions,.settings-action-row{display:flex;flex-wrap:wrap;gap:8px}.icon-button.danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.settings-empty{padding:16px;border:1px dashed var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 62%,transparent);color:var(--text-muted);font-size:13px;text-align:center}.settings-empty.compact{padding:10px;text-align:left}.settings-preset-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.settings-opml-textarea{min-height:180px;resize:vertical;padding:12px;font-size:13px;line-height:1.5}.keyword-section{gap:18px}.keyword-rule-form{display:grid;gap:14px}.keyword-form-main{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(280px,1fr);gap:12px}.keyword-rule-form input,.keyword-match-toolbar select{height:40px;padding:0 11px;font-size:13px;outline:none}.keyword-rule-form textarea{min-height:92px;resize:vertical;padding:11px;font-size:13px;line-height:1.5;outline:none}.keyword-toggle-grid,.keyword-target-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.keyword-check{min-height:36px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 58%,var(--surface-bg));color:var(--text);font-size:13px;cursor:pointer}.keyword-check input,.keyword-match-row input{width:16px;height:16px;accent-color:var(--accent)}.keyword-check span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.keyword-target-panel{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 42%,var(--surface-bg))}.keyword-target-actions,.keyword-match-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.keyword-target-actions span{margin-right:auto;color:var(--text-muted);font-size:13px;font-weight:800}.keyword-target-actions button{height:30px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-bg);color:var(--text-muted);font-size:12px}.keyword-target-actions button:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-soft);color:var(--accent-strong)}.keyword-submit{justify-self:start}.keyword-rule-list,.keyword-match-list{display:grid;gap:10px}.keyword-rule-card,.keyword-match-row{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-muted) 52%,var(--surface-bg))}.keyword-rule-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px}.keyword-rule-copy,.keyword-match-copy{min-width:0;display:grid;gap:6px}.keyword-rule-title{display:flex;align-items:center;gap:8px}.keyword-rule-title strong,.keyword-match-copy strong{min-width:0;overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.keyword-rule-title span{min-height:22px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px}.keyword-chip-row{display:flex;flex-wrap:wrap;gap:6px}.keyword-chip-row span,.keyword-chip-row b{min-height:22px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--info-soft);color:var(--info);font-size:12px;font-weight:700}.keyword-rule-copy small,.keyword-match-copy small,.keyword-match-copy>span:not(.keyword-chip-row){color:var(--text-muted);font-size:12px;line-height:1.45}.keyword-match-toolbar{justify-content:flex-end}.keyword-match-toolbar select{width:min(220px,100%)}.keyword-match-row{grid-template-columns:18px minmax(0,1fr) auto;align-items:start;padding:12px;cursor:pointer}.keyword-match-status{display:grid;justify-items:end;gap:6px;color:var(--text-muted);font-size:12px}.keyword-match-status b{min-height:22px;display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--surface-bg);font-weight:700}.keyword-match-status .danger-text{background:var(--danger-soft);color:var(--danger)}.article-list-pane{display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel-bg)}.toolbar{min-height:62px;display:flex;align-items:center;gap:8px;padding:14px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--panel-bg) 92%,var(--surface-muted))}.toolbar-actions{display:flex;flex:0 0 auto;gap:8px}.search-box{height:36px;min-width:0;flex:1;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-bg);color:var(--text-muted);transition:border-color .14s ease,box-shadow .14s ease}.search-box input{height:32px;padding:0;border:0;background:transparent}.context-line{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line-soft);color:var(--text-muted);font-size:13px}.context-line>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:800}.context-line button{width:auto;padding:0 10px;white-space:nowrap}.status-line{margin:10px 14px 0;padding:9px 10px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:13px}.status-line.error{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.article-list{flex:1;display:grid;align-content:start;gap:4px;overflow-y:auto;padding:8px}.article-row{position:relative;width:100%;display:grid;gap:7px;padding:12px 12px 12px 15px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);text-align:left;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.article-row:before{content:"";position:absolute;top:12px;bottom:12px;left:5px;width:3px;border-radius:999px;background:transparent;transition:background .14s ease,opacity .14s ease}.article-row:hover{background:var(--item-hover)}.article-row.active{border-color:var(--accent-border);background:var(--item-active);box-shadow:var(--shadow-row)}.article-row.unread:before{background:var(--accent);opacity:.58}.article-row.active:before{background:var(--accent);opacity:1}.article-row-top{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;color:var(--text-soft);font-size:12px}.article-row-top span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.article-row.unread .article-row-top svg{color:var(--accent)}.article-row.read .article-row-top svg{color:var(--text-soft)}.article-row strong{color:var(--text-strong);font-size:15px;line-height:1.36}.article-row.read strong{color:color-mix(in srgb,var(--text-strong) 82%,var(--text-muted));font-weight:650}.article-row.unread strong{font-weight:820}.article-row p{margin:0;color:var(--text-muted);font-size:13px;line-height:1.48}.article-row.read p,.article-row.read .article-row-top{color:var(--text-soft)}.article-flags{display:flex;flex-wrap:wrap;gap:6px}.article-flags span,.keyword-row span,.feed-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--info-soft);color:var(--info);font-size:12px}.empty-state,.reader-empty{height:100%;display:grid;place-items:center;align-content:center;gap:8px;color:var(--text-soft);text-align:center}.reader-pane{overflow-y:auto;background:var(--reader-bg)}.reader-pane article{max-width:840px;margin:0 auto;padding:40px clamp(22px,4vw,54px) 80px}.reader-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}.reader-header h1{margin:12px 0 8px;color:var(--text-strong);font-size:31px;line-height:1.16;letter-spacing:0}.reader-header p{margin:0;color:var(--text-soft)}.reader-actions{display:flex;gap:8px}.reader-actions a{width:auto;padding:0 12px;white-space:nowrap}.summary-panel{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid color-mix(in srgb,var(--accent-border) 54%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--surface-soft) 42%,var(--surface-bg));color:var(--text)}.summary-panel.muted{grid-template-columns:20px minmax(0,1fr);align-items:center;color:var(--text-muted);background:var(--surface-muted)}.summary-panel.failed{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.summary-title{display:flex;align-items:center;gap:8px;color:var(--text-strong)}.summary-title svg{color:var(--accent-strong)}.summary-title span{margin-left:auto;color:var(--text-soft);font-size:12px}.summary-panel p{margin:0;line-height:1.65}.summary-panel ul{margin:0;padding-left:20px;line-height:1.7}.keyword-row{display:flex;flex-wrap:wrap;gap:6px}.article-body{color:var(--text);font-size:17px;line-height:1.84}.article-body p{margin:0 0 18px}.reader-empty{padding:24px}.reader-empty h2{margin:0;color:var(--text-strong)}.reader-empty p{margin:0}:root[data-theme=dark] .login-shell,:root[data-theme=dark] .boot{background:linear-gradient(180deg,var(--panel-bg) 0%,var(--app-bg) 52%,#0d100f 100%)}:root[data-theme=dark] .login-panel{border-color:var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 72%,transparent),transparent 120px),var(--panel-bg)}:root[data-theme=dark] .reader-shell{background:var(--shell-bg)}:root[data-theme=dark] .settings-shell{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 30%,transparent),transparent 260px),var(--app-bg)}:root[data-theme=dark] .settings-section,:root[data-theme=dark] .settings-feed-item,:root[data-theme=dark] .keyword-rule-card,:root[data-theme=dark] .keyword-match-row{background:color-mix(in srgb,var(--surface-bg) 82%,#000000);box-shadow:none}:root[data-theme=dark] .settings-feed-meta span{background:color-mix(in srgb,var(--surface-muted) 74%,#000000)}:root[data-theme=dark] .keyword-check,:root[data-theme=dark] .keyword-target-panel,:root[data-theme=dark] .keyword-match-status b{background:color-mix(in srgb,var(--surface-bg) 78%,#000000)}:root[data-theme=dark] .sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 32%,transparent),transparent 180px),var(--sidebar-bg)}:root[data-theme=dark] .article-list-pane{background:var(--panel-bg)}:root[data-theme=dark] .reader-pane{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg) 36%,transparent),transparent 240px),var(--reader-bg)}:root[data-theme=dark] .toolbar{background:color-mix(in srgb,var(--panel-bg) 88%,var(--surface-bg))}:root[data-theme=dark] .compact-form input,:root[data-theme=dark] .compact-form select,:root[data-theme=dark] .search-box,:root[data-theme=dark] .opml-box textarea,:root[data-theme=dark] .settings-form input,:root[data-theme=dark] .settings-inline-form input,:root[data-theme=dark] .settings-inline-form select,:root[data-theme=dark] .settings-opml-textarea,:root[data-theme=dark] .keyword-rule-form input,:root[data-theme=dark] .keyword-rule-form textarea,:root[data-theme=dark] .keyword-match-toolbar select,:root[data-theme=dark] .login-panel input{background:color-mix(in srgb,var(--surface-bg) 84%,#000000)}:root[data-theme=dark] .compact-form button,:root[data-theme=dark] .opml-actions button,:root[data-theme=dark] .opml-actions a,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .reader-actions button,:root[data-theme=dark] .reader-actions a,:root[data-theme=dark] .context-line button,:root[data-theme=dark] .preset-group-title button{background:color-mix(in srgb,var(--surface-bg) 86%,#000000);color:var(--text-muted)}:root[data-theme=dark] .compact-form button:hover:not(:disabled),:root[data-theme=dark] .opml-actions button:hover:not(:disabled),:root[data-theme=dark] .opml-actions a:hover,:root[data-theme=dark] .icon-button:hover:not(:disabled),:root[data-theme=dark] .theme-toggle:hover,:root[data-theme=dark] .secondary-button:hover:not(:disabled),:root[data-theme=dark] a.secondary-button:hover,:root[data-theme=dark] .reader-actions button:hover:not(:disabled),:root[data-theme=dark] .reader-actions a:hover,:root[data-theme=dark] .context-line button:hover:not(:disabled),:root[data-theme=dark] .preset-group-title button:hover:not(:disabled){background:color-mix(in srgb,var(--surface-bg) 78%,var(--accent-soft));color:var(--accent-strong)}:root[data-theme=dark] .theme-toggle[aria-pressed=true],:root[data-theme=dark] .icon-button.active{background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface-bg));color:var(--accent-strong)}:root[data-theme=dark] .preset-row{background:color-mix(in srgb,var(--surface-bg) 78%,#000000)}:root[data-theme=dark] .preset-row:hover,:root[data-theme=dark] .preset-row.added{background:color-mix(in srgb,var(--surface-bg) 72%,var(--accent-soft))}:root[data-theme=dark] .feed-row:hover,:root[data-theme=dark] .feed-row.active,:root[data-theme=dark] .folder-row:hover,:root[data-theme=dark] .folder-row.active{background:color-mix(in srgb,var(--item-active) 70%,var(--surface-bg))}:root[data-theme=dark] .folder-row{background:color-mix(in srgb,var(--surface-bg) 74%,#000000)}:root[data-theme=dark] .feed-row.active b,:root[data-theme=dark] .folder-row.active b{background:var(--accent);color:var(--accent-on)}:root[data-theme=dark] .article-row{border-color:transparent}:root[data-theme=dark] .article-row:hover{background:color-mix(in srgb,var(--surface-bg) 70%,transparent)}:root[data-theme=dark] .article-row.active{border-color:color-mix(in srgb,var(--accent-border) 72%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 7px),color-mix(in srgb,var(--item-active) 76%,var(--surface-bg));box-shadow:none}:root[data-theme=dark] .article-row p{color:var(--text-muted)}:root[data-theme=dark] .article-row.read p,:root[data-theme=dark] .article-row.read .article-row-top{color:var(--text-soft)}:root[data-theme=dark] .feed-chip,:root[data-theme=dark] .article-flags span,:root[data-theme=dark] .keyword-row span,:root[data-theme=dark] .keyword-chip-row span,:root[data-theme=dark] .keyword-chip-row b{background:color-mix(in srgb,var(--info-soft) 78%,#000000);color:var(--info)}:root[data-theme=dark] .summary-panel{border-color:color-mix(in srgb,var(--accent-border) 42%,var(--line));background:color-mix(in srgb,var(--surface-bg) 78%,#000000);color:var(--text)}:root[data-theme=dark] .summary-panel.muted{border-color:var(--line-strong);background:color-mix(in srgb,var(--surface-bg) 70%,#000000)}:root[data-theme=dark] .status-line{border-color:color-mix(in srgb,var(--accent-border) 44%,var(--line));background:color-mix(in srgb,var(--accent-soft) 28%,var(--surface-bg))}:root[data-theme=dark] .reader-header h1{color:var(--text-strong)}:root[data-theme=dark] .article-body{color:var(--text)}@media(max-width:1080px){.reader-shell{grid-template-columns:240px 8px 360px 8px minmax(0,1fr)}}@media(max-width:820px){.reader-shell{height:auto;min-height:100vh;grid-template-columns:1fr!important;overflow:visible}.pane-resizer{display:none}.sidebar,.article-list-pane,.reader-pane{border-right:0;border-bottom:1px solid var(--line)}.sidebar{max-height:none}.toolbar{align-items:stretch;flex-wrap:wrap}.search-box{flex-basis:100%}.toolbar-actions{margin-left:auto}.article-list{max-height:58vh}.reader-pane article{padding:28px 18px 56px}.reader-header{grid-template-columns:1fr}.reader-header h1{font-size:28px}.settings-header{align-items:stretch;flex-direction:column;padding:18px 16px 14px}.settings-header-actions,.settings-section-header{align-items:stretch;flex-direction:column}.settings-layout{grid-template-columns:1fr;padding:0 16px 32px}.settings-section{padding:16px}.settings-form,.feed-settings-form,.folder-settings-form,.settings-feed-item,.keyword-form-main,.keyword-rule-card,.keyword-match-row{grid-template-columns:1fr}.keyword-match-toolbar{justify-content:flex-start}.keyword-match-status{justify-items:start}.settings-feed-actions{justify-content:flex-start}.settings-status{margin-right:16px;margin-left:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
