/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.table{display:table}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#102132;--ink-soft:#385069;--navy:#123a59;--navy-deep:#09283f;--blue:#245fca;--blue-soft:#eaf1ff;--cyan:#2ca6b7;--mint:#bfeadd;--mint-pale:#eaf8f4;--yellow:#f5cf64;--yellow-pale:#fff8dc;--coral:#ee846d;--paper:#fff;--canvas:#f3f6f8;--line:#d8e1e8;--line-dark:#b6c5d1;--success:#16745f;--error:#b34d3c;--shadow:0 18px 55px #123a5917;--radius-lg:26px;--radius-md:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;text-rendering:optimizelegibility;margin:0}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}button,a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;overflow-x:hidden}.page-shell{width:min(1240px,100% - 48px);margin:0 auto}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:auto 1fr auto;align-items:center;height:78px;padding:0 30px;display:grid;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:0;display:inline-flex}.brand-mark{background:var(--navy);color:#fff;width:43px;height:43px;font-family:var(--font-geist-mono), monospace;box-shadow:5px 5px 0 var(--mint);border-radius:13px;place-items:center;font-size:15px;font-weight:800;display:inline-grid}.brand-mark.small{width:34px;height:34px;box-shadow:4px 4px 0 var(--mint);border-radius:10px;font-size:12px}.brand-copy{flex-direction:column;display:flex}.brand-copy strong{letter-spacing:-.01em;font-size:14px}.brand-copy small{color:#6c7e8f;letter-spacing:.04em;margin-top:2px;font-size:11px}.top-nav{border:1px solid var(--line);background:var(--canvas);border-radius:999px;justify-self:center;align-items:center;gap:6px;padding:5px;display:flex}.top-nav button{color:#617487;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 15px;font-size:13px;font-weight:650}.top-nav button:hover,.top-nav button.is-active{color:var(--navy);background:#fff;box-shadow:0 3px 12px #123a5914}.profile-chip{justify-self:end;align-items:center;gap:9px;display:flex}.profile-chip>span{background:var(--yellow-pale);width:36px;height:36px;color:var(--navy);border:1px solid #ead28a;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-chip div{flex-direction:column;display:flex}.profile-chip strong{font-size:13px}.profile-chip small{color:#718294;font-size:10px}.menu-button{border:1px solid var(--line);background:#fff;border-radius:10px;place-content:center;gap:4px;width:38px;height:38px;padding:9px;display:none}.menu-button span{background:var(--navy);width:17px;height:2px;display:block}.course-progress-bar{z-index:48;background:#e8edf1;height:3px;position:sticky;top:78px}.course-progress-bar span{background:linear-gradient(90deg, var(--cyan), var(--blue));height:100%;transition:width .3s;display:block}.eyebrow{color:var(--blue);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.3;display:inline-flex}.dashboard{padding:62px 0 0}.dashboard-intro{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);align-items:end;gap:56px;margin-bottom:38px;display:grid}.dashboard-intro h1,.page-intro h1{color:var(--navy-deep);letter-spacing:-.055em;margin:12px 0 18px;font-size:clamp(44px,5.2vw,76px);font-weight:680;line-height:.98}.dashboard-intro h1 em,.page-intro h1 em{color:var(--blue);font-family:Georgia,Times New Roman,serif;font-weight:400}.dashboard-intro>div>p{max-width:690px;color:var(--ink-soft);margin:0;font-size:18px;line-height:1.7}.source-note{border-radius:var(--radius-md);background:var(--mint-pale);border:1px solid #cfe9e3;gap:14px;padding:22px;display:flex}.source-note>span{background:var(--mint);width:39px;height:39px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.source-note strong{font-size:14px}.source-note p{color:var(--ink-soft);margin:5px 0 0;font-size:13px;line-height:1.5}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:20px;display:grid}.continue-card,.progress-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.continue-card{background:var(--navy);color:#fff}.continue-card__top{border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.continue-card .eyebrow,.lesson-hero .eyebrow{color:#8de1d5}.week-label{color:#afc2d1;margin:5px 0 0;font-size:12px}.continue-card__body{grid-template-columns:150px 1fr;align-items:center;gap:30px;padding:32px 34px 36px;display:grid}.lesson-glyph{background:linear-gradient(145deg,#ffffff1f,#ffffff08);border:1px solid #ffffff2e;border-radius:31px;place-items:center;width:140px;height:140px;display:grid;position:relative}.lesson-glyph:before,.lesson-glyph:after{content:"";background:var(--yellow);opacity:.9;border-radius:50%;position:absolute}.lesson-glyph:before{width:18px;height:18px;top:16px;right:16px}.lesson-glyph:after{background:var(--mint);width:8px;height:8px;bottom:24px;left:18px}.lesson-glyph span{font-family:var(--font-geist-mono), monospace;font-size:40px;font-weight:800}.lesson-glyph i{color:#ffffff5c;font-family:var(--font-geist-mono), monospace;font-size:12px;font-style:normal;position:absolute;bottom:9px;right:11px}.continue-card__body h2{letter-spacing:-.035em;margin:0;font-size:clamp(28px,3vw,41px);line-height:1.08}.continue-card__body>div>p{color:#c7d6e0;max-width:650px;margin:12px 0 18px;font-size:15px;line-height:1.65}.lesson-meta-row{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.lesson-meta-row span{color:#b9cbd7;text-transform:uppercase;letter-spacing:.08em;border:1px solid #ffffff1f;border-radius:7px;padding:5px 9px;font-size:10px}.primary-button,.secondary-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:0 20px;font-size:13px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button{background:var(--yellow);color:var(--navy-deep);border:1px solid #f6d773;box-shadow:5px 5px #071f3161}.primary-button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:7px 7px #071f3161}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border:1px solid var(--navy);background:var(--navy);color:#fff}.secondary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 16px #123a592e}.compact-button{min-height:42px}.progress-card{text-align:center;background:#fff;place-items:center;padding:28px;display:grid}.progress-card h2{letter-spacing:-.03em;margin:8px 0 0;font-size:22px}.progress-ring{--progress:0deg;background:conic-gradient(var(--blue) var(--progress), #e8edf1 0);border-radius:50%;place-items:center;width:148px;height:148px;margin:19px 0;display:grid}.progress-ring__inner{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:118px;height:118px;display:flex}.progress-ring strong{color:var(--navy);letter-spacing:-.04em;font-size:30px}.progress-ring span{color:#718294;font-size:11px}.progress-stats{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;width:100%;padding-top:19px;display:grid}.progress-stats div{flex-direction:column;display:flex}.progress-stats div+div{border-left:1px solid var(--line)}.progress-stats strong{color:var(--navy);font-size:22px}.progress-stats span{color:#718294;margin-top:3px;font-size:10px}.lane-pill{width:fit-content;color:var(--navy);letter-spacing:.05em;text-transform:uppercase;background:#f5f8fa;border:1px solid #cdd9e2;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-flex}.lane-pill>span{background:var(--navy);color:#fff;min-width:18px;height:18px;font-family:var(--font-geist-mono), monospace;letter-spacing:0;border-radius:5px;place-items:center;padding:0 3px;font-size:8px;display:grid}.lane-sql>span{background:var(--blue)}.lane-code-reading>span{background:var(--success)}.lane-api>span{background:#8a4f9e}.lane-vb-literacy>span{background:#6b5899}.continue-card .lane-pill,.lesson-hero .lane-pill{color:#fff;background:#ffffff14;border-color:#ffffff2b}.week-focus{margin-top:64px}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{color:var(--navy-deep);letter-spacing:-.04em;margin:7px 0 0;font-size:30px}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:8px;padding:6px 0;font-size:12px;font-weight:750;display:inline-flex}.focus-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.focus-lesson{border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;background:#fff;grid-template-columns:43px 1fr auto;gap:15px;min-height:230px;padding:24px;transition:border .16s,transform .16s,box-shadow .16s;display:grid;position:relative}.focus-lesson:hover{box-shadow:var(--shadow);border-color:#9eb9d1;transform:translateY(-3px)}.focus-lesson__number{color:#b1bec9;font-family:var(--font-geist-mono), monospace;font-size:13px}.focus-lesson__copy{flex-direction:column;align-items:flex-start;display:flex}.focus-lesson h3{color:var(--navy);letter-spacing:-.025em;margin:18px 0 8px;font-size:20px;line-height:1.15}.focus-lesson p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.focus-duration{color:#7a8997;margin-top:auto;padding-top:18px;font-size:10px}.completion-dot{color:#fff;border:1.5px solid #bac7d1;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:grid}.completion-dot.is-complete{border-color:var(--success);background:var(--success)}.learning-principles{border-radius:var(--radius-lg);background:var(--yellow-pale);border:1px solid #edda96;grid-template-columns:minmax(260px,.7fr) 1.3fr;align-items:center;gap:70px;margin-top:82px;padding:48px;display:grid}.principle-lead h2{color:var(--navy);letter-spacing:-.04em;margin:9px 0 12px;font-size:31px}.principle-lead p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.65}.principle-list{gap:15px;display:grid}.principle-list article{border-bottom:1px solid #e2d49d;grid-template-columns:46px 1fr;gap:16px;padding-bottom:15px;display:grid}.principle-list article:last-child{border-bottom:0;padding-bottom:0}.principle-list article>span{color:var(--blue);font-family:var(--font-geist-mono), monospace;font-size:11px}.principle-list h3{margin:0;font-size:15px}.principle-list p{color:var(--ink-soft);margin:4px 0 0;font-size:12px;line-height:1.5}.site-footer{border-top:1px solid var(--line);color:#718294;justify-content:space-between;align-items:center;gap:20px;margin-top:90px;padding-top:28px;padding-bottom:35px;font-size:11px;display:flex}.site-footer>div{align-items:center;gap:14px;display:flex}.site-footer p{margin:0}.page-intro{padding-top:68px}.split-intro{border-bottom:1px solid var(--line);grid-template-columns:1.2fr .8fr;align-items:end;gap:76px;padding-bottom:50px;display:grid}.split-intro .intro-copy{padding-bottom:8px}.intro-copy>p{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.7}.course-stat-row{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.course-stat-row span{color:#718294;align-items:baseline;gap:6px;font-size:11px;display:flex}.course-stat-row strong{color:var(--navy);font-size:24px}.timeline{padding:58px 0 0;position:relative}.timeline:before{content:"";background:var(--line-dark);width:1px;position:absolute;top:62px;bottom:26px;left:29px}.timeline-week{grid-template-columns:60px 1fr;gap:30px;margin-bottom:26px;display:grid;position:relative}.timeline-marker{z-index:1;border:1px solid var(--navy);background:var(--canvas);width:60px;height:60px;color:var(--navy);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.timeline-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:28px}.timeline-card__header{justify-content:space-between;align-items:start;gap:30px;display:flex}.timeline-card h2{color:var(--navy);letter-spacing:-.035em;margin:8px 0 0;font-size:28px}.week-status{border:1px solid var(--line);color:#718294;border-radius:999px;flex:none;padding:7px 10px;font-size:10px}.week-status.is-complete{background:var(--mint-pale);color:var(--success);border-color:#9ad1c0}.week-focus-row{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:.8fr .8fr 1.4fr;gap:1px;margin:24px 0 16px;display:grid;overflow:hidden}.week-focus-row span{color:var(--ink-soft);background:#f8fafb;flex-direction:column;gap:5px;padding:15px;font-size:11px;line-height:1.45;display:flex}.week-focus-row b{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.map-lessons{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.map-lessons button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;min-height:86px;padding:13px;display:grid}.map-lessons button:hover{background:#f8fbfd;border-color:#9bb4c7}.map-lesson-icon{background:var(--navy);color:#fff;width:36px;height:36px;font-family:var(--font-geist-mono), monospace;border-radius:10px;place-items:center;font-size:10px;font-weight:800;display:grid}.map-lessons button>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.map-lessons small{color:#718294;letter-spacing:.05em;text-transform:uppercase;font-size:8px}.map-lessons strong{color:var(--navy);font-size:12px;line-height:1.25}.resource-order{border-radius:var(--radius-lg);background:var(--navy);color:#fff;grid-template-columns:.7fr 1.3fr;align-items:center;gap:65px;margin:48px 0 24px;padding:36px;display:grid}.resource-order .eyebrow{color:#8de1d5}.resource-order h2{letter-spacing:-.035em;margin:7px 0 8px;font-size:27px}.resource-order p{color:#b9cad6;margin:0;font-size:13px;line-height:1.55}.resource-flow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.resource-flow span{background:#ffffff12;border:1px solid #ffffff29;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:700}.resource-flow i{color:var(--yellow);font-style:normal}.resource-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.resource-grid a{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:42px 1fr auto;align-items:start;gap:15px;min-height:130px;padding:23px;text-decoration:none;transition:transform .16s,box-shadow .16s,border .16s;display:grid}.resource-grid a:hover{box-shadow:var(--shadow);border-color:#9eb6c9;transform:translateY(-2px)}.resource-grid a.is-secondary{background:#f8fafb}.resource-index{color:var(--blue);font-family:var(--font-geist-mono), monospace;font-size:12px}.resource-grid h2{color:var(--navy);letter-spacing:-.025em;margin:0 0 8px;font-size:18px}.resource-grid p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.external-arrow{color:var(--blue);font-size:18px}.avoid-card{border-radius:var(--radius-lg);background:#fff7f5;border:1px solid #ead7d2;grid-template-columns:.65fr 1.35fr;gap:60px;margin-top:28px;padding:37px;display:grid}.avoid-card h2{color:var(--error);margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:35px;font-weight:400}.avoid-card ul{grid-template-columns:1fr 1fr;gap:12px 28px;margin:0;padding:0;list-style:none;display:grid}.avoid-card li{color:var(--ink-soft);padding-left:22px;font-size:13px;line-height:1.5;position:relative}.avoid-card li:before{content:"×";color:var(--coral);font-weight:800;position:absolute;left:0}.settings-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;justify-content:space-between;align-items:center;gap:40px;margin-top:28px;padding:31px 36px;display:flex}.settings-card h2{margin:7px 0 6px;font-size:22px}.settings-card p{max-width:680px;color:var(--ink-soft);margin:0;font-size:12px;line-height:1.55}.danger-button{border-color:var(--error);color:var(--error);background:#fff;flex:none}.lesson-layout{grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 81px);display:grid}.course-sidebar{border-right:1px solid var(--line);background:#fff;align-self:start;height:calc(100vh - 81px);position:sticky;top:81px}.sidebar-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 22px 18px;display:flex}.sidebar-heading h2{color:var(--navy);letter-spacing:-.025em;margin:5px 0 0;font-size:19px}.sidebar-close{border:1px solid var(--line);background:#fff;border-radius:9px;width:34px;height:34px;font-size:20px;display:none}.outline-scroll{height:calc(100% - 86px);padding:10px 12px 28px;overflow:auto}.outline-scroll details{border-bottom:1px solid #e6ebef}.outline-scroll summary{cursor:pointer;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:15px 8px;list-style:none;display:grid}.outline-scroll summary::-webkit-details-marker{display:none}.week-number{color:var(--blue);font-family:var(--font-geist-mono), monospace;font-size:10px;font-weight:800}.outline-scroll summary>span:nth-child(2){flex-direction:column;gap:3px;display:flex}.outline-scroll summary strong{color:var(--navy);font-size:11px}.outline-scroll summary small{color:#8796a3;font-size:9px}.summary-chevron{color:#8494a1;transition:transform .15s;transform:rotate(-90deg)}details[open] .summary-chevron{transform:rotate(0)}.outline-lessons{gap:4px;padding:0 0 12px;display:grid}.outline-lessons button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:22px 1fr;align-items:start;gap:10px;padding:10px;display:grid}.outline-lessons button:hover,.outline-lessons button.is-current{background:var(--blue-soft)}.outline-lessons button.is-current{box-shadow:inset 3px 0 0 var(--blue)}.outline-lessons .completion-dot{width:18px;height:18px;margin-top:1px;font-size:9px}.outline-lessons button>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.outline-lessons strong{color:var(--navy);font-size:11px;line-height:1.3}.outline-lessons small{color:#758696;font-size:8px}.sidebar-scrim{display:none}.lesson-page{background:var(--canvas);min-width:0}.lesson-toolbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f6f8f0;grid-template-columns:160px 1fr 100px;align-items:center;gap:25px;min-height:57px;padding:8px 28px;display:grid;position:sticky;top:81px}.outline-button{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:10px;font-weight:750;display:none}.lesson-progress-line{align-items:center;gap:12px;display:flex}.lesson-progress-line>span{background:#dce5eb;border-radius:999px;flex:1;height:5px;overflow:hidden}.lesson-progress-line i{border-radius:inherit;background:linear-gradient(90deg, var(--cyan), var(--blue));height:100%;display:block}.lesson-progress-line small{color:#718294;font-family:var(--font-geist-mono), monospace;flex:none;font-size:9px}.lesson-nav-mini{justify-content:end;gap:7px;display:flex}.lesson-nav-mini button{border:1px solid var(--line);width:36px;height:36px;color:var(--navy);cursor:pointer;background:#fff;border-radius:9px;place-items:center;display:grid}.lesson-nav-mini button:disabled{opacity:.35;cursor:not-allowed}.lesson-content{width:min(960px,100% - 54px);margin:0 auto;padding:42px 0 80px}.lesson-hero{border-radius:var(--radius-lg);background:var(--navy);color:#fff;padding:42px;position:relative;overflow:hidden}.lesson-hero:after{content:"";border:32px solid #bfeadd1f;border-radius:50%;width:210px;height:210px;position:absolute;top:-55px;right:-45px}.lesson-hero__meta{z-index:1;align-items:center;gap:11px;display:flex;position:relative}.lesson-hero__meta>span:not(.lane-pill){color:#b9cad6;font-size:10px}.lesson-hero h1{z-index:1;letter-spacing:-.055em;max-width:720px;margin:22px 0 12px;font-size:clamp(38px,5vw,60px);line-height:1;position:relative}.lesson-hero>p{z-index:1;color:#c1d0db;max-width:680px;margin:0;font-size:16px;line-height:1.65;position:relative}.lesson-hero__status{z-index:1;color:#b9cad6;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:28px;right:31px}.lesson-hero__status .completion-dot{border-color:#ffffff73}.lesson-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-template-columns:52px 1fr;gap:24px;margin-top:36px;padding:36px;display:grid}.section-number{color:#aab8c4;font-family:var(--font-geist-mono), monospace;padding-top:3px;font-size:12px}.section-body h2{color:var(--navy-deep);letter-spacing:-.04em;margin:8px 0 19px;font-size:29px}.concept-copy{gap:12px;max-width:770px;display:grid}.concept-copy p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.72}.visual-model{border-radius:var(--radius-md);background:var(--mint-pale);border:1px solid #bcded7;margin-top:27px;overflow:hidden}.visual-model__header{color:var(--navy);border-bottom:1px solid #c9e4de;align-items:center;gap:10px;padding:13px 16px;font-size:12px;display:flex}.visual-model__header>span{background:var(--mint);border-radius:50%;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.visual-steps{align-items:stretch;padding:18px;display:flex}.visual-step{flex:1;grid-template-columns:28px 1fr;gap:9px;min-width:0;padding:10px 32px 10px 10px;display:grid;position:relative}.visual-step:last-child{padding-right:10px}.visual-step>i{color:var(--cyan);font-style:normal;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.visual-step__index{background:var(--navy);color:#fff;width:28px;height:28px;font-family:var(--font-geist-mono), monospace;border-radius:8px;place-items:center;font-size:8px;display:grid}.visual-step strong{color:var(--navy);font-size:11px}.visual-step p{color:var(--ink-soft);margin:4px 0 0;font-size:9px;line-height:1.45}.code-example-grid{grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);align-items:start;gap:18px;display:grid}.code-window,.solution-box{color:#e9f2f6;background:#0c2234;border-radius:14px;overflow:hidden}.code-window__bar{background:#102b41;border-bottom:1px solid #ffffff1a;align-items:center;gap:6px;height:39px;padding:0 14px;display:flex}.code-window__bar>span{background:var(--coral);border-radius:50%;width:8px;height:8px}.code-window__bar>span:nth-child(2){background:var(--yellow)}.code-window__bar>span:nth-child(3){background:var(--mint)}.code-window__bar small{color:#8fa8b9;font-family:var(--font-geist-mono), monospace;margin-left:auto;font-size:8px}.code-window pre,.solution-box pre{margin:0;padding:22px;overflow:auto}.code-window code,.solution-box code{font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;white-space:pre;font-size:12px;line-height:1.75}.code-notes{gap:10px;margin:0;padding:0;list-style:none;display:grid}.code-notes li{border:1px solid var(--line);background:#f8fafb;border-radius:11px;grid-template-columns:25px 1fr;align-items:start;gap:9px;padding:12px;display:grid}.code-notes li>span{background:var(--blue-soft);width:25px;height:25px;color:var(--blue);font-family:var(--font-geist-mono), monospace;border-radius:7px;place-items:center;font-size:8px;font-weight:800;display:grid}.code-notes p{color:var(--ink-soft);margin:1px 0 0;font-size:10px;line-height:1.5}.practice-card,.quiz-card{border:1px solid var(--line-dark);border-radius:var(--radius-md);background:#f8fafb;overflow:hidden}.practice-prompt{border-bottom:1px solid var(--line);background:var(--yellow-pale);grid-template-columns:54px 1fr;align-items:start;gap:14px;padding:17px 19px;display:grid}.practice-prompt>span{background:var(--yellow);color:var(--navy);letter-spacing:.08em;text-transform:uppercase;border-radius:6px;justify-content:center;padding:5px 7px;font-size:8px;font-weight:850;display:inline-flex}.practice-prompt p{color:var(--navy);margin:0;font-size:13px;font-weight:650;line-height:1.55}.code-editor{background:#0c2234;border-radius:13px;margin:18px;display:block;overflow:hidden}.code-editor__bar{color:#fff;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.code-editor__bar strong{font-size:10px}.code-editor__bar small{color:#89a4b6;font-size:8px}.code-editor textarea{resize:vertical;color:#e9f2f6;width:100%;min-height:185px;font-family:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;tab-size:4;background:0 0;border:0;padding:18px;font-size:12px;line-height:1.65;display:block}.practice-actions{align-items:center;gap:20px;padding:0 18px 12px;display:flex}.checker-note{color:#768897;margin:0;padding:0 18px 18px;font-size:9px;line-height:1.5}.feedback-box,.solution-box{margin:0 18px 18px}.feedback-box{border:1px solid var(--line);background:#fff;border-radius:11px;padding:14px 16px}.feedback-box strong{color:var(--navy);font-size:12px}.feedback-box p{color:var(--ink-soft);margin:5px 0 0;font-size:11px;line-height:1.55}.feedback-box.is-success{background:var(--mint-pale);border-color:#9fd0c2}.feedback-box.is-success strong{color:var(--success)}.feedback-box.is-error{background:#fff5f2;border-color:#e4b5ab}.feedback-box.is-error strong{color:var(--error)}.feedback-box.is-hint{background:var(--yellow-pale);border-color:#ead68b}.solution-box>strong{color:var(--mint);letter-spacing:.08em;text-transform:uppercase;padding:12px 15px 0;font-size:9px;display:block}.quiz-card{padding:22px}.quiz-question{color:var(--navy);margin:0 0 17px;font-size:16px;font-weight:700;line-height:1.45}.quiz-options{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px;display:grid}.quiz-options button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:31px 1fr;align-items:center;gap:11px;min-height:62px;padding:11px;display:grid}.quiz-options button:hover,.quiz-options button.is-selected{border-color:var(--blue);background:var(--blue-soft)}.quiz-options button.is-correct{border-color:var(--success);background:var(--mint-pale)}.quiz-options button.is-incorrect{border-color:var(--error);background:#fff5f2}.quiz-options button>span{border:1px solid var(--line);width:31px;height:31px;color:var(--blue);font-family:var(--font-geist-mono), monospace;background:#f8fafb;border-radius:8px;place-items:center;font-size:9px;font-weight:800;display:grid}.quiz-options button strong{color:var(--navy);font-size:11px;line-height:1.35}.quiz-card>.feedback-box{margin:17px 0 0}.takeaway-card{border-radius:var(--radius-lg);background:var(--yellow-pale);border:1px solid #e7d18a;grid-template-columns:58px 1fr;align-items:center;gap:21px;margin-top:36px;padding:31px 36px;display:grid}.takeaway-icon{background:var(--yellow);width:58px;height:58px;color:var(--navy);border-radius:16px;place-items:center;font-size:22px;display:grid}.takeaway-card h2{color:var(--navy);margin:7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500;line-height:1.3}.takeaway-card a{color:var(--blue);border-bottom:1px solid;gap:7px;margin-top:12px;font-size:10px;font-weight:750;text-decoration:none;display:inline-flex}.lesson-finish{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;justify-content:space-between;align-items:center;gap:35px;margin-top:36px;padding:32px 36px;display:flex}.lesson-finish h2{color:var(--navy);letter-spacing:-.03em;margin:7px 0 5px;font-size:22px}.lesson-finish p{color:var(--ink-soft);margin:0;font-size:11px}@media (width<=1080px){.dashboard-intro,.split-intro{gap:38px}.dashboard-grid{grid-template-columns:1fr}.progress-card{text-align:left;grid-template-columns:1fr auto 1fr;justify-items:start}.progress-stats{border-top:0;border-left:1px solid var(--line);padding:0 0 0 22px}.focus-grid,.map-lessons{grid-template-columns:1fr}.focus-lesson{min-height:180px}.course-sidebar{z-index:80;width:min(340px,88vw);height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-105%);box-shadow:20px 0 50px #09283f2e}.course-sidebar.is-open{transform:translate(0)}.sidebar-close{display:block}.sidebar-scrim{z-index:79;opacity:0;visibility:hidden;background:#09283f7a;border:0;transition:opacity .2s,visibility .2s;display:block;position:fixed;inset:0}.sidebar-scrim.is-open{opacity:1;visibility:visible}.lesson-layout{display:block}.lesson-toolbar{grid-template-columns:150px 1fr 90px}.outline-button{display:inline-flex}}@media (width<=820px){.page-shell{width:min(100% - 30px,1240px)}.site-header{grid-template-columns:auto 1fr auto;gap:12px;height:68px;padding:0 15px}.course-progress-bar{top:68px}.menu-button{display:grid}.brand-mark{width:36px;height:36px;box-shadow:4px 4px 0 var(--mint);border-radius:10px;font-size:12px}.brand-copy small,.profile-chip div,.top-nav{display:none}.profile-chip>span{width:34px;height:34px}.dashboard,.page-intro{padding-top:43px}.dashboard-intro,.split-intro{grid-template-columns:1fr;gap:25px}.dashboard-intro h1,.page-intro h1{font-size:clamp(43px,12vw,62px)}.dashboard-intro>div>p{font-size:16px}.continue-card__body{grid-template-columns:90px 1fr;gap:22px;padding:27px 22px 31px}.lesson-glyph{border-radius:22px;width:86px;height:104px}.lesson-glyph span{font-size:25px}.continue-card__body h2{font-size:28px}.progress-card{grid-template-columns:1fr auto}.progress-ring{width:120px;height:120px}.progress-ring__inner{width:96px;height:96px}.progress-stats{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;padding:18px 0 0}.focus-grid{grid-template-columns:1fr}.learning-principles,.resource-order,.avoid-card{grid-template-columns:1fr;gap:30px;padding:30px}.resource-grid{grid-template-columns:1fr}.timeline-week{gap:15px}.week-focus-row{grid-template-columns:1fr}.timeline-card__header{flex-direction:column;gap:14px}.settings-card,.lesson-finish{flex-direction:column;align-items:flex-start}.lesson-toolbar{grid-template-columns:130px 1fr;padding:8px 15px;top:71px}.lesson-nav-mini{display:none}.lesson-content{width:min(100% - 28px,960px);padding-top:24px}.lesson-hero{padding:31px 27px 70px}.lesson-hero h1{font-size:42px}.lesson-hero>p{font-size:14px}.lesson-section{grid-template-columns:1fr;gap:12px;padding:27px 22px}.section-number{border-bottom:1px solid var(--line);padding:0 0 7px}.visual-steps{flex-direction:column}.visual-step{padding:10px 10px 35px}.visual-step:last-child{padding-bottom:10px}.visual-step>i{inset:auto auto 8px 22px;transform:rotate(90deg)}.code-example-grid,.quiz-options{grid-template-columns:1fr}.takeaway-card{grid-template-columns:46px 1fr;padding:25px}.takeaway-icon{border-radius:13px;width:46px;height:46px}}@media (width<=560px){.dashboard-intro h1,.page-intro h1{font-size:43px}.continue-card__top{flex-direction:column;align-items:flex-start;gap:12px;padding:20px}.continue-card__body{grid-template-columns:1fr}.lesson-glyph{width:100%;height:90px}.section-heading{flex-direction:column;align-items:flex-start}.focus-lesson{grid-template-columns:30px 1fr auto;min-height:210px;padding:19px}.learning-principles{margin-top:60px;padding:24px}.timeline:before{left:18px}.timeline-week{grid-template-columns:38px 1fr;gap:10px}.timeline-marker{width:38px;height:38px;font-size:9px}.timeline-card{padding:20px}.timeline-card h2{font-size:23px}.avoid-card ul{grid-template-columns:1fr}.settings-card{padding:25px}.lesson-toolbar{grid-template-columns:1fr;gap:6px}.lesson-progress-line{grid-row:1}.outline-button{width:fit-content}.lesson-hero__meta{flex-wrap:wrap;align-items:flex-start}.lesson-hero h1{font-size:37px}.lesson-section{padding:24px 18px}.section-body h2{font-size:25px}.practice-actions{flex-direction:column;align-items:flex-start;gap:9px}.practice-actions .primary-button{width:100%}.code-editor textarea{min-height:220px}.takeaway-card{grid-template-columns:1fr}.lesson-finish{padding:25px}.lesson-finish .primary-button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
