/* Self-hosted variable fonts (SIL OFL, see /fonts): Latin + Cyrillic subsets only. */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/manrope-normal-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/manrope-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/playfair-display-normal-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 800;font-display:swap;src:url('/fonts/playfair-display-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url('/fonts/playfair-display-italic-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400 700;font-display:swap;src:url('/fonts/playfair-display-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/fonts/golos-text-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400 900;font-display:swap;src:url('/fonts/golos-text-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font-reading:'Golos Text','Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--font-display:'Playfair Display',Georgia,'Times New Roman',serif;--font-ui:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-family:var(--font-ui);color:#f0eaf8;background:#151629;font-synthesis:none;font-size:15px;line-height:1.52}*{box-sizing:border-box}body{margin:0;min-height:100svh}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e5c797;outline-offset:3px}button{border:0}a{color:inherit}.night-sky{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 15% -15%,#39314e 0,transparent 47%),radial-gradient(ellipse at 94% 70%,#232742 0,transparent 44%),#151629}.night-sky i{position:absolute;font-style:normal;color:#d4aeda;opacity:.33}.s1{top:7%;left:9%;font-size:19px}.s2{top:19%;right:12%;font-size:30px}.s3{top:38%;left:3%;font-size:21px}.s4{top:64%;right:5%;font-size:17px}.s5{top:85%;left:13%;font-size:24px}.s6{top:55%;right:24%;font-size:11px}.app-shell{width:min(100%,860px);margin:auto;padding:0 24px}.hero{padding:48px 0 25px;border-bottom:1px solid #494054}.overline,.section-kicker{font-size:10px;letter-spacing:.21em;text-transform:uppercase;color:#c8adc7;font-weight:700}.brand-row{display:flex;justify-content:space-between;gap:15px;align-items:center}.brand-row h1{font-size:clamp(56px,10vw,88px);font-family:var(--font-display);line-height:1.02;letter-spacing:-.065em;font-weight:400;margin:7px 0 3px;color:#fcf0e4}.brand-row h1 em{color:#cdaed9;font-weight:400}.title-star{font:normal 24px system-ui;vertical-align:top;position:relative;left:7px;top:5px;color:#f7d9a5}.brand-subtitle{color:#bbafc6;margin:9px 0 0;font-size:13px}.moon{font-size:85px;line-height:1;color:#f1d8aa;text-shadow:0 0 48px #eecfa867;transform:rotate(-22deg);padding-right:12px}.stats{display:flex;gap:30px;margin-top:36px}.stats span{display:flex;flex-direction:column;gap:0}.stats strong{font-family:var(--font-display);font-weight:400;font-size:29px;color:#f3e6d9}.stats small{font-size:11px;color:#a9a0b7}.import-card{margin:32px 0;border:1px dashed #6c5c7c;border-radius:21px;padding:38px 25px;text-align:center;background:#25243b9a}.import-card h2{font:normal 31px var(--font-display);margin:10px 0;color:#f4e5d8}.import-card p{color:#b8afc9;max-width:440px;margin:10px auto 24px;font-size:14px}.import-illustration{font-size:42px;line-height:.7;color:#dfc5d3}.import-card code{color:#d7c1e0}.primary-action,.enrich-button{display:inline-flex;align-items:center;justify-content:center;background:#d9c1de;color:#292236;font-size:13px;font-weight:700;border-radius:14px;padding:11px 20px;min-height:43px}.upload{cursor:pointer}.upload input,.small-upload input{display:none}.library-tools{padding-top:19px}.toolbar-line{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.small-upload,.subtle{background:transparent;color:#c4b0d2;font-size:11px;padding:6px 0;cursor:pointer}.subtle:hover,.small-upload:hover{color:#fff}.nav-wrap{overflow:auto;scrollbar-width:none;margin-top:16px}.nav-wrap::-webkit-scrollbar{display:none}.tabs{display:flex;gap:4px;border-bottom:1px solid #423951;min-width:max-content}.tabs button{white-space:nowrap;background:transparent;color:#afa4bd;padding:10px 13px 13px;border-bottom:2px solid transparent;font-size:12px}.tabs button.active{color:#f4ddad;border-bottom-color:#e6c7a1}.enrich-card{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:24px 0 0;padding:15px 19px;background:#24253c;border:1px solid #45435e;border-radius:16px}.enrich-copy strong{font-size:13px;color:#eddae8}.enrich-copy p{font-size:12px;color:#e2d1e5;margin:4px 0}.enrich-copy small{font-size:10px;color:#aaa1b8}.enrich-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.enrich-button{font-size:11px;padding:8px 12px;min-height:36px;white-space:nowrap}#btn-stop{background:#50425b;color:#f3ddea;border-radius:10px;padding:8px 12px;font-size:11px}#message{min-height:12px;font-size:12px;color:#b9afc8;margin:13px 0}#message[data-kind=error]{color:#ffa3ae}#message[data-kind=ok]{color:#b5dfc5}#authors{margin-top:20px}.section-row{display:flex;justify-content:space-between;color:#e9daed;font:normal 19px var(--font-display);margin-bottom:13px}.section-row small{font:12px var(--font-ui);color:#aa9cb6}.quiet{font:11px var(--font-ui);color:#aea2b9}.authors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.author-tile{--tint:#a9a3d0;min-height:114px;background:#34304a;border:1px solid #5b4b68;border-radius:15px;padding:15px 13px;display:flex;flex-direction:column;align-items:flex-start;position:relative;text-align:left;gap:5px}.author-tile:nth-child(5n + 1){background:#413451}.author-tile:nth-child(5n + 2){background:#323a51}.author-tile:nth-child(5n + 3){background:#4c3b4e}.author-tile:nth-child(5n + 4){background:#3d3a50}.author-tile:nth-child(5n + 5){background:#344a4a}.author-tile.selected{outline:2px solid #efd1a4;outline-offset:-3px}.tile-star{font-size:18px;color:#ead3ae}.tile-name{font-size:13px;color:#fbebfa;font-weight:700;overflow-wrap:anywhere}.tile-count{font-size:10px;color:#c3b5ce}.author-tile.unknown{background:#26283a}.reading-room{margin:40px 0 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}.section-heading h2{font:normal clamp(28px,5vw,40px) var(--font-display);letter-spacing:-.023em;color:#f3e2d8;margin:8px 0 14px}.feed-tools{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 22px}.search-box{min-width:190px;flex:1;background:#24253a;border:1px solid #4b4059;border-radius:11px;padding:9px 12px;color:#cab5d6;display:flex;gap:8px;align-items:center}.search-box input{min-width:0;border:0;outline:0;background:transparent;color:#f5eafb;width:100%;font-size:12px}.search-box input::placeholder{color:#9f92b0}.feed-tools>button{background:#2c2a40;border:1px solid #4e465d;border-radius:11px;color:#d9c8de;font-size:11px;padding:8px 11px}#feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.tweet-card{background:#f0e9e6;color:#2c2935;border-radius:16px;padding:18px 19px 12px;position:relative;min-width:0;box-shadow:0 8px 28px #100e1e2e;transition:transform .2s}.tweet-card:nth-child(4n+2){background:#dedfeb}.tweet-card:nth-child(4n+3){background:#e9dfeb}.tweet-card:nth-child(4n+4){background:#e6e8da}.tweet-card.was-read{opacity:.67}.tweet-top{display:flex;justify-content:space-between;gap:7px;align-items:center}.tweet-author{display:flex;align-items:center;gap:9px;min-width:0}.tweet-author strong{display:block;font-size:12px;line-height:1.2;overflow-wrap:anywhere}.tweet-author small{display:block;font-size:10px;opacity:.54;margin-top:4px}.avatar-star{border:1px solid #88808f88;background:#ffffff70;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;flex:none;color:#8a668b;font-size:21px}.open-tweet{text-decoration:none;font-size:18px;opacity:.52;line-height:1;padding:4px}.tweet-text{font-size:14px;line-height:1.57;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 20px}.tweet-actions{border-top:1px solid #968b9f44;padding-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.mini-action{background:transparent;color:#706b78;font-size:10px;padding:5px 4px}.mini-action.on{color:#503a66;font-weight:700}.mini-action.accent{color:#8b416b}.mini-action.last{margin-left:auto}.empty-feed{grid-column:1/-1;text-align:center;padding:45px 16px;border:1px dashed #64536f;border-radius:15px;color:#bbb0c8}.empty-moon{font:50px var(--font-display);color:#ebd0b1}.load-more{display:block;margin:27px auto;border:1px solid #7a678a;background:#2c293f;border-radius:12px;color:#edddf2;padding:11px 30px}footer{padding:42px 0 55px;text-align:center;color:#b5a1b8;font-size:11px;letter-spacing:.05em}footer p{opacity:.6;font-size:10px;letter-spacing:0}@media(max-width:620px){.app-shell{padding:0 16px}.hero{padding:38px 0 20px}.moon{font-size:55px;padding-right:0}.brand-row h1{font-size:clamp(53px,13vw,78px)}.overline{font-size:9px}.stats{gap:22px;margin-top:29px}.stats strong{font-size:24px}.authors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrich-card{flex-direction:column;align-items:start;gap:8px}.enrich-actions{width:100%}.reading-room{margin-top:30px}#feed{grid-template-columns:minmax(0,1fr)}.tweet-card{padding:19px 20px 13px}.tweet-text{font-size:15px}.tabs button{padding:10px 12px}.section-heading h2{font-size:33px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.sync-panel{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 7px;padding:17px 19px;border:1px solid #6a536f;background:linear-gradient(125deg,#383048,#27273f);border-radius:17px}
.sync-panel strong{font-size:13px;color:#f4deef}.sync-panel p{font-size:11px;color:#c3b3cf;margin:4px 0}.sync-panel small{font-size:11px;color:#dfc6a8;overflow-wrap:anywhere}
.sync-actions{flex:0 1 auto}.sync-actions button{background:#d9c1de;color:#262138;font-weight:700;font-size:11px;border-radius:11px;padding:9px 12px;min-height:35px;white-space:nowrap}
#sync-connected{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}#sync-connected[hidden]{display:none}
.sync-actions .quiet-button{background:transparent;color:#c0aec8;border:1px solid #5b4d69}
@media(max-width:620px){.sync-panel{flex-direction:column;align-items:stretch}.sync-actions{width:100%}#sync-connected{justify-content:flex-start}.sync-actions button{white-space:normal}}

/* RU / EN selector next to the wordmark. */
.hero-extras{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.language-switch{display:flex;gap:2px;align-items:center;padding:3px;border-radius:999px;border:1px solid #89729b;background:#25233e;white-space:nowrap}
.language-switch button{min-width:40px;min-height:32px;padding:5px 8px;border:0;border-radius:999px;background:transparent;color:#d0bbda;font-size:11px;font-weight:700}
.language-switch button.active{background:#ffdf76;color:#2b2140}
.language-switch button:focus-visible{outline:2px solid #ffdf76;outline-offset:2px}
@media(max-width:620px){.hero-extras{align-self:flex-start}.hero-extras .moon{font-size:44px}.language-switch button{min-width:36px}}
