@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_ff51c4{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_ff51c4{--font-plex:"IBM Plex Sans","IBM Plex Sans Fallback"}:root{--ink:#0b1308;--ink-2:#171717;--ink-3:#1a2e05;--lime:#b5d430;--lime-soft:#e6f2b0;--green:#9bbb0a;--green-dark:#7a9a00;--green-deep:#4c5a10;--green-bg:#f0f7d4;--green-bg-2:#f7fbe8;--bg:#ffffff;--surface:#f8f8f5;--surface-2:#f0f1ec;--card:#ffffff;--text:#171717;--text-2:#374151;--muted:#6b7280;--faint:#9ca3af;--border:#e5e7eb;--border-2:#eef0e6;--warn-bg:#fff7e6;--warn-border:#f5d9a0;--warn-text:#7a5410;--info-bg:#eef5fb;--info-border:#cfe0ef;--info-text:#1f4a6e;--bad-bg:#fbefec;--bad-border:#f0d2ca;--bad-text:#8c4a3c;--radius-card:20px;--radius-md:14px;--radius-sm:10px;--radius-pill:9999px;--shadow-card:0 2px 20px rgba(0,0,0,0.05),0 0 0 1px rgba(0,0,0,0.04);--shadow-pop:0 12px 40px rgba(13,16,11,0.16);--font-body:var(--font-plex),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-head:var(--font-plex),-apple-system,BlinkMacSystemFont,sans-serif;--header-h:64px;--sidebar-w:300px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.12;margin:0;letter-spacing:-.02em}p{margin:0 0 .9em}code.ui{font-family:var(--font-body);font-size:.88em;font-weight:600;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;white-space:nowrap}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width:640px){.container{padding:0 16px}}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-pill);padding:11px 20px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;transition:transform .12s ease,background .12s ease,box-shadow .12s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-lime{background:var(--green);color:#fff}.btn-lime:hover{background:var(--green-dark);box-shadow:0 4px 16px rgba(155,187,10,.35)}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark);box-shadow:0 4px 16px rgba(155,187,10,.35)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface)}.btn-ghost-dark{background:transparent;border-color:rgba(255,255,255,.22);color:#fff}.btn-ghost-dark:hover{background:rgba(255,255,255,.06)}.btn-sm{padding:7px 14px;font-size:14px}.kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-dark)}.dark .kicker,.hero .kicker{color:var(--lime)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:var(--radius-pill);padding:3px 10px;background:var(--green-bg);color:var(--green-deep)}.pill-dark{background:rgba(211,243,83,.12);color:var(--lime)}.pill-grey{background:var(--surface-2);color:var(--muted)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--header-h);background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border-2)}.site-header .inner{height:100%;gap:16px}.brand,.site-header .inner{display:flex;align-items:center}.brand{gap:10px;text-decoration:none}.brand img{height:20px;width:auto}.brand .academy{font-family:var(--font-head);font-weight:700;font-size:15px;color:var(--ink);padding-left:10px;border-left:1px solid var(--border)}.header-nav{display:flex;gap:4px;margin-left:12px}.header-nav a{text-decoration:none;font-size:14px;font-weight:500;color:var(--text-2);padding:8px 12px;border-radius:var(--radius-pill)}.header-nav a.active,.header-nav a:hover{background:var(--surface-2);color:var(--ink)}.header-right{margin-left:auto;gap:10px}.header-right,.search-trigger{display:flex;align-items:center}.search-trigger{gap:8px;min-width:200px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:7px 14px;font-size:14px;color:var(--muted);text-align:left}.search-trigger kbd{margin-left:auto;font-family:inherit;font-size:11px;border:1px solid var(--border);border-radius:5px;padding:0 5px;background:#fff}.menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:10px;padding:7px 10px}@media (max-width:960px){.header-nav{display:none}.search-trigger{min-width:0}.header-right .to-app,.search-trigger .label,.search-trigger kbd{display:none}.menu-toggle{display:inline-flex}}.mobile-nav{position:fixed;inset:var(--header-h) 0 0 0;background:#fff;z-index:39;padding:16px;overflow-y:auto;border-top:1px solid var(--border-2)}.mobile-nav a{display:block;padding:12px 8px;text-decoration:none;font-weight:600;border-bottom:1px solid var(--border-2)}.dark{background:var(--ink)}.dark,.hero{color:#f3f5ec}.hero{position:relative;overflow:hidden;background:radial-gradient(rgba(155,187,10,.07) 1px,transparent 0) 0 0 /36px 36px,radial-gradient(ellipse at 45% 20%,#1a2e05 0,#0b1308 48%,#050907 100%);padding:72px 0 64px}.hero h1{font-size:clamp(34px,5vw,56px);font-weight:700;color:#fff;max-width:820px}.hero h1 em{font-style:normal;color:var(--lime)}.hero .lead{font-size:18px;color:#c9cdbd;max-width:640px;margin-top:18px}.hero-actions{gap:12px;margin-top:28px}.hero-actions,.hero-stats{display:flex;flex-wrap:wrap}.hero-stats{gap:28px;margin-top:40px;color:#c9cdbd;font-size:14px}.hero-stats b{display:block;font-family:var(--font-head);font-size:26px;color:#fff}.section{padding:64px 0}.section-tight{padding:40px 0}.section-title{font-size:clamp(26px,3.2vw,36px);font-weight:700}.section-lead{color:var(--text-2);font-size:17px;max-width:680px;margin-top:10px}.surface{background:var(--surface)}.grid{display:grid;grid-gap:20px;gap:20px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:960px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.card-link{text-decoration:none;display:block;transition:transform .15s ease,box-shadow .15s ease}.card-link:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.08),0 0 0 1px rgba(155,187,10,.35)}.module-card{display:flex;flex-direction:column;gap:12px;min-height:100%}.module-card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.module-card .num{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--green-deep);background:var(--green-bg);border-radius:10px;padding:4px 9px}.module-card h3{font-size:21px}.module-card p{color:var(--text-2);font-size:15px;margin:0}.module-card .meta{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.module-card .illu{width:72px;height:72px;object-fit:contain;border-radius:14px;background:#fcfefb}.progressbar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;flex:1 1}.progressbar>span{display:block;height:100%;background:var(--green);border-radius:99px;transition:width .3s ease}.dark .progressbar,.hero .progressbar{background:rgba(255,255,255,.12)}.dark .progressbar>span,.hero .progressbar>span{background:var(--lime)}.lesson-layout{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--header-h))}.sidebar{border-right:1px solid var(--border-2);background:var(--surface);position:-webkit-sticky;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;padding:20px 14px 40px}.sidebar .mod-title{font-family:var(--font-head);font-weight:700;font-size:15px;padding:6px 10px 2px}.sidebar .mod-sub{font-size:12px;color:var(--muted);padding:0 10px 12px}.sidebar a.lesson-link{display:flex;align-items:flex-start;gap:10px;text-decoration:none;padding:9px 10px;border-radius:12px;font-size:14px;color:var(--text-2)}.sidebar a.lesson-link:hover{background:#fff}.sidebar a.lesson-link.active{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--shadow-card)}.check{flex:0 0 20px;height:20px;border-radius:50%;border:1.5px solid #cfd4c2;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;background:#fff}.check.done{background:var(--green);border-color:var(--green)}.sidebar .other-mods{margin-top:18px;border-top:1px solid var(--border);padding-top:12px}.sidebar .other-mods a{display:block;text-decoration:none;font-size:13px;color:var(--muted);padding:6px 10px;border-radius:10px}.sidebar .other-mods a:hover{background:#fff;color:var(--ink)}@media (max-width:960px){.lesson-layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border-2)}.sidebar .other-mods{display:none}}.lesson-main{padding:36px 48px 80px;max-width:900px}@media (max-width:640px){.lesson-main{padding:24px 16px 64px}}.crumbs{font-size:13px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--ink)}.lesson-head h1{font-size:clamp(28px,3.6vw,40px);font-weight:700;margin:10px 0 12px}.lesson-head .intro{font-size:18px;color:var(--text-2)}.lesson-meta{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 6px}.goal{display:flex;gap:12px;align-items:flex-start;margin:18px 0 8px;background:var(--green-bg-2);border:1px solid #e3efbf;border-radius:var(--radius-md);padding:14px 16px;font-size:15px}.goal b{color:var(--green-deep)}.blocks>*{margin-top:26px}.blocks .prose{font-size:16.5px;color:var(--text)}.blocks .prose ol,.blocks .prose ul{padding-left:22px;margin:0 0 .9em}.blocks .prose li{margin:4px 0}.blocks .prose a{color:var(--green-dark);font-weight:600}.blocks h2.block-heading{font-size:24px;font-weight:700;margin-top:40px}.steps{counter-reset:step;display:grid;grid-gap:12px;gap:12px}.step{display:grid;grid-template-columns:40px minmax(0,1fr);grid-gap:14px;gap:14px;background:#fff;border:1px solid var(--border-2);border-radius:var(--radius-md);padding:16px}.step .n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);font-family:var(--font-head);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}.step h4{font-family:var(--font-body);font-size:16px;font-weight:700;margin:5px 0 4px}.step .prose{font-size:15.5px;color:var(--text-2)}.step .prose p:last-child{margin-bottom:0}.callout{border-radius:var(--radius-md);padding:16px 18px;border:1px solid;font-size:15.5px}.callout .t{font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:8px}.callout .prose p:last-child{margin-bottom:0}.callout.tip{background:var(--green-bg-2);border-color:#e3efbf}.callout.tip .t{color:var(--green-deep)}.callout.warning{background:var(--warn-bg);border-color:var(--warn-border)}.callout.warning .t{color:var(--warn-text)}.callout.info{background:var(--info-bg);border-color:var(--info-border)}.callout.info .t{color:var(--info-text)}.callout.practice{background:var(--ink);border-color:var(--ink);color:#e8ebdf}.callout.practice .t{color:var(--lime)}.figure{margin:0}.figure figcaption{font-size:13px;color:var(--muted);margin-top:8px;text-align:center}.flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:4px 2px 10px}.flow-node{flex:1 1;min-width:150px;background:#fff;border:1px solid var(--border-2);border-radius:var(--radius-md);padding:14px;position:relative}.flow-node .tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-dark)}.flow-node h5{font-size:15px;margin:4px 0;font-family:var(--font-body);font-weight:700}.flow-node .prose{font-size:13.5px;color:var(--text-2)}.flow-node .prose p{margin:0}.flow-arrow{flex:0 0 28px;display:flex;align-items:center;justify-content:center;color:var(--green);font-weight:700}@media (max-width:640px){.flow{flex-direction:column;overflow:visible}.flow-arrow{flex-basis:22px;transform:rotate(90deg)}}.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:640px){.compare{grid-template-columns:minmax(0,1fr)}}.compare .side{border-radius:var(--radius-md);padding:16px;border:1px solid}.compare .bad{background:var(--bad-bg);border-color:var(--bad-border)}.compare .good{background:var(--green-bg-2);border-color:#e3efbf}.compare .lbl{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.compare .bad .lbl{color:var(--bad-text)}.compare .good .lbl{color:var(--green-deep)}.compare .msg{background:#fff;border-radius:12px;padding:12px 14px;font-size:14.5px;white-space:pre-wrap;border:1px solid rgba(0,0,0,.05)}.compare ul{margin:10px 0 0;padding-left:18px;font-size:14px;color:var(--text-2)}.msgcard{background:#fff;border:1px solid var(--border-2);border-radius:var(--radius-md);overflow:hidden}.msgcard .bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-2);background:var(--surface);font-size:13px;font-weight:600}.msgcard .body{padding:14px 16px;white-space:pre-wrap;font-size:15px}.msgcard .subject{font-weight:700;margin-bottom:6px}.tablewrap{overflow-x:auto;border:1px solid var(--border-2);border-radius:var(--radius-md)}table.t{width:100%;border-collapse:collapse;font-size:14.5px}table.t th{text-align:left;background:var(--surface);font-weight:700}table.t td,table.t th{padding:10px 14px;border-bottom:1px solid var(--border-2)}table.t td{vertical-align:top}table.t tr:last-child td{border-bottom:none}.checklist{background:#fff;border:1px solid var(--border-2);border-radius:var(--radius-md);padding:6px}.checklist .title{font-weight:700;padding:10px 12px 4px}.checklist label{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;cursor:pointer;font-size:15px}.checklist label:hover{background:var(--surface)}.checklist input{position:absolute;opacity:0;pointer-events:none}.checklist .box{flex:0 0 22px;height:22px;border-radius:7px;border:1.5px solid #cfd4c2;display:flex;align-items:center;justify-content:center;margin-top:1px;background:#fff}.checklist input:checked+.box{background:var(--green);border-color:var(--green);color:#fff}.checklist input:focus-visible+.box{outline:2px solid var(--green);outline-offset:2px}.checklist input:checked~span.txt{color:var(--muted);text-decoration:line-through}.faq details{border:1px solid var(--border-2);border-radius:var(--radius-md);background:#fff;margin-bottom:10px}.faq summary{cursor:pointer;padding:14px 16px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--green);font-weight:700;font-size:18px;line-height:1}.faq details[open] summary:after{content:"−"}.faq .a{padding:0 16px 14px;color:var(--text-2);font-size:15px}.faq .a p:last-child{margin-bottom:0}.doit{background:var(--ink);color:#e8ebdf;border-radius:var(--radius-card);padding:22px 24px;background-image:radial-gradient(500px 200px at 100% 0,rgba(211,243,83,.14),transparent 60%)}.doit h4{color:#fff;font-size:19px;display:flex;align-items:center;gap:10px}.doit ol{margin:12px 0 0;padding-left:20px}.doit li{margin:6px 0}.doit code.ui{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--lime)}.doit .btn{margin-top:16px}.quiz{border:1px solid var(--border-2);border-radius:var(--radius-card);padding:22px;background:var(--surface)}.quiz h4{font-size:19px;margin-bottom:4px}.quiz .q{margin-top:18px}.quiz .q p.qt{font-weight:600;margin-bottom:8px}.quiz .opt{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin:6px 0;font-size:15px}.quiz .opt.right,.quiz .opt:hover:not(:disabled){border-color:var(--green)}.quiz .opt.right{background:var(--green-bg)}.quiz .opt.wrong{background:var(--bad-bg);border-color:var(--bad-border)}.quiz .opt:disabled{cursor:default}.quiz .explain{font-size:14.5px;color:var(--text-2);margin-top:6px;padding:10px 12px;background:#fff;border-radius:10px;border-left:3px solid var(--green)}.quiz .score{margin-top:16px;font-weight:700}.cards-block{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.cards-block .c{background:#fff;border:1px solid var(--border-2);border-radius:var(--radius-md);padding:16px;text-decoration:none;display:block}.cards-block a.c:hover{border-color:var(--green)}.cards-block .c h5{font-family:var(--font-body);font-size:16px;font-weight:700;margin:4px 0 6px}.cards-block .c .prose{font-size:14.5px;color:var(--text-2)}.cards-block .c .prose p:last-child{margin-bottom:0}.lesson-foot{margin-top:48px;padding-top:24px;border-top:1px solid var(--border-2);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.done-btn.is-done{background:var(--green-bg);color:var(--green-deep);border-color:#dbe9b0}.nextprev{display:flex;gap:10px;flex-wrap:wrap}.mock{border:1px solid #dfe3d4;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(20,25,10,.08);font-size:13px;color:#1f2318}.mock-bar{background:#f2f4ec;padding:9px 12px;display:flex;align-items:center;gap:7px;border-bottom:1px solid #e2e5d8}.mock-bar .d{width:10px;height:10px;border-radius:50%;background:#d5d9c8}.mock-bar .url{flex:1 1;background:#fff;border:1px solid #e2e5d8;border-radius:99px;font-size:11.5px;color:#8a9078;padding:3px 12px;margin-left:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mock-body{padding:16px}.mock-note{font-size:12px;color:var(--muted);text-align:center;margin-top:8px}.search-overlay{position:fixed;inset:0;background:rgba(13,16,11,.45);z-index:60;display:flex;justify-content:center;padding:10vh 16px 16px}.search-box{width:100%;max-width:640px;background:#fff;border-radius:18px;box-shadow:var(--shadow-pop);overflow:hidden;display:flex;flex-direction:column;max-height:75vh}.search-box input{border:none;outline:none;padding:18px 20px;font-size:17px;border-bottom:1px solid var(--border-2);font-family:inherit}.search-results{overflow-y:auto;padding:8px}.search-results a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none}.search-results a.sel,.search-results a:hover{background:var(--surface)}.search-results .r-t{font-weight:600}.search-results .r-m{font-size:12px;color:var(--muted)}.search-results .r-s{font-size:13.5px;color:var(--text-2);margin-top:2px}.search-results mark{background:var(--lime-soft);border-radius:3px}.search-empty{padding:18px 20px;color:var(--muted);font-size:14px}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:50;background:var(--ink);color:#fff;border:none;border-radius:var(--radius-pill);padding:12px 18px 12px 14px;gap:10px;font-weight:600;font-size:15px;box-shadow:0 10px 30px rgba(13,16,11,.3)}.chat-fab,.chat-fab .dot{display:flex;align-items:center}.chat-fab .dot{width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--ink);justify-content:center;font-weight:700;font-size:14px}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:55;width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 40px));background:#fff;border-radius:20px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-2)}@media (max-width:640px){.chat-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;border-radius:0}.chat-fab{right:16px;bottom:16px}.chat-fab .lbl{display:none}.chat-fab{padding:10px}}.chat-head{background:var(--ink);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}.chat-head .t{font-weight:700}.chat-head .s{font-size:12px;color:#b9bead}.chat-head button{margin-left:auto;background:none;border:none;color:#fff;font-size:22px;line-height:1;padding:4px 8px}.chat-msgs{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}.bubble{max-width:88%;padding:10px 13px;border-radius:14px;font-size:14.5px;line-height:1.5}.bubble p{margin:0 0 .6em}.bubble p:last-child{margin:0}.bubble ol,.bubble ul{margin:0 0 .6em;padding-left:18px}.bubble a{color:var(--green-dark);font-weight:600}.bubble.user{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:4px}.bubble.bot{align-self:flex-start;background:#fff;border:1px solid var(--border-2);border-bottom-left-radius:4px}.chat-suggest{display:flex;flex-wrap:wrap;gap:6px}.chat-suggest button{background:#fff;border:1px solid var(--border);border-radius:99px;font-size:13px;padding:6px 11px;text-align:left}.chat-suggest button:hover{border-color:var(--green)}.chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border-2);background:#fff}.chat-form textarea{flex:1 1;resize:none;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit;font-size:15px;outline:none;max-height:120px}.chat-form textarea:focus{border-color:var(--green)}.chat-form button{background:var(--green);color:#fff;border:none;border-radius:12px;padding:0 16px;font-weight:600}.chat-form button:disabled{opacity:.5;cursor:default}.chat-foot{font-size:11px;color:var(--muted);text-align:center;padding:0 12px 10px;background:#fff}.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--faint);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.site-footer{background:var(--ink);color:#b9bead;padding:40px 0;font-size:14px;margin-top:0}.site-footer .inner{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}.site-footer a{color:#e8ebdf;text-decoration:none}.site-footer a:hover{color:var(--lime)}.site-footer img{height:18px;width:auto}.track-switch{display:inline-flex;background:var(--surface-2);border-radius:99px;padding:4px;gap:2px}.track-switch button{border:none;background:transparent;border-radius:99px;padding:7px 14px;font-weight:600;font-size:14px;color:var(--muted)}.track-switch button.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}.dark .track-switch,.hero .track-switch{background:rgba(255,255,255,.08)}.dark .track-switch button,.hero .track-switch button{color:#b9bead}.dark .track-switch button.on,.hero .track-switch button.on{background:var(--lime);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:40px minmax(0,1fr);background:#fff;font-size:12.5px;color:#1f2318;min-height:320px}.app-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;box-shadow:0 1px 4px rgba(0,0,0,.12);position:relative;z-index:1}.app-top img{height:15px;width:auto}.app-top .hello{font-weight:600;font-size:13px}.app-top .credits{font-weight:600;font-size:12px;display:flex;align-items:center;gap:8px;white-space:nowrap}.app-side{background:#fff;border-right:1px solid #eef0e6;padding:12px 10px;display:flex;flex-direction:column}.app-side .av{width:52px;height:52px;border-radius:50%;margin:2px auto 6px;background:linear-gradient(135deg,#9bbb0a,#b5d430);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:17px}.app-side .nm{text-align:center;font-size:12px;margin-bottom:12px}.app-side .it{padding:6px 4px;border-top:1px solid #eceee6;font-size:12.5px;color:#1f2318}.app-side .it:last-of-type{border-bottom:1px solid #eceee6}.app-side .it.on{font-weight:700;color:#4c5a10}.app-side .rs{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;padding-top:14px}.app-side .tog{width:30px;height:15px;border-radius:99px;background:#9bbb0a;position:relative}.app-side .tog:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff}.app-side .tog.s:after{left:auto;right:2px}.app-side .set{padding:6px 4px;border-top:1px solid #eceee6;margin-top:8px}.app-main{background:#f6f7f2;padding:10px 12px 12px;min-width:0}.app-card{background:#fff;border:1px solid #e8eadf;min-height:100%}.app-tabs{display:flex;gap:2px;flex-wrap:wrap;border-bottom:1px solid #e8eadf;background:#f6f7f2}.app-tab{position:relative;background:#fff;border:1px solid #e8eadf;border-bottom:none;padding:7px 14px 6px 18px;font-size:12px;white-space:nowrap;overflow:hidden}.app-tab:before{content:"";position:absolute;left:0;top:0;border-top:9px solid #9bbb0a;border-right:26px solid transparent}.app-tab.on{font-weight:700}.app-tab .c{color:#e2571e}.app-tabs .sp{flex:1 1}.app-pad{padding:10px 12px}.app-h{font-weight:700;font-size:13.5px;margin:2px 0 8px;display:flex;justify-content:space-between;gap:8px}.app-btn,.app-h{align-items:center}.app-btn{display:inline-flex;border:1px solid #d9dccf;background:#fff;border-radius:4px;padding:4px 10px;font-size:12px;white-space:nowrap}.app-btn.pri{border-color:#9bbb0a}.app-btn.hl{outline:2px solid #9bbb0a;outline-offset:2px}.app-row{display:grid;align-items:center;grid-gap:8px;gap:8px;background:#f3f4f7;border-left:4px solid #9bbb0a;padding:7px 10px;margin-bottom:5px}.app-row .cell{background:#fff;padding:3px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-row .muted{color:#8a8f80;font-size:11px}.app-head{display:grid;grid-gap:8px;gap:8px;padding:4px 10px 6px 14px;font-weight:700;font-size:12px}.app-field{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;margin:6px 0}.app-field label{color:#5c6152}.app-input{border:1px solid #dfe2d6;background:#fff;border-radius:4px;padding:5px 8px;min-height:26px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-input.area{white-space:normal;min-height:52px;line-height:1.45}.app-input.ph{color:#9aa08e}.app-input.sel:after{content:"⌄";float:right;color:#8a8f80}.app-adv{border-left:4px solid;padding:3px 7px;background:#fff}.app-adv.suit{border-color:#22a447}.app-adv.rev{border-color:#d68a0c}.app-adv.no{border-color:#c94a3a}.app-reason{background:#fff;padding:8px 10px;margin:0 0 6px 4px;line-height:1.5;font-size:12px}.app-pop-wrap{position:relative}.app-pop-wrap .dim{position:absolute;inset:0;background:rgba(40,44,35,.35)}.app-pop{position:relative;margin:14px auto;width:min(380px,92%);background:#fff;border-radius:4px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:2}.app-pop h6{margin:0 0 10px;text-align:center;font-size:16px;font-weight:700;font-family:var(--font-body)}.app-pop .app-input{margin-bottom:7px}.app-pop .two{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.app-pop .note{font-size:10.5px;color:#5c6152;text-align:center;margin-top:8px}.app-chip{display:inline-block;border-radius:99px;padding:1px 8px;font-size:11px;background:#eef5d6;color:#4c5a10}.app-chip.grey{background:#eef0f3;color:#4a5060}.app-chip.orange{background:#fdeee2;color:#b2531a}.app-msg{background:#fff;border:1px solid #e3e6da;padding:8px 10px;line-height:1.5;white-space:pre-wrap}.mark{position:relative}.mark:after{content:attr(data-n);position:absolute;top:-9px;right:-9px;width:18px;height:18px;border-radius:50%;background:#0b1308;color:#b5d430;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:3}@media (max-width:640px){.app{grid-template-columns:minmax(0,1fr)}.app-side,.app-top .hello{display:none}}.legend{display:grid;grid-gap:6px;gap:6px;margin-top:12px;font-size:14px;color:var(--text-2)}.legend div{display:flex;gap:10px;align-items:flex-start}.legend b.n{flex:0 0 22px;height:22px;border-radius:50%;background:#0b1308;color:#b5d430;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.sim-box{border:1px solid var(--border-2);border-radius:var(--radius-card);background:var(--surface);padding:22px}.sim-head h4{font-size:20px;margin:4px 0 6px}.sim-head p{color:var(--text-2);font-size:15px;margin:0 0 16px}.sim-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:760px){.sim-grid{grid-template-columns:minmax(0,1fr)}}.sim-layers{display:grid;grid-gap:8px;gap:8px}.sim-layer{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px}.sim-layer:hover{border-color:var(--green)}.sim-layer .sw{flex:0 0 34px;height:20px;border-radius:99px;background:#d9dccf;position:relative;margin-top:1px;transition:background .15s}.sim-layer .sw:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}.sim-layer.on{border-color:var(--green);background:var(--green-bg-2)}.sim-layer.on .sw{background:var(--green)}.sim-layer.on .sw:after{left:17px}.sim-layer b{display:block;font-size:14.5px}.sim-layer small{display:block;color:var(--muted);font-size:12.5px}.sim-layer em{display:block;font-style:normal;font-size:13px;color:var(--text-2);margin-top:6px}.sim-out{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden}.sim-out-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border-2);background:var(--surface)}.meter{display:flex;gap:4px}.meter i{width:18px;height:6px;border-radius:99px;background:#e2e4da}.meter i.f{background:var(--green)}.sim-msg{padding:14px 16px;white-space:pre-wrap;font-size:15px;line-height:1.55;background:#fff;border-radius:12px}.sim-out .sim-msg{border-radius:0;min-height:190px}.sim-note{font-size:13.5px;color:var(--text-2);padding:0 16px 14px;margin:0}.sim-foot{font-size:12px;color:var(--muted);margin:12px 0 0}.sim-range{display:block;margin-bottom:14px;font-size:14.5px}.sim-range span{display:flex;justify-content:space-between;margin-bottom:4px}.sim-range input{width:100%;accent-color:var(--green)}.sim-check{display:flex;gap:8px;align-items:center;font-size:14.5px;margin:-4px 0 14px}.sim-check input{accent-color:var(--green);width:16px;height:16px}.sim-total{display:flex;align-items:baseline;gap:10px;padding:16px;border-bottom:1px solid var(--border-2)}.sim-total b{font-size:40px;line-height:1;color:var(--green-dark)}.sim-parts{list-style:none;margin:0;padding:8px 16px 10px}.sim-parts li{display:flex;justify-content:space-between;padding:5px 0;font-size:14px;border-bottom:1px dashed var(--border-2)}.sim-parts li:last-child{border-bottom:none}.sim-q{margin-top:14px}.sim-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.sim-opts button{background:#fff;border:1px solid var(--border);border-radius:99px;padding:8px 14px;font-size:14px}.sim-opts button.on,.sim-opts button:hover{border-color:var(--green)}.sim-opts button.on{background:var(--green);color:#fff}.sim-result{margin-top:18px;background:#fff;border:1px solid #e3efbf;border-radius:14px;padding:14px}.sim-result .sim-note{padding:8px 0 12px}.sim-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.sim-steps button{border:1px solid var(--border);background:#fff;border-radius:99px;padding:6px 12px;font-size:13px}.sim-steps button.on{background:var(--ink);color:var(--lime);border-color:var(--ink)}.sim-steps button.done{border-color:var(--green);color:var(--green-deep)}.sim-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.timeline{position:relative;display:grid;grid-gap:0;gap:0}.tl-item{display:grid;grid-template-columns:92px 26px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.tl-day{font-size:13px;font-weight:700;color:var(--green-deep);text-align:right;padding-top:10px}.tl-dot{position:relative;display:flex;justify-content:center;height:100%}.tl-dot:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:#dfe3d2}.tl-dot i{position:relative;margin-top:12px;width:14px;height:14px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 0 0 1px var(--green)}.tl-card,.tl-dot i.wait{background:#fff}.tl-card{border:1px solid var(--border-2);border-radius:12px;padding:10px 12px;margin:4px 0 8px;font-size:14px}.tl-card b{display:block}.blocks .callout.practice .prose,.callout.practice .prose{color:#e8ebdf}.callout.practice .prose a{color:var(--lime)}.callout.practice code.ui{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--lime)}.mark:after{right:auto;left:-9px}@media (max-width:960px){.lesson-layout{min-height:0;align-content:start}.sidebar{order:2;border-top:1px solid var(--border-2);border-bottom:none}}.app-input.sel{display:flex;align-items:center;justify-content:space-between;gap:6px}.app-input.sel:after{float:none;flex:0 0 auto}.sim .app-pop,.sim .app-pop .app-input{font-size:12.5px}.sim-range input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:99px;background:#e2e4da;outline:none}.sim-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 0 0 1px var(--green);cursor:pointer}.sim-range input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--green);border:3px solid #fff;cursor:pointer}@media (max-width:640px){code.ui{white-space:normal;overflow-wrap:anywhere}.lesson-foot{flex-direction:column;align-items:stretch}.nextprev{flex-direction:column-reverse;width:100%}.lesson-foot .done-btn,.nextprev .btn{white-space:normal;width:100%;justify-content:center;text-align:center}.hero-actions .btn{white-space:normal}}.track-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius-md);padding:10px 14px;font-size:14.5px;color:var(--text-2)}