.reader-layout{--feed-width: 240px;--article-width: 340px;display:grid;grid-template-columns:var(--feed-width) var(--article-width) 1fr;height:100vh;font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,Adwaita Sans,Cantarell,Ubuntu,roboto,noto,helvetica,arial,sans-serif;color:#111;background:#fafaf8}.reader-layout.feed-collapsed{--feed-width: 40px}.reader-layout.article-collapsed{--article-width: 40px}.reader-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-family:inherit;color:#999}.pane-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f0eee8}.pane-header h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999}.pane-toggle{background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px;display:flex;align-items:center}.pane-toggle:hover{color:#111;background:#f0eee8}.feed-pane{border-right:1px solid #f0eee8;display:flex;flex-direction:column;overflow:hidden}.feed-pane.collapsed{border-right:1px solid #f0eee8;display:flex;align-items:center;justify-content:flex-start;padding-top:12px}.feed-list{flex:1;overflow-y:auto;padding:8px 0}.feed-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 16px;border:none;background:none;cursor:pointer;text-align:left;font-size:13px;color:#111;transition:background-color .15s}.feed-item:hover{background:#f0eee8}.feed-item.selected{background:#eb5939;color:#fff}.feed-item.selected .unread-badge{background:#ffffff4d;color:#fff}.feed-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{background:#f0eee8;color:#666;font-size:11px;padding:1px 6px;border-radius:10px;font-weight:600}.feed-actions{display:flex;gap:4px;padding:8px 16px;border-top:1px solid #f0eee8}.action-btn{background:none;border:none;cursor:pointer;color:#999;padding:6px;border-radius:4px;display:flex;align-items:center}.action-btn:hover:not(:disabled){color:#111;background:#f0eee8}.action-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-btn.refreshing svg{animation:spin 1s linear infinite}.article-pane{border-right:1px solid #f0eee8;display:flex;flex-direction:column;overflow:hidden}.article-pane.collapsed{border-right:1px solid #f0eee8;display:flex;align-items:center;justify-content:flex-start;padding-top:12px}.article-list{flex:1;overflow-y:auto}.article-item{display:block;width:100%;padding:10px 16px;border:none;border-bottom:1px solid #f0eee8;background:none;cursor:pointer;text-align:left;transition:background-color .15s}.article-item:hover{background:#f0eee8}.article-item.selected{background:#eb5939;color:#fff}.article-item.selected .article-meta{color:#ffffffb3}.article-item.unread .article-title{font-weight:700}.article-item.departing{animation:article-fade-out .3s ease-out forwards}@keyframes article-fade-out{0%{opacity:1;max-height:80px}to{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-bottom-width:0}}.article-title{font-size:13px;line-height:1.4;margin-bottom:4px;font-weight:400}.article-meta{display:flex;justify-content:space-between;font-size:11px;color:#999}.article-score{color:#eb5939;font-weight:600}.search-bar{display:flex;align-items:center;gap:8px;flex:1;color:#999}.search-bar input{flex:1;border:none;background:none;font-size:14px;outline:none;color:#111}.search-close{background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px}.search-close:hover{color:#111}.reading-pane{overflow-y:auto;padding:32px 48px}.reading-pane.empty{display:flex;align-items:center;justify-content:center;color:#999}.reading-header{margin-bottom:24px}.reading-title{font-size:24px;font-weight:700;line-height:1.3;margin-bottom:8px;font-family:inherit}.reading-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#999}.reading-feed{font-weight:600;color:#eb5939}.reading-link{display:flex;align-items:center;gap:4px;color:#999;text-decoration:none}.reading-link:hover{color:#111}.mark-unread-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#999;font-size:13px}.mark-unread-btn:hover{color:#111}.reading-content{font-family:Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,Droid Serif,Times,Source Serif Pro,serif;font-size:16px;line-height:1.7;color:#333}.reading-content p{margin-bottom:1em}.reading-content a{color:#eb5939;text-decoration:none}.reading-content a:hover{text-decoration:underline}.reading-content img{max-width:100%;height:auto}.reading-content pre{background:#f0eee8;padding:12px 16px;border-radius:4px;overflow-x:auto;font-size:14px;margin-bottom:1em}.reading-content code{background:#f0eee8;padding:2px 4px;border-radius:2px;font-size:.9em}.reading-content pre code{background:none;padding:0;border-radius:0}.reading-content blockquote{border-left:3px solid #EB5939;margin:0 0 1em;padding:0 0 0 16px;color:#666}.reading-content h1,.reading-content h2,.reading-content h3,.reading-content h4,.reading-content h5,.reading-content h6{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,Adwaita Sans,Cantarell,Ubuntu,roboto,noto,helvetica,arial,sans-serif;margin:1.5em 0 .5em;line-height:1.3}.continuous-wrapper{overflow:hidden}.continuous-reader{overflow-y:auto;height:100vh;padding:32px 48px}.article-divider{border:none;border-top:2px solid #f0eee8;margin:48px 0}.continuous-article{margin-bottom:48px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:8px;width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0eee8}.modal-header h2{font-size:16px;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px}.modal-close:hover{color:#111}.modal-body{padding:16px 20px;overflow-y:auto}.feed-manager-list{margin-bottom:24px}.feed-manager-item{padding:8px 0;border-bottom:1px solid #f0eee8}.feed-display-row{display:flex;align-items:center;justify-content:space-between}.feed-manager-name{font-size:14px}.feed-manager-actions{display:flex;gap:4px}.feed-manager-actions button{background:none;border:none;cursor:pointer;color:#999;padding:4px;border-radius:4px}.feed-manager-actions button:hover{color:#111;background:#f0eee8}.feed-manager-actions .confirm-delete{color:#eb5939}.feed-edit-row{display:flex;gap:4px}.feed-edit-row input{flex:1;border:1px solid #f0eee8;border-radius:4px;padding:4px 8px;font-size:14px;outline:none}.feed-edit-row input:focus{border-color:#eb5939}.feed-edit-row button{background:none;border:none;cursor:pointer;color:#999;padding:4px}.feed-add-form{padding-top:16px}.feed-add-form h3{font-size:14px;margin-bottom:8px;color:#999}.feed-add-form input{display:block;width:100%;border:1px solid #f0eee8;border-radius:4px;padding:8px 12px;font-size:14px;margin-bottom:8px;outline:none}.feed-add-form input:focus{border-color:#eb5939}.form-error{color:#eb5939;font-size:12px;margin-bottom:8px}.add-feed-btn{display:flex;align-items:center;gap:4px;background:#eb5939;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;cursor:pointer}.add-feed-btn:hover{background:#d04e30}.feed-item:focus-visible,.article-item:focus-visible,.pane-toggle:focus-visible,.action-btn:focus-visible,.search-close:focus-visible,.mark-unread-btn:focus-visible,.modal-close:focus-visible,.add-feed-btn:focus-visible,.feed-manager-actions button:focus-visible,.feed-edit-row button:focus-visible,.reading-link:focus-visible{outline:2px solid #EB5939;outline-offset:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ccc}@media(max-width:768px){.reader-layout{grid-template-columns:1fr}.feed-pane,.article-pane{border-right:none;border-bottom:1px solid #f0eee8}.reader-layout.feed-collapsed .feed-pane .feed-list,.reader-layout.feed-collapsed .feed-pane .feed-actions,.reader-layout.article-collapsed .article-pane .article-list{display:none}}
