@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/golos-cyrillic-ext.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/golos-cyrillic.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/golos-latin-ext.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/golos-latin.woff2)format("woff2-variations");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}:root{--bg:#f6f8fc;--surface:#fff;--surface-2:#f0f3f9;--text:#0e1a3a;--text-2:#4f5b76;--text-3:#7d879e;--line:#e1e6ef;--line-strong:#cbd3e1;--primary:#1f47d1;--primary-hover:#183ab0;--primary-active:#142f90;--primary-soft:#eaf0ff;--primary-line:#c4d3fb;--on-primary:#fff;--success:#12804a;--success-soft:#e6f6ed;--success-line:#b5e3c8;--danger:#c22a2a;--danger-soft:#fdeded;--danger-line:#f5c2c2;--warning:#9a5b00;--warning-soft:#fff4dd;--warning-line:#f3d79c;--brand-ink:#1f3f9a;--brand-red:#d6403a;--font:"Golos Text Variable", "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-display:clamp(2.1rem, 1.3rem + 2.6vw, 3.25rem);--lh-tight:1.1;--lh-snug:1.3;--lh-body:1.6;--tracking-tight:-.022em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--sh-xs:0 1px 2px #0e1a3a0f;--sh-sm:0 1px 3px #0e1a3a12, 0 1px 2px #0e1a3a0a;--sh-md:0 6px 16px -4px #0e1a3a1a, 0 2px 4px -2px #0e1a3a0f;--sh-lg:0 20px 40px -12px #0e1a3a2e, 0 4px 10px -4px #0e1a3a0f;--ring:0 0 0 3px #1f47d147;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.16s;--container:1160px;--gutter:16px;--header-h:60px;--paper:var(--bg);--grid:#e6ecf6;--ink:var(--primary);--ink-soft:var(--primary-soft);--ink-text:var(--on-primary);--margin:var(--brand-red);--muted:var(--text-2);--ok:var(--success);--ok-bg:var(--success-soft);--danger-bg:var(--danger-soft);--warn-bg:var(--warning-soft);--radius-sm:var(--r-sm);--radius:var(--r-md);--cell:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a1020;--surface:#111a2e;--surface-2:#17223b;--text:#e8edf7;--text-2:#a3aec6;--text-3:#7a86a1;--line:#223050;--line-strong:#2f3f63;--primary:#7d9fff;--primary-hover:#9db7ff;--primary-active:#b6c9ff;--primary-soft:#1a2a55;--primary-line:#2d4387;--on-primary:#0a1020;--success:#4ccf86;--success-soft:#0f3020;--success-line:#1d5a3a;--danger:#ff8f8f;--danger-soft:#3a1619;--danger-line:#6a2a2e;--warning:#f2c46b;--warning-soft:#33280f;--warning-line:#5d4818;--grid:#141e34;--sh-xs:0 1px 2px #0006;--sh-sm:0 1px 3px #00000073;--sh-md:0 8px 20px -6px #0000008c;--sh-lg:0 24px 48px -16px #000000a6;--ring:0 0 0 3px #7d9fff59;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media (min-width:640px){:root{--gutter:24px}}@media (min-width:1024px){:root{--gutter:32px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}body{color:var(--text);font:400 var(--fs-base) / var(--lh-body) var(--font);font-feature-settings:"tnum" 1;background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0}@media (min-width:1024px){body{font-size:var(--fs-md)}}a{color:var(--primary);text-underline-offset:3px;transition:color var(--dur) var(--ease);text-decoration-thickness:1px}a:hover{color:var(--primary-hover)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--primary-soft)}main{max-width:var(--container);padding:var(--sp-6) var(--gutter) var(--sp-12);margin:0 auto}h1,h2,h3,h4{color:var(--text);letter-spacing:var(--tracking-tight);font-weight:700}h1{font-size:var(--fs-2xl);line-height:var(--lh-tight);margin:0 0 var(--sp-3)}h2{font-size:var(--fs-xl);line-height:var(--lh-snug);margin:var(--sp-8) 0 var(--sp-3);font-weight:650}h3{font-size:var(--fs-lg);line-height:var(--lh-snug);letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0 0 var(--sp-3);max-width:70ch}.muted{color:var(--text-2);font-size:.94em}.subtle{color:var(--text-3)}.display{font-size:var(--fs-display);letter-spacing:-.03em;font-weight:800;line-height:1.04}.lead{font-size:var(--fs-lg);color:var(--text-2);max-width:56ch;line-height:1.5}.eyebrow{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:700;display:inline-flex}code,kbd{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.92em}@media (max-width:639px){h1{font-size:1.625rem}h2{margin-top:var(--sp-6);font-size:1.3rem}.lead{font-size:1.0625rem}}.container{max-width:var(--container);padding-inline:var(--gutter);margin:0 auto}.section{padding-block:var(--sp-16)}.stack-2>*+*{margin-top:var(--sp-2)}.stack-4>*+*{margin-top:var(--sp-4)}.grid-2{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--sp-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:1023px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:639px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.section{padding-block:var(--sp-10)}}.bg-grid{background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--cell) var(--cell)}.topbar{z-index:20;height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter)));background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.topbar nav{align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);flex-wrap:nowrap;display:flex}.topbar nav>a:not(.button),.topbar nav .link{color:var(--text-2);border-radius:var(--r-sm);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);padding:6px 10px;font-weight:500;text-decoration:none}.topbar nav>a:not(.button):hover,.topbar nav .link:hover{color:var(--text);background:var(--surface-2)}.topbar nav>a[aria-current=page]{color:var(--text)}.topbar nav .button.small{margin-left:var(--sp-1)}.topbar nav form{display:contents}.brand{letter-spacing:.04em;color:var(--text);align-items:center;gap:10px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand:before{content:"";background:linear-gradient(var(--brand-red), var(--brand-red)) 6px 0 / 2px 100% no-repeat, var(--brand-ink);border-radius:5px;flex:none;width:20px;height:20px}button,.button{font:inherit;font-weight:600;font-size:var(--fs-base);letter-spacing:-.005em;border-radius:var(--r-md);cursor:pointer;text-align:center;justify-content:center;align-items:center;gap:var(--sp-2);background:var(--primary);min-height:44px;color:var(--on-primary);box-shadow:var(--sh-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease);border:1px solid #0000;padding:11px 18px;line-height:1.2;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--primary-hover);color:var(--on-primary)}button:active,.button:active{background:var(--primary-active);transform:translateY(1px)}button:focus-visible,.button:focus-visible{box-shadow:var(--ring);outline:none}button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong);box-shadow:var(--sh-xs)}button.secondary:hover,.button.secondary:hover{background:var(--surface-2);color:var(--text);border-color:var(--line-strong)}button.ghost,.button.ghost{color:var(--text);box-shadow:none;background:0 0}button.ghost:hover,.button.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger,.button.danger{background:var(--danger);color:#fff}button.danger:hover,.button.danger:hover{background:color-mix(in srgb, var(--danger) 85%, #000);color:#fff}button.small,.button.small{min-height:36px;font-size:var(--fs-sm);border-radius:var(--r-sm);padding:6px 12px}button.large,.button.large{min-height:52px;font-size:var(--fs-md);border-radius:var(--r-md);padding:14px 24px}button.link{color:var(--primary);min-height:0;box-shadow:none;background:0 0;border:0;padding:0;font-weight:500}button.link:hover{color:var(--primary-hover);background:0 0;text-decoration:underline}.button .arrow{transition:transform var(--dur) var(--ease)}.button:hover .arrow{transform:translate(3px)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:var(--sp-6);max-width:460px;margin:var(--sp-6) auto}.card.wide{max-width:none}.card.flat{box-shadow:none}.card.interactive{transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease)}.card.interactive:hover{border-color:var(--primary-line);box-shadow:var(--sh-md);transform:translateY(-2px)}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}form.stack{gap:var(--sp-4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-weight:600;font-size:var(--fs-sm);color:var(--text)}.field input,.field select,.field textarea,.inline input,.inline select,.filters input,.filters select,input.input{font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);min-height:44px;color:var(--text);box-shadow:var(--sh-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:10px 12px;font-size:max(16px,1rem)}.field input::placeholder,.field textarea::placeholder,.inline input::placeholder,.filters input::placeholder{color:var(--text-3)}.field input:hover,.field select:hover,.field textarea:hover,.inline input:hover,.filters input:hover,.filters select:hover{border-color:color-mix(in srgb, var(--line-strong) 60%, var(--text-3))}.field input:focus,.field select:focus,.field textarea:focus,.inline input:focus,.inline select:focus,.filters input:focus,.filters select:focus,input.input:focus{border-color:var(--primary);box-shadow:var(--ring);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 25%, transparent)}.field .error,.error{color:var(--danger);font-size:var(--fs-sm)}.field .hint{color:var(--text-2);font-size:var(--fs-xs);line-height:1.45}.checkbox{font-size:var(--fs-sm);align-items:flex-start;gap:10px;display:flex}.checkbox input{width:18px;height:18px;accent-color:var(--primary);margin-top:3px}.roles{gap:var(--sp-2);border:0;grid-template-columns:repeat(3,1fr);margin:0;padding:0;display:grid}.roles legend{font-weight:600;font-size:var(--fs-sm);margin-bottom:6px}.roles label{border:1px solid var(--line-strong);border-radius:var(--r-md);text-align:center;cursor:pointer;background:var(--surface);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);padding:12px;font-weight:500;position:relative}.roles label:hover{border-color:var(--primary-line)}.roles input{opacity:0;position:absolute}.roles label:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-soft);color:var(--primary)}.roles label:has(input:focus-visible){box-shadow:var(--ring)}.notice{border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--primary-soft);color:var(--text);border:1px solid var(--primary-line);padding:12px 14px;line-height:1.5}.notice.error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.notice.ok{background:var(--success-soft);color:var(--success);border-color:var(--success-line)}.notice.warn{background:var(--warning-soft);color:var(--text);border-color:var(--warning-line)}.notice a{color:inherit;font-weight:600}.badge{border-radius:var(--r-full);font-size:var(--fs-xs);white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--text-2);align-items:center;gap:4px;padding:2px 9px;font-weight:600;line-height:1.5;display:inline-flex}.badge.info,.badge.primary{background:var(--primary-soft);color:var(--primary);border-color:#0000}.badge.active,.badge.own,.badge.licensed,.badge.ok,.badge.success{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.blocked,.badge.suspended,.badge.copy,.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.badge.pending,.badge.check,.badge.warn{background:var(--warning-soft);color:var(--warning);border-color:#0000}.filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;align-items:center;display:flex}.filters input[type=search]{flex:220px}.inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px}th{color:var(--text-2);white-space:nowrap;font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover{background:color-mix(in srgb, var(--surface-2) 60%, transparent)}details summary{cursor:pointer;color:var(--primary)}.actions{gap:var(--sp-2);flex-direction:column;min-width:220px;display:flex}.pager{gap:var(--sp-3);margin-top:var(--sp-4);align-items:center;display:flex}@media (max-width:560px){.roles{grid-template-columns:1fr}.card{padding:18px}}.catalog{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.course-tile{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;padding:20px 20px 18px 36px;text-decoration:none;display:flex;position:relative}.course-tile:before{content:"";background:var(--margin);opacity:.55;width:2px;position:absolute;top:0;bottom:0;left:20px}.course-tile:hover{border-color:var(--ink)}.course-tile .grade{color:var(--ink);letter-spacing:-.03em;font-size:2.6rem;font-weight:800;line-height:1}.course-tile .grade small{color:var(--muted);letter-spacing:0;margin-left:4px;font-size:1rem;font-weight:600}.ruler{--n:10;margin:8px 0 4px;position:relative}.ruler-track{grid-template-columns:repeat(var(--n), 1fr);border-bottom:2px solid var(--text);align-items:end;height:26px;display:grid}.ruler-tick{border-left:2px solid var(--line);height:10px;position:relative}.ruler-tick:nth-child(5n+1){height:18px}.ruler-tick.done{border-left-color:var(--ink)}.ruler-tick.done:after{content:"";background:var(--ink);opacity:.85;height:6px;position:absolute;bottom:0;left:-2px;right:0}.ruler-tick.current{border-left-color:var(--margin);height:26px}.ruler-legend{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.85rem;display:flex}.ruler-legend strong{color:var(--text)}.course-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:8px;display:grid}.course-head .continue{align-self:center}@media (max-width:720px){.course-head{grid-template-columns:1fr}}.chapter{margin-top:28px}.chapter>h2{align-items:baseline;gap:12px;margin:0 0 10px;display:flex}.chapter>h2 .num{color:var(--margin);min-width:1.6em;font-weight:800}.lesson-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs);margin:0;padding:0;list-style:none;overflow:hidden}.lesson-list li+li{border-top:1px solid var(--line)}.lesson-row{color:inherit;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:14px 16px;text-decoration:none;display:grid}a.lesson-row:hover{background:var(--ink-soft)}.lesson-row .meta{color:var(--muted);white-space:nowrap;font-size:.88rem}.mark{border:2px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.mark.done{background:var(--ink);border-color:var(--ink)}.mark.done:after{content:"";border:2px solid var(--ink-text);border-top:0;border-right:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.mark.started{border-color:var(--ink)}.mark.started:after{content:"";background:var(--ink);border-radius:50%;width:8px;height:8px}.locked{color:var(--muted)}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;margin-bottom:8px;font-size:.9rem;display:flex}.crumbs a{color:var(--muted)}.lesson{grid-template-columns:64px minmax(0,1fr);gap:0;display:grid}.lesson-margin{border-right:2px solid var(--margin);flex-direction:column;align-items:center;gap:6px;padding-top:4px;display:flex}.task-num{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;min-height:0;padding:0;font-size:1rem;font-weight:700}.task-num:hover{color:var(--text);border-color:var(--line)}.task-num[aria-current=step]{color:var(--margin);border-color:var(--margin);background:var(--surface)}.task-num.seen{color:var(--ink)}.lesson-body{min-width:0;padding-left:24px}.lesson-goal{max-width:62ch;font-size:1.05rem}.task-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 10px;display:flex}.task-head h2{margin:0}.ggb-frame{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);background:#fff;width:100%;position:relative;overflow:hidden}.ggb-scale{width:100%}.ggb-loading{color:#4f5b76;place-items:center;font-size:.95rem;display:grid;position:absolute;inset:0}.task-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:16px;display:flex}.finish{border:1px dashed var(--ink);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding:20px;display:flex}.lesson-pager{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;font-size:.95rem;display:flex}@media (max-width:720px){.lesson{grid-template-columns:1fr}.lesson-margin{border-right:0;border-bottom:2px solid var(--margin);flex-direction:row;justify-content:flex-start;margin-bottom:8px;padding:0 0 8px;overflow-x:auto}.task-num{flex:0 0 40px}.lesson-body{padding-left:0}}@media (prefers-reduced-motion:no-preference){.ruler-tick.done:after{animation:.6s ease-out both fill;animation-delay:calc(var(--i,0) * 25ms)}@keyframes fill{0%{transform-origin:0;transform:scaleX(0)}to{transform:scaleX(1)}}}[hidden]{display:none!important}@media (max-width:600px){.topbar nav{gap:2px}.topbar nav>a:not(.button),.topbar nav .link{padding:6px 7px}.topbar nav .button.small{padding-inline:10px}.topbar nav .muted{display:none}.lesson-row{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"mark title"".meta";row-gap:2px}.lesson-row .mark{grid-area:mark}.lesson-row>span:nth-child(2){grid-area:title}.lesson-row .meta{grid-area:meta}.task-nav{flex-wrap:nowrap}.task-nav button{flex:1 1 0;padding-inline:10px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.class-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:16px;margin-top:16px;display:grid}@media (max-width:820px){.class-grid{grid-template-columns:minmax(0,1fr)}}.class-code{letter-spacing:.08em;color:var(--ink);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;margin:4px 0 8px;font-size:2.4rem;font-weight:800}.code-inline{letter-spacing:.06em;color:var(--text)}.course-tile .grade:not(:has(small)){font-size:1.7rem}.journal-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}table.journal{font-size:.92rem}table.journal th,table.journal td{border-bottom:1px solid var(--line)}table.journal .sticky{background:var(--surface);z-index:1;min-width:180px;color:var(--text);white-space:normal;font-weight:600;position:sticky;left:0}table.journal .j-head{white-space:normal;vertical-align:bottom;min-width:120px;max-width:160px}table.journal .j-head>span,table.journal .j-head>a{display:block}table.journal .j-title{color:var(--text);margin-bottom:4px;font-weight:600;line-height:1.25}.j-cell{text-align:center;font-size:1.05rem;font-weight:800}td.j-cell.done{color:var(--ok);background:var(--ok-bg)}td.j-cell.late{color:var(--ok);background:var(--warn-bg)}td.j-cell.started{color:var(--ink)}td.j-cell.overdue{color:var(--danger);background:var(--danger-bg)}.j-total{text-align:center;white-space:nowrap;font-weight:600}.j-legend{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:10px 12px;display:flex}.j-legend .j-cell{border-radius:4px;place-items:center;width:24px;height:24px;display:inline-grid}.j-legend .done{color:var(--ok);background:var(--ok-bg)}.j-legend .late{color:var(--ok);background:var(--warn-bg)}.j-legend .started{color:var(--ink)}.j-legend .overdue{color:var(--danger);background:var(--danger-bg)}.m-good{color:var(--ok);background:var(--ok-bg)}.m-mid{color:var(--warning);background:var(--warn-bg)}.m-bad{color:var(--danger);background:var(--danger-bg)}table.journal tfoot th,table.journal tfoot td{border-bottom:none;border-top:2px solid var(--line)}.class-tools{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.who-list{columns:2 220px;margin:6px 0 0;padding-left:1.2em}.who-list li{break-inside:avoid;margin:2px 0}.due{white-space:nowrap;font-size:.86rem}.due.overdue{color:var(--danger);font-weight:600}.due.soon{color:var(--margin);font-weight:600}.hero{max-width:760px;padding:40px 0 8px}.hero h1{letter-spacing:-.025em;margin-bottom:16px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.08}.hero-lead{color:var(--muted);max-width:58ch;margin-bottom:24px;font-size:1.15rem}.hero-ruler{margin-top:48px}.hero-ruler h2{color:var(--muted);margin:0 0 12px;font-size:1rem;font-weight:600}.program{border-bottom:3px solid var(--text);margin:0;padding:0;list-style:none;display:flex}.program li{border-left:2px solid var(--text);flex-direction:column;flex-basis:0;justify-content:flex-end;gap:6px;min-width:118px;min-height:108px;padding:10px 10px 14px;display:flex;position:relative}.program li:last-child{border-right:2px solid var(--text)}.program li:nth-child(odd){background-color:var(--ink-soft)}.program-name{overflow-wrap:break-word;font-size:.92rem;font-weight:600;line-height:1.25}.program-count{color:var(--ink);font-size:1.6rem;font-weight:800;line-height:1}@media (max-width:960px){.program{border-bottom:0;border-left:3px solid var(--text);flex-direction:column}.program li{border-left:0;border-top:2px solid var(--text);flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:0;padding:10px 12px;flex:none!important}.program li:last-child{border-right:0;border-bottom:2px solid var(--text)}}.roles-explain{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;margin-top:48px;display:grid}.roles-explain>div{border-left:2px solid var(--margin);padding-left:16px}.roles-explain h2{margin:0 0 8px}@media (max-width:820px){.roles-explain{grid-template-columns:minmax(0,1fr)}}.editor-list{counter-reset:none}.editor-row{grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.editor-row+.editor-row{border-top:1px solid var(--line)}.editor-num{color:var(--margin);text-align:center;font-weight:800}.editor-main{flex-direction:column;gap:4px;min-width:0;display:flex}.editor-main input{font:inherit;border-radius:var(--radius-sm);color:var(--text);background:0 0;border:1px solid #0000;min-height:36px;padding:6px 8px}.editor-main input:hover,.editor-main input:focus{border-color:var(--line);background:var(--paper)}.editor-tools{flex-wrap:nowrap}.field textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--text);resize:vertical;padding:10px 12px}@media (max-width:640px){.editor-row{grid-template-columns:24px minmax(0,1fr)}.editor-row .badge,.editor-row .editor-tools{grid-column:2;justify-self:start}}.editor-main>.muted{padding-left:9px}.theory{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--primary);border-radius:var(--r-lg);max-width:760px;margin:16px 0 8px;padding:18px 22px}.theory .theory-h{margin:4px 0 8px;font-size:1.05rem}.theory p,.theory li{max-width:68ch}.theory ul,.theory ol{margin:0 0 12px;padding-left:22px}.theory-rule{border:2px solid var(--margin);border-radius:var(--radius-sm);padding:10px 14px;font-weight:500}.theory>:last-child{margin-bottom:0}.editor-main textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);width:100%;color:var(--text);padding:8px 10px;font-size:.95rem}.codes-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 16px;margin:0;padding-left:2.2em;display:grid}.codes-grid code{letter-spacing:.06em;font-size:1rem;font-weight:700}.stage{margin-top:28px;scroll-margin-top:16px}.stage h2{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.stage h2 .muted{font-size:1rem;font-weight:500}a.lang-switch{color:var(--text)}.topbar nav a.lang-switch,a.lang-switch{color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-sm);margin-left:var(--sp-1);padding:4px 9px;font-weight:700;text-decoration:none}@media (max-width:400px){.brand-name{display:none}}@media (max-width:520px){.topbar .hide-narrow{display:none}}.task-kind{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:4px 0 10px;font-size:.9rem;display:flex}.task-num.solved{background:var(--ok-bg);color:var(--ok);border-color:var(--ok);position:relative}.task-num.solved:after{content:"✓";font-size:.75rem;font-weight:800;position:absolute;top:-6px;right:-4px}.task-feedback{min-height:1.6em;margin:8px 0 0;font-weight:600;transition:opacity .2s}.task-feedback:empty{opacity:0}.task-feedback.ok{color:var(--ok)}.task-feedback.ok:before{content:"✓ "}.task-feedback.wrong{color:var(--danger)}.task-feedback.score{color:var(--ink)}@media (prefers-reduced-motion:no-preference){.task-feedback.ok{animation:.35s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}}.j-score{color:var(--muted);margin-top:2px;font-size:.72rem;font-weight:700;line-height:1;display:block}.parent-code{letter-spacing:.18em;font-variant-numeric:tabular-nums;margin:6px 0;font-size:2rem;font-weight:800}.child-card h3{margin:18px 0 8px;font-size:1.05rem}.week-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.week-stats>div{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:10px 12px}.week-stats strong{color:var(--ink);font-size:1.6rem;line-height:1.1;display:block}.week-stats span{color:var(--muted);font-size:.85rem}.week-stats .warn strong{color:var(--danger)}.bar{background:var(--line);border-radius:3px;max-width:320px;height:6px;margin-top:6px;display:block;overflow:hidden}.bar>span{background:var(--ink);border-radius:3px;height:100%;display:block}@media (max-width:520px){.week-stats{grid-template-columns:1fr}}.motivation{gap:12px;margin:8px 0 20px;display:grid}.streak{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);align-items:center;gap:12px;padding:10px 14px;display:flex}.streak strong{color:var(--muted);text-align:center;min-width:1.4em;font-size:2.2rem;line-height:1}.streak.today strong{color:var(--margin)}.streak span{font-weight:700}.streak small{color:var(--muted);font-size:.86rem;font-weight:400;display:block}.badges{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.badge-stamp{border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.9rem;font-weight:600;display:inline-flex}.badge-stamp small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.badge-stamp .stamp{border:2px solid var(--ink);min-width:30px;height:30px;color:var(--ink);border-radius:999px;place-items:center;padding:0 4px;font-size:.8rem;font-weight:800;display:inline-grid;transform:rotate(-8deg)}.badge-stamp.next{color:var(--muted);border-style:dashed}.badge-stamp.next .stamp{border-color:var(--line);color:var(--muted);transform:none}.leaderboard h3{margin:8px 0 6px;font-size:1rem}.leaderboard ol{gap:4px;max-width:460px;margin:0;padding:0;list-style:none;display:grid}.leaderboard li{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:6px 10px;display:grid}.leaderboard li.me{border-color:var(--ink);font-weight:700}.leaderboard .place{color:var(--ink);font-weight:800}.leaderboard.teacher{margin:24px 0}.mock-timer{top:calc(var(--header-h) + 8px);z-index:5;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 14px;margin-bottom:10px;padding:8px 12px;display:flex;position:sticky}.mock-timer strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.4rem}.mock-timer.urgent strong{color:var(--danger)}.mock-timer button{margin-left:auto}.mock-review{gap:4px;margin:0;padding:0;list-style:none;display:grid}.mock-review li{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:6px 10px;display:grid}.mock-review li.ok>span:first-child{color:var(--ok);font-weight:800}.legal .theory{box-shadow:none;background:0 0;border:none;padding:0}.legal .theory .theory-h{margin-top:22px}.buy{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.center{text-align:center}.certificate{text-align:center;background:var(--surface);border:2px solid var(--ink);outline:6px double var(--ink-soft);outline-offset:-14px;border-radius:var(--radius);max-width:900px;margin:16px auto 0;padding:48px 40px}.certificate h1{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:8px 0 16px;font-size:2.6rem}.cert-brand{letter-spacing:.2em;color:var(--margin);margin:0;font-weight:800}.cert-lead{color:var(--muted);margin:4px 0}.cert-name{border-bottom:1px solid var(--line);margin:8px 0 12px;padding:0 24px 6px;font-size:2rem;font-weight:700;display:inline-block}.cert-course{color:var(--ink);margin:6px 0 14px;font-size:1.4rem;font-weight:600}.cert-code{overflow-wrap:anywhere;margin-top:28px;font-size:.9rem}.cert-facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:16px 0 0;display:grid}.cert-facts dt{color:var(--muted)}.cert-facts dd{margin:0;font-weight:600}@media (max-width:600px){.certificate{padding:32px 18px}.certificate h1{font-size:1.8rem}.cert-name{padding:0 8px 6px;font-size:1.5rem}}@media print{@page{size:A4 landscape;margin:12mm}.topbar,.no-print{display:none!important}body{background:#fff}main{max-width:none;padding:0}.certificate{box-shadow:none;margin:0 auto}}.plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0;display:grid}.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:20px;display:flex}.plan.accent{border:2px solid var(--ink)}.plan h2{margin:0 0 4px;font-size:1.25rem}.plan .price{color:var(--ink);margin:6px 0 2px;font-size:1.6rem;font-weight:800}.plan ul{flex:1;margin:12px 0;padding-left:1.2em}.plan li{margin:4px 0}.plan .button{align-self:flex-start}.request-form .inline{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%;display:grid}.frac{vertical-align:middle;text-align:center;flex-direction:column;margin:0 .12em;font-size:.86em;line-height:1.15;display:inline-flex}.frac-n{border-bottom:1.5px solid;padding:0 .15em}.frac-d{padding:0 .15em}.sqrt{white-space:nowrap}.sqrt-sign{font-size:1.05em}.sqrt-r{border-top:1.5px solid;margin-left:-.05em;padding:.05em .1em 0}.theory p,.theory li{line-height:1.75}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:14px 16px;display:flex}.stat-n{color:var(--ink);font-size:1.8rem;font-weight:800}.bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:3px;height:160px;padding-top:8px;display:flex;overflow-x:auto}.vbar{flex-direction:column;flex:1 0 14px;justify-content:flex-end;align-items:center;height:100%;display:flex}.vbar span{background:var(--ink);border-radius:3px 3px 0 0;width:100%;min-height:2px}.vbar small{color:var(--muted);margin-top:2px;font-size:.62rem}.quiz{flex-direction:column;align-items:flex-start;gap:12px;max-width:720px;margin:12px 0;display:flex}.quiz-q .theory{margin:0}.quiz-options{border:none;gap:8px;width:100%;margin:0;padding:0;display:grid}.quiz-options legend{margin-bottom:6px;font-size:.9rem}.quiz-option{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);align-items:center;gap:10px;padding:10px 12px;display:flex}.quiz-option.picked{border-color:var(--ink);background:var(--ink-soft)}.quiz-option input{width:18px;height:18px;margin:0}.quiz-input{width:100%;max-width:320px}.quiz-hint{border-left:3px solid var(--ok);background:var(--ok-bg);border-radius:var(--radius-sm);width:100%;padding:6px 12px}.theory.theory-plain{box-shadow:none;background:0 0;border:none;margin:0;padding:0}.theory.theory-plain p{margin:0 0 6px}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}img,svg,video,iframe{max-width:100%}.field label.checkbox,label.checkbox span{font-weight:400}input,select,textarea{font-size:max(16px,1em)}@media (max-width:720px){.subnav{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;flex-wrap:nowrap;margin:-8px -16px 12px;padding:8px 16px;overflow-x:auto}.subnav::-webkit-scrollbar{display:none}.subnav>*{scroll-snap-align:start;flex:none}.card.wide{margin:12px 0;padding:16px}}@media (max-width:640px){table.rtable thead{display:none}table.rtable,table.rtable tbody,table.rtable tr,table.rtable td{width:100%;display:block}table.rtable tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:10px;padding:10px 12px}table.rtable td{border:0;padding:3px 0}table.rtable td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:.85rem}table.rtable td:empty{display:none}.table-wrap:has(>table.rtable){overflow:visible}table.rtable .actions{min-width:0;margin-top:6px}table.rtable td[style]{max-width:none!important}}.table-wrap,.journal-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (pointer:coarse){.button,button{min-height:44px}.button.small,button.small{min-height:38px}.crumbs a,.lesson-pager a{padding:6px 0;display:inline-block}}@media (min-width:641px) and (max-width:1024px){main{padding:20px 24px 80px}.catalog,.roles-explain{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1440px){main{max-width:1240px}}.steps{gap:6px;margin:0 0 16px;padding-left:1.3em;display:grid}.button.whatsapp,a.whatsapp.button{color:#fff;background:#1f8f4e;border-color:#1f8f4e;justify-content:center;align-items:center;gap:8px;display:inline-flex}.button.whatsapp:hover{background:#18773f}.temp-pass{letter-spacing:.06em;-webkit-user-select:all;user-select:all;font-size:1.15rem;font-weight:700}.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:24px;padding:32px 16px 24px}.footer-grid{max-width:calc(var(--container) - 2 * var(--gutter));grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:24px;margin:0 auto;display:grid}.site-footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:var(--text);text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}.footer-brand{letter-spacing:.04em;margin:0 0 6px;font-weight:800}.footer-h{margin:0 0 10px;font-size:.95rem;font-weight:700}.footer-wa{align-items:center;gap:6px;font-weight:600;display:inline-flex;color:#1f8f4e!important}.footer-copy{max-width:calc(var(--container) - 2 * var(--gutter));margin:24px auto 0;font-size:.85rem}main{padding-bottom:48px}@media (max-width:820px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>:first-child{grid-column:1/-1}}@media (max-width:420px){.footer-grid{grid-template-columns:minmax(0,1fr)}}@media print{.site-footer{display:none}}.prose{max-width:760px}.prose h2{margin-top:36px}.facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:20px 0;padding:0;list-style:none;display:grid}.facts li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.facts strong{color:var(--ink);font-size:1.8rem;font-weight:800;line-height:1.1;display:block}.facts span{color:var(--muted);font-size:.9rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 10px;padding:0}.faq summary{color:var(--text);padding:14px 16px;font-weight:600;list-style-position:inside}.faq details[open] summary{border-bottom:1px solid var(--line)}.faq details>div{padding:12px 16px 4px}.feature-list{gap:8px;padding-left:1.2em;display:grid}.home{gap:var(--sp-20);padding-top:var(--sp-6);flex-direction:column;display:flex}.hero2{gap:var(--sp-12);min-height:min(640px, calc(100vh - var(--header-h) - 48px));grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;display:grid}.hero2-text{gap:var(--sp-5);flex-direction:column;display:flex}.hero2-text .display{text-wrap:balance;margin:0}.hero2-text .lead{margin:0}.hero2-cta{gap:var(--sp-3);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.chips{margin:var(--sp-2) 0 0;gap:var(--sp-2) var(--sp-4);color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chips li{align-items:center;gap:6px;display:inline-flex}.chips svg{color:var(--success)}.hero2-demo{scroll-margin-top:calc(var(--header-h) + 16px)}@media (max-width:1023px){.hero2{gap:var(--sp-8);grid-template-columns:minmax(0,1fr);min-height:0}.hero2-text .display{max-width:18ch}}@media (max-width:639px){.home{gap:var(--sp-12);padding-top:var(--sp-2)}.hero2-cta .button{width:100%}}.demo{padding:var(--sp-6);box-shadow:var(--sh-lg);gap:var(--sp-4);border-radius:var(--r-xl);flex-direction:column;display:flex}.demo-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.demo-count{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.demo-q{font-size:var(--fs-lg);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;line-height:1.3;display:flex}.dfrac{font-variant-numeric:tabular-nums;vertical-align:middle;flex-direction:column;align-items:center;font-weight:700;line-height:1.1;display:inline-flex}.dfrac>span:first-child{border-bottom:2px solid;padding:0 3px 1px}.dfrac>span:last-child{padding:1px 3px 0}.dfrac.big{color:var(--primary);font-size:1.3em}.demo-model{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);background-color:var(--surface);display:grid}.demo-row{gap:var(--sp-3);grid-template-columns:34px minmax(0,1fr);align-items:center;display:grid}.fbar{gap:3px;height:36px;display:grid}.fbar>span{background:var(--surface-2);border:1px solid var(--line-strong);transition:background var(--dur) var(--ease);border-radius:4px}.fbar.a>span.on{background:var(--primary);border-color:var(--primary)}.fbar.b>span.on{background:#e8735a;border-color:#e8735a}@media (prefers-color-scheme:dark){.fbar.b>span.on{background:#f08a72;border-color:#f08a72}}.demo-options{gap:var(--sp-2);border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.demo-option{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer;text-align:center;min-height:56px;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-weight:600;display:flex;position:relative}.demo-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.demo-option:hover{border-color:var(--primary-line);background:var(--surface-2)}.demo-option:has(input:focus-visible){box-shadow:var(--ring)}.demo-option.picked{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.demo-option.correct{border-color:var(--success);background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}.demo-option.wrong{border-color:var(--danger);background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger)}.demo-options:disabled .demo-option{cursor:default}.demo-feedback:empty{display:none}.demo-feedback .notice{color:var(--text)}.demo-feedback .notice.ok strong{color:var(--success)}.demo-feedback .notice.warn strong{color:var(--warning)}.demo-cheer{margin:8px 0 0;font-weight:600}.demo-actions button{width:100%}.demo-next{border-top:1px dashed var(--line-strong);padding-top:var(--sp-4)}.demo-next p{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--text-2)}.demo-next strong{color:var(--text)}@media (prefers-reduced-motion:no-preference){.demo-feedback .notice{animation:pop .25s var(--ease)}}@media (max-width:639px){.demo{padding:var(--sp-4);border-radius:var(--r-lg)}.demo-q{font-size:var(--fs-md)}.demo-option{min-height:52px;font-size:var(--fs-sm);gap:4px;padding:6px}.fbar{gap:2px;height:30px}}.hsection{gap:var(--sp-6);flex-direction:column;display:flex}.hsection-title{letter-spacing:-.025em;margin:0;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);font-weight:750}.hsection-head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap;display:flex}.paths{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.path{gap:var(--sp-3);max-width:none;padding:var(--sp-8);flex-direction:column;margin:0;display:flex}.path h3{font-size:var(--fs-xl);letter-spacing:-.02em}.path p{color:var(--text-2);margin:0}.path .button{align-self:flex-start;margin-top:auto}.path-icon{border-radius:var(--r-md);background:var(--primary-soft);width:44px;height:44px;color:var(--primary);place-items:center;display:grid}.path-visual{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);padding:var(--sp-4);margin:var(--sp-2) 0 var(--sp-3);flex-direction:column;flex:1;justify-content:center;display:flex}.mini-ruler{border-bottom:2px solid var(--text);grid-template-columns:repeat(12,1fr);align-items:end;height:24px;display:grid}.mini-ruler span{border-left:2px solid var(--line-strong);height:10px;position:relative}.mini-ruler span:nth-child(5n+1){height:16px}.mini-ruler span.done{border-left-color:var(--primary)}.mini-ruler span.done:after{content:"";background:var(--primary);height:6px;position:absolute;bottom:0;left:-2px;right:0}.mini-ruler span.current{border-left-color:var(--brand-red);height:24px}.mini-legend{font-size:var(--fs-xs);color:var(--text-2);justify-content:space-between;margin-top:6px;display:flex}.mini-journal{font-size:var(--fs-sm)}.mini-journal td{border-bottom:1px solid var(--line);text-align:center;width:44px;padding:6px 8px;font-weight:700}.mini-journal td:first-child{text-align:left;width:auto;font-weight:600}.mini-journal tr:last-child td{border-bottom:0}.mini-journal tr:hover{background:0 0}.mini-journal .done{color:var(--success);background:var(--success-soft)}.mini-journal .started{color:var(--primary)}.mini-journal .late{color:var(--danger);background:var(--danger-soft)}.how{gap:var(--sp-6);counter-reset:none;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.how-step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);gap:var(--sp-3);flex-direction:column;display:flex}.how-num{border-radius:var(--r-full);width:32px;height:32px;font-weight:800;font-size:var(--fs-sm);background:var(--text);color:var(--surface);place-items:center;display:grid}.how-frag{margin-top:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);padding:var(--sp-3);flex-direction:column;justify-content:center;min-height:104px;display:flex}.mini-lessons{gap:6px;list-style:none}.mini-lessons li{font-size:var(--fs-sm);border-radius:var(--r-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:6px 8px;display:flex;overflow:hidden}.mini-lessons li.on{background:var(--primary-soft);color:var(--primary);font-weight:600}.mini-lessons .mark{flex:none;width:16px;height:16px}.mini-lessons .ml-t{text-overflow:ellipsis;min-width:0;overflow:hidden}.mini-check{color:var(--success);background:var(--success-soft);border:1px solid var(--success-line);border-radius:var(--r-sm);font-weight:600;font-size:var(--fs-sm);align-items:center;gap:8px;padding:8px 10px;display:flex}.mini-tasks{gap:8px;margin-top:10px;display:flex}.mini-tasks span{border-radius:var(--r-full);width:30px;height:30px;font-weight:700;font-size:var(--fs-sm);border:2px solid var(--line-strong);color:var(--text-2);place-items:center;display:grid}.mini-tasks .solved{border-color:var(--success);background:var(--success-soft);color:var(--success)}.mini-tasks .cur{border-color:var(--brand-red);color:var(--brand-red)}.benefits{gap:var(--sp-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.benefit{border-top:2px solid var(--text);padding-top:var(--sp-4);gap:var(--sp-2);flex-direction:column;display:flex}.benefit svg{color:var(--primary)}.benefit p{color:var(--text-2);margin:0}.course-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));display:grid}.ccard{gap:var(--sp-2);padding:var(--sp-6);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);flex-direction:column;text-decoration:none;display:flex}.ccard:hover{color:var(--text);border-color:var(--primary-line);box-shadow:var(--sh-md);transform:translateY(-2px)}.ccard:focus-visible{box-shadow:var(--ring);outline:none}.ccard-grade{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-weight:700}.ccard-title{font-size:var(--fs-lg);letter-spacing:-.015em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:700;line-height:1.3}.ccard-desc{color:var(--text-2);font-size:var(--fs-sm);line-height:1.55}.ccard-meta{color:var(--text-2);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 14px;display:flex}.ccard-meta span{align-items:center;gap:5px;display:inline-flex}.ccard-foot{padding-top:var(--sp-3);justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:auto;display:flex}.ccard-go{color:var(--primary);font-weight:600;font-size:var(--fs-sm)}.cta-band{justify-content:space-between;align-items:center;gap:var(--sp-6);padding:var(--sp-10);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm);flex-wrap:wrap;display:flex}.cta-band h2{margin:0 0 var(--sp-2);font-size:clamp(1.35rem,1rem + 1vw,1.75rem)}.cta-band p{margin:0}@media (max-width:1023px){.how,.benefits{grid-template-columns:minmax(0,1fr)}.how-step{align-items:center;column-gap:var(--sp-3);grid-template-columns:auto 1fr;display:grid}.how-step .how-frag{grid-column:1/-1}.benefits{gap:var(--sp-5)}}@media (max-width:767px){.paths{grid-template-columns:minmax(0,1fr)}.path{padding:var(--sp-5)}.path .button{align-self:stretch}.cta-band{padding:var(--sp-6)}.cta-band .inline,.cta-band .button{width:100%}}.hero2.single{min-height:0;padding-top:var(--sp-4);grid-template-columns:minmax(0,1fr)}.hero2.single .display{max-width:18ch}.features{gap:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);gap:var(--sp-3);flex-direction:column;display:flex}.feature p{color:var(--text-2);margin:0}@media (max-width:1023px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:639px){.features{grid-template-columns:minmax(0,1fr)}.feature{padding:var(--sp-5)}}.how-step p{grid-column:2;margin:0}.catalog-head{margin-bottom:var(--sp-5)}.grade-filter{gap:var(--sp-2);margin:0 0 var(--sp-6);flex-wrap:wrap;display:flex}.chip{border-radius:var(--r-full);border:1px solid var(--line-strong);background:var(--surface);min-height:40px;color:var(--text);font-weight:600;font-size:var(--fs-sm);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--primary-line);background:var(--surface-2);color:var(--text)}.chip:focus-visible{box-shadow:var(--ring);outline:none}.chip.on{background:var(--text);border-color:var(--text);color:var(--surface)}.chip-n{font-size:var(--fs-xs);opacity:.65;font-weight:600}.catalog-count{margin:0 0 var(--sp-3)}.catalog-page .stage h2{margin-top:var(--sp-8)}article.ccard{position:relative}article.ccard:hover{transform:none}.ccard h3.ccard-title{margin:0}.ccard-link{color:var(--text);text-decoration:none}.ccard-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.ccard-link:hover{color:var(--primary)}.ccard-link:focus-visible{outline:none}article.ccard:has(.ccard-link:focus-visible){box-shadow:var(--ring)}.ccard p.ccard-desc{max-width:none;margin:0}.ccard-actions{padding-top:var(--sp-3);gap:var(--sp-2);z-index:1;flex-wrap:wrap;margin-top:auto;display:flex;position:relative}@media (max-width:639px){.grade-filter{margin-inline:calc(var(--gutter) * -1);padding:2px var(--gutter) 6px;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.grade-filter::-webkit-scrollbar{display:none}.chip{flex:none}.ccard-actions .button{flex:auto}}.plans .plan{border-radius:var(--r-lg);box-shadow:var(--sh-xs);padding:var(--sp-6);gap:0}.plans .plan.accent{border:2px solid var(--primary);box-shadow:var(--sh-md)}.plan .price{color:var(--text);letter-spacing:-.02em;font-size:2rem}.plan-facts{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);padding:var(--sp-3) 0;border-block:1px solid var(--line);grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.plan-facts dt{color:var(--text-2)}.plan-facts dd{margin:0;font-weight:500}.plan-note{font-size:var(--fs-xs);margin:var(--sp-2) 0 0}.terms-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-6);margin-top:var(--sp-8)}.terms-box h2{margin-top:0}.terms-box ul{margin:0 0 var(--sp-3);gap:6px;padding-left:1.2em;display:grid}@media (max-width:639px){.plans .plan .button{align-self:stretch}.terms-box{padding:var(--sp-5)}}.nav-mobile{align-items:center;gap:var(--sp-2);display:none}.mnav{position:static}.mnav summary{cursor:pointer;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);width:44px;height:44px;color:var(--text);place-items:center;list-style:none;display:grid}.mnav summary::-webkit-details-marker{display:none}.mnav summary:focus-visible{box-shadow:var(--ring);outline:none}.mnav .i-close,.mnav[open] .i-open{display:none}.mnav[open] .i-close{display:block}.mnav-panel{left:0;right:0;top:var(--header-h);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--sh-lg);padding:var(--sp-2) var(--gutter) var(--sp-4);max-height:calc(100vh - var(--header-h));position:absolute;overflow-y:auto}.mnav-panel nav{flex-direction:column;display:flex}.mnav-panel nav>a,.mnav-panel nav .link{min-height:48px;font-size:var(--fs-md);color:var(--text);border-bottom:1px solid var(--line);justify-content:flex-start;align-items:center;width:100%;padding:0 4px;font-weight:500;text-decoration:none;display:flex}.mnav-panel nav>a:hover{color:var(--primary)}.mnav-panel nav form{display:block}.mnav-panel .lang-switch{align-self:flex-start;margin:var(--sp-3) 0 0!important;border-bottom:1px solid var(--line-strong)!important;min-height:40px!important;padding:0 14px!important}.mnav-who{color:var(--text-2);font-size:var(--fs-sm);padding:var(--sp-2) 4px}@media (max-width:767px){.nav-desktop{display:none!important}.nav-mobile{display:flex}.brand-name{display:inline!important}}.nowrap{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}@media (max-width:339px){.demo-options{grid-template-columns:minmax(0,1fr)}}button:focus-visible,.button:focus-visible,.chip:focus-visible,.mnav summary:focus-visible,a.lang-switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
