@import "https://fonts.googleapis.com/css2?family=Alex+Brush&family=Caveat:wght@600&family=Dancing+Script:wght@600&family=Great+Vibes&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_d5591ac2-module__D88TVW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_d5591ac2-module__D88TVW__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-app:#f7f5f0;--bg-surface:#fff;--bg-surface-hover:#fdfcf9;--bg-surface-alt:#efece4;--bg-muted:#ece8de;--bg-code:#16181b;--text-main:#181a1d;--text-muted:#5c626d;--text-subtle:#858d98;--text-inverse:#f7f5f0;--border-color:#e2ddd2;--border-hover:#c5bfb2;--border-focus:#181a1d;--accent-primary:#1c1e22;--accent-primary-hover:#0e1012;--accent-secondary:#3d424a;--accent-secondary-hover:#292c32;--accent-warning:#996b2e;--accent-purple:#2d3136;--accent-beige:#d9d2c5;--accent-beige-light:#efece4;--accent-beige-deep:#948b7c;--accent-gold:#1c1e22;--accent-gold-light:#d9d2c5;--accent-gold-deep:#181a1d;--badge-active-bg:#eae5db;--badge-active-text:#181a1d;--badge-roadmap-bg:#ece8de;--badge-roadmap-text:#5c626d;--shadow-sm:0 1px 3px 0 #181a1d0a, 0 1px 2px 0 #181a1d05;--shadow-md:0 4px 16px -2px #181a1d0f, 0 2px 6px -1px #181a1d08;--shadow-lg:0 12px 32px -4px #181a1d14, 0 4px 12px -2px #181a1d0a;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--max-width:1440px;--max-width-wide:1600px;--max-width-narrow:1080px;--max-width-reading:880px;--transition-fast:.18s cubic-bezier(.16, 1, .3, 1);--transition-smooth:.26s cubic-bezier(.16, 1, .3, 1);--transition-bounce:.3s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg-app:#121417;--bg-surface:#1b1e22;--bg-surface-hover:#23272d;--bg-surface-alt:#24282f;--bg-muted:#22262c;--bg-code:#0d0e10;--text-main:#f4efe6;--text-muted:#ada699;--text-subtle:#7a756c;--text-inverse:#121417;--border-color:#2d3239;--border-hover:#454b54;--border-focus:#f4efe6;--accent-primary:#f4efe6;--accent-primary-hover:#fff;--accent-secondary:#d9d2c5;--accent-secondary-hover:#ede6d8;--accent-warning:#d9b168;--accent-purple:#f4efe6;--accent-beige:#d9d2c5;--accent-beige-light:#363b43;--accent-beige-deep:#f4efe6;--accent-gold:#f4efe6;--accent-gold-light:#d9d2c5;--accent-gold-deep:#fff;--badge-active-bg:#f4efe61f;--badge-active-text:#f4efe6;--badge-roadmap-bg:#22262c;--badge-roadmap-text:#ada699;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 16px -2px #00000080, 0 2px 6px -1px #0000004d;--shadow-lg:0 12px 32px -4px #0009, 0 4px 12px -2px #0006}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}@media (min-width:1680px){html{font-size:17px}}html,body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-inter), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-smooth), color var(--transition-smooth);line-height:1.6}code,pre,kbd,samp{font-family:var(--font-mono), monospace}a{color:var(--accent-primary);transition:color var(--transition-fast), opacity var(--transition-fast);text-decoration:none}a:hover{opacity:.9;text-decoration:none}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,select,textarea{transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--border-focus)!important;box-shadow:0 0 0 3px #181a1d1f!important}.btn-interactive{will-change:transform, box-shadow;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);transform:translateZ(0)}.btn-interactive:hover{transform:translateY(-1px)translateZ(0)}.btn-interactive:active{transition-duration:50ms;transform:translateY(1px)scale(.98)translateZ(0)}.card-interactive{will-change:transform, box-shadow, border-color;transition:transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth), background-color var(--transition-smooth);transform:translateZ(0)}.card-interactive:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover);transform:translateY(-2px)translateZ(0)}.card-interactive:active{transition-duration:50ms;transform:translateY(-1px)translateZ(0)}.page-transition-wrapper,.page-transition-container{will-change:opacity, transform;width:100%;animation:.22s cubic-bezier(.16,1,.3,1) forwards pageTransitionIn}@keyframes pageTransitionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes questionSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes questionSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.question-animating-out{animation:.1s ease-in forwards questionSlideOut}.question-animating-in{animation:.14s cubic-bezier(.16,1,.3,1) forwards questionSlideIn}@keyframes revealItem{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-stage-1{opacity:0;animation:.26s cubic-bezier(.16,1,.3,1) 80ms forwards revealItem}.reveal-stage-2{opacity:0;animation:.26s cubic-bezier(.16,1,.3,1) .18s forwards revealItem}.reveal-stage-3{opacity:0;animation:.26s cubic-bezier(.16,1,.3,1) .28s forwards revealItem}.reveal-stage-4{opacity:0;animation:.26s cubic-bezier(.16,1,.3,1) .4s forwards revealItem}@keyframes slideDownIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:.22s cubic-bezier(.16,1,.3,1) forwards slideDownIn}.nav-progress-bar{z-index:9999;pointer-events:none;transform-origin:0%;background:linear-gradient(90deg,#1c1e22 0%,#b5ac9c 50%,#2d3136 100%);height:2px;animation:1.2s ease-in-out infinite navProgressAnim;position:fixed;top:0;left:0;right:0;box-shadow:0 0 8px #181a1d66}[data-theme=dark] .nav-progress-bar{background:linear-gradient(90deg,#f4efe6 0%,#ada699 50%,#d9d2c5 100%);box-shadow:0 0 8px #f4efe659}@keyframes navProgressAnim{0%{opacity:.8;transform:scaleX(.1)translate(0)}50%{opacity:1;transform:scaleX(.65)translate(30%)}to{opacity:.9;transform:scaleX(1)translate(0)}}.mobile-nav-backdrop{-webkit-backdrop-filter:blur(6px);z-index:99;opacity:0;pointer-events:none;background:#0f0e0b80;transition:opacity .22s ease-out;position:fixed;inset:0}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}.mobile-nav-drawer{background-color:var(--bg-surface);border-left:1px solid var(--border-color);width:min(340px,85vw);box-shadow:var(--shadow-lg);z-index:100;will-change:transform;flex-direction:column;gap:.6rem;padding:1.5rem;transition:transform .24s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.mobile-nav-drawer.open{transform:translate(0)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-shimmer{border-radius:var(--radius-sm);background:linear-gradient(90deg,#ede7d566 0%,#e8d48a40 50%,#ede7d566 100%) 0 0/200% 100%;animation:1.8s ease-in-out infinite shimmer}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,#28241cb3 0%,#c9a2272e 50%,#28241cb3 100%) 0 0/200% 100%}@keyframes questionTransition{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-question{animation:.22s cubic-bezier(.16,1,.3,1) forwards questionTransition}@keyframes fillBarWidth{0%{width:0%}}.animate-fill-bar{animation:.65s cubic-bezier(.16,1,.3,1) forwards fillBarWidth}@keyframes pulseGlow{0%,to{box-shadow:0 4px 20px -2px #181a1d14}50%{box-shadow:0 8px 30px -2px #181a1d29}}.glow-ambient-gold{animation:4s ease-in-out infinite pulseGlow}@keyframes btnSpin{to{transform:rotate(360deg)}}.page-container{flex-direction:column;width:100%;min-height:100vh;display:flex}.main-content{flex:1;width:100%}.header-container{max-width:var(--max-width-wide);justify-content:space-between;align-items:center;width:100%;height:4.25rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,2.5rem);display:flex}.site-container{max-width:var(--max-width);width:100%;margin:0 auto;padding:clamp(1.75rem,3vw,2.75rem) clamp(1rem,3.5vw,2.5rem) clamp(3rem,5vw,5rem)}.site-container-wide{max-width:var(--max-width-wide);width:100%;margin:0 auto;padding:clamp(1.75rem,3vw,2.75rem) clamp(1rem,3.5vw,2.5rem) clamp(3rem,5vw,5rem)}.site-container-narrow{max-width:var(--max-width-narrow);width:100%;margin:0 auto;padding:clamp(1.75rem,3vw,2.75rem) clamp(1rem,3.5vw,2.5rem) clamp(3rem,5vw,5rem)}@media (max-width:640px){.site-container,.site-container-wide,.site-container-narrow{padding-left:1rem;padding-right:1rem}}.section-header{margin-bottom:clamp(1.75rem,3vw,2.75rem)}.section-header.center{text-align:center}.section-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:700;display:inline-block}.section-title{color:var(--text-main);letter-spacing:-.02em;font-size:clamp(1.75rem,3vw + .5rem,2.45rem);font-weight:800;line-height:1.25}.section-subtitle{color:var(--text-muted);max-width:760px;margin-top:.75rem;font-size:clamp(1rem,.5vw + .9rem,1.15rem);line-height:1.65}.section-header.center .section-subtitle{margin-left:auto;margin-right:auto}.card-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(280px,24vw,360px),1fr));gap:clamp(1.25rem,2vw,1.75rem);display:grid}@media (max-width:640px){.card-grid{grid-template-columns:1fr}}.catalog-layout-grid{grid-template-columns:320px 1fr;align-items:start;gap:clamp(1.5rem,2.5vw,2.5rem);display:grid}.mobile-filter-toggle{display:none}.catalog-filter-aside{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:1.5rem;max-height:calc(100vh - 7rem);padding:1.5rem;display:flex;position:sticky;top:5.5rem;overflow-y:auto;box-shadow:0 2px 10px #0f172a0a}@media (max-width:1024px){.catalog-layout-grid{grid-template-columns:1fr;gap:1.5rem}.mobile-filter-toggle{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);cursor:pointer;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;font-size:.95rem;font-weight:750;display:flex}.catalog-filter-aside{max-height:none;display:none;position:static;overflow-y:visible}.catalog-filter-aside.open{display:flex}}.page-container:has(.lesson-workbench){height:100vh;max-height:100vh;overflow:hidden}.page-container:has(.lesson-workbench) .main-content{flex-direction:column;height:calc(100vh - 4rem);min-height:0;display:flex;overflow:hidden}.page-container:has(.lesson-workbench) footer{display:none}@media (max-width:900px){.page-container:has(.lesson-workbench){height:auto;overflow:auto}.page-container:has(.lesson-workbench) footer{display:block}.lesson-workbench{min-height:calc(100vh - 64px);height:auto!important;overflow:visible!important}.workbench-grid{grid-template-columns:1fr!important;height:auto!important;overflow:visible!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn-interactive:hover,.card-interactive:hover{transform:none!important}.mobile-nav-drawer{transition:none!important;transform:none!important}.mobile-nav-drawer:not(.open){display:none!important}.reveal-stage-1,.reveal-stage-2,.reveal-stage-3,.reveal-stage-4,.page-transition-container,.page-transition-wrapper{opacity:1!important;animation:none!important;transform:none!important}.nav-progress-bar{display:none!important}}@media print{@page{size:A4 portrait;margin:0}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important}body *{visibility:hidden}.certificate-modal-overlay,.certificate-modal-content,#certificate-print-area,#certificate-print-area *{visibility:visible}.certificate-modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;width:100%!important;height:auto!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.certificate-modal-content{box-shadow:none!important;background:0 0!important;border:none!important;width:100%!important;max-width:100%!important;padding:0!important}.certificate-modal-header,.certificate-modal-footer{display:none!important}#certificate-print-area{page-break-inside:avoid;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;width:100%!important;max-width:100%!important;margin:0 auto!important}}@keyframes robotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes robotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-tutor-robot-btn:hover .robot-mascot-wrapper{animation:1.8s ease-in-out infinite robotFloat}.robot-mascot-wrapper.idle{animation:3.5s ease-in-out infinite robotFloat}.robot-mascot-wrapper.thinking .robot-eye-pulse{animation:.8s ease-in-out infinite robotPulse}.robot-mascot-wrapper.thinking .robot-chest-core{animation:.6s ease-in-out infinite robotPulse}@media (prefers-reduced-motion:reduce){.robot-mascot-wrapper,.robot-mascot-wrapper.idle,.robot-mascot-wrapper.thinking .robot-eye-pulse,.robot-mascot-wrapper.thinking .robot-chest-core,.ai-tutor-robot-btn:hover .robot-mascot-wrapper{animation:none!important}}@keyframes megaMenuFadeIn{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.99)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.course-anchor-target{scroll-margin-top:9rem}.course-nav-scroll-container{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;align-items:center;gap:.5rem;padding:.65rem .25rem;display:flex;overflow-x:auto}.course-nav-scroll-container::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){html,.course-nav-scroll-container{scroll-behavior:auto!important}}
