@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0b0f12;--bg-sunken: #080b0d;--surface: #11171b;--surface-2: #161e23;--line: #222d34;--line-soft: #1a2328;--ink: #dde4e9;--ink-strong: #f2f6f8;--ink-muted: #8ea0ab;--ink-faint: #75868f;--accent: #f0a742;--accent-ink: #1b1205;--accent-dim: #8a6124;--accent-text: #d08f3a;--accent-wash: rgba(240, 167, 66, .09);--good: #6fd08c;--good-wash: rgba(111, 208, 140, .1);--bad: #e5796f;--bad-wash: rgba(229, 121, 111, .1);--info: #6fb3d0;--serif: "Source Serif 4 Variable", "Source Serif 4", Georgia, ui-serif, serif;--sans: system-ui, -apple-system, "Segoe UI", "Helvetica Neue", sans-serif;--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--step--1: clamp(.78rem, .76rem + .1vw, .84rem);--label: .68rem;--radius-xs: 4px;--step-0: clamp(1rem, .97rem + .15vw, 1.09rem);--step-1: clamp(1.2rem, 1.1rem + .4vw, 1.4rem);--step-2: clamp(1.45rem, 1.3rem + .7vw, 1.85rem);--step-3: clamp(1.7rem, 1.45rem + 1.1vw, 2.35rem);--step-4: clamp(2rem, 1.6rem + 1.9vw, 3rem);--measure: 68ch;--wide: 1140px;--radius: 10px;--radius-sm: 6px;color-scheme:dark}:root[data-theme=light]{--bg: #fbfaf7;--bg-sunken: #efece3;--surface: #ffffff;--surface-2: #f6f4ef;--line: #ddd8cc;--line-soft: #e9e5db;--ink: #232a2e;--ink-strong: #0d1215;--ink-muted: #5e6a71;--ink-faint: #737e85;--accent: #a2620b;--accent-ink: #fff8ec;--accent-dim: #c99553;--accent-text: #8a5209;--accent-wash: rgba(162, 98, 11, .08);--good: #1f7a42;--good-wash: rgba(31, 122, 66, .09);--bad: #ad2f24;--bad-wash: rgba(173, 47, 36, .08);--info: #1d5f7d;color-scheme:light}[hidden]{display:none!important}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--ink-strong);line-height:1.15;letter-spacing:-.015em;margin:0;text-wrap:balance}a{color:inherit;text-decoration-color:var(--accent-dim);text-underline-offset:3px}a:hover{text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}img{max-width:100%;height:auto;display:block}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}.measure{max-width:var(--measure)}.eyebrow{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.eyebrow .sep{color:var(--line)}.eyebrow a{text-decoration:none}.eyebrow a:hover{color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:var(--step--1);letter-spacing:.04em;padding:.18rem .5rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-muted);background:var(--surface);text-decoration:none;white-space:nowrap}.chip:hover{border-color:var(--accent-dim);color:var(--ink)}.chip[aria-current=true],.chip.is-on{background:var(--accent-wash);border-color:var(--accent-dim);color:var(--accent)}.btn{font-family:var(--sans);font-size:var(--step-0);font-weight:550;padding:.6rem 1.1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:background .12s,border-color .12s,transform .08s}.btn:hover{border-color:var(--accent-dim);background:var(--surface)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn:disabled{opacity:.45;cursor:not-allowed}.rule{border:0;border-top:1px solid var(--line-soft);margin:0}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-hero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line-soft);background:var(--bg)}.page-title{font-family:var(--serif);font-size:var(--step-4);letter-spacing:-.035em;margin-top:1rem}.page-sub{margin:1.2rem 0 0;color:var(--ink-muted);font-family:var(--serif);font-size:var(--step-1);line-height:1.55}.page-band{padding-block:clamp(2.5rem,5vw,3.5rem)}.page-band-title{font-family:var(--serif);font-size:var(--step-2);letter-spacing:-.025em}.rows-list{border-top:1px solid var(--line-soft)}@keyframes jml-out{to{opacity:0}}@keyframes jml-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes jml-in-back{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.label{font-family:var(--mono);font-size:var(--label);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.label-accent{color:var(--accent)}.sc:hover,.next-card:hover,.subj:hover{transform:none}.prose pre.shiki,.prose pre.shiki span{color:var(--shiki-light)}.prose pre.shiki{background:var(--shiki-light-bg)!important}:root[data-theme=dark] .prose pre.shiki,:root[data-theme=dark] .prose pre.shiki span{color:var(--shiki-dark)}:root[data-theme=dark] .prose pre.shiki{background:var(--shiki-dark-bg)!important}.prose pre[data-lang-none]:before{content:none}.prose pre.shiki code{background:none;border:0;padding:0}.pal{position:fixed;inset:0;z-index:200;background:color-mix(in srgb,var(--bg-sunken) 78%,transparent);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(3rem,12vh,8rem) 1rem 1rem}.pal[hidden]{display:none}.pal-box{width:min(620px,100%);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 70px #00000080;overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,560px)}.pal-in-row{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--line-soft)}.pal-icon{color:var(--ink-faint);font-size:1.05rem}.pal-in{flex:1;background:none;border:0;outline:none;color:var(--ink-strong);font-family:var(--sans);font-size:1rem}.pal-esc{font-family:var(--mono);font-size:.64rem;color:var(--ink-faint);border:1px solid var(--line);border-radius:4px;padding:.1rem .35rem}.pal-list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;flex:1}.pal-item a{display:flex;align-items:baseline;gap:.7rem;padding:.55rem .7rem;border-radius:var(--radius-sm);text-decoration:none}.pal-item.is-sel a{background:var(--surface-2)}.pal-k{flex:0 0 auto;font-family:var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;padding:.12rem .38rem;border-radius:3px;border:1px solid var(--line);color:var(--ink-faint);min-width:52px;text-align:center}.pal-k-lesson{color:var(--accent);border-color:var(--accent-dim)}.pal-k-series{color:var(--info);border-color:var(--info)}.pal-k-subject{color:var(--good);border-color:var(--good)}.pal-k-topic{color:var(--ink-strong);border-color:var(--ink-faint)}.pal-k-part{color:var(--info);border-color:var(--info)}.pal-k-year{color:var(--ink-faint)}.pal-t{flex:1;font-size:.92rem;color:var(--ink);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-sel .pal-t{color:var(--ink-strong)}.pal-m{flex:0 0 auto;font-family:var(--mono);font-size:.66rem;color:var(--ink-faint)}@media(max-width:560px){.pal-m{display:none}}.pal-foot{display:flex;gap:1rem;padding:.5rem .9rem;border-top:1px solid var(--line-soft);background:var(--surface);font-family:var(--mono);font-size:.66rem;color:var(--ink-faint)}.pal-foot span:last-child{margin-left:auto}.pal-foot kbd{border:1px solid var(--line);border-radius:3px;padding:0 .25rem;margin-right:.15rem}
