:root{--s1:#131313;--s2:#1c1c1c;--s3:#242424;--s4:#2c2c2c;--white:#fff;--text-muted:#909090;--text-dim:#505050;--on-surface:#e5e2e1;--primary:#f1c3c8;--primary-container:#d4a8ad;--accent:#ca397f;--accent-end:#e8527a;--accent-dark:#a87880;--accent-bright:#edd5d8;--accent-bg:#ca397f14;--logo-primary:#f0edfe;--logo-accent:#a01d5e;--border:#ffffff12;--border-light:#ffffff1f;--font:var(--font-inter), sans-serif;--max-w:1140px;--pad:48px;--sp-xs:4px;--sp-sm:8px;--sp-sm-plus:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--sp-3xl:64px;--sp-4xl:96px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:100px}[data-theme=light]{--s1:#fff;--s2:#f5f5f7;--s3:#ebebef;--s4:#e0e0e5;--white:#1a1a1a;--text-muted:#5a5a6e;--text-dim:#9a9ab0;--on-surface:#2c2c3a;--accent:#ca397f;--accent-end:#e8527a;--accent-dark:#8a5a70;--accent-bright:#c4a0a8;--accent-bg:#ca397f14;--logo-primary:#0a0a30;--logo-accent:#a01d5e;--border:#00000014;--border-light:#0000001f}[data-theme=light] .nav{background:#fffffff5}[data-theme=light] .nav-mobile{background:#fffffffa}[data-theme=light] .glass-card{background:#ffffffb3}[data-theme=light] .check-icon-inner{background:#f0f0f0}[data-theme=light] .feedback-card-inner{background:#e8e6ec}[data-theme=light] .feedback-nav-btn{color:#1a1a1a;background:#f0f0f0f2;border-color:#0000001a}[data-theme=light] .rm-node{background:var(--s2)}[data-theme=light] .rm-card{background:#f0f0f5a6;border-color:#0000000f}[data-theme=light] .rmf-epic-num{background:#f5f5f7}[data-theme=light] .rmf-sprint-card{background:#00000005;border-color:#00000012}[data-theme=light] .rmf-icon-inner{background:#f0f0f0}[data-theme=light] .rmf-compare-card{background:#00000005;border-color:#00000012}[data-theme=light] .checkout-qr-wrap{background:#f5f5f7}[data-theme=light] .nav-cta{color:#ca397f;border-color:#ca397f}[data-theme=light] .btn-primary{color:#fff;background:#ca397f}[data-theme=light] .btn-primary:hover,[data-theme=light] .btn-primary:focus,[data-theme=light] .btn-primary:active{color:#fff}[data-theme=light] .stat-value{color:#ca397f}[data-theme=light] .accent-gradient{background:linear-gradient(90deg,#ca397f,#e8527a);-webkit-text-fill-color:transparent;-webkit-background-clip:text}[data-theme=light] .divider-accent{background:linear-gradient(90deg,#ca397f,#e8527a)}[data-theme=light] .nav-hamburger span{background:#1a1a1a}[data-theme=light] .site-bg-orbs{display:none}[data-theme=light] .section-accent{background:var(--s1);position:relative;overflow:hidden}[data-theme=light] .section-accent:before{content:"";background:var(--accent);filter:blur(100px);opacity:.14;pointer-events:none;border-radius:50%;width:480px;height:480px;position:absolute;top:-120px;right:-120px}[data-theme=light] .section-accent--bl:before{inset:auto auto -120px -120px}@media (max-width:768px){[data-theme=light] .section-accent:before{filter:blur(60px);opacity:.1;width:260px;height:260px}}[data-theme=light] .glass-card{background:#fff;box-shadow:0 2px 12px #0000000d}[data-theme=light] .card{border-color:var(--border);background:#fff;box-shadow:0 1px 8px #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}button,input,textarea{font:inherit}html{scroll-behavior:smooth;overflow-x:clip}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}body{background:var(--s1);font-family:var(--font);color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:clip}:root{--reveal-dist:28px;--stagger-dist:22px}@media (max-width:768px){:root{--reveal-dist:14px;--stagger-dist:14px}}.reveal-up{opacity:0;transform:translateY(calc(var(--ry-sign,1) * var(--reveal-dist)));transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal-up.revealed{opacity:1;transform:translateY(0)}.stagger-item{opacity:0;transform:translateY(calc(var(--ry-sign,1) * var(--stagger-dist)));transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}.stagger-item.revealed{opacity:1;transform:translateY(0)}.no-js .reveal-up,.no-js .stagger-item{opacity:1!important;transition:none!important;transform:none!important}.wrap{max-width:var(--max-w);padding:0 var(--pad);margin:0 auto}.section{padding:var(--sp-4xl) 0}.bg-1{background:#131313e0}.bg-2{background:#1c1c1ce0}[data-theme=light] .bg-1{background:#ffffffe0}[data-theme=light] .bg-2{background:#f5f5f7e0}.section-border{border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}.site-bg-orbs{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.site-bg-orbs:before,.site-bg-orbs:after{content:"";filter:blur(100px);opacity:.15;border-radius:50%;width:600px;height:600px;animation:20s cubic-bezier(.4,0,.2,1) infinite alternate floatOrb;position:absolute}.site-bg-orbs:before{background:var(--accent);top:10%;left:-10%}.site-bg-orbs:after{background:var(--accent-end);animation-delay:-10s;bottom:10%;right:-10%}@keyframes floatOrb{0%{transform:translate(0)scale(1)}50%{transform:translate(100px,50px)scale(1.1)}to{transform:translate(-50px,150px)scale(.9)}}@media (max-width:768px){.site-bg-orbs:before,.site-bg-orbs:after{filter:blur(60px);width:320px;height:320px;animation:none}}.display{letter-spacing:-.03em;color:var(--white);font-size:56px;font-weight:800;line-height:1.04}.headline-lg{letter-spacing:-.025em;color:var(--white);font-size:44px;font-weight:800;line-height:1.06}.headline-md{letter-spacing:-.02em;color:var(--white);font-size:32px;font-weight:800;line-height:1.15}.headline-sm{letter-spacing:-.01em;color:var(--white);font-size:20px;font-weight:700;line-height:1.3}.body-md{color:var(--text-muted);font-size:17px;font-weight:400;line-height:1.78}.body-sm{color:var(--text-muted);font-size:14px;font-weight:400;line-height:1.6}.label{letter-spacing:.12em;color:var(--white);text-transform:uppercase;font-size:11px;font-weight:600}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--white);font-size:11px;font-weight:700}.link-cta{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:4px;font-size:12px;font-weight:700;display:inline-flex}.text-accent{color:var(--accent)}.accent-gradient{background:linear-gradient(90deg,#ca397f,#e8527a);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.text-white{color:var(--white)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.font-bold{font-weight:700}.home-hero-wrap{max-width:1200px}.home-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(480px,.98fr);align-items:start;gap:clamp(48px,6vw,80px);min-height:510px;display:grid}.home-hero-copy{text-align:left;align-self:start;max-width:580px;padding-top:0}.home-hero-title{margin-bottom:24px;line-height:1.15}.home-hero-subtitle{max-width:560px;margin-bottom:32px}.home-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.home-hero .stats-bar{margin-top:30px}.hero-sql-stage{overflow-anchor:none;justify-self:end;width:100%;max-width:540px}.hero-sql-demo{--terminal-cycle:5.5s;text-align:left;color:#e3d9df;background:#151216;border:1px solid #ca397f47;border-radius:18px;justify-self:end;width:100%;max-width:540px;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;overflow:hidden;box-shadow:0 28px 70px #0000004d,0 0 60px #ca397f17}.hero-sql-titlebar{color:#a88798;letter-spacing:.02em;background:#1e181d;border-bottom:1px solid #ca397f38;grid-template-columns:92px 1fr 92px;align-items:center;min-height:52px;padding:0 20px;font-size:12px;display:grid}.hero-sql-dots{gap:8px;display:flex}.hero-sql-dots span{border-radius:50%;width:10px;height:10px}.hero-sql-dots span:first-child{background:#ca397f}.hero-sql-dots span:nth-child(2){background:#e8527a}.hero-sql-dots span:nth-child(3){background:#f1c3c8}.hero-sql-filename{text-align:center}.hero-sql-live{color:#e8527a;letter-spacing:.12em;justify-self:end;font-size:10px}.hero-sql-live i{background:#e8527a;border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.4s ease-in-out infinite heroSqlPulse;display:inline-block;box-shadow:0 0 10px #e8527acc}.hero-sql-editor{max-height:78px;animation:heroSqlEditorGrow var(--terminal-cycle) cubic-bezier(.4, 0, .2, 1) infinite;background-image:linear-gradient(#ca397f0e 1px,#0000 1px);background-size:100% 28px;padding:20px 24px;font-size:clamp(11px,1.05vw,13px);line-height:1.7;overflow:hidden}.hero-sql-comment{color:#876f7d;white-space:nowrap;margin-bottom:6px;font-style:italic}.hero-sql-editor code{font:inherit;display:block}.hero-sql-code-line{opacity:0;clip-path:inset(0 100% 0 0);white-space:nowrap;width:max-content;max-width:100%;animation:heroSqlType var(--terminal-cycle) linear infinite;animation-delay:calc(var(--line-index) * .1s);display:block}.sql-keyword{color:#ed78a8}.sql-function{color:#f1c3c8}.sql-string{color:#e7a8bc}.hero-sql-caret{vertical-align:-.18em;background:#e8527a;width:7px;height:1.15em;margin-left:3px;animation:.8s step-end infinite heroSqlCaret;display:inline-block}.hero-sql-progress{background:#2a1b24;height:3px;overflow:hidden}.hero-sql-progress span{width:100%;height:100%;animation:heroSqlProgress var(--terminal-cycle) ease-in-out infinite;background:linear-gradient(90deg,#ca397f,#e8527a,#f1c3c8);display:block;transform:translate(-100%)}.hero-sql-results{max-height:0;animation:heroSqlResultsGrow var(--terminal-cycle) cubic-bezier(.4, 0, .2, 1) infinite;padding:0 24px;overflow:hidden}.hero-sql-success{color:#ed78a8;opacity:0;animation:heroSqlResult var(--terminal-cycle) ease infinite;margin-bottom:14px;font-size:clamp(11px,1.3vw,14px)}.hero-sql-success span{background:#e8527a;border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #e8527aa6}.hero-sql-table{font-size:clamp(11px,1.3vw,14px)}.hero-sql-row{grid-template-columns:minmax(180px,1fr) minmax(80px,.8fr);gap:20px;padding:5px 0;display:grid}.hero-sql-head{color:#947887;opacity:0;animation:heroSqlResult var(--terminal-cycle) ease infinite;border-bottom:1px solid #ca397f2e}.hero-sql-data-row{opacity:0;animation:heroSqlRow var(--terminal-cycle) ease infinite;animation-delay:calc(var(--row-index) * .16s);transform:translateY(5px)}.hero-sql-data-row span:last-child{color:#ed78a8}@keyframes heroSqlType{0%,4%{opacity:0;clip-path:inset(0 100% 0 0)}7%,86%{opacity:1;clip-path:inset(0)}94%,to{opacity:0;clip-path:inset(0)}}@keyframes heroSqlEditorGrow{0%,3%{max-height:78px}7%{max-height:100px}10%{max-height:122px}13%{max-height:144px}16%{max-height:166px}19%{max-height:188px}22%{max-height:210px}25%,84%{max-height:256px}93%,to{max-height:78px}}@keyframes heroSqlResultsGrow{0%,31%{max-height:0;padding-top:0;padding-bottom:0}42%,84%{max-height:220px;padding-top:18px;padding-bottom:20px}93%,to{max-height:0;padding-top:0;padding-bottom:0}}@keyframes heroSqlProgress{0%,25%{transform:translate(-100%)}31%,88%{transform:translate(0)}94%,to{transform:translate(100%)}}@keyframes heroSqlResult{0%,31%{opacity:0;transform:translateY(6px)}36%,88%{opacity:1;transform:translateY(0)}94%,to{opacity:0;transform:translateY(0)}}@keyframes heroSqlRow{0%,35%{opacity:0;transform:translateY(5px)}40%,88%{opacity:1;transform:translateY(0)}94%,to{opacity:0;transform:translateY(0)}}@keyframes heroSqlCaret{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes heroSqlPulse{50%{opacity:.4;transform:scale(.8)}}@media (max-width:900px){.home-hero-grid{grid-template-columns:1fr;gap:36px;min-height:0}.home-hero-copy{text-align:center;justify-self:center;max-width:720px;padding-bottom:0}.home-hero-subtitle{max-width:680px;margin-left:auto;margin-right:auto}.home-hero-actions{justify-content:center}.hero-sql-stage{justify-self:center;max-width:600px;min-height:530px}.hero-sql-demo{justify-self:center;max-width:600px}}@media (max-width:640px){.hero-sql-demo{border-radius:14px}.hero-sql-titlebar{grid-template-columns:64px 1fr 54px;min-height:46px;padding:0 14px}.hero-sql-dots{gap:6px}.hero-sql-dots span{width:8px;height:8px}.hero-sql-live{font-size:0}.hero-sql-live i{margin:0}.hero-sql-editor{padding:18px 16px;line-height:1.7}.hero-sql-results{padding-left:16px;padding-right:16px}.hero-sql-row{grid-template-columns:minmax(130px,1fr) 80px}}@media (prefers-reduced-motion:reduce){.hero-sql-code-line,.hero-sql-progress span,.hero-sql-success,.hero-sql-head,.hero-sql-data-row{opacity:1;clip-path:none;animation:none;transform:none}.hero-sql-live i,.hero-sql-caret{animation:none}.hero-sql-editor{max-height:none;animation:none}.hero-sql-results{max-height:none;padding-top:18px;padding-bottom:20px;animation:none}}.btn-primary{align-items:center;gap:var(--sp-sm);font-family:var(--font);border-radius:var(--r-pill);color:var(--white);cursor:pointer;background:#ca397f;border:none;padding:13px 36px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,brightness .15s;display:inline-flex}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 20px #ca397f59}.btn-primary:active{transform:scale(.95)}.btn-secondary{align-items:center;gap:var(--sp-sm);font-family:var(--font);border-radius:var(--r-pill);color:var(--text-muted);border:.5px solid var(--border-light);cursor:pointer;background:0 0;padding:12px 24px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{color:var(--white);border-color:#ffffff40}.mentor-grid{grid-template-columns:160px 1fr;align-items:start;gap:28px;display:grid}.btn-secondary:active{transform:scale(.95)}.card{background:var(--s3);border:.5px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-lg);transition:transform .25s,border-color .25s}.card:hover{border-color:var(--border-light);transform:translateY(-2px)}.card-accent{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:0 var(--r-lg) var(--r-lg) 0;padding:var(--sp-lg)}.glass-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--r-lg);z-index:1;background:#19191980;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.glass-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:.3;background:linear-gradient(90deg,#ca397f,#e8527a);padding:1px;transition:opacity .4s,filter .4s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-card:hover{transform:translateY(-8px)}.glass-card:hover:before{opacity:1;filter:drop-shadow(0 0 8px #ca397f80)}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);background:#131313f5;height:52px;position:sticky;top:0}.nav-inner{max-width:var(--max-w);padding:0 var(--sp-lg);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.nav-logo{color:var(--white);letter-spacing:-.01em;font-size:16px;font-weight:800}.nav-links{align-items:center;gap:var(--sp-lg);display:flex}.lang-switch{display:flex;position:relative}.lang-switch-trigger{border:1px solid var(--border-light);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.lang-switch-trigger svg{width:18px;height:18px}.lang-switch-trigger:hover,.lang-switch-trigger[aria-expanded=true]{color:var(--white);border-color:var(--accent);background:var(--accent-bg)}.lang-switch-menu{z-index:110;border:1px solid var(--border-light);border-radius:var(--r-md);background:var(--s3);min-width:132px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.lang-switch-menu button{border-radius:var(--r-sm);width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:12px;font-weight:600}.lang-switch-menu button:hover,.lang-switch-menu button.active{background:var(--accent-bg);color:var(--white)}.nav-link{color:var(--text-muted);cursor:pointer;font-size:17px;font-weight:400;transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--accent)}.mobile-tab-bar{z-index:99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#131313f2;justify-content:flex-start;align-items:center;gap:8px;padding:8px 12px;display:none;position:sticky;top:52px;overflow-x:auto}.mobile-tab-bar::-webkit-scrollbar{display:none}[data-theme=light] .mobile-tab-bar{background:#fffffff2;border-bottom-color:#00000014}.mobile-tab{white-space:nowrap;justify-content:center;align-items:center;padding:6px 14px;text-decoration:none;transition:all .15s;display:flex}.mobile-tab-label{color:var(--text-dim);font-size:13px;font-weight:600;transition:color .15s}.mobile-tab.active .mobile-tab-label{color:var(--accent)}.mobile-tab-practice{border-radius:var(--r-pill);background:linear-gradient(90deg,#ca397f,#e8527a);flex:none;margin-left:2px;padding:7px 16px;box-shadow:0 3px 12px #ca397f3d}.mobile-tab-practice .mobile-tab-label{color:#fff;font-weight:750}.mobile-tab-practice:active{transform:scale(.96)}@media (max-width:768px){.mobile-tab-bar{display:flex}}.nav-cta{border-radius:var(--r-pill);color:#ca397f;cursor:pointer;background:0 0;border:1.5px solid #ca397f;align-items:center;gap:6px;padding:8px 20px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.nav-cta:hover{color:var(--white);background:linear-gradient(90deg,#ca397f,#e8527a);border-color:#0000;box-shadow:0 3px 12px #ca397f40}.nav-cta:active{transform:scale(.95)}.practice-lab-cta{color:#fff;white-space:nowrap;background:linear-gradient(90deg,#ca397f,#e8527a);border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 16px;font-size:12px;font-weight:750;line-height:1;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 5px 18px #ca397f3d}.practice-lab-cta:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 7px 22px #ca397f57}.practice-lab-cta:active{transform:scale(.97)}[data-theme=light] .practice-lab-cta{color:#fff}.nav-user-menu{align-items:center;gap:var(--sp-sm-plus);display:flex}.nav-user-info{align-items:center;gap:var(--sp-sm);display:flex}.nav-avatar{object-fit:cover;border:1.5px solid #ca397f66;border-radius:50%;width:28px;height:28px}.nav-user-name{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;font-weight:600;overflow:hidden}.nav-signout-btn{border-radius:var(--r-pill);color:var(--text-muted);border:1px solid var(--border-light);cursor:pointer;background:0 0;padding:5px 14px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.nav-signout-btn:hover{color:var(--white);background:#ffffff0a;border-color:#ffffff40}.nav-auth-loading{background:var(--s3);border-radius:50%;width:28px;height:28px;animation:1.2s ease-in-out infinite auth-pulse}@keyframes auth-pulse{0%,to{opacity:.4}50%{opacity:.8}}.divider-accent{background:linear-gradient(90deg,#ca397f,#e8527a);border-radius:2px;width:36px;height:3px}.check-icon{background:linear-gradient(135deg,#ca397f,#e8527a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:1.5px;display:flex}.check-icon-inner{background:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.check-icon svg{width:12px;height:12px;stroke:var(--white);stroke-width:3px;fill:none}.stats-bar{border:.5px solid var(--border);border-radius:14px;display:flex;overflow:hidden}.stat-item{padding:18px var(--sp-lg);border-right:.5px solid var(--border);flex:1}.stat-item:last-child{border-right:none}.stat-value{color:var(--accent);margin-bottom:4px;font-size:24px;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:12px}.grid-2{gap:var(--sp-md);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-md);grid-template-columns:1fr 1fr 1fr;display:grid}.grid-12-5-7{gap:var(--sp-2xl);grid-template-columns:5fr 7fr;align-items:center;display:grid}.grid-35-65{gap:var(--sp-2xl);grid-template-columns:35fr 65fr;display:grid}.pain-card{border:1px solid var(--border-light);transition:border-color .3s,transform .4s cubic-bezier(.175,.885,.32,1.275)}.pain-card:before{content:none}.pain-card:hover,.pain-card:focus-within{border-color:var(--accent)}.pain-detail{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid;overflow:hidden}.pain-detail.open{grid-template-rows:1fr}.pain-detail>p{min-height:0}.method-step{gap:16px;display:flex}.method-step-marker{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.method-step-num{border:1.5px solid var(--accent);width:32px;height:32px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.method-step-line{background:#ca397f40;flex:1;width:1px;min-height:24px;margin:4px 0}.method-step-body{padding-bottom:28px}.method-step:last-child .method-step-body{padding-bottom:0}.method-step-badge{background:var(--accent-bg);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid #ca397f33;border-radius:8px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.ecosystem-heading,.practice-showcase-heading{text-align:center;max-width:720px;margin:0 auto 44px}.ecosystem-heading .eyebrow,.practice-showcase-heading .eyebrow{margin-bottom:12px;display:inline-block}.ecosystem-heading .body-md,.practice-showcase-heading .body-md{max-width:650px;margin:14px auto 0}.ecosystem-journey{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:stretch;display:grid}.ecosystem-pillar{border:1px solid var(--border-light);flex-direction:column;gap:22px;padding:32px;display:flex}.ecosystem-pillar-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.ecosystem-pillar-number{font-family:var(--font-mono);color:var(--white);font-size:36px;font-weight:700;line-height:1}.ecosystem-pillar-desc{margin-top:8px}.ecosystem-tags{flex-wrap:wrap;gap:8px;display:flex}.ecosystem-tags span{background:var(--accent-bg);color:var(--accent);border:1px solid #ca397f38;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.ecosystem-benefits{flex-direction:column;gap:13px;display:flex}.ecosystem-benefits li{align-items:flex-start;gap:10px;display:flex}.ecosystem-benefits li>span:first-child{margin-top:3px}.ecosystem-benefits strong{color:var(--white)}.ecosystem-benefits .check-icon,.practice-product-copy .check-icon{background:0 0;border-radius:0;width:16px;height:16px;padding:0}.ecosystem-benefits .check-icon-inner,.practice-product-copy .check-icon-inner,[data-theme=light] .ecosystem-benefits .check-icon-inner,[data-theme=light] .practice-product-copy .check-icon-inner{box-shadow:none;background:0 0;border-radius:0}.ecosystem-benefits .check-icon svg,.practice-product-copy .check-icon svg{width:14px;height:14px;stroke:var(--accent);stroke-width:2.25px;opacity:.78}.ecosystem-pillar-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;margin-top:auto;padding-top:18px;display:flex}.ecosystem-pillar-footer--end{justify-content:flex-end}.ecosystem-guarantee{max-width:240px;color:var(--text-muted);flex-direction:column;gap:2px;font-size:11px;line-height:1.5;display:flex}.ecosystem-guarantee strong{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.ecosystem-link{color:var(--accent);flex-shrink:0;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.ecosystem-link span{transition:transform .2s}.ecosystem-link:hover span{transform:translate(3px)}.ecosystem-journey-arrow{color:var(--accent);place-self:center;font-size:22px}.insight-banner{border:1px solid var(--border);background:color-mix(in srgb, var(--s3) 68%, transparent);border-radius:14px;grid-template-columns:minmax(240px,1fr) auto minmax(320px,.8fr);align-items:center;gap:28px;margin-top:24px;padding:22px 24px;display:grid}.insight-banner-copy .eyebrow{opacity:.75;margin-bottom:5px;font-size:9px;display:inline-block}.insight-banner-copy h3{color:var(--white);font-size:16px;line-height:1.35}.insight-banner-copy p{margin-top:4px}.insight-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid;position:relative}.insight-form .btn-primary{white-space:nowrap;min-height:42px;padding:10px 16px}.insight-form-error{color:#ff6b6b;font-size:11px;position:absolute;top:calc(100% + 4px);left:0}.practice-showcase-list{flex-direction:column;gap:24px;display:flex}.practice-product{border:1px solid var(--border-light);background:#19191980;border-radius:16px;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);min-height:380px;display:grid;overflow:hidden}.practice-product--reverse{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)}.practice-product--reverse .practice-product-media{order:2}.practice-product--reverse .practice-product-copy{order:1}.practice-product-media{background:var(--s2);min-height:380px;position:relative;overflow:hidden}.practice-product-media img{object-fit:cover;object-position:top left;transition:transform .45s}.practice-product:hover .practice-product-media img{transform:scale(1.015)}.practice-product-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:44px;display:flex}.practice-product-copy .eyebrow{margin-bottom:12px}.practice-product-copy>p{margin-top:10px}.practice-product-copy ul{flex-direction:column;gap:11px;margin:22px 0 26px;display:flex}.practice-product-copy li{color:var(--text-muted);align-items:center;gap:10px;font-size:14px;display:flex}.python-why-heading{text-align:center;max-width:760px;margin:0 auto 42px}.python-why-heading .eyebrow{margin-bottom:12px;display:inline-block}.python-why-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:32px;display:grid}.python-why-intro{flex-direction:column;justify-content:center;gap:20px;padding:8px 8px 8px 0;display:flex}.python-pain-card{padding:28px}.python-pain-card>.eyebrow{color:var(--white);margin-bottom:20px;display:block}.python-pain-card ol{flex-direction:column;gap:18px;display:flex}.python-pain-card li{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:12px;display:grid}.python-pain-card li+li{border-top:1px solid var(--border);padding-top:18px}.python-pain-number{color:var(--white);font-family:var(--font-mono);font-size:13px;font-weight:700;line-height:1.4}.python-pain-card h3{color:var(--white);font-size:15px;font-weight:700;line-height:1.45}.python-pain-card li p{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.6}.python-insight-callout{border-left:3px solid var(--accent);background:var(--accent-bg);border-radius:0 12px 12px 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin:28px 0;padding:22px 26px;display:grid}.python-insight-callout>span{color:var(--accent);font-size:22px;font-weight:700}.python-insight-callout p{color:var(--white);font-size:16px;font-weight:600;line-height:1.65}.python-analysis-flow{text-align:center;border:1px solid var(--border);background:color-mix(in srgb, var(--s3) 66%, transparent);border-radius:14px;padding:26px}.python-analysis-flow>.eyebrow{margin-bottom:18px;display:block}.python-analysis-flow>div{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.python-flow-step{align-items:center;gap:12px;display:inline-flex}.python-flow-step strong{color:var(--white);border:1px solid var(--border-light);white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:12px}.python-flow-step i{color:var(--accent);font-style:normal;font-weight:700}.python-analysis-flow>.body-sm{max-width:680px;margin:18px auto 0}.python-solution-card{text-align:center;margin-top:28px;padding:32px}.python-solution-card .eyebrow{color:var(--white);margin-bottom:16px;display:block}.python-solution-card strong{color:var(--accent)}.python-why-cta{text-align:center;margin-top:24px}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.course-card{background:var(--s3);border:.5px solid var(--border);border-radius:14px;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;overflow:hidden}.course-card:hover{border-color:var(--accent-dark);transform:translateY(-3px);box-shadow:0 8px 32px #0000004d}.course-card-img{aspect-ratio:16/9;background:var(--s2);position:relative;overflow:hidden}.course-card-body{padding:var(--sp-lg);gap:var(--sp-sm);flex-direction:column;flex:1;display:flex}.blog-item{padding:var(--sp-lg);background:var(--s3);border:.5px solid var(--border);border-radius:var(--r-lg);cursor:pointer;justify-content:space-between;align-items:center;transition:transform .2s,border-color .2s;display:flex}.blog-item:hover{border-color:var(--border-light);transform:translateY(-2px)}.footer{background:var(--logo-accent);color:#fff;padding:24px 0}.footer-top{grid-template-columns:1.3fr 1fr 1.5fr;align-items:start;gap:24px;display:grid}.footer-brand{flex-direction:column;display:flex}.footer-social{gap:10px;margin-top:14px;display:flex}.footer-social-btn{color:#fff;background:#ffffff24;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;transition:background .2s;display:inline-flex}.footer-social-btn svg{width:16px;height:16px}.footer-social-btn:hover,.footer-social-btn:focus-visible{background:#ffffff47}.footer-social-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.footer-accordion summary{cursor:pointer;list-style:none}.footer-accordion summary::-webkit-details-marker{display:none}.footer-accordion-title{color:#fff;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.footer-accordion-chevron{flex-shrink:0;width:16px;height:16px;transition:transform .2s}.footer-accordion[open] .footer-accordion-chevron{transform:rotate(180deg)}.footer-accordion .footer-list{margin-top:10px}.footer-logo{color:#fff;letter-spacing:-.02em;align-items:center;gap:8px;font-size:20px;font-weight:800;text-decoration:none;display:inline-flex}.footer-logo img{object-fit:contain;width:36px;height:36px}.footer-tagline{color:#ffffffd9;max-width:320px;margin-top:10px;font-size:14px;line-height:1.5}.footer-col-title{color:#fff;margin-bottom:10px;font-size:14px;font-weight:600}.footer-list{flex-direction:column;gap:7px;display:flex}.footer-row{color:#fff;align-items:flex-start;gap:10px;min-width:0;font-size:14px;line-height:1.5;display:flex}.footer-row>span:last-child{overflow-wrap:break-word;min-width:0}.footer-icon{color:#ffffffd9;flex-shrink:0;width:20px;height:20px;margin-top:2px}.footer-icon svg{width:100%;height:100%}.footer-link-item{color:#fff;overflow-wrap:anywhere;align-items:flex-start;gap:10px;min-width:0;font-size:14px;line-height:1.5;text-decoration:none;display:inline-flex}.footer-link-item:hover,.footer-link-item:focus-visible{text-decoration:underline}.footer-link-item:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid #fff}.footer-divider{background:#ffffff4d;height:1px;margin-top:20px}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--sp-md);flex-wrap:wrap;padding:12px 0;display:flex}.footer-copyright{opacity:.75;color:#fff;font-size:12px}.footer-legal{color:#ffffffd9;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.footer-legal .footer-link-item{font-size:13px;line-height:inherit;color:inherit}.input{background:var(--s2);border:.5px solid var(--border);border-radius:var(--r-md);width:100%;padding:10px var(--sp-md);color:var(--white);outline:none;font-size:14px;transition:border-color .2s}.input::placeholder{color:var(--text-dim)}.input:focus{border-color:#d4a8ad66}@media (max-width:1140px){:root{--pad:28px}.display{font-size:44px}.grid-12-5-7{gap:var(--sp-xl);grid-template-columns:1fr}.insight-banner{grid-template-columns:1fr auto}.insight-form{grid-column:1/-1}}@media (max-width:768px){:root{--pad:20px}.nav-links,.hidden-mobile-cta{display:none}.display{font-size:36px}.headline-lg{font-size:32px}.headline-md{font-size:26px}.grid-2,.grid-3{grid-template-columns:1fr}.grid-35-65{gap:var(--sp-xl);grid-template-columns:1fr}.method-step-marker{width:28px}.method-step-num{width:28px;height:28px;font-size:12px}.section>.wrap>div[style*=grid-template-columns]{text-align:center;grid-template-columns:1fr!important}.section{padding:var(--sp-2xl) 0}.stats-bar{flex-wrap:wrap}.stat-item{border-bottom:.5px solid var(--border);flex:45%}.stat-item:nth-child(2){border-right:none}.stat-item:nth-child(3),.stat-item:nth-child(4){border-bottom:none}.footer-inner{gap:var(--sp-md);text-align:center;flex-direction:column}.footer-links{flex-wrap:wrap;justify-content:center}.mentor-grid{grid-template-columns:1fr!important}.ecosystem-journey{grid-template-columns:1fr}.ecosystem-journey-arrow{padding:8px 0;transform:rotate(90deg)}.ecosystem-pillar{padding:24px}.ecosystem-pillar-footer{align-items:flex-start}.insight-banner{grid-template-columns:1fr;gap:18px}.insight-form{grid-column:auto}.practice-product,.practice-product--reverse{grid-template-columns:1fr;min-height:0}.practice-product--reverse .practice-product-media,.practice-product--reverse .practice-product-copy{order:initial}.practice-product-media{aspect-ratio:16/9;min-height:0}.practice-product-copy{padding:28px}.python-why-grid{grid-template-columns:1fr;gap:24px}.python-why-intro{padding:0}.python-flow-step i{transform:rotate(90deg)}.footer{padding:20px 0}.footer-top{text-align:left;grid-template-columns:1fr;gap:18px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.footer-legal{order:1}.footer-copyright{order:2}}@media (max-width:480px){.display{font-size:30px}.btn-primary,.btn-secondary{justify-content:center;width:100%}.stats-bar{border-radius:10px}.ecosystem-pillar-footer{flex-direction:column}.insight-form{grid-template-columns:1fr}.practice-product-copy,.python-pain-card,.python-solution-card{padding:24px}.python-insight-callout{padding:18px}.python-analysis-flow>div,.python-flow-step{flex-direction:column;gap:8px}}.feedback-gallery-wrap{margin-top:40px;position:relative}.feedback-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;cursor:grab;-ms-overflow-style:none;scrollbar-width:none;gap:20px;padding:8px 4px 16px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 24px calc(100% - 24px),#0000 100%)}.feedback-scroll::-webkit-scrollbar{display:none}.feedback-scroll.dragging{cursor:grabbing;scroll-snap-type:none}.feedback-card{scroll-snap-align:start;background:linear-gradient(135deg,#ca397f80,#e8527a80);border-radius:16px;flex:none;height:420px;padding:2px;transition:transform .35s,box-shadow .35s}.feedback-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #ca397f40}.feedback-card-inner{background:#f3f1f6;border-radius:14px;height:100%;padding:6px;display:flex;overflow:hidden}.feedback-card-inner img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;width:auto;height:100%;display:block}.feedback-nav-btn{color:#fff;cursor:pointer;z-index:10;background:#141414e6;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.feedback-nav-btn.prev{left:-14px}.feedback-nav-btn.next{right:-14px}@media (max-width:768px){.feedback-gallery-wrap{padding-bottom:56px}.feedback-scroll{-webkit-mask-image:none;mask-image:none}.feedback-nav-btn{width:40px;height:40px;top:auto;bottom:0;transform:none}.feedback-nav-btn.prev{left:calc(50% - 48px)}.feedback-nav-btn.next{left:calc(50% + 8px);right:auto}.feedback-card{max-width:85vw;height:360px}}@media (hover:hover){.feedback-nav-btn:hover{background:#ca397f}}.feedback-nav-btn:active{background:#ca397f}.rm{flex-direction:column;gap:0;display:flex;position:relative}.rm-step{align-items:flex-start;gap:20px;padding-bottom:32px;display:flex;position:relative}.rm-step--left{flex-direction:row}.rm-step--right{flex-direction:row-reverse}.rm-node{background:var(--s2);z-index:2;border:2.5px solid #ca397f59;border-radius:50%;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.rm-step:hover .rm-node{transform:scale(1.1)}.rm-node__num{font-size:17px;font-weight:800;font-family:var(--font)}.rm-connector{border-left:2px dashed #ca397f2e;width:2px;position:absolute;top:48px;bottom:0}.rm-step--left .rm-connector{left:23px}.rm-step--right .rm-connector{right:23px}.rm-card{background:#1c1c1ca6;border:1px solid #ffffff0f;border-radius:12px;flex:1;max-width:480px;padding:18px 22px;transition:border-color .3s,transform .3s}.rm-step:hover .rm-card{transform:translateY(-2px)}.rm-card__head{margin-bottom:10px}.rm-card__badge{letter-spacing:.14em;border-radius:var(--r-pill);text-transform:uppercase;border:1px solid;padding:4px 12px;font-size:9px;font-weight:800;display:inline-block}.rm-card__title{color:var(--white);letter-spacing:.01em;margin-bottom:6px;font-size:14px;font-weight:800;line-height:1.35}.rm-card__desc{color:var(--text-muted);font-size:13px;line-height:1.65}@media (min-width:769px){.rm-step--left{padding-right:50%}.rm-step--right{padding-left:50%}.rm-step--left .rm-connector,.rm-step--right .rm-connector{left:calc(50% - 1px);right:auto}.rm-step--left .rm-node{order:2}.rm-step--left .rm-card{text-align:right;order:1}.rm-step--left{justify-content:flex-end}.rm-step--right .rm-node{order:1}.rm-step--right .rm-card{text-align:left;order:2}.rm-step--right{flex-direction:row;justify-content:flex-start}.rm-step--left .rm-card__head{justify-content:flex-end;display:flex}}@media (max-width:768px){.rm-step--left,.rm-step--right{flex-direction:row}.rm-step--left .rm-connector,.rm-step--right .rm-connector{left:19px;right:auto}.rm-node{width:40px;min-width:40px;height:40px}.rm-node__num{font-size:14px}.rm-connector{top:40px}.rm-card{padding:14px 16px}.rm-card__title{font-size:13px}.rm-card__desc{font-size:12px}}.checkout-grid{grid-template-columns:360px 1fr;align-items:start;gap:32px;display:grid}.checkout-qr-col{position:sticky;top:80px}.checkout-qr-card{background:var(--s3);border:1px solid var(--border);border-radius:16px;padding:20px;transition:box-shadow .3s;box-shadow:0 0 40px #ca397f14}.checkout-qr-card:hover{box-shadow:0 0 60px #ca397f26}.checkout-qr-wrap{background:#fff;border-radius:12px;overflow:hidden}.checkout-info-col{flex-direction:column;display:flex}.checkout-steps{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:12px;display:grid}.checkout-step-item{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.checkout-step-num{color:#fff;background:linear-gradient(135deg,#ca397f,#e8527a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:800;display:flex}@media (max-width:768px){.checkout-grid{grid-template-columns:1fr;gap:24px}.checkout-qr-col{max-width:320px;margin:0 auto;position:static}.checkout-steps{grid-template-columns:1fr 1fr;gap:12px}}@media (max-width:480px){.checkout-steps{grid-template-columns:1fr}}.checkout-pulse{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.5s ease-in-out infinite pulse-glow;display:inline-block}@keyframes pulse-glow{0%,to{opacity:1;box-shadow:0 0 #ca397f80}50%{opacity:.6;box-shadow:0 0 0 8px #ca397f00}}.reg-grid{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.reg-back-link{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:24px;font-size:12px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.reg-back-link:hover{color:var(--accent)}.reg-form{flex-direction:column;gap:20px;display:flex}.reg-field{flex-direction:column;gap:6px;display:flex}.reg-label{color:var(--white);font-size:13px;font-weight:600}.reg-req{color:#e8527a}.reg-input{width:100%;font-size:14px;font-family:var(--font);color:var(--white);background:var(--s1);border:1.5px solid var(--border);border-radius:10px;outline:none;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.reg-input::placeholder{color:var(--text-dim)}.reg-input:focus{border-color:#ca397f;box-shadow:0 0 0 3px #ca397f26}.reg-input--err{border-color:#ff6b6b}.reg-input--err:focus{box-shadow:0 0 0 3px #ff6b6b26}.reg-err{color:#ff6b6b;font-size:12px;font-weight:500}.reg-err-box{color:#ff6b6b;text-align:center;background:#ff6b6b14;border:1px solid #ff6b6b33;border-radius:8px;padding:12px 16px;font-size:13px}.reg-summary{position:sticky;top:80px}@media (max-width:768px){.reg-grid{grid-template-columns:1fr;gap:24px}.reg-summary{order:-1;position:static}}.rmf-timeline{flex-direction:column;gap:48px;display:flex;position:relative}.rmf-timeline:before{content:"";opacity:.35;background:linear-gradient(#ca397f 0%,#e8527a 100%);width:2px;position:absolute;top:28px;bottom:28px;left:27px}.rmf-epic-row{gap:24px;display:flex;position:relative}.rmf-epic-num{border:1.5px solid var(--accent);z-index:2;background:#0e0e0e;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}.rmf-sprint-card{background:#ffffff05;border:1px solid #ffffff12;border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex}.rmf-pill{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;padding:3px 10px;font-size:10px;font-weight:700}.rmf-pill--purple,.rmf-pill--pink{color:#ca397f;background:#ca397f1f}.rmf-toggle-btn{color:#ca397f;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.rmf-toggle-btn:hover{color:#b99bff}.rmf-backlog-detail{opacity:0;max-height:0;transition:max-height .4s,opacity .4s,margin-top .4s;overflow:hidden}.rmf-backlog-expanded{opacity:1;max-height:2000px;margin-top:12px}.rmf-meta-grid{border-top:1px solid #ffffff12;grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:768px){.rmf-timeline:before{display:none}.rmf-epic-row{flex-direction:column;align-items:flex-start}.rmf-epic-num{width:44px;height:44px}.rmf-meta-grid{grid-template-columns:1fr}}.rmf-hero-stats{flex-wrap:wrap;justify-content:center;gap:48px;padding-top:32px;display:flex}.rmf-hero-stat{flex-direction:column;align-items:center;display:flex}.rmf-hero-stat__value{letter-spacing:-.02em;color:var(--accent);font-size:32px;font-weight:800;line-height:1.15}.rmf-hero-stat__label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.rmf-hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;padding-top:16px;display:flex}.rmf-faq-item{border-radius:var(--r-lg);cursor:default;padding:24px}.rmf-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.rmf-faq-item summary::-webkit-details-marker{display:none}.rmf-faq-caret{color:var(--text-muted);flex-shrink:0;font-size:20px;transition:transform .3s}.rmf-faq-item[open] .rmf-faq-caret{transform:rotate(180deg)}.rmf-faq-body{flex-direction:column;gap:16px;margin-top:24px;display:flex}.rmf-task-item{align-items:flex-start;gap:8px;display:flex}.rmf-task-box{border:1.5px solid #ca397f;border-radius:4px;flex-shrink:0;width:14px;height:14px;margin-top:3px}.rmf-icon-wrap{background:linear-gradient(135deg,#ca397f,#e8527a);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:1.5px;display:flex}.rmf-icon-inner{background:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.rmf-toggle-icon{transition:transform .3s}.rmf-toggle-icon--open{transform:rotate(180deg)}.rmf-concept-table{border-collapse:collapse;width:100%}.rmf-concept-table td,.rmf-concept-table th{vertical-align:top;text-align:left;border-bottom:1px solid #ffffff12;padding:14px 16px}.rmf-concept-table tr:last-child td{border-bottom:none}.rmf-compare-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rmf-compare-card{background:#ffffff05;border:1px solid #ffffff12;border-radius:12px;padding:20px}.rmf-compare-card--accent{border-color:#ca397f59}@media (max-width:768px){.rmf-hero-stats{gap:24px}.rmf-hero-actions{flex-direction:column;align-items:center}.rmf-compare-grid{grid-template-columns:1fr}}.theme-toggle{width:36px;height:36px;color:var(--white);border:1.5px solid var(--border-light);cursor:pointer;background:#ffffff0a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s,border-color .25s,transform .2s;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle:active{transform:scale(.9)}.theme-toggle__icon{width:18px;height:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s}.theme-toggle__sun,.theme-toggle__moon{width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.theme-toggle__sun{opacity:1;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)rotate(0)scale(1)}.theme-toggle__moon{opacity:0;transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)rotate(90deg)scale(.5)}[data-theme=light] .theme-toggle__sun{opacity:0;transform:translate(-50%,-50%)rotate(-90deg)scale(.5)}[data-theme=light] .theme-toggle__moon{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}[data-theme=light] .theme-toggle{background:#00000009}[data-theme=light] .theme-toggle:hover{background:var(--accent-bg)}.lab-loading{min-height:50vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:15px;display:flex}.lab-loading-spinner{border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite lab-spin}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-progress-bar{background:var(--s3);border-radius:3px;width:280px;height:6px;overflow:hidden}.lab-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-end));border-radius:3px;height:100%;transition:width .3s}.lab-progress-label{color:var(--text-dim);font-family:monospace;font-size:12px}.lab-error-page{color:#ff6b6b;text-align:center;padding:3rem}.lab-page{max-width:1100px;margin:0 auto;padding:0 24px 80px}.lab-hero{text-align:center;padding:48px 0 40px}.lab-hero-inner{max-width:720px;margin:0 auto}.lab-hero-title{background:linear-gradient(135deg, var(--accent), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-size:32px;font-weight:800;line-height:1.3}.lab-hero-desc{color:var(--text-muted);margin:0 0 20px;font-size:16px;line-height:1.7}.lab-hero-desc strong{color:var(--white);font-weight:700}.lab-hero-badges{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lab-badge{background:var(--s3);color:var(--text-muted);border-radius:100px;padding:5px 14px;font-size:12px;font-weight:600}.lab-badge-green{color:#4ade80}.lab-section{margin-bottom:48px}.lab-section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:20px;display:flex}.lab-section-title{color:var(--white);margin:0;font-size:22px;font-weight:800}.lab-section-desc{color:var(--text-dim);width:100%;margin:0;font-size:14px}.lab-module-tabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.lab-module-tab{border:1px solid var(--border);background:var(--s2);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.lab-module-tab:hover{border-color:var(--accent);color:var(--white)}.lab-module-tab.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.lab-module-icon{font-size:16px}.lab-module-desc{color:var(--text-muted);background:var(--s2);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.lab-table-grid{grid-template-columns:1fr;gap:12px;display:grid}.lab-table-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;padding:16px 20px;transition:border-color .15s,box-shadow .15s}.lab-table-card:hover{border-color:var(--border-light)}.lab-table-card.expanded{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-bg)}.lab-table-card-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lab-table-card-title-row{align-items:center;gap:8px;display:flex}.lab-table-icon{opacity:.5;font-size:14px}.lab-table-code{font-family:var(--font-jetbrains), "Fira Code", monospace;color:var(--accent);background:var(--accent-bg);border-radius:4px;padding:2px 8px;font-size:14px;font-weight:700}.lab-table-vi{color:var(--white);font-size:14px;font-weight:600}.lab-table-rows{color:var(--text-dim);background:var(--s3);white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:12px}.lab-table-desc{color:var(--text-muted);margin:0 0 10px;font-size:13px;line-height:1.5}.lab-table-keycols{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.lab-keycol-label{color:var(--text-dim);text-transform:uppercase;font-size:11px;font-weight:600}.lab-keycol{background:var(--s3);color:var(--text-muted);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11px}.lab-table-expanded{border-top:1px solid var(--border);margin:12px 0;padding-top:12px}.lab-expanded-header{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:700}.lab-col-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;display:grid}.lab-col-row{border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;transition:background .1s;display:flex}.lab-col-row:hover{background:var(--s3)}.lab-col-name{color:var(--text-muted);font-family:monospace;font-size:12px}.lab-col-type{background:var(--s3);color:var(--text-dim);border-radius:3px;padding:1px 6px;font-family:monospace;font-size:10px}.lab-table-actions{gap:8px;display:flex}.lab-btn-preview,.lab-btn-structure{border:1px solid var(--border);background:var(--s3);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.lab-btn-preview:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.lab-btn-structure:hover{border-color:var(--accent);color:var(--accent)}.lab-exercise-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.lab-exercise-card{background:var(--s2);border:1px solid var(--border);border-radius:12px;transition:border-color .15s;overflow:hidden}.lab-exercise-card:hover{border-color:var(--border-light)}.lab-exercise-card.expanded{border-color:var(--accent)}.lab-exercise-header{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.lab-exercise-title-row{align-items:center;gap:10px;display:flex}.lab-exercise-diff{white-space:nowrap;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:700}.lab-exercise-title{color:var(--white);margin:0;font-size:14px;font-weight:700}.lab-exercise-arrow{color:var(--text-dim);font-size:12px}.lab-exercise-body{padding:0 18px 16px}.lab-exercise-desc{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.6}.lab-exercise-hint{color:var(--text-dim);background:var(--s3);border-radius:8px;align-items:flex-start;gap:6px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.lab-hint-icon{flex-shrink:0}.lab-btn-try{cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:700;transition:opacity .15s}.lab-btn-try:hover{opacity:.85}.lab-editor-wrap{background:var(--s2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden}.lab-editor-topbar{background:var(--s3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.lab-editor-label{color:var(--text-muted);font-size:12px;font-weight:700}.lab-editor-hint{color:var(--text-dim);background:var(--s2);border-radius:4px;padding:2px 8px;font-size:11px}.lab-editor{background:var(--s1);width:100%;min-height:120px;max-height:350px;color:var(--white);font-family:var(--font-jetbrains), "Fira Code", "Cascadia Code", monospace;resize:vertical;tab-size:4;border:none;outline:none;padding:16px;font-size:14px;line-height:1.6}.lab-editor::placeholder{color:var(--text-dim)}.lab-editor-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.lab-run-btn{background:linear-gradient(135deg, var(--accent), var(--accent-end));color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 28px;font-size:14px;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex;box-shadow:0 2px 12px #ca397f40}.lab-run-btn:hover{opacity:.9;transform:translateY(-1px)}.lab-run-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.lab-run-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite lab-spin}.lab-btn-history{border:1px solid var(--border);background:var(--s2);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.lab-btn-history:hover,.lab-btn-history.active{border-color:var(--accent);color:var(--accent)}.lab-history-panel{background:var(--s2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;max-height:200px;margin-bottom:12px;padding:8px;display:flex;overflow-y:auto}.lab-history-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;transition:background .12s;display:flex}.lab-history-item:hover{background:var(--s3)}.lab-history-q{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:monospace;font-size:12px;overflow:hidden}.lab-history-meta{color:var(--text-dim);font-size:11px}.lab-error-box{background:#ff6b6b14;border:1px solid #ff6b6b40;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.lab-error-icon{color:#ff6b6b;font-size:16px;font-weight:700}.lab-error-text{color:#ff6b6b;white-space:pre-wrap;word-break:break-word;margin:0;font-family:monospace;font-size:13px}.lab-results-wrap{border:1px solid var(--border);background:var(--s2);border-radius:12px;overflow:hidden}.lab-results-header{background:var(--s3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.lab-results-title{color:var(--white);font-size:13px;font-weight:700}.lab-results-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.lab-meta-sep{color:var(--text-dim);font-size:10px}.lab-table-scroll{max-height:50vh;overflow:auto}.lab-result-table{border-collapse:collapse;width:100%;font-size:13px}.lab-rth{z-index:2;background:var(--s3);color:var(--accent);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:10px 14px;font-family:monospace;font-size:12px;font-weight:700;position:sticky;top:0}.lab-rth-num{text-align:center;width:44px;color:var(--text-dim)}.lab-rtr{transition:background .1s}.lab-rtr:hover{background:var(--s3)}.lab-rtd{border-bottom:1px solid var(--border);color:var(--white);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:8px 14px;overflow:hidden}.lab-rtd-num{text-align:center;color:var(--text-dim);font-size:11px}.lab-null{color:var(--text-dim);font-size:11px;font-style:italic}.lab-empty-result{text-align:center;color:var(--text-dim);padding:40px;font-size:14px}@media (max-width:768px){.lab-hero-title{font-size:24px}.lab-hero-desc{font-size:14px}.lab-module-tabs{gap:4px}.lab-module-tab{padding:8px 12px;font-size:12px}.lab-exercise-grid,.lab-col-grid{grid-template-columns:1fr}.lab-page{padding:0 16px 60px}}.newsletter-form{flex:none;gap:8px;display:flex}.newsletter-form .input{width:256px}@media (max-width:768px){.newsletter-form{flex-direction:column;width:100%}.newsletter-form .input{width:100%}}.register-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.register-modal{background:#fff;border:1px solid #e2e2e2;border-radius:20px;width:100%;max-width:560px;max-height:90vh;padding:40px;animation:.3s slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.register-close{color:#999;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px;transition:color .2s,background .2s;position:absolute;top:16px;right:16px}.register-close:hover{color:#333;background:#0000000f}.register-title{font-family:var(--font-heading);color:#1a1a2e;text-align:center;margin-bottom:4px;font-size:24px;font-weight:800}.register-subtitle{color:var(--accent);text-align:center;margin-bottom:32px;font-size:14px;font-weight:600}.register-form{flex-direction:column;gap:20px;display:flex}.register-field label{color:#333;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.register-field input,.register-field textarea{width:100%;font-size:14px;font-family:var(--font-body);color:#1a1a2e;background:#f5f5f8;border:1px solid #ddd;border-radius:10px;outline:none;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.register-field input::placeholder,.register-field textarea::placeholder{color:#999}.register-field input:focus,.register-field textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #ca397f26}.register-field textarea{resize:vertical;min-height:80px}.register-submit{justify-content:center;width:100%;margin-top:8px}.register-success{text-align:center;padding:20px 0}.register-success .register-title{color:#1a1a2e}.register-success .register-subtitle{color:#555}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.register-modal{padding:28px 20px}}.sl-challenge-ctx{background:var(--s2);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;margin-bottom:0;padding:16px 20px;animation:.3s fadeIn}.sl-challenge-ctx-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sl-challenge-mission{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.sl-challenge-diff{font-size:12px;font-weight:700}.sl-challenge-title{color:var(--white);margin:0 0 8px;font-size:16px;font-weight:700}.sl-challenge-task{color:var(--text-dim);margin:0 0 6px;font-size:13px;line-height:1.5}.sl-challenge-question{color:var(--text-body);margin:0;font-size:13px;line-height:1.5}.sl-challenge-question strong{color:var(--accent)}.sl-hints{flex-direction:column;gap:6px;margin-top:10px;display:flex}.sl-btn-hint{color:#ffa726!important;border-color:#ffa72644!important}.sl-btn-hint:hover{background:#ffa72611!important}.sl-hint-item{color:#ffa726;background:#ffa72611;border-left:2px solid #ffa726;border-radius:6px;padding:8px 12px;font-size:12px;animation:.3s fadeIn}.sl-hint-num{margin-right:6px;font-weight:700}.sl-validation{border-radius:8px;margin-bottom:0;padding:14px 18px;animation:.3s fadeIn}.sl-validation-pass{background:#66bb6a11;border:1px solid #66bb6a44}.sl-validation-fail{background:#ef535011;border:1px solid #ef535044}.sl-validation-header{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.sl-validation-pass .sl-validation-header{color:#66bb6a}.sl-validation-fail .sl-validation-header{color:#ef5350}.sl-validation-level{opacity:.7;font-size:12px;font-weight:600}.sl-validation-messages{color:var(--text-dim);flex-direction:column;gap:3px;font-family:monospace;font-size:12px;display:flex}.sl-validation-insight{background:var(--s3);color:var(--text-body);border-radius:6px;margin-top:12px;padding:12px;font-size:13px;line-height:1.6}.sl-validation-insight strong{color:var(--accent);margin-bottom:6px;display:block}.sl-validation-followup{color:var(--text-body);background:#ab47bc11;border-left:2px solid #ab47bc;border-radius:0 6px 6px 0;margin-top:8px;padding:10px 12px;font-size:13px;line-height:1.5}.sl-validation-followup strong{color:#ab47bc;margin-bottom:4px;display:block}.sl-reflection{background:#1a237e11;border:1px solid #5c6bc044;border-radius:8px;padding:16px;animation:.3s fadeIn}.sl-reflection-title{color:#7986cb;margin:0 0 10px;font-size:14px;font-weight:700}.sl-reflection ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.sl-reflection li{color:var(--text-body);font-size:13px;line-height:1.5}.sl-mission-ctx{background:var(--s2);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;margin-bottom:12px;padding:12px}.sl-mission-ctx-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.sl-mission-ctx-header strong{color:var(--white);font-size:13px;display:block}.sl-mission-ctx-role{color:var(--text-dim);font-size:11px;display:block}.sl-mission-ctx-icon{font-size:22px}.sl-mission-ctx-q{color:var(--text-body);border-left:2px solid var(--s4);margin:0;padding-left:4px;font-size:13px;font-style:italic;line-height:1.5}.sl-ex-active{border-color:var(--accent)!important;background:var(--accent-end)11!important}.sl-ex-card{text-align:left;cursor:pointer;border:1px solid #0000;width:100%;transition:border-color .2s}.sl-ex-card:hover{border-color:var(--s5)}.pb-mission-timeline{flex-direction:column;gap:0;display:flex}.pb-mission-step{position:relative}.pb-mission-step-header{background:var(--s2);border:1px solid var(--s3);cursor:pointer;text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 18px;transition:background .2s,border-color .2s;display:flex}.pb-mission-step-header:hover{background:var(--s3);border-color:var(--s4)}.pb-mission-step.expanded .pb-mission-step-header{border-color:var(--accent);border-bottom-right-radius:0;border-bottom-left-radius:0}.pb-mission-step-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.pb-mission-step-num{color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.pb-mission-step-icon{font-size:20px}.pb-mission-step-text{flex-direction:column;min-width:0;display:flex}.pb-mission-step-text strong{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.pb-mission-step-text span{color:var(--text-dim);font-size:12px}.pb-mission-step-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.pb-mission-step-challenges{color:var(--text-dim);background:var(--s3);border-radius:4px;padding:3px 8px;font-size:12px}.pb-mission-step-stakeholder{color:var(--text-dim);font-size:12px;display:none}.pb-mission-step-chevron{color:var(--text-dim);font-size:12px}.pb-mission-step-body{background:var(--s2);border:1px solid var(--accent);border-top:none;border-radius:0 0 10px 10px;padding:18px;animation:.2s fadeIn}.pb-mission-quote{color:var(--text-body);border-left:3px solid var(--accent);background:var(--s3);border-radius:0 6px 6px 0;margin:0 0 12px;padding:10px 14px;font-size:13px;font-style:italic;line-height:1.6}.pb-mission-context{color:var(--text-dim);margin:0 0 12px;font-size:13px;line-height:1.5}.pb-mission-question{background:var(--s3);border-radius:6px;margin-bottom:12px;padding:10px 14px}.pb-mission-question-label{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.pb-mission-question p{color:var(--white);margin:0;font-size:14px;font-weight:600}.pb-mission-challenges-preview{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.pb-mission-challenge-item{background:var(--s3);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.pb-mission-challenge-diff{min-width:54px;font-size:11px;font-weight:700}.pb-mission-challenge-title{color:var(--text-body)}.pb-mission-start-btn{color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s}.pb-mission-start-btn:hover{opacity:.85;transform:translateY(-1px)}.pb-mission-connector{background:var(--s4);width:2px;height:16px;margin:0 auto}.pb-mq-evidence,.pb-mq-risks{background:var(--s3);border-radius:6px;margin-top:10px;padding:10px;font-size:12px;line-height:1.6}.pb-mq-evidence-label,.pb-mq-risks-label{margin-bottom:6px;font-size:12px;font-weight:700;display:block}.pb-mq-evidence ul,.pb-mq-risks ul{margin:0;padding-left:16px}.pb-mq-evidence li,.pb-mq-risks li{color:var(--text-body);margin-bottom:3px}.pb-mq-decision{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;margin-top:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.pb-mq-decision-keep{color:#66bb6a;background:#66bb6a22}.pb-mq-decision-modify{color:#ffa726;background:#ffa72622}.pb-company-type{color:var(--text-dim);margin-left:8px;font-size:13px}.pb-flow-subtitle{color:var(--text-dim);margin:0 0 8px;font-size:12px}.pb-stakeholder-icon{margin-right:4px;font-size:20px}@media (min-width:768px){.pb-mission-step-stakeholder{display:inline}}.julie-avatar-wrapper{display:inline-block;position:relative}.julie-avatar-wrapper:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-end));z-index:0;border-radius:50%;animation:3s infinite alternate pulseGlow;position:absolute;inset:-6px}@keyframes pulseGlow{0%{opacity:.6;filter:blur(10px);transform:scale(1)}to{opacity:1;filter:blur(15px);transform:scale(1.05)}}.julie-avatar{object-fit:cover;z-index:1;border:4px solid var(--s1);border-radius:50%;width:140px;height:140px;display:block;position:relative}.notfound-page{min-height:calc(100vh - 52px);padding:var(--sp-2xl) var(--sp-lg);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.notfound-bg{pointer-events:none;z-index:0;position:absolute;inset:0}.notfound-glow{filter:blur(100px);opacity:.15;border-radius:50%;position:absolute}.notfound-glow--1{background:var(--accent);width:400px;height:400px;animation:8s ease-in-out infinite notfound-float;top:-100px;left:-100px}.notfound-glow--2{background:var(--accent-end);width:300px;height:300px;animation:10s ease-in-out infinite reverse notfound-float;bottom:-80px;right:-80px}.notfound-grid{background-image:radial-gradient(circle, var(--border) 1px, transparent 1px);opacity:.3;background-size:40px 40px;position:absolute;inset:0}@keyframes notfound-float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,-15px)scale(1.05)}}.notfound-content{z-index:1;text-align:center;width:100%;max-width:520px;position:relative}.notfound-illustration{margin:0 auto var(--sp-lg);max-width:280px}.notfound-svg{width:100%;height:auto}.notfound-line{animation:3s linear infinite notfound-dash}.notfound-node{animation:2.5s ease-in-out infinite notfound-pulse}.notfound-db-icon{animation:4s ease-in-out infinite notfound-bob}@keyframes notfound-dash{to{stroke-dashoffset:-16px}}@keyframes notfound-pulse{0%,to{opacity:.35;r:5}50%{opacity:.7;r:7}}@keyframes notfound-bob{0%,to{transform:translate(140px,30px)translateY(0)}50%{transform:translate(140px,30px)translateY(-4px)}}.notfound-number{letter-spacing:-.04em;margin-bottom:var(--sp-md);-webkit-user-select:none;user-select:none;font-size:120px;font-weight:800;line-height:1}.notfound-4{background:linear-gradient(135deg, var(--accent), var(--accent-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.notfound-0{color:var(--text-dim);-webkit-text-fill-color:var(--text-dim)}.notfound-heading{margin-bottom:var(--sp-sm-plus)}.notfound-description{max-width:380px;margin:0 auto var(--sp-xl)}.notfound-actions{justify-content:center;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-3xl);flex-wrap:wrap;display:flex}.notfound-quick-links{padding-top:var(--sp-xl);border-top:.5px solid var(--border)}.notfound-quick-label{margin-bottom:var(--sp-md);color:var(--text-dim);font-size:13px}.notfound-links-row{justify-content:center;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;display:flex}.notfound-link{border-radius:var(--r-md);border:.5px solid var(--border);background:var(--s3);color:var(--text-muted);align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s,transform .15s;display:inline-flex}.notfound-link:hover{color:var(--white);border-color:var(--border-light);background:var(--s4);transform:translateY(-1px)}.notfound-link-icon{font-size:16px;line-height:1}.notfound-btn-home:focus-visible,.notfound-btn-back:focus-visible,.notfound-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-theme=light] .notfound-glow{opacity:.08}[data-theme=light] .notfound-grid{opacity:.15}[data-theme=light] .notfound-0{color:var(--text-dim);-webkit-text-fill-color:var(--text-dim)}@media (max-width:640px){.notfound-number{font-size:80px}.notfound-illustration{max-width:220px}.notfound-actions{gap:var(--sp-sm-plus);flex-direction:column}.notfound-btn-home,.notfound-btn-back{justify-content:center;width:100%}.notfound-links-row{gap:var(--sp-sm)}}@media (prefers-reduced-motion:reduce){.reveal-up,.stagger-item{opacity:1;transition:none;transform:none}.notfound-glow,.notfound-line,.notfound-node,.notfound-db-icon{animation:none}.notfound-link:hover,.btn-primary:hover{transform:none}}.zalo-float-btn{right:var(--sp-md,20px);bottom:var(--sp-md,20px);z-index:300;background:var(--s2);border:1px solid var(--border-light);border-radius:var(--r-pill);color:var(--white);align-items:center;gap:8px;padding:10px 16px 10px 10px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;box-shadow:0 8px 24px #00000059}.zalo-float-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #00000073}.zalo-float-icon{flex-shrink:0;width:32px;height:32px;display:flex}.zalo-float-icon svg{width:100%;height:100%}@media (max-width:640px){.zalo-float-btn{right:var(--sp-sm,14px);bottom:var(--sp-sm,14px);gap:7px;padding:8px 12px 8px 8px;font-size:12px}.zalo-float-icon{width:28px;height:28px}}
:root{--heading-color:var(--white,#fff);--text-color:var(--on-surface,#e5e2e1);--text-main:var(--white,#fff);--card-bg:var(--s2,#1c1c1c);--bg-subtle:var(--s3,#242424);--border-color:var(--border,#ffffff12)}[data-theme=light]{--heading-color:#1a1a1a;--text-color:#444;--text-main:#1a1a1a;--card-bg:#fff;--bg-subtle:#f5f5f7;--border-color:#e5e5e5}.ide-shell{--bg:#131317;--surface:#131317;--surface-container:#1f1f23;--surface-container-low:#1b1b1f;--surface-container-high:#2a292e;--surface-container-highest:#353439;--surface-container-lowest:#0e0e12;--surface-dim:#131317;--primary:#d0bcff;--primary-container:#a078ff;--on-surface:#e4e1e7;--on-surface-variant:#cbc3d7;--outline:#958ea0;--outline-variant:#494454;--tertiary:#ffb869;--error:#ffb4ab;--error-container:#93000a;--on-primary:#3c0091;--inverse-surface:#e4e1e7;font-family:var(--font-hanken), system-ui, sans-serif}.pg-container{min-height:calc(100vh - 64px);padding:60px 20px}.pg-inner{max-width:800px;margin:0 auto}.pg-title{letter-spacing:-.025em;color:var(--heading-color,#111);text-align:center;margin:0 0 8px;font-size:44px;font-weight:800;line-height:1.06}.pg-subtitle{color:var(--text-muted,#666);text-align:center;max-width:520px;margin:0 auto 48px;font-size:17px;line-height:1.78}.pg-grid{grid-template-columns:1fr;gap:20px;display:grid}.pg-grid-2{grid-template-columns:1fr 1fr}.pg-section-label{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.05em;text-align:center;margin-bottom:12px;font-size:13px;font-weight:600}.pg-section-label-mt{margin-top:48px}.pg-card-link{color:inherit;text-decoration:none}.pg-card-go{color:#ca397f;font-size:14px;font-weight:600}.pg-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e5e5);border-radius:12px;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.pg-card:hover{border-color:#ca397f;box-shadow:0 2px 12px #ca397f14}.pg-card-disabled{opacity:.5;cursor:not-allowed}.pg-card-disabled:hover{border-color:var(--border-color,#e5e5e5);box-shadow:none}.pg-card-image{background:#fff;width:100%}.pg-card-body{flex:1;padding:20px 28px 16px}.pg-card-title{color:var(--heading-color,#111);margin:0 0 10px;font-size:20px;font-weight:700}.pg-card-desc{color:var(--text-color,#444);margin:0 0 16px;font-size:14px;line-height:1.6}.pg-card-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.pg-card-tag{background:var(--bg-subtle,#f5f5f5);color:var(--text-muted,#666);border-radius:4px;padding:3px 10px;font-size:12px;font-weight:500}.pg-card-tools{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.pg-card-tool{border:1px solid var(--border-color,#ddd);color:var(--text-color,#555);border-radius:4px;padding:3px 8px;font-size:12px;font-weight:500}.pg-card-stats{color:var(--text-muted,#888);font-size:13px}.pg-card-dot{margin:0 4px}.pg-card-footer{border-top:1px solid var(--border-color,#f0f0f0);padding:16px 28px}.pg-card-btn{color:#fff;cursor:pointer;background:#ca397f;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .15s;display:inline-block}.pg-card-btn:hover{background:#a01d5e}.pg-card-coming{color:var(--text-muted,#999);font-size:13px;font-weight:500}.pg-card-locked{color:#e57373;font-size:13px;font-weight:500}.pb-page{min-height:calc(100vh - 64px);padding:40px 20px 80px}.pb-inner{max-width:720px;margin:0 auto}.pb-back{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;margin-bottom:32px;padding:0;font-size:14px;display:inline-block}.pb-back:hover{color:#ca397f}.pb-hero{margin-bottom:48px}.pb-hero-title{color:var(--heading-color,#111);margin:0 0 8px;font-size:36px;font-weight:800}.pb-hero-sub{color:var(--text-muted,#666);margin:0 0 28px;font-size:16px}.pb-hero-meta{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.pb-hero-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,#999);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.pb-hero-value{color:var(--text-color,#333);font-size:14px}.pb-cta{color:#fff;cursor:pointer;background:#ca397f;border:none;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:600;transition:background .15s,transform .1s;display:inline-block}.pb-cta:hover{background:#a01d5e;transform:translateY(-1px)}.pb-section{margin-bottom:40px}.pb-section-title{color:var(--heading-color,#111);margin:0 0 12px;font-size:20px;font-weight:700}.pb-section-text{color:var(--text-color,#444);margin:0 0 12px;font-size:15px;line-height:1.7}.pb-quote{color:var(--text-color,#333);background:var(--bg-subtle,#fafafa);border-left:3px solid #ca397f;border-radius:0 6px 6px 0;margin:16px 0;padding:12px 20px;font-size:15px;font-style:italic}.pb-list{color:var(--text-color,#444);margin:0;padding-left:20px;font-size:14px;line-height:1.8;list-style-type:disc}.pb-questions{flex-direction:column;gap:16px;display:flex}.pb-question{align-items:flex-start;gap:14px;display:flex}.pb-question-num{color:#ca397f;background:#ca397f14;border-radius:6px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.pb-question-title{color:var(--heading-color,#111);font-size:15px;display:block}.pb-question-desc{color:var(--text-muted,#666);margin:2px 0 0;font-size:13px}.pb-data-examples{font-family:var(--font-jetbrains), "Consolas", monospace;color:var(--text-muted,#888);font-size:12px}.pb-deliverables{color:var(--text-color,#444);padding-left:20px;font-size:14px;line-height:2}.pb-flow{background:var(--bg-subtle,#f8f6ff);border:1px solid var(--border-color,#ece8f5);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px;margin:12px 0;padding:14px 20px;display:flex}.pb-flow span:not(.pb-flow-arrow){color:var(--heading-color);background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:6px 14px;font-size:14px;font-weight:600;box-shadow:0 1px 3px #0000000a}.pb-flow-arrow{color:#ca397f;align-items:center;padding:0 2px;font-size:16px;font-weight:700;display:flex}.pb-flow-sm{margin:8px 0;padding:10px 14px}.pb-flow-sm span:not(.pb-flow-arrow){padding:4px 10px;font-size:13px}.pb-deliverables-grid{border:1px solid var(--border-color,#e5e5e5);border-radius:10px;flex-direction:column;gap:0;margin-top:8px;display:flex;overflow:hidden}.pb-deliverable{border-bottom:1px solid var(--border-color,#f0f0f0);align-items:flex-start;gap:16px;padding:20px 24px;transition:background .15s;display:flex}.pb-deliverable:last-child{border-bottom:none}.pb-deliverable:hover{background:var(--bg-subtle,#faf8ff)}.pb-deliverable .pb-question-num{flex-shrink:0;min-width:36px;height:36px;margin-top:2px;font-size:14px}.pb-deliverable strong{color:var(--heading-color,#111);margin-bottom:4px;font-size:15px;display:block}.pb-question-block{border:1px solid var(--border-color,#e8e5ee);background:var(--card-bg,#fff);border-radius:10px;padding:24px;transition:border-color .15s,box-shadow .15s}.pb-question-block:hover{border-color:#ca397f40;box-shadow:0 2px 12px #ca397f0f}.pb-question-subtitle{color:var(--text-muted,#888);margin:2px 0 0;font-size:13px;font-style:italic}.pb-list-inline{flex-wrap:wrap;gap:8px;margin-top:8px;padding:0;list-style:none;display:flex}.pb-list-inline li{background:var(--bg-subtle);color:var(--accent,#ca397f);border:1px solid #ca397f26;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:500}.pb-text-muted{font-size:14px;font-style:italic;color:var(--text-muted,#888)!important}.pb-data-table{border:1px solid var(--border-color,#e5e5e5);border-collapse:separate;border-spacing:0;border-radius:8px;width:100%;font-size:14px;overflow:hidden}.pb-data-table thead{background:var(--bg-subtle,#f9f8fc)}.pb-data-table th{text-align:left;border-bottom:2px solid var(--border-color,#e0dce8);color:var(--text-muted,#666);text-transform:uppercase;letter-spacing:.04em;padding:10px 16px;font-size:12px;font-weight:600}.pb-data-table td{border-bottom:1px solid var(--border-color,#f0f0f0);color:var(--text-color,#333);padding:12px 16px}.pb-data-table tr:last-child td{border-bottom:none}.pb-data-table tr:hover td{background:var(--bg-subtle,#faf8ff)}.pb-section-cta{text-align:center;border-top:1px solid var(--border-color,#eee);padding-top:20px}.pb-cta-text{color:var(--text-muted,#666);margin:0 0 16px;font-size:16px}.ide-shell{z-index:100;background:var(--bg);color:var(--on-surface);flex-direction:column;display:flex;position:fixed;inset:0}.ide-header{background:var(--surface);border-bottom:1px solid var(--outline-variant);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.ide-header-left,.ide-header-right{align-items:center;gap:8px;display:flex}.ide-header-sep{background:var(--outline-variant);width:1px;height:16px}.ide-header-title{color:var(--on-surface);font-size:16px;font-weight:700}.ide-header-badge{font-family:var(--font-jetbrains), monospace;color:var(--on-surface-variant);border:1px solid var(--outline-variant);background:var(--surface-container-low);letter-spacing:.05em;border-radius:2px;padding:2px 8px;font-size:11px;font-weight:500}.ide-header-nav{height:100%;display:flex}.ide-nav-link{height:100%;color:var(--on-surface-variant);border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;transition:color .15s;display:flex}.ide-nav-link:hover{color:var(--primary)}.ide-nav-active{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.ide-nav-btn{cursor:pointer;color:var(--on-surface-variant);background:0 0;border:none;padding:6px 12px;font-size:13px;font-weight:500;transition:color .15s}.ide-nav-btn:hover{color:var(--primary)}.ide-export-btn{letter-spacing:.05em;background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--on-surface);cursor:pointer;border-radius:2px;padding:6px 14px;font-size:12px;font-weight:500;transition:background .15s}.ide-export-btn:hover{background:var(--surface-container-highest)}.ide-export-btn:disabled{opacity:.4;cursor:not-allowed}.ide-execute-btn{letter-spacing:.05em;background:linear-gradient(to bottom, var(--primary), var(--primary-container));color:var(--on-primary);cursor:pointer;border:none;border-radius:2px;padding:6px 14px;font-size:12px;font-weight:500;transition:filter .15s;box-shadow:inset 0 1px #fff3}.ide-execute-btn:hover{filter:brightness(1.1)}.ide-execute-btn:disabled{opacity:.5;cursor:not-allowed}.ide-body{flex:1;grid-template-columns:260px auto 1fr;display:grid;overflow:hidden}.ide-body.ide-sidebar-collapsed{grid-template-columns:0 auto 1fr}.ide-sidebar{border-right:1px solid var(--outline-variant);background:var(--surface-container-low);overflow-y:auto}.ide-sidebar-toggle{background:var(--surface-container);cursor:pointer;width:16px;color:var(--outline);border:none;border-left:1px solid var(--outline-variant);border-right:1px solid var(--outline-variant);justify-content:center;align-items:center;font-size:10px;display:flex}.ide-sidebar-toggle:hover{background:var(--surface-container-high)}.ide-main{flex-direction:column;display:flex;overflow:hidden}.dt-panel{flex-direction:column;height:100%;display:flex}.dt-header{padding:16px 16px 8px}.dt-label{font-family:var(--font-jetbrains), monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--on-surface-variant);font-size:10px;font-weight:500}.dt-search-wrap{padding:4px 8px 8px}.dt-search{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);width:100%;color:var(--on-surface);font-size:12px;font-family:var(--font-jetbrains), monospace;border-radius:2px;outline:none;padding:6px 8px}.dt-search:focus{border-color:var(--primary)}.dt-search::placeholder{color:var(--outline)}.dt-tree{flex:1;padding-bottom:20px;overflow-y:auto}.dt-domain-btn{cursor:pointer;width:100%;color:var(--on-surface);font-size:13px;font-family:var(--font-hanken), sans-serif;background:0 0;border:none;align-items:center;gap:6px;padding:6px 16px;display:flex}.dt-domain-btn:hover{background:var(--surface-container-high)}.dt-chevron{width:14px;color:var(--on-surface-variant);flex-shrink:0;font-size:10px}.dt-domain-label{text-align:left;flex:1;font-weight:600}.dt-domain-count{font-family:var(--font-jetbrains), monospace;color:var(--on-surface-variant);font-size:10px}.dt-table-btn{cursor:grab;width:100%;color:var(--on-surface-variant);font-size:13px;font-family:var(--font-jetbrains), monospace;background:0 0;border:none;align-items:center;gap:6px;padding:4px 16px 4px 32px;font-weight:400;transition:background .1s,color .1s;display:flex}.dt-table-btn:hover{background:var(--surface-container-high);color:var(--on-surface)}.dt-table-btn:active{cursor:grabbing}.dt-table-active{background:var(--surface-container-highest);border-right:2px solid var(--primary);font-weight:600;color:var(--primary)!important}.dt-table-name{text-align:left;flex:1;font-size:12px}.dt-table-rows{color:var(--outline);font-size:10px}.dt-columns{border-left:1px solid var(--outline-variant);background:var(--surface-container-lowest);max-height:300px;margin-left:39px;padding:4px 0 4px 24px;overflow-y:auto}.dt-col{cursor:grab;font-size:11px;font-family:var(--font-jetbrains), monospace;border-radius:3px;align-items:center;gap:8px;margin:1px 4px;padding:3px 12px 3px 8px;transition:background .1s;display:flex}.dt-col:hover{background:var(--surface-container-high)}.dt-col:active{cursor:grabbing}.dt-col-name{color:var(--on-surface-variant);flex:1}.dt-col-type{color:var(--outline);background:var(--surface-container);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px}.ide-editor-section{flex-direction:column;flex:1;min-height:200px;display:flex}.ide-editor-toolbar{background:var(--surface-container-low);border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.ide-editor-toolbar-left{align-items:center;gap:6px;display:flex}.ide-tb-btn{cursor:pointer;color:var(--on-surface-variant);font-size:12px;font-family:var(--font-jetbrains), monospace;letter-spacing:.03em;background:0 0;border:none;border-radius:2px;padding:4px 10px;font-weight:500;transition:background .1s,color .1s}.ide-tb-btn:hover{background:var(--surface-container-high);color:var(--on-surface)}.ide-tb-sep{background:var(--outline-variant);width:1px;height:14px}.ide-editor-tab{font-family:var(--font-jetbrains), monospace;color:var(--on-surface-variant);letter-spacing:.02em;font-size:12px}.ide-editor-wrap{background:var(--surface-dim);flex:1;transition:box-shadow .15s;display:flex;position:relative;overflow:hidden}.ide-editor-dragover{box-shadow:inset 0 0 0 2px var(--primary)}.ide-line-numbers{background:var(--surface-container-lowest);border-right:1px solid var(--outline-variant);-webkit-user-select:none;user-select:none;width:48px;font-family:var(--font-jetbrains), monospace;color:var(--outline);opacity:.5;flex-direction:column;flex-shrink:0;align-items:flex-end;padding:16px 8px 16px 0;font-size:12px;line-height:1.6;display:flex}.ide-editor{resize:none;font-family:var(--font-jetbrains), monospace;color:var(--on-surface);tab-size:2;background:0 0;border:none;outline:none;flex:1;padding:16px;font-size:13px;line-height:1.6}.ide-editor::placeholder{color:var(--outline)}.ide-history{border-top:1px solid var(--outline-variant);background:var(--surface-container);max-height:180px;overflow-y:auto}.ide-history-item{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--outline-variant);width:100%;color:var(--on-surface-variant);background:0 0;justify-content:space-between;align-items:center;padding:6px 16px;font-size:12px;display:flex}.ide-history-item:hover{background:var(--surface-container-high);color:var(--on-surface)}.ide-history-sql{font-family:var(--font-jetbrains), monospace;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:12px;overflow:hidden}.ide-history-meta{color:var(--outline);white-space:nowrap;font-size:11px}.ide-results-section{border-top:1px solid var(--outline-variant);background:var(--surface-container-low);flex-direction:column;flex:1;min-height:150px;display:flex;overflow:hidden;box-shadow:0 -4px 24px #0003}.ide-results-bar{background:var(--surface-container);border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.ide-results-bar-left{align-items:center;gap:12px;display:flex}.ide-results-label{color:var(--on-surface);letter-spacing:.03em;font-size:12px;font-weight:600}.ide-results-info{font-family:var(--font-jetbrains), monospace;color:var(--on-surface-variant);font-size:11px}.ide-results-table-wrap{background:var(--surface);flex:1;overflow:auto}.ide-results-table{border-collapse:collapse;width:100%}.ide-results-table th{font-family:var(--font-jetbrains), monospace;text-transform:uppercase;letter-spacing:.05em;text-align:left;background:var(--surface-container);color:var(--on-surface-variant);border-bottom:1px solid var(--outline-variant);white-space:nowrap;border-right:1px solid #4944544d;padding:8px 16px;font-size:11px;font-weight:600;position:sticky;top:0}.ide-results-table th:last-child{border-right:none}.ide-results-table td{white-space:nowrap;text-overflow:ellipsis;max-width:300px;color:var(--on-surface);border-bottom:1px solid #49445433;border-right:1px solid #4944544d;padding:6px 16px;font-size:13px;overflow:hidden}.ide-results-table td:last-child{border-right:none}.ide-results-table tr:hover td{background:var(--surface-container-lowest)}.ide-row-alt td{background:#1313174d}.ide-row-num{color:var(--outline);font-family:var(--font-jetbrains), monospace;text-align:right;width:48px;font-size:11px;padding-right:12px!important}.ide-val-num{color:var(--primary-container);font-family:var(--font-jetbrains), monospace}.ide-null{color:var(--outline);font-size:11px;font-style:italic}.ide-error{color:var(--error);background:#93000a26;border:1px solid #ffb4ab4d;border-radius:4px;margin:16px;padding:12px 16px;font-size:13px}.ide-error strong{margin-bottom:4px;display:block}.ide-empty{color:var(--outline);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.td-backdrop{z-index:200;background:#00000080;position:fixed;inset:0}.td-drawer{z-index:210;background:var(--surface-container-low,#1b1b1f);width:340px;color:var(--on-surface,#e4e1e7);font-family:var(--font-hanken), sans-serif;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 20px #0000004d}.td-header{border-bottom:1px solid var(--outline-variant,#494454);align-items:center;gap:8px;padding:16px;display:flex}.td-title{flex:1;font-size:14px;font-weight:700}.td-progress{font-family:var(--font-jetbrains), monospace;color:var(--on-surface-variant,#cbc3d7);font-size:11px}.td-close{cursor:pointer;color:var(--on-surface-variant,#cbc3d7);background:0 0;border:none;padding:0;font-size:20px;line-height:1}.td-body{flex:1;padding:8px 0;overflow-y:auto}.td-group{margin-bottom:4px}.td-group-header{padding:10px 16px 4px}.td-group-title{color:var(--on-surface,#e4e1e7);font-size:13px;font-weight:600}.td-task{align-items:center;gap:8px;padding:4px 16px;display:flex}.td-task-done{opacity:.4}.td-checkbox{cursor:pointer;color:var(--on-surface-variant,#cbc3d7);background:0 0;border:none;padding:0;font-size:14px}.td-task-text{cursor:pointer;color:var(--on-surface-variant,#cbc3d7);text-align:left;background:0 0;border:none;flex:1;padding:0;font-size:13px}.td-task-text:hover{color:var(--primary,#d0bcff)}.td-task-done .td-task-text{text-decoration:line-through}.ide-shell ::-webkit-scrollbar{width:4px;height:4px}.ide-shell ::-webkit-scrollbar-track{background:0 0}.ide-shell ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.ide-shell ::-webkit-scrollbar-thumb:hover{background:#fff3}@media (max-width:768px){.pg-title{font-size:32px}.pg-grid-2{grid-template-columns:1fr}.pb-hero-title{font-size:28px}.pb-hero-meta{grid-template-columns:1fr}.ide-body{grid-template-columns:1fr!important}.ide-sidebar,.ide-sidebar-toggle{display:none}.td-drawer{width:100%}.datalab-intro{flex-direction:column}.datalab-intro-visual{display:none}}.datalab-intro{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e5e5);border-radius:16px;gap:32px;padding:40px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.datalab-intro:before{content:"";background:linear-gradient(90deg,#ca397f,#e8527a,#ffbd2e);border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.datalab-intro:hover{border-color:#ca397f4d;box-shadow:0 4px 24px #ca397f14}.datalab-intro-content{flex:1;min-width:0}.datalab-intro-badge{letter-spacing:.04em;color:#ca397f;background:#ca397f1a;border-radius:20px;margin-bottom:16px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.datalab-intro-title{color:var(--heading-color,#111);margin:0 0 12px;font-size:26px;font-weight:800;line-height:1.3}.datalab-intro-highlight{background:linear-gradient(135deg,#ca397f,#e8527a);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.datalab-intro-desc{color:var(--text-color,#555);margin:0 0 24px;font-size:14px;line-height:1.7}.datalab-features{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;display:grid}.datalab-feature-item{color:var(--text-color,#555);align-items:center;gap:8px;font-size:13px;display:flex}.datalab-feature-icon{flex-shrink:0;font-size:16px}.datalab-feature-label{font-weight:500}.datalab-intro-actions{align-items:center;gap:16px;display:flex}.datalab-cta-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ca397f,#a01d5e);border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 2px 12px #ca397f4d}.datalab-cta-btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 4px 20px #ca397f66}.datalab-locked{color:var(--text-muted,#888);font-size:13px;font-weight:500}.datalab-intro-visual{flex-shrink:0;width:340px}.datalab-mock-editor{border:1px solid var(--border-color,#e0e0e0);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #00000014}.datalab-mock-toolbar{background:#2a2a2e;align-items:center;gap:6px;padding:10px 14px;display:flex}.datalab-mock-dot{border-radius:50%;width:10px;height:10px}.datalab-mock-tab{font-size:12px;font-family:var(--font-jetbrains), monospace;color:#aaa;margin-left:8px}.datalab-mock-code{color:#d4d4d4;font-family:var(--font-jetbrains), monospace;background:#1e1e22;min-height:220px;margin:0;padding:16px;font-size:12px;line-height:1.7;overflow:hidden}.datalab-mock-code code{color:#d0bcff}
.learn-layout{background:var(--s1);height:calc(100vh - 52px);max-width:var(--max-w);border-left:1px solid var(--border);border-right:1px solid var(--border);margin:0 auto;display:flex;overflow:hidden}.learn-sidebar{background:var(--s2);border-right:1px solid var(--border);z-index:50;flex-direction:column;width:340px;min-width:340px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.learn-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 20px}.learn-sidebar-back{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:12px;padding:4px 0;font-size:12px;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.learn-sidebar-back:hover{color:var(--white)}.learn-sidebar-course-title{color:var(--white);letter-spacing:-.01em;font-size:15px;font-weight:700;line-height:1.3}.learn-sidebar-progress{align-items:center;gap:10px;margin-top:10px;display:flex}.learn-progress-bar{background:var(--s3);border-radius:2px;flex:1;height:4px;overflow:hidden}.learn-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-end));border-radius:2px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.learn-progress-text{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:600}.learn-modules{scrollbar-width:thin;scrollbar-color:#ca397f66 transparent;flex:1;padding:8px 0;overflow-y:auto}.learn-modules::-webkit-scrollbar{width:6px}.learn-modules::-webkit-scrollbar-track{background:0 0}.learn-modules::-webkit-scrollbar-thumb{background:#ca397f66;border-radius:4px}.learn-modules::-webkit-scrollbar-thumb:hover{background:#ca397fcc}.learn-module{border-bottom:1px solid var(--border)}.learn-module:last-child{border-bottom:none}.learn-module-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 20px;transition:background .2s;display:flex}.learn-module-header:hover{background:var(--s3)}.learn-module-number{width:28px;height:28px;color:var(--text-muted);background:var(--s3);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .2s;display:flex}.learn-module.has-progress .learn-module-number{color:var(--accent);background:var(--accent-bg)}.learn-module.all-complete .learn-module-number{color:#4ade80;background:#4ade801a}.learn-module-info{flex:1;min-width:0}.learn-module-title{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.learn-module-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.learn-module-chevron{color:var(--text-muted);flex-shrink:0;font-size:10px;transition:transform .25s cubic-bezier(.4,0,.2,1)}.learn-module.expanded .learn-module-chevron{transform:rotate(90deg)}.learn-lessons{max-height:0;transition:max-height .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.learn-module.expanded .learn-lessons{max-height:2000px}.learn-lesson-item{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 20px 10px 32px;text-decoration:none;transition:all .15s;display:flex}.learn-lesson-item:hover{background:#ffffff08}.learn-lesson-item.active{background:var(--accent-bg);border-left:3px solid var(--accent);padding-left:29px}.learn-lesson-check{border:1.5px solid var(--border-light);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;transition:all .2s;display:flex}.learn-lesson-item.completed .learn-lesson-check{color:#4ade80;background:#4ade8026;border-color:#4ade80}.learn-lesson-item.active .learn-lesson-check{border-color:var(--accent);background:var(--accent-bg)}.learn-lesson-icon{color:var(--text-muted);text-align:center;flex-shrink:0;width:16px;font-size:12px}.learn-lesson-item.active .learn-lesson-icon{color:var(--accent)}.learn-lesson-title{color:var(--white);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;line-height:1.4;overflow:hidden}.learn-lesson-item.active .learn-lesson-title{color:var(--white);font-weight:600}.learn-lesson-item.completed .learn-lesson-title{color:var(--white)}.learn-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.learn-topbar{background:var(--s2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:52px;min-height:52px;padding:0 24px;display:flex}.learn-topbar-left{align-items:center;gap:12px;display:flex}.learn-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;display:none}.learn-menu-btn:hover{color:var(--white)}.learn-breadcrumb{align-items:center;gap:6px;font-size:13px;display:flex}.learn-breadcrumb-module{color:var(--text-muted);font-weight:500}.learn-breadcrumb-sep{color:var(--text-dim);font-size:10px}.learn-breadcrumb-lesson{color:var(--white);text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-weight:600;overflow:hidden}.learn-topbar-actions{align-items:center;gap:8px;display:flex}.learn-complete-btn{cursor:pointer;border:1px solid var(--border);background:var(--s3);color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.learn-complete-btn:hover{border-color:var(--accent);color:var(--white);background:var(--accent-bg)}.learn-complete-btn.is-complete{color:#4ade80;background:#4ade8014;border-color:#4ade80}.learn-content{flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.learn-video-wrapper{width:100%;max-width:1100px;padding:24px 32px 0}.learn-video-container{background:#000;border-radius:12px;width:100%;padding-top:56.25%;position:relative;overflow:hidden;box-shadow:0 8px 32px #0006}.learn-video-container iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.learn-video-no-video{width:100%;height:100%;color:var(--text-muted);background:var(--s3);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;top:0;left:0}.learn-video-no-video span:first-child{opacity:.5;font-size:48px}.learn-lesson-info{width:100%;max-width:1100px;padding:24px 32px 32px}.learn-lesson-heading{color:var(--white);letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:700;line-height:1.3}.learn-lesson-module-tag{color:var(--accent);background:var(--accent-bg);border-radius:6px;align-items:center;gap:6px;margin-bottom:24px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.learn-nav-row{justify-content:space-between;align-items:center;gap:16px;width:100%;padding-top:16px;display:flex}.learn-nav-btn{cursor:pointer;border:1px solid var(--border);background:var(--s2);color:var(--white);border-radius:10px;align-items:center;gap:8px;max-width:45%;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.learn-nav-btn:hover{border-color:var(--accent);color:var(--white);background:var(--accent-bg);transform:translateY(-1px)}.learn-nav-btn.next{color:var(--white);background:linear-gradient(135deg,#ca397f1f,#e8527a14);border-color:#ca397f40;margin-left:auto}.learn-nav-btn.next:hover{border-color:var(--accent);background:linear-gradient(135deg,#ca397f33,#e8527a26)}.learn-nav-btn-label{color:var(--white);font-size:12px;font-weight:600}.learn-nav-btn-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learn-nav-btn-text{flex-direction:column;gap:2px;min-width:0;display:flex}.learn-nav-spacer{flex:1}.learn-sidebar-overlay{z-index:40;opacity:0;background:#0009;transition:opacity .3s;display:none;position:fixed;inset:0}.learn-sidebar-overlay.visible{opacity:1}@media (max-width:860px){.learn-sidebar{height:100%;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}.learn-sidebar.open{transform:translate(0)}.learn-sidebar-overlay,.learn-menu-btn{display:block}.learn-video-wrapper{padding:16px 16px 0}.learn-lesson-info{padding:16px 16px 24px}.learn-breadcrumb-module,.learn-breadcrumb-sep{display:none}.learn-breadcrumb-lesson{max-width:240px}.learn-nav-btn{padding:8px 12px;font-size:12px}}@media (max-width:480px){.learn-sidebar{width:300px;min-width:300px}.learn-video-wrapper{padding:8px 8px 0}.learn-video-container{border-radius:8px}.learn-lesson-info{padding:12px 12px 20px}.learn-lesson-heading{font-size:18px}.learn-topbar{padding:0 12px}}.learn-entry{background:var(--s1);min-height:100vh;padding:100px 24px 60px}.learn-entry-inner{max-width:800px;margin:0 auto}.learn-entry-badge{color:var(--accent);background:var(--accent-bg);letter-spacing:.04em;text-transform:uppercase;border-radius:100px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 14px;font-size:12px;font-weight:700;display:inline-flex}.learn-entry-title{color:var(--white);letter-spacing:-.02em;margin-bottom:16px;font-size:40px;font-weight:800;line-height:1.1}.learn-entry-desc{color:var(--text-muted);max-width:600px;margin-bottom:32px;font-size:16px;line-height:1.7}.learn-entry-stats{flex-wrap:wrap;gap:24px;margin-bottom:40px;display:flex}.learn-entry-stat{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.learn-entry-stat-icon{font-size:18px}.learn-entry-stat strong{color:var(--white);font-weight:700}.learn-entry-start{color:#fff;background:linear-gradient(135deg, var(--accent), var(--accent-end));cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 4px 16px #ca397f40}.learn-entry-start:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ca397f59}.learn-entry-modules{margin-top:56px}.learn-entry-modules-title{color:var(--white);margin-bottom:20px;font-size:20px;font-weight:700}.learn-entry-module-card{background:var(--s2);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:16px;margin-bottom:8px;padding:16px 20px;text-decoration:none;transition:all .2s;display:flex}.learn-entry-module-card:hover{border-color:var(--accent);background:#ca397f0a;transform:translate(4px)}.learn-entry-module-num{width:36px;height:36px;color:var(--accent);background:var(--accent-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.learn-entry-module-info{flex:1;min-width:0}.learn-entry-module-name{color:var(--white);font-size:14px;font-weight:600;line-height:1.3}.learn-entry-module-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.learn-entry-module-arrow{color:var(--text-dim);font-size:14px;transition:color .2s}.learn-entry-module-card:hover .learn-entry-module-arrow{color:var(--accent)}.quiz-container{flex-direction:column;gap:24px;width:100%;max-width:800px;padding:32px;animation:.4s quizFadeIn;display:flex}.learn-content-quiz{justify-content:flex-start;align-items:stretch;overflow-y:auto}.learn-content-quiz .quiz-fit{flex:none;justify-content:flex-start;gap:clamp(4px,.9vh,12px);width:100%;max-width:980px;min-height:0;margin:0 auto;padding:clamp(4px,1vh,12px) 24px 0}.learn-content-quiz .quiz-question-card{flex-direction:column;align-items:stretch;padding:clamp(16px,2.6vh,32px);display:flex}.learn-content-quiz .quiz-question-badge{margin-bottom:clamp(8px,1.4vh,16px);font-size:11px}.learn-content-quiz .quiz-question-text{margin-bottom:clamp(10px,1.8vh,24px);font-size:clamp(16px,1.9vh,22px)}.learn-content-quiz .quiz-question-desc{max-height:30vh;margin-top:calc(-1*clamp(4px,1vh,12px));margin-bottom:clamp(10px,1.8vh,24px);padding:clamp(8px,1.2vh,12px) clamp(12px,1.4vw,16px);font-size:clamp(13px,1.5vh,16px);overflow:auto}.learn-content-quiz .quiz-answers{gap:clamp(6px,1.1vh,12px)}.learn-content-quiz .quiz-answer-btn{gap:clamp(10px,1.2vw,14px);padding:clamp(10px,1.7vh,18px) clamp(14px,1.4vw,20px);font-size:clamp(14px,1.7vh,18px)}.learn-content-quiz .quiz-answer-letter{width:clamp(26px,3.2vh,34px);min-width:clamp(26px,3.2vh,34px);height:clamp(26px,3.2vh,34px);font-size:clamp(12px,1.5vh,15px)}.learn-content-quiz .quiz-answer-icon{font-size:clamp(13px,1.6vh,18px)}.learn-content-quiz .quiz-feedback-container{margin-top:clamp(10px,1.8vh,20px);padding-top:clamp(10px,1.8vh,20px)}.learn-content-quiz .quiz-explanation{max-height:24vh;margin-bottom:clamp(8px,1.4vh,16px);padding:clamp(8px,1.2vh,14px) clamp(12px,1.4vw,16px);font-size:clamp(13px,1.5vh,16px);overflow:auto}.learn-content-quiz .quiz-feedback{font-size:clamp(13px,1.5vh,16px)}.learn-content-quiz .quiz-next-btn{padding:clamp(8px,1.2vh,12px) clamp(16px,1.6vw,24px);font-size:clamp(13px,1.5vh,15px)}.learn-content-quiz .quiz-score-tracker{padding-bottom:4px;font-size:clamp(11px,1.3vh,14px)}.learn-content-quiz .quiz-result-card{padding:clamp(20px,4vh,48px) clamp(20px,3vw,40px)}.learn-content-quiz .quiz-result-icon{margin-bottom:clamp(8px,1.6vh,16px);font-size:clamp(36px,7vh,56px)}.learn-content-quiz .quiz-result-title{margin-bottom:clamp(12px,2.2vh,24px);font-size:clamp(20px,3vh,26px)}.learn-content-quiz .quiz-result-score{margin-bottom:clamp(10px,2vh,20px)}.learn-content-quiz .quiz-result-number{font-size:clamp(36px,6vh,52px)}.learn-content-quiz .quiz-result-total{font-size:clamp(22px,3.6vh,30px)}.learn-content-quiz .quiz-result-divider{font-size:clamp(24px,4vh,34px)}.learn-content-quiz .quiz-result-percentage{margin-bottom:clamp(10px,2vh,20px)}.learn-content-quiz .quiz-result-message{margin-bottom:clamp(14px,2.6vh,28px);font-size:clamp(13px,1.6vh,16px)}.learn-content-quiz .quiz-retry-btn{padding:clamp(10px,1.6vh,14px) clamp(20px,2.4vw,32px);font-size:clamp(13px,1.6vh,16px)}@media (max-width:640px){.learn-content-quiz .quiz-fit{padding:12px 14px}.learn-content-quiz .quiz-question-card{padding:16px}.learn-content-quiz .quiz-question-desc,.learn-content-quiz .quiz-explanation{max-height:none}}.learn-nav-row-quiz{box-sizing:border-box;flex-shrink:0;gap:clamp(8px,1vw,16px);width:100%;max-width:980px;margin:0 auto;padding:clamp(4px,1vh,10px) 24px clamp(8px,1.4vh,16px)}.learn-content-quiz .learn-nav-btn{padding:clamp(8px,1.2vh,12px) clamp(14px,1.6vw,20px);font-size:clamp(12px,1.4vh,14px)}.learn-content-quiz .quiz-score-tracker{flex-shrink:0;padding:0 0 4px}@media (max-width:640px){.learn-nav-row-quiz{padding:8px 14px 12px}}@keyframes quizFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.quiz-empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;font-size:15px;display:flex}.quiz-empty-icon{font-size:48px}.quiz-progress{align-items:center;gap:12px;display:flex}.quiz-progress-bar{background:var(--s3);border-radius:3px;flex:1;height:6px;overflow:hidden}.quiz-progress-fill{background:linear-gradient(90deg, var(--accent), #e8527a);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.quiz-progress-text{color:var(--text-muted);white-space:nowrap;letter-spacing:.02em;font-size:12px;font-weight:600}.quiz-question-card{background:var(--s2);border:1px solid var(--border);border-radius:16px;padding:32px;animation:.35s quizSlideIn}@keyframes quizSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.quiz-question-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-bg);border-radius:6px;margin-bottom:16px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.quiz-question-text{color:var(--white);margin-bottom:24px;font-size:17px;font-weight:600;line-height:1.6}.quiz-question-desc{color:var(--foreground);opacity:.85;background:var(--s3);border-left:3px solid var(--accent);border-radius:8px;margin-top:-12px;margin-bottom:24px;padding:12px 16px;font-size:14px;line-height:1.6}.quiz-question-desc pre,.quiz-question-desc code{background:var(--s2);border-radius:4px;font-family:monospace}.quiz-question-desc pre{margin-top:8px;margin-bottom:8px;padding:12px;overflow-x:auto}.quiz-question-desc p:last-child{margin-bottom:0}.quiz-answers{flex-direction:column;gap:10px;display:flex}.quiz-answer-btn{border:1px solid var(--border);background:var(--s1);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:500;line-height:1.5;transition:all .2s;display:flex}.quiz-answer-btn:hover:not(:disabled){border-color:var(--accent);color:var(--white);background:#ca397f0f;transform:translate(4px)}.quiz-answer-btn:disabled{cursor:default}.quiz-answer-btn.correct{color:#4ade80;background:#4ade801a;border-color:#4ade80}.quiz-answer-btn.incorrect{color:#f87171;background:#f871711a;border-color:#f87171}.quiz-answer-btn.dimmed{opacity:.4}.quiz-answer-letter{background:var(--s3);width:28px;min-width:28px;height:28px;color:var(--text-dim);border-radius:8px;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex}.quiz-answer-btn:hover:not(:disabled) .quiz-answer-letter{background:var(--accent-bg);color:var(--accent)}.quiz-answer-btn.correct .quiz-answer-letter{color:#4ade80;background:#4ade8033}.quiz-answer-btn.incorrect .quiz-answer-letter{color:#f87171;background:#f8717133}.quiz-answer-text{flex:1}.quiz-answer-icon{text-align:center;min-width:20px;font-size:16px;font-weight:700}.quiz-feedback-container{border-top:1px solid var(--border);margin-top:20px;padding-top:20px;animation:.3s quizFadeIn}.quiz-explanation{color:var(--foreground);background:#ca397f14;border:1px solid #ca397f33;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;line-height:1.6}.quiz-explanation strong{color:var(--accent)}.quiz-feedback-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.quiz-feedback{font-size:14px;font-weight:600}.quiz-feedback.correct{color:#4ade80}.quiz-feedback.incorrect{color:#f87171}.quiz-next-btn{cursor:pointer;background:linear-gradient(135deg, var(--accent), #e8527a);color:#fff;white-space:nowrap;border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.quiz-next-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ca397f59}.quiz-score-tracker{text-align:center;color:var(--text-dim);font-size:13px;font-weight:500}.quiz-result-card{background:var(--s2);border:1px solid var(--border);text-align:center;border-radius:20px;flex-direction:column;align-items:center;padding:48px 40px;animation:.5s quizFadeIn;display:flex}.quiz-result-icon{margin-bottom:16px;font-size:56px;animation:.6s quizBounce}@keyframes quizBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.quiz-result-title{color:var(--white);margin-bottom:24px;font-size:24px;font-weight:700}.quiz-result-score{align-items:baseline;gap:4px;margin-bottom:20px;display:flex}.quiz-result-number{color:var(--accent);font-size:48px;font-weight:800;line-height:1}.quiz-result-divider{color:var(--text-dim);font-size:32px;font-weight:300}.quiz-result-total{color:var(--text-muted);font-size:28px;font-weight:600}.quiz-result-percentage{align-items:center;gap:12px;width:100%;max-width:300px;margin-bottom:20px;display:flex}.quiz-result-bar{background:var(--s3);border-radius:4px;flex:1;height:8px;overflow:hidden}.quiz-result-fill{border-radius:4px;height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.quiz-result-fill.pass{background:linear-gradient(90deg,#4ade80,#22c55e)}.quiz-result-fill.fail{background:linear-gradient(90deg,#f87171,#ef4444)}.quiz-result-pct-text{color:var(--text-muted);min-width:40px;font-size:14px;font-weight:700}.quiz-result-message{color:var(--text-muted);max-width:360px;margin-bottom:28px;font-size:14px;line-height:1.6}.quiz-retry-btn{cursor:pointer;border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:12px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .2s}.quiz-retry-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #ca397f4d}@media (max-width:640px){.quiz-container{padding:16px}.quiz-question-card{padding:20px}.quiz-question-text{font-size:15px}.quiz-answer-btn{padding:12px 14px;font-size:13px}.quiz-feedback-row{flex-direction:column;align-items:stretch}.quiz-next-btn{text-align:center;width:100%}.quiz-result-card{padding:32px 20px}.quiz-result-number{font-size:36px}}.learn-lesson-item.locked{opacity:.45;cursor:not-allowed;pointer-events:none}.learn-lesson-item.locked .learn-lesson-check{font-size:12px}.learn-lesson-item .dim{color:var(--white);opacity:.6}.locked-nav{opacity:.4;cursor:not-allowed!important}.assignment-box{background:var(--s2);border:1px solid var(--border);border-radius:14px;width:100%;max-width:1100px;margin:24px auto;padding:28px 24px}.assignment-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.assignment-header h3{color:var(--foreground);margin:0;font-size:17px;font-weight:700}.assignment-icon{font-size:22px}.assignment-desc{color:var(--foreground);opacity:.7;margin-bottom:20px;font-size:14px;line-height:1.6}.assignment-tabs{gap:8px;margin-bottom:16px;display:flex}.assignment-tab{background:var(--s3);color:var(--foreground);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.assignment-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.assignment-input{background:var(--s3);border:1px solid var(--border);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}.assignment-input:focus{border-color:var(--accent)}.assignment-file-zone{margin-bottom:4px}.assignment-file-label{border:2px dashed var(--border);cursor:pointer;color:var(--foreground);opacity:.7;text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:28px 16px;font-size:14px;transition:all .2s;display:flex}.assignment-file-label:hover{border-color:var(--accent);opacity:1}.assignment-error{color:#ff6b6b;margin-top:8px;margin-bottom:8px;font-size:13px}.assignment-submit-btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:10px;margin-top:16px;padding:12px 32px;font-size:15px;font-weight:600;transition:all .2s}.assignment-submit-btn:hover{opacity:.9;transform:translateY(-1px)}.assignment-submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.assignment-status{border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.assignment-status.pending{background:#ffc10714;border:1px solid #ffc10733}.assignment-status.approved{background:#4caf5014;border:1px solid #4caf5033}.assignment-status.rejected{background:#f4433614;border:1px solid #f4433633}.assignment-status .status-icon{flex-shrink:0;font-size:24px}.assignment-status strong{color:var(--foreground);margin-bottom:4px;font-size:15px;display:block}.assignment-status p{color:var(--foreground);opacity:.7;margin:0;font-size:13px;line-height:1.5}.assignment-status .feedback{margin-top:8px;font-style:italic}.assignment-detail{color:var(--foreground);opacity:.7;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.assignment-detail .detail-label{opacity:1;font-weight:600}.assignment-detail a{color:var(--accent);word-break:break-all;text-decoration:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
