:root{--color-bg: #122338;--color-surface: #192e4c;--color-primary: #d99f26;--color-primary-soft: #f2cb79;--color-text: #fff9ed;--color-muted: #d5dbe4;--color-border-subtle: rgba(255, 249, 237, .15);--radius-lg: 1rem;--radius-pill: 999px;--shadow-soft: 0 18px 40px rgba(5, 10, 25, .45);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;background:radial-gradient(circle at top,#1b3452 0%,var(--color-bg) 60%);color:var(--color-text);font-family:Merriweather,serif;line-height:1.6}.page{min-height:100vh;display:flex;flex-direction:column}.main{flex:1}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:#122338eb;border-bottom:1px solid var(--color-border-subtle)}.site-header-inner{max-width:1120px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo-link{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text)}.logo-link img{height:72px;width:auto;display:block;border-radius:6px}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-text-top{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--color-muted)}.logo-text-main{font-size:1.1rem;font-weight:700}.tm{font-size:.55em;vertical-align:super;margin-left:2px;opacity:.75}.nav-links{display:flex;align-items:center;gap:1rem;font-size:.95rem}.nav-links a{color:var(--color-muted);text-decoration:none}.nav-links a:hover{color:var(--color-text)}.nav-auth{display:flex;align-items:center;gap:.75rem}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.2rem;border-radius:var(--radius-pill);font-weight:700;font-size:.92rem;line-height:1;text-decoration:none;cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none}.btn-primary{border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-soft));color:#1c1c1c;box-shadow:var(--shadow-soft)}.btn-primary:hover{filter:brightness(1.07)}.btn-ghost{border:1px solid var(--color-border-subtle);background:transparent;color:var(--color-text)}.btn-ghost:hover{border-color:#fff9ed4d}.btn-ghost:disabled,.btn-primary:disabled{opacity:.55;cursor:not-allowed}.hero{max-width:1120px;margin:2.5rem auto 3.5rem;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:2.5rem;align-items:center}.hero-heading{font-size:clamp(2.2rem,4vw,3.1rem);margin-bottom:1rem;color:var(--color-text)}.hero-heading span.ai{color:var(--color-primary)}.hero-subtitle{font-size:1.1rem;max-width:36rem;color:var(--color-muted);margin-bottom:1.6rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-card{background:radial-gradient(circle at top left,#203759,#122338);border-radius:var(--radius-lg);padding:1.5rem 1.4rem;border:1px solid var(--color-border-subtle);box-shadow:var(--shadow-soft);color:var(--color-muted);font-size:.95rem}.hero-card h2{margin-top:0;margin-bottom:.6rem;font-size:1.05rem;color:var(--color-primary-soft)}.site-footer{border-top:1px solid var(--color-border-subtle);padding:1.5rem 1.5rem 2rem;font-size:.85rem;color:var(--color-muted)}.site-footer-inner{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;gap:1rem}.foundations-graphic{display:flex;justify-content:center;padding:2.5rem 1.5rem 3.5rem}.foundations-ring{position:relative;width:260px;height:260px;border-radius:50%;background:conic-gradient(#f2cb79 0deg 90deg,#edc164 90deg 180deg,#d99f26 180deg 270deg,#b67f1f 270deg 360deg);box-shadow:var(--shadow-soft)}.foundations-inner{position:absolute;inset:70px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-primary-soft);display:flex;align-items:center;justify-content:center;text-align:center}.foundations-inner span{color:var(--color-text);font-weight:700;font-size:1rem}.foundations-label{position:absolute;left:50%;top:50%;text-align:center;font-size:.9rem;font-weight:600;color:#0f172a;width:140px;transform-origin:center;pointer-events:none}.label-1{transform:translate(-10px,-85px) rotate(45deg)}.label-2{transform:translate(-10px,55px) rotate(135deg)}.label-3{transform:translate(-130px,40px) rotate(225deg)}.label-4{transform:translate(-140px,-75px) rotate(315deg)}.foundations-scale{transform:scale(1.5);transform-origin:center}.decorative-only .foundations-graphic,.decorative-only .foundations-graphic *{pointer-events:none}.students-landing{padding:2.5rem 1.25rem 3.5rem;display:grid;gap:2rem;justify-items:center}.students-landing__header{text-align:center;max-width:56ch}.students-landing__header h1{margin:0 0 .5rem}.students-landing__header p{margin:0;opacity:.85}.students-landing__map{width:100%;display:flex;justify-content:center}.foundations-ring{position:relative}.foundations-node{position:absolute;left:50%;top:50%;transform-origin:center;z-index:5;display:inline-flex;align-items:center;justify-content:center;width:132px;min-height:44px;padding:.5rem .75rem;border-radius:999px;border:1px solid rgba(15,23,42,.15);background:#ffffffeb;backdrop-filter:blur(6px);color:#0f172a;font-weight:700;font-size:.85rem;text-align:center;line-height:1.1;box-shadow:0 8px 20px #0f172a1f;cursor:pointer;user-select:none;text-decoration:none}.foundations-node span{display:block}.foundations-node:hover,.foundations-node:focus-visible{transform:translate(-50%,-50%) scale(1.03);outline:none;border-color:#0f172a40}a.foundations-node{-webkit-tap-highlight-color:transparent}.coming-soon{cursor:not-allowed}.coming-soon:after{content:"Coming Soon";position:absolute;left:50%;top:110%;transform:translate(-50%);white-space:nowrap;padding:.35rem .5rem;border-radius:.5rem;background:#0f172aeb;color:#fff;font-size:.75rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .12s ease}.coming-soon:hover:after,.coming-soon:focus-visible:after{opacity:1}.coming-soon:active{transform:translate(-50%,-50%)}.node-1{transform:translate(-50%,-50%) translate(70px,-90px)}.node-2{transform:translate(-50%,-50%) translate(85px,70px)}.node-3{transform:translate(-50%,-50%) translate(-70px,95px)}.node-4{transform:translate(-50%,-50%) translate(-95px,-65px)}.node-5{width:118px;min-height:48px;transform:translate(-50%,-50%)}.foundations-label{display:none}.arc-text{font-weight:800;font-size:12px;letter-spacing:.2px;fill:#0f172a}.arc-link{pointer-events:auto;cursor:pointer}.arc-link:hover .arc-text,.arc-link:focus-visible .arc-text{fill:#0b1220;text-decoration:underline}.arc-coming{cursor:not-allowed}.arc-coming[data-tooltip]{position:relative}.foundations-ring--interactive:after{content:attr(data-ring-tooltip);position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);white-space:nowrap;padding:.4rem .55rem;border-radius:.6rem;background:#0f172aeb;color:#fff;font-size:.75rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .12s ease}.foundations-ring--interactive:has(.arc-coming:hover),.foundations-ring--interactive:has(.arc-coming:focus-visible){--show-tooltip: 1}.foundations-ring--interactive:has(.arc-coming:hover):after,.foundations-ring--interactive:has(.arc-coming:focus-visible):after{content:"Coming Soon";opacity:1}.foundations-ring--interactive{position:relative}.foundations-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}.slice-link{pointer-events:auto;cursor:pointer}.slice-hit{fill:#0f172a1a;opacity:0}.slice-link:hover .slice-hit,.slice-link:focus-visible .slice-hit,.slice-link:focus-within .slice-hit{opacity:1}.arc-text{font-weight:800;font-size:12px;letter-spacing:.2px;fill:#0f172a;user-select:none}.slice-link:hover .arc-text,.slice-link:focus-visible .arc-text,.slice-link:focus-within .arc-text{text-decoration:underline}.slice-coming{cursor:not-allowed}.foundations-ring--interactive:after{content:"Coming Soon";position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);white-space:nowrap;padding:.4rem .55rem;border-radius:.6rem;background:#0f172aeb;color:#fff;font-size:.75rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .12s ease}.foundations-ring--interactive:has(.slice-coming:hover):after,.foundations-ring--interactive:has(.slice-coming:focus-visible):after,.foundations-ring--interactive:has(.slice-coming:focus-within):after{opacity:1}.foundations-center{position:absolute;inset:70px;z-index:7;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--color-primary-soft);background:var(--color-bg);font-family:inherit;font-weight:800;font-size:1rem;letter-spacing:.3px;color:var(--color-text);cursor:not-allowed;box-shadow:inset 0 0 0 1px #0f172a0d;transition:transform .12s ease,box-shadow .12s ease}.foundations-center:hover,.foundations-center:focus-visible{transform:scale(1.02);box-shadow:inset 0 0 0 1px #0f172a26,0 10px 24px #0f172a26}.foundations-center span{pointer-events:none}.students-page{max-width:1120px;margin:0 auto;padding:2rem 1.5rem 4rem}.students-hero{margin-bottom:2rem}.students-hero h1{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:.5rem}.students-hero p{color:var(--color-muted)}.gate{max-width:640px;margin:4rem auto;padding:2rem;border-radius:var(--radius-lg, 1rem);background:#0f172acc;border:1px solid rgba(148,163,184,.4);text-align:center}.gate-actions{margin-top:1.5rem;display:flex;justify-content:center;gap:.75rem}.foundations-detail h2{font-size:1.4rem;margin-bottom:.25rem}.foundations-detail p{color:var(--color-muted);margin-bottom:1rem}.modules-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.modules-list-item{margin:0}.modules-list-link{display:block;padding:.75rem .9rem;border-radius:.75rem;border:1px solid rgba(148,163,184,.3);text-decoration:none;color:inherit;background:#0f172ab3;transition:border-color .15s ease,background .15s ease,transform .15s ease}.modules-list-link:hover,.modules-list-link:focus-visible{border-color:var(--color-primary, #6366f1);background:#1e40af80;transform:translateY(-1px)}.modules-list-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.modules-list-header h3{font-size:.98rem;margin:0}.badge{font-size:.7rem;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.module-section{margin-top:.75rem}.module-section-heading{margin:.5rem 0 .25rem;font-size:.95rem;font-weight:700}.module-section-list{margin:.25rem 0 .5rem 1.25rem}.pricing-page{max-width:960px;margin:0 auto;padding:3rem 1.5rem 4rem}.pricing-hero{text-align:center;margin-bottom:2.5rem}.pricing-hero h1{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:.5rem}.pricing-hero p{color:var(--color-muted)}.pricing-plans{display:flex;justify-content:center}.plan-card{max-width:520px;width:100%;padding:2rem 2.2rem;border-radius:var(--radius-lg, 1rem);background:#0f172ae6;border:1px solid rgba(148,163,184,.5);box-shadow:var(--shadow-soft, 0 18px 40px rgba(15, 23, 42, .45))}.plan-card h2{margin-top:0;margin-bottom:.3rem;font-size:1.5rem}.plan-tagline{margin-top:0;color:var(--color-muted);margin-bottom:1.25rem}.plan-price{margin:0 0 1.25rem}.plan-amount{font-size:2rem;font-weight:700}.plan-interval{margin-left:.25rem;color:var(--color-muted)}.plan-features{list-style:none;padding-left:0;margin:0 0 1.5rem}.plan-features li{margin-bottom:.4rem}.plan-cta{display:flex;flex-direction:column;gap:.5rem}.plan-helper{margin:0;font-size:.9rem;color:var(--color-muted)}.plan-helper a{color:var(--color-primary)}.auth-page{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem 3rem}.auth-card{width:100%;max-width:540px;padding:2rem 2.2rem;border-radius:var(--radius-lg, 1rem);background:#0f172ae6;border:1px solid rgba(148,163,184,.5);box-shadow:var(--shadow-soft, 0 18px 40px rgba(15, 23, 42, .45))}.auth-card{display:flex;flex-direction:column;align-items:center;text-align:center}.auth-card h1{margin-top:0;margin-bottom:.4rem;font-size:1.5rem}.auth-card h2{font-size:clamp(2rem,3vw,2.4rem);margin-bottom:.75rem;color:var(--color-text)}.auth-card p{margin-top:0;margin-bottom:1rem;color:var(--color-muted)}.auth-widget{margin-top:.75rem}.auth-card,.auth-widget{overflow:hidden}.auth-widget>*{max-width:100%}.max-width{max-width:1080px;margin:0 auto;padding:2rem 1.5rem 4rem}.module-page h1{font-size:clamp(2rem,3vw,2.6rem);margin-bottom:.75rem}.module-page .lead{color:var(--color-muted, #9ca3af);margin-bottom:2rem;max-width:40rem}.card{background:#0f172ad9;border-radius:1rem;padding:1.25rem 1.5rem;margin-bottom:1.75rem;box-shadow:0 20px 40px #0f172a99;border:1px solid rgba(148,163,184,.3)}.card h2{margin-top:0}.card p{margin-bottom:1rem}.note{font-size:.9rem;color:var(--color-muted, #9ca3af)}.py-editor-run-button,button.py-button{background:linear-gradient(135deg,var(--ai-yellow),var(--ai-yellow-light))!important;border:none!important;padding:.5rem 1rem!important;border-radius:8px!important;color:var(--ai-navy)!important;font-weight:700!important;font-family:Merriweather,serif!important;cursor:pointer!important;transition:.15s ease-in-out;margin-bottom:.75rem}.py-editor-run-button:hover,button.py-button:hover{filter:brightness(1.1);transform:translateY(-1px)}@media(max-width:768px){.site-header-inner{flex-wrap:wrap}.hero{grid-template-columns:1fr}}
