@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp 1s cubic-bezier(.16,1,.3,1) forwards}.animation-delay-600{animation-delay:.6s}.animation-delay-700{animation-delay:.7s}.animation-delay-800{animation-delay:.8s}.animation-delay-900{animation-delay:.9s}.animation-fill-forwards{animation-fill-mode:forwards}#landing-content h2[id]{scroll-margin-top:8rem}.ui-landing-page{--landing-page-bg: 246 249 254;--landing-ease-flow: cubic-bezier(.37, 0, .63, 1);background:rgb(var(--landing-page-bg))}html:has(.ui-landing-page){scrollbar-color:rgb(var(--ui-muted-rgb) / .48) transparent;scrollbar-width:thin}html:has(.ui-landing-page)::-webkit-scrollbar{width:6px}html:has(.ui-landing-page)::-webkit-scrollbar-track{background:transparent}html:has(.ui-landing-page)::-webkit-scrollbar-thumb{border-radius:999px;background:rgb(var(--ui-muted-rgb) / .48)}html:has(.ui-landing-page)::-webkit-scrollbar-thumb:hover{background:rgb(var(--ui-muted-rgb) / .72)}:root[data-theme=dark] .ui-landing-page{--landing-page-bg: 23 29 39}.landing-hero-stage{isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#fafcff,#f4f8fe 65%,#edf4fd);--ui-ink-rgb: 20 35 61;--ui-secondary-rgb: 80 101 125;--ui-muted-rgb: 99 118 141;--ui-border-rgb: 202 216 233;--ui-panel-rgb: 255 255 255;--ui-subtle-rgb: 235 242 250;--ui-selected-rgb: 224 236 248;--ui-accent-rgb: 66 118 155;--ui-accent-hover-rgb: 49 88 119;--ui-on-accent-rgb: 255 255 255}:root[data-theme=dark] .landing-hero-stage{background:linear-gradient(118deg,#0d1623,#111e30 55%,#14243a);--ui-ink-rgb: 239 245 250;--ui-secondary-rgb: 190 205 218;--ui-muted-rgb: 164 184 201;--ui-border-rgb: 73 94 113;--ui-panel-rgb: 28 37 50;--ui-subtle-rgb: 34 45 59;--ui-selected-rgb: 45 59 75;--ui-accent-rgb: 143 187 216;--ui-accent-hover-rgb: 174 207 228;--ui-on-accent-rgb: 18 39 54}.landing-hero-stage:before{content:none}.landing-hero-stage:after{content:none}.landing-atmosphere{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;--landing-light-blue: 74 139 222;--landing-light-cyan: 78 177 192;--landing-light-opacity: .23}:root[data-theme=dark] .landing-atmosphere{--landing-light-blue: 55 125 231;--landing-light-cyan: 73 160 185;--landing-light-opacity: .29}.landing-atmosphere-light{position:absolute;width:105%;height:95%;opacity:var(--landing-light-opacity);animation-play-state:paused}.landing-atmosphere-light-primary{top:-18%;right:-20%;background:radial-gradient(ellipse at center,rgb(var(--landing-light-blue) / .9),rgb(var(--landing-light-blue) / .35) 35%,transparent 68%);animation:landing-light-drift 14s var(--landing-ease-flow) infinite alternate;animation-delay:-5s;animation-play-state:paused}.landing-atmosphere-light-secondary{bottom:-32%;left:-22%;background:radial-gradient(ellipse at center,rgb(var(--landing-light-cyan) / .8),rgb(var(--landing-light-cyan) / .25) 38%,transparent 68%);animation:landing-light-counterflow 18s var(--landing-ease-flow) infinite alternate;animation-delay:-11s;animation-play-state:paused}.landing-atmosphere[data-running=true] .landing-atmosphere-light{animation-play-state:running}@keyframes landing-light-drift{0%{transform:translate3d(-22%,-10%,0) rotate(-16deg) scale(1.04,.88)}to{transform:translate3d(14%,18%,0) rotate(12deg) scale(1.12,1.06)}}@keyframes landing-light-counterflow{0%{transform:translate3d(24%,-16%,0) rotate(18deg) scale(1.08,.9)}to{transform:translate3d(-12%,8%,0) rotate(-14deg) scale(.96,1.12)}}@media (prefers-reduced-motion: reduce){.landing-atmosphere .landing-atmosphere-light{animation:none}}.landing-demo-spotlight{position:relative;isolation:isolate}.landing-demo-spotlight:before{content:"";position:absolute;z-index:-1;top:-42%;right:-32%;bottom:-42%;left:-32%;background:radial-gradient(ellipse at 54% 54%,rgb(92 160 241 / .25),rgb(115 177 247 / .12) 36%,rgb(139 192 250 / .035) 58%,transparent 74%);pointer-events:none}:root[data-theme=dark] .landing-demo-spotlight:before{background:radial-gradient(ellipse at 54% 54%,rgb(49 130 241 / .36),rgb(51 121 219 / .18) 36%,rgb(47 107 193 / .045) 58%,transparent 74%)}.landing-hero-shell{padding:clamp(2rem,4.4vw,4rem)}.landing-hero-content{position:relative;z-index:1}.landing-hero-stage .hero-drill{--ui-ink-rgb: 239 245 250;--ui-secondary-rgb: 190 205 218;--ui-muted-rgb: 164 184 201;--ui-border-rgb: 73 94 113;--ui-panel-rgb: 28 37 50;--ui-subtle-rgb: 34 45 59;--ui-selected-rgb: 45 59 75;--ui-accent-rgb: 143 187 216;--ui-accent-hover-rgb: 174 207 228;--ui-on-accent-rgb: 18 39 54;border-color:#7591a67a;box-shadow:0 1px #ffffff14 inset,0 28px 70px -28px #020912e0}.landing-product-frame{box-shadow:0 1px #ffffff0a inset,0 22px 65px -34px #000000e6}.landing-product-frame img{color-scheme:dark}#landing-content a,#landing-content button,[data-public-header-mode=landing] a,[data-public-header-mode=landing] button{-webkit-tap-highlight-color:rgba(60,131,245,.18)}@media (prefers-reduced-motion: reduce){.animate-fade-in-up{animation:none;opacity:1}}@media (max-width: 767px){.landing-hero-shell{padding:28px 18px 18px}}:root:not([data-theme=dark]) .landing-hero-content>div:first-child>p{color:rgb(var(--ui-secondary-rgb))}:root:not([data-theme=dark]) .landing-hero-stage .hero-drill{border-color:#435a758c;box-shadow:0 1px #ffffff14 inset,0 24px 64px -24px #254d7c66}:root:not([data-theme=dark]) .landing-product-frame{box-shadow:0 1px #fff9 inset,0 22px 65px -34px #304e744d}:root:not([data-theme=dark]) .landing-hero-stage .hero-drill .pattern-badge{background:#e9f0f6;color:#506072}.landing-hero-testimonial{gap:8px;margin:24px 0 0;padding:14px 20px;text-align:left}:root:not([data-theme=dark]) .landing-hero-testimonial{border-color:#d4e0f0}.landing-hero-testimonial p{margin:0;color:rgb(var(--ui-secondary-rgb));font-size:14px;line-height:1.7;text-wrap:pretty}.landing-hero-testimonial strong{color:rgb(var(--ui-ink-rgb));font-weight:600}@media (max-width: 767px){.landing-hero-testimonial{padding:12px 16px}.landing-hero-testimonial p{font-size:13px;line-height:1.65;text-align:justify;-moz-text-align-last:left;text-align-last:left;text-wrap:wrap}}.hero-drill{container:hero-drill / inline-size;position:relative;overflow:hidden;min-width:0;border:1px solid rgb(var(--ui-border-rgb));border-radius:13px;background:rgb(var(--ui-panel-rgb));box-shadow:0 3px 7px #19273a12,0 20px 48px -22px #19273a4d;color:rgb(var(--ui-ink-rgb))}.hero-drill-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:82px;padding:17px 18px 15px;border-bottom:1px solid rgb(var(--ui-border-rgb));background:rgb(var(--ui-panel-rgb))}.hero-drill-title h2{margin:0;color:rgb(var(--ui-ink-rgb));font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.025em}.hero-drill-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.hero-drill-badges .practice-badge{border-radius:5px;font-size:10px;line-height:14px;padding:4px 7px}.hero-playback{position:absolute;left:10px;bottom:10px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgb(var(--ui-border-rgb)/.7);border-radius:7px;background:rgb(var(--ui-panel-rgb)/.72);color:rgb(var(--ui-secondary-rgb));opacity:.62;box-shadow:0 2px 8px #09101a29;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.hero-playback:hover{border-color:rgb(var(--ui-accent-rgb)/.45);background:rgb(var(--ui-selected-rgb)/.94);color:rgb(var(--ui-ink-rgb));opacity:1}.hero-playback:focus-visible{outline:2px solid rgb(var(--ui-accent-rgb));outline-offset:2px;opacity:1}.hero-drill-workspace{display:flex;flex-direction:column;min-width:0}.hero-code-wrap{position:relative;min-width:0;min-height:238px;overflow-x:auto;padding-bottom:52px;border-bottom:1px solid #354253;background:#1d2532}.hero-code-area{min-width:-moz-max-content;min-width:max-content;padding:16px 16px 18px 0;color:#d4d4d4;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:400;line-height:20px;white-space:pre}.hero-code-line{display:flex;align-items:center;height:20px}.hero-line-number{width:38px;padding-right:11px;flex:0 0 auto;color:#94a3b859;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-code-content{display:block;white-space:pre}.hero-code-context{padding:0 3px}.hero-blank{display:inline-flex;align-items:center;height:18px;box-sizing:content-box;overflow:hidden;padding:0 3px;border:1px solid rgb(126 172 206/.22);border-radius:4px;background:#7eacce0f;vertical-align:middle;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.hero-blank-active{border-color:#7eacceeb;background:#7eacce21;box-shadow:0 0 0 1px #7eacce24 inset}.hero-blank-correct{border-color:#a4d4c26b;background:#a4d4c217}.hero-caret{width:1.5px;height:13px;flex:0 0 auto;background:#9fc4dd;animation:hero-caret-blink 1.06s step-end infinite}.hero-guidance{display:flex;min-width:0;min-height:210px;flex-direction:column;background:rgb(var(--ui-panel-rgb))}.hero-guidance-body{display:grid;align-content:start}.hero-guidance-panel{grid-area:1 / 1;min-width:0;visibility:hidden}.hero-guidance-panel.is-current{visibility:visible}.hero-feedback-slot{display:grid;align-items:start}.hero-feedback-slot>.hero-success{grid-area:1 / 1;min-width:0}.hero-feedback-slot>[aria-hidden=true]{visibility:hidden}.hero-guidance-body{flex:1;min-height:0;padding:18px}.hero-step{display:block;margin-bottom:7px;color:rgb(var(--ui-muted-rgb));font-size:9.5px;line-height:14px}.hero-guidance h3{margin:0;color:rgb(var(--ui-ink-rgb));font-size:14px;font-weight:600;letter-spacing:-.015em;line-height:1.4}.hero-preview-copy,.hero-success p{color:rgb(var(--ui-muted-rgb));font-size:10.5px;line-height:1.55}.hero-preview-copy{margin:12px 0 0}.hero-line-card{margin-top:14px;padding:10px 11px;border:1px solid rgb(var(--ui-border-rgb));border-radius:8px;background:rgb(var(--ui-subtle-rgb))}.hero-line-card>span{color:rgb(var(--ui-accent-rgb));font-size:9.5px;line-height:14px}.hero-line-card p{margin:4px 0 0;color:rgb(var(--ui-secondary-rgb));font-size:10.5px;font-weight:500;line-height:1.45}.hero-success{margin-top:16px;padding-bottom:4px}.hero-success strong{display:inline-flex;align-items:center;gap:5px;color:var(--course-positive);font-size:10.5px;font-weight:650;line-height:16px}.hero-success h4{margin:12px 0 0;color:rgb(var(--ui-ink-rgb));font-size:10.5px;font-weight:600;line-height:16px}.hero-success p{margin:7px 0 0}.hero-success-complete p{margin-top:7px}.hero-schedule-toast-wrap{position:absolute;right:14px;bottom:16px;z-index:4;width:min(220px,calc(41% - 20px));pointer-events:none}.hero-schedule-toast{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--course-positive) 28%,rgb(var(--ui-border-rgb)));border-radius:9px;background:color-mix(in srgb,rgb(var(--ui-panel-rgb)) 95%,var(--course-positive) 5%);box-shadow:0 3px 8px #09101a1f,0 18px 36px -22px #09101a7a;animation:hero-schedule-arrive .2s cubic-bezier(.23,1,.32,1) both}.hero-schedule-icon{display:grid;width:29px;height:29px;flex:0 0 auto;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--course-positive) 12%,transparent);color:var(--course-positive)}.hero-schedule-icon svg{width:15px;height:15px;stroke-width:2}.hero-schedule-copy{display:grid;min-width:0;gap:1px}.hero-schedule-copy strong{color:rgb(var(--ui-ink-rgb));font-size:11px;font-weight:650;line-height:16px}.hero-schedule-copy>span{color:rgb(var(--ui-secondary-rgb));font-size:9.5px;font-weight:500;line-height:14px;white-space:nowrap}@keyframes hero-caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes hero-schedule-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@container hero-drill (min-width:600px){.hero-drill-workspace{display:grid;grid-template-columns:minmax(360px,1.18fr) minmax(205px,.82fr);min-height:372px}.hero-code-wrap{min-height:0;border-bottom:0;border-right:1px solid #354253}.hero-guidance{min-height:0}}@container hero-drill (max-width:599px){.hero-drill-header{min-height:74px;padding:14px}.hero-guidance-body{padding:16px 14px}.hero-line-card{padding:9px 10px}}@container hero-drill (max-width:360px){.hero-code-area{padding-top:13px;padding-right:12px;font-size:10.5px}.hero-line-number{width:30px;padding-right:8px}}@media (max-width:767px){.hero-code-area{padding-top:13px;padding-right:14px;font-size:11px}.hero-line-number{width:30px;padding-right:8px}.hero-blank{padding:0 2px}}@media (max-width:430px){.hero-code-area{font-size:10.5px}}@media (pointer:coarse){.hero-playback{width:44px;height:44px}.hero-code-wrap{padding-bottom:62px}}@media (prefers-reduced-motion:reduce){.hero-caret{animation:none}.hero-blank,.hero-playback{transition-duration:.01ms}.hero-schedule-toast{animation:hero-schedule-fade .16s ease-out both}}@keyframes hero-schedule-fade{0%{opacity:0}to{opacity:1}}.hero-drill[data-playing=false] .hero-caret,.hero-drill[data-playing=false] .hero-schedule-toast{animation-play-state:paused}.hero-guidance-body{padding-bottom:72px}.hero-status-toast.app-toast{position:absolute;left:50%;bottom:16px;z-index:4;width:-moz-max-content;width:max-content;max-width:calc(100% - 32px);min-height:36px;padding:7px 11px!important;transform:translate(-50%);pointer-events:none;animation:hero-schedule-fade .16s ease-out both}.hero-status-toast .app-toast-content{gap:8px}.hero-status-toast .app-toast-icon{width:22px;height:22px;flex-basis:22px}.hero-status-toast .app-toast-copy strong{font-size:11px;line-height:16px}.hero-status-toast .app-toast-copy>span{font-size:10px;line-height:14px}.hero-status-toast .app-toast-message{margin:0}.hero-drill .teaching-heading{gap:6px}.hero-drill .teaching-heading>svg{width:12px;height:12px;top:2px}.hero-drill .drill-progress{min-height:40px;padding:10px 18px;gap:9px}.hero-drill .drill-progress-label{font-size:9.5px;line-height:16px}.hero-drill .drill-progress .ad-progress{height:4px;min-height:4px}@container hero-drill (max-width:599px){.hero-drill .drill-progress{padding-inline:14px}}
