@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.p.15s2gb72mvmw9.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:400;font-display:swap;src:url(../media/e62850744c7f266e-s.43_ypb-kqawuo.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(../media/9433d1a810498265-s.p.3z77xcxvtx9_e.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:italic;font-weight:600;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.p.15s2gb72mvmw9.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:600;font-display:swap;src:url(../media/e62850744c7f266e-s.43_ypb-kqawuo.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:600;font-display:swap;src:url(../media/9433d1a810498265-s.p.3z77xcxvtx9_e.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:400;font-display:swap;src:url(../media/150f724d70372c02-s.p.2ym9msm88vm4r.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:400;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.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:600;font-display:swap;src:url(../media/150f724d70372c02-s.p.2ym9msm88vm4r.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:600;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.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%}.ezJLyG_className{font-family:Newsreader,Newsreader Fallback}.ezJLyG_variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0udrnr4-18tjo.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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.18lx4otehud-r.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.1br53b7gww62p.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.35qbt1_6db49h.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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.1-vmsm_v03uvy.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.092z1_2w2m55_.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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.LwlVyW_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.LwlVyW_variable{--font-sans:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--raw-paper:#eceee9;--raw-paper-sunken:#e1e4de;--raw-paper-rule:#c9cdc6;--raw-ink:#161d26;--raw-ink-soft:#4b5560;--raw-ink-field:#7a8590;--raw-pencil:#a8203f;--raw-teal:#0a6468;--raw-pencil-error:#9c1c2e;--raw-night:#14181e;--raw-night-sunken:#1c2229;--raw-night-rule:#2b323b;--raw-chalk:#e3e6e0;--raw-chalk-soft:#a3abb3;--raw-night-field:#7e8892;--raw-pencil-night:#f08a9a;--raw-teal-night:#6fc7c9;--raw-pencil-error-night:#ff9faa;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:var(--raw-paper);--color-bg-sunken:var(--raw-paper-sunken);--color-text:var(--raw-ink);--color-text-subtle:var(--raw-ink-soft);--color-rule:var(--raw-paper-rule);--color-field:var(--raw-ink-field);--color-like:var(--raw-pencil);--color-explore:var(--raw-teal);--color-error:var(--raw-pencil-error);--color-button:var(--raw-ink);--color-button-text:var(--raw-paper);--color-scrim:#161d2680;--ff-serif:var(--font-serif,"Newsreader"), Georgia, "Times New Roman", serif;--ff-sans:var(--font-sans,"Be Vietnam Pro"), system-ui, -apple-system, "Segoe UI", sans-serif;--text-meta:14px;--text-ui:16px;--text-summary:17px;--text-read:19px;--text-heading:22px;--text-page:28px;--text-code:28px;--weight-regular:400;--weight-strong:600;--leading-meta:20px;--leading-note:1.5;--leading-ui:24px;--leading-summary:28px;--leading-heading:28px;--leading-clamp-title:32px;--leading-read:32px;--leading-page:1.25;--tracking-page:-.01em;--measure-read:64ch;--clip-pad:var(--space-1);--gutter:var(--space-4);--nav-height:64px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-control:2px;--radius-sheet:8px;--rule-width:1px;--touch:48px;--page-width:664px;--icon-stroke:1.5;--duration-press:.12s;--duration-sheet:.24s;--ease-out:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (min-width:600px){:root{--gutter:var(--space-5)}}@media (min-width:720px){:root{--text-page:40px;--text-read:21px;--leading-read:36px;--tracking-page:-.02em}}@media (prefers-color-scheme:dark){:root{--color-bg:var(--raw-night);--color-bg-sunken:var(--raw-night-sunken);--color-text:var(--raw-chalk);--color-text-subtle:var(--raw-chalk-soft);--color-rule:var(--raw-night-rule);--color-field:var(--raw-night-field);--color-like:var(--raw-pencil-night);--color-explore:var(--raw-teal-night);--color-error:var(--raw-pencil-error-night);--color-button:var(--raw-chalk);--color-button-text:var(--raw-night);--color-scrim:#0009}}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font:var(--weight-regular) var(--text-ui) / var(--leading-ui) var(--ff-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;margin:0}h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0}a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:2px solid var(--color-like);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{stroke-width:var(--icon-stroke);stroke-linecap:butt;stroke-linejoin:miter;flex:none}.page{max-width:var(--page-width);padding-inline:max(var(--gutter), env(safe-area-inset-left)) max(var(--gutter), env(safe-area-inset-right));padding-bottom:var(--space-8);margin-inline:auto}.main{display:block}.masthead{padding-top:calc(var(--space-5) + env(safe-area-inset-top));padding-bottom:var(--space-3)}.masthead__title{font:var(--weight-strong) var(--text-page) / var(--leading-page) var(--ff-serif);letter-spacing:var(--tracking-page);text-wrap:balance}.masthead__sub{margin-top:var(--space-1);font-size:var(--text-meta);line-height:var(--leading-note);color:var(--color-text-subtle)}.nav{z-index:5;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--color-bg);border-top:var(--rule-width) solid var(--color-rule);position:fixed;inset:auto 0 0}.nav__brand{display:none}.nav__tabs{max-width:var(--page-width);grid-template-columns:repeat(5,1fr);margin-inline:auto;display:grid}.nav__tab{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--nav-height);padding:var(--space-2) var(--space-1);color:var(--color-text-subtle);transition:transform var(--duration-press) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.nav__tab:active{transform:scale(.95)}.nav__tab:focus-visible{outline-offset:-2px}.nav__label{font-size:var(--text-meta);line-height:var(--leading-meta);white-space:nowrap}.nav__tab[aria-current=page]{color:var(--color-text)}.nav__tab[aria-current=page] .nav__label{font-weight:var(--weight-strong)}.nav__tab[aria-current=page]:before{content:"";background:var(--color-text);width:32px;height:2px;margin-left:-16px;position:absolute;top:-1px;left:50%}.page:has(>.nav){padding-bottom:calc(var(--space-8) + var(--nav-height) + 1px + env(safe-area-inset-bottom))}html:has(.page>.nav){scroll-padding-bottom:calc(var(--nav-height) + 1px + env(safe-area-inset-bottom) + var(--space-2))}@media (hover:hover){.nav__tab:hover,.nav__brand:hover{color:var(--color-text)}}@media (min-width:720px){.nav{justify-content:space-between;align-items:center;gap:var(--space-4);border-top:0;height:56px;padding:0;display:flex;position:sticky;inset:0 0 auto}.nav:after{content:"";height:var(--rule-width);background:var(--color-rule);position:absolute;inset:auto 0 0}.nav__brand{align-items:center;gap:var(--space-2);min-height:var(--touch);color:var(--color-text);text-decoration:none;display:inline-flex}.nav__mark{width:24px;height:24px}.nav__name{font:var(--weight-strong) var(--text-heading) / 1 var(--ff-serif)}.nav__tabs{gap:var(--space-2);max-width:none;margin-inline:0 calc(var(--space-3) * -1);height:100%;display:flex}.nav__tab{min-height:100%;padding:0 var(--space-3);flex-direction:row}.nav__tab .icon{display:none}.nav__label{font-size:var(--text-ui);line-height:var(--leading-ui)}.nav__tab[aria-current=page]:before{inset:auto var(--space-3) 0;width:auto;height:2px;margin:0}.page:has(>.nav){padding-bottom:var(--space-8)}html:has(.page>.nav){scroll-padding-bottom:0}.page:has(>.nav) .masthead{padding-top:var(--space-6)}}@supports (animation-timeline:scroll()){@media (min-width:720px) and (prefers-reduced-motion:no-preference){.nav:after{animation:linear both nav-rule;animation-timeline:scroll(root);animation-range:0 48px}}}@keyframes nav-rule{0%{opacity:0}to{opacity:1}}.notice{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg-sunken);border-radius:var(--radius-control);font-size:var(--text-meta);line-height:var(--leading-note)}.empty{gap:var(--space-3);padding-block:var(--space-7);justify-items:start;display:grid}.empty__title{font:var(--weight-strong) var(--text-heading) / var(--leading-heading) var(--ff-serif)}.empty__text{max-width:48ch;color:var(--color-text-subtle)}.empty .button--quiet{margin-left:calc(var(--space-3) * -1)}.empty .icon{width:32px;height:32px;color:var(--color-text-subtle)}.footnote{margin-top:var(--space-6);font-size:var(--text-meta);line-height:var(--leading-note);color:var(--color-text-subtle)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:var(--space-3) var(--space-5);border-radius:var(--radius-control);font:var(--weight-strong) var(--text-ui) / var(--leading-ui) var(--ff-sans);transition:transform var(--duration-press) var(--ease-out);background:0 0;border:1px solid #0000;text-decoration:none;display:inline-flex}.button:active{transform:scale(.97)}.button--primary{background:var(--color-button);color:var(--color-button-text)}.button--secondary{border-color:var(--color-field);color:var(--color-text)}.button--quiet{padding-inline:var(--space-3);color:var(--color-text-subtle);text-underline-offset:4px;text-decoration:underline}.button--block{width:100%}.button[disabled]{opacity:.5;cursor:default}@media (hover:hover){.button--primary:hover{opacity:.88}.button--secondary:hover{background:var(--color-bg-sunken)}.button--quiet:hover{color:var(--color-text)}}.field{display:block}.field__label{margin-bottom:var(--space-2);font-weight:var(--weight-strong);display:block}.field__input{width:100%;min-height:var(--touch);padding:var(--space-2) var(--space-3);border:2px solid var(--color-field);border-radius:var(--radius-control);font-size:var(--text-ui);line-height:var(--leading-ui);background:0 0}.field__input::placeholder{color:var(--color-text-subtle);opacity:1}.field__input--code{min-height:56px;padding-inline:var(--space-4);font-size:var(--text-code);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;letter-spacing:.5em}.field__input[aria-invalid=true]{border-color:var(--color-error)}.field__error,.actions__error{gap:var(--space-2);color:var(--color-error);line-height:var(--leading-ui);display:flex}.actions__error{margin-top:var(--space-2)}.field__error{margin-bottom:var(--space-2)}.field__error:before{content:"!";width:20px;height:20px;font-size:var(--text-meta);font-weight:var(--weight-strong);border:1.5px solid;border-radius:50%;flex:none;place-items:center;margin-top:2px;line-height:1;display:grid}.chips{gap:var(--space-2);margin-inline:calc(var(--gutter) * -1);padding:var(--space-4) var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}@media (min-width:720px){.chips{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible}}.chip{align-items:center;gap:var(--space-2);min-height:var(--touch);padding:var(--space-2) var(--space-4);background:var(--color-bg-sunken);border-radius:var(--radius-control);color:var(--color-text);line-height:var(--leading-ui);white-space:nowrap;border:0;flex:none;display:inline-flex}.chip[aria-pressed=true]{background:var(--color-button);color:var(--color-button-text);font-weight:var(--weight-strong)}.chip__count{font-size:var(--text-meta);font-variant-numeric:tabular-nums;opacity:.8}.today[data-filter=ai] .card:not([data-group=ai]),.today[data-filter=business] .card:not([data-group=business]),.today[data-filter=founders] .card:not([data-group=founders]),.today[data-filter=china] .card:not([data-group=china]),.today[data-filter=history] .card:not([data-group=history]),.today[data-filter=dev] .card:not([data-group=dev]),.today[data-filter=explore] .card:not([data-group=explore]){display:none}.today[data-filter=ai] .section:not(:has(.card[data-group=ai])){display:none}.today[data-filter=business] .section:not(:has(.card[data-group=business])){display:none}.today[data-filter=founders] .section:not(:has(.card[data-group=founders])){display:none}.today[data-filter=china] .section:not(:has(.card[data-group=china])){display:none}.today[data-filter=history] .section:not(:has(.card[data-group=history])){display:none}.today[data-filter=dev] .section:not(:has(.card[data-group=dev])){display:none}.today[data-filter=explore] .section:not(:has(.card[data-group=explore])){display:none}.section{margin-top:var(--space-4)}.section__title{font:var(--weight-strong) var(--text-ui) / var(--leading-ui) var(--ff-sans)}.section__note{margin-top:var(--space-1);font-size:var(--text-meta);line-height:var(--leading-note);color:var(--color-text-subtle)}.section--explore{margin-top:var(--space-6)}.section--explore .section__title,.card--explore .card__category{color:var(--color-explore)}.section .section__title+.card,.section .section__note+.card{margin-top:var(--space-3)}.card{padding-block:var(--space-4) var(--space-5);border-top:var(--rule-width) solid var(--color-rule);position:relative}.card__meta{align-items:baseline;gap:var(--space-1) var(--space-4);font-size:var(--text-meta);line-height:var(--leading-meta);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.card__meta>*{flex:none}.card__meta>.card__source{min-width:0;max-width:100%;padding-top:var(--clip-pad);margin-top:calc(var(--clip-pad) * -1);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.card__num{font-weight:var(--weight-strong);color:var(--color-text);font-variant-numeric:tabular-nums}.card__num:before{content:"Bài "}.card__lock{align-items:center;display:inline-flex}.card__title,.row__title{--lines:3;--lh:var(--leading-clamp-title);--cut:3px;-webkit-line-clamp:var(--lines);line-clamp:var(--lines);overflow-wrap:anywhere;max-height:calc(var(--clip-pad) + var(--lines) * var(--lh) - var(--cut));padding-top:var(--clip-pad);font:var(--weight-strong) var(--text-heading) / var(--lh) var(--ff-serif);text-wrap:balance;-webkit-box-orient:vertical;display:-webkit-box;overflow:clip}.card__title{margin-block:var(--space-1) var(--space-2)}:is(.card__title:has(.card__link:focus-visible),.row__title:has(.card__link:focus-visible)){outline:2px solid var(--color-like);outline-offset:2px}@supports selector(:has(*)){.card__link:focus-visible{outline:none}}.card__link{text-decoration:none}.card__link:after{content:"";position:absolute;inset:0}.card__summary,.card__lesson{--lines:2;--lh:var(--leading-summary);--cut:3px;-webkit-line-clamp:var(--lines);line-clamp:var(--lines);overflow-wrap:anywhere;max-height:calc(var(--clip-pad) + var(--lines) * var(--lh) - var(--cut));max-width:56ch;padding-top:var(--clip-pad);-webkit-box-orient:vertical;display:-webkit-box;overflow:clip}.card__summary{font:var(--weight-regular) var(--text-summary) / var(--leading-summary) var(--ff-serif);color:var(--color-text-subtle)}.card__lesson{--cut:2px;margin-top:var(--space-2);line-height:var(--lh)}.card__lesson-label{font-weight:var(--weight-strong)}.card__lesson-label:after{content:":"}.card__foot{align-items:center;gap:var(--space-2) var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.card__foot .actions{z-index:1;order:-1;position:relative}.card__category{overflow-wrap:anywhere;min-width:0;font-size:var(--text-meta);line-height:var(--leading-meta);text-align:right;color:var(--color-text-subtle);margin-left:auto}.card__done{align-items:center;gap:var(--space-1);font-size:var(--text-meta);color:var(--color-text-subtle);display:inline-flex}.card--read .card__title,.card--read .card__lesson{color:var(--color-text-subtle)}.card--stream{padding-block:var(--space-4) var(--space-3)}.card--stream .card__foot{margin-top:var(--space-1)}.section:has(.card--stream)+.section:has(.card--stream){margin-top:var(--space-6)}.actions__row{gap:var(--space-2);display:flex}.action{align-content:center;place-items:center;gap:var(--space-1);min-width:var(--touch);min-height:var(--touch);border-radius:var(--radius-control);color:var(--color-text-subtle);transition:transform var(--duration-press) var(--ease-out);background:0 0;border:0;padding:0;display:grid}.action:active{transform:scale(.92)}.action[aria-pressed=true]{color:var(--color-like)}.action[aria-pressed=true] .icon{fill:currentColor}.actions--card{margin-left:calc(var(--space-3) * -1)}.action__label{font-size:var(--text-meta);line-height:var(--leading-meta)}.actions--bar .actions__row{width:100%}.actions--bar .action{flex:1;min-height:56px}dialog.sheet{background:var(--color-bg);width:100%;max-width:none;max-height:85dvh;color:var(--color-text);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;border:0;margin:auto 0 0;padding:0}dialog.sheet[open]{animation:sheet-in var(--duration-sheet) var(--ease-out)}dialog.sheet::backdrop{background:var(--color-scrim)}dialog.sheet[open]::backdrop{animation:scrim-in var(--duration-sheet) var(--ease-out)}@media (min-width:600px){dialog.sheet{border-radius:var(--radius-sheet);width:480px;margin:auto}}.sheet__body{gap:var(--space-3);padding:var(--space-5) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));display:grid}.sheet__title{font:var(--weight-strong) var(--text-heading) / var(--leading-heading) var(--ff-serif)}.sheet__hint{color:var(--color-text-subtle)}.sheet__chips{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.sheet__skip{justify-self:start}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes scrim-in{0%{opacity:0}}.topbar{z-index:5;grid-template-columns:var(--touch) 1fr var(--touch);margin-inline:calc(var(--gutter) * -1);padding:env(safe-area-inset-top) var(--space-2) 0;background:var(--color-bg);align-items:center;min-height:56px;display:grid;position:sticky;top:0}.topbar__back,.topbar__orig{width:var(--touch);height:var(--touch);color:var(--color-text);place-items:center;display:grid}.topbar__pos{font-size:var(--text-meta);line-height:var(--leading-meta);text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-subtle);overflow:hidden}.progress{background:var(--color-rule);height:2px;position:absolute;inset:auto 0 0}.progress__bar{background:var(--color-like);transform-origin:0;height:100%;transform:scaleX(var(--progress,0));display:block}.page--article .main{padding-bottom:calc(var(--space-8) + 56px + env(safe-area-inset-bottom))}.reader__title{margin-top:var(--space-5);font:var(--weight-strong) var(--text-page) / var(--leading-page) var(--ff-serif);letter-spacing:var(--tracking-page);text-wrap:balance;overflow-wrap:break-word}.reader__orig{margin-top:var(--space-2);font:italic var(--weight-regular) var(--text-summary) / var(--leading-summary) var(--ff-serif);color:var(--color-text-subtle)}.reader__meta{gap:var(--space-1) var(--space-4);margin-block:var(--space-4) var(--space-5);font-size:var(--text-meta);line-height:var(--leading-meta);color:var(--color-text-subtle);flex-wrap:wrap;display:flex}.reader__label{margin-bottom:var(--space-2);font:var(--weight-strong) var(--text-ui) / var(--leading-ui) var(--ff-sans);display:block}.reader__summary{padding:var(--space-4);background:var(--color-bg-sunken);border-radius:var(--radius-control)}.reader__summary ul,.reader__lessons ul{gap:var(--space-2);padding-left:var(--space-5);line-height:var(--leading-ui);display:grid}.reader__lessons{margin-top:var(--space-5)}.reader__lessons p{line-height:var(--leading-ui)}.reader__why{margin-top:var(--space-5);line-height:var(--leading-ui);color:var(--color-text-subtle)}.reader__why .reader__label{color:var(--color-text);margin:0;display:inline}.reader__why .reader__label:after{content:":"}.reader__more{gap:var(--space-5);margin-top:var(--space-6);justify-items:start;display:grid}.fulltext{max-width:var(--measure-read);justify-self:stretch}.fulltext p{font:var(--weight-regular) var(--text-read) / var(--leading-read) var(--ff-serif);overflow-wrap:break-word}.fulltext p+p{margin-top:var(--space-5)}.reader__end{height:1px;display:block}.pager{margin-top:var(--space-6);border-top:var(--rule-width) solid var(--color-rule);justify-content:space-between;display:flex}.pager__link{min-height:var(--touch);padding-inline:var(--space-1);font-weight:var(--weight-strong);align-items:center;text-decoration:none;display:inline-flex}.pager__link--next{margin-left:auto}.bottombar{z-index:5;padding:var(--space-2) max(var(--gutter), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));background:var(--color-bg);border-top:var(--rule-width) solid var(--color-rule);position:fixed;inset:auto 0 0}.bottombar .actions{max-width:var(--page-width);margin-inline:auto}.bottombar .actions__error{margin:0 0 var(--space-2);justify-content:center}.list{list-style:none}.list>:first-child{padding-top:var(--space-5);border-top:0}.saved,.row{padding-block:var(--space-4) var(--space-5);border-top:var(--rule-width) solid var(--color-rule);position:relative}.saved .card__title{margin-bottom:var(--space-2)}.saved__progress{gap:var(--space-1);margin-bottom:var(--space-3);display:grid}.saved__bar{background:var(--color-rule);height:4px;display:block;position:relative;overflow:hidden}.saved__bar:after{content:"";background:var(--color-like);transform-origin:0;transform:scaleX(var(--progress,0));position:absolute;inset:0}.saved__pct{font-size:var(--text-meta);line-height:var(--leading-meta);color:var(--color-text-subtle)}.saved__actions{z-index:1;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex;position:relative}.saved__actions .actions__error{flex-basis:100%;margin-top:0}.saved__gone{padding-block:var(--space-3);font-size:var(--text-meta);color:var(--color-text-subtle)}.row__title{margin-top:var(--space-1)}.row__verdict{font-weight:var(--weight-strong);color:var(--color-text)}.taste .section{margin-top:var(--space-6)}.taste .section__title{font:var(--weight-strong) var(--text-heading) / var(--leading-heading) var(--ff-serif)}.taste__group{margin-top:var(--space-4)}.taste__kind{font:var(--weight-strong) var(--text-meta) / var(--leading-meta) var(--ff-sans);color:var(--color-text-subtle)}.taste__list{margin-top:var(--space-2);list-style:none}.taste__item{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--touch);padding-block:var(--space-2);border-top:var(--rule-width) solid var(--color-rule);display:flex}.taste__score{font-variant-numeric:tabular-nums;color:var(--color-text-subtle)}.taste__item--note{gap:var(--space-1);padding-block:var(--space-3);justify-content:stretch;display:grid}.taste__note{font-size:var(--text-meta);line-height:var(--leading-note);color:var(--color-text-subtle)}.taste__aside{margin-top:var(--space-3);font-size:var(--text-meta);line-height:var(--leading-note);color:var(--color-text-subtle)}.taste .empty__text{margin-top:var(--space-3)}.taste__form{gap:var(--space-4);margin-top:var(--space-5);display:grid}.taste__form .button{justify-self:start}@media (min-width:600px){.taste__form{grid-template-columns:1fr 1fr}.taste__form .field--wide,.taste__form .button{grid-column:1/-1}}.page--login{padding-bottom:0}.page--login .main{align-content:center;min-height:100dvh;display:grid}.login{width:100%;max-width:360px;margin-inline:auto}.login__title{font:var(--weight-strong) var(--text-page) / var(--leading-page) var(--ff-serif);letter-spacing:var(--tracking-page)}.login__text{margin-block:var(--space-3) var(--space-6);color:var(--color-text-subtle)}.login__form{gap:var(--space-4);display:grid}.card--skeleton{gap:var(--space-3);display:grid}.skeleton{background:var(--color-bg-sunken);border-radius:var(--radius-control);display:block}.skeleton--meta{width:40%;height:14px}.skeleton--title{width:90%;height:28px}.skeleton--line{width:75%;height:16px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s ease-in-out infinite skeleton-pulse}}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.button:active,.action:active,.nav__tab:active{transform:none}.nav:after{opacity:1}}
