:root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light dark; --bg-color: #ffffff; --text-color: #213547; --sidebar-bg: #f8f9fa; --border-color: #e9ecef; --accent-color: #007bff; --hover-color: #e2e6ea; --sidebar-width: 250px; --item-list-width: 350px; } @media (prefers-color-scheme: dark) { :root { --bg-color: #1a1a1a; --text-color: #e9ecef; --sidebar-bg: #2d2d2d; --border-color: #444; --accent-color: #375a7f; --hover-color: #3e3e3e; } } body { margin: 0; color: var(--text-color); background-color: var(--bg-color); height: 100vh; overflow: hidden; } #app { height: 100%; } .layout { display: flex; height: 100%; } /* Sidebar */ .sidebar { width: var(--sidebar-width); background-color: var(--sidebar-bg); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; } .sidebar-header { padding: 1rem; border-bottom: 1px solid var(--border-color); } .sidebar-header h2 { margin: 0; font-size: 1.1rem; } .feed-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex: 1; } .feed-link { display: block; padding: 0.5rem 1rem; text-decoration: none; color: var(--text-color); font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .feed-item:hover { background-color: var(--hover-color); } .feed-item.active { background-color: var(--hover-color); font-weight: bold; } /* Item List Pane */ .item-list-pane { width: var(--item-list-width); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; background-color: var(--bg-color); } .top-bar { padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color); } .top-bar h1 { margin: 0; font-size: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .item-list-container { flex: 1; overflow-y: auto; } .item-list { list-style: none; padding: 0; margin: 0; } .item-row { padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-color); cursor: pointer; transition: background 0.1s; } .item-row:hover { background-color: var(--hover-color); } .item-row.active { background-color: var(--hover-color); border-left: 3px solid var(--accent-color); } .item-row.read { opacity: 0.6; } .item-title { font-weight: 600; font-size: 0.95rem; margin-bottom: 0.2rem; line-height: 1.3; } .item-meta { font-size: 0.8rem; color: #888; } /* Item Detail Pane */ .item-detail-pane { flex: 1; overflow-y: auto; background-color: var(--bg-color); } .item-detail-content { max-width: 800px; margin: 0 auto; padding: 2rem; } .item-detail header { margin-bottom: 2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 1rem; } .item-detail h1 { font-size: 1.8rem; margin: 0 0 0.5rem 0; } .item-detail h1 a { color: var(--text-color); text-decoration: none; } .full-content { font-size: 1.1rem; line-height: 1.6; } .full-content img { max-width: 100%; height: auto; } .empty-state { display: flex; align-items: center; justify-content: center; height: 100%; color: #888; font-size: 1.2rem; } .loading, .empty { padding: 1rem; text-align: center; color: #888; }