:root{--primary:#5d87ff;--primary-light:#ecf2ff;--secondary:#49beff;--success:#13deb9;--warning:#ffae1f;--danger:#fa896b;--heading:#2a3547;--muted:#5a6a85;--border:#e5eaef;--surface-soft:#f6f9fc;--term-bg:#1b1d21;--term-ink:#e6e6e6;--card-shadow:0 0 2px #919eab33, 0 12px 24px -4px #919eab1f}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--heading);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;margin:0;font-family:Plus Jakarta Sans,Segoe UI,Helvetica,Arial,sans-serif}button,input,textarea,select{font:inherit}a{color:var(--primary)}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.brand-mark{flex:0 0 30px;width:30px;height:30px;display:inline-flex;position:relative;transform:rotate(-10deg)}.brand-mark-lg{flex:0 0 44px;width:44px;height:44px}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";background:var(--primary);border-radius:8px;width:12px;position:absolute}.brand-mark-lg:before,.brand-mark-lg:after,.brand-mark-lg span{border-radius:10px;width:17px}.brand-mark:before{height:23px;top:5px;left:2px}.brand-mark-lg:before{height:34px;top:7px;left:3px}.brand-mark:after{background:var(--secondary);height:17px;top:0;right:2px}.brand-mark-lg:after{height:25px;top:0;right:3px}.brand-mark span{background:var(--success);height:10px;bottom:0;right:2px}.brand-mark-lg span{height:15px;right:3px}.site-header{z-index:40;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#ffffffdb;padding:0 24px;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #919eab0f,0 8px 24px -12px #2a35471f}.site-header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1080px;height:72px;margin:0 auto;display:flex}.site-header-brand{color:var(--heading);align-items:center;gap:12px;font-size:16px;font-weight:700;text-decoration:none;transition:opacity .15s;display:flex}.site-header-brand:hover{color:var(--heading);opacity:.75}.site-header-logo{width:auto;height:22px}.site-header-divider{background:var(--border);width:1px;height:20px}.site-header-nav{align-items:center;gap:10px;display:flex}.nav-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:7px;height:40px;padding:0 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex}.nav-pill-ghost{color:var(--muted);background:0 0}.nav-pill-ghost:hover{color:var(--primary);background:var(--primary-light)}.nav-pill-primary{color:#fff;background:linear-gradient(135deg, var(--primary), #4f7cf0);box-shadow:0 8px 18px -8px #5d87ffa6}.nav-pill-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 22px -8px #5d87ffbf}.nav-pill-primary:active{transform:translateY(0)}.site-shell{background:#fff;min-height:100vh;padding-top:72px}.page-container{width:100%;max-width:1080px;margin:0 auto;padding:0 24px 80px}.hero-section{border-bottom:1px solid var(--border);background:#f5f8ff;padding:64px 24px 56px;position:relative;overflow:hidden}.hero-backdrop{pointer-events:none;position:absolute;inset:0}.hero-backdrop:before{content:"";background:linear-gradient(145deg,#5d87ff2e,#49beff0a);border-radius:50%;width:620px;height:620px;position:absolute;top:-280px;left:-220px}.hero-backdrop span{background:#5d87ff1f;border-radius:50%;position:absolute}.hero-backdrop span:first-child{width:24px;height:24px;top:24%;left:12%}.hero-backdrop span:nth-child(2){background:#13deb91c;width:160px;height:160px;bottom:-60px;right:-40px}.hero-backdrop span:nth-child(3){background:#ffae1f1f;width:60px;height:60px;top:12%;right:20%}.hero-inner{width:100%;max-width:1080px;margin:0 auto;position:relative}.hero-inner .brand-mark{margin-bottom:20px}.hero-eyebrow{background:var(--primary-light);color:var(--primary);letter-spacing:.02em;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.hero-title{max-width:20ch;margin:18px 0 12px!important}.hero-lead{max-width:62ch;color:var(--muted);font-size:16px;line-height:1.65}.hero-pipeline{flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;display:flex}.hero-pipeline-step{border:1px solid var(--border);box-shadow:var(--card-shadow);color:var(--heading);white-space:nowrap;background:#fff;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.hero-pipeline-arrow{color:var(--muted);font-size:13px}.section{padding:56px 0 0}.section-heading{margin-bottom:8px!important}.section-subhead{color:var(--muted);margin:0 0 28px;font-size:15px}.trainer-card{text-align:center;border-color:var(--border);height:100%;box-shadow:var(--card-shadow)}.trainer-card .ant-card-body{padding:28px 20px}.trainer-photo{object-fit:cover;border:3px solid var(--primary-light);border-radius:50%;width:88px;height:88px}.trainer-name{margin:14px 0 2px!important}.arch-diagram{flex-direction:column;align-items:center;gap:2px;margin-top:16px;display:flex}.arch-box{border:1px solid var(--border);width:100%;max-width:640px;box-shadow:var(--card-shadow);background:#fff;border-radius:12px;padding:18px 22px}.arch-box-header{color:var(--heading);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.arch-box-icon{background:var(--primary-light);width:34px;height:34px;color:var(--primary);border-radius:9px;flex:0 0 34px;place-items:center;font-size:16px;display:grid}.arch-box-desc{color:var(--muted);margin:8px 0 12px;font-size:13px;line-height:1.55}.arch-chips{flex-wrap:wrap;gap:8px;display:flex}.arch-chip{background:var(--surface-soft);color:var(--heading);border-radius:999px;align-items:center;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.arch-arrow{color:var(--muted);margin:4px 0;font-size:16px}.arch-support-row{gap:20px;width:100%;max-width:640px;margin-top:4px;display:flex}.arch-support-col{flex-direction:column;flex:1;align-items:center;display:flex}.arch-box-support{padding:14px 18px}.arch-box-support .arch-box-header{font-size:14px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px;display:grid}.feature-card{border:1px solid var(--border);box-shadow:var(--card-shadow);background:#fff;border-radius:12px;padding:22px 20px}.feature-icon{border-radius:10px;place-items:center;width:40px;height:40px;margin-bottom:12px;font-size:19px;display:grid}.feature-icon-c0{background:var(--primary-light);color:var(--primary)}.feature-icon-c1{color:var(--success);background:#e8fbf6}.feature-icon-c2{color:var(--warning);background:#fff4e2}.feature-icon-c3{color:var(--secondary);background:#eef6ff}.feature-title{color:var(--heading);margin-bottom:6px;font-size:15px;font-weight:700}.feature-desc{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.prereq-layout{grid-template-columns:240px 1fr;align-items:flex-start;gap:32px;display:grid}.prereq-steps-rail{position:sticky;top:96px}.prereq-progress{margin-bottom:18px}.prereq-card{border-color:var(--border);box-shadow:var(--card-shadow);scroll-margin-top:90px}.prereq-layout .prereq-card{margin-bottom:32px}.prereq-card .ant-card-head{border-bottom-color:var(--border)}.prereq-card-title{align-items:center;gap:10px;display:flex}.prereq-card-number{background:var(--primary-light);width:28px;height:28px;color:var(--primary);border-radius:50%;flex:0 0 28px;place-items:center;font-size:13px;font-weight:700;display:grid}.prereq-card-number.is-done{background:var(--success);color:#fff}.prereq-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.code-block{background:var(--term-bg);color:var(--term-ink);border-radius:8px;margin:10px 0;padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.code-block pre{white-space:pre-wrap;word-break:break-word;margin:0}.field-note{background:var(--surface-soft);color:var(--muted);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.55}.field-note strong{color:var(--heading)}.prereq-ordered-list{color:var(--muted);margin:0;padding-left:20px;font-size:14px;line-height:1.65}.prereq-ordered-list li+li{margin-top:6px}.completion-card{text-align:center;background:linear-gradient(145deg,#eef3ff,#fff);border:0;border-radius:16px}.completion-card .ant-card-body{padding:44px 32px}.link-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px;display:grid}.link-tile{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.link-tile:hover{border-color:var(--primary);box-shadow:var(--card-shadow)}.link-tile-label{color:var(--heading);font-size:14px;font-weight:600;display:block}.link-tile-desc{color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.site-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:28px 24px 40px;font-size:13px}.login-shell{background:#f5f8ff;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--card-shadow);text-align:center;background:#fff;border-radius:12px;flex-direction:column;gap:14px;padding:40px 32px;display:flex}.login-logo{width:auto;height:26px;margin:0 auto 8px}.login-title{color:var(--heading);margin:0;font-size:20px;font-weight:700}.login-lead{color:var(--muted);margin:-6px 0 4px;font-size:14px}.login-error{color:var(--danger);margin:-4px 0 0;font-size:13px}.feedback-form{max-width:640px}.feedback-rating-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.feedback-rating-desc{font-size:13px;margin:2px 0 0!important}.feedback-suggestions-label{margin:20px 0 8px;display:block}.feedback-thanks{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:480px;min-height:60vh;margin:0 auto;display:flex}.feedback-thanks-icon{color:var(--success);margin-bottom:12px;font-size:40px}@media (max-width:900px){.prereq-layout{grid-template-columns:1fr}.prereq-steps-rail{position:static}}@media (max-width:640px){.site-header{padding:0 16px}.hero-section{padding:44px 16px 40px}.page-container{padding:0 16px 60px}.feedback-rating-row{flex-direction:column;align-items:flex-start;gap:8px}.arch-support-row{flex-direction:column}}
