:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-primary:#f2f2f2;--bg-secondary:#f5f5f5;--text-primary:#000;--text-secondary:#666;--border-color:#e0e0e0;--card-bg:#cecece;--shadow-color:#0000001a;--menu-bg:#cce9e8;--menu-active-bg:#fff;--chrome-bg:#fff;--lesson-scroll-progress:0;flex-direction:column;height:100%;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5;display:flex}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#24242400;--text-primary:#fff;--text-secondary:#a0a0a0;--border-color:#333;--card-bg:#2d2d2d;--shadow-color:#0000004d;--menu-bg:#1a1a1a;--menu-active-bg:#1a1a1a;--chrome-bg:#1a1a1a}html,body{width:100%;height:100%;color:var(--text-primary);background-color:var(--bg-primary);margin:0;padding:0;transition:background-color .3s,color .3s}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px}h1{font-size:3.2em;line-height:1.1}button{background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:8px;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s,background-color .3s,color .3s}button:focus:not(:focus-visible){box-shadow:none;outline:none}button:focus-visible{outline:4px auto -webkit-focus-ring-color}*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}#root{width:100%;height:100%;margin:0;padding:0}.logo{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:20s linear infinite logo-spin}}.read-the-docs{color:#888}.start-version{color:#999;letter-spacing:.05em;z-index:100;padding:.5rem 1rem;font-size:.75rem;font-weight:400;position:absolute;top:-1rem;right:.2rem}.start-header{z-index:10;align-items:center;gap:1rem;display:flex;position:absolute;top:2rem;left:2rem}.start-group-icon{width:60px;height:60px}.start-header-text{flex-direction:column;display:flex}.start-level{color:var(--text-secondary);font-size:.75rem;line-height:1}.start-title-text{color:var(--text-primary);font-size:1.5rem;font-weight:700}.start-container{z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;height:100svh;min-height:100svh;padding-top:0;padding-bottom:0;display:flex;position:relative;overflow:visible}.start-content{inset:calc(3rem + env(safe-area-inset-top,0px)) 0 calc(8.5rem + env(safe-area-inset-bottom,0px)) 0;box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:absolute}.start-logo-section{align-items:center;gap:1rem;display:flex}.start-logo{object-fit:contain;opacity:0;will-change:transform, opacity;width:200px;height:140px;animation:1.2s cubic-bezier(.22,1,.36,1) forwards logoEntrance;transform:translateY(20px)scale(.8)}@keyframes logoEntrance{0%{opacity:.7;transform:translateY(20px)scale(.8)}50%{opacity:.7}to{opacity:.7;transform:translate(0,0)scale(1)}}.start-title{color:var(--text-primary);opacity:0;font-size:1.5rem;font-weight:700;transition:opacity .4s ease-out .3s,transform .4s ease-out .3s;transform:translate(-20px)}.start-title.visible{opacity:1;transform:translate(0)}.start-button{cursor:pointer;opacity:0;background-color:#0000;border:none;outline:none;flex-direction:column;align-items:center;gap:.5rem;min-height:110px;padding:0;transition:opacity .3s;display:flex;position:absolute;bottom:5rem;left:50%;transform:translate(-50%)translateY(50px)}.start-button.appear{animation:.6s ease-out forwards appearUp}.start-button:hover{opacity:.7}.start-button:focus,.start-button:active{outline:none}.start-button-label{color:#000;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.9rem;font-weight:500}.start-button-chevrons{flex-direction:column;display:flex;position:relative}.start-button-chevron{opacity:0;background-color:#0000;border-top:2px solid gray;border-bottom:none;border-left:none;border-right:2px solid gray;width:40px;height:40px;animation:1.8s ease-in-out infinite swipeUpChevron;position:relative}.start-button-chevron:not(:first-child){margin-top:-12px}.start-button-chevron:first-child{animation-delay:.4s}.start-button-chevron:nth-child(2){animation-delay:.2s}.start-button-chevron:nth-child(3){animation-delay:0s}[data-theme=dark] .start-button-chevron{border-color:#fff}[data-theme=dark] .start-button-label{color:#fff}@keyframes swipeUpChevron{0%{opacity:0;top:8px;transform:rotate(-45deg)}30%{opacity:.9;top:0;transform:rotate(-45deg)}60%{opacity:.9;top:-4px;transform:rotate(-45deg)}to{opacity:0;top:-12px;transform:rotate(-45deg)}}@keyframes slideUpAnimation{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100vh)}}.start-container.animated{animation:.8s ease-in forwards slideUpAnimation}@keyframes appearUp{0%{opacity:0;transform:translate(-50%)translateY(50px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.start-button:disabled{cursor:not-allowed;opacity:.7}.loader{border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin}.start-buttons{bottom:calc(7.5rem + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:center;gap:12px;width:100%;margin:0 auto;display:flex;position:absolute;left:0;right:0}.start-button-external{color:var(--text-primary);cursor:pointer;letter-spacing:.05em;opacity:0;background:0 0;border-radius:4px;margin-top:5rem;padding:8px 24px;font-size:.85rem;text-decoration:underline;transition:all .2s;animation:.5s cubic-bezier(.34,1.56,.64,1) .1s forwards buttonEntrance}.start-dialog-overlay{z-index:50;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.start-dialog{color:#000;background:#fff;border-radius:8px;width:320px;padding:24px;position:relative}.start-dialog-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:1rem;position:absolute;top:12px;right:12px}.start-dialog-title{text-align:center;margin-bottom:20px;font-size:1.2rem;font-weight:700}.start-dialog-field{margin-bottom:16px}.start-dialog-field label{margin-bottom:4px;font-size:.75rem;font-weight:500;display:block}.start-dialog-field input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px}.start-dialog-password{position:relative}.start-dialog-eye{cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.start-dialog-error{color:red;margin-bottom:12px;font-size:.85rem}.start-dialog-submit{color:#fff;cursor:pointer;letter-spacing:.05em;background:#000;border:none;border-radius:4px;width:100%;padding:10px;font-weight:700}.start-dialog-submit:disabled{opacity:.6}.start-dialog-description{color:#666;text-align:center;margin:0 0 16px;font-size:.8rem}.start-dialog-actions{gap:8px;display:flex}.start-dialog-actions .start-dialog-submit{flex:1;width:auto}.start-dialog-secondary{color:#000;cursor:pointer;background:0 0;border:1px solid #ccc;border-radius:4px;flex:1;padding:10px;font-weight:500}.start-dialog-secondary:disabled{opacity:.6}.start-dialog-completing{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.start-dialog-spinner{border:2px solid #ddd;border-top-color:#000;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes buttonEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes playButtonEntrance{0%{opacity:0;box-shadow:none;border-color:#0000;transform:scale(.6)}50%{opacity:.7;border-color:color-mix(in srgb, var(--glow-color-0) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-0) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-0) 20%, transparent);transform:scale(.85)}to{opacity:1;border-color:color-mix(in srgb, var(--glow-color-0) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-0) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-0) 20%, transparent);transform:scale(1)}}.start-btn-main{color:#0009;cursor:pointer;transform-origin:50%;z-index:30;--glow-color-0:#f6b2ad;--glow-color-1:#fcc360;--glow-color-2:#5bb4b1;--glow-color-3:#fff;opacity:0;background:#f2f2f2;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;padding:0;transition:background .2s,transform .2s,color .2s;animation:.6s cubic-bezier(.34,1.56,.64,1) .3s forwards playButtonEntrance,6s ease-in-out .95s infinite start-play-pulse-multicolor;display:flex;transform:scale(1)}.start-btn-main:active{transform:scale(.95)}.start-pulse-bubble{pointer-events:none;z-index:25;-webkit-backdrop-filter:blur();backdrop-filter:blur();will-change:transform, opacity;background:0 0;border:2px solid;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%)}.start-particle{background:var(--text-primary,#000);pointer-events:none;z-index:25;-webkit-backdrop-filter:blur();backdrop-filter:blur();will-change:transform, opacity;border-radius:50%;width:8px;height:8px;position:absolute;transform:translate(-50%,-50%)}[data-theme=dark] .start-btn-main,[data-theme=dark] .start-btn-main:hover,[data-theme=dark] .start-btn-main:active{color:#fff;background:#1a1a1a}[data-theme=dark] .start-particle{background:#fff}@keyframes start-play-pulse-multicolor{0%{border-color:color-mix(in srgb, var(--glow-color-1) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-0) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-0) 20%, transparent)}11%{border-color:color-mix(in srgb, var(--glow-color-0) 75%, transparent);box-shadow:0 0 0 8px color-mix(in srgb, var(--glow-color-0) 0%, transparent), 0 0 18px 4px color-mix(in srgb, var(--glow-color-0) 25%, transparent)}22%{border-color:color-mix(in srgb, var(--glow-color-0) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-0) 0%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-0) 15%, transparent)}33%{border-color:color-mix(in srgb, var(--glow-color-1) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-1) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-1) 20%, transparent)}44%{border-color:color-mix(in srgb, var(--glow-color-1) 75%, transparent);box-shadow:0 0 0 8px color-mix(in srgb, var(--glow-color-1) 0%, transparent), 0 0 18px 4px color-mix(in srgb, var(--glow-color-1) 25%, transparent)}55%{border-color:color-mix(in srgb, var(--glow-color-1) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-1) 0%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-1) 15%, transparent)}66%{border-color:color-mix(in srgb, var(--glow-color-2) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-2) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-2) 20%, transparent)}77%{border-color:color-mix(in srgb, var(--glow-color-2) 75%, transparent);box-shadow:0 0 0 8px color-mix(in srgb, var(--glow-color-2) 0%, transparent), 0 0 18px 4px color-mix(in srgb, var(--glow-color-2) 25%, transparent)}88%{border-color:color-mix(in srgb, var(--glow-color-2) 65%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-2) 0%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-2) 15%, transparent)}to{border-color:color-mix(in srgb, var(--glow-color-0) 55%, transparent);box-shadow:0 0 0 0 color-mix(in srgb, var(--glow-color-0) 30%, transparent), 0 0 12px 2px color-mix(in srgb, var(--glow-color-0) 20%, transparent)}}.start-btn-main.loading{cursor:not-allowed;pointer-events:none}.start-btn-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.loader-dot{will-change:transform, opacity;transform-origin:50%}.loader-dot-1{animation:1.4s infinite loader-dot-bounce-transform}.loader-dot-2{animation:1.4s .2s infinite loader-dot-bounce-transform}.loader-dot-3{animation:1.4s .4s infinite loader-dot-bounce-transform}.start-btn-main.loading .loader-dot{opacity:1;r:2}.start-btn-main.loading .loader-dot-1{animation:1.4s infinite loader-dot-bounce-transform}.start-btn-main.loading .loader-dot-2{animation:1.4s .2s infinite loader-dot-bounce-transform}.start-btn-main.loading .loader-dot-3{animation:1.4s .4s infinite loader-dot-bounce-transform}.start-btn-main:not(.loading) .loader-dot{animation:.6s ease-out forwards loader-dot-fade-out}.start-btn-main:not(.loading) .loader-dot-1{cx:12;cy:8;pointer-events:none}.start-btn-main:not(.loading) .loader-dot-2{cx:12;cy:24;pointer-events:none}.start-btn-main:not(.loading) .loader-dot-3{cx:24;cy:16;pointer-events:none}.play-line{opacity:0;stroke-dasharray:20;stroke-dashoffset:20px;will-change:opacity, stroke-dashoffset;transition:opacity .6s ease-out,stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.start-btn-main.loading .play-line{opacity:0;stroke-dashoffset:20px}.start-btn-main:not(.loading) .play-line{opacity:1;stroke-dashoffset:0}@keyframes loader-dot-bounce{0%,to{cy:16;opacity:1}50%{cy:8;opacity:1}}@keyframes loader-dot-bounce-transform{0%,to{opacity:1;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}@keyframes loader-dot-bounce-stop{0%{cy:16;opacity:1}40%{cy:12;opacity:.8}to{cy:16;opacity:1}}@keyframes loader-dot-fade-out{0%{opacity:1;r:2}to{opacity:0;r:0}}.layout-container{background-color:var(--bg-primary);flex-direction:column;width:100%;height:100%;min-height:100%;transition:background-color .3s;display:flex;position:relative;overflow:visible}.layout-content{z-index:10;width:100%;height:100%;padding:calc(1.5rem + env(safe-area-inset-top,0px)) 1.5rem calc(100px + env(safe-area-inset-bottom,0px)) 1.5rem;box-sizing:border-box;flex-direction:column;flex:1;justify-content:stretch;align-items:stretch;display:flex;position:relative;overflow:hidden!important}.layout-content:has(.ranking-page-wrapper){padding:0!important}.vector-blue-top{pointer-events:none;z-index:0;opacity:.5;width:auto;max-width:45%;height:auto;position:absolute;top:0;right:0}.vector-blue-bottom{pointer-events:none;z-index:0;opacity:.5;width:auto;max-width:45%;height:auto;position:absolute;bottom:0;left:0}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.card{z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:1;will-change:opacity, transform;background:#fff;border-radius:.5rem;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 16px 36px #00000014}[data-theme=dark] .card{background:#ffffff0f;border-color:#ffffff1f;box-shadow:0 6px 14px #00000073}.card.disabled{pointer-events:none;opacity:1;position:relative}.card.disabled:after{content:"";z-index:12;pointer-events:none;background:linear-gradient(#00000080,#00000080);position:absolute;inset:0}.card-lock{color:#000;z-index:20;justify-content:right;display:flex;position:absolute;top:1rem;right:1rem}.card-badge-icon{z-index:20;position:absolute;top:1rem;right:1rem}.card-badge-icon-img{filter:drop-shadow(0 2px 4px #0000004d);width:2rem;height:2rem}.card-image{aspect-ratio:4/4.5;flex:none;width:100%;position:relative;overflow:hidden}@supports not (aspect-ratio:4 / 4.5){.card-image:before{content:"";padding-top:112.5%;display:block}.card-image>*{position:absolute;inset:0}}@media (width<=480px){.card-image{aspect-ratio:4/5.5}@supports not (aspect-ratio:4 / 5.5){.card-image:before{padding-top:137.5%}}}.card-image-placeholder{background-color:#f8f9fa;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.card-image-placeholder img{object-fit:contain;opacity:.6;width:20%;min-width:40px;max-width:90px;height:auto}.card-status-pill{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:15;border-radius:5px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:1rem;font-weight:400;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.card-status-pill__icon{align-items:center;font-size:.8rem;display:inline-flex}.card-status-pill--completed{background:#005c5945}.card-status-pill--in_progress{background:#0003}.card-status-pill--locked{background:#f6b2ad45}.card-image>img{object-fit:cover;width:100%;height:100%}.card-video{object-fit:cover;pointer-events:auto;width:100%;height:100%;display:block}.card-media{opacity:0;transition:opacity .45s}.card-media--loaded{opacity:1}.card-image--loading{background-color:#eceef1}.card-image--loading:after{content:"";pointer-events:none;background:linear-gradient(100deg,#fff0 20%,#fff9 50%,#fff0 80%) 0 0/200% 100%;animation:1.4s ease-in-out infinite cardImageShimmer;position:absolute;inset:0}[data-theme=dark] .card-image--loading{background-color:#ffffff0f}[data-theme=dark] .card-image--loading:after{background-image:linear-gradient(100deg,#fff0 20%,#ffffff14 50%,#fff0 80%)}@keyframes cardImageShimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.card-media{transition:none}.card-image--loading:after{animation:none}}.card-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:10;background-color:#ffffff4d;border:2px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;padding:.5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:1rem;right:1rem}.card-content{z-index:10;background:#fff;flex-direction:column;flex:auto;gap:.35rem;padding:1rem 1.25rem;display:flex;position:relative}[data-theme=dark] .card-content{background:0 0}.card-content.disabled{opacity:.6;pointer-events:none}.card-title{color:#000;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;margin:0;font-size:1rem;line-height:1.35;display:-webkit-box;overflow:hidden}[data-theme=dark] .card-title{color:#fff}.card-description{color:#000;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card-stats{justify-content:space-between;gap:1rem;margin-top:auto;padding-top:.75rem;display:flex}.card-stat{color:#aeaeae;align-items:center;gap:.375rem;font-size:1rem;font-weight:600;display:flex}[data-theme=dark] .card-stat{color:#aeaeae}.card-stat-icon{width:26px;height:26px;position:relative}.card-stat-icon:before{content:"";pointer-events:none;background:linear-gradient(#fff0 0%,#ffffff4d 50%,#fff0 100%);height:200%;animation:2s ease-in-out infinite arrowGradientSlide;position:absolute;top:100%;left:0;right:0}@keyframes arrowGradientMove{0%{filter:brightness();transform:translateY(0)}50%{filter:brightness(1.3);transform:translateY(-3px)}to{filter:brightness();transform:translateY(0)}}@keyframes arrowGradientSlide{0%{top:100%}50%{top:-100%}to{top:-200%}}.card-stat svg{width:26px;height:26px}@media (width<=1024px){.card{width:100%}}@media (width<=768px){.card-content{padding:.75rem}.card-badge{width:2.5rem;height:2.5rem;top:.75rem;right:.75rem}.card-stat{font-size:1rem}.card-stat svg{width:18px;height:18px}}.card-content{padding:.5rem}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}:root{--lesson-surface-bg:#f6f6f8;--lesson-panel-bg:#fff}[data-theme=dark]{--lesson-surface-bg:#000;--lesson-panel-bg:#171a20}.home-container{background:var(--lesson-surface-bg,#f6f6f8);flex-direction:column;width:100%;height:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.home-group-icon{object-fit:contain;will-change:width, height;width:120px;height:80px}.home-header{background:var(--chrome-bg,#fff);will-change:padding, gap;justify-content:center;align-items:center;gap:1rem;padding:.75rem .5rem .5rem;display:flex}.home-header-text{will-change:flex-direction, gap;flex-direction:column;gap:0;display:flex}.home-level{color:#000;will-change:font-size;font-size:1rem;font-style:italic;font-weight:500;line-height:1}[data-theme=dark] .home-level{color:#fff}.home-title-text{color:var(--text-primary);will-change:font-size;font-size:2rem;font-weight:700;line-height:1.05}.home-header--compact{overflow:hidden}.home-container h1{color:var(--text-primary);font-size:2rem}.section-tabs{border-bottom:1px solid var(--border-color);scrollbar-width:none;background:var(--bg-primary);gap:1rem;margin:1rem 0;padding:1rem 0;display:flex;overflow-x:auto}.section-tabs::-webkit-scrollbar{display:none}.section-tab{background-color:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap;cursor:pointer;border:none;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.section-tab.active{background-color:var(--text-primary);color:#fff;font-weight:600}.no-sections{height:auto;color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;padding:1.5rem;font-size:1.1rem;display:flex}.cards-grid{opacity:1;filter:none;background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;min-height:100%;padding:0 0 4.5rem;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards cards-fade-in;display:grid;transform:translateY(0)}@keyframes cards-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cards-grid-container{z-index:0;isolation:isolate;background:0 0;border-radius:0;width:100%;min-height:calc(100dvh - 200px);margin-top:.5rem;padding:.5rem 1rem 1.5rem;position:relative}[data-theme=dark] .home-header{background:var(--bg-primary);box-shadow:none;border:none}[data-theme=dark] .home-container,[data-theme=dark] .home-content{background:var(--bg-primary)}[data-theme=dark] .cards-grid-container{background:var(--bg-primary);box-shadow:none}[data-theme=dark] .cards-grid,[data-theme=dark] .cards-grid__loader{background:var(--bg-primary)}[data-theme=dark] .section-tabs{background:var(--bg-primary);border-color:#ffffff14}.lesson-empty-state{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.lesson-empty-state__content{text-align:center;flex-direction:column;align-items:center;display:flex}.lesson-empty-state__icon{color:#000000b3;margin-bottom:16px}.lesson-empty-state__icon svg{width:56px;height:56px}.lesson-empty-state__title{margin-bottom:8px;font-size:20px;font-weight:600}.lesson-empty-state__subtitle{color:#7a7a7a;max-width:320px;font-size:14px}.lesson-content-panel{width:100%;min-height:240px}.home-content--empty{flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex;position:relative}.cards-grid-container.is-loading{pointer-events:none}.cards-grid--loading{opacity:0;filter:blur(6px);pointer-events:none;visibility:hidden;transform:translateY(16px)}.cards-grid__loader{z-index:998;opacity:0;pointer-events:none;background:#f2f2f2;justify-content:center;align-items:center;transition:opacity .24s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;inset:0}.cards-grid__loader.is-visible{opacity:1;pointer-events:auto}.home-content__loader{z-index:1000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lesson-loader{width:60px;height:60px}.cards-grid .card{min-width:0;max-width:none}@media (width>=1024px){.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1440px){.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=480px){.section-tabs{gap:.5rem;padding:.5rem 0}.section-tab{padding:.4rem .8rem;font-size:.8rem}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.cards-grid .card{min-width:0;min-height:100px}}.home-header{z-index:100;will-change:transform, opacity;top:0}.home-top-wrapper{z-index:100;will-change:transform;background:var(--chrome-bg,#fff);-webkit-backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();transform:translateY(calc(-1 * var(--lesson-scroll-progress,0) * 100%));padding-top:env(safe-area-inset-top,0px);transition:transform .28s cubic-bezier(.4,0,.6,1);position:absolute;top:0;left:0;right:0;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a}[data-theme=dark] .home-top-wrapper{background:var(--chrome-bg,#16181e);box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.home-content{-webkit-overflow-scrolling:touch;padding-top:var(--top-wrapper-height,220px);background:var(--lesson-surface-bg,#f6f6f8);z-index:1;position:absolute;inset:0;overflow-y:auto}.home-content--pwa{padding-top:var(--top-wrapper-height,220px)}.home-content--browser{padding-top:var(--top-wrapper-height,160px)}.lesson-loading-state{opacity:1;justify-content:center;align-items:center;width:100%;min-height:100%;padding:2rem;transition:opacity .4s cubic-bezier(.34,1.56,.64,1);display:flex}.lesson-loading-state.fade-out{opacity:0;pointer-events:none}.lesson-loading-spinner{justify-content:center;align-items:center;width:60px;height:60px;display:flex}.lesson-loader-dots{color:#111}[data-theme=dark] .lesson-loader-dots{color:#fff}.lesson-loader-dots .loader-dot{will-change:transform, opacity;transform-origin:50%}.lesson-loader-dots .loader-dot-1{animation:1.4s infinite loader-dot-bounce-transform}.lesson-loader-dots .loader-dot-2{animation:1.4s .2s infinite loader-dot-bounce-transform}.lesson-loader-dots .loader-dot-3{animation:1.4s .4s infinite loader-dot-bounce-transform}.menu-home__indicator{background:var(--text-primary);pointer-events:none;will-change:transform, width;border-radius:999px;height:3px;transition:transform .42s cubic-bezier(.34,1.56,.64,1),width .42s cubic-bezier(.34,1.56,.64,1),opacity .3s;position:absolute;bottom:0}.menu-home{white-space:nowrap;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:#fff;gap:1.5rem;padding:0 .75rem .25rem;display:flex;position:relative;overflow:auto hidden}[data-theme=dark] .menu-home{background:#1a1a1a}.menu-home::-webkit-scrollbar{display:none}.menu-home-item{letter-spacing:.01em;box-shadow:none;cursor:pointer;white-space:nowrap;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;touch-action:manipulation;will-change:color;background:0 0;border:none;outline:none;flex-shrink:0;padding:.75rem 0;font-size:1rem;font-weight:500;transition:color .28s cubic-bezier(.34,1.56,.64,1);position:relative}.menu-home-item__label{display:inline-block}.menu-home-item:focus,.menu-home-item:active{box-shadow:none;outline:none}.menu-home-item.inactive{color:#0000004d}[data-theme=dark] .menu-home-item.inactive{color:#ffffff59}.menu-home-item.inactive:hover{color:#00000073}[data-theme=dark] .menu-home-item.inactive:hover{color:#fff9}.menu-home-item.active{color:var(--text-primary);font-weight:700}.error-container{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.25rem;width:100%;height:100svh;min-height:100svh;padding:2rem 1.5rem;display:flex}.error-icon{color:var(--text-secondary)}.error-title{color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.error-message{color:var(--text-secondary);max-width:28rem;margin:0;font-size:1rem;line-height:1.5}.error-button{background:var(--primary,#5bb4b1);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:opacity .2s}.error-button:hover{opacity:.9}.floating-menu-clip{background:var(--chrome-bg,var(--bg-primary));z-index:500;will-change:transform;width:100%;transform:translateY(calc(var(--lesson-scroll-progress,0) * 100%));pointer-events:auto;transition:transform .28s cubic-bezier(.4,0,.6,1);position:fixed;bottom:0;left:0;right:0;overflow:visible;box-shadow:0 -8px 32px #0000002e,0 -2px 8px #0000001a}.floating-menu-clip--hidden{pointer-events:none;opacity:0;will-change:transform, opacity;transform:translateY(100%);visibility:hidden!important;display:none!important}.floating-menu-wrapper{background:var(--chrome-bg,var(--bg-primary));-webkit-backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();width:100%;box-shadow:none}.floating-menu-wrapper--hidden{pointer-events:none;opacity:0;will-change:transform, opacity;transform:translateY(12px);visibility:hidden!important;display:none!important}.floating-menu-wrapper--hidden .floating-menu{visibility:hidden!important;display:none!important}.floating-menu-clip--hidden,.floating-menu-wrapper--hidden,.floating-menu-clip--hidden .floating-menu,.floating-menu-wrapper--hidden .floating-menu{visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-9999!important;display:none!important}.floating-menu{background:var(--chrome-bg,var(--bg-primary));-webkit-backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();backdrop-filter:blur(20px)saturate(1.8)brightness(1.4)contrast();width:100%;min-height:60px;box-shadow:none;border:0;border-radius:0;outline:none;justify-content:center;align-items:center;padding:.6rem .5rem 1.5rem;display:flex;position:relative}.floating-menu-items{z-index:1;justify-content:space-around;align-items:center;gap:0;width:100%;padding:0 .5rem;display:flex;position:relative}.floating-menu-item{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#0000;border:none;border-radius:24px;outline:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.35rem;min-width:0;padding:.65rem 1rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.floating-menu-item.active:before{content:"";z-index:-1;background:#00000014;border-radius:22px;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards liquidPillIn;position:absolute;inset:2px}@keyframes liquidPillIn{0%{opacity:0;transform:scaleX(.7)scaleY(.85)}to{opacity:1;transform:scaleX(1)scaleY(1)}}.floating-menu-item:hover{transform:translateY(-1px)}.floating-menu-item:active{transition:transform .12s;transform:scale(.93)}.floating-menu-item:focus{outline:none}.floating-menu-item-icon{object-fit:contain;z-index:1;filter:drop-shadow(0 1px 3px #0000004d)brightness(.25);width:24px;height:24px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .3s,opacity .3s;position:relative}.floating-menu-item.active .floating-menu-item-icon{filter:drop-shadow(0 2px 4px #00000026)brightness();transform:scale(1.1)translateY(-1px)}.floating-menu-item:hover:not(.active) .floating-menu-item-icon{opacity:.75;transform:scale(1.12)translateY(-2px)}.floating-menu-item-label{color:#000;text-transform:none;text-align:center;white-space:normal;word-break:break-word;z-index:1;opacity:0;max-height:0;font-size:.68rem;font-weight:500;line-height:1.15;transition:color .3s,opacity .3s,max-height .3s,transform .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.floating-menu-item-label.active{color:#000000d9;opacity:1;max-height:2.6em;font-weight:600}.liquid-glass-svg-filter{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.liquid-glass-refraction{pointer-events:none;z-index:0;background:linear-gradient(#ffffff08 0%,#fff0 60%,#0000000a 100%);border-radius:0;position:absolute;inset:0}[data-theme=dark] .floating-menu-wrapper{background:#1a1a1a}[data-theme=dark] .floating-menu{background:#1a1a1a;box-shadow:0 -1px #ffffff14,0 -8px 32px #0006}[data-theme=dark] .floating-menu-item.active:before{background:#fff9}[data-theme=dark] .floating-menu-item:not(.active) .floating-menu-item-icon{filter:drop-shadow(0 1px 3px #0006)brightness(1.4)}.loader-image{width:35px;height:35px}.pwa-prompt-ios{background:var(--bg-primary);-webkit-backdrop-filter:blur(8px);width:100%;color:var(--text-primary);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);z-index:9999;box-shadow:0 -4px 30px var(--shadow-color);border-top:1px solid var(--border-color);border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0}.pwa-prompt-ios__handle-area{justify-content:center;padding:12px 0 4px;display:flex}.pwa-prompt-ios__handle{background:var(--border-color);border-radius:9999px;width:40px;height:4px}.pwa-prompt-ios__close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;transition:color .2s;position:absolute;top:16px;right:20px}.pwa-prompt-ios__close:hover{color:var(--text-primary)}.pwa-prompt-ios__title{color:var(--text-primary);margin:0;padding:8px 20px 12px;font-size:16px;font-weight:600}.pwa-prompt-ios__divider{background:var(--border-color);width:100%;height:1px}.pwa-prompt-ios__app-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;align-items:center;gap:12px;margin:12px 16px;padding:12px;display:flex}.pwa-prompt-ios__app-icon{border-radius:12px;flex-shrink:0;width:44px;height:44px}.pwa-prompt-ios__app-name{color:var(--text-primary);margin:0;font-size:16px;font-weight:600;line-height:1.2}.pwa-prompt-ios__app-subtitle{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.4}.pwa-prompt-ios__steps{flex-direction:column;margin:4px 16px 0;display:flex}.pwa-prompt-ios__step-row{align-items:flex-start;gap:12px;display:flex}.pwa-prompt-ios__icon-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.pwa-prompt-ios__icon-circle{border-radius:9999px;justify-content:center;align-items:center;padding:8px;display:flex}.pwa-prompt-ios__step-row:first-child .pwa-prompt-ios__icon-circle{background:#f6b2ad33}.pwa-prompt-ios__step-row:first-child .pwa-prompt-ios__icon-circle svg{fill:#f6b2ad}.pwa-prompt-ios__step-row:nth-child(2) .pwa-prompt-ios__icon-circle{background:#fcc36033}.pwa-prompt-ios__step-row:nth-child(2) .pwa-prompt-ios__icon-circle svg{fill:none;stroke:#fcc360}.pwa-prompt-ios__step-row:nth-child(3) .pwa-prompt-ios__icon-circle{background:#5bb4b133}.pwa-prompt-ios__step-row:nth-child(3) .pwa-prompt-ios__icon-circle svg{fill:none;stroke:#5bb4b1}.pwa-prompt-ios__icon-line{background:var(--border-color);flex:1;width:1px;min-height:16px;margin:4px 0}.pwa-prompt-ios__step-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:500}.pwa-prompt-ios__step-desc{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.4}.pwa-prompt-ios__spacer{height:16px}.pwa-prompt-android{background:var(--bg-primary);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 30px var(--shadow-color);border:1px solid var(--border-color);z-index:9999;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:fixed;bottom:20px;left:12px;right:12px}.pwa-prompt-android__info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.pwa-prompt-android__icon{background:#fff;border-radius:12px;flex-shrink:0;align-content:center;align-items:center;width:50px;height:50px}.pwa-prompt-android__text{color:var(--text-primary);margin:0;font-size:14px;line-height:1.4}.pwa-prompt-android__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.pwa-prompt-android__install-btn{color:#fff;cursor:pointer;background:#5bb4b1;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s,transform .15s}.pwa-prompt-android__install-btn:hover{background:#4aa3a0}.pwa-prompt-android__install-btn:active{transform:scale(.95)}.pwa-prompt-android__dismiss-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:16px;line-height:1;transition:color .2s}.pwa-prompt-android__dismiss-btn:hover{color:var(--text-primary)}
