:root{--ink:#17213b;--muted:#667085;--line:#dfe4ec;--paper:#f7f9fc;--white:#fff;--blue:#1265df;--blue-dark:#0c45a0;--yellow:#ffd43b;--mint:#dff8ef;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;font-size:16px;line-height:1.65}a{color:inherit}.site-header{background:var(--ink);color:#fff;border-bottom:4px solid var(--yellow);justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,5vw,72px);display:flex}.brand{align-items:center;gap:10px;line-height:1.05;text-decoration:none;display:flex}.brand-mark{background:var(--yellow);width:36px;height:36px;color:var(--ink);border-radius:8px 2px;place-items:center;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand small{color:#aeb8cb;letter-spacing:.08em;font-size:.72rem}.site-header nav{align-items:center;gap:20px;font-weight:700;display:flex}.site-header nav a{text-decoration:none}.prototype-pill{color:#cfd6e4;border:1px solid #536079;border-radius:99px;padding:3px 9px;font-size:.75rem}.home-shell{max-width:1328px;margin:0 auto;padding:clamp(56px,8vw,100px) 24px}.intro{max-width:760px;margin:0 auto 72px}.eyebrow,.chapter-number{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:800}.intro h1{letter-spacing:-.055em;max-width:700px;margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:.98}.intro>p:last-child{max-width:650px;color:var(--muted);margin-top:26px;font-size:1.2rem}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;padding-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}.section-heading>span{white-space:nowrap;color:var(--muted)}.guide-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.guide-card{background:var(--white);border:1px solid var(--line);cursor:pointer;padding:28px;transition:box-shadow .2s;position:relative;box-shadow:0 12px 30px #17213b0f}.guide-card:hover{box-shadow:0 16px 38px #17213b24}.guide-card:has(h3 a:focus-visible){outline:3px solid var(--blue);outline-offset:3px;box-shadow:0 16px 38px #17213b24}.guide-cover{aspect-ratio:16/9;background:#e8eef7;margin:-28px -28px 24px;display:block;overflow:hidden}.guide-cover img{object-fit:cover;width:100%;height:100%;display:block}.guide-card h3{margin:24px 0 10px;font-size:1.55rem;line-height:1.2}.guide-card h3 a{text-decoration:none}.guide-card h3 a:after{content:"";position:absolute;inset:0}.card-difficulty{color:var(--muted);margin:0 0 14px;font-size:.9rem;font-weight:750}.card-tags{flex-wrap:wrap;gap:8px;display:flex}.card-tags span{color:#315b91;letter-spacing:.04em;text-transform:uppercase;background:#f2f7ff;border:1px solid #c7d7ec;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:800}.guide-layout{background:var(--white);grid-template-columns:minmax(280px,340px) minmax(0,1fr);width:min(1280px,100% - 48px);min-height:calc(100vh - 136px);margin:32px auto;display:grid;box-shadow:0 18px 50px #17213b14}.guide-sidebar{color:#eef5ff;background:#0d1b36;border-right:1px solid #1f3358;padding:42px 32px 60px}.guide-sidebar .eyebrow{color:#7db2ff}.back-link{color:#afc3e5;margin-bottom:32px;font-size:.9rem;text-decoration:none;display:inline-block}.guide-sidebar h1{margin:0;font-size:1.45rem;line-height:1.2}.guide-facts{color:#afc3e5;gap:10px;margin:16px 0 30px;font-size:.8rem;display:flex}.guide-facts span+span:before{content:"·";margin-right:10px}.guide-sidebar ol{border-top:1px solid #263b60;margin:0;padding:0;list-style:none}.guide-sidebar li{border-bottom:1px solid #263b60}.guide-sidebar li a{grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:15px 8px;font-size:.92rem;line-height:1.3;text-decoration:none;display:grid}.guide-sidebar li a>span:first-child{color:#7894bd;font-family:ui-monospace,monospace;font-size:.75rem}.guide-sidebar li small{background:var(--mint);color:#167256;letter-spacing:.06em;padding:2px 5px;font-size:.58rem;font-weight:850}.guide-sidebar li.active{background:#193d70;box-shadow:inset 4px 0 #79b3ff}.guide-sidebar li.active>.page-link,.guide-sidebar li.active>.group-row>.page-link{color:#fff;font-weight:800}.group-row{grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;display:grid}.group-row .page-link{min-width:0}.subtopic-toggle{color:#8fc0ff;cursor:pointer;font:inherit;background:0 0;border:0;border-left:1px solid #263b60;font-size:1.1rem}.subtopic-toggle:hover,.subtopic-toggle:focus-visible{outline-offset:-2px;background:#18345f;outline:2px solid #79b3ff}.subtopic-toggle span{transition:transform .18s;display:inline-block}.has-children.open .subtopic-toggle span{transform:rotate(180deg)}.guide-sidebar .subtopics{border:0;margin:0 0 8px;padding:0 0 6px 28px;list-style:none}.guide-sidebar .subtopics[hidden]{display:none}.guide-sidebar .subtopics li{box-shadow:none;background:0 0;border:0}.guide-sidebar .subtopics li a{color:#b8c9e5;grid-template-columns:18px 1fr auto;padding:10px 8px;font-size:.86rem}.guide-sidebar .subtopics li.active a{color:#fff;background:#234a83;border-radius:6px;font-weight:800}.guide-content{background:var(--white);width:100%;padding:42px clamp(32px,6vw,84px) 80px}.breadcrumb{color:var(--muted);white-space:nowrap;gap:8px;margin-bottom:56px;font-size:.82rem;display:flex;overflow:hidden}.breadcrumb span:last-child{text-overflow:ellipsis;overflow:hidden}.guide-content h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.1rem,5vw,4rem);line-height:1}.lead{max-width:660px;color:var(--muted);margin:24px 0 32px;font-size:1.2rem}.reuse-note{background:var(--mint);color:#145c47;border-left:4px solid #20a57a;gap:2px;margin:30px 0;padding:17px 20px;display:grid}.prose{font-size:1.08rem}.prose h2{letter-spacing:-.02em;margin-top:44px;font-size:1.65rem}.prose img{width:auto;max-width:100%;max-height:680px;box-shadow:none;background:0 0;border:0;margin:30px auto 10px;display:block}.prose table{border-collapse:collapse;width:100%;margin:28px 0;font-size:.96rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 13px}.prose th{color:var(--blue-dark);background:#edf4ff}.prose code{background:#e9edf4;border-radius:4px;padding:.12em .35em;font-size:.9em}.prose blockquote{background:#fff8d8;border-left:4px solid #e7b900;margin:28px 0;padding:18px 22px}.prose blockquote p{margin:0}.chapter-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;margin-top:64px;padding-top:24px;display:grid}.chapter-nav a{text-decoration:none;display:grid}.chapter-nav a.next{text-align:right}.chapter-nav small{color:var(--muted);letter-spacing:.1em;font-size:.68rem;font-weight:800}.chapter-nav span{color:var(--blue-dark);font-weight:800}@media (width<=980px){.guide-layout{width:100%;min-height:calc(100vh - 72px);box-shadow:none;grid-template-columns:280px minmax(0,1fr);margin:0}.guide-content{padding:36px 32px 64px}}@media (width<=760px){.site-header{height:64px}.prototype-pill{display:none}.guide-grid{grid-template-columns:1fr}.section-heading{align-items:start}.guide-layout{min-height:calc(100vh - 64px);display:block}.guide-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:28px 20px}.guide-sidebar nav{max-height:260px;overflow:auto}.guide-content{padding:36px 22px 64px}.breadcrumb{margin-bottom:36px}.chapter-nav{grid-template-columns:1fr}.chapter-nav a.next{text-align:left}}.lms-shell{max-width:1160px;min-height:calc(100vh - 72px);margin:0 auto;padding:52px 24px 100px}.lms-topline,.lms-section-title,.lms-welcome,.lms-course-meta,.lms-progress-copy{justify-content:space-between;align-items:center;gap:18px;display:flex}.lms-demo-tag{color:#4c6484;letter-spacing:.08em;border:1px solid #cbd8e9;border-radius:99px;padding:6px 10px;font-size:.68rem;font-weight:850}.lms-welcome{align-items:end;margin:28px 0 36px}.lms-welcome h1,.lms-auth-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.02}.lms-welcome p:last-child,.lms-auth-copy>p{color:var(--muted);margin:14px 0 0;font-size:1.1rem}.lms-kicker{color:var(--blue);margin:0 0 8px;font-size:.85rem;font-weight:800}.lms-wave{font-size:.65em}.lms-text-link{color:var(--blue-dark);white-space:nowrap;font-weight:800;text-decoration:none}.lms-text-link:hover{text-decoration:underline}.lms-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lms-stat,.lms-panel{background:var(--white);border:1px solid var(--line);box-shadow:0 12px 30px #17213b0b}.lms-stat{gap:5px;min-height:158px;padding:22px 26px;display:grid}.lms-stat-icon{color:var(--blue);font-size:1.4rem;line-height:1}.lms-stat strong{font-size:2.1rem;line-height:1}.lms-stat>span:last-child{color:var(--muted);font-size:.85rem;font-weight:700}.lms-course-section{margin-top:62px}.lms-section-title{align-items:end;margin-bottom:22px}.lms-section-title h2{letter-spacing:-.035em;margin:0;font-size:2rem}.lms-section-title>span{color:var(--muted)}.lms-course-card{background:var(--white);border:1px solid var(--line);grid-template-columns:42% 1fr;display:grid;overflow:hidden;box-shadow:0 18px 38px #17213b0f}.lms-course-card>img{object-fit:cover;width:100%;height:100%;min-height:370px}.lms-course-body{padding:36px 40px}.lms-course-meta{color:var(--muted);justify-content:start;font-size:.82rem;font-weight:700}.lms-pill{color:var(--blue-dark);letter-spacing:.08em;background:#edf4ff;border-radius:3px;padding:5px 9px;font-size:.68rem;font-weight:850}.lms-course-body h3{letter-spacing:-.03em;max-width:540px;margin:18px 0 10px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.18}.lms-course-body>p{color:var(--muted);margin:0 0 32px}.lms-progress-copy{margin-bottom:10px;font-size:.83rem}.lms-progress-copy span{color:var(--blue);font-weight:800}.lms-progress-track{background:#e8edf5;border-radius:99px;height:10px;overflow:hidden}.lms-progress-track span{background:var(--blue);border-radius:99px;width:0;height:100%;transition:width .3s;display:block}.lms-button{border:1px solid var(--blue);background:var(--blue);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:18px;padding:10px 19px;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}.lms-button:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.lms-button:focus-visible,.lms-quiet-button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.lms-course-body>.lms-button{margin-top:27px}.lms-home-cta{margin-top:10px}.lms-auth-shell{grid-template-columns:1fr 430px;align-items:center;gap:70px;display:grid}.lms-auth-copy{max-width:550px}.lms-demo-note{border-left:4px solid var(--blue);color:#31527c;background:#eaf2ff;max-width:480px;margin-top:32px;padding:16px 18px;font-size:.85rem}.lms-login-card{padding:38px;display:grid}.lms-card-icon{width:46px;height:46px;color:var(--blue);background:#eaf2ff;border-radius:10px;place-items:center;font-size:1.5rem;display:grid}.lms-login-card h2{margin:25px 0 4px;font-size:1.8rem}.lms-login-card p{color:var(--muted);margin:0 0 26px}.lms-login-card label{margin-bottom:8px;font-size:.82rem;font-weight:800}.lms-login-card input{width:100%;height:48px;font:inherit;border:1px solid #b9c6d9;border-radius:5px;padding:0 14px}.lms-login-card input:focus{outline:2px solid var(--blue);outline-offset:2px}.lms-login-card .lms-button{width:100%;margin-top:20px}.lms-login-card .lms-form-error{color:#b42318;margin:12px 0 0;font-size:.82rem}.lms-profile-shell{max-width:900px}.lms-back{color:var(--blue-dark);margin-bottom:32px;font-weight:700;text-decoration:none;display:inline-block}.lms-profile-card{align-items:center;gap:25px;margin:22px 0;padding:34px;display:flex}.lms-avatar{width:86px;height:86px;color:var(--blue-dark);background:#dcecff;border-radius:50%;flex:none;place-items:center;font-size:2.6rem;font-weight:850;display:grid}.lms-profile-main{flex:1}.lms-profile-main h1{margin:0;font-size:2rem;line-height:1.15}.lms-profile-main>p:last-child{color:var(--muted);margin:7px 0 0}.lms-quiet-button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:5px;padding:9px 15px;font-weight:750}.lms-quiet-button:hover{background:var(--paper)}.lms-profile-progress{padding:34px}.lms-profile-progress h2{max-width:680px;margin:0 0 16px;font-size:1.7rem}.lms-profile-progress>p:not(.eyebrow){color:var(--muted)}.lms-profile-progress>.lms-text-link{margin-top:25px;display:inline-block}.lms-lesson-complete{background:#f2f7ff;border:1px solid #cdddf1;justify-content:space-between;align-items:center;gap:24px;margin-top:54px;padding:24px;display:flex}.lms-lesson-complete h3{margin:0 0 3px;font-size:1.25rem}.lms-lesson-complete p:last-child{color:var(--muted);margin:0;font-size:.88rem}.lms-lesson-complete .eyebrow{margin-bottom:7px}.lms-lesson-complete .lms-button{flex:none}.lms-lesson-complete .lms-button.is-complete{background:#17755b;border-color:#17755b}[hidden]{display:none!important}@media (width<=760px){.lms-shell{min-height:calc(100vh - 64px);padding:34px 20px 72px}.lms-welcome{display:block}.lms-welcome>.lms-text-link{margin-top:16px;display:inline-block}.lms-stats{grid-template-columns:repeat(3,1fr);gap:8px}.lms-stat{min-height:130px;padding:15px}.lms-stat strong{font-size:1.6rem}.lms-stat>span:last-child{font-size:.7rem}.lms-course-section{margin-top:45px}.lms-course-card{grid-template-columns:1fr}.lms-course-card>img{height:200px;min-height:0}.lms-course-body{padding:26px}.lms-auth-shell{grid-template-columns:1fr;gap:28px}.lms-login-card{padding:26px}.lms-profile-card{flex-wrap:wrap;padding:25px}.lms-profile-progress{padding:25px}.lms-lesson-complete{display:block}.lms-lesson-complete .lms-button{margin-top:20px}.site-header nav{gap:12px;font-size:.85rem}}.lms-quiz-saved{color:#176a52;margin:12px 0 0;font-size:.88rem;font-weight:700}.lms-course-result{background:#effaf4;border:1px solid #b6dfcb;border-left:5px solid #19835f;margin-top:24px;padding:25px 28px}.lms-course-result h2,.lms-course-result h3{margin:0;font-size:1.5rem;line-height:1.25}.lms-course-result p:not(.eyebrow){color:#426653;margin:10px 0 0}.lms-course-result a{color:#126344;margin-top:14px;font-weight:800;text-decoration:none;display:inline-block}.lms-quiz-dialog{border:1px solid var(--line);width:min(520px,100% - 30px);max-height:calc(100vh - 36px);color:var(--ink);border-radius:8px;padding:28px;box-shadow:0 30px 80px #0f1e3740}.lms-quiz-dialog::backdrop{background:#09172fb3}.lms-quiz-header{justify-content:space-between;align-items:center;display:flex}.lms-quiz-close{width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;background:#edf1f6;border:0;border-radius:4px;font-size:1.5rem}.lms-quiz-close:hover{background:#dae3ee}.lms-quiz-dialog h3{margin:20px 0 18px;font-size:1.45rem;line-height:1.22}.lms-quiz-step{color:var(--blue);letter-spacing:.09em;margin:0 0 8px;font-size:.73rem;font-weight:850}.lms-quiz-dialog fieldset{border:0;margin:0;padding:0}.lms-quiz-dialog legend{margin-bottom:17px;padding:0;font-size:1.13rem;font-weight:800;line-height:1.4}.lms-quiz-options{gap:10px;display:grid}.lms-quiz-option{cursor:pointer;border:1px solid #cdd6e2;border-radius:5px;align-items:flex-start;gap:11px;padding:13px 15px;line-height:1.35;display:flex}.lms-quiz-option:hover,.lms-quiz-option:has(input:checked){border-color:var(--blue);background:#f1f6ff}.lms-quiz-option input{accent-color:var(--blue);flex:none;margin-top:3px}.lms-quiz-dialog .lms-button{width:100%;margin-top:24px}.lms-quiz-validation{color:#b42318;margin:12px 0 0;font-size:.86rem}.lms-reset-button{margin-top:20px}.lms-reset-confirm{background:#fff7f5;border:1px solid #e7c4bd;max-width:540px;margin-top:12px;padding:16px}.lms-reset-confirm p{margin:0 0 12px}.lms-reset-confirm button+button{color:#a33222;border-color:#ba4b39;margin-left:10px}.lms-login-card [data-signup-name]{display:grid}.lms-login-card [data-signup-name] input{margin-bottom:16px}.lms-login-card label{margin-top:12px;display:block}.lms-login-card .lms-auth-switch{color:var(--blue-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:0;font-size:.82rem;font-weight:750}.lms-login-card .lms-auth-switch:hover{text-decoration:underline}.lms-login-card button:disabled{opacity:.6;cursor:wait}.lms-profile-edit{margin:0 0 22px;padding:22px 34px}.lms-profile-edit label{margin-bottom:8px;font-size:.83rem;font-weight:800;display:block}.lms-profile-edit>div{gap:10px;display:flex}.lms-profile-edit input{min-width:0;height:44px;font:inherit;border:1px solid #b9c6d9;border-radius:5px;flex:1;padding:0 12px}.lms-profile-edit .lms-form-error{color:var(--muted);margin:10px 0 0;font-size:.83rem}
