/* [next]/internal/font/google/inter_82a5677a.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.0wxq9webf.ew4.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_82a5677a-module__33Ixcq__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_82a5677a-module__33Ixcq__variable {
  --font-sans-loader: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/newsreader_155f154f.module.css [app-client] (css) */
@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/79e9e0e3b9220e46-s.0~gr2nv~zu_tq.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/e62850744c7f266e-s.075bt8bdso9.6.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Newsreader;
  font-style: italic;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/9433d1a810498265-s.p.0h26ys03~gfbk.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/150f724d70372c02-s.0ibo8nq1_5r8c.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/750c737482d9de2f-s.0.oe-uv1--sd5.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("../media/5f402bd2d8eef81a-s.p.16whm0euli40m.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Newsreader Fallback;
  src: local(Times New Roman);
  ascent-override: 69.68%;
  descent-override: 25.12%;
  line-gap-override: 0.0%;
  size-adjust: 105.48%;
}

.newsreader_155f154f-module__VxY9-a__className {
  font-family: Newsreader, Newsreader Fallback;
}

.newsreader_155f154f-module__VxY9-a__variable {
  --font-serif-loader: "Newsreader", "Newsreader Fallback";
}

/* [next]/internal/font/google/jetbrains_mono_63fe8a74.module.css [app-client] (css) */
@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: JetBrains Mono;
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: JetBrains Mono Fallback;
  src: local(Arial);
  ascent-override: 75.79%;
  descent-override: 22.29%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.jetbrains_mono_63fe8a74-module__WMSrGG__className {
  font-family: JetBrains Mono, JetBrains Mono Fallback;
  font-style: normal;
}

.jetbrains_mono_63fe8a74-module__WMSrGG__variable {
  --font-mono-loader: "JetBrains Mono", "JetBrains Mono Fallback";
}

/* [project]/node_modules/katex/dist/katex.min.css [app-client] (css) */
@font-face {
  font-display: block;
  font-family: KaTeX_AMS;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_AMS-Regular.0p1vbqd84i2~o.woff2") format("woff2"), url("../media/KaTeX_AMS-Regular.0b~8ki5y928w2.woff") format("woff"), url("../media/KaTeX_AMS-Regular.173t6ktr7uf-w.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Caligraphic-Bold.01-pzluls4zgb.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Bold.0x2v1lwn~880f.woff") format("woff"), url("../media/KaTeX_Caligraphic-Bold.16zv5fax0h0ka.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Caligraphic-Regular.0rysu1t-ncjq8.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Regular.10927swgekwun.woff") format("woff"), url("../media/KaTeX_Caligraphic-Regular.02i3z7wig438t.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Fraktur-Bold.0w23i72~hprpq.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Bold.0e-16u10iuyyf.woff") format("woff"), url("../media/KaTeX_Fraktur-Bold.0et27v~3~4uhe.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Fraktur-Regular.0rekyoa-52fj_.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Regular.0b.riegzdfue2.woff") format("woff"), url("../media/KaTeX_Fraktur-Regular.0vjwa15znhk~4.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Main-Bold.16pfc63_du6mx.woff2") format("woff2"), url("../media/KaTeX_Main-Bold.09lmynrorhcbw.woff") format("woff"), url("../media/KaTeX_Main-Bold.09i7~607shf-h.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Main-BoldItalic.0d54rk08rx11s.woff2") format("woff2"), url("../media/KaTeX_Main-BoldItalic.0cp37g7x1q8h6.woff") format("woff"), url("../media/KaTeX_Main-BoldItalic.15j6k~hix2t_0.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Italic.06o5nq0_91v60.woff2") format("woff2"), url("../media/KaTeX_Main-Italic.0382gqciexmbu.woff") format("woff"), url("../media/KaTeX_Main-Italic.0su4i6mm18-wo.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Regular.0kaf-ag2_wkm-.woff2") format("woff2"), url("../media/KaTeX_Main-Regular.0diheg01zyoph.woff") format("woff"), url("../media/KaTeX_Main-Regular.08zh8z.7shijf.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Math-BoldItalic.0ja97dn.cpc87.woff2") format("woff2"), url("../media/KaTeX_Math-BoldItalic.0ck1myuerwyqw.woff") format("woff"), url("../media/KaTeX_Math-BoldItalic.0ajzxypnbx1h1.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Math-Italic.0zrha2c4sl2je.woff2") format("woff2"), url("../media/KaTeX_Math-Italic.09xkhecjcn5r9.woff") format("woff"), url("../media/KaTeX_Math-Italic.0x23a-bmp-5tg.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_SansSerif-Bold.05a9.pc1j_zx9.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Bold.0jcl-ayi1uun0.woff") format("woff"), url("../media/KaTeX_SansSerif-Bold.0re8y.dm7.mt5.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Italic.0a0234dc3s62j.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Italic.0judofdln9731.woff") format("woff"), url("../media/KaTeX_SansSerif-Italic.10z1iap9pfus8.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Regular.0v6gcj32-czft.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Regular.0h9yjlugq4q_e.woff") format("woff"), url("../media/KaTeX_SansSerif-Regular.0zm18kga42ebc.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Script;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Script-Regular.0c4.h-mer83d_.woff2") format("woff2"), url("../media/KaTeX_Script-Regular.0ze6v4r_-99oy.woff") format("woff"), url("../media/KaTeX_Script-Regular.0q14y6zkzlpob.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size1;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size1-Regular.013x6a4ierotp.woff2") format("woff2"), url("../media/KaTeX_Size1-Regular.0kidw0oi.m68o.woff") format("woff"), url("../media/KaTeX_Size1-Regular.0m6y-i6wfokni.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size2;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size2-Regular.0d5inmyp-tyv3.woff2") format("woff2"), url("../media/KaTeX_Size2-Regular.0blpmluwilgbg.woff") format("woff"), url("../media/KaTeX_Size2-Regular.0wnhnvj-.k9d5.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size3;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size3-Regular.0iukctyhw5j56.woff2") format("woff2"), url("../media/KaTeX_Size3-Regular.01h0xm_sfctj3.woff") format("woff"), url("../media/KaTeX_Size3-Regular.0jl8mqyf4gzpn.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Size4;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size4-Regular.0w3.rb_c4stzk.woff2") format("woff2"), url("../media/KaTeX_Size4-Regular.12tvaesf3.zl3.woff") format("woff"), url("../media/KaTeX_Size4-Regular.0wr_9l81-mu06.ttf") format("truetype");
}

@font-face {
  font-display: block;
  font-family: KaTeX_Typewriter;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Typewriter-Regular.0c4zdxz~8frhm.woff2") format("woff2"), url("../media/KaTeX_Typewriter-Regular.0cgrzn5l3kao5.woff") format("woff"), url("../media/KaTeX_Typewriter-Regular.128~qc3858otl.ttf") format("truetype");
}

.katex {
  text-indent: 0;
  text-rendering: auto;
  font: 1.21em / 1.2 KaTeX_Main, Times New Roman, serif;
  position: relative;
}

.katex * {
  border-color: currentColor;
  -ms-high-contrast-adjust: none !important;
}

.katex .katex-version:after {
  content: "0.16.45";
}

