@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-normal-DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-normal-e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-normal-CO1l-giJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-normal-LcSrhZ7T.woff2)format("woff2-variations");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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-normal-BnEbWgdZ.woff2)format("woff2-variations");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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-normal-DLxlUchJ.woff2)format("woff2-variations");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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-cyrillic-wght-italic-C2hF6zFe.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-ext-wght-italic-f6xT_0ee.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-greek-wght-italic-9BAkQpca.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-vietnamese-wght-italic-LyOFdRXZ.woff2)format("woff2-variations");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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-ext-wght-italic-CC1SwlwQ.woff2)format("woff2-variations");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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/assets/literata-latin-wght-italic-Bm_GJfSc.woff2)format("woff2-variations");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}:root{--serif:"Literata Variable", "Iowan Old Style", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font:var(--serif);--font-size:19px;--line-height:1.7;--text-width:36em;--radius:10px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}:root,:root[data-theme=dark]{--bg:#1b1d21;--bg2:#24272c;--fg:#c9c5bc;--muted:#8a877f;--line:#34373d;--accent:#d9a55b;--mark:#d9a55b47;--pdf-filter:invert(.86) hue-rotate(180deg) brightness(1.05);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=black]{--bg:#000;--bg2:#141414;--fg:#e8e8e8;--muted:#8c8c8c;--line:#2a2a2a;--accent:#e0b36e;--mark:#e0b36e4d;--pdf-filter:invert(1) hue-rotate(180deg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=night]{--bg:#000;--bg2:#121212;--fg:#b5a58a;--muted:#776b58;--line:#262420;--accent:#d39a4a;--mark:#d39a4a4d;--pdf-filter:invert(.9) sepia(.5) hue-rotate(180deg) brightness(.9);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=gray]{--bg:#3a3c40;--bg2:#44474c;--fg:#d7d4cd;--muted:#a19e97;--line:#50535a;--accent:#e0b36e;--mark:#e0b36e4d;--pdf-filter:invert(.75) hue-rotate(180deg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=sepia]{--bg:#efe4cc;--bg2:#e6d8bb;--fg:#4a3c2a;--muted:#7d6c55;--line:#d6c6a6;--accent:#9b5d1c;--mark:#9b5d1c38;--pdf-filter:sepia(.45) brightness(.93);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0}:root{--surface:color-mix(in srgb, var(--fg) 6%, var(--bg));--surface-2:color-mix(in srgb, var(--fg) 10%, var(--bg))}a{color:var(--accent)}button,.btn,input,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid #0000;border-radius:12px;padding:.6em 1em;text-decoration:none}button,.btn{cursor:pointer;justify-content:center;align-items:center;gap:.5em;font-weight:500;display:inline-flex}button:hover,.btn:hover{background:var(--surface-2)}button:disabled{opacity:.45;cursor:default}input,textarea{border-color:var(--line);background:var(--bg)}input:focus,textarea:focus{border-color:var(--accent);outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary,button.primary{background:var(--accent);color:var(--bg);font-weight:600}.primary:hover,button.primary:hover{background:color-mix(in srgb, var(--accent) 88%, var(--fg))}button.on{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent)}.iconbtn{width:44px;height:44px;color:var(--fg);background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;text-decoration:none;display:inline-grid}.iconbtn:hover{background:var(--surface)}.iconbtn.sm{width:32px;height:32px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:.85em}.error{color:#e88a7a}.center{text-align:center;padding:3rem 1rem}mark{background:var(--mark);color:inherit;border-radius:3px}::highlight(lookup){background:var(--mark);color:inherit;border-radius:3px}.page,.library{max-width:980px;padding:calc(var(--safe-top) + 8px) 20px calc(var(--safe-bottom) + 48px);margin:0 auto}.page{max-width:720px}.appbar{align-items:center;gap:4px;min-height:56px;margin-bottom:8px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.01em;flex:1;margin:0;font-size:1.6rem;font-weight:600}.resume{grid-template-columns:auto 1fr;align-items:end;gap:28px;padding:28px 0 36px;display:grid}.resume-cover{text-decoration:none}.resume-body{min-width:0;padding-bottom:4px}.resume-label{color:var(--accent);margin:0 0 6px;font-size:.9rem;font-weight:600}.resume-title{font-family:var(--serif);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0 0 6px;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:600;line-height:1.12}.resume-body>.muted{margin:0 0 14px}.meter{background:var(--surface-2);border-radius:4px;max-width:360px;height:4px;margin-bottom:20px;overflow:hidden}.meter>span{background:var(--accent);border-radius:4px;height:100%;display:block}.resume-actions{align-items:center;gap:8px;display:flex}.resume-actions .btn{white-space:nowrap;padding:.75em 1.4em}.cover{--h:210;aspect-ratio:2/3;width:100%;color:hsl(var(--h) 30% 92%);background:linear-gradient(90deg, #00000047 0, #0000000d 7%, #ffffff0f 8%, transparent 11%), linear-gradient(165deg, hsl(var(--h) 32% 38%), hsl(var(--h) 38% 20%));border-radius:4px 10px 10px 4px;flex-direction:column;padding:14% 12% 12% 16%;transition:transform .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 10px 24px -12px #000000b3}a:hover>.cover,a:focus-visible>.cover{transform:translateY(-3px)}.cover-title{font-family:var(--serif);-webkit-line-clamp:6;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:clamp(.85rem,2.6vw,1.05rem);font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.cover-kind{opacity:.7;margin-top:auto;font-size:.72rem}.cover-cloud{opacity:.85;position:absolute;top:8px;right:8px}.cover-progress{background:hsl(var(--h) 60% 80%);opacity:.9;height:3px;position:absolute;bottom:0;left:0}.cover-lg{width:clamp(120px,26vw,190px)}.cover-lg .cover-title{font-size:clamp(1rem,3vw,1.35rem)}.shelf{border-top:1px solid var(--line);padding-top:22px}.shelf-head{align-items:baseline;gap:10px;margin-bottom:20px;display:flex}.shelf-head h2{font-family:var(--serif);margin:0;font-size:1.25rem;font-weight:600}.add-btn{align-self:center;margin-left:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:28px 20px;margin:0;padding:0;list-style:none;display:grid}.book a{text-decoration:none;display:block}.book-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-top:6px;font-size:.82rem;display:flex}.shelf-empty{margin:0}.welcome{max-width:560px;margin:8vh auto 0}.welcome h2{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 10px;font-size:clamp(1.7rem,5vw,2.4rem);font-weight:600;line-height:1.15}.welcome>.muted{margin:0 0 24px;line-height:1.5}.add-panel{gap:12px;margin:8px 0 4px;display:grid}.url-field{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:14px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex}.url-field:focus-within{border-color:var(--accent)}.url-field input{background:0 0;border:none;flex:1;min-width:0;padding:.5em 0}.add-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.add-choices button{padding:.9em}.paste{gap:10px;display:grid}.paste textarea{resize:vertical;width:100%;font-family:var(--serif);line-height:1.5}.note{color:var(--muted);margin:12px 0 0}.scrim{z-index:19;background:#00000073;position:fixed;inset:0}.drop-hint{z-index:30;border:2px dashed var(--accent);background:color-mix(in srgb, var(--bg) 85%, transparent);font-family:var(--serif);pointer-events:none;border-radius:20px;place-items:center;font-size:1.5rem;display:grid;position:fixed;inset:12px}.vocab{margin:16px 0;padding:0;list-style:none}.vocab li{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:14px 0;display:flex}.vocab li>div{flex:1}.vocab p{margin:4px 0 0;line-height:1.45}.vocab strong{font-family:var(--serif);font-size:1.1rem}.meaning-inline{color:var(--accent);margin-left:6px}.search{width:100%}.add{gap:8px;display:flex}.add input{flex:1;min-width:0}.add-row{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}@media (width<=560px){.library{padding-inline:16px}.resume{grid-template-columns:108px 1fr;align-items:center;gap:18px;padding:16px 0 28px}.cover-lg{width:108px}.cover-lg .cover-title{font-size:.95rem}.resume-title{font-size:1.45rem}.meter{margin-bottom:14px}.grid{grid-template-columns:repeat(3,1fr);gap:22px 14px}.resume-body{width:100%}.resume-actions .btn{flex:1}}@media (prefers-reduced-motion:reduce){.cover,.topbar{transition:none}}.topbar{z-index:10;padding:var(--safe-top) 8px 0;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:4px;transition:transform .2s;display:flex;position:fixed;inset:0 0 auto;transform:translateY(-100%)}.topbar .title{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);flex:1;font-size:.9rem;overflow:hidden}.reader.bars .topbar{transform:none}.content{padding:calc(var(--safe-top) + 56px) 16px calc(var(--safe-bottom) + 48px);min-height:100vh}.progress{height:calc(3px + var(--safe-bottom));background:var(--bg);z-index:5;position:fixed;inset:auto 0 0}.progress>div{background:var(--accent);opacity:.6;height:3px}.progress span{right:12px;bottom:calc(var(--safe-bottom) + 6px);color:var(--muted);opacity:0;font-size:.75rem;transition:opacity .2s;position:absolute}.reader.bars .progress span{opacity:1}.text{max-width:var(--text-width);font-family:var(--font);font-size:var(--font-size);line-height:var(--line-height);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0 auto}.text h1{font-size:1.6em;line-height:1.25}.text h2,.text h3{line-height:1.3}.text img,.text svg{border-radius:4px;max-width:100%;height:auto}:root:not([data-theme=sepia]) .text img{filter:brightness(.78)}.text figure{margin:1em 0}.text pre{font-size:.8em;overflow-x:auto}.text table{border-collapse:collapse;font-size:.9em;display:block;overflow-x:auto}.text td,.text th{border:1px solid var(--line);padding:4px 8px}.text blockquote{border-left:3px solid var(--line);color:var(--muted);margin-left:0;padding-left:1em}.text a{color:inherit;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.source{font-family:var(--sans);margin-top:-.5em;font-size:.8rem}.chapter-nav{font-family:var(--sans);justify-content:space-between;align-items:center;margin:3rem 0 2rem;font-size:.95rem;display:flex}.pdf{gap:12px;max-width:900px;margin:0 auto;display:grid}.pdf-page{background:var(--bg2);--scale-round-x:1px;--scale-round-y:1px;--min-font-size:1;width:100%;position:relative}.pdf-page canvas{width:100%;height:100%;display:block}:root[data-pdf-invert=true] .pdf-page canvas{filter:var(--pdf-filter)}.textLayer{text-align:initial;transform-origin:0 0;z-index:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer ::selection{background:var(--mark)}.textLayer br::selection{background:0 0}.sheet{z-index:20;background:var(--bg2);border:1px solid var(--line);max-width:640px;max-height:60vh;padding:8px 16px calc(var(--safe-bottom) + 16px);font-family:var(--sans);border-bottom:none;border-radius:16px 16px 0 0;margin:0 auto;animation:.18s ease-out sheet-in;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #00000059}.sheet-head{align-items:center;gap:4px;display:flex}.sheet-word,.sheet-head>strong{flex:1;font-size:1.2rem}.tag{color:var(--muted);border:1px solid var(--line);vertical-align:middle;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:.72rem}.groups .tag,.def .tag{margin-left:0;margin-right:4px}.meaning{color:var(--accent);margin:6px 0 8px;font-size:1.35rem;font-weight:600}.meaning .label{color:var(--muted);font-size:.8rem;font-weight:500;display:block}.sentence-tr{font-family:var(--serif);color:var(--fg);margin:0 0 10px;line-height:1.5}.groups p,.def{color:var(--fg);margin:6px 0;font-size:.92rem}.sheet-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.settings .row{align-items:center;gap:8px;margin:10px 0;display:flex}.settings .row>span:first-child{flex:1}.settings .val{text-align:center;min-width:2.5em}.themes{flex-wrap:wrap}.swatch{flex:4.5em;padding-inline:.4em}.sw-black{color:#e8e8e8;background:#000}.sw-dark{color:#c9c5bc;background:#1b1d21}.sw-night{color:#b5a58a;background:#000}.sw-gray{color:#d7d4cd;background:#3a3c40}.sw-sepia{color:#4a3c2a;background:#efe4cc}.swatch.on{outline:2px solid var(--accent)}.toc ul{margin:0;padding:0;list-style:none}.toc button{text-align:left;border:none;border-bottom:1px solid var(--line);background:0 0;border-radius:0;width:100%;padding:12px 4px}.sync-badkey,.sync-error{color:#e07a6a}.sync-off,.sync-offline{color:var(--muted)}.hl-yellow{--hl:#facc1561}.hl-green{--hl:#4ade8052}.hl-blue{--hl:#60a5fa61}.hl-pink{--hl:#f472b65c}mark.hl{background:var(--hl);color:inherit;border-radius:2px;padding:0}.textLayer mark.hl{color:#0000}.hl-row{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px;display:flex}.swatch-dot{background:var(--hl);border:2px solid var(--line);border-radius:50%;width:32px;height:32px;padding:0}.swatch-dot:hover{border-color:var(--fg)}.unmark{margin-left:auto}.mark-row{align-items:center;display:flex}.mark-row>button:first-child{font-family:var(--serif);flex:1;line-height:1.4}.dot{background:var(--hl);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.mark-row .iconbtn{flex:none;width:32px}.exit{top:calc(var(--safe-top) + 8px);z-index:11;background:var(--bg2);border:1px solid var(--line);width:40px;height:40px;color:var(--fg);opacity:.8;border-radius:50%;place-items:center;text-decoration:none;display:grid;position:fixed;left:8px}@keyframes sheet-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet{background:var(--bg);border-color:var(--line)}.toc button{justify-content:flex-start;font-weight:400}
