:root{color:#18201d;background:#f3f0e7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--paper:#f3f0e7;--card:#fffdf8;--line:#d8d4ca;--muted:#65706b;--accent:#c64b2f;--green:#25755a;--shadow:0 18px 48px rgba(43,37,27,.08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 90% -10%,rgba(198,75,47,.15),transparent 32rem),linear-gradient(135deg,#f9f6ef,var(--paper))}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.page-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding-bottom:80px}.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}.brand{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:var(--accent);font:700 18px Georgia,serif;text-decoration:none}.topbar nav{display:flex;gap:6px}.topbar nav button,.account button{border:0;border-radius:999px;padding:9px 13px;color:var(--muted);background:transparent;font-size:13px;font-weight:750}.topbar nav button.active{color:#fff;background:#18201d}.account{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.account button{padding-right:0;color:var(--accent)}.hero{padding:70px 0 38px}.hero.compact{padding-bottom:28px}.eyebrow{margin:0 0 11px;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.hero h1,.auth-card h1{max-width:900px;margin:0;font:500 clamp(46px,7vw,82px)/.98 Georgia,serif;letter-spacing:-.05em}.hero.compact h1{font-size:clamp(44px,6vw,68px)}.hero>p:last-child{max-width:650px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.source-tabs{display:flex;gap:7px;overflow-x:auto;padding:4px 0 18px}.source-tabs button{flex:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--muted);background:#fffdf8a6;font-size:12px;font-weight:800}.source-tabs button.active{color:#fff;border-color:#18201d;background:#18201d}.search{display:grid;grid-template-columns:1fr auto;gap:9px;padding:11px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.search input,.auth-card input{min-height:48px;border:1px solid var(--line);border-radius:11px;padding:0 14px;color:#18201d;background:#fff;outline:none}.search input:focus,.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c64b2f1f}.search button,.auth-card form button,.modal footer button{min-width:110px;border:0;border-radius:11px;padding:0 18px;color:#fff;background:var(--accent);font-weight:800}.section-head{display:flex;align-items:center;justify-content:space-between;margin:31px 3px 13px}.section-head strong{font:500 23px Georgia,serif}.section-head span{color:var(--muted);font-size:12px}.article-list{display:grid;gap:11px}.article-card{padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:var(--shadow)}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:12px}.source-pill,.status-label{display:inline-flex;padding:5px 8px;border-radius:999px;color:var(--green);background:#e3f0e8;font-size:11px;font-weight:850;text-transform:capitalize}.article-title{display:block;margin:12px 0 8px;border:0;padding:0;color:#18201d;background:transparent;font:500 clamp(22px,3vw,29px)/1.18 Georgia,serif;text-align:left}.article-title:hover{color:var(--accent)}.article-card>p{max-width:800px;margin:0;color:#4f5a55;font-size:14px;line-height:1.65}.card-actions{display:flex;gap:8px;margin-top:17px}.card-actions button,.pagination button{border:1px solid var(--line);border-radius:9px;padding:8px 11px;color:var(--muted);background:#fff;font-size:11px;font-weight:800}.card-actions button:first-child{color:var(--accent);border-color:#c64b2f59}.pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:25px;color:var(--muted);font-size:12px}button:disabled{cursor:not-allowed;opacity:.4}.empty{padding:70px 20px;border:1px dashed var(--line);border-radius:17px;color:var(--muted);text-align:center}.error{margin:13px 0;padding:12px 14px;border-radius:10px;color:#91352d;background:#f5dfdc;font-size:13px}.success{margin:13px 0;padding:12px 14px;border-radius:10px;color:#206247;background:#dff0e7;font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:10;overflow:auto;padding:40px 20px;background:#18201d9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{position:relative;width:min(850px,100%);margin:0 auto;padding:45px;border-radius:22px;background:var(--card);box-shadow:0 30px 80px #00000040}.modal-close{position:absolute;top:16px;right:17px;width:38px;height:38px;border:0;border-radius:50%;color:#18201d;background:#ece8df;font-size:25px}.modal h2{margin:17px 0;font:500 clamp(36px,6vw,60px)/1.04 Georgia,serif;letter-spacing:-.04em}.modal .description{color:var(--muted);font:19px/1.55 Georgia,serif}.article-body{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}.article-body p{margin:0 0 1.35em;font:18px/1.78 Georgia,serif}.modal footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:30px}.modal footer button{min-height:44px}.modal footer a{color:var(--accent);font-size:13px;font-weight:800}.source-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.source-status{padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.source-status>div:first-child{display:flex;align-items:center;gap:8px;margin-bottom:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#aaa}.status-dot.completed{background:#2a8a64}.status-dot.running{background:#d08a22}.status-dot.failed,.status-dot.auth_required{background:#b44339}.source-status dl{display:grid;gap:5px;margin:18px 0 0}.source-status dt{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.source-status dd{margin:0 0 8px;font-size:12px}.error-small{color:#a13b34;font-size:11px;line-height:1.45}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}th{color:var(--muted);font-size:9px;letter-spacing:.09em;text-transform:uppercase}.invite-form{display:grid;grid-template-columns:1fr 150px auto;gap:9px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.invite-form input,.invite-form select,table select{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:#18201d;background:#fff}.invite-form button{border:0;border-radius:10px;padding:0 18px;color:#fff;background:var(--accent);font-weight:800}.muted{color:var(--muted);font-size:11px}.switch{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:700}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:25px}.auth-card{width:min(470px,100%);padding:42px;border:1px solid var(--line);border-radius:23px;background:var(--card);box-shadow:var(--shadow)}.auth-card h1{font-size:55px}.auth-card>p{color:var(--muted);line-height:1.65}.auth-card form{display:grid;gap:12px;margin-top:25px}.auth-card label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.auth-card form button{min-height:49px;margin-top:5px}.auth-card form .auth-switch{min-height:auto;margin:4px 0 0;color:var(--accent);background:transparent;font-size:12px}.loader{color:var(--muted)}@media(max-width:900px){.source-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.page-shell{width:min(100% - 24px,1180px)}.topbar{grid-template-columns:auto 1fr}.account{grid-column:1/-1;justify-content:space-between}.hero{padding-top:45px}.search,.invite-form{grid-template-columns:1fr}.search button,.invite-form button{min-height:44px}.article-card{padding:19px}.source-grid{grid-template-columns:1fr}.modal{padding:38px 21px 25px}.modal footer{align-items:stretch;flex-direction:column}.modal footer button{width:100%}}