.katex .katex-mathml {
  clip: rect(1px,1px,1px,1px);
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.katex .katex-html > .newline {
  display: block;
}

.katex .base {
  white-space: nowrap;
  width: min-content;
  position: relative;
}

.katex .base, .katex .strut {
  display: inline-block;
}

.katex .textbf {
  font-weight: 700;
}

.katex .textit {
  font-style: italic;
}

.katex .textrm {
  font-family: KaTeX_Main;
}

.katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .texttt {
  font-family: KaTeX_Typewriter;
}

.katex .mathnormal {
  font-family: KaTeX_Math;
  font-style: italic;
}

.katex .mathit {
  font-family: KaTeX_Main;
  font-style: italic;
}

.katex .mathrm {
  font-style: normal;
}

.katex .mathbf {
  font-family: KaTeX_Main;
  font-weight: 700;
}

.katex .boldsymbol {
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
}

.katex .amsrm, .katex .mathbb, .katex .textbb {
  font-family: KaTeX_AMS;
}

.katex .mathcal {
  font-family: KaTeX_Caligraphic;
}

.katex .mathfrak, .katex .textfrak {
  font-family: KaTeX_Fraktur;
}

.katex .mathboldfrak, .katex .textboldfrak {
  font-family: KaTeX_Fraktur;
  font-weight: 700;
}

.katex .mathtt {
  font-family: KaTeX_Typewriter;
}

.katex .mathscr, .katex .textscr {
  font-family: KaTeX_Script;
}

.katex .mathsf, .katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .mathboldsf, .katex .textboldsf {
  font-family: KaTeX_SansSerif;
  font-weight: 700;
}

.katex .mathitsf, .katex .mathsfit, .katex .textitsf {
  font-family: KaTeX_SansSerif;
  font-style: italic;
}

.katex .mainrm {
  font-family: KaTeX_Main;
  font-style: normal;
}

.katex .vlist-t {
  border-collapse: collapse;
  table-layout: fixed;
  display: inline-table;
}

.katex .vlist-r {
  display: table-row;
}

.katex .vlist {
  vertical-align: bottom;
  display: table-cell;
  position: relative;
}

.katex .vlist > span {
  height: 0;
  display: block;
  position: relative;
}

.katex .vlist > span > span {
  display: inline-block;
}

.katex .vlist > span > .pstrut {
  width: 0;
  overflow: hidden;
}

.katex .vlist-t2 {
  margin-right: -2px;
}

.katex .vlist-s {
  vertical-align: bottom;
  width: 2px;
  min-width: 2px;
  font-size: 1px;
  display: table-cell;
}

.katex .vbox {
  flex-direction: column;
  align-items: baseline;
  display: inline-flex;
}

.katex .hbox {
  width: 100%;
}

.katex .hbox, .katex .thinbox {
  flex-direction: row;
  display: inline-flex;
}

.katex .thinbox {
  width: 0;
  max-width: 0;
}

.katex .msupsub {
  text-align: left;
}

.katex .mfrac > span > span {
  text-align: center;
}

.katex .mfrac .frac-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line {
  min-height: 1px;
}

.katex .mspace {
  display: inline-block;
}

.katex .smash {
  line-height: 0;
  display: inline;
}

.katex .clap, .katex .llap, .katex .rlap {
  width: 0;
  position: relative;
}

.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner {
  position: absolute;
}

.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix {
  display: inline-block;
}

.katex .llap > .inner {
  right: 0;
}

.katex .clap > .inner, .katex .rlap > .inner {
  left: 0;
}

.katex .clap > .inner > span {
  margin-left: -50%;
  margin-right: 50%;
}

.katex .rule {
  border: 0 solid;
  display: inline-block;
  position: relative;
}

.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline {
  border-bottom-style: dashed;
  width: 100%;
  display: inline-block;
}

.katex .sqrt > .root {
  margin-left: .277778em;
  margin-right: -.555556em;
}

.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 {
  font-size: 1.4em;
}

.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 {
  font-size: 3.456em;
}

.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 {
  font-size: 4.148em;
}

.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 {
  font-size: 4.976em;
}

.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 {
  font-size: 1.16667em;
}

.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 {
  font-size: 1.66667em;
}

.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 {
  font-size: 3.45667em;
}

.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 {
  font-size: 4.14667em;
}

.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 {
  font-size: .714286em;
}

.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 {
  font-size: .857143em;
}

.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 {
  font-size: 1.14286em;
}

.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 {
  font-size: 1.28571em;
}

.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 {
  font-size: 1.42857em;
}

.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 {
  font-size: 1.71429em;
}

.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 {
  font-size: 2.05714em;
}

.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 {
  font-size: 2.46857em;
}

.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 {
  font-size: 2.96286em;
}

.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 {
  font-size: 3.55429em;
}

.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 {
  font-size: .875em;
}

.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 {
  font-size: 1.125em;
}

.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 {
  font-size: 1.25em;
}

.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 {
  font-size: 2.16em;
}

.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 {
  font-size: 2.5925em;
}

.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 {
  font-size: 3.11em;
}

.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 {
  font-size: .777778em;
}

.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 {
  font-size: .888889em;
}

.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 {
  font-size: 1.11111em;
}

.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 {
  font-size: 1.92em;
}

.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 {
  font-size: 2.30444em;
}

.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 {
  font-size: 2.76444em;
}

.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 {
  font-size: .6em;
}

.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 {
  font-size: .7em;
}

.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 {
  font-size: .8em;
}

.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 {
  font-size: .9em;
}

.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 {
  font-size: 1.728em;
}

.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 {
  font-size: 2.074em;
}

.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 {
  font-size: 2.488em;
}

.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 {
  font-size: .583333em;
}

.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 {
  font-size: 1.72833em;
}

.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 {
  font-size: 2.07333em;
}

.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 {
  font-size: .486111em;
}

.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 {
  font-size: 1.44028em;
}

.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 {
  font-size: 1.72778em;
}

.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 {
  font-size: .289352em;
}

.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 {
  font-size: .405093em;
}

.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 {
  font-size: .462963em;
}

.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 {
  font-size: .520833em;
}

.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 {
  font-size: .578704em;
}

.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 {
  font-size: 1.20023em;
}

.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 {
  font-size: 1.43981em;
}

.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 {
  font-size: .24108em;
}

.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 {
  font-size: .289296em;
}

.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 {
  font-size: .337512em;
}

.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 {
  font-size: .385728em;
}

.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 {
  font-size: .433944em;
}

.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 {
  font-size: .48216em;
}

.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 {
  font-size: .578592em;
}

.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 {
  font-size: .694311em;
}

.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 {
  font-size: .833173em;
}

.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 {
  font-size: 1.19961em;
}

.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 {
  font-size: .200965em;
}

.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 {
  font-size: .241158em;
}

.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 {
  font-size: .281351em;
}

.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 {
  font-size: .321543em;
}

.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 {
  font-size: .361736em;
}

.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 {
  font-size: .401929em;
}

.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 {
  font-size: .482315em;
}

.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 {
  font-size: .578778em;
}

.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 {
  font-size: .694534em;
}

.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 {
  font-size: .833601em;
}

.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 {
  font-size: 1em;
}

.katex .delimsizing.size1 {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.size2 {
  font-family: KaTeX_Size2;
}

.katex .delimsizing.size3 {
  font-family: KaTeX_Size3;
}

.katex .delimsizing.size4 {
  font-family: KaTeX_Size4;
}

.katex .delimsizing.mult .delim-size1 > span {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.mult .delim-size4 > span {
  font-family: KaTeX_Size4;
}

.katex .nulldelimiter {
  width: .12em;
  display: inline-block;
}

.katex .delimcenter, .katex .op-symbol {
  position: relative;
}

.katex .op-symbol.small-op {
  font-family: KaTeX_Size1;
}

.katex .op-symbol.large-op {
  font-family: KaTeX_Size2;
}

.katex .accent > .vlist-t, .katex .op-limits > .vlist-t {
  text-align: center;
}

.katex .accent .accent-body {
  position: relative;
}

.katex .accent .accent-body:not(.accent-full) {
  width: 0;
}

.katex .overlay {
  display: block;
}

.katex .mtable .vertical-separator {
  min-width: 1px;
  display: inline-block;
}

.katex .mtable .arraycolsep {
  display: inline-block;
}

.katex .mtable .col-align-c > .vlist-t {
  text-align: center;
}

.katex .mtable .col-align-l > .vlist-t {
  text-align: left;
}

.katex .mtable .col-align-r > .vlist-t {
  text-align: right;
}

.katex .svg-align {
  text-align: left;
}

.katex svg {
  fill: currentColor;
  stroke: currentColor;
  height: inherit;
  width: 100%;
  display: block;
  position: absolute;
}

.katex svg path {
  stroke: none;
}

.katex svg {
  fill-rule: nonzero;
  fill-opacity: 1;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  stroke-opacity: 1;
}

.katex img {
  border-style: none;
  min-width: 0;
  max-width: none;
  min-height: 0;
  max-height: none;
}

.katex .stretchy {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}

.katex .stretchy:after, .katex .stretchy:before {
  content: "";
}

.katex .hide-tail {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.katex .halfarrow-left {
  width: 50.2%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .halfarrow-right {
  width: 50.2%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .brace-left {
  width: 25.1%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .brace-center {
  width: 50%;
  position: absolute;
  left: 25%;
  overflow: hidden;
}

.katex .brace-right {
  width: 25.1%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .x-arrow-pad {
  padding: 0 .5em;
}

.katex .cd-arrow-pad {
  padding: 0 .55556em 0 .27778em;
}

.katex .mover, .katex .munder, .katex .x-arrow {
  text-align: center;
}

.katex .boxpad {
  padding: 0 .3em;
}

.katex .fbox, .katex .fcolorbox {
  box-sizing: border-box;
  border: .04em solid;
}

.katex .cancel-pad {
  padding: 0 .2em;
}

.katex .cancel-lap {
  margin-left: -.2em;
  margin-right: -.2em;
}

.katex .sout {
  border-bottom-style: solid;
  border-bottom-width: .08em;
}

.katex .angl {
  box-sizing: border-box;
  border-top: .049em solid;
  border-right: .049em solid;
  margin-right: .03889em;
}

.katex .anglpad {
  padding: 0 .03889em;
}

.katex .eqn-num:before {
  content: "(" counter(katexEqnNo) ")";
  counter-increment: katexEqnNo;
}

.katex .mml-eqn-num:before {
  content: "(" counter(mmlEqnNo) ")";
  counter-increment: mmlEqnNo;
}

.katex .mtr-glue {
  width: 50%;
}

.katex .cd-vert-arrow {
  display: inline-block;
  position: relative;
}

.katex .cd-label-left {
  text-align: left;
  display: inline-block;
  position: absolute;
  right: calc(50% + .3em);
}

.katex .cd-label-right {
  text-align: right;
  display: inline-block;
  position: absolute;
  left: calc(50% + .3em);
}

.katex-display {
  text-align: center;
  margin: 1em 0;
  display: block;
}

.katex-display > .katex {
  text-align: center;
  white-space: nowrap;
  display: block;
}

.katex-display > .katex > .katex-html {
  display: block;
  position: relative;
}

.katex-display > .katex > .katex-html > .tag {
  position: absolute;
  right: 0;
}

.katex-display.leqno > .katex > .katex-html > .tag {
  left: 0;
  right: auto;
}

.katex-display.fleqn > .katex {
  text-align: left;
  padding-left: 2em;
}

body {
  counter-reset: katexEqnNo mmlEqnNo;
}

/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --bg-app: #fafaf9;
  --bg-surface: #fff;
  --bg-surface-2: #f5f5f4;
  --bg-elevated: #fff;
  --bg-reading: #fafaf7;
  --bg-reading-alt: #f7f6f1;
  --border: #e7e5e4;
  --border-strong: #d6d3d1;
  --border-subtle: #efedeb;
  --fg: #1c1917;
  --fg-muted: #57534e;
  --fg-subtle: #78716c;
  --fg-faint: #6b6760;
  --accent: #b8472d;
  --accent-hover: #9a3a25;
  --accent-soft: #fbeee9;
  --accent-soft-2: #f4d8cd;
  --accent-fg: #fff;
  --accent-text: #8f3520;
  --success: #15803d;
  --success-soft: #dcfce7;
  --warn: #b45309;
  --warn-soft: #fef3c7;
  --danger: #b91c1c;
  --danger-soft: #fee2e2;
  --shadow-sm: 0 1px 2px #1c19170a, 0 1px 1px #1c191708;
  --shadow-md: 0 4px 12px #1c19170f, 0 2px 4px #1c19170a;
  --shadow-lg: 0 12px 32px #1c191714, 0 4px 8px #1c19170a;
  --shadow-pop: 0 16px 48px #1c191724, 0 4px 12px #1c191714;
  --radius-sm: 6px;
  --radius: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --font-ui: var(--font-sans-loader), "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-reading: var(--font-serif-loader), "Newsreader", "Source Serif Pro", Georgia, serif;
  --font-mono: var(--font-mono-loader), "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

[data-theme="dark"] {
  --bg-app: #0c0a09;
  --bg-surface: #16130f;
  --bg-surface-2: #1c1917;
  --bg-elevated: #201d1a;
  --bg-reading: #14110d;
  --bg-reading-alt: #181513;
  --border: #2a2622;
  --border-strong: #3a352f;
  --border-subtle: #221f1c;
  --fg: #f5f5f4;
  --fg-muted: #d6d3d1;
  --fg-subtle: #a8a29e;
  --fg-faint: #94908a;
  --accent: #e8836a;
  --accent-hover: #f0a18b;
  --accent-soft: #2a1812;
  --accent-soft-2: #3a221a;
  --accent-fg: #0c0a09;
  --accent-text: #f0a18b;
  --success: #4ade80;
  --success-soft: #14321f;
  --warn: #fbbf24;
  --warn-soft: #2e2107;
  --danger: #f87171;
  --danger-soft: #2c1414;
  --shadow-sm: 0 1px 2px #0006;
  --shadow-md: 0 4px 12px #0006;
  --shadow-lg: 0 12px 32px #00000080;
  --shadow-pop: 0 16px 48px #0009;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html, body, #root {
  height: 100%;
  margin: 0;
}

body {
  font-family: var(--font-ui);
  background: var(--bg-app);
  color: var(--fg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  font-feature-settings: "cv11", "ss01";
  touch-action: manipulation;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: 100%;
  font-size: 14px;
  line-height: 1.5;
  transition: background-color .12s, color .12s;
}

@media (pointer: coarse) {
  .input, input.input, textarea, select, .rd-chat-input textarea, .lp-input-field, .rd-toolbar-page-input input {
    font-size: 16px;
  }
}

button {
  font: inherit;
  color: inherit;
  cursor: pointer;
}

input, textarea, select {
  font: inherit;
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: none;
}

::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border: 2px solid var(--bg-app);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--fg-faint);
}

::selection {
  background: var(--accent-soft-2);
  color: var(--accent-text);
}

.app {
  grid-template-columns: 232px 1fr;
  width: 100vw;
  height: 100vh;
  display: grid;
  overflow: hidden;
}

.app.no-sidebar {
  grid-template-columns: 1fr;
}

.main {
  background: var(--bg-app);
  min-width: 0;
  overflow: auto;
}

.sidebar {
  background: var(--bg-surface);
  border-right: 1px solid var(--border);
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 20px 14px 16px;
  display: flex;
}

.sb-brand {
  letter-spacing: -.01em;
  align-items: center;
  gap: 10px;
  padding: 4px 10px 22px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.sb-brand-mark {
  background: linear-gradient(135deg, var(--accent) 0%, #6366f1 100%);
  color: #fff;
  width: 26px;
  height: 26px;
  font-family: var(--font-mono);
  letter-spacing: -.04em;
  border-radius: 7px;
  place-items: center;
  font-size: 12px;
  font-weight: 600;
  display: grid;
}

.brand-logo {
  object-fit: contain;
  mix-blend-mode: multiply;
  width: auto;
  height: 32px;
  display: block;
}

[data-theme="dark"] .brand-logo {
  mix-blend-mode: screen;
  filter: invert();
}

.lp-foot .brand-logo {
  height: 28px;
}

.sb-brand .brand-logo {
  height: 26px;
}

.sb-section-label {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fg-faint);
  padding: 14px 10px 6px;
  font-size: 10px;
  font-weight: 500;
}

.sb-item {
  border-radius: var(--radius);
  color: var(--fg-muted);
  cursor: pointer;
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  font-size: 13.5px;
  transition: background .1s, color .1s;
  display: flex;
}

.sb-item:hover {
  background: var(--bg-surface-2);
  color: var(--fg);
}

.sb-item.active {
  background: var(--accent-soft);
  color: var(--accent-text);
  font-weight: 500;
}

.sb-item .icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.sb-item .badge {
  background: var(--bg-surface-2);
  color: var(--fg-subtle);
  font-variant-numeric: tabular-nums;
  border-radius: 999px;
  margin-left: auto;
  padding: 1px 6px;
  font-size: 11px;
}

.sb-item.active .badge {
  background: var(--accent-soft-2);
  color: var(--accent-text);
}

.sb-footer {
  border-top: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  padding-top: 12px;
  display: flex;
}

.sb-credit {
  background: var(--bg-surface-2);
  border-radius: var(--radius-md);
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
  padding: 12px;
  font-size: 12px;
  display: flex;
}

.sb-credit-row {
  justify-content: space-between;
  align-items: baseline;
  display: flex;
}

.sb-credit-num {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
  font-size: 18px;
  font-weight: 600;
}

.sb-credit-label {
  color: var(--fg-subtle);
}

.sb-credit-bar {
  background: var(--border);
  border-radius: 999px;
  height: 4px;
  overflow: hidden;
}

.sb-credit-bar > span {
  background: var(--accent);
  border-radius: 999px;
  height: 100%;
  display: block;
}

.sb-credit-cta {
  color: var(--accent-text);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 500;
}

.sb-user {
  border-radius: var(--radius);
  cursor: pointer;
  color: inherit;
  text-align: left;
  background: none;
  border: 0;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  display: flex;
}

.sb-user:hover {
  background: var(--bg-surface-2);
}

.sb-avatar {
  color: #fff;
  background: linear-gradient(135deg, #f59e0b, #ef4444);
  border-radius: 50%;
  place-items: center;
  width: 28px;
  height: 28px;
  font-size: 11px;
  font-weight: 600;
  display: grid;
}

.sb-user-name {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}

.sb-user-email {
  color: var(--fg-subtle);
  font-size: 11px;
  line-height: 1.2;
}

.topbar {
  border-bottom: 1px solid var(--border);
  background: var(--bg-surface);
  z-index: 20;
  align-items: center;
  gap: 10px;
  height: 56px;
  padding: 0 24px;
  display: flex;
  position: sticky;
  top: 0;
}

.topbar-title {
  font-size: 14px;
  font-weight: 500;
}

.topbar-spacer {
  flex: 1;
}

.btn {
  background: var(--bg-surface);
  color: var(--fg);
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 500;
  transition: transform .12s cubic-bezier(.2, .8, .2, 1), box-shadow .12s, filter .12s, background-color .12s;
  display: inline-flex;
  box-shadow: inset 0 1px #ffffff8c, inset 0 0 0 1px #0000000a, 0 1px 2px #0000000f, 0 2px 6px #0000000a;
}

.btn:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: inset 0 1px #fff9, inset 0 0 0 1px #0000000a, 0 2px 4px #00000014, 0 6px 14px #b8472d29;
}

.btn:active, .btn[data-pressed="true"] {
  filter: brightness(.94);
  transition-duration: 60ms;
  transform: scale(.97);
}

.btn:disabled, .btn[aria-disabled="true"] {
  opacity: .55;
  cursor: not-allowed;
  filter: none;
  transform: none;
}

.btn.primary {
  background: var(--accent);
  color: var(--accent-fg);
  box-shadow: inset 0 1px #ffffff40, inset 0 0 0 1px #0000000d, 0 1px 2px #9a3a252e, 0 4px 12px #b8472d38;
}

.btn.primary:hover {
  box-shadow: inset 0 1px #ffffff4d, inset 0 0 0 1px #0000000d, 0 2px 4px #9a3a2538, 0 8px 18px #b8472d4d;
}

.btn.secondary {
  background: var(--bg-surface);
  color: var(--fg);
}

.btn.ghost {
  box-shadow: none;
  color: var(--fg-muted);
  background: none;
}

.btn.ghost:hover {
  background: var(--bg-surface-2);
  filter: none;
  box-shadow: 0 1px 2px #0000000d;
}

.btn.sm {
  gap: 4px;
  padding: 5px 12px;
  font-size: 12px;
}

.btn.lg {
  gap: 8px;
  padding: 11px 22px;
  font-size: 14px;
}

.btn.xl {
  gap: 10px;
  padding: 14px 28px;
  font-size: 15.5px;
  font-weight: 600;
}

.btn .icon {
  width: 14px;
  height: 14px;
}

.btn.xl .icon {
  width: 16px;
  height: 16px;
}

.icon-btn {
  border-radius: var(--radius);
  width: 32px;
  height: 32px;
  color: var(--fg-muted);
  background: none;
  border: 1px solid #0000;
  place-items: center;
  transition: all .1s;
  display: grid;
}

.icon-btn:hover {
  background: var(--bg-surface-2);
  color: var(--fg);
}

.icon-btn.active {
  background: var(--accent-soft);
  color: var(--accent-text);
}

.icon-btn .icon {
  width: 16px;
  height: 16px;
}

.input {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--bg-surface);
  width: 100%;
  color: var(--fg);
  outline: none;
  padding: 9px 12px;
  font-size: 13.5px;
  transition: border-color .1s, box-shadow .1s;
}

.input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.input::placeholder {
  color: var(--fg-faint);
}

.card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
}

.badge {
  background: var(--bg-surface-2);
  color: var(--fg-muted);
  border: 1px solid var(--border);
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11.5px;
  font-weight: 500;
  display: inline-flex;
}

.badge.success {
  background: var(--success-soft);
  color: var(--success);
  border-color: #0000;
}

.badge.warn {
  background: var(--warn-soft);
  color: var(--warn);
  border-color: #0000;
}

.badge.danger {
  background: var(--danger-soft);
  color: var(--danger);
  border-color: #0000;
}

.badge.accent {
  background: var(--accent-soft);
  color: var(--accent-text);
  border-color: #0000;
}

.tabs {
  background: var(--bg-surface-2);
  border-radius: var(--radius);
  gap: 2px;
  padding: 3px;
  display: inline-flex;
}

.tab {
  color: var(--fg-muted);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
}

.tab.active {
  background: var(--bg-surface);
  color: var(--fg);
  box-shadow: var(--shadow-sm);
}

.skel {
  background: linear-gradient(90deg, var(--bg-surface-2) 0%, var(--bg-surface) 50%, var(--bg-surface-2) 100%);
  background-size: 200% 100%;
  border-radius: 4px;
  animation: 1.4s ease-in-out infinite skel;
}

@keyframes skel {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
  display: flex;
}

.gap-1 {
  gap: 4px;
}

.gap-2 {
  gap: 8px;
}

.gap-3 {
  gap: 12px;
}

.gap-4 {
  gap: 16px;
}

.gap-6 {
  gap: 24px;
}

.muted {
  color: var(--fg-muted);
}

.subtle {
  color: var(--fg-subtle);
}

.faint {
  color: var(--fg-faint);
}

.mono {
  font-family: var(--font-mono);
}

.kbd {
  background: var(--bg-surface-2);
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  color: var(--fg-muted);
  border-bottom-width: 2px;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 11px;
  line-height: 1.4;
  display: inline-block;
}

.page {
  max-width: 1100px;
  margin: 0 auto;
  padding: 32px 28px 80px;
}

.page-title {
  letter-spacing: -.02em;
  margin: 0 0 4px;
  font-size: 22px;
  font-weight: 600;
}

.page-sub {
  color: var(--fg-subtle);
  margin: 0 0 28px;
  font-size: 13.5px;
}

.digest-page {
  max-width: 760px;
  margin: 0 auto;
  padding: 24px 24px 96px;
}

.digest-head {
  margin-bottom: 24px;
}

.digest-head-row {
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.digest-head-meta {
  flex: 1;
  min-width: 0;
}

.digest-title {
  letter-spacing: -.02em;
  margin: 6px 0 4px;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.25;
}

.digest-authors {
  color: var(--fg-subtle);
  font-size: 13px;
}

.digest-body {
  font-size: 16px;
  line-height: 1.65;
}

.digest-body .md-h1 {
  margin-top: 0;
  font-size: 1.5em;
}

.digest-body .md-h2 {
  border-top: 1px solid var(--border);
  margin-top: 1.6em;
  padding-top: .4em;
  font-size: 1.18em;
}

.digest-body .md-h3 {
  margin-top: 1.2em;
  font-size: 1.05em;
}

.digest-body .md-p {
  margin: 0 0 .85em;
}

.digest-body .md-ul li, .digest-body .md-ol li {
  margin: .4em 0;
}

.digest-error {
  padding: 20px;
}

.digest-streaming-cursor {
  color: var(--fg-subtle);
  margin-left: 2px;
  animation: 1s steps(2, start) infinite blink;
  display: inline-block;
}

@keyframes blink {
  to {
    visibility: hidden;
  }
}

.digest-foot {
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
  align-items: center;
  margin-top: 32px;
  padding-top: 14px;
  font-size: 12.5px;
  display: flex;
}

.link-btn {
  color: var(--accent-text);
  cursor: pointer;
  font: inherit;
  text-underline-offset: 2px;
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline;
}

.link-btn:hover {
  opacity: .85;
}

.toaster {
  z-index: 100;
  pointer-events: none;
  flex-direction: column;
  gap: 8px;
  display: flex;
  position: fixed;
  top: 20px;
  right: 20px;
}

.toast {
  pointer-events: auto;
  border-radius: var(--radius);
  background: var(--bg-elevated);
  min-width: 240px;
  max-width: 360px;
  color: var(--fg);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  font-size: 13px;
  animation: .18s ease-out toast-in;
  display: flex;
}

.toast .icon {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.toast-success .icon {
  color: var(--success);
}

.toast-error {
  border-color: var(--danger-soft);
}

.toast-error .icon {
  color: var(--danger);
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateX(20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.modal-backdrop {
  z-index: 90;
  background: #1c191766;
  place-items: center;
  animation: .12s fade-in;
  display: grid;
  position: fixed;
  inset: 0;
}

[data-theme="dark"] .modal-backdrop {
  background: #0009;
}

.modal {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  width: calc(100vw - 40px);
  max-width: 420px;
  box-shadow: var(--shadow-pop);
  padding: 24px;
  animation: .16s ease-out modal-in;
}

.modal-title {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 600;
}

.modal-desc {
  margin: 0 0 20px;
  font-size: 13px;
  line-height: 1.5;
}

.modal-actions {
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.btn.danger {
  background: var(--danger);
  color: #fff;
  box-shadow: inset 0 1px #ffffff38, inset 0 0 0 1px #0000000d, 0 1px 2px #781e1e33, 0 4px 12px #b4323238;
}

.btn.danger:hover {
  box-shadow: inset 0 1px #ffffff47, inset 0 0 0 1px #0000000d, 0 2px 4px #781e1e40, 0 8px 18px #b432324d;
}

[data-theme="dark"] .btn.danger {
  color: var(--bg-app);
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modal-in {
  from {
    opacity: 0;
    transform: translateY(8px)scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.form-success {
  text-align: center;
  padding: 20px;
}

.form-success-icon {
  background: var(--success-soft);
  width: 48px;
  height: 48px;
  color: var(--success);
  border-radius: 50%;
  place-items: center;
  margin: 0 auto 12px;
  display: grid;
}

.form-success-icon .icon {
  width: 22px;
  height: 22px;
}

.select-menu {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  min-width: 200px;
  box-shadow: var(--shadow-pop);
  z-index: 30;
  flex-direction: column;
  padding: 4px;
  display: flex;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
}

.select-opt {
  border-radius: var(--radius-sm);
  color: var(--fg);
  text-align: left;
  cursor: pointer;
  background: none;
  border: 0;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: 13px;
  display: flex;
}

.select-opt:hover {
  background: var(--bg-surface-2);
}

.select-opt.active {
  color: var(--accent-text);
}

.select-opt .icon {
  color: var(--accent);
  margin-left: auto;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute !important;
}

.btn:focus {
  outline: none;
}

.btn:focus-visible, .icon-btn:focus-visible, .tab:focus-visible, .sb-item:focus-visible, .sb-user:focus-visible, .lib-card:focus-visible, .lp-faq-q:focus-visible, .q-card:focus-visible, .set-val:focus-visible, .select-opt:focus-visible, .lp-nav-link-btn:focus-visible, .link-btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius);
}

.input:focus-visible {
  outline: none;
}

.app-mobile-bar {
  height: 52px;
  padding: 0 12px;
  padding-top: env(safe-area-inset-top, 0);
  padding-left: max(12px, env(safe-area-inset-left, 0));
  padding-right: max(12px, env(safe-area-inset-right, 0));
  height: calc(52px + env(safe-area-inset-top, 0));
  border-bottom: 1px solid var(--border);
  background: var(--bg-surface);
  z-index: 30;
  align-items: center;
  gap: 8px;
  display: none;
  position: sticky;
  top: 0;
}

.app-mobile-bar .app-mobile-brand {
  font-size: 14px;
  font-weight: 600;
}

.app-mobile-bar .app-mobile-actions {
  align-items: center;
  gap: 6px;
  margin-left: auto;
  display: flex;
}

.app-mobile-bar .app-mobile-pill {
  border: 1px solid var(--border);
  background: var(--bg-surface);
  height: 34px;
  color: var(--fg);
  cursor: pointer;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1;
  transition: background .1s, border-color .1s, color .1s;
  display: inline-flex;
}

.app-mobile-bar .app-mobile-pill .icon {
  width: 14px;
  height: 14px;
}

.app-mobile-bar .app-mobile-pill:hover {
  background: var(--bg-surface-2);
}

.app-mobile-bar .app-mobile-pill.active {
  background: var(--accent-soft);
  color: var(--accent-text);
  border-color: var(--accent-border, var(--accent));
}

@media (max-width: 420px) {
  .app-mobile-bar .app-mobile-brand {
    display: none;
  }

  .app-mobile-bar .app-mobile-pill {
    gap: 4px;
    padding: 0 10px;
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .app-mobile-bar .app-mobile-pill span {
    display: none;
  }

  .app-mobile-bar .app-mobile-pill {
    justify-content: center;
    width: 34px;
    padding: 0;
  }
}

.app-sidebar-backdrop {
  z-index: 40;
  background: #1c191766;
  animation: .12s fade-in;
  display: none;
  position: fixed;
  inset: 0;
}

[data-theme="dark"] .app-sidebar-backdrop {
  background: #0009;
}

@media (max-width: 768px) {
  .app {
    grid-template-columns: 1fr;
    height: 100dvh;
  }

  .app-mobile-bar {
    display: flex;
  }

  .sidebar {
    z-index: 50;
    width: 280px;
    max-width: 82vw;
    box-shadow: var(--shadow-lg);
    padding-top: max(20px, env(safe-area-inset-top, 0));
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0));
    padding-left: max(14px, env(safe-area-inset-left, 0));
    transition: transform .22s cubic-bezier(.2, .8, .2, 1);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    transform: translateX(-100%);
  }

  .app--sidebar-open .sidebar {
    transform: translateX(0);
  }

  .app--sidebar-open .app-sidebar-backdrop {
    display: block;
  }

  .sidebar .sb-item {
    min-height: 40px;
    padding: 10px 12px;
    font-size: 14px;
  }

  .sidebar .sb-user {
    min-height: 48px;
    padding: 10px 12px;
  }

  .sidebar .sb-avatar {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }

  .page {
    padding: 20px 16px 80px;
  }

  .page-title {
    font-size: 20px;
  }
}

@media (max-width: 600px) {
  .topbar {
    padding-left: max(16px, env(safe-area-inset-left, 0));
    padding-right: max(16px, env(safe-area-inset-right, 0));
  }

  .toaster {
    right: max(12px, env(safe-area-inset-right, 0));
    left: max(12px, env(safe-area-inset-left, 0));
    top: max(12px, env(safe-area-inset-top, 0));
  }

  .toast {
    max-width: none;
  }

  .modal {
    padding: 18px;
  }
}

@media (pointer: coarse) {
  .icon-btn {
    width: 40px;
    min-width: 40px;
    height: 40px;
  }

  .btn.sm {
    padding: 8px 14px;
    font-size: 13px;
  }

  .tab {
    min-height: 36px;
    padding: 8px 14px;
  }

  .lp-faq-q {
    min-height: 56px;
    padding: 18px 0;
  }

  .input {
    padding: 11px 14px;
  }
}

/* [project]/src/app/reader.css [app-client] (css) */
.reader {
  background: var(--bg-app);
  flex-direction: column;
  height: 100vh;
  display: flex;
  position: relative;
}

.rd-top {
  border-bottom: 1px solid var(--border);
  background: var(--bg-surface);
  flex: 0 0 56px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  height: 56px;
  padding: 0 14px;
  display: flex;
}

.rd-top-left, .rd-top-right {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.rd-top-center {
  align-items: center;
  gap: 4px;
  display: flex;
}

.rd-top-meta {
  min-width: 0;
  margin-left: 8px;
}

.rd-top-title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}

.rd-top-sub {
  margin-top: 2px;
  line-height: 1.2;
}

.rd-top-sep {
  background: var(--border);
  width: 1px;
  height: 18px;
  margin: 0 6px;
  display: inline-block;
}

.rd-zoom {
  text-align: center;
  min-width: 38px;
  color: var(--fg-subtle);
  font-size: 11.5px;
}

.rd-toolbar {
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 12px;
  min-width: 0;
  display: flex;
}

.rd-toolbar-modes {
  background: var(--bg-surface-2);
  border-radius: var(--radius);
  gap: 2px;
  padding: 3px;
  display: inline-flex;
}

.rd-toolbar-mode {
  color: var(--fg-muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 0;
  border-radius: 6px;
  padding: 5px 12px;
  font-size: 12.5px;
  font-weight: 500;
  transition: all .1s;
}

.rd-toolbar-mode:hover {
  color: var(--fg);
}

.rd-toolbar-mode.active {
  background: var(--bg-surface);
  color: var(--fg);
  box-shadow: var(--shadow-sm);
}

.rd-toolbar-page, .rd-toolbar-zoom {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-app);
  align-items: center;
  gap: 2px;
  padding: 2px 4px;
  display: inline-flex;
}

.rd-toolbar-page-input {
  align-items: center;
  gap: 3px;
  padding: 0 4px;
  font-size: 12.5px;
  display: flex;
}

.rd-toolbar-page-input input {
  text-align: right;
  font-variant-numeric: tabular-nums;
  width: 30px;
  font-family: var(--font-mono);
  color: var(--fg);
  -moz-appearance: textfield;
  background: none;
  border: 0;
  outline: none;
  font-size: 12.5px;
}

.rd-toolbar-page-input input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rd-toolbar-page-input input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.rd-toolbar-page-sep {
  color: var(--fg-faint);
  font-size: 12px;
}

.rd-toolbar-page-total {
  color: var(--fg-muted);
  text-align: left;
  min-width: 18px;
  font-size: 12.5px;
}

.rd-toolbar-zoom-pct {
  text-align: center;
  min-width: 38px;
  color: var(--fg-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 4px 8px;
  font-size: 11.5px;
  transition: all .1s;
}

.rd-toolbar-zoom-pct:hover {
  background: var(--bg-surface-2);
  color: var(--fg);
}

.rd-toolbar-zoom-pct.auto {
  background: var(--accent-soft);
  color: var(--accent-text);
  font-weight: 500;
}

.rd-toolbar-actions {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.rd-langchip {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  color: var(--fg-muted);
  z-index: 30;
  pointer-events: none;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 11.5px;
  display: flex;
  position: fixed;
  bottom: 18px;
  left: 18px;
}

.rd-langchip-pair {
  font-family: var(--font-mono);
  color: var(--fg);
  font-weight: 600;
}

.rd-langchip-sep, .rd-langchip .icon {
  color: var(--fg-faint);
}

.rd-body {
  flex: 1;
  grid-template-rows: minmax(0, 1fr);
  grid-template-columns: 240px 1fr 360px;
  min-height: 0;
  display: grid;
}

.rd-body.toc-closed {
  grid-template-columns: 1fr 360px;
}

.rd-body.chat-closed {
  grid-template-columns: 240px 1fr;
}

.rd-body.toc-closed.chat-closed {
  grid-template-columns: 1fr;
}

.rd-toc {
  border-right: 1px solid var(--border);
  background: var(--bg-surface);
  min-width: 0;
  padding: 16px 8px;
  overflow-y: auto;
}

.rd-toc-head {
  align-items: center;
  gap: 8px;
  padding: 4px 8px 12px 12px;
  display: flex;
}

.rd-toc-title {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--fg-faint);
  font-size: 11px;
  font-weight: 500;
}

.rd-toc-count {
  text-align: right;
  flex: 1;
  margin-right: 4px;
  font-size: 11px;
}

.rd-toc-close {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  padding: 0;
}

.rd-toc-close .icon {
  width: 14px;
  height: 14px;
}

.rd-toc-list {
  flex-direction: column;
  gap: 1px;
  display: flex;
}

.rd-toc-group {
  flex-direction: column;
  display: flex;
}

.rd-toc-item {
  border-radius: var(--radius-sm);
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: var(--fg-muted);
  background: none;
  border: 0;
  align-items: center;
  gap: 4px;
  padding: 6px 8px;
  font-size: 12.5px;
  line-height: 1.35;
  transition: all .1s;
  display: flex;
}

.rd-toc-item:hover {
  background: var(--bg-surface-2);
  color: var(--fg);
}

.rd-toc-item.active {
  background: var(--accent-soft);
  color: var(--accent-text);
  font-weight: 500;
}

.rd-toc-item.parent-active:not(.active) {
  color: var(--fg);
}

.rd-toc-item.child {
  padding-left: 28px;
  font-size: 12px;
}

.rd-toc-caret {
  width: 16px;
  height: 16px;
  color: var(--fg-faint);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 3px;
  place-items: center;
  transition: transform .12s;
  display: grid;
}

.rd-toc-caret:hover {
  color: var(--fg);
}

.rd-toc-caret-spacer {
  flex: 0 0 16px;
  width: 16px;
}

.rd-toc-caret .icon {
  width: 12px;
  height: 12px;
}

.rd-toc-label {
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
}

.rd-toc-children {
  flex-direction: column;
  gap: 1px;
  display: flex;
}

.rd-panes {
  background: var(--bg-reading);
  flex: 1;
  min-width: 0;
  min-height: 0;
  position: relative;
  overflow: hidden auto;
}

.rd-pdf-cols {
  align-items: flex-start;
  min-height: 100%;
  display: flex;
}

.rd-pdf-col {
  background: var(--bg-reading);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
  position: relative;
}

.rd-pdf-col-left {
  border-right: 1px solid var(--border);
}

.rd-body[data-mode="bilingual"] .rd-pdf-col {
  flex: 50%;
}

.rd-body[data-mode="translation"] .rd-pdf-col-right, .rd-body[data-mode="original"] .rd-pdf-col-left {
  flex: 100%;
}

.rd-pdf-pane {
  background: var(--bg-reading);
  flex-direction: column;
  flex: 1;
  min-width: 0;
  display: flex;
}

.rd-pdf-pages {
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 24px 16px 80px;
  display: flex;
}

.rd-pdf-page {
  box-shadow: var(--shadow-md, 0 4px 16px #00000014);
  background: #fff;
  border-radius: 4px;
  flex: none;
  position: relative;
  overflow: hidden;
}

.rd-pdf-canvas {
  z-index: 1;
  display: block;
  position: relative;
}

.rd-pdf-textlayer {
  z-index: 2;
  opacity: .999;
  -webkit-user-select: text;
  user-select: text;
  pointer-events: auto;
  line-height: 1;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.rd-pdf-textlayer ::selection, .rd-pdf-textlayer span::selection {
  background: #2684ff52;
  color: #0000 !important;
}

.rd-pdf-textlayer ::-moz-selection {
  background: #2684ff52;
  color: #0000 !important;
}

.rd-pdf-textlayer span::-moz-selection {
  background: #2684ff52;
  color: #0000 !important;
}

.rd-pdf-textlayer span, .rd-pdf-textlayer br {
  white-space: pre;
  cursor: text;
  transform-origin: 0 0;
  color: #0000;
  position: absolute;
}

.rd-pdf-textlayer .endOfContent {
  z-index: -1;
  display: block;
  position: absolute;
  inset: 100% 0 0;
}

.rd-pdf-loading {
  text-align: center;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 14px;
  min-height: 320px;
  padding: 48px 24px;
  display: flex;
}

.rd-pdf-loading-icon {
  background: linear-gradient(#ee5a4a 0%, #d33b2c 100%);
  border-radius: 6px;
  width: 44px;
  height: 56px;
  position: relative;
  box-shadow: 0 6px 18px #dc3c322e;
}

.rd-pdf-loading-icon:before {
  content: "";
  background: linear-gradient(135deg, #0000 50%, #ffffff8c 50%);
  border-bottom-left-radius: 4px;
  width: 12px;
  height: 12px;
  position: absolute;
  top: 0;
  right: 0;
}

.rd-pdf-loading-icon-tag {
  letter-spacing: .5px;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  font-family: var(--font-mono);
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
}

.rd-pdf-loading-name {
  color: var(--fg);
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 80%;
  font-size: 15px;
  font-weight: 500;
  overflow: hidden;
}

.rd-pdf-loading-sub {
  color: var(--fg-muted);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
}

.rd-pdf-loading-bar {
  background: var(--bg-surface-2);
  border-radius: 999px;
  width: min(220px, 70%);
  height: 3px;
  overflow: hidden;
}

.rd-pdf-loading-bar > span {
  background: var(--accent, #ee5a4a);
  border-radius: inherit;
  height: 100%;
  transition: width .2s ease-out;
  display: block;
}

.rd-pdf-error {
  margin: 24px;
  padding: 16px;
}

.rd-pdf-pending {
  background: var(--bg-surface);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  align-items: flex-start;
  gap: 10px;
  margin: 24px;
  padding: 16px 18px;
  display: flex;
}

.rd-pdf-pending .icon {
  color: var(--accent);
  flex: none;
  margin-top: 2px;
}

.rd-col {
  background: var(--bg-reading);
  min-width: 0;
  position: relative;
  overflow-y: auto;
}

.rd-col-head {
  z-index: 5;
  background: var(--bg-reading);
  border-bottom: 1px solid var(--border-subtle);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  align-items: center;
  gap: 8px;
  padding: 10px 36px;
  display: flex;
  position: sticky;
  top: 0;
}

.rd-col-lang {
  background: var(--bg-surface-2);
  color: var(--fg-muted);
  letter-spacing: .04em;
  font-size: 10px;
  font-weight: 600;
  font-family: var(--font-mono);
  border-radius: 4px;
  padding: 1px 7px;
  display: inline-block;
}

.rd-col-lang.accent {
  background: var(--accent-soft);
  color: var(--accent-text);
}

.rd-col-label {
  font-size: 11.5px;
}

.rd-article {
  font-family: var(--font-reading);
  max-width: 640px;
  color: var(--fg);
  margin: 0 auto;
  padding: 36px 36px 120px;
  font-size: 16px;
  line-height: 1.65;
}

.rd-art-head {
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 32px;
  padding-bottom: 20px;
}

.rd-arxiv {
  color: var(--fg-faint);
  letter-spacing: .02em;
  margin-bottom: 12px;
  font-size: 11px;
}

.rd-art-title {
  font-family: var(--font-reading);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin: 0 0 14px;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}

.rd-art-authors {
  color: var(--fg-muted);
  font-size: 13.5px;
  line-height: 1.5;
  font-family: var(--font-ui);
}

.rd-art-aff {
  color: var(--fg-subtle);
  margin-top: 6px;
  font-size: 12.5px;
  font-style: italic;
}

.rd-art-heading {
  font-family: var(--font-reading);
  letter-spacing: -.01em;
  margin: 36px 0 12px;
  scroll-margin-top: 24px;
  font-size: 19px;
  font-weight: 600;
}

.rd-art-heading.abstract {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--fg-subtle);
  font-size: 14px;
  font-family: var(--font-ui);
  margin-top: 0;
  font-weight: 500;
}

.rd-art-p {
  text-align: justify;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: pretty;
  margin: 0 0 1.05em;
}

.rd-art-end {
  text-align: center;
  font-size: 12px;
  font-family: var(--font-ui);
  margin-top: 60px;
}

.rd-figure {
  border-radius: 6px;
  max-width: 100%;
  height: auto;
  margin: 1em auto;
  display: block;
}

.rd-art-table {
  margin: 1em 0;
}

.rd-table-wrap {
  max-width: 100%;
  margin: 1em 0;
  overflow-x: auto;
}

.rd-table {
  border-collapse: collapse;
  min-width: 60%;
  font-size: .92em;
  font-family: var(--font-ui);
}

.rd-table th, .rd-table td {
  border: 1px solid var(--border);
  vertical-align: top;
  padding: 6px 10px;
}

.rd-table th {
  background: var(--bg-surface-2);
  font-weight: 600;
}

.rd-table tbody tr:nth-child(2n) {
  background: var(--bg-surface-2);
}

.rd-divider {
  background: var(--border);
  cursor: col-resize;
  flex: 0 0 1px;
  width: 1px;
  transition: background .1s;
  position: relative;
}

.rd-divider:hover, .rd-divider:active {
  background: var(--accent);
}

.rd-divider:before {
  content: "";
  position: absolute;
  inset: 0 -4px;
}

.rd-divider-grip {
  background: var(--border-strong);
  border-radius: 2px;
  width: 4px;
  height: 32px;
  transition: background .1s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.rd-divider:hover .rd-divider-grip {
  background: var(--accent);
}

.sel-pop {
  z-index: 100;
  background: var(--bg-elevated);
  border: 1px solid var(--border-strong);
  box-shadow: var(--shadow-pop);
  border-radius: 10px;
  align-items: center;
  gap: 0;
  padding: 4px;
  animation: .12s ease-out pop-in;
  display: flex;
  position: fixed;
}

@keyframes pop-in {
  from {
    opacity: 0;
    transform: translateY(4px)scale(.96);
  }

  to {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.sel-pop-btn {
  color: var(--fg);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 500;
  transition: background .1s;
  display: flex;
}

.sel-pop-btn:hover {
  background: var(--bg-surface-2);
  color: var(--accent-text);
}

.sel-pop-btn .icon {
  width: 13px;
  height: 13px;
  color: var(--fg-subtle);
}

.sel-pop-btn:hover .icon {
  color: var(--accent);
}

.sel-pop-sep {
  background: var(--border);
  width: 1px;
  height: 18px;
}

.rd-chat {
  border-left: 1px solid var(--border);
  background: var(--bg-surface);
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  display: flex;
}

.rd-chat-head {
  border-bottom: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px;
  display: flex;
}

.rd-chat-icon {
  background: var(--accent-soft);
  width: 28px;
  height: 28px;
  color: var(--accent-text);
  border-radius: 8px;
  place-items: center;
  display: grid;
}

.rd-chat-icon .icon {
  width: 14px;
  height: 14px;
}

.rd-chat-msgs {
  flex-direction: column;
  flex: 1;
  gap: 14px;
  padding: 16px 14px;
  display: flex;
  overflow-y: auto;
}

.rd-chat-msg {
  align-items: flex-start;
  gap: 8px;
  max-width: 100%;
  display: flex;
}

.rd-chat-msg.user {
  justify-content: flex-end;
}

.rd-chat-avatar {
  background: var(--accent-soft);
  width: 24px;
  height: 24px;
  color: var(--accent-text);
  border-radius: 50%;
  flex: 0 0 24px;
  place-items: center;
  margin-top: 1px;
  display: grid;
}

.rd-chat-avatar .icon {
  width: 12px;
  height: 12px;
}

.rd-chat-bubble {
  border-radius: 10px;
  max-width: 280px;
  padding: 9px 12px;
  font-size: 13px;
  line-height: 1.5;
}

.rd-chat-msg.user .rd-chat-bubble {
  background: var(--accent);
  color: var(--accent-fg);
  border-bottom-right-radius: 3px;
}

.rd-chat-msg.ai .rd-chat-bubble {
  background: var(--bg-surface-2);
  color: var(--fg);
  border-bottom-left-radius: 3px;
}

.rd-chat-typing {
  align-items: center;
  gap: 4px;
  height: 14px;
  display: inline-flex;
}

.rd-chat-typing > span {
  background: var(--fg-faint);
  border-radius: 50%;
  width: 5px;
  height: 5px;
  animation: 1.2s ease-in-out infinite rd-chat-bounce;
}

.rd-chat-typing > span:nth-child(2) {
  animation-delay: .15s;
}

.rd-chat-typing > span:nth-child(3) {
  animation-delay: .3s;
}

@keyframes rd-chat-bounce {
  0%, 60%, 100% {
    opacity: .4;
    transform: translateY(0);
  }

  30% {
    opacity: 1;
    transform: translateY(-3px);
  }
}

.rd-chat-caret {
  vertical-align: -2px;
  background: var(--accent);
  border-radius: 1px;
  width: 7px;
  height: 14px;
  margin-left: 2px;
  animation: 1s steps(2, end) infinite rd-chat-blink;
  display: inline-block;
}

@keyframes rd-chat-blink {
  to {
    opacity: 0;
  }
}

.md > :first-child {
  margin-top: 0;
}

.md > :last-child {
  margin-bottom: 0;
}

.md-p {
  margin: 0 0 .6em;
  line-height: 1.55;
}

.md-h {
  letter-spacing: -.01em;
  margin: .7em 0 .3em;
  font-weight: 600;
  line-height: 1.25;
}

.md-h1 {
  font-size: 1.18em;
}

.md-h2 {
  font-size: 1.1em;
}

.md-h3 {
  font-size: 1.04em;
}

.md-h4 {
  font-size: 1em;
}

.md-ul, .md-ol {
  margin: 0 0 .6em;
  padding-left: 1.25em;
}

.md-ul li, .md-ol li {
  margin: .15em 0;
  line-height: 1.5;
}

.md-ul {
  list-style: outside;
}

.md-ol {
  list-style: decimal;
}

.md-code {
  font-family: var(--font-mono);
  background: var(--bg-app);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: .9em;
}

.rd-chat-msg.user .md-code {
  color: inherit;
  background: #ffffff2e;
  border-color: #ffffff47;
}

.md-pre {
  background: var(--bg-app);
  border: 1px solid var(--border);
  border-radius: 8px;
  margin: .4em 0 .7em;
  padding: 10px 12px;
  overflow-x: auto;
}

.rd-chat-msg.user .md-pre {
  background: #ffffff24;
  border-color: #ffffff38;
}

.md-codeblock {
  font-family: var(--font-mono);
  white-space: pre;
  font-size: 12px;
  line-height: 1.55;
  display: block;
}

.md-link {
  color: var(--accent-text);
  text-underline-offset: 2px;
  text-decoration: underline;
}

.rd-chat-msg.user .md-link {
  color: inherit;
}

.md-hr {
  border: 0;
  border-top: 1px solid var(--border);
  margin: .8em 0;
}

.md-table-wrap {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  margin: .8em 0;
  overflow-x: auto;
}

.md-table {
  border-collapse: collapse;
  width: 100%;
  font-size: .95em;
  line-height: 1.45;
}

.md-table th, .md-table td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border);
  padding: 8px 12px;
}

.md-table th {
  background: var(--bg-surface);
  font-weight: 600;
}

.md-table tbody tr:last-child td {
  border-bottom: 0;
}

.md-table tbody tr:hover {
  background: var(--bg-hover, transparent);
}

.digest-body .md-table {
  font-size: 1em;
}

.digest-body .md-table th, .digest-body .md-table td {
  padding: 10px 14px;
}

.rd-top-btn {
  border-radius: var(--radius);
  height: 32px;
  color: var(--fg-muted);
  cursor: pointer;
  white-space: nowrap;
  background: none;
  border: 1px solid #0000;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 12.5px;
  font-weight: 500;
  transition: all .1s;
  display: inline-flex;
}

.rd-top-btn:hover {
  background: var(--bg-surface-2);
  color: var(--fg);
}

.rd-top-btn.active {
  background: var(--accent-soft);
  color: var(--accent-text);
}

.rd-top-btn .icon {
  width: 15px;
  height: 15px;
}

.rd-top-btn-label {
  font-size: 12.5px;
}

@media (max-width: 900px) {
  .rd-top-btn:not(.keep-label) .rd-top-btn-label {
    display: none;
  }

  .rd-top-btn:not(.keep-label) {
    padding: 0 8px;
  }
}

.rd-chat-suggest {
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 14px 8px;
  display: flex;
}

.rd-chat-chip {
  border: 1px solid var(--border);
  background: var(--bg-surface);
  color: var(--fg-muted);
  cursor: pointer;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 11.5px;
}

.rd-chat-chip:hover {
  border-color: var(--accent);
  color: var(--accent-text);
}

.rd-chat-input {
  border-top: 1px solid var(--border);
  padding: 10px 12px 14px;
  position: relative;
}

.rd-chat-input textarea {
  resize: none;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--bg-app);
  width: 100%;
  font-size: 13px;
  font-family: var(--font-ui);
  color: var(--fg);
  outline: none;
  padding: 9px 36px 9px 12px;
}

.rd-chat-input textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.rd-chat-send {
  background: var(--accent);
  width: 26px;
  height: 26px;
  color: var(--accent-fg);
  cursor: pointer;
  border: 0;
  border-radius: 6px;
  place-items: center;
  transition: opacity .1s;
  display: grid;
  position: absolute;
  bottom: 22px;
  right: 18px;
}

.rd-chat-send:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.rd-chat-send .icon {
  width: 12px;
  height: 12px;
}

.rd-toast {
  background: var(--fg);
  color: var(--bg-app);
  box-shadow: var(--shadow-lg);
  z-index: 200;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  animation: .16s ease-out pop-in;
  display: flex;
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.rd-toast .icon {
  width: 14px;
  height: 14px;
}

@media (max-width: 768px), (max-height: 540px) and (orientation: landscape) {
  .reader {
    height: 100dvh;
  }

  .rd-top {
    padding: 0 6px;
    padding-top: env(safe-area-inset-top, 0);
    padding-left: max(6px, env(safe-area-inset-left, 0));
    padding-right: max(6px, env(safe-area-inset-right, 0));
    height: auto;
    min-height: calc(52px + env(safe-area-inset-top, 0));
    flex-wrap: wrap;
    flex: none;
    gap: 4px;
  }

  .rd-top-meta, .rd-top .rd-top-btn:not(.keep-label) .rd-top-btn-label {
    display: none;
  }

  .rd-top .rd-top-btn:not(.keep-label) {
    justify-content: center;
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 0;
  }

  .rd-top .rd-top-btn.keep-label {
    gap: 4px;
    height: 40px;
    padding: 0 10px;
  }

  .rd-top .rd-top-btn.keep-label .rd-top-btn-label {
    font-size: 12px;
  }

  .rd-top-left, .rd-top-right {
    gap: 2px;
  }

  .rd-toolbar {
    border-top: 1px solid var(--border);
    scrollbar-width: none;
    flex-wrap: nowrap;
    flex-basis: 100%;
    order: 3;
    justify-content: flex-start;
    gap: 6px;
    padding-top: 6px;
    padding-bottom: 6px;
    overflow-x: auto;
  }

  .rd-toolbar::-webkit-scrollbar {
    display: none;
  }

  .rd-toolbar-modes {
    flex: none;
  }

  .rd-toolbar-mode {
    min-height: 36px;
    padding: 7px 12px;
    font-size: 13px;
  }

  .rd-toolbar-zoom {
    padding: 2px;
  }

  .rd-toolbar-zoom .icon-btn {
    width: 36px;
    height: 36px;
  }

  .rd-toolbar-actions .btn span {
    display: none;
  }

  .rd-toolbar-actions .btn {
    padding: 6px 8px;
  }

  .rd-body {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
  }

  .rd-body.toc-closed, .rd-body.chat-closed, .rd-body.toc-closed.chat-closed {
    grid-template-columns: 1fr;
  }

  .rd-toc {
    z-index: 60;
    width: 300px;
    max-width: 84vw;
    box-shadow: var(--shadow-lg);
    padding-top: max(16px, env(safe-area-inset-top, 0));
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0));
    transition: transform .22s cubic-bezier(.2, .8, .2, 1);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
  }

  .rd-body[data-mobile-toc="open"] .rd-toc {
    transform: translateX(0);
  }

  .rd-toc-backdrop {
    z-index: 55;
    background: #1c191766;
    animation: .12s fade-in;
    position: fixed;
    inset: 0;
  }

  [data-theme="dark"] .rd-toc-backdrop {
    background: #0009;
  }

  .rd-toc-item {
    min-height: 40px;
    padding: 10px 12px;
    font-size: 13.5px;
  }

  .rd-toc-item.child {
    padding-left: 32px;
  }

  .rd-toc-close {
    width: 40px;
    height: 40px;
  }

  .rd-panes {
    width: 100%;
  }

  .rd-pdf-cols {
    flex-direction: column;
  }

  .rd-divider {
    display: none;
  }

  .rd-col {
    flex: auto !important;
    width: 100% !important;
  }

  .rd-pdf-col {
    width: 100%;
    flex: none !important;
  }

  .rd-pdf-col-left {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .rd-body[data-mode="bilingual"] .rd-pdf-col-right:before {
    content: "↓";
    text-align: center;
    color: var(--fg-faint);
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border);
    font-size: 14px;
    font-family: var(--font-mono);
    letter-spacing: .04em;
    padding: 6px 0;
    display: block;
  }

  .rd-pdf-pages {
    gap: 12px;
    padding: 16px 8px 40px;
  }

  .rd-pdf-loading {
    min-height: 220px;
    padding: 32px 16px;
  }

  .rd-article {
    padding: 24px 18px 80px;
    font-size: 15px;
  }

  .rd-art-title {
    font-size: 22px;
  }

  .rd-langchip {
    bottom: max(12px, env(safe-area-inset-bottom, 0));
    padding: 4px 10px;
    font-size: 10.5px;
    left: 50%;
    transform: translateX(-50%);
  }

  .sel-pop {
    transform: translateX(-50%);
    left: 50% !important;
  }

  .sel-pop-btn {
    padding: 10px 14px;
    font-size: 13px;
  }

  .rd-chat {
    border-left: 0;
    border-top: 1px solid var(--border);
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
    z-index: 60;
    width: 100%;
    height: 80dvh;
    max-height: 80dvh;
    padding-bottom: env(safe-area-inset-bottom, 0);
    animation: .22s cubic-bezier(.2, .8, .2, 1) rd-chat-sheet-in;
    position: fixed;
    inset: auto 0 0;
    box-shadow: 0 -16px 48px #0003;
  }

  @keyframes rd-chat-sheet-in {
    from {
      transform: translateY(100%);
    }

    to {
      transform: translateY(0);
    }
  }

  .rd-chat:before {
    content: "";
    background: var(--border-strong);
    border-radius: 2px;
    flex: none;
    width: 36px;
    height: 4px;
    margin: 8px auto 0;
    display: block;
  }

  .rd-chat-head {
    padding: 8px 14px 12px;
  }

  .rd-chat-chip {
    min-height: 36px;
    padding: 8px 14px;
    font-size: 12.5px;
  }

  .rd-chat-input {
    padding: 10px 14px max(14px, env(safe-area-inset-bottom, 0));
  }

  .rd-chat-input textarea {
    padding: 11px 40px 11px 14px;
    font-size: 16px;
  }

  .rd-chat-send {
    width: 36px;
    height: 36px;
    right: 20px;
    bottom: calc(22px + env(safe-area-inset-bottom, 0));
  }

  .rd-chat-send .icon {
    width: 14px;
    height: 14px;
  }

  .rd-chat-backdrop {
    z-index: 55;
    background: #1c191759;
    animation: .14s fade-in;
    position: fixed;
    inset: 0;
  }

  [data-theme="dark"] .rd-chat-backdrop {
    background: #0000008c;
  }
}

@media (min-width: 769px) {
  .rd-chat-backdrop, .rd-toc-backdrop {
    display: none;
  }
}

@media (max-width: 380px) {
  .rd-toolbar {
    gap: 4px;
  }

  .rd-toolbar-mode {
    padding: 6px 10px;
    font-size: 12.5px;
  }

  .rd-top-btn {
    width: 36px;
    min-width: 36px;
    height: 36px;
  }
}

.portrait-notice {
  z-index: 60;
  border-radius: var(--radius);
  background: var(--bg-elevated);
  border: 1px solid var(--accent-border, var(--border));
  box-shadow: var(--shadow-lg);
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  animation: .22s ease-out portrait-notice-in;
  display: flex;
  position: fixed;
  top: 12px;
  left: 12px;
  right: 12px;
}

@keyframes portrait-notice-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.portrait-notice-icon {
  color: var(--accent-text);
  flex-shrink: 0;
  font-size: 20px;
  line-height: 1;
}

.portrait-notice-text {
  flex: 1;
  min-width: 0;
}

.portrait-notice-title {
  font-size: 13.5px;
  font-weight: 600;
}

.portrait-notice-sub {
  color: var(--fg-subtle);
  margin-top: 1px;
  font-size: 12px;
}

.portrait-notice-close {
  color: var(--fg-subtle);
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  flex-shrink: 0;
  padding: 6px;
}

.portrait-notice-close:hover {
  background: var(--bg-hover, #0000000a);
}

/* [project]/src/app/screens.css [app-client] (css) */
.input-with-icon {
  flex: 1;
  align-items: center;
  min-width: 0;
  display: flex;
  position: relative;
}

.input-with-icon > .icon {
  width: 14px;
  height: 14px;
  color: var(--fg-faint);
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}

.input-with-icon > input {
  padding-left: 34px;
}

.up-form {
  padding: 20px;
}

.field-label {
  color: var(--fg-muted);
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 500;
  display: block;
}

.field-row {
  gap: 8px;
  display: flex;
}

.field-help {
  margin-top: 8px;
  font-size: 12px;
}

.link-btn {
  color: var(--accent-text);
  cursor: pointer;
  font-family: var(--font-mono);
  background: none;
  border: 0;
  padding: 0;
  font-size: 12px;
}

.link-btn:hover {
  text-decoration: underline;
}

.up-dropzone {
  text-align: center;
  border: 1px dashed var(--border-strong);
  background: var(--bg-surface);
  cursor: pointer;
  color: var(--fg-muted);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 48px 20px;
  display: flex;
}

.up-dropzone:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent-text);
}

.up-drop-title {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 500;
}

.up-drop-sub {
  font-size: 12px;
}

.up-meta {
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
  display: flex;
}

.up-meta-card {
  gap: 20px;
  padding: 20px;
  display: flex;
}

.up-thumb {
  background: var(--bg-app);
  border: 1px solid var(--border);
  border-radius: 4px;
  flex-direction: column;
  flex: 0 0 96px;
  gap: 4px;
  width: 96px;
  height: 124px;
  padding: 14px 10px 8px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.up-thumb-fold {
  background: linear-gradient(225deg, var(--bg-surface-2) 50%, var(--border) 50%);
  width: 14px;
  height: 14px;
  position: absolute;
  top: 0;
  right: 0;
}

.up-thumb-line {
  background: var(--border-strong);
  border-radius: 1px;
  height: 2.5px;
}

.up-thumb-line:first-child {
  background: var(--fg-muted);
  height: 4px;
  margin-bottom: 4px;
}

.up-meta-body {
  flex: 1;
  min-width: 0;
}

.up-meta-title {
  font-family: var(--font-reading);
  letter-spacing: -.01em;
  text-wrap: balance;
  margin: 4px 0 6px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}

.up-meta-authors {
  color: var(--fg-muted);
  margin-bottom: 8px;
  font-size: 12.5px;
}

.up-meta-abstract {
  color: var(--fg-muted);
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  display: -webkit-box;
  overflow: hidden;
}

.up-opts {
  padding: 20px;
}

.up-row {
  border-bottom: 1px solid var(--border-subtle);
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  display: flex;
}

.up-row:last-child {
  border-bottom: 0;
}

.up-row.col {
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.up-row-label {
  flex: 1;
}

.up-row-title {
  font-size: 13.5px;
  font-weight: 500;
}

.up-row-val {
  align-items: center;
  gap: 8px;
  display: flex;
}

.up-quality {
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  display: grid;
}

.q-card {
  text-align: left;
  background: var(--bg-app);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  cursor: pointer;
  width: 100%;
  font: inherit;
  color: inherit;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  transition: all .1s;
  display: flex;
}

.q-card:hover {
  border-color: var(--fg-faint);
}

.q-card.active {
  border-color: var(--accent);
  background: var(--accent-soft);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.q-card.locked {
  opacity: .55;
  cursor: not-allowed;
  background: var(--bg-surface-2);
}

.q-card.locked:hover {
  border-color: var(--border);
}

.q-card-top {
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.q-radio {
  border: 1.5px solid var(--border-strong);
  border-radius: 50%;
  flex: 0 0 16px;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  display: grid;
}

.q-card.active .q-radio {
  border-color: var(--accent);
}

.q-radio-dot {
  background: var(--accent);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  display: block;
}

.q-title {
  font-size: 13.5px;
  font-weight: 600;
}

.q-cost {
  color: var(--fg-muted);
  white-space: nowrap;
  font-size: 12px;
}

.q-desc {
  color: var(--fg-subtle);
  font-size: 12px;
}

.up-cost {
  border-radius: var(--radius);
  background: var(--bg-surface-2);
  border: 1px solid var(--border-subtle);
  margin-top: 14px;
  padding: 12px 14px;
}

.lib-tools {
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  display: flex;
}

.lib-grid {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 14px;
  display: grid;
}

.lib-card {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  flex-direction: column;
  gap: 4px;
  padding: 14px 18px 12px 22px;
  transition: transform .12s, box-shadow .12s, border-color .12s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.lib-card.interactive {
  cursor: pointer;
}

.lib-card.interactive:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--border-strong);
  transform: translateY(-1px);
}

.lib-card.interactive:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.lib-card-stripe {
  background: var(--accent);
  width: 3px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.lib-card--translating .lib-card-stripe {
  background: var(--warn, #c98a2c);
}

.lib-card--error .lib-card-stripe {
  background: var(--danger, #c25450);
}

.lib-card-head {
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  display: flex;
}

.lib-card-arxiv {
  color: var(--fg-muted);
  letter-spacing: .01em;
}

.lib-card-sep {
  color: var(--fg-faint);
}

.lib-card-pages {
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  display: inline-flex;
}

.lib-card-flag {
  font-size: 14px;
  line-height: 1;
}

.lib-card-title {
  font-family: var(--font-reading);
  letter-spacing: -.01em;
  -webkit-line-clamp: 2;
  text-wrap: balance;
  -webkit-box-orient: vertical;
  margin: 4px 0 2px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  display: -webkit-box;
  overflow: hidden;
}

.lib-card-authors {
  font-size: 12.5px;
  line-height: 1.4;
}

.lib-card-lead {
  color: var(--fg-muted);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 8px 0 0;
  font-size: 13px;
  font-style: italic;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.lib-card-error {
  color: var(--danger, #c25450);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.45;
  display: -webkit-box;
  overflow: hidden;
}

.lib-card-foot {
  border-top: 1px solid var(--border-subtle);
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  padding-top: 8px;
  display: flex;
}

.lib-card-status {
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 500;
  display: inline-flex;
}

.lib-card-status.ready {
  color: var(--success, #557a4d);
}

.lib-card-status.translating {
  color: var(--warn, #c98a2c);
}

.lib-card-spinner {
  border: 1.5px solid var(--warn, #c98a2c);
  border-right-color: #0000;
  border-radius: 50%;
  width: 9px;
  height: 9px;
  animation: .7s linear infinite lib-card-spin;
  display: inline-block;
}

@keyframes lib-card-spin {
  to {
    transform: rotate(360deg);
  }
}

.lib-card-progress {
  background: var(--bg-surface-2);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.lib-card-progress:after {
  content: "";
  height: 100%;
  width: var(--p, 0%);
  background: var(--warn, #c98a2c);
  transition: width .24s;
  display: block;
}

.landing {
  background: var(--bg-app);
  color: var(--fg);
  min-height: 100vh;
}

.lp-nav {
  align-items: center;
  gap: 32px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 22px 56px;
  display: flex;
}

.lp-brand {
  letter-spacing: -.01em;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
}

.lp-nav-links {
  flex: 1;
  gap: 28px;
  margin-left: 28px;
  display: flex;
}

.lp-nav-links > a, .lp-nav-link-btn {
  color: var(--fg-muted);
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  font-family: inherit;
  font-size: 13.5px;
}

.lp-nav-links > :hover {
  color: var(--fg);
}

.lp-hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: start;
  gap: 64px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 56px 56px 96px;
  display: grid;
}

.lp-hero-l {
  padding-top: 24px;
}

.lp-byline {
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  display: flex;
}

.lp-byline-rule {
  background: var(--accent);
  width: 36px;
  height: 1px;
  display: block;
}

.lp-byline .mono {
  color: var(--fg-faint);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 11.5px;
}

.lp-h1 {
  font-family: var(--font-reading);
  letter-spacing: -.035em;
  text-wrap: balance;
  margin: 0 0 32px;
  font-size: 78px;
  font-weight: 500;
  line-height: 1.02;
}

.lp-h1-em {
  color: var(--accent-text);
  letter-spacing: -.025em;
  font-style: italic;
  font-weight: 500;
}

.lp-sub {
  color: var(--fg-muted);
  text-wrap: pretty;
  max-width: 480px;
  margin: 0 0 36px;
  font-size: 17px;
  line-height: 1.55;
}

.lp-input {
  background: var(--bg-surface);
  border: 1px solid var(--border-strong);
  max-width: 520px;
  box-shadow: var(--shadow-md);
  border-radius: 999px;
  align-items: center;
  padding: 5px 5px 5px 0;
  display: flex;
}

.lp-input:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px var(--accent-soft), var(--shadow-md);
}

.lp-input-prefix {
  color: var(--fg-faint);
  padding: 0 4px 0 18px;
  font-size: 13.5px;
}

.lp-input-field {
  font-family: var(--font-mono);
  color: var(--fg);
  background: none;
  border: 0;
  outline: none;
  flex: 1;
  min-width: 0;
  padding: 12px 4px;
  font-size: 13.5px;
}

.lp-input .btn {
  border-radius: 999px;
  gap: 6px;
  padding: 9px 16px;
}

.lp-hero-foot {
  border-top: 1px solid var(--border-subtle);
  gap: 56px;
  max-width: 520px;
  margin-top: 48px;
  padding-top: 32px;
  display: flex;
}

.lp-stat {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.lp-stat-num {
  font-family: var(--font-reading);
  letter-spacing: -.02em;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
}

.lp-stat-label {
  max-width: 110px;
  font-size: 11.5px;
  line-height: 1.3;
}

.lp-promise {
  flex-direction: column;
  gap: 6px;
  max-width: 130px;
  display: flex;
}

.lp-promise-mark {
  font-family: var(--font-reading);
  letter-spacing: -.02em;
  color: var(--accent-text);
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

.lp-promise-mark.mono {
  font-family: var(--font-mono);
  letter-spacing: 0;
  font-size: 17px;
}

.lp-promise-label {
  font-size: 12px;
  line-height: 1.35;
}

.lp-hero-r {
  padding-top: 8px;
  position: relative;
}

.lp-paper {
  color: #1a1410;
  transform-origin: 30%;
  will-change: transform;
  background: #faf6ef;
  border-radius: 6px;
  padding: 36px 32px 60px;
  position: relative;
  box-shadow: 0 1px #0000000a, 0 24px 40px -12px #3c1e0f2e, 0 8px 16px -8px #3c1e0f1f;
  transform: rotate(-1.2deg) !important;
}

.lp-paper:before {
  content: "";
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(at 20% 0, #0000000a, #0000 50%);
  position: absolute;
  inset: 0;
}

.lp-paper-tag {
  color: #1a141080;
  letter-spacing: .04em;
  margin-bottom: 22px;
  font-size: 10.5px;
  display: block;
}

.lp-paper-cols {
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  display: grid;
  position: relative;
}

.lp-paper-col + .lp-paper-col {
  border-left: 1px solid #1a14101f;
  padding-left: 22px;
}

.lp-paper-h {
  font-family: var(--font-reading);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #1a14108c;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 600;
}

.lp-paper-h.ru {
  font-family: var(--font-reading);
}

.lp-paper-p {
  font-family: var(--font-reading);
  color: #1a1410;
  text-wrap: pretty;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
}

.lp-paper-p strong {
  background: linear-gradient(#0000 60%, #b8472d2e 60%);
  padding: 0 1px;
  font-weight: 600;
}

.lp-paper-p.ru {
  font-style: normal;
}

.lp-paper-sel {
  color: #faf6ef;
  white-space: nowrap;
  background: #1a1410;
  border-radius: 999px;
  align-items: center;
  gap: 0;
  padding: 6px 10px;
  font-size: 11px;
  display: flex;
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 8px 20px -6px #0006;
}

.lp-paper-sel-btn {
  cursor: default;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  display: inline-flex;
}

.lp-paper-sel-btn:first-child {
  color: #f0a18b;
}

.lp-paper-sel-sep {
  background: #faf6ef2e;
  width: 1px;
  height: 12px;
}

.lp-chat {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  width: 280px;
  box-shadow: var(--shadow-lg);
  border-radius: 14px;
  flex-direction: column;
  gap: 10px;
  padding: 14px 14px 12px;
  display: flex;
  position: absolute;
  bottom: -32px;
  right: -8px;
  transform: rotate(1.5deg);
}

.lp-chat-row {
  font-size: 12.5px;
  line-height: 1.45;
}

.lp-chat-row.user {
  background: var(--accent);
  color: var(--accent-fg);
  border-radius: 14px 14px 4px;
  align-self: flex-end;
  max-width: 85%;
  padding: 7px 12px;
}

.lp-chat-row.ai {
  color: var(--fg);
  align-items: flex-start;
  gap: 8px;
  padding: 4px 2px;
  display: flex;
}

.lp-chat-row.ai strong {
  color: var(--accent-text);
  background: linear-gradient(#0000 62%, #b8472d2e 62%);
  padding: 0 2px;
  font-weight: 700;
}

.lp-chat-ai-mark {
  color: var(--accent);
  flex: none;
  font-size: 14px;
  line-height: 1.3;
}

.lp-chat-cite {
  color: var(--fg-faint);
  background: var(--bg-surface-2);
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  font-size: 11px;
  display: flex;
}

.lp-chat-cite-tag {
  background: var(--accent-soft);
  color: var(--accent-text);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 600;
}

.lp-quote {
  text-align: center;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  max-width: 880px;
  margin: 0 auto;
  padding: 80px 56px 96px;
}

.lp-quote-text {
  font-family: var(--font-reading);
  letter-spacing: -.015em;
  text-wrap: balance;
  max-width: 800px;
  margin: 0;
  padding-top: 32px;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.35;
}

.lp-quote-text em {
  color: var(--accent-text);
  font-style: italic;
}

.lp-quote-by {
  color: var(--fg-muted);
  margin-top: 24px;
  font-size: 13px;
}

.lp-section-head {
  flex-direction: column;
  max-width: 720px;
  margin-bottom: 56px;
  padding: 0;
  display: flex;
}

.lp-eyebrow {
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--accent-text);
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 500;
  display: inline-flex;
}

.lp-eyebrow:before {
  content: "";
  background: var(--accent);
  width: 24px;
  height: 1px;
}

.lp-h2 {
  font-family: var(--font-reading);
  letter-spacing: -.03em;
  text-wrap: balance;
  margin: 0;
  font-size: 52px;
  font-weight: 500;
  line-height: 1.05;
}

.lp-h2 em {
  color: var(--accent-text);
  font-style: italic;
  font-weight: 500;
}

.lp-h2-muted {
  color: var(--fg-faint);
  font-style: italic;
  font-weight: 400;
}

.lp-how {
  max-width: 1320px;
  margin: 0 auto;
  padding: 96px 56px;
}

.lp-how-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  display: grid;
}

.lp-how-item {
  border-top: 1px solid var(--fg);
  padding: 28px 32px 32px 0;
  position: relative;
}

.lp-how-item + .lp-how-item {
  padding-left: 32px;
}

.lp-how-num {
  color: var(--accent-text);
  letter-spacing: .06em;
  margin-bottom: 18px;
  font-size: 12px;
  font-weight: 500;
}

.lp-how-t {
  font-family: var(--font-reading);
  letter-spacing: -.015em;
  text-wrap: balance;
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.2;
}

.lp-how-b {
  color: var(--fg-muted);
  text-wrap: pretty;
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
}

.lp-inline-code {
  color: var(--fg);
  white-space: nowrap;
  background: #7f7f7f1f;
  border: 1px solid #7f7f7f2e;
  border-radius: 4px;
  padding: 1px 6px;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, monospace;
  font-size: .88em;
}

.lp-langs {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: 64px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 64px 56px 96px;
  display: grid;
}

.lp-langs-r {
  border-top: 1px solid var(--border);
  flex-direction: column;
  display: flex;
}

.lp-pair {
  border-bottom: 1px solid var(--border);
  font-family: var(--font-reading);
  letter-spacing: -.015em;
  grid-template-columns: 1fr auto 1fr;
  align-items: baseline;
  gap: 24px;
  padding: 18px 0;
  font-size: 24px;
  font-weight: 400;
  transition: background .12s, padding .12s;
  display: grid;
}

.lp-pair:hover {
  background: var(--bg-surface-2);
  padding-left: 16px;
  padding-right: 16px;
}

.lp-pair-l {
  text-align: right;
}

.lp-pair-arrow {
  color: var(--accent);
  font-size: 18px;
}

.lp-pair-r {
  text-align: left;
}

.lp-price-mini {
  border-top: 1px solid var(--border-subtle);
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-items: center;
  gap: 64px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 96px 56px;
  display: grid;
}

.lp-price-tags {
  border: 1px solid var(--border);
  background: var(--bg-surface);
  border-radius: 14px;
  gap: 0;
  display: flex;
  overflow: hidden;
}

.lp-price-tag {
  border-right: 1px solid var(--border);
  flex-direction: column;
  flex: 1;
  gap: 6px;
  padding: 28px 24px;
  display: flex;
}

.lp-price-tag:last-child {
  border-right: 0;
}

.lp-price-tag.highlight {
  background: var(--accent-soft);
  color: var(--accent-text);
}

.lp-price-tag.highlight .subtle {
  color: var(--accent-text);
  opacity: .75;
}

.lp-price-tag-num {
  letter-spacing: -.02em;
  font-size: 26px;
  font-weight: 500;
}

.lp-faq {
  max-width: 800px;
  margin: 0 auto;
  padding: 64px 56px 96px;
}

.lp-faq-list {
  border-top: 1px solid var(--border);
  flex-direction: column;
  display: flex;
}

.lp-faq-item {
  border-bottom: 1px solid var(--border);
}

.lp-faq-q {
  text-align: left;
  width: 100%;
  font-family: var(--font-reading);
  letter-spacing: -.01em;
  color: var(--fg);
  cursor: pointer;
  background: none;
  border: 0;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  font-size: 18px;
  font-weight: 500;
  display: flex;
}

.lp-faq-plus {
  color: var(--accent);
  flex: none;
  font-size: 22px;
  font-weight: 300;
  transition: transform .15s;
}

.lp-faq-item.open .lp-faq-plus {
  transform: rotate(0);
}

.lp-faq-a {
  color: var(--fg-muted);
  text-wrap: pretty;
  max-width: 640px;
  padding: 0 0 24px;
  font-size: 14.5px;
  line-height: 1.65;
}

.lp-cta {
  text-align: center;
  border-top: 1px solid var(--border-subtle);
  max-width: 900px;
  margin: 0 auto;
  padding: 120px 56px 96px;
}

.lp-cta-h {
  font-family: var(--font-reading);
  letter-spacing: -.03em;
  text-wrap: balance;
  margin: 0 0 40px;
  font-size: 56px;
  font-weight: 500;
  line-height: 1.05;
}

.lp-cta-h em {
  color: var(--accent-text);
  font-style: italic;
}

.lp-foot {
  border-top: 1px solid var(--border);
  justify-content: space-between;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 28px 56px;
  display: flex;
}

@media (max-width: 980px) {
  .lp-hero-grid {
    grid-template-columns: 1fr;
    gap: 80px;
    padding: 32px 32px 64px;
  }

  .lp-hero-r {
    padding: 0 24px;
  }

  .lp-h1 {
    font-size: 56px;
  }

  .lp-h2, .lp-cta-h {
    font-size: 38px;
  }

  .lp-how-grid {
    grid-template-columns: 1fr;
  }

  .lp-how-item + .lp-how-item {
    padding-left: 0;
  }

  .lp-langs {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 64px 32px;
  }

  .lp-price-mini {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 64px 32px;
  }

  .lp-quote {
    padding: 32px 32px 64px;
  }

  .lp-quote-text {
    font-size: 22px;
  }

  .lp-nav {
    padding: 20px 32px;
  }

  .lp-nav-links {
    display: none;
  }

  .lp-foot {
    flex-direction: column;
    gap: 12px;
    padding: 24px 32px;
  }
}

.pr-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 32px;
  display: grid;
}

.pr-tier {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  flex-direction: column;
  gap: 14px;
  padding: 28px;
  display: flex;
  position: relative;
}

.pr-tier.popular {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.pr-tier-tag {
  background: var(--accent);
  color: var(--accent-fg);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 500;
  position: absolute;
  top: -10px;
  left: 24px;
}

.pr-tier-name {
  font-size: 14px;
  font-weight: 600;
}

.pr-tier-price {
  align-items: baseline;
  gap: 4px;
  margin: 4px 0;
  display: flex;
}

.pr-tier-num {
  font-family: var(--font-reading);
  letter-spacing: -.025em;
  font-size: 40px;
  font-weight: 600;
}

.pr-list {
  border-top: 1px solid var(--border-subtle);
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 14px 0 0;
  list-style: none;
  display: flex;
}

.pr-list > li {
  color: var(--fg-muted);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.pr-list .icon {
  color: var(--accent);
  flex: 0 0 14px;
}

.pr-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
}

.pr-table th, .pr-table td {
  text-align: center;
  padding: 12px 20px;
}

.pr-table th {
  color: var(--fg-muted);
  font-size: 12px;
  font-weight: 500;
}

.pr-table tbody tr {
  border-top: 1px solid var(--border-subtle);
}

.pr-table tbody td {
  color: var(--fg-muted);
}

.pg-bar {
  background: var(--bg-surface-2);
  border-radius: 999px;
  height: 6px;
  margin-top: 4px;
  overflow: hidden;
}

.pg-bar > span {
  background: var(--accent);
  border-radius: 999px;
  height: 100%;
  transition: width .12s ease-out;
  display: block;
}

.pg-steps {
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 24px;
  display: grid;
  position: relative;
}

.pg-steps:before {
  content: "";
  background: var(--border);
  z-index: 0;
  height: 1px;
  position: absolute;
  top: 11px;
  left: 12px;
  right: 12px;
}

.pg-step {
  z-index: 1;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  display: flex;
  position: relative;
}

.pg-step-mark {
  background: var(--bg-surface);
  border: 1.5px solid var(--border-strong);
  width: 22px;
  height: 22px;
  color: var(--fg-faint);
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.pg-step.done .pg-step-mark {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-fg);
}

.pg-step.active .pg-step-mark {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}

.pg-step-name {
  color: var(--fg-faint);
  font-size: 12px;
  font-weight: 500;
}

.pg-step.active .pg-step-name, .pg-step.done .pg-step-name {
  color: var(--fg);
}

.pg-spinner {
  border: 1.5px solid var(--accent);
  border-top-color: #0000;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: .8s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.bl-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.bl-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
}

.bl-table th {
  text-align: left;
  color: var(--fg-muted);
  background: var(--bg-surface-2);
  padding: 8px 20px;
  font-size: 12px;
  font-weight: 500;
}

.bl-table td {
  border-top: 1px solid var(--border-subtle);
  padding: 12px 20px;
}

.set-row {
  border-top: 1px solid var(--border-subtle);
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  display: flex;
}

.set-row:first-of-type {
  border-top: 0;
}

.set-val {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: var(--bg-surface);
  color: var(--fg);
  cursor: pointer;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: 13px;
  display: inline-flex;
}

.set-val:hover {
  background: var(--bg-surface-2);
}

.toggle {
  background: var(--border-strong);
  cursor: pointer;
  border: 0;
  border-radius: 999px;
  width: 36px;
  height: 20px;
  transition: background .12s;
  position: relative;
}

.toggle.on {
  background: var(--accent);
}

.toggle-knob {
  width: 14px;
  height: 14px;
  box-shadow: var(--shadow-sm);
  background: #fff;
  border-radius: 50%;
  transition: left .12s;
  position: absolute;
  top: 3px;
  left: 3px;
}

.toggle.on .toggle-knob {
  left: 19px;
}

.st-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  display: grid;
}

@media (max-width: 900px) {
  .lp-h1 {
    font-size: 56px;
  }

  .lp-h2 {
    font-size: 32px;
  }

  .lp-feat-grid, .lp-price-grid, .pr-grid, .bl-grid, .lp-demo-grid {
    grid-template-columns: 1fr;
  }

  .lp-demo-col, .lp-demo-chat {
    border-right: 0;
    border-bottom: 1px solid var(--border-subtle);
  }

  .st-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lp-nav-links {
    display: none;
  }
}

@media (max-width: 600px) {
  .lib-tools {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .lib-tools .input-with-icon {
    max-width: none !important;
  }

  .lib-tools .tabs {
    scrollbar-width: none;
    overflow-x: auto;
  }

  .lib-tools .tabs::-webkit-scrollbar {
    display: none;
  }

  .lib-tools .btn[style*="margin-left: auto"] {
    margin-left: 0 !important;
  }

  .lib-grid, .pr-grid, .bl-grid, .st-grid {
    grid-template-columns: 1fr;
  }

  .up-meta-card {
    flex-direction: column;
    gap: 12px;
  }

  .up-thumb {
    flex: none;
    width: 96px;
  }

  .up-quality {
    grid-template-columns: 1fr;
  }

  .pr-tier {
    padding: 20px;
  }

  .lp-h1 {
    font-size: 42px;
  }

  .lp-h2 {
    font-size: 28px;
  }

  .lp-cta-h {
    font-size: 30px;
  }

  .lp-hero-grid {
    gap: 56px;
    padding: 24px 20px 48px;
  }

  .lp-nav {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
  }

  .lp-nav .lp-brand {
    flex: 0 auto;
    min-width: 0;
  }

  .lp-nav .lp-brand img {
    width: auto;
    max-height: 26px;
  }

  .lp-nav > div:last-child {
    flex: none;
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .lp-nav .btn.primary {
    min-height: 32px;
    padding: 6px 12px;
    font-size: 13px;
    line-height: 1.2;
  }

  .lp-nav .btn.ghost.sm {
    min-height: 32px;
  }

  .lp-faq, .lp-langs, .lp-price-mini, .lp-how, .lp-quote, .lp-cta {
    padding-left: 20px;
    padding-right: 20px;
  }

  .lp-input {
    border-radius: var(--radius-lg);
    flex-wrap: wrap;
    padding: 6px;
  }

  .lp-input-prefix {
    flex-basis: 100%;
    padding: 4px 10px 0 14px;
  }

  .lp-input-field {
    flex-basis: 100%;
    padding: 6px 12px 10px;
  }

  .lp-input .btn {
    justify-content: center;
    width: 100%;
    padding: 12px 16px;
  }

  .lp-paper {
    border-radius: var(--radius-lg);
    padding: 20px 18px 28px;
    transform: none !important;
  }

  .lp-paper-cols {
    grid-template-columns: 1fr;
  }

  .lp-paper-col + .lp-paper-col {
    border-top: 1px solid #1a14101f;
    border-left: 0;
    padding-top: 16px;
    padding-left: 0;
  }

  .lp-paper-sel {
    flex-wrap: wrap;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    margin: 16px auto 0;
    position: static;
    transform: none;
  }

  .lp-chat {
    width: 100%;
    margin-top: 16px;
    position: static;
    transform: none;
  }

  .lp-hero-foot {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
  }

  .lp-promise {
    flex: 0 0 calc(33% - 12px);
    max-width: none;
  }

  .pg-steps {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 16px;
  }

  .pg-steps:before {
    display: none;
  }

  .pr-table {
    min-width: 480px;
  }

  .pr-table th, .pr-table td {
    padding: 8px 10px;
    font-size: 12px;
  }

  .pr-table-wrap {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
  }

  .set-row {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  .set-row > div:first-child {
    color: var(--fg-muted);
    font-size: 13px;
  }

  .set-val {
    align-self: flex-start;
  }

  .up-row {
    flex-wrap: wrap;
    gap: 10px;
  }

  .up-row-val {
    flex-wrap: wrap;
    gap: 8px;
  }

  .up-row-val select.input {
    min-width: 0;
    width: 100% !important;
  }

  .up-meta-card {
    padding: 16px;
  }

  .bl-table {
    min-width: 520px;
  }

  .field-row {
    flex-wrap: wrap;
  }

  .field-row > .input-with-icon {
    flex: 100%;
  }

  .field-row > .btn {
    flex: 100%;
    justify-content: center;
  }

  .pr-table-scroll, .bl-table-scroll {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__0vayqnk._.css.map*/