@font-face{font-family:Inter;src:url('/static/assets/inter.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#101d38;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.18;letter-spacing:-.045em}h1{font-size:48px;font-weight:750}h2{font-size:26px}h3{font-size:19px}p{color:#617089}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #80b9ff;outline-offset:4px}.container{max-width:1200px;margin:0 auto;padding:0 36px}.header{height:80px;display:flex;align-items:center;gap:58px}.logo{font-size:24px;letter-spacing:-1.1px;white-space:nowrap;display:flex;align-items:center;gap:5px}.logo b{font-weight:850}.logo span{font-weight:350}.logo i{width:7px;height:7px;background:#0865ff;border-radius:50%;align-self:flex-end;margin-bottom:11px}.nav{display:flex;gap:31px;align-items:center;font-size:13px;font-weight:550}.nav a{color:#5f6d81;transition:color .2s}.nav a:hover,.nav a.active{color:#075eff}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.icon-btn{background:none;color:#24324a;width:38px;height:38px;border-radius:9px;display:grid;place-items:center}.icon-btn:hover{background:#edf4ff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#075eff;color:white;border:1px solid #075eff;padding:11px 21px;border-radius:7px;font-size:13px;font-weight:600;line-height:1.5;transition:background .18s,transform .18s;white-space:nowrap}.btn:hover{background:#004de0;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:wait}.btn svg{width:17px;height:17px}.btn.outline{color:#075eff;background:white;border-color:#cbdcf6}.btn.outline:hover{background:#f0f6ff}.btn.ghost{background:none;color:#53627b;border-color:#dfe5ed}.btn.small{padding:8px 16px}.btn.full{width:100%}.link{border:0;background:none;padding:0;color:#075eff;font-weight:550;font-size:13px;display:inline-flex;gap:8px;align-items:center}.link:hover{text-decoration:underline}.menu-toggle{display:none}.catalog-hero{background:#f1f6fa;overflow:hidden;border-top:1px solid #f2f4f7;position:relative}.catalog-hero .container{position:relative;min-height:337px;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;width:59%;padding:36px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#6b7d92;font-weight:650;text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:14px}.eyebrow:before{content:'';height:2px;width:22px;background:#0865ff}.hero-copy h1{font-size:46px;line-height:1.12;margin-bottom:13px}.hero-copy p{font-size:16px;color:#536580}.hero-image{position:absolute;inset:0 0 0 43%;background-image:linear-gradient(90deg,#f1f6fa 0%,rgba(241,246,250,.35) 25%,transparent 55%),url('/static/assets/hero.jpg');background-size:cover;background-position:center 57%;opacity:.94}.hero-note{position:absolute;right:45px;bottom:29px;background:#fffef5e8;backdrop-filter:blur(12px);border:1px solid #fff;padding:10px 17px;border-radius:9px;display:flex;align-items:center;gap:10px;font-size:11px;box-shadow:0 6px 20px #2039530a}.hero-note svg{color:#079e76}.search-box{margin-top:25px;max-width:485px;height:46px;display:flex;gap:12px;align-items:center;padding:0 15px;background:#fff;border:1px solid #dce3ed;border-radius:7px;box-shadow:0 3px 10px #15223d03}.search-box svg{color:#74839a;width:18px}.search-box input{width:100%;border:0;outline:none;background:transparent;font-size:13px;color:#172947}.search-box input::placeholder{color:#94a0b2}.catalog-section{padding-top:27px;padding-bottom:50px}.filterbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:18px}.filters{display:flex;gap:9px;overflow:auto;scrollbar-width:none}.chip{font-size:12px;background:#fff;border:1px solid #dfe5ef;color:#55647a;padding:8px 20px;border-radius:30px;white-space:nowrap;transition:all .2s}.chip.active{color:white;background:#075eff;border-color:#075eff;box-shadow:0 3px 10px #075eff20}.chip:hover:not(.active){background:#f0f5fc}.count{font-size:12px;color:#7c899b;white-space:nowrap}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.course-card{border:1px solid #e2e7ef;border-radius:10px;overflow:hidden;background:white;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1636580e}.course-art{height:170px;position:relative;overflow:hidden;background:#102338;display:block}.course-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:brightness(.69)}.course-card:hover .course-art img{transform:scale(1.045)}.course-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,#0b1b3466)}.tech-symbol{position:absolute;right:28px;top:50%;transform:translateY(-50%);color:#152030;background:var(--tech);border-radius:11px;min-width:67px;height:67px;display:flex;align-items:center;justify-content:center;z-index:1;font-size:32px;letter-spacing:-2px;font-weight:800;padding:7px;box-shadow:0 7px 20px #0003}.tech-symbol.python{background:none;color:#f5ce45;font-size:47px;text-shadow:3px -4px #367fc0;letter-spacing:-5px}.art-tag{position:absolute;left:16px;top:14px;font-size:9px;letter-spacing:.7px;background:#fffffff2;color:#3b4f66;padding:4px 8px;border-radius:4px;z-index:1}.card-body{padding:18px 19px 17px}.card-body h3{font-size:18px;letter-spacing:-.5px}.card-subtitle{font-size:12px;color:#8995a5;margin-top:4px}.meta{display:flex;align-items:center;gap:14px;color:#7e8b9f;font-size:11px;margin-top:13px}.meta span{display:inline-flex;align-items:center;gap:5px}.meta svg{height:14px;width:14px;color:#7a8d9f}.meta span:first-child svg{color:#22b88e}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.price{color:#075eff;font-size:23px;font-weight:750;letter-spacing:-.7px}.old-price{font-size:11px;text-decoration:line-through;color:#96a0b0;margin-left:8px;font-weight:400;letter-spacing:0}.card-bottom .btn{padding:9px 13px;font-size:11px;gap:11px}.trust-strip{border-top:1px solid #edf0f5;padding-top:28px;margin-top:36px;display:flex;align-items:center;justify-content:center;gap:65px;color:#6c7b90;font-size:12px}.trust-strip span{display:flex;gap:9px;align-items:center}.trust-strip svg{color:#1aaf89;width:17px}.footer{background:#0c2848;color:white;padding:27px 0}.footer .container{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer .logo{font-size:20px}.footer p{font-size:10px;color:#a5b6cc;margin-top:5px}.footer-links{display:flex;gap:26px;align-items:center;font-size:11px;color:#c7d3e2}.footer-links a:hover{color:white}.copyright{font-size:10px;color:#88a1bd;margin-top:9px}.bread{display:flex;gap:8px;align-items:center;font-size:11px;color:#7c8ca2;margin-bottom:22px}.bread a{color:#075eff}.detail-hero{background:#f1f6fa;position:relative;overflow:hidden}.detail-hero .container{position:relative;min-height:324px;padding-top:29px;padding-bottom:30px;display:grid;grid-template-columns:1fr 270px;gap:34px}.detail-hero .hero-image{inset:0 18% 0 30%;opacity:.47}.detail-copy{position:relative;z-index:1;max-width:610px}.detail-copy h1{font-size:43px;margin-bottom:14px}.detail-copy>p{font-size:16px;max-width:425px}.detail-meta{display:flex;gap:23px;margin-top:25px;font-size:11px;flex-wrap:wrap}.detail-meta span{display:flex;align-items:center;gap:7px}.bubble{width:36px;height:36px;border-radius:50%;background:#d9f8ed;display:inline-grid;place-items:center;color:#134d48}.bubble.blue{color:#075eff;background:#e7f0ff}.buy-card{position:relative;z-index:2;align-self:center;padding:22px;background:#fff;border:1px solid #e7ecf2;border-radius:10px;box-shadow:0 8px 24px #22384e0a}.buy-card .price{font-size:34px;display:block;margin-bottom:10px}.buy-card .btn+.btn{margin-top:9px}.buy-perks{border-top:1px solid #edf0f5;margin-top:17px;padding-top:14px;display:grid;gap:12px}.buy-perks>div{display:flex;align-items:center;gap:10px;font-size:11px}.buy-perks p{font-size:10px}.detail-main{padding-top:31px;padding-bottom:55px}.outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;margin-bottom:33px}.outcome{border:1px solid #e8edf4;padding:17px 13px;display:flex;align-items:center;gap:11px;border-radius:7px;font-size:12px}.outcome .bubble{width:33px;height:33px;flex-shrink:0}.detail-columns{display:grid;grid-template-columns:1.8fr 1fr;gap:28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.section-head h2{font-size:23px}.curriculum details{border:1px solid #e2e8f0;border-radius:7px;margin-bottom:8px}.curriculum summary{padding:12px 15px;display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none;font-size:12px;font-weight:600}.curriculum summary::-webkit-details-marker{display:none}.module-num{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#075eff;background:#edf5ff;flex-shrink:0}.curriculum summary small{margin-left:auto;color:#8a97a9;font-weight:400;white-space:nowrap}.curriculum summary svg{width:14px;transition:transform .2s}.curriculum details[open] summary svg{transform:rotate(180deg)}.curriculum-content{border-top:1px solid #edf1f5;padding:12px 18px 15px 54px;color:#708097;font-size:12px}.curriculum-content .link{margin-top:7px}.info-card{padding:22px;border:1px solid #e6ebf2;border-radius:8px;background:#fff}.info-card h3{font-size:17px;margin-bottom:14px}.instructor{display:flex;align-items:center;gap:12px;margin-bottom:11px}.instructor-avatar{background:#e6f2ff;border-radius:10px;width:56px;height:56px;display:grid;place-items:center;color:#075eff;font-size:24px;font-weight:800}.info-card p{font-size:12px}.faq-list{margin-top:23px}.faq-list h3{margin-bottom:12px}.faq-list details{border-bottom:1px solid #e6ebf2;padding:10px 0}.faq-list summary{font-size:12px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq-list summary:after{content:'+';color:#7085a1}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;padding:8px 0;color:#748098}.sample-note{font-size:11px!important;color:#7b89a0!important;margin-top:13px!important}.auth-page{background:#f5f7fb}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:700px;max-width:1400px;margin:auto}.auth-visual{padding:62px max(35px,calc((100vw - 1128px)/2));padding-right:42px;background:#0d2848;color:white;position:relative;overflow:hidden}.auth-visual:after{content:'';position:absolute;inset:53% 0 0;background:linear-gradient(#0d2848,transparent 45%),url('/static/assets/workspace.jpg') center/cover;opacity:.67}.auth-visual .eyebrow{color:#b9cce5}.auth-visual h1{font-size:47px;position:relative;z-index:1}.auth-visual>p{color:#c0cfe2;font-size:16px;margin-top:17px;max-width:330px}.auth-benefits{display:grid;gap:22px;margin-top:30px;position:relative;z-index:1}.auth-benefits>div{display:flex;gap:14px;align-items:center}.auth-benefits .bubble{width:44px;height:44px;background:#b1f3d7}.auth-benefits b{font-size:13px}.auth-benefits p{font-size:11px;color:#b7c8df}.auth-panel{padding:40px;display:grid;align-items:center;justify-content:center}.auth-card{width:390px;max-width:100%;background:white;border:1px solid #edf0f5;box-shadow:0 8px 25px #0b274505;border-radius:10px;padding:31px}.auth-card h2{font-size:27px}.auth-card>p{font-size:12px;margin-top:8px;margin-bottom:23px}.form-field{display:block;margin-bottom:18px;font-size:12px;font-weight:550}.form-field>span{display:block;margin-bottom:7px}.input-wrap{display:flex;align-items:center;gap:9px;border:1px solid #dce3ed;border-radius:6px;height:44px;padding:0 12px;background:white}.input-wrap:focus-within{border-color:#075eff;box-shadow:0 0 0 3px #075eff0d}.input-wrap>svg{color:#8492a5;width:17px}.input-wrap input{width:100%;min-width:0;outline:none;border:0;background:none;color:#182743;font-size:12px}.input-wrap input::placeholder{color:#97a2b3}.input-wrap .icon-btn{width:24px;height:30px}.input-wrap .icon-btn svg{width:17px;color:#8c98a9}.form-message{color:#b72c35;font-size:12px;margin-bottom:12px}.form-message:empty{display:none}.auth-switch{text-align:center;font-size:11px;margin-top:23px;color:#718099}.form-note{font-size:10px!important;line-height:1.7;margin:16px 0!important}.avatar{display:inline-grid;place-items:center;width:32px;height:32px;background:#e6efff;color:#075eff;border-radius:50%;font-weight:650;font-size:12px}.account-link{display:flex;gap:9px;align-items:center;font-size:12px}.dashboard-page{background:#f5f8fc;min-height:calc(100vh - 80px)}.dashboard-layout{max-width:1400px;margin:auto;display:grid;grid-template-columns:202px 1fr}.sidebar{border-right:1px solid #e5edf6;background:#fbfdff;padding:26px 17px;display:flex;flex-direction:column;min-height:740px}.side-nav{display:grid;gap:6px}.side-nav a,.side-nav button{display:flex;align-items:center;gap:12px;font-size:12px;padding:12px 13px;color:#52627c;border-radius:6px;background:none;text-align:left}.side-nav a svg,.side-nav button svg{width:18px}.side-nav a.active{color:#075eff;background:#e7f0ff}.side-nav a:hover,.side-nav button:hover{background:#eef5fc}.side-separator{border-top:1px solid #e7edf5;margin:14px 8px}.sidebar-note{margin-top:auto;padding:18px 13px;background:linear-gradient(125deg,#e0f8ef,#f6fcff);border-radius:8px}.sidebar-note h3{font-size:14px;margin:10px 0 5px}.sidebar-note p{font-size:11px}.dashboard-content{padding:0 27px 35px;min-width:0}.welcome{position:relative;min-height:188px;display:flex;align-items:center;margin:0 -27px;padding:25px 28px;overflow:hidden;background:#edf5fb}.welcome .hero-image{left:48%;opacity:.65}.welcome-copy{position:relative;z-index:1}.welcome h1{font-size:35px}.welcome p{font-size:14px;margin-top:8px}.welcome .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:10px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:19px;margin-top:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.stat{display:flex;align-items:center;gap:12px;background:white;border:1px solid #eaf0f6;padding:18px 13px;border-radius:7px}.stat .bubble{width:41px;height:41px;flex-shrink:0}.stat strong{font-size:25px;font-weight:750;letter-spacing:-1px;display:block;line-height:1.2}.stat small{font-size:10px;color:#8490a1}.dashboard-content .section-head h2{font-size:20px}.dashboard-content .course-grid{gap:14px}.dashboard-content .course-art{height:132px}.dashboard-content .tech-symbol{height:49px;min-width:49px;font-size:25px;right:22px}.dashboard-content .card-body{padding:13px}.dashboard-content .card-body h3{font-size:14px}.dashboard-content .card-subtitle{font-size:10px;min-height:32px}.progress-line{height:6px;background:#e9eef6;border-radius:10px;overflow:hidden}.progress-line span{height:100%;display:block;background:#0763ff;border-radius:10px;transition:width .3s}.progress-row{display:flex;align-items:center;gap:10px;margin:13px 0 6px}.progress-row .progress-line{flex:1}.progress-row b{font-size:9px}.progress-caption{font-size:10px;color:#8a97aa;margin-bottom:11px}.dashboard-content .card-body .btn{font-size:11px;padding:8px}.weekly{background:white;border:1px solid #e8eef5;border-radius:8px;padding:17px}.weekly h3{font-size:16px}.weekly>p{font-size:10px;margin-top:5px}.goal-ring{width:134px;height:134px;border-radius:50%;background:conic-gradient(#0763ff var(--percent),#e8f1fd 0);margin:20px auto;display:grid;place-items:center}.goal-ring>div{width:115px;height:115px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center}.goal-ring strong{font-size:27px;letter-spacing:-1px}.goal-ring span{font-size:11px;color:#8997ad}.next-project{margin-top:16px;background:white;border:1px solid #e8eef5;border-radius:8px;padding:17px}.next-project h3{font-size:15px}.project-mini{margin-top:17px;display:flex;align-items:flex-start;gap:9px}.project-mini .bubble{width:31px;height:31px;flex-shrink:0}.project-mini .bubble svg{width:16px}.project-mini b{font-size:11px;display:block;line-height:1.4}.project-mini p{font-size:10px;margin-top:4px}.activity{margin-top:28px}.activity-list{background:white;border:1px solid #e8eef5;border-radius:8px;padding:0 15px}.activity-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f6}.activity-item:last-child{border:0}.activity-item .bubble{width:30px;height:30px}.activity-item .bubble svg{width:15px}.activity-item strong{font-size:11px;font-weight:550;display:block}.activity-item p{font-size:10px}.activity-item time{margin-left:auto;font-size:9px;color:#8f9bb0;white-space:nowrap}.empty{border:1px dashed #cddbed;background:#ffffffb0;border-radius:10px;padding:37px 24px;text-align:center}.empty>.bubble{width:48px;height:48px;margin-bottom:15px}.empty h3{font-size:20px}.empty p{max-width:390px;margin:9px auto 21px;font-size:12px}.empty.compact{padding:22px}.empty.compact p{margin-bottom:0}.page-title{padding:29px 0 24px}.page-title h1{font-size:31px}.page-title p{font-size:13px;margin-top:8px}.profile-form{max-width:520px}.profile-form input,.profile-form select{width:100%;height:43px;border:1px solid #dce3ed;border-radius:6px;padding:0 12px;background:white}.profile-form input:disabled{background:#f4f7fb;color:#8490a3}.order-card{background:white;border:1px solid #e1e8f2;border-radius:8px;padding:20px;display:flex;align-items:center;gap:15px;margin-bottom:12px}.order-card img{width:72px;height:52px;object-fit:cover;border-radius:5px}.order-card h3{font-size:15px}.order-card p{font-size:11px;margin-top:5px}.order-card .order-price{margin-left:auto;text-align:right;flex-shrink:0}.badge{display:inline-block;background:#fff4d9;color:#98651c;padding:4px 8px;border-radius:5px;font-size:10px}.learning-layout{display:grid;grid-template-columns:250px minmax(0,1fr) 235px;max-width:1440px;margin:auto;min-height:calc(100vh - 80px);background:#f8fbff}.lesson-sidebar{padding:24px 18px;background:#fff;border-right:1px solid #e7edf5}.lesson-course{display:flex;gap:10px;align-items:center;margin-bottom:18px}.lesson-course .tech-symbol{position:static;transform:none;min-width:48px;height:48px;font-size:23px;letter-spacing:-1px;border-radius:7px}.lesson-course h3{font-size:13px;letter-spacing:-.2px}.lesson-course p{font-size:10px;margin-top:5px}.lesson-sidebar>h3{font-size:13px;margin:22px 0 12px}.lesson-list{display:grid;gap:5px}.lesson-item{display:flex;align-items:flex-start;gap:9px;padding:11px 9px;border-radius:5px;width:100%;text-align:left;background:none;color:#31435d}.lesson-item svg{width:15px;height:15px;margin-top:2px;color:#8494aa}.lesson-item span{font-size:11px;line-height:1.4}.lesson-item small{display:block;font-size:9px;color:#98a3b4;margin-top:3px}.lesson-item.active{background:#e7f1ff;color:#075eff}.lesson-item.active svg{color:#075eff}.lesson-item.locked{color:#8a97aa}.lesson-main{padding:25px 27px;min-width:0}.lesson-main h1{font-size:31px;margin-bottom:20px}.lesson-main .bread{margin-bottom:12px}.code-window{background:#13202d;border:1px solid #26374a;border-radius:9px;overflow:hidden;color:#d5e1ee;box-shadow:0 8px 18px #11223a0a}.code-title{height:38px;background:#1c2b3a;display:flex;align-items:center;padding:0 15px;font-size:10px;color:#90a3b8;gap:7px}.code-title i{width:7px;height:7px;border-radius:50%;background:#fa7275}.code-title i:nth-child(2){background:#efd064}.code-title i:nth-child(3){background:#6dc89b}.code-title span{margin-left:15px}.code-inner{padding:27px 25px 32px;min-height:236px;position:relative}.code-comment{color:#83b49a;font-family:Consolas,monospace;font-size:11px;line-height:1.8}.code-inner pre{font-family:Consolas,'Courier New',monospace;font-size:12px;line-height:1.95;color:#b9d7f6;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 0}.code-bottom{border-top:1px solid #ffffff0c;display:flex;align-items:center;gap:8px;padding:10px 15px;font-size:10px;color:#96aabd}.code-bottom svg{width:13px;height:13px;color:#89d8b4}.code-bottom span:last-child{margin-left:auto}.lesson-tabs{display:flex;gap:27px;border-bottom:1px solid #dfe8f4;margin-top:16px}.lesson-tab{background:none;color:#6d7b91;padding:13px 3px;border-bottom:2px solid transparent;font-size:11px;display:flex;align-items:center;gap:6px}.lesson-tab svg{width:15px}.lesson-tab.active{color:#075eff;border-bottom-color:#075eff}.lesson-tab-panel{background:#fff;border:1px solid #e6edf6;border-top:0;padding:22px;margin-bottom:22px;min-height:210px}.lesson-tab-panel h3{font-size:15px;margin-bottom:10px;letter-spacing:-.25px}.lesson-tab-panel p{font-size:12px;line-height:1.9}.lesson-tab-panel ul{font-size:12px;color:#617089;padding-left:18px}.lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.lesson-actions .btn{font-size:11px;padding:10px 13px}.lesson-right{padding:26px 16px 20px 0}.lesson-right .info-card{padding:16px}.lesson-right h3{font-size:14px}.lesson-right .progress-caption{margin-top:8px}.check-list{display:grid;gap:15px;margin-top:19px;border-top:1px solid #e8edf5;padding-top:17px;font-size:11px}.check-list span{display:flex;gap:8px;align-items:center}.check-list svg{width:16px;height:16px;color:#94a6be}.check-list .done svg{color:#14b68c}.help-card{background:linear-gradient(125deg,#e1f9ef,#f1fcff);border-radius:8px;padding:19px;margin-top:17px}.help-card h3{font-size:14px;margin:12px 0 6px}.help-card p{font-size:11px;margin-bottom:15px}.help-card .btn{font-size:10px;padding:8px}.quiz-options{display:grid;gap:8px;margin:17px 0}.quiz-option{border:1px solid #dce5ef;border-radius:6px;display:flex;align-items:center;gap:10px;padding:10px;font-size:12px;cursor:pointer}.quiz-option:has(input:checked){background:#eef5ff;border-color:#075eff}.quiz-feedback{margin-top:13px;padding:12px;border-radius:6px;font-size:12px;background:#fff5df;color:#8e6825}.quiz-feedback.success{background:#e4f9ee;color:#168259}.simple-page{padding-top:50px;padding-bottom:60px;min-height:65vh}.simple-page>h1{font-size:39px;margin-bottom:15px}.simple-page>p{max-width:680px;margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0}.step{padding:27px;border:1px solid #e3eaf3;border-radius:9px}.step .bubble{margin-bottom:20px;font-weight:700}.step h3{margin-bottom:12px}.step p{font-size:13px}.simple-page .faq-list{max-width:780px}.simple-page .faq-list summary{font-size:15px;padding:8px 0}.simple-page .faq-list p{font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0a1b37a3;backdrop-filter:blur(5px);z-index:20;display:grid;place-items:center;padding:20px}.modal{background:white;border-radius:13px;max-width:450px;width:100%;padding:29px;position:relative;box-shadow:0 20px 80px #0015364d;max-height:90vh;overflow:auto}.modal>.icon-btn{position:absolute;right:13px;top:12px}.modal h2{font-size:25px;margin:8px 25px 14px 0}.modal p{font-size:13px;margin-bottom:19px}.checkout-item{display:flex;gap:13px;align-items:center;border:1px solid #e4ebf4;border-radius:8px;padding:12px;margin:20px 0}.checkout-item img{width:78px;height:58px;object-fit:cover;border-radius:5px}.checkout-item h3{font-size:14px;margin-bottom:6px}.checkout-item .price{font-size:20px}.modal .notice{background:#f0f6ff;border-radius:7px;padding:14px;color:#527298;font-size:12px;line-height:1.8}.modal .btn+.btn{margin-top:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);background:#112e4e;color:white;box-shadow:0 7px 25px #0e26452b;border-radius:8px;padding:13px 22px;z-index:40;opacity:0;pointer-events:none;transition:.2s;font-size:13px;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.loading{padding:100px 25px;text-align:center;color:#75849a}.skip-link{position:fixed;top:-100px;left:15px;background:#075eff;color:white;padding:10px;z-index:100}.skip-link:focus{top:10px}.mobile-lesson-menu{display:none}.error-page{padding:90px 20px;text-align:center}.error-page h1{font-size:37px}.error-page p{margin:20px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{border:1px solid #e4eaf3;border-radius:9px;overflow:hidden}.project-card img{width:100%;height:155px;object-fit:cover}.project-card>div{padding:20px}.project-card h3{font-size:18px;margin-bottom:8px}.project-card p{font-size:12px;margin-bottom:17px}.project-card .badge{margin-bottom:12px;background:#eaf3ff;color:#075eff}
@media(min-width:1450px){.container{max-width:1260px}.catalog-hero .container{min-height:365px}.hero-copy h1{font-size:50px}.course-art{height:190px}}
@media(max-width:1100px){.header{gap:35px}.nav{gap:20px}.container{padding:0 25px}.hero-copy h1{font-size:40px}.hero-note{right:25px}.course-grid{gap:18px}.course-art{height:145px}.card-body{padding:16px}.card-bottom{gap:6px}.card-bottom .btn{padding:9px 10px}.old-price{display:none}.dashboard-layout{grid-template-columns:180px 1fr}.dashboard-columns{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.next-project{margin:0}.weekly{position:relative;min-height:190px;padding-right:150px}.goal-ring{position:absolute;right:13px;top:10px}.learning-layout{grid-template-columns:220px minmax(0,1fr)}.lesson-right{display:none}.detail-copy h1{font-size:36px}.detail-meta{gap:12px}.auth-visual{padding:55px 35px}.auth-visual h1{font-size:40px}.auth-panel{padding:30px}.auth-card{width:360px}.footer-links{gap:18px}}
@media(max-width:760px){body{font-size:13px}.container{padding-left:20px;padding-right:20px}.header{height:67px;gap:12px}.logo{font-size:21px}.logo i{margin-bottom:9px;width:6px;height:6px}.header-actions{gap:6px}.header-actions>.icon-btn{display:none}.header-actions .btn{padding:7px 12px;font-size:11px}.menu-toggle{display:grid}.nav{display:none;position:absolute;z-index:10;left:0;right:0;top:67px;background:white;padding:22px;box-shadow:0 12px 20px #152d4914;gap:20px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.catalog-hero .container{min-height:300px}.hero-copy{width:78%;padding:30px 0}.hero-copy h1{font-size:35px;max-width:400px}.hero-copy p{font-size:14px;max-width:300px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-image{left:35%;opacity:.35}.hero-note{display:none}.search-box{height:43px;margin-top:20px}.filterbar{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:20px}.filters{width:100%;gap:7px}.chip{font-size:11px;padding:7px 16px}.count{font-size:10px}.catalog-section{padding-top:20px;padding-bottom:30px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.course-art{height:125px}.card-body h3{font-size:16px}.card-subtitle{font-size:10px}.meta{gap:9px;font-size:9px}.meta svg{width:12px}.card-bottom{align-items:flex-start;flex-direction:column;gap:10px;margin-top:12px}.card-bottom .btn{width:100%;font-size:10px}.price{font-size:21px}.tech-symbol{min-width:49px;height:49px;font-size:25px;right:20px;border-radius:7px}.tech-symbol.python{font-size:37px}.art-tag{font-size:8px;padding:3px 6px;left:10px;top:10px}.trust-strip{gap:18px;flex-wrap:wrap;font-size:10px;margin-top:25px;padding-top:22px}.trust-strip svg{width:14px}.footer .container{align-items:flex-start;flex-direction:column;gap:19px}.footer-links{flex-wrap:wrap;gap:14px;font-size:10px}.detail-hero .container{padding-top:20px;padding-bottom:25px;grid-template-columns:1fr;gap:22px}.detail-hero .hero-image{inset:0;opacity:.12}.detail-copy h1{font-size:35px}.detail-copy>p{font-size:14px}.detail-meta{font-size:10px;gap:12px}.detail-meta .bubble{width:29px;height:29px}.detail-meta .bubble svg{width:15px}.buy-card{max-width:none;padding:20px}.buy-card .price{font-size:29px}.buy-perks{grid-template-columns:1fr 1fr}.outcomes{grid-template-columns:1fr 1fr;gap:9px}.outcome{font-size:11px;padding:13px 10px}.detail-columns{grid-template-columns:1fr}.detail-main{padding-top:26px}.section-head h2{font-size:21px}.auth-layout{grid-template-columns:1fr;min-height:calc(100vh - 67px)}.auth-visual{display:none}.auth-panel{padding:30px 20px;align-items:start}.auth-card{width:420px;padding:26px 23px}.auth-card h2{font-size:27px}.dashboard-layout{display:block}.sidebar{display:none;position:fixed;inset:67px auto 0 0;width:225px;z-index:9;box-shadow:20px 0 60px #0c294929;min-height:0}.sidebar.open{display:flex}.dashboard-content{padding:0 18px 25px}.welcome{margin:0 -18px;padding:24px 20px;min-height:166px}.welcome h1{font-size:29px}.welcome p{font-size:12px}.welcome .hero-image{opacity:.24;left:32%}.dashboard-columns{margin-top:16px}.stats{gap:8px;margin-bottom:24px}.stat{flex-direction:column;align-items:flex-start;gap:8px;padding:13px}.stat .bubble{width:31px;height:31px}.stat .bubble svg{width:17px}.stat strong{font-size:23px}.stat small{font-size:9px}.dashboard-content .course-grid{grid-template-columns:1fr}.dashboard-content .course-card{display:grid;grid-template-columns:110px 1fr;padding:11px;gap:13px}.dashboard-content .course-art{height:100%;min-height:135px;border-radius:5px}.dashboard-content .card-body{padding:0}.dashboard-content .card-subtitle{min-height:0}.dashboard-content .tech-symbol{right:50%;transform:translate(50%,-50%)}.dashboard-content .art-tag{display:none}.dashboard-aside{grid-template-columns:1fr}.weekly{min-height:185px}.next-project{display:none}.activity-item time{font-size:8px}.activity-item p{font-size:9px}.account-link>span:not(.avatar){display:none}.learning-layout{display:block}.lesson-sidebar{display:none;position:fixed;top:67px;bottom:0;left:0;width:275px;z-index:11;overflow:auto;box-shadow:10px 0 50px #132b4933}.lesson-sidebar.open{display:block}.lesson-main{padding:22px 18px}.lesson-main h1{font-size:27px}.mobile-lesson-menu{display:inline-flex;margin-bottom:15px}.code-inner{padding:20px 17px;min-height:225px}.code-inner pre{font-size:10px}.code-comment{font-size:9px}.lesson-tabs{gap:21px}.lesson-tab{font-size:10px}.lesson-tab-panel{padding:18px}.lesson-actions{flex-wrap:wrap}.lesson-actions .btn{flex:1;font-size:10px}.simple-page{padding-top:30px;padding-bottom:40px}.simple-page>h1{font-size:31px}.steps,.project-grid{grid-template-columns:1fr}.order-card{padding:14px;gap:10px}.order-card img{display:none}.order-card h3{font-size:13px}.order-card p{font-size:10px}.order-card .badge{font-size:8px}.page-title h1{font-size:27px}.outcome .bubble{width:26px;height:26px}.outcome .bubble svg{width:16px}}
@media(max-width:430px){.hero-copy{width:100%}.hero-copy h1{font-size:33px}.hero-image{opacity:.15;left:25%}.course-grid{grid-template-columns:1fr;gap:12px}.catalog-section .course-card{display:grid;grid-template-columns:108px 1fr;padding:10px;gap:13px;border-radius:8px}.catalog-section .course-art{height:100%;min-height:135px;border-radius:5px}.catalog-section .tech-symbol{right:50%;transform:translate(50%,-50%)}.catalog-section .art-tag{display:none}.catalog-section .card-body{padding:4px 2px 2px 0;min-width:0}.catalog-section .card-body h3{font-size:15px}.catalog-section .card-subtitle{font-size:9px}.catalog-section .meta{margin-top:9px;font-size:9px;gap:8px}.catalog-section .card-bottom{flex-direction:row;align-items:center;gap:7px;margin-top:14px}.catalog-section .card-bottom .btn{width:auto;font-size:9px;padding:7px 8px;gap:4px}.catalog-section .card-bottom .btn svg{width:12px}.catalog-section .price{font-size:19px}.trust-strip{justify-content:flex-start;gap:13px}.buy-perks{gap:10px}.buy-perks .bubble{width:30px;height:30px}.buy-perks>div{font-size:10px}.buy-perks p{font-size:9px}}

@media(max-width:760px){.header-actions>.menu-toggle{display:grid}}

/* Owner catalogue and all-access subscriptions */
.actual-cover{height:auto;aspect-ratio:270/160;background:#f6f5f8}
.actual-cover:after{display:none}.actual-cover img{filter:none;object-fit:contain;display:block;width:100%;height:100%}
.course-card:hover .actual-cover img{transform:none}.subscription-course{display:flex;flex-direction:column}.subscription-course .card-body{display:flex;flex-direction:column;flex:1}
.subscription-course .card-body h3{font-size:17px;line-height:1.35;min-height:46px;letter-spacing:-.5px}.subscription-course .card-subtitle{min-height:38px;line-height:1.6}.subscription-course .card-bottom{margin-top:auto;padding-top:17px}
.course-category{font-size:10px;font-weight:600;letter-spacing:.6px;color:#075eff;margin-bottom:8px}.from-price{font-size:10px;color:#8995a6}.from-price b{display:block;font-size:21px;color:#075eff;letter-spacing:-.5px}
.phase-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:#f6f5f8;text-align:center}.phase-cover small{font-size:5px;letter-spacing:1px;border:1px solid #dedce6;padding:2px 6px;border-radius:15px;margin-bottom:8px}.phase-cover strong{font-size:27px;font-weight:800;letter-spacing:-1.4px;line-height:1.02;color:#111}.phase-cover em{font-style:normal;background:linear-gradient(90deg,#4d9bfa,#a752e5,#ef7976);color:transparent;background-clip:text}.phase-cover>span{font-size:7px;color:#8991a0;margin-top:8px}
.new-course-hero{background:#f1f6fb;padding:42px 0}.new-course-hero .container{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.new-course-hero h1{font-size:40px;line-height:1.15;max-width:650px}.new-course-hero p{margin-top:16px;font-size:15px}.new-course-meta{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0;font-size:11px;color:#74859a}.new-course-meta span{display:flex;align-items:center;gap:7px}.new-course-meta svg{width:16px;color:#0d9d80}.detail-cover{border:1px solid #dfe7f0;border-radius:12px;overflow:hidden;box-shadow:0 16px 45px #152c4510}.detail-cover .phase-cover strong{font-size:38px}
.pricing-hero{text-align:center;padding:55px 20px 42px;background:radial-gradient(ellipse at 80% 20%,#e4f5f4,transparent 60%),#f1f6fc}.pricing-hero .eyebrow{justify-content:center}.pricing-hero h1{font-size:43px}.pricing-hero p{font-size:16px;margin:17px 0 24px}.pricing-perks{display:flex;gap:30px;justify-content:center;font-size:12px;color:#597088}.pricing-perks span{display:flex;gap:8px;align-items:center}.pricing-perks svg{color:#139b83;width:17px}.pricing-section{padding-top:38px;padding-bottom:55px}.pricing-notice{display:flex;gap:12px;align-items:flex-start;padding:15px 18px;background:#f0f6ff;border:1px solid #dfeafa;border-radius:8px;margin:22px 0 30px}.pricing-notice svg{color:#075eff;margin-top:3px}.pricing-notice p{font-size:12px}.pricing-notice b{color:#334f73}.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.plan-card{position:relative;border:1px solid #e0e7f1;border-radius:10px;padding:23px 18px;background:white;display:flex;flex-direction:column}.plan-card .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:13px}.plan-card .eyebrow:before{display:none}.plan-card h2{font-size:24px}.plan-price{font-size:33px;font-weight:750;letter-spacing:-1.3px;color:#075eff;margin-top:18px;line-height:1.2}.plan-price span{font-size:10px;letter-spacing:0;color:#8593a7;margin-left:7px;font-weight:500}.plan-card>p{font-size:10px;margin-top:8px}.plan-divider{border-top:1px solid #e8edf5;margin:19px 0 4px}.plan-card ul{list-style:none;padding:0;display:grid;gap:10px;margin:12px 0 23px;font-size:10px;color:#65748a}.plan-card li{display:flex;gap:7px;align-items:center}.plan-card li svg{width:13px;height:13px;color:#19ad87}.plan-card .btn{font-size:11px;padding:10px;margin-top:auto}.plan-card.featured{border:2px solid #075eff;background:linear-gradient(150deg,#f0f6ff,white 75%)}.plan-ribbon{position:absolute;top:-11px;right:12px;font-size:9px;color:white;background:#075eff;padding:3px 10px;border-radius:12px}.pricing-faq{max-width:770px;margin:48px auto 0}.pricing-faq h2{text-align:center}.subscription-summary{display:flex;align-items:center;justify-content:space-between;background:#f3f7fd;border:1px solid #e2eaf5;border-radius:8px;padding:17px;margin:22px 0;font-size:15px}.subscription-summary small{font-size:10px;color:#8190a5;display:block;font-weight:400}.subscription-summary b{font-size:27px;color:#075eff;text-align:right;letter-spacing:-1px}.membership-status{display:flex;align-items:center;gap:15px;background:#edf4ff;border:1px solid #d9e7fc;border-radius:9px;padding:20px}.membership-status h3{font-size:16px}.membership-status p{font-size:11px;margin-top:5px}.membership-status .btn{margin-left:auto}.subscription-request .bubble{width:38px;height:38px}
@media(max-width:1100px){.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.new-course-hero .container{gap:30px}.new-course-hero h1{font-size:33px}}
@media(max-width:760px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.plan-card{padding:20px 14px}.plan-card h2{font-size:22px}.plan-price{font-size:29px}.plan-card ul{font-size:9px}.pricing-hero{padding:35px 0}.pricing-hero h1{font-size:32px}.pricing-hero p{font-size:14px}.pricing-perks{gap:14px;font-size:10px}.pricing-perks svg{width:14px}.pricing-section{padding-top:25px}.pricing-section .section-head{align-items:flex-start;flex-direction:column}.new-course-hero .container{grid-template-columns:1fr;gap:25px}.new-course-hero{padding:25px 0}.new-course-hero h1{font-size:31px}.new-course-hero .detail-cover{max-width:520px;width:100%}.membership-status{flex-wrap:wrap;padding:17px;gap:12px}.membership-status .btn{margin-left:0}.membership-status p{max-width:220px}.detail-cover .phase-cover strong{font-size:38px}.subscription-course .card-body h3{font-size:16px}.subscription-course .card-bottom{flex-direction:row;align-items:center}.subscription-course .card-bottom .btn{width:auto}}
@media(max-width:430px){.catalog-section .subscription-course{display:flex;flex-direction:column;padding:0;gap:0}.catalog-section .subscription-course .course-art{height:auto;min-height:0;aspect-ratio:270/160;border-radius:0}.catalog-section .subscription-course .card-body{padding:17px}.catalog-section .subscription-course .card-body h3{min-height:0;font-size:18px}.catalog-section .subscription-course .card-subtitle{min-height:0;font-size:12px;margin-top:6px}.catalog-section .subscription-course .meta{font-size:10px;margin-top:12px}.catalog-section .subscription-course .card-bottom .btn{font-size:11px;padding:9px 13px}.phase-cover strong{font-size:32px}.plan-card .btn{font-size:10px}.plan-card li{align-items:flex-start}.pricing-perks{flex-wrap:wrap}.pricing-notice{padding:13px}.plan-ribbon{font-size:8px;right:5px}.plan-card>p{font-size:9px}.order-card.subscription-request>.bubble{display:none}}

.stripe-pay{display:flex;margin-top:10px;font-size:11px}.subscription-request .order-price{min-width:150px}@media(max-width:430px){.subscription-request{flex-wrap:wrap}.subscription-request .order-price{margin-left:0;width:100%;text-align:left}.subscription-request .stripe-pay{width:100%}}

.paid-badge{background:#dff7eb;color:#147853}.payment-refresh{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:16px}.payment-refresh>span{font-size:10px;color:#8c98aa}
