:root{--color-bg: #F7F5F0;--color-surface: #FFFFFF;--color-surface-glass: rgba(255, 255, 255, .78);--color-ink: #1B1B1D;--color-ink-soft: #55534C;--color-ink-faint: #6E6B63;--color-border: rgba(27, 27, 29, .12);--color-border-strong: rgba(27, 27, 29, .22);--color-accent: #1E3A5F;--color-accent-ink: #142A45;--color-heading: #142A45;--color-accent-soft: rgba(30, 58, 95, .08);--color-accent-soft-strong: rgba(30, 58, 95, .14);--color-gold: #B8923D;--color-gold-ink: #7A5F27;--color-gold-soft: rgba(184, 146, 61, .12);--color-correct: #2E6B3E;--color-correct-soft: rgba(46, 107, 62, .1);--color-incorrect: #A23B33;--color-incorrect-soft: rgba(162, 59, 51, .1);--font-display: "Spectral", Georgia, serif;--font-body: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--measure: 720px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4.5rem;--shadow-sm: 0 1px 2px rgba(27, 27, 29, .06);--shadow-md: 0 4px 16px rgba(27, 27, 29, .08);--shadow-lg: 0 14px 32px rgba(27, 27, 29, .14);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--transition: .22s var(--ease-out-quart)}:root[data-theme=dark]{--color-bg: #14161B;--color-surface: #1C1F26;--color-surface-glass: rgba(20, 22, 27, .72);--color-ink: #EDEDEE;--color-ink-soft: #B7B6B2;--color-ink-faint: #8B8A86;--color-border: rgba(255, 255, 255, .12);--color-border-strong: rgba(255, 255, 255, .24);--color-accent: #6FA0DA;--color-accent-ink: #0D141F;--color-accent-soft: rgba(111, 160, 218, .14);--color-accent-soft-strong: rgba(111, 160, 218, .22);--color-heading: #DCE8F7;--color-gold: #D8B15E;--color-gold-ink: #E8CB84;--color-gold-soft: rgba(216, 177, 94, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .55)}:root[data-theme=dark] .btn-primary{color:#0d141f}:root[data-theme=dark] .card,:root[data-theme=dark] .feature-card,:root[data-theme=dark] .info-card,:root[data-theme=dark] .quiz-option,:root[data-theme=dark] .lesson-btn,:root[data-theme=dark] .case-tab-btn{background:var(--color-surface)}.theme-toggle{background:none;border:1px solid var(--color-border-strong);border-radius:999px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-ink);margin-left:var(--space-2);transition:border-color var(--transition),transform var(--transition)}.theme-toggle:hover{border-color:var(--color-accent);transform:translateY(-1px)}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-feedback{0%{transform:scale(1)}45%{transform:scale(1.02)}to{transform:scale(1)}}.reveal{opacity:0;transform:translateY(18px)}.reveal.is-visible{animation:reveal-up .64s var(--ease-out-quart) forwards;animation-delay:var(--reveal-delay, 0ms)}.hero-dark .container>*{opacity:0;animation:hero-in .7s var(--ease-out-quart) forwards}.hero-dark .container>*:nth-child(1){animation-delay:60ms}.hero-dark .container>*:nth-child(2){animation-delay:.17s}.hero-dark .container>*:nth-child(3){animation-delay:.28s}.hero-dark .container>*:nth-child(4){animation-delay:.39s}@media(prefers-reduced-motion:reduce){.reveal,.hero-dark .container>*{opacity:1!important;transform:none!important;animation:none!important}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}ul,ol{margin:0 0 var(--space-3);padding-left:1.4rem}button{font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.22;margin:0 0 var(--space-3);letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(2.3rem,4.6vw,3.3rem);font-weight:700}h2{font-size:1.85rem;margin-top:var(--space-6)}h3{font-size:1.25rem;color:var(--color-heading);margin-top:var(--space-4)}h4{font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft);font-weight:700;font-family:var(--font-body)}p{margin:0 0 var(--space-3)}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--space-4)}main.container{padding-bottom:var(--space-7)}.prose{max-width:var(--measure)}.prose img{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-3) 0}.callout{background:var(--color-gold-soft);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4) var(--space-3);margin:var(--space-5) 0}.callout h3{margin-top:0;color:var(--color-heading)}.callout ul{margin-bottom:0}.callout li{margin-bottom:.4rem}.callout li:last-child{margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:.4em;background:var(--color-gold-soft);color:var(--color-gold-ink);border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:700;margin-bottom:var(--space-3)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-gold-ink);display:inline-block}.badge-on-dark{background:#b8923d38;color:#f2d9a0}.badge-on-dark:before{background:#f2d9a0}header{border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:40}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){header{background:var(--color-surface-glass);backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1)}}nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);max-width:1080px;margin:0 auto}.logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-ink)}.logo img{width:32px;height:32px;transition:transform .32s var(--ease-out-quart)}.logo:hover img{transform:rotate(-8deg) scale(1.08)}.logo-text{font-family:var(--font-display);font-weight:600;font-size:1.15rem}.nav-links{display:flex;align-items:center;gap:var(--space-4);list-style:none;margin:0;padding:0}.nav-links a{position:relative;color:var(--color-ink-soft);font-size:.95rem;font-weight:500}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform .26s var(--ease-out-quart)}.nav-links a:hover,.nav-links a.active{color:var(--color-accent);text-decoration:none}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:var(--space-1)}.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--color-ink);margin:5px 0}.mobile-menu-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:760px){.mobile-menu-btn{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);display:flex;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .22s var(--ease-out-quart),transform .22s var(--ease-out-quart),visibility .22s}.nav-links.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}}footer{border-top:1px solid var(--color-border);background:var(--color-accent-soft);margin-top:var(--space-7);padding:var(--space-6) 0 var(--space-5);color:var(--color-ink-faint);font-size:.9rem}.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-5)}.footer-brand{max-width:320px}.footer-brand p{margin-top:var(--space-2);margin-bottom:0}.footer-links,.footer-meta{display:flex;flex-direction:column;gap:.55rem}.footer-links a,.footer-meta a{color:var(--color-ink-faint);font-size:.9rem}.footer-links a:hover,.footer-meta a:hover{color:var(--color-accent)}.footer-meta p{margin:0}@media(max-width:640px){.footer-grid{flex-direction:column;gap:var(--space-4)}}.nav-actions,.nav-auth{display:flex;align-items:center}.nav-auth{justify-content:flex-end;gap:var(--space-2);min-width:4.25rem;white-space:nowrap}.nav-auth-login,.nav-auth-logout{color:var(--color-ink-soft);font:inherit;font-size:.88rem;font-weight:600}.nav-auth-logout{border:0;background:none;padding:0;cursor:pointer}.nav-auth-login:hover,.nav-auth-logout:hover{color:var(--color-accent);text-decoration:none}.nav-auth-logout:focus-visible,.nav-auth-login:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.nav-account{position:relative}.nav-account-trigger{display:inline-flex;min-height:2.5rem;max-width:12rem;align-items:center;gap:.45rem;padding:.35rem .65rem .35rem .45rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-accent-soft);color:var(--color-ink);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.nav-account-trigger:hover,.nav-account-trigger:focus-visible,.nav-account.open .nav-account-trigger{border-color:var(--color-accent);color:var(--color-accent)}.nav-profile-icon{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.nav-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-account-caret{font-size:.7rem;transition:transform .18s var(--ease-out-quart)}.nav-account.open .nav-account-caret{transform:rotate(180deg)}.nav-account-menu{position:absolute;z-index:120;top:calc(100% + .65rem);right:0;display:grid;min-width:170px;padding:.4rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s var(--ease-out-quart),transform .16s var(--ease-out-quart),visibility .16s}.nav-account.open .nav-account-menu{opacity:1;visibility:visible;transform:none}.nav-account-menu a,.nav-account-menu button{display:block;width:100%;padding:.65rem .75rem;border:0;border-radius:8px;background:transparent;color:var(--color-ink-soft);font:inherit;font-size:.88rem;font-weight:650;text-align:left;cursor:pointer}.nav-account-menu a:hover,.nav-account-menu button:hover,.nav-account-menu a:focus-visible,.nav-account-menu button:focus-visible{background:var(--color-accent-soft);color:var(--color-ink);text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-page{display:grid;place-items:center;min-height:calc(100vh - 14rem);padding-block:var(--space-6)}.auth-card{width:min(100%,34rem);padding:clamp(var(--space-4),5vw,var(--space-6));border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg)}.auth-card h1{margin-bottom:var(--space-2)}.auth-intro{color:var(--color-ink-soft)}.auth-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.auth-tabs button{padding:.65rem .75rem;border:0;border-bottom:2px solid transparent;background:none;color:var(--color-ink-soft);font:inherit;font-weight:600;cursor:pointer}.auth-tabs button.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.auth-form{display:grid;gap:var(--space-2)}.auth-form[hidden]{display:none}.auth-form label{margin-top:var(--space-1);color:var(--color-heading);font-weight:600}.auth-field-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.auth-field-row label{margin-top:var(--space-1)}.auth-forgot-link{padding:0;border:0;background:none;color:var(--color-accent);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-align:right}.auth-forgot-link:hover,.auth-forgot-link:focus-visible{text-decoration:underline}#resetForm .auth-forgot-link{margin-top:var(--space-2);text-align:center}.auth-form label span,.auth-hint{color:var(--color-ink-soft);font-size:.85rem;font-weight:400}.auth-form input{width:100%;padding:.75rem .85rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font:inherit}.auth-form input:focus{border-color:var(--color-accent);outline:2px solid color-mix(in srgb,var(--color-accent) 20%,transparent)}.auth-form .btn{width:100%;margin-top:var(--space-2)}.auth-status{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.auth-status-loading{color:var(--color-ink-soft)}.auth-status-success{border-color:#2f855a;color:#276749}.auth-status-error{border-color:#c53030;color:#c53030}.auth-divider{display:flex;align-items:center;gap:var(--space-2);color:var(--color-ink-soft);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--color-border)}@media(max-width:760px){.nav-auth-user{max-width:7rem}.nav-auth{gap:var(--space-1)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border-radius:var(--radius-sm);padding:.65rem 1.2rem;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition),box-shadow var(--transition);text-decoration:none}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0);box-shadow:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-ink);text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-ghost-on-dark:focus-visible,.hero-dark .btn:focus-visible{outline-color:#fff}.btn-secondary{background:transparent;border-color:var(--color-border-strong);color:var(--color-ink)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent);text-decoration:none}.lesson-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--color-ink)}.lesson-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.lesson-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.hero{padding:var(--space-7) 0 var(--space-6)}.hero h1{max-width:620px}.hero p{max-width:560px;font-size:1.15rem;color:var(--color-ink-soft)}.hero-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.hero-dark{background-color:var(--color-accent-ink);background-image:radial-gradient(circle at 15% 20%,rgba(216,177,94,.22),transparent 55%),radial-gradient(circle at 85% 75%,rgba(111,160,218,.28),transparent 55%);color:#fff;padding:var(--space-7) 0 var(--space-7);margin-bottom:var(--space-6);position:relative;overflow:hidden}.hero-dark h1{color:#fff}.hero-dark p{color:#ffffffc7}.btn-ghost-on-dark{background:transparent;border-color:#ffffff73;color:#fff}.btn-ghost-on-dark:hover{background:#ffffff1f;border-color:#fff;text-decoration:none}.section{padding:var(--space-7) 0 var(--space-5)}.section-heading{max-width:620px;margin-bottom:var(--space-6)}.section-heading h2{margin-top:0}.section-heading p:not(.kicker){color:var(--color-ink-soft)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.stat-tile-value{display:block;font-family:var(--font-body);font-weight:700;font-size:2.1rem;line-height:1.1;color:var(--color-heading)}.stat-tile-label{display:block;margin-top:.35rem;font-size:.85rem;color:var(--color-ink-soft)}.progress-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.progress-row:last-child{border-bottom:none}.progress-row-title{font-weight:600;margin:0 0 .2rem}.progress-row-meta{margin:0;font-size:.85rem;color:var(--color-ink-soft)}.progress-row-tags{flex-shrink:0}.text-link-btn{background:none;border:0;padding:0;cursor:pointer;font:inherit}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card h3{margin-top:0}a.card,.card[role=button]{display:block;color:inherit;cursor:pointer}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tag{display:inline-block;background:var(--color-accent-soft);color:var(--color-heading);border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600;margin:0 .35rem .35rem 0}.tag-gold{background:var(--color-gold-soft);color:var(--color-gold-ink)}.tag-complete{background:var(--color-correct-soft);color:var(--color-correct)}.card-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--space-2) 0}.card-detail-row{font-size:.88rem;color:var(--color-ink-soft);margin:.25rem 0}.card-detail-row strong{color:var(--color-ink)}.feature-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-4);align-items:stretch}.feature-grid-secondary{display:grid;gap:var(--space-3)}.feature-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:inherit;box-shadow:var(--shadow-sm);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.feature-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px);text-decoration:none}.feature-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.feature-card--primary{background-color:var(--color-accent);background-image:radial-gradient(circle at 10% 10%,rgba(216,177,94,.24),transparent 55%),radial-gradient(circle at 90% 90%,rgba(255,255,255,.12),transparent 55%);color:#fff;display:flex;flex-direction:column;justify-content:flex-start;padding:var(--space-5);overflow:hidden}.feature-card--primary h3{color:#fff;font-size:1.6rem}.feature-card--primary p{color:#ffffffd1;margin-bottom:var(--space-3)}.feature-card-cta{font-weight:700;color:var(--color-gold)}.feature-card p{margin-bottom:0}@media(max-width:760px){.feature-grid{grid-template-columns:1fr}}.value-list{display:flex;flex-direction:column}.value-row{display:grid;grid-template-columns:220px 1fr;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--color-border)}.value-row:first-child{border-top:none}.value-row dt{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--color-heading)}.value-row dd{margin:0;color:var(--color-ink-soft)}@media(max-width:640px){.value-row{grid-template-columns:1fr;gap:var(--space-1)}}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.info-card h3{margin-top:0}.code-block,pre.code-block{background:#0d141f;color:#e9eef5;border-radius:var(--radius-md);padding:var(--space-3);overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.6;white-space:pre-wrap}.quickstart-box{background:var(--color-accent-soft);border:1px solid var(--color-accent-soft-strong);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-3) 0}.code-label{margin-top:var(--space-3)}.answer-key{margin:var(--space-4) 0;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.answer-key summary{cursor:pointer;padding:var(--space-3) var(--space-4);font-weight:600;list-style:none;display:flex;align-items:center;gap:.5rem;-webkit-user-select:none;user-select:none}.student-guide{margin-bottom:var(--space-6);border-left:4px solid var(--color-accent)}.student-guide>h2,.completion-rubric>h2{margin-top:0}.student-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin:var(--space-4) 0}.student-guide-grid h3{margin-top:0}.reference-implementation{margin-bottom:var(--space-6)}.reference-implementation-note{padding:var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent-soft)}.reference-implementation-note p{margin:0}.completion-rubric{margin-top:var(--space-6);border-left:4px solid var(--color-gold)}@media(max-width:760px){.student-guide-grid{grid-template-columns:1fr;gap:var(--space-3)}}.answer-key summary::-webkit-details-marker{display:none}.answer-key summary:before{content:"▸";color:var(--color-accent);display:inline-block;transition:transform .15s var(--ease-out-quart)}.answer-key[open] summary:before{transform:rotate(90deg)}.answer-key summary:hover{color:var(--color-accent)}.answer-key>*:not(summary){padding:0 var(--space-4) var(--space-4)}.answer-key .code-block{margin-top:0}.lesson-detail-header{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-3) 0 var(--space-5)}.lesson-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0;font-size:.82rem;color:var(--color-ink-faint)}.lesson-breadcrumb a{color:var(--color-ink-faint)}.lesson-breadcrumb a:hover{color:var(--color-accent)}.lesson-breadcrumb li+li:before{content:"/";margin-right:.4rem;color:var(--color-border-strong)}.lesson-breadcrumb li[aria-current=page]{color:var(--color-ink-soft)}.lesson-position{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);margin:0}.lesson-title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.lesson-title-row .detail-title{margin:0}.lesson-summary{font-style:italic;color:var(--color-ink-soft);margin:0;max-width:640px}.lesson-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--space-5);align-items:start;padding:var(--space-5) 0 var(--space-7)}.lesson-sidebar{position:sticky;top:88px}.lesson-switcher{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.lesson-switcher-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-ink);cursor:pointer;flex:0 0 auto}.lesson-switcher-nav:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.lesson-switcher-nav:disabled{opacity:.35;cursor:not-allowed}.lesson-switcher-title{flex:1;text-align:center;font-weight:600;font-size:.85rem}.lesson-sublesson-list{list-style:none;padding-left:.6rem;margin:.2rem 0 0;border-left:1px solid var(--color-border)}.lesson-sublesson-list li a{display:flex;align-items:center;padding:.35rem .6rem;font-size:.88rem;color:var(--color-ink-soft);border-radius:var(--radius-sm)}.lesson-sublesson-list li a:hover{background:var(--color-accent-soft);text-decoration:none}.lesson-sublesson-list li a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.lesson-sublesson-list li a.active{color:var(--color-accent);font-weight:600;background:var(--color-accent-soft);border-left:2px solid var(--color-accent);margin-left:-2px}.lesson-sidebar-icon{display:inline-flex;flex:0 0 auto;width:16px;height:16px;margin-right:.5rem;color:var(--color-ink-faint)}.lesson-sidebar-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3}.lesson-sublesson-list li a.active .lesson-sidebar-icon{color:var(--color-accent)}.lesson-sidebar-label{flex:1}.lesson-sidebar-check{flex:0 0 auto;margin-left:.5rem;color:var(--color-correct);font-size:.8rem}.lesson-content{min-height:300px;transition:opacity .18s var(--ease-out-quart)}.lesson-content.fading{opacity:0}.lesson-content .resource-link{text-decoration:underline}.key-terms-block{margin:var(--space-5) 0}.key-terms-table{width:100%;border-collapse:collapse;font-size:.92rem}.key-terms-table th,.key-terms-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.key-terms-table th{color:var(--color-heading);font-weight:600;width:30%;white-space:nowrap}.key-terms-table tr:last-child th,.key-terms-table tr:last-child td{border-bottom:none}.lesson-continue{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.lesson-continue p{margin:0}.lesson-continue-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-faint);display:block;margin-bottom:.2rem}@media(max-width:860px){.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{position:static}}.quiz-panel{margin-top:var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4)}.quiz-question{font-weight:600;margin-bottom:var(--space-3)}.quiz-options{list-style:none;padding:0;margin:0 0 var(--space-3);display:flex;flex-direction:column;gap:.5rem}.quiz-option{display:block;width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.7rem .9rem;cursor:pointer;font-size:.95rem;color:var(--color-ink)}.quiz-option:hover{border-color:var(--color-accent)}.quiz-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.quiz-option.correct{border-color:var(--color-correct);background:var(--color-correct-soft);animation:pop-feedback .36s var(--ease-out-quart)}.quiz-option.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-soft);animation:pop-feedback .36s var(--ease-out-quart)}.quiz-option:disabled{cursor:default}.quiz-explain{background:var(--color-accent-soft);border-radius:var(--radius-md);padding:var(--space-3);font-size:.92rem;color:var(--color-ink-soft)}.quiz-progress{font-size:.85rem;color:var(--color-ink-faint);margin-bottom:var(--space-2)}.skulpt-area{margin-top:var(--space-3)}.editor-frame{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.editor-titlebar{display:flex;align-items:center;gap:.4rem;background:#0d141f;padding:.55rem var(--space-3)}.editor-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.editor-dot--red{background:#e5645a}.editor-dot--yellow{background:#e5b94e}.editor-dot--green{background:#58b368}.editor-filename{margin-left:var(--space-2);font-family:var(--font-mono);font-size:.78rem;color:#e9eef599}.code-editor{width:100%;height:200px;font-family:var(--font-mono);font-size:.9rem;background:#0d141f;color:#e9eef5;border:none;border-radius:0;padding:var(--space-3);resize:vertical;display:block}.skulpt-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.skulpt-output{margin-top:var(--space-3);min-height:80px}.case-view-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) 0}.case-tabs{display:flex;gap:.4rem;list-style:none;padding:0;margin:0;flex-wrap:wrap}.case-tab-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;cursor:pointer;color:var(--color-ink-soft)}.case-tab-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.case-tab-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}#caseContent{transition:opacity .18s var(--ease-out-quart)}#caseContent.fading{opacity:0}.printout-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) 0}.printout-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.printout-mode-btn.active{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent)}.printout-page{color-scheme:light;--color-bg: #ffffff;--color-surface: #f4f7fa;--color-ink: #182536;--color-ink-soft: #4d5d70;--color-ink-faint: #66778a;--color-heading: #071b33;--color-border: #d7dee7;--color-border-strong: #aebac8;--color-accent: #1268b3;--color-accent-soft: #e8f3fc;--color-gold: #a66b00;--color-gold-soft: #fff7df;max-width:860px;margin:0 auto var(--space-8);padding:clamp(1.5rem,5vw,4rem);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;color:var(--color-ink);box-shadow:var(--shadow-sm)}.printout-page h1,.printout-page h2,.printout-page h3,.printout-page h4,.printout-page strong{color:var(--color-heading)}.printout-page p,.printout-page li{color:var(--color-ink)}.printout-cover{position:static;top:auto;z-index:auto;background:#fff;color:var(--color-ink);border-top:0;border-right:0;border-left:0;backdrop-filter:none;-webkit-backdrop-filter:none;padding-bottom:var(--space-6);margin-bottom:var(--space-7);border-bottom:2px solid var(--color-heading)}.printout-brand,.printout-section-label,.printout-version{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.printout-brand,.printout-section-label{color:var(--color-accent)}.printout-version{color:var(--color-ink-soft);margin:var(--space-3) 0 var(--space-2)}.printout-cover h1{max-width:760px;margin:0;font-size:clamp(2.3rem,6vw,4.5rem);line-height:1}.printout-summary{max-width:700px;margin:var(--space-4) 0;font-size:1.08rem;color:var(--color-ink-soft)}.printout-fields{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-4);margin:var(--space-6) 0;font-size:.86rem;font-weight:600}.printout-fields span{display:flex;gap:var(--space-2);align-items:end}.printout-fields i{flex:1;height:1.2rem;border-bottom:1px solid var(--color-ink)}.printout-overview{padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface)}.printout-overview h2{margin:0 0 var(--space-3);font-size:1.1rem}.printout-overview ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem var(--space-5);margin:0;padding:0;list-style:none}.printout-overview li{display:flex;gap:var(--space-2);font-size:.88rem}.printout-overview li span{color:var(--color-accent);font-family:var(--font-mono)}.printout-use-note,.printout-teacher-note{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-gold);background:#fff9e8;color:#3b2a08}.printout-use-note p,.printout-teacher-note{margin-bottom:0;color:#3b2a08}.printout-sublesson{margin-bottom:var(--space-8)}.printout-sublesson>h2,.printout-answer-key>h2{margin:0 0 var(--space-4);font-size:2rem;line-height:1.08}.printout-sublesson h3,.printout-sublesson h4{break-after:avoid;page-break-after:avoid}.printout-sublesson pre,.printout-sublesson figure,.printout-sublesson table,.print-question,.print-answer,.print-answer-group h3{page-break-inside:avoid;break-inside:avoid}.printout-quiz{margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--color-heading)}.print-question{margin:var(--space-5) 0}.print-options{padding-left:1.5rem}.print-options li{margin:.35rem 0;padding-left:.25rem}.print-response-lines{height:2.2rem;margin-top:var(--space-3);background:repeating-linear-gradient(to bottom,transparent 0,transparent 1.05rem,var(--color-border-strong) 1.08rem,transparent 1.12rem)}.printout-answer-key{margin-top:var(--space-8);padding-top:var(--space-5);border-top:3px solid var(--color-heading)}.print-answer-group{margin-top:var(--space-6)}.print-answer{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.print-answer p{margin:.25rem 0}.print-answer p:last-child{color:var(--color-ink-soft)}.printout-running-footer{display:none}@media print{@page{size:letter;margin:.62in .68in .72in}.site-header,.site-footer,.printout-toolbar,.no-print{display:none!important}html,body{background:#fff;color:#111;font-size:10.5pt;line-height:1.45;print-color-adjust:exact;-webkit-print-color-adjust:exact}main.container{width:100%;max-width:none;margin:0;padding:0}.lesson-layout{display:block}.printout-page{max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}.printout-cover{min-height:8.6in;padding:0;margin:0;border:0;break-after:page;page-break-after:always}.printout-cover h1{font-size:34pt}.printout-sublesson{margin:0;break-before:page;page-break-before:always}.printout-sublesson>h2,.printout-answer-key>h2{font-size:22pt}.printout-sublesson p,.printout-sublesson li{orphans:3;widows:3}.printout-sublesson pre{border:1px solid #bbb;background:#f4f4f4!important;font-size:8.5pt;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.printout-quiz,.printout-answer-key{break-before:page;page-break-before:always}.printout-answer-key{border-top:0;margin-top:0;padding-top:0}.printout-use-note,.printout-teacher-note,.printout-overview{background:#f5f5f5!important}.printout-running-footer{position:fixed;right:0;bottom:-.48in;left:0;display:flex!important;justify-content:space-between;padding-top:.08in;border-top:.5pt solid #aaa;color:#555;font:7.5pt var(--font-mono)}a{color:inherit;text-decoration:none}}.text-center{text-align:center}.stack{display:flex;flex-direction:column;gap:var(--space-2)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0}.back-link{display:inline-block;margin-bottom:var(--space-3);font-size:.9rem;font-weight:600}.prose-wide{max-width:none}.detail-title{margin:0;font-size:1.6rem}.detail-heading-row{flex-direction:row;align-items:center;gap:1rem}:root{--color-bg: #F4F7FA;--color-surface: #FFFFFF;--color-surface-glass: rgba(255, 255, 255, .82);--color-ink: #061426;--color-ink-soft: #526174;--color-ink-faint: #718095;--color-border: rgba(0, 33, 71, .1);--color-border-strong: rgba(0, 33, 71, .2);--color-accent: #086FD1;--color-accent-ink: #002147;--color-heading: #002147;--color-accent-soft: rgba(77, 163, 255, .11);--color-accent-soft-strong: rgba(77, 163, 255, .2);--color-gold: #D4AF37;--color-gold-ink: #765D08;--color-gold-soft: rgba(212, 175, 55, .12);--font-display: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", "SFMono-Regular", Consolas, monospace;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--shadow-sm: 0 1px 3px rgba(0, 33, 71, .08);--shadow-md: 0 14px 40px rgba(0, 33, 71, .12);--shadow-lg: 0 28px 70px rgba(0, 33, 71, .18)}:root[data-theme=dark]{--color-bg: #061426;--color-surface: #0B1D33;--color-surface-glass: rgba(6, 20, 38, .9);--color-ink: #FFFFFF;--color-ink-soft: #AAB7C8;--color-ink-faint: #8291A5;--color-border: rgba(168, 216, 255, .12);--color-border-strong: rgba(168, 216, 255, .24);--color-accent: #4DA3FF;--color-accent-ink: #A8D8FF;--color-heading: #FFFFFF;--color-gold-ink: #E6C85C}html{scroll-behavior:smooth;scroll-padding-top:96px}body{font-size:16px;letter-spacing:-.01em}.home-page h1,.home-page h2,.home-page h3,.home-page h4{letter-spacing:-.04em}.home-page h1{font-size:clamp(2.8rem,6vw,5.5rem)}.home-page h2{font-size:clamp(2rem,4.5vw,4.25rem)}.home-page h3{font-size:1.35rem}.wide-container{width:min(100% - 48px,1380px);margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;background:#fff;color:#002147;padding:.8rem 1rem;border-radius:0 0 8px 8px;font-weight:700}.skip-link:focus{top:0}.site-header{position:sticky;top:0;z-index:100;width:100%;background:var(--color-surface-glass);border-bottom:1px solid var(--color-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .26s ease,border-color .26s ease,backdrop-filter .26s ease}.site-header.header-overlay{position:fixed;background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.site-header.header-overlay.scrolled,.site-header.menu-open{background:var(--color-surface-glass);border-color:var(--color-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.home-page .site-header.header-overlay:not(.scrolled):not(.menu-open){--color-ink: #fff;--color-ink-soft: #D8E0EA;--color-border: rgba(255,255,255,.08);--color-border-strong: rgba(255,255,255,.26);--color-accent: #4DA3FF;--color-surface: #0B1D33}.site-nav{display:grid;grid-template-columns:1fr auto 1fr;width:min(100% - 48px,1380px);min-height:78px;margin-inline:auto;padding:0;gap:2rem}.site-nav .logo{justify-self:start}.site-nav .nav-actions{justify-self:end}.site-nav .logo,.site-footer .logo{color:var(--color-ink)}.logo-mark{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto}.logo-icon{width:40px;height:40px}.logo-icon-light{display:none}:root[data-theme=dark] .logo-icon-dark,.home-page .site-header.header-overlay:not(.scrolled):not(.menu-open) .logo-icon-dark{display:none}:root[data-theme=dark] .logo-icon-light,.home-page .site-header.header-overlay:not(.scrolled):not(.menu-open) .logo-icon-light{display:block}.logo-text{font-weight:800;font-size:1.45rem;letter-spacing:-.04em}.site-nav .nav-links{justify-self:center;gap:clamp(.9rem,1.8vw,2rem)}.site-nav .nav-links a{color:var(--color-ink-soft);font-size:.88rem;font-weight:600}.site-nav .nav-links a:after{bottom:-9px;background:var(--color-accent)}.site-nav .nav-links a:hover,.site-nav .nav-links a.active{color:var(--color-ink)}.nav-more{position:relative;list-style:none}.nav-more-btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;font:inherit;font-size:.88rem;font-weight:600;color:var(--color-ink-soft);padding:0}.nav-more-btn:hover,.nav-more.open .nav-more-btn{color:var(--color-ink)}.nav-more-caret{font-size:.65em;transition:transform .2s var(--ease-out-quart)}.nav-more.open .nav-more-caret{transform:rotate(180deg)}.nav-more-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.nav-more-menu{position:absolute;top:calc(100% + 18px);right:0;min-width:190px;margin:0;padding:.4rem;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--ease-out-quart),transform .18s var(--ease-out-quart),visibility .18s}.nav-more.open .nav-more-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-more-menu a{display:block;padding:.55rem .7rem;border-radius:8px;font-size:.88rem;font-weight:600;color:var(--color-ink-soft)}.nav-more-menu a:after{content:none}.nav-more-menu a:hover,.nav-more-menu a.active{background:var(--color-accent-soft);color:var(--color-ink);text-decoration:none}.nav-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{color:var(--color-ink);border-color:var(--color-border-strong);margin-left:0;order:-1}.btn{min-height:48px;border-radius:999px;padding:.75rem 1.3rem;font-size:.88rem;letter-spacing:-.01em}.btn-blue:hover{background:#a8d8ff;color:#002147;text-decoration:none}.btn-light{background:#fff;color:#002147}.btn-light:hover{background:#a8d8ff;color:#002147;text-decoration:none;box-shadow:0 10px 30px #4da3ff38}.btn-dark{background:#002147;color:#fff}.btn-dark:hover{background:#0a4c8b;color:#fff;text-decoration:none}.btn-blue{background:#4da3ff;color:#061426}.btn-outline-light{border-color:#ffffff7a;color:#fff}.btn-outline-light:hover{background:#ffffff1a;border-color:#fff;color:#fff;text-decoration:none}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #D4AF37;outline-offset:4px}main.container>.section-heading,main.container>[id$=View]>.section-heading{padding-top:clamp(4rem,8vw,7rem)}.card,.feature-card,.info-card,.quickstart-box,.callout{border-color:transparent}.card{border-radius:18px}.tag{border-radius:999px}.home-page{background:#061426;color:#fff}.home-hero{position:relative;min-height:min(940px,100svh);margin:12px;border-radius:30px;overflow:hidden;display:grid;align-items:end;isolation:isolate;background:linear-gradient(155deg,#031024,#002c67 42%,#147fe4 72%,#a8d8ff 110%)}.hero-field{position:absolute;inset:0;overflow:hidden;z-index:-1}.hero-field:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(to bottom,#000,transparent 76%);mask-image:linear-gradient(to bottom,#000,transparent 76%)}.hero-field:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 0,rgba(2,14,32,.08) 38%,rgba(2,14,32,.58) 100%)}.hero-glow{position:absolute;border-radius:50%;filter:blur(18px);opacity:.72}.hero-glow-one{width:70vw;height:26vw;min-height:260px;left:-8%;top:28%;background:#0a72e8;transform:rotate(-10deg);animation:glow-drift 11s ease-in-out infinite alternate}.hero-glow-two{width:55vw;height:32vw;right:-12%;bottom:0;background:#65b9ff;filter:blur(45px);animation:glow-drift 14s ease-in-out infinite alternate-reverse}.hero-lottie{position:absolute;right:-12%;top:4%;width:56%;height:92%;opacity:.55;pointer-events:none}.hero-lottie svg{width:100%;height:100%}.hero-content{width:min(100% - 64px,1380px);margin:0 auto;padding:180px 0 clamp(7rem,14vh,10rem)}.hero-content>*{opacity:0;animation:hero-in .7s var(--ease-out-quart) forwards}.hero-content>*:nth-child(1){animation-delay:60ms}.hero-content>*:nth-child(2){animation-delay:.17s}.hero-content>*:nth-child(3){animation-delay:.28s}.hero-content>*:nth-child(4){animation-delay:.39s}.home-hero h1{color:#fff;max-width:1160px;margin:0 0 2rem;font-size:clamp(3.55rem,8.6vw,8.7rem);font-weight:500;line-height:.91;letter-spacing:-.075em}.home-hero h1 span{color:#a8d8ff}.hero-intro{width:min(100%,650px);font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;color:#e1eaf4}.hero-actions{margin-top:2rem}.hero-index{position:absolute;right:34px;bottom:30px;display:flex;gap:1.3rem;color:#ffffffb8;font:500 .68rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.1em;writing-mode:vertical-rl}.kicker{color:var(--color-accent);font:500 .72rem/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.kicker-light{color:#a8d8ff}.kicker-gold{color:#d4af37}.home-section{padding:clamp(6rem,12vw,11rem) 0}.paths-section,.projects-section{background:var(--color-surface);color:var(--color-ink)}.section-intro{max-width:820px;margin-bottom:clamp(3rem,6vw,5.5rem)}.section-intro h2{margin:0 0 1.5rem;color:var(--color-heading);line-height:1.02}.section-intro>p:last-child{max-width:600px;color:var(--color-ink-soft);font-size:1.08rem}.section-intro-row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:2rem}.section-intro-row>div{max-width:820px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.path-card{min-height:570px;padding:clamp(1.5rem,2.8vw,2.5rem);border-radius:28px;color:#fff;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .36s var(--ease-out-quart),box-shadow .36s ease}.path-card:hover{transform:translateY(-9px);box-shadow:var(--shadow-lg);text-decoration:none}.path-card:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;top:-150px;right:-130px;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 80px #ffffff14}.path-card-blue{background:linear-gradient(145deg,#002147,#0b66bf)}.path-card-sky{background:linear-gradient(145deg,#0871d5,#4da3ff)}.path-card-gold{background:linear-gradient(145deg,#15263a,#384a5f)}.path-number{font:500 .72rem var(--font-mono);opacity:.7}.path-icon{width:80px;height:80px;margin:auto 0 2rem;border-radius:50%;display:grid;place-items:center;background:#ffffff1f}.path-icon svg{width:42px;fill:none;stroke:currentColor;stroke-width:1.6}.path-body h3{color:#fff;font-size:clamp(1.7rem,2.5vw,2.4rem);margin:.4rem 0 .9rem}.path-body p{color:#ffffffc7}.card-label{font:500 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.text-link{display:inline-flex;gap:.65rem;align-items:center;color:#086fd1;font-weight:700;font-size:.9rem}.path-card .text-link{color:#fff;margin-top:2rem}.text-link:hover{text-decoration:none;gap:.9rem}.featured-section{background:var(--color-surface);padding-top:0}.featured-panel{background:#002147;border-radius:32px;overflow:hidden;padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,7rem);align-items:center;min-height:650px}.featured-copy h2{color:#fff;font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:1.02;margin:1.5rem 0}.featured-copy>p:not(.kicker){color:#aab7c8;max-width:560px;font-size:1.08rem}.meta-row{display:flex;gap:.55rem;flex-wrap:wrap}.meta-row span{padding:.35rem .65rem;border-radius:999px;background:#a8d8ff1f;color:#a8d8ff;font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.featured-copy .btn{margin-top:1.4rem}.learning-demo{background:var(--color-bg);color:var(--color-ink);border-radius:24px;padding:clamp(1.2rem,2.5vw,2rem);min-height:390px;display:flex;flex-direction:column;box-shadow:0 35px 80px #0000003d}.demo-title,.demo-note{display:flex;justify-content:space-between;font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-faint)}.demo-status:before{content:"";display:inline-block;width:7px;height:7px;background:#2bc48a;border-radius:50%;margin-right:.45rem}.demo-stage{flex:1;display:grid;grid-template-columns:1fr auto 1.2fr auto 1fr;gap:1rem;align-items:center}.data-cluster{display:grid;grid-template-columns:repeat(3,18px);gap:8px;justify-content:center}.data-cluster i{width:18px;height:18px;border-radius:50%;background:#4da3ff}.data-cluster i:nth-child(2n){background:#a8d8ff;transform:translateY(9px)}.demo-arrow{color:var(--color-ink-faint)}.model-core{aspect-ratio:1;border-radius:50%;background:#002147;color:#fff;display:grid;place-content:center;text-align:center;box-shadow:0 0 0 12px var(--color-accent-soft-strong),0 0 0 13px var(--color-accent)}.model-core span{font:500 .65rem var(--font-mono);color:#a8d8ff}.model-core b{font-size:.85rem}.prediction{background:var(--color-accent-soft);border-radius:14px;padding:1rem;text-align:center}.prediction span{font-size:.7rem;color:var(--color-ink-soft);display:block}.prediction strong{font-size:1.8rem;color:var(--color-heading)}.demo-note{border-top:1px solid var(--color-border);padding-top:1rem}.projects-section{padding-top:clamp(6rem,10vw,9rem)}.project-showcase{border-top:1px solid var(--color-border)}.project-row{display:grid;grid-template-columns:minmax(320px,.85fr) 1.15fr;gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(2.5rem,5vw,5rem) 0;border-bottom:1px solid var(--color-border);color:var(--color-ink)}.project-row:hover{text-decoration:none}.project-row:hover .project-preview{transform:scale(.985);box-shadow:var(--shadow-lg)}.project-row-reverse .project-preview{order:2}.project-preview{min-height:330px;border-radius:26px;transition:transform .36s ease,box-shadow .36s ease;padding:2rem}.project-copy h3{font-size:clamp(2rem,3.4vw,3.3rem);color:var(--color-heading);margin:1.2rem 0}.project-copy p{color:var(--color-ink-soft);max-width:620px;font-size:1.02rem}.project-copy .meta-row span{background:var(--color-accent-soft);color:var(--color-heading)}.project-copy .text-link{margin-top:1rem}.preview-sentiment{background:linear-gradient(145deg,#ddefff,#7ec1ff);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;color:#002147}.preview-sentiment span{background:#fff;padding:1rem 1.3rem;border-radius:12px;box-shadow:var(--shadow-md)}.preview-sentiment b{font:500 .72rem var(--font-mono);background:#002147;color:#fff;padding:.55rem .9rem;border-radius:999px}.preview-digits{background:#07182c;color:#fff;position:relative;display:grid;place-items:center}.preview-digits strong{font-size:8rem;font-weight:500;line-height:1}.preview-digits>span{font:500 .68rem var(--font-mono);color:#a8d8ff}.digit-grid{position:absolute;inset:1.5rem;display:grid;grid-template-columns:repeat(3,1fr);opacity:.14}.digit-grid i{border:1px solid #A8D8FF}.preview-pipeline{background:linear-gradient(135deg,#e8e3cb,#f7f4e9);display:flex;align-items:center;justify-content:center;color:#002147}.preview-pipeline span{font:500 .67rem var(--font-mono);background:#fff;padding:1rem;border-radius:50%;box-shadow:var(--shadow-sm)}.preview-pipeline i{width:42px;height:1px;background:#4da3ff}.ethics-section{background:#061426}.ethics-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(4rem,10vw,10rem);align-items:start}.ethics-copy{position:sticky;top:130px}.ethics-copy h2{color:#fff;line-height:1.02;margin:0 0 1.5rem}.ethics-copy>p:not(.kicker){color:#aab7c8;max-width:580px;font-size:1.08rem}.ethics-copy .btn{margin-top:1.5rem}.case-list{list-style:none;padding:0;margin:0}.case-list li{border-top:1px solid rgba(168,216,255,.18)}.case-list li:last-child{border-bottom:1px solid rgba(168,216,255,.18)}.case-list a{min-height:100px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;color:#fff;font-size:clamp(1.2rem,2.2vw,1.8rem)}.case-list a:hover{text-decoration:none;color:#a8d8ff}.case-list span{font:500 .67rem var(--font-mono);color:#d4af37}.case-list b{font-weight:400;transition:transform .22s}.case-list a:hover b{transform:translate(8px)}.teacher-section{background:var(--color-surface);color:var(--color-ink)}.teacher-panel{background:var(--color-accent-soft-strong);border-radius:32px;padding:clamp(2rem,6vw,6rem);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,8vw,8rem);align-items:center}.teacher-copy h2{color:var(--color-heading);line-height:1.03;margin:0 0 1.5rem}.teacher-copy>p:not(.kicker){color:var(--color-ink-soft);max-width:620px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;list-style:none;padding:0;margin:2rem 0}.check-list li{position:relative;padding-left:1.6rem}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:800}.teacher-visual{position:relative;min-height:440px;display:grid;place-items:center}.paper{position:absolute;width:min(85%,340px);aspect-ratio:.77;border-radius:8px;box-shadow:0 28px 60px #0021472e}.paper-back{background:#4da3ff;transform:rotate(-8deg) translate(-20px,8px)}.paper-front{background:#fff;padding:2rem;transform:rotate(3deg);display:flex;flex-direction:column;color:#002147}.paper-front span{font:500 .58rem var(--font-mono);text-transform:uppercase}.paper-front strong{font-size:1.8rem;line-height:1.1;margin:3rem 0 auto}.paper-front i{display:block;height:1px;background:#ccd9e7;margin-top:1rem}.community-section{background:#002147}.community-grid{display:grid;grid-template-columns:.3fr 1.7fr;gap:3rem}.community-copy h2{color:#fff;font-size:clamp(3rem,7vw,7rem);line-height:.94;margin:0 0 2rem}.community-copy h2 span{color:#a8d8ff}.community-copy p{color:#aab7c8;max-width:700px;font-size:1.1rem;margin-left:auto}.text-link-light{color:#fff;margin:1.5rem 0 0 auto;display:flex;width:max-content}.home-cta{background:linear-gradient(140deg,#0b5eb4,#4da3ff);padding:clamp(6rem,12vw,11rem) 0;text-align:center}.home-cta h2{color:#fff;max-width:1100px;margin:0 auto 2.5rem;line-height:1.02}.site-footer{margin:0;background:var(--color-surface);color:var(--color-ink-soft);padding:5rem 0 2rem;border-top:1px solid var(--color-border)}.footer-top{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:4rem;padding-bottom:4rem}.footer-brand{max-width:330px}.footer-brand p{margin-top:1.2rem}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:.8rem 2rem}.footer-links a,.footer-contact a{color:var(--color-ink-soft)}.footer-contact a:hover{color:var(--color-ink)}.footer-contact p{font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.footer-bottom{border-top:1px solid var(--color-border);padding-top:1.5rem;display:flex;justify-content:space-between;font:400 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.footer-bottom p{margin:0}@keyframes glow-drift{0%{transform:translate3d(-3%,-2%,0) rotate(-10deg) scale(.96)}to{transform:translate3d(8%,5%,0) rotate(-4deg) scale(1.08)}}@media(max-width:980px){.path-grid{grid-template-columns:1fr}.path-card{min-height:430px}.featured-panel,.ethics-layout,.teacher-panel{grid-template-columns:1fr}.ethics-copy{position:static}.project-row{grid-template-columns:1fr}.project-row-reverse .project-preview{order:0}.project-preview{min-height:280px}.community-grid{grid-template-columns:1fr}.community-copy p,.text-link-light{margin-left:0}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:760px){.wide-container,.site-nav{width:min(100% - 32px,1380px)}.site-nav{min-height:68px}.site-nav .nav-links{top:100%;padding:1.5rem 1rem 2rem;background:var(--color-surface);gap:0}.site-nav .nav-links li{width:100%}.site-nav .nav-links a{display:block;padding:.8rem 0;font-size:1.1rem}.nav-more-btn{width:100%;justify-content:space-between;padding:.8rem 0;font-size:1.1rem}.nav-more-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:none;padding:0 0 0 1rem;margin:0;max-height:0;overflow:hidden;transition:max-height .22s ease}.nav-more.open .nav-more-menu{max-height:160px}.nav-more-menu a{padding:.6rem 0;font-size:1rem}.mobile-menu-btn{display:block}.mobile-menu-btn span{background:var(--color-ink)}.site-header.menu-open .nav-links{opacity:1;visibility:visible;transform:none;pointer-events:auto}.home-hero{margin:6px;border-radius:22px;min-height:860px}.hero-content{width:calc(100% - 40px);padding:140px 0 7rem}.home-hero h1{font-size:clamp(3.15rem,15vw,5.4rem);line-height:.93}.hero-index{display:none}.hero-field:before{background-size:44px 44px}.hero-lottie{width:82%}.home-section{padding:5.5rem 0}.section-intro-row{display:block}.section-intro-row>.text-link{margin-top:1.2rem}.path-card{min-height:460px}.featured-panel{width:calc(100% - 24px);padding:2rem;min-height:0}.demo-stage{gap:.45rem}.model-core{box-shadow:0 0 0 6px #dceeff,0 0 0 7px #4da3ff}.data-cluster{grid-template-columns:repeat(2,12px);gap:5px}.data-cluster i{width:12px;height:12px}.prediction{padding:.6rem}.prediction strong{font-size:1.25rem}.project-row{gap:2rem}.project-preview{min-height:240px}.ethics-layout{gap:3rem}.case-list a{min-height:82px;grid-template-columns:35px 1fr auto;font-size:1.15rem}.teacher-panel{width:calc(100% - 24px);padding:2rem}.teacher-visual{min-height:350px}.check-list{grid-template-columns:1fr}.community-copy h2{font-size:clamp(3rem,14vw,5rem)}.footer-top{grid-template-columns:1fr;gap:2.5rem}.footer-brand{grid-column:auto}.footer-bottom{display:block}.footer-bottom p+p{margin-top:.6rem}}@media(max-width:420px){.home-hero h1{font-size:2.85rem}.hero-intro{font-size:1rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.path-card{min-height:430px}.featured-panel{padding:1.4rem}.learning-demo{padding:1rem;min-height:310px}.demo-note{font-size:.55rem}.project-preview{padding:1rem}.preview-pipeline span{padding:.65rem;font-size:.55rem}.preview-pipeline i{width:16px}.teacher-visual{min-height:300px}.paper{width:75%}.paper-front{padding:1.3rem}.paper-front strong{font-size:1.4rem}.footer-links{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-glow{animation:none}.hero-content>*{opacity:1!important;animation:none!important}.path-card:hover,.project-row:hover .project-preview{transform:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.role-guidance-header,.resume-card,.learning-brief{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.role-switcher{display:inline-flex;padding:.3rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg)}.role-switcher button{border:0;border-radius:999px;background:transparent;color:var(--color-ink-soft);font:inherit;font-weight:700;padding:.7rem 1rem;cursor:pointer}.role-switcher button.active{background:var(--color-ink);color:var(--color-surface)}.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.goal-card{display:flex;min-height:190px;flex-direction:column;padding:1.6rem;border:1px solid var(--color-border);border-radius:18px;background:var(--color-bg);color:var(--color-ink);text-decoration:none}.goal-card h3{margin:0 0 .6rem}.goal-card p{color:var(--color-ink-soft)}.goal-card .text-link{margin-top:auto}.browse-all-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.learning-brief{padding:1.2rem 1.4rem;border-left:4px solid var(--color-accent);background:var(--color-accent-soft);border-radius:0 12px 12px 0}.learning-brief>div{flex:1}.learning-brief p{margin:.2rem 0}.lesson-core{margin-top:2.5rem}.lesson-takeaway,.section-completion{margin-top:2rem;padding:1.4rem;border-radius:14px;background:var(--color-bg-soft)}.go-deeper{margin-top:1.5rem;border:1px solid var(--color-border);border-radius:12px;padding:1rem 1.2rem}.go-deeper summary,.progress-details>summary{cursor:pointer;font-weight:700}.section-status{color:var(--color-ink-soft)}.card-action{margin-top:1rem}.resume-card{align-items:center;margin:1.5rem 0 2rem;padding:1.6rem;border-radius:18px;background:var(--color-accent-soft);border:1px solid var(--color-border)}.resume-card h2{margin:.2rem 0}.progress-details{margin-bottom:1rem;padding:1.1rem 1.3rem;border:1px solid var(--color-border);border-radius:14px}.progress-details section{margin-top:1.5rem}.teacher-planner,.catalog-leads{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-bg-soft)}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.filter-chip{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-ink);padding:.6rem .9rem;font:inherit;font-weight:700;cursor:pointer}.filter-chip.active{background:var(--color-ink);color:var(--color-surface)}.catalog-leads{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.catalog-leads p{margin:0}.teacher-card-details{margin-top:1rem}.card-actions{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:1rem}.card-actions .card-action{margin-top:0}.lesson-vocabulary dl{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:.65rem 1rem}.lesson-vocabulary dt{font-weight:800}.lesson-vocabulary dd{margin:0}.printout-teacher-guide{margin-bottom:2rem;padding:1.5rem;border:2px solid var(--color-accent);border-radius:16px;background:var(--color-accent-soft)}@media(max-width:760px){.home-hero{min-height:630px}.hero-content{padding:110px 0 4rem}.home-hero h1{font-size:clamp(2.7rem,13vw,4.5rem);margin-bottom:1.2rem}.hero-actions{margin-top:1.2rem}.role-guidance-header,.resume-card,.learning-brief{display:block}.role-switcher{margin-top:1rem}.goal-grid,.catalog-leads{grid-template-columns:1fr}.goal-card{min-height:0}.resume-card .btn{margin-top:1rem}}:where(a,button,input,select,summary):focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}@media print{.site-header,.site-footer{display:none!important}.wide-container{width:100%}}
