:root{--paper:#0e100e;--ink:#f1eee6;--muted:#96948c;--line:rgba(241,238,230,.14);--soft:#171a16;--accent:#ff623f;--accent2:#ff8b73;--white:#121511;--radius:14px;--shadow:0 28px 80px rgba(0,0,0,.34);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}button,input{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--accent);color:#fff}.mono{font-family:'IBM Plex Mono',monospace}.serif{font-family:'Newsreader',serif}.muted{color:var(--muted)}
.noise:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.026;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);background:var(--ink);color:var(--paper)}.login-art{padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:44vw;height:44vw;border:1px solid rgba(241,238,230,.16);border-radius:50%;right:-12vw;bottom:-18vw;box-shadow:0 0 0 8vw rgba(241,238,230,.025),0 0 0 16vw rgba(241,238,230,.018)}.brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:-.02em}.brand-mark{width:28px;height:28px;border:1px solid currentColor;display:grid;place-items:center;font-family:'IBM Plex Mono';font-size:11px;transform:rotate(-5deg)}.login-title{max-width:860px;font-size:clamp(58px,7.5vw,126px);line-height:.82;letter-spacing:-.065em;margin:0 0 24px;position:relative;z-index:1}.login-title em{font-style:italic;color:var(--accent)}.login-caption{max-width:560px;font-size:16px;line-height:1.55;color:#b9b4aa;position:relative;z-index:1}.login-side{background:var(--paper);color:var(--ink);padding:48px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font:500 11px/1 'IBM Plex Mono';letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.login-side h1{font:600 42px/1 'Newsreader';letter-spacing:-.035em;margin:18px 0 8px}.login-side p{color:var(--muted);margin:0 0 34px;line-height:1.55}.field{display:grid;gap:8px;margin-bottom:16px}.field label{font-size:12px;font-weight:600}.field input{height:52px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.34);padding:0 14px;outline:0;transition:.2s}.field input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(17,17,15,.07)}.primary{height:52px;border:0;border-radius:9px;background:var(--ink);color:var(--paper);font-weight:600;margin-top:8px;transition:transform .18s,background .18s}.primary:hover{transform:translateY(-1px);background:#292923}.form-error{min-height:22px;color:var(--accent2);font-size:13px;margin-top:12px}.login-meta{margin-top:42px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
/* App */
.app{min-height:100vh;display:grid;grid-template-columns:86px 1fr}.rail{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:26px 0 22px;background:rgba(241,238,230,.88);backdrop-filter:blur(16px);z-index:20}.rail .brand-mark{margin-bottom:46px}.nav-btn{width:48px;height:48px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;color:#8d897f;margin:4px 0;transition:.2s}.nav-btn svg{width:19px;height:19px;stroke-width:1.7}.nav-btn:hover,.nav-btn.active{background:var(--ink);color:var(--paper)}.rail-spacer{flex:1}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;font:500 11px 'IBM Plex Mono'}
.workspace{padding:26px 34px 70px;max-width:1680px;width:100%;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:46px}.crumb{font:500 11px 'IBM Plex Mono';letter-spacing:.11em;text-transform:uppercase}.top-actions{display:flex;align-items:center;gap:10px}.ghost{border:1px solid var(--line);background:transparent;height:38px;padding:0 14px;border-radius:9px;font-size:12px}.logout{border:0;background:transparent;color:var(--muted);font-size:12px}
.command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid var(--ink);padding:0 0 18px;margin-bottom:54px;gap:18px}.command input{font:500 clamp(34px,4.8vw,78px)/1 'Newsreader';letter-spacing:-.045em;border:0;background:transparent;outline:0;min-width:0;padding:0}.command input::placeholder{color:#bbb5aa}.command button{width:48px;height:48px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:22px;transition:.2s}.command button:hover{transform:rotate(-8deg) scale(1.04)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:62px}.metric{padding:20px 22px 21px 0;border-right:1px solid var(--line);margin-right:22px}.metric:last-child{border-right:0}.metric strong{display:block;font:500 32px 'IBM Plex Mono';letter-spacing:-.06em}.metric span{display:block;margin-top:7px;color:var(--muted);font-size:12px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font:600 clamp(28px,3vw,46px)/1 'Newsreader';letter-spacing:-.04em;margin:0}.section-head p{max-width:440px;color:var(--muted);font-size:13px;line-height:1.5;margin:0}.atlas{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);gap:52px;margin-bottom:72px}.topic-list{border-top:1px solid var(--ink)}.topic{display:grid;grid-template-columns:minmax(150px,1.25fr) minmax(130px,1fr) minmax(130px,1fr) 54px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);transition:.18s}.topic:hover{padding-left:8px;background:rgba(255,255,255,.18)}.topic-name{font-weight:600;letter-spacing:-.02em}.bar-wrap{display:grid;grid-template-columns:1fr 38px;gap:10px;align-items:center}.bar{height:5px;background:#d8d2c6;overflow:hidden}.fill{height:100%;background:var(--ink);transform-origin:left;animation:grow .8s cubic-bezier(.2,.8,.2,1) both}.fill.mastery{background:var(--accent)}.pct{font:400 11px 'IBM Plex Mono';text-align:right}.topic-count{font:400 11px 'IBM Plex Mono';color:var(--muted);text-align:right}.side-note{border-top:1px solid var(--ink);padding-top:18px}.side-note h3{font:600 19px 'Newsreader';margin:0 0 18px}.gap-item{padding:13px 0;border-bottom:1px solid var(--line)}.gap-item strong{display:block;font-size:13px}.gap-item span{font:400 10px 'IBM Plex Mono';color:var(--muted);display:block;margin-top:5px}.gap-item em{color:var(--accent);font-style:normal}
.feed{display:grid;grid-template-columns:1fr 1fr;gap:52px}.feed-list{border-top:1px solid var(--ink)}.feed-row{display:grid;grid-template-columns:82px 1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}.feed-row time{font:400 10px 'IBM Plex Mono';color:var(--muted)}.feed-row h4{margin:0 0 6px;font-size:14px}.feed-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.tag{font:500 9px 'IBM Plex Mono';letter-spacing:.07em;text-transform:uppercase;border:1px solid var(--line);padding:5px 7px;border-radius:99px}
.view{display:none}.view.active{display:block;animation:fadeup .42s ease both}.research-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.55fr);gap:56px}.research-title{font:600 clamp(44px,6vw,92px)/.95 'Newsreader';letter-spacing:-.055em;margin:0 0 18px}.research-lede{max-width:720px;color:var(--muted);font-size:15px;line-height:1.65;margin-bottom:42px}.research-box{border-top:1px solid var(--ink);padding-top:18px}.research-box textarea{width:100%;min-height:150px;resize:vertical;background:transparent;border:0;border-bottom:1px solid var(--line);outline:0;font:500 27px/1.25 'Newsreader';padding:10px 0 18px}.research-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px}.research-actions small{font:400 10px 'IBM Plex Mono';color:var(--muted)}.research-run{border:0;background:var(--accent);color:#fff;height:44px;padding:0 18px;border-radius:99px;font-weight:600}.preview{margin-top:44px;border-top:1px solid var(--ink);display:none}.preview.show{display:block;animation:fadeup .3s ease}.preview-head{padding:18px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.preview-block{padding:24px 0;border-bottom:1px solid var(--line)}.preview-block h4{font:600 19px 'Newsreader';margin:0 0 8px}.preview-block p{color:var(--muted);line-height:1.6;margin:0;font-size:13px}.demo-pill{font:500 9px 'IBM Plex Mono';background:var(--soft);padding:6px 8px;border-radius:99px}.research-aside{border-top:1px solid var(--ink);padding-top:18px}.research-aside h3{font:600 21px 'Newsreader';margin:0 0 14px}.research-aside ol{padding:0;margin:0;list-style:none;counter-reset:x}.research-aside li{counter-increment:x;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.45;position:relative}.research-aside li:before{content:'0' counter(x);position:absolute;left:0;font:400 10px 'IBM Plex Mono';color:var(--accent)}
.library-title{font:600 clamp(42px,5vw,78px)/1 'Newsreader';letter-spacing:-.05em;margin:0 0 34px}.library-table{border-top:1px solid var(--ink)}.library-row{display:grid;grid-template-columns:90px 1.2fr .7fr .5fr 70px;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center;font-size:12px}.library-row.head{font:500 9px 'IBM Plex Mono';letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.source-title{font-weight:600;font-size:13px}.mobile-nav{display:none}
@keyframes grow{from{transform:scaleX(0)}}@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-art{min-height:46vh;padding:34px}.login-side{padding:34px}.app{grid-template-columns:1fr}.rail{display:none}.workspace{padding:22px 20px 94px}.atlas,.research-layout,.feed{grid-template-columns:1fr;gap:38px}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.topic{grid-template-columns:1fr 1fr}.topic .bar-wrap:nth-of-type(2){grid-column:2}.topic-count{display:none}.mobile-nav{display:grid;position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:50;grid-template-columns:repeat(3,58px);gap:4px;background:var(--ink);padding:5px;border-radius:99px;box-shadow:0 18px 50px rgba(0,0,0,.22)}.mobile-nav .nav-btn{margin:0;color:#aaa}.mobile-nav .nav-btn.active{background:var(--accent);color:#fff}.command{margin-bottom:38px}.preview-grid{grid-template-columns:1fr}.library-row{grid-template-columns:70px 1fr 100px}.library-row>*:nth-child(4),.library-row>*:nth-child(5){display:none}}
@media(max-width:600px){.login-title{font-size:55px}.login-art{min-height:40vh}.login-side{padding:28px 24px}.topbar{margin-bottom:36px}.top-actions .ghost{display:none}.command{grid-template-columns:1fr auto}.command input{font-size:38px}.metrics{grid-template-columns:1fr 1fr;margin-bottom:44px}.metric{margin-right:12px;padding-right:12px}.metric strong{font-size:24px}.section-head{align-items:start;flex-direction:column}.topic{grid-template-columns:1fr}.topic .bar-wrap:nth-of-type(2){grid-column:auto}.feed-row{grid-template-columns:70px 1fr}.feed-row .tag{display:none}.research-title{font-size:52px}.research-box textarea{font-size:23px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* KNOWLEDGE LAB DARK EDITORIAL OVERRIDES */
html,body{background:var(--paper);color:var(--ink)}
.login-shell{background:#090b09;color:var(--ink)}
.login-art{background:#090b09}
.login-side{background:#111410;color:var(--ink);border-left:1px solid var(--line)}
.login-art:after{border-color:rgba(241,238,230,.13);box-shadow:0 0 0 8vw rgba(241,238,230,.018),0 0 0 16vw rgba(241,238,230,.01)}
.login-caption{color:#a8a59d}
.field input{background:#171a16;border-color:var(--line);color:var(--ink)}
.field input:focus{border-color:#777a70;box-shadow:0 0 0 3px rgba(241,238,230,.06)}
.primary{background:var(--ink);color:#0e100e}
.primary:hover{background:#fffaf0}
.rail{background:rgba(14,16,14,.9);border-color:var(--line)}
.nav-btn:hover,.nav-btn.active{background:var(--ink);color:#0e100e}
.noise:before{opacity:.018;filter:invert(1)}
input,textarea,select{color-scheme:dark}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* KNOWLEDGE LAB THEME SYSTEM V4 */
html[data-theme="dark"]{--paper:#0e100e;--ink:#f1eee6;--muted:#96948c;--line:rgba(241,238,230,.14);--soft:#171a16;--accent:#ff623f;--accent2:#ff8b73;--white:#121511;--shadow:0 28px 80px rgba(0,0,0,.34);color-scheme:dark}
html[data-theme="light"]{--paper:#f1eee6;--ink:#11110f;--muted:#76736c;--line:rgba(17,17,15,.14);--soft:#e8e3d8;--accent:#f0522f;--accent2:#c83b1c;--white:#fffdf7;--shadow:0 24px 70px rgba(17,17,15,.09);color-scheme:light}
html[data-theme="dark"],html[data-theme="dark"] body{background:#0e100e;color:#f1eee6}
html[data-theme="light"],html[data-theme="light"] body{background:#f1eee6;color:#11110f}
html[data-theme="dark"] .workspace{background:#0e100e}
html[data-theme="light"] .workspace{background:#f1eee6}
html[data-theme="dark"] .rail{background:rgba(14,16,14,.92);border-color:var(--line)}
html[data-theme="light"] .rail{background:rgba(241,238,230,.9);border-color:var(--line)}
html[data-theme="dark"] .nav-btn:hover,html[data-theme="dark"] .nav-btn.active{background:#f1eee6;color:#0e100e}
html[data-theme="light"] .nav-btn:hover,html[data-theme="light"] .nav-btn.active{background:#11110f;color:#f1eee6}
html[data-theme="dark"] .login-shell{background:#090b09;color:#f1eee6}
html[data-theme="dark"] .login-art{background:#090b09}
html[data-theme="dark"] .login-side{background:#111410;color:#f1eee6;border-left:1px solid var(--line)}
html[data-theme="dark"] .field input{background:#171a16;border-color:var(--line);color:#f1eee6}
html[data-theme="dark"] .primary{background:#f1eee6;color:#0e100e}
html[data-theme="light"] .login-shell{background:#11110f;color:#f1eee6}
html[data-theme="light"] .login-art{background:#11110f}
html[data-theme="light"] .login-side{background:#f1eee6;color:#11110f;border-left:1px solid var(--line)}
html[data-theme="light"] .field input{background:rgba(255,255,255,.34);border-color:var(--line);color:#11110f}
html[data-theme="light"] .primary{background:#11110f;color:#f1eee6}
.theme-toggle{min-width:108px}.login-theme-toggle{position:fixed;right:22px;top:22px;z-index:120;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--soft);color:var(--ink);font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow)}
.empty-state{padding:28px 0;color:var(--muted);font-size:14px;line-height:1.55;border-top:1px solid var(--line)}.empty-state.compact{padding:14px 0;border-top:0}.library-empty{padding:30px 18px}
.admin-header{padding:36px 0 12px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px}.admin-panel{border-top:1px solid var(--line);padding:24px 0 12px}.admin-panel h3{font:600 28px/1.1 'Newsreader',serif;margin:12px 0 22px}.admin-kv{margin:0}.admin-kv div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.admin-kv dt{color:var(--muted);font-size:13px}.admin-kv dd{margin:0;font:500 13px 'IBM Plex Mono',monospace}.password-panel{grid-column:1/-1;max-width:620px}.admin-primary{width:100%}.form-success{min-height:22px;margin-top:12px;font-size:13px;color:#62c98c}
html[data-theme="dark"] .bar{background:rgba(241,238,230,.1)}html[data-theme="light"] .bar{background:rgba(17,17,15,.1)}
@media(max-width:780px){.admin-grid{grid-template-columns:1fr}.password-panel{grid-column:auto}.theme-toggle span{display:none}.theme-toggle{min-width:auto}.login-theme-toggle{right:14px;top:14px}}

/* MOBILE NAV + PERF V5 */
.view.active{animation:fadeup .18s ease-out both}
@media(max-width:980px){
  .workspace{padding-bottom:104px}
  .mobile-nav{display:grid;position:fixed;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));transform:none;z-index:60;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 44px rgba(0,0,0,.18)}
  .mobile-nav .nav-btn{position:relative;width:auto;height:56px;margin:0;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);background:transparent;transition:background .12s ease,color .12s ease,transform .12s ease}
  .mobile-nav .nav-btn svg{width:19px;height:19px;stroke-width:1.7}
  .mobile-nav .nav-btn span{display:block;font:500 9px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.01em}
  .mobile-nav .nav-btn.active{background:var(--soft)!important;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line)}
  .mobile-nav .nav-btn.active svg{color:var(--accent)}
  .mobile-nav .nav-btn:active{transform:scale(.97)}
  .view.active{animation:none}
}
@media(max-width:420px){
  .mobile-nav{left:8px;right:8px;padding:5px;border-radius:16px}
  .mobile-nav .nav-btn{height:54px;border-radius:12px}
  .mobile-nav .nav-btn span{font-size:8.5px}
}

/* RICH KNOWLEDGE V6 */
.source-click{cursor:pointer}.source-click:hover .source-title,.feed-row.source-click:hover h4{text-decoration:underline;text-underline-offset:4px}
.source-add{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:24px 0 30px;margin:-8px 0 44px;display:grid;grid-template-columns:minmax(260px,.7fr) minmax(360px,1.3fr);gap:24px 50px;align-items:end}.source-add h3{font:600 28px/1.05 'Newsreader';letter-spacing:-.035em;margin:10px 0 8px}.source-add p{max-width:540px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.source-add-control{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--ink);padding-bottom:8px}.source-add-control input{border:0;outline:0;background:transparent;min-width:0;padding:10px 6px;font-size:15px}.source-add-control button,.research-save{border:0;background:var(--accent);color:#fff;border-radius:99px;height:42px;padding:0 17px;font-weight:600}.source-add-status{grid-column:2;color:var(--muted);font-size:12px;min-height:18px}.preview-actions{display:flex;align-items:center;gap:10px}.rich-preview{border-top:0;margin-top:34px}.rich-preview .preview-head{border-top:1px solid var(--ink);position:sticky;top:0;background:var(--paper);z-index:12;padding:12px 0;backdrop-filter:blur(10px)}
.reader-back{border:0;background:transparent;color:var(--muted);font:500 11px 'IBM Plex Mono';padding:0;margin:0 0 28px}.reader-back:hover{color:var(--ink)}.reader-shell{max-width:1120px;margin:0 auto}.rich-article{max-width:1080px;margin:0 auto 80px}.article-hero{margin:0 0 46px;border-radius:3px;overflow:hidden;aspect-ratio:16/8;background:var(--soft)}.article-hero img{width:100%;height:100%;object-fit:cover;display:block}.article-hero figcaption,.article-image figcaption{font:400 9px 'IBM Plex Mono';color:var(--muted);padding-top:7px}.article-header{max-width:850px;margin:0 auto 54px;text-align:left}.article-kicker{font:500 10px 'IBM Plex Mono';letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:16px}.article-header h1{font:600 clamp(48px,6vw,88px)/.94 'Newsreader';letter-spacing:-.055em;margin:0 0 24px}.article-lead{font:500 clamp(19px,2vw,25px)/1.45 'Newsreader';color:var(--muted);margin:0;max-width:780px}.article-meta{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font:400 9px 'IBM Plex Mono';text-transform:uppercase;color:var(--muted)}.article-body{max-width:760px;margin:0 auto}.article-section{margin:0 0 52px}.article-section h2{font:600 clamp(30px,3.2vw,44px)/1.05 'Newsreader';letter-spacing:-.04em;margin:0 0 22px}.article-section p,.article-conclusion p{font-size:16px;line-height:1.78;margin:0 0 18px;color:var(--ink)}.article-section ul,.article-keypoints ul{padding-left:20px;line-height:1.65}.article-section li{margin:8px 0}.article-image{margin:34px -70px 4px}.article-image img{width:100%;max-height:620px;object-fit:cover;display:block;border-radius:3px;background:var(--soft)}.article-keypoints{margin:0 0 52px;padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.article-keypoints li{margin:10px 0;font-size:14px}.article-conclusion{margin-top:64px;padding-top:22px;border-top:1px solid var(--ink)}.article-sources{max-width:850px;margin:72px auto 0;padding-top:20px;border-top:1px solid var(--ink)}.article-sources>a{display:grid;grid-template-columns:38px 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink);padding:14px 0;border-bottom:1px solid var(--line)}.article-sources>a span,.article-sources>a small{font:400 9px 'IBM Plex Mono';color:var(--muted)}.article-sources>a strong{font-size:12px}.article-sources>a:hover strong{text-decoration:underline}.research-loading,.article-loading{min-height:240px;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--muted);text-align:center}.research-loading span{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.25;transform:scale(.7)}}
@media(max-width:780px){.source-add{grid-template-columns:1fr;gap:20px}.source-add-control,.source-add-status{grid-column:1}.source-add-control{grid-template-columns:1fr}.source-add-control button{margin-top:8px}.preview-head{align-items:flex-start;gap:10px}.preview-actions{align-items:flex-end;flex-direction:column}.article-hero{margin-left:-20px;margin-right:-20px;border-radius:0;aspect-ratio:4/3}.article-header h1{font-size:49px}.article-lead{font-size:19px}.article-section p,.article-conclusion p{font-size:15.5px;line-height:1.72}.article-image{margin:28px -20px}.article-image img{border-radius:0}.article-sources>a{grid-template-columns:30px 1fr}.article-sources>a small{display:none}}
