@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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{--ink: #3d2a5c;--ink-muted: #6b5e7a;--accent: #a855f7;--accent-hover: #9333ea;--accent-soft: rgba(168, 85, 247, .12);--accent-warm: #fb7185;--line: #e8e8ec;--canvas: #ffffff;--white: #ffffff;--sidebar-hover: rgba(61, 42, 92, .05);--shadow-sm: 0 1px 2px rgba(61, 42, 92, .04), 0 1px 3px rgba(61, 42, 92, .06);--shadow-md: 0 8px 30px rgba(61, 42, 92, .08);--radius: 6px;--radius-lg: 12px;--max: 1080px;--topbar-height: 3rem;font-family:Geist Variable,Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:var(--white)}button{font:inherit;color:inherit}.page{min-height:100vh;background:var(--white)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;min-height:var(--topbar-height);padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:var(--white)}.topbar-constrain{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max);margin:0 auto;padding:0 max(1.25rem,env(safe-area-inset-right)) 0 max(1.25rem,env(safe-area-inset-left))}.brand{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;font-weight:600;font-size:1.05rem;letter-spacing:-.03em;color:var(--ink);cursor:pointer}.brand-tld{font-weight:600;background:linear-gradient(100deg,var(--accent) 0%,#e879f9 42%,var(--accent-warm) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.text-button{border:0;background:transparent;padding:.4rem 0;color:var(--ink-muted);font-size:.8125rem;font-weight:600;cursor:pointer}.text-button:hover{color:var(--ink)}main{--page-pad: 1.25rem;max-width:var(--max);margin:0 auto;padding:1.5rem max(var(--page-pad),env(safe-area-inset-right)) calc(3.75rem + env(safe-area-inset-bottom)) max(var(--page-pad),env(safe-area-inset-left))}.section-label{display:block;margin:0 0 .4rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.hero{display:grid;grid-template-columns:1.4fr .7fr;gap:2rem;align-items:end;padding-bottom:1.75rem;border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}h1{margin:0 0 .65rem;font-size:clamp(2.15rem,5vw,3.25rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}h2{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.03em}h3{margin:0;font-size:.9375rem;font-weight:650;letter-spacing:-.02em}.lede{max-width:38rem;margin:0;color:var(--ink-muted);font-size:1.05rem;line-height:1.5;text-wrap:balance}.actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.15rem}.primary,.ghost{border-radius:var(--radius);padding:.55rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer}.primary{border:0;background:var(--ink);color:var(--white)}.primary:hover{background:#2f2148}.ghost{border:1px solid var(--line);background:var(--white);color:var(--ink)}.ghost:hover{background:var(--sidebar-hover)}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0}.stats div{padding:.7rem .75rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white)}.stats dt{color:var(--ink-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.stats dd{margin:.15rem 0 0;font-size:1.35rem;font-weight:650;letter-spacing:-.03em}.review-banner{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-top:0;padding:.85rem .95rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);font-size:.9375rem;font-weight:500;text-align:left;cursor:pointer}.review-banner:hover{background:var(--sidebar-hover)}.review-banner strong{color:var(--accent);font-weight:650}.topics{margin-top:1.75rem}.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.85rem}.section-head p{margin:0;color:var(--ink-muted);font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.topic{display:flex;flex-direction:column;justify-content:space-between;gap:1.1rem;min-height:9.5rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}.topic p{margin:.3rem 0 0;color:var(--ink-muted);font-size:.875rem;line-height:1.4}.meter{height:.28rem;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.meter span,.bar span{display:block;height:100%;background:linear-gradient(100deg,var(--accent) 0%,#e879f9 42%,var(--accent-warm) 100%)}.topic-foot{margin-top:auto}.topic-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;color:var(--ink-muted);font-size:.75rem}.topic button{border:0;background:transparent;padding:0;color:var(--accent);font-size:.8125rem;font-weight:650;cursor:pointer}.topic button:hover{color:var(--accent-hover)}.sheet{max-width:44rem;margin:0 auto;padding:1.25rem 1.15rem 1.35rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-md)}.progress{display:flex;justify-content:space-between;color:var(--ink-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.bar{height:.28rem;margin:.65rem 0 1.15rem;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.quiz h1{margin-bottom:1.1rem;font-size:1.125rem;font-weight:600;letter-spacing:-.011em;line-height:1.5}.choices{display:grid;gap:.5rem}.choice{display:flex;gap:.75rem;align-items:flex-start;width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);text-align:left;font-size:1rem;line-height:1.45;cursor:pointer}.choice span{flex:0 0 auto;width:1.45rem;height:1.45rem;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:700}.choice:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.choice.selected{border-color:var(--accent);background:#faf7ff}.choice.correct{border-color:#16a34a;background:#f3fff6}.choice.correct span{background:#16a34a;color:#fff}.choice.incorrect{border-color:var(--accent-warm);background:#fff5f6}.choice.incorrect span{background:var(--accent-warm);color:#fff}.explain{margin:.9rem 0 0;padding:.75rem .85rem;border-radius:var(--radius);background:#faf7ff;font-size:.92rem;line-height:1.5}.quiz-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem}.quiz-foot p{margin:0;color:var(--ink-muted);font-size:.8125rem}.result h1 span{color:var(--ink-muted);font-size:.55em;font-weight:600}.review{display:grid;gap:.55rem;margin:1.1rem 0 0;padding:0;list-style:none}.review li{padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius)}.review-top{display:flex;justify-content:space-between;gap:.75rem;color:var(--ink-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.review li p{margin:.35rem 0 0}.review .why,.review .answer-line{color:var(--ink-muted);font-size:.875rem}.review .right strong{color:#16a34a}.review .wrong strong{color:var(--accent-warm)}.pool{display:grid;gap:1.5rem}.pool-intro h1{margin-bottom:.45rem}.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:stretch}.mode{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;width:100%;min-height:100%;padding:.95rem 1rem 1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.mode strong{font-size:.95rem;font-weight:650;letter-spacing:-.02em}.mode span{color:var(--ink-muted);font-size:.84rem;line-height:1.4}.mode:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.mode-panel{cursor:default}.mode-panel:hover{border-color:var(--line)}.lengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;margin-top:auto;padding-top:.85rem}.lengths button{display:grid;gap:.05rem;justify-items:center;min-height:2.75rem;padding:.4rem .2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);font-size:.95rem;font-weight:650;letter-spacing:-.03em;cursor:pointer}.lengths button span{color:var(--ink-muted);font-size:.65rem;font-weight:600;letter-spacing:.02em}.lengths button:hover{border-color:var(--accent);background:var(--accent-soft)}.progress-panel .section-head{flex-direction:column;align-items:flex-start;gap:.15rem;margin-bottom:.35rem}.chapter-list{column-count:2;column-gap:1.75rem}.chapter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(4.5rem,7.5rem) 2.7rem;gap:.7rem;align-items:center;width:100%;break-inside:avoid;min-height:2.75rem;padding:.55rem .35rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;cursor:pointer}.chapter-row:hover{background:var(--sidebar-hover)}.chapter-row:hover .chapter-row-name{color:var(--accent)}.chapter-row-name{min-width:0;font-size:.84rem;font-weight:600;line-height:1.25}.chapter-row-count{color:var(--ink-muted);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right}.read-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 calc(var(--page-pad) * -1) 1.25rem;padding:.45rem var(--page-pad);border-bottom:1px solid var(--line);background:#faf7ff}.read-tabs{display:flex;gap:.15rem;min-width:0;overflow-x:auto;scrollbar-width:none}.read-tabs::-webkit-scrollbar{display:none}.read-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;background:transparent;padding:.55rem .7rem .45rem;color:var(--ink-muted);font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer}.read-tabs button.is-active{color:var(--accent);border-bottom-color:var(--accent)}.read-tools{display:flex;flex:0 0 auto;gap:.45rem}.read-head{max-width:44rem;margin-bottom:1rem}.read-head h1{font-size:clamp(1.7rem,3vw,2.2rem)}.qlist{display:grid;gap:.85rem;max-width:44rem}.qcard{padding:1rem 1.05rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}.qid{margin:0 0 .35rem;color:var(--ink-muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.qcard h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;letter-spacing:-.011em;line-height:1.5}@media(min-width:801px){.quiz h1,.qcard h2{font-size:1.25rem}}.qchoices{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.qchoices li{display:flex;gap:.65rem;align-items:flex-start;padding:.45rem .55rem;border-radius:var(--radius);font-size:1rem;line-height:1.45}.qchoices li span{flex:0 0 auto;width:1.35rem;color:var(--ink-muted);font-size:.75rem;font-weight:700}.qchoices li.correct{background:#f3fff6}.qchoices li.correct span{color:#16a34a}.qcard .explain{margin-top:.75rem}@media(max-width:800px){main{--page-pad: 1rem;padding-top:1.15rem}.hero,.grid,.section-head,.quiz-foot,.modes,.read-bar,.read-tools{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.section-head{align-items:start;gap:.2rem}.chapter-list{column-count:1}.chapter-row{grid-template-columns:minmax(0,1fr) 4.25rem 2.5rem;gap:.55rem;min-height:3rem;padding:.65rem .2rem}.sheet{margin-right:calc(var(--page-pad) * -1);margin-left:calc(var(--page-pad) * -1);padding:1rem var(--page-pad) 1.15rem;border-right:0;border-left:0;border-radius:0;box-shadow:none}.choice{padding:.85rem .8rem}.quiz-foot .primary,.read-tools .primary,.read-tools .ghost{width:100%}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
