@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/sora-latin-ext-wght-normal.f55c6df7.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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/sora-latin-wght-normal.93e9cbad.woff2) format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-ext-wght-normal.d1990364.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-cyrillic-wght-normal.2ffcac4f.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-greek-wght-normal.6b69666c.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-vietnamese-wght-normal.383b32a0.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-ext-wght-normal.f5cc7610.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/manrope-latin-wght-normal.fedf4c92.woff2) format("woff2-variations");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}:root{--ink:#17122B;--text:#2A2540;--muted:#4A4460;--subtle:#5E5873;--line:#E6E3EE;--line-strong:#D9D4E6;--ground:#FBFAFD;--surface:#FFFFFF;--accent:#5B21B6;--accent-soft:#EFE9FB;--accent-ink:#3B1A78;--teal:#0E7490;--teal-soft:#ECFEFF;--teal-ink:#155E75;--cta:linear-gradient(90deg,#6D28D9,#0E7490);--danger:#9B1C1C;--radius:16px;--radius-lg:20px;--font-display:"Sora Variable",system-ui,sans-serif;--font-body:"Manrope Variable",system-ui,sans-serif}[data-brand=iristrace]{--ink:#3C3C3B;--text:#3C3C3B;--muted:#5B5B59;--subtle:#5B5B59;--line:#E7E8EC;--line-strong:#E7E8EC;--ground:#F6F7F9;--accent:#B8165A;--accent-soft:#FDE7F0;--accent-ink:#8E1046;--cta:#E72170;--radius:16px;--radius-lg:24px;--font-display:system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0}body{background:var(--ground);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.55}a{color:var(--accent)}a:hover{color:var(--accent-ink)}h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.2;margin:0}h1{font-size:clamp(28px,4vw,36px);letter-spacing:-.5px}h2{font-size:22px}p{margin:0}img{max-width:100%}.container{max-width:1200px;margin:0 auto;padding:0 24px}.stack{flex-direction:column;gap:16px}.row,.stack{display:flex}.row{flex-wrap:wrap;gap:12px;align-items:center}.muted{color:var(--muted)}.small{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.header{background:var(--surface);border-bottom:1px solid var(--line)}.header .container{flex-wrap:wrap;gap:12px 28px;padding-top:12px;padding-bottom:12px}.brand,.header .container{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:15px}.brand-mark,.brand-name{font-family:var(--font-display);font-weight:700}.brand-name{font-size:16px}.nav{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto}.nav a{padding:10px 14px;border-radius:10px;text-decoration:none;color:var(--text);font-weight:600;font-size:15px}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);padding:24px}.card,.card-dark{border-radius:var(--radius-lg)}.card-dark{background:var(--ink);color:#fff;padding:28px}.card-dark h2,.card-dark h3{color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}.btn,.btn:hover{color:var(--ink)}.btn:hover{border-color:var(--ink)}.btn-primary{background:var(--cta);color:#fff;border:0}.btn-primary:hover{color:#fff;filter:brightness(1.05)}.btn-dark{background:var(--ink);border:0}.btn-dark,.btn-dark:hover{color:#fff}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{min-height:46px;border:1px solid var(--line-strong);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;background:var(--surface);color:var(--text)}.field textarea{padding:12px 14px}.field .hint{font-size:13px;color:var(--subtle)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}.check input{width:20px;height:20px;margin:1px 0 0;flex:none}.alert{padding:14px 16px;border-radius:12px;font-size:15px}.alert-error{background:#FDECEC;color:var(--danger)}.alert-ok{background:var(--teal-soft);color:var(--teal-ink)}.alert-info{background:var(--accent-soft);color:var(--accent-ink)}.badge{display:inline-block;padding:5px 10px;border-radius:8px;font-size:13px;font-weight:700;background:#F4F2F8;color:#3F3954}.progress{height:6px;border-radius:99px;background:#EEEBF4;overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:15px}th{text-align:left;color:var(--subtle);font-size:13px;padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid #f1eff6;vertical-align:top}.layout-side{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.layout-side>aside{flex:1 1 280px;min-width:0}.layout-side>.main{flex:999 1 640px;min-width:0}.lesson-body p{font-size:17px;line-height:1.7}.lesson-body ol,.lesson-body ul{padding-left:22px;display:flex;flex-direction:column;gap:8px}.footer{background:#1C1433;margin-top:64px}.footer,.footer a{color:#DCD6EC}.footer .container{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;font-size:14px}main.page{padding:40px 0 72px}