:root{--bg:#fafaf9;--surface:#fff;--sidebar:#f2f2f0;--text:#1c1c1a;--muted:#6b6b66;--border:#e3e3df;--accent:#2bb24c;--accent-soft:#2bb24c1f;--star:#e8a400;--danger:#c4372b;--radius:8px;--sidebar-w:280px;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#161615;--surface:#1e1e1c;--sidebar:#121211;--text:#e9e9e4;--muted:#9a9a93;--border:#2e2e2b;--accent-soft:#2bb24c33}}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}input,select{background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:0;padding:6px 8px}button:not(.icon-btn):not(.nav-item){background:var(--accent);color:#fff;border:none;border-radius:6px;padding:6px 12px}button:disabled{opacity:.5;cursor:default}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar);border-right:1px solid var(--border);flex-shrink:0;height:100vh;padding:16px 12px 32px;position:sticky;top:0;overflow-y:auto}.brand{padding:4px 8px 16px;font-size:18px;font-weight:700}.sidebar h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 8px 6px;font-size:11px}.nav{margin:0;padding:0;list-style:none}.nav li{border-radius:6px;align-items:center;display:flex}.nav li.plain{display:block}.nav.nested{padding-left:12px}.nav li:hover{background:var(--border)}.nav li.plain:hover{background:0 0}.nav li.selected{background:var(--accent-soft);font-weight:600}.nav-item{text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.nav-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.row-tools{align-items:center;gap:2px;padding-right:4px;display:none}.row-tools select{background:0 0;border:none;width:22px;padding:0;font-size:12px}.nav li:hover>.row-tools,.row-tools:focus-within{display:flex}.warn{color:var(--danger);padding:0 4px;font-weight:700}.nav li>.row-tools:has(.warn){display:flex}.inline-form{gap:6px;padding:6px 8px;display:flex}.inline-form input,.inline-form select{flex:1}.stack-form{flex-direction:column;gap:6px;padding:0 8px;display:flex}.stack-form .inline-form{padding:0}.error{color:var(--danger);margin:0;font-size:13px}.main{flex:1;min-width:0;padding:0 24px 48px}.toolbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;display:flex;position:sticky;top:0}.title{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0 auto 0 0;font-size:22px;overflow:hidden}.search input{width:200px}.segmented{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.segmented button:not(.icon-btn){background:var(--surface);color:var(--text);border-radius:0;gap:6px;padding:5px 10px;display:inline-flex}.segmented button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.icon-btn{min-width:30px;height:30px;color:var(--muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.icon-btn:hover{background:var(--border);color:var(--text)}.icon-btn.small{min-width:22px;height:22px;font-size:12px}.icon-btn.active{color:var(--accent)}.icon-btn.saved{color:var(--star)}.menu-toggle{display:none}.banner{border-radius:var(--radius);color:var(--danger);background:#c4372b1a;justify-content:space-between;align-items:center;margin:12px 0;padding:10px 12px;display:flex}.banner.notice{background:var(--accent-soft);color:var(--text)}.note{color:var(--muted);margin:0;font-size:13px}.dead-links{font-size:13px}.dead-links ul{max-height:240px;margin:4px 0 0;padding-left:18px;overflow-y:auto}.dead-links li{overflow-wrap:anywhere;margin-bottom:4px}.empty{text-align:center;color:var(--muted);padding:80px 0}.muted{color:var(--muted)}.center{text-align:center;padding:16px}.actions{align-items:center;gap:2px;display:flex}.board-select{max-width:120px;padding:2px 4px;font-size:12px}.share{position:relative}.share .menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:150px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000026}.share .menu a,.share .menu button:not(.icon-btn){color:var(--text);text-align:left;background:0 0;border-radius:4px;padding:7px 10px;font-size:14px;text-decoration:none}.share .menu a:hover,.share .menu button:hover{background:var(--accent-soft)}.list{margin:0;padding:0;list-style:none}.headlines .row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:160px 1fr auto auto;align-items:center;gap:12px;padding:6px 8px;display:grid}.headlines .row:hover{background:var(--surface)}.headlines .feed-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.headlines .headline{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.headlines .time{color:var(--muted);font-size:12px}.headlines .actions{visibility:hidden}.headlines .row:hover .actions,.headlines .row:focus-within .actions{visibility:visible}.read .headline,.read h3,.read h2 a{color:var(--muted);font-weight:400}.magazine .card{border-bottom:1px solid var(--border);cursor:pointer;gap:16px;padding:18px 0;display:flex}.magazine .thumb{object-fit:cover;background:var(--border);border-radius:6px;flex-shrink:0;width:160px;height:100px}.magazine .thumb.placeholder{color:var(--muted);justify-content:center;align-items:center;font-size:32px;display:flex}.card-body{flex:1;min-width:0}.card-body h3{margin:0 0 4px;font-size:17px;line-height:1.3}.card-body p{color:var(--muted);margin:6px 0;font-size:14px;line-height:1.5}.meta{color:var(--muted);font-size:12px}.meta .feed-name{font-weight:600}.full-item{border-bottom:1px solid var(--border);max-width:760px;margin:0 auto;padding:28px 0}.full-item h2{margin:0 0 4px}.full-item h2 a{text-decoration:none}.full-item header .actions{margin-top:6px}.content{overflow-wrap:anywhere;font-size:17px;line-height:1.7}.content img,.content video{border-radius:6px;max-width:100%;height:auto}.content pre{background:var(--sidebar);border-radius:6px;padding:12px;font-size:14px;overflow-x:auto}.content blockquote{border-left:3px solid var(--border);color:var(--muted);margin-left:0;padding-left:16px}.content a{color:var(--accent)}.content table{border-collapse:collapse;display:block;overflow-x:auto}.content td,.content th{border:1px solid var(--border);padding:4px 8px}.overlay{z-index:30;background:#00000073;justify-content:center;padding:32px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.reader{background:var(--surface);border-radius:12px;width:100%;max-width:780px;height:max-content;padding:16px 40px 40px}.reader-bar{background:var(--surface);align-items:center;gap:4px;padding:8px 0;display:flex;position:sticky;top:-32px}.reader-bar .close{margin-left:auto}.reader h1{margin:12px 0 6px;font-size:28px;line-height:1.25}.reader h1 a{text-decoration:none}.visit{color:var(--accent);font-weight:600}.more{padding:8px 20px}.token-gate{flex-direction:column;gap:10px;max-width:320px;margin:15vh auto;padding:0 16px;display:flex}.scrim{display:none}@media (width<=800px){.menu-toggle{display:inline-flex}.sidebar{z-index:40;transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.menu-open .sidebar{transform:none}.menu-open .scrim{z-index:35;background:#0006;display:block;position:fixed;inset:0}.main{padding:0 16px 48px}.title{flex:calc(100% - 46px);font-size:18px}.search{order:10;width:100%}.search input{width:100%}.seg-label{display:none}.headlines .row{grid-template-columns:1fr auto}.headlines .feed-name,.headlines .actions{display:none}.magazine .thumb{width:96px;height:72px}.reader{padding:8px 18px 28px}.overlay{padding:0}.reader{border-radius:0;min-height:100%}.reader-bar{top:0}}.dialog{background:var(--surface);border-radius:12px;gap:14px;width:100%;max-width:480px;height:max-content;margin-top:10vh;padding:20px 24px 24px}.dialog h2{margin:0;font-size:18px}.dialog label{flex-direction:column;gap:4px;font-size:14px;font-weight:600;display:flex}.dialog label small{font-size:12px;font-weight:400}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}button.secondary:not(.icon-btn){background:var(--border);color:var(--text)}button.warn{color:var(--danger);font-weight:700}
