:root{--font-heading:"Avenir Next","Trebuchet MS","Gill Sans",sans-serif;--font-body:"Optima","Candara","Segoe UI",sans-serif;--bg:#0f1216;--bg-alt:#151a20;--panel:#1b222c;--card:#212b37;--card-border:#2b3644;--text:#ecf2f8;--text-muted:#93a0b2;--accent:#2aa5ff;--accent-strong:#0f82e0;--danger:#c94752;--success:#2f9a68}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{color:var(--text);font-family:var(--font-body),sans-serif;background:radial-gradient(1200px 450px at 70% -20%,#2a4257 0,transparent 60%),linear-gradient(180deg,#0f141a 0,var(--bg) 65%)}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-heading),sans-serif;letter-spacing:-.02em;margin:0}p{margin:0}button,input{font:inherit}.center-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(440px,95vw);background:linear-gradient(180deg,#1a2430,#18222d);border:1px solid var(--card-border);border-radius:1rem;padding:1.5rem;display:grid;grid-gap:1rem;gap:1rem;box-shadow:0 20px 48px rgba(0,0,0,.3)}.auth-card h1{font-size:2rem}.auth-form{display:grid;grid-gap:.8rem;gap:.8rem}.auth-form label{display:grid;grid-gap:.4rem;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.auth-form input,.source-form input{border-radius:.7rem;border:1px solid var(--card-border);background:rgba(20,25,31,.8);color:var(--text);padding:.6rem .7rem}.active-pill,.auth-form button,.danger-btn,.pill,.secondary-btn,.source-form button{border:none;border-radius:999px;padding:.55rem .95rem;cursor:pointer;color:var(--text);transition:transform .12s ease,background-color .12s ease}.active-pill,.auth-form button,.source-form button{background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);font-weight:600}.pill,.secondary-btn{background:#2a3747}.danger-btn{background:var(--danger)}button:hover{transform:translateY(-1px)}button:disabled{opacity:.6;cursor:wait}.app-layout{grid-template-columns:330px minmax(0,1fr);min-height:100vh}.app-layout,.sidebar{display:grid;grid-gap:1rem;gap:1rem;padding:1rem}.sidebar{background:rgba(24,32,43,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border);border-radius:1rem;align-content:start;max-height:calc(100vh - 2rem);overflow:auto}.sidebar-header{display:grid;grid-gap:.45rem;gap:.45rem}.panel{display:grid;grid-gap:.75rem;gap:.75rem}.source-form{display:grid;grid-gap:.55rem;gap:.55rem}.source-row,.sources-list{display:grid;grid-gap:.6rem;gap:.6rem}.source-row{border:1px solid var(--card-border);border-radius:.8rem;background:rgba(28,36,47,.8);padding:.7rem}.source-title{font-weight:600;overflow:hidden;text-overflow:ellipsis}.source-actions{display:flex;flex-wrap:wrap;gap:.4rem}.feed-column{border-radius:1rem;border:1px solid var(--card-border);background:rgba(20,27,36,.87);overflow:auto;max-height:calc(100vh - 2rem)}.feed-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:linear-gradient(180deg,rgba(21,29,39,.96),rgba(21,29,39,.84));border-bottom:1px solid var(--card-border);padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem}.feed-actions{display:flex;flex-wrap:wrap;gap:.45rem}.feed-card{border-bottom:1px solid var(--card-border);display:grid;grid-gap:.7rem;gap:.7rem;padding:.9rem;transition:background-color .16s ease}.feed-card:hover{background:rgba(42,53,68,.35)}.feed-card.is-read .card-content h3{color:#c8d5e3}.card-body{border:none;text-align:left;color:inherit;display:grid;grid-gap:.7rem;gap:.7rem;background:transparent;padding:0;cursor:pointer}.card-media{width:100%;border-radius:.8rem;max-height:240px;object-fit:cover;border:1px solid var(--card-border)}.card-content{display:grid;grid-gap:.4rem;gap:.4rem}.card-content h3{font-size:1.1rem}.card-content p{color:#d6deea;line-height:1.45}.card-actions{display:flex;gap:.45rem}.sentinel{height:1px}.modal-overlay{position:fixed;inset:0;background:rgba(5,8,12,.76);display:grid;place-items:center;padding:1rem}.modal-content{width:min(860px,95vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#1a2430,#18212c);border:1px solid var(--card-border);border-radius:1rem;padding:1rem;display:grid;grid-gap:.8rem;gap:.8rem}.detail-item{display:grid;grid-gap:.85rem;gap:.85rem}.detail-media{width:100%;border-radius:.8rem;border:1px solid var(--card-border)}.detail-body{line-height:1.6}.muted{color:var(--text-muted)}.small{font-size:.86rem}.tiny{font-size:.78rem}.error-text{color:#ff8892;font-size:.9rem}@media (max-width:1024px){.app-layout{grid-template-columns:1fr;padding:.7rem}.feed-column,.sidebar{max-height:none}}