@import "https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Syne:wght@500;600;700;800&display=swap";:root{--font-display:"Syne", sans-serif;--font-body:"Figtree", sans-serif;--bg:#f4f7fb;--ink:#0b1f3a;--ink-muted:#4d6078;--accent:#1d5fa8;--accent-deep:#154a86;--surface:#fff;--on-accent:#fff;--hero:#0b1f3a;--on-hero:#f4f7fb;--on-hero-muted:#9eb4ce;font-family:var(--font-body);color:var(--ink);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}h1,h2,h3{font-family:var(--font-display)}img,svg{max-width:100%;display:block}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:.35rem;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.25rem;font-size:.98rem;font-weight:600;text-decoration:none;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--primary:hover{background:var(--accent-deep)}.btn--ghost{color:var(--ink);border-color:color-mix(in srgb, var(--ink) 18%, transparent);background:0 0}.btn--ghost:hover{border-color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 10%, transparent)}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{flex-direction:column;min-height:100vh;display:flex}.shell main{flex:1}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb, var(--accent) 18%, transparent);align-items:center;gap:1.25rem;padding:.85rem clamp(1.25rem,4vw,3rem);display:flex;position:sticky;top:0}.brand-mark{color:var(--accent-deep);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-mark__icon{flex-shrink:0;width:2.15rem;height:2.15rem}.brand-mark__name{font-family:var(--font-display);letter-spacing:-.02em;text-transform:lowercase;font-size:1.2rem;font-weight:600}.site-nav{align-items:center;gap:.35rem;margin-right:auto;display:flex}.site-nav a,.site-auth a:not(.btn){color:var(--ink-muted);border-radius:.35rem;padding:.45rem .75rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .16s,background .16s}.site-nav a:hover,.site-nav a.is-active,.site-auth a:not(.btn):hover,.site-auth a:not(.btn).is-active{color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 12%, transparent)}.site-auth{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.site-auth__user{color:var(--ink);font-weight:600}.site-auth__cta{color:var(--on-accent);background:var(--accent);padding:.5rem .95rem;font-size:.9rem}.site-auth__cta:hover,.site-auth__cta:focus-visible{color:var(--on-accent);background:var(--accent-deep)}.site-auth__logout{color:var(--ink-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:.35rem;padding:.45rem .75rem;font-size:.95rem;font-weight:500;transition:color .16s,background .16s}.site-auth__logout:hover{color:var(--ink);background:color-mix(in srgb, var(--accent) 14%, transparent)}.site-footer{border-top:1px solid color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding:2rem clamp(1.25rem,4vw,3rem) 2.5rem;font-size:.92rem;display:flex}.site-footer__brand{align-items:center;gap:.75rem;display:flex}.site-footer__brand .brand-mark__name{color:var(--accent-deep);margin:0;font-size:1rem}.site-footer__tagline{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin:.15rem 0 0;font-size:.72rem;font-weight:600}.site-footer__note{max-width:28rem;margin:0}@media (width<=860px){.site-header{flex-wrap:wrap}.site-nav{order:3;width:100%;margin-right:0;overflow-x:auto}.site-auth{margin-left:auto}}.auth-page{background:radial-gradient(ellipse 55% 45% at 10% 10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), radial-gradient(ellipse 45% 40% at 95% 90%, color-mix(in srgb, var(--accent-deep) 10%, transparent), transparent 50%), var(--bg);justify-content:center;align-items:center;min-height:calc(100vh - 10rem);padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem);display:flex}.auth-panel{background:color-mix(in srgb, white 78%, var(--bg));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.45rem;width:min(100%,28rem);padding:clamp(1.75rem,4vw,2.35rem);animation:.55s cubic-bezier(.22,1,.36,1) both rise-in}.auth-panel .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.auth-panel h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .65rem;font-size:clamp(1.85rem,3.5vw,2.25rem);line-height:1.1}.auth-panel__lede{color:var(--ink-muted);margin:0 0 1.5rem;line-height:1.5}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-form__error{color:#9a3412;background:#f9ece7;border-left:3px solid #c2410c;margin:0;padding:.75rem .9rem;font-size:.95rem}.field{flex-direction:column;gap:.4rem;display:flex}.field span{color:var(--ink);font-size:.9rem;font-weight:600}.field input{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:.35rem;padding:.75rem .85rem;transition:border-color .16s,box-shadow .16s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.auth-form__submit{width:100%;margin-top:.35rem}.auth-form__submit:disabled{opacity:.7;cursor:wait;transform:none}.auth-panel__switch{color:var(--ink-muted);margin:1.35rem 0 0;font-size:.95rem}.auth-panel__switch a{color:var(--accent-deep);font-weight:600;text-decoration:none}.auth-panel__switch a:hover{text-decoration:underline}.account-meta{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);margin:0 0 1.75rem;padding:1rem 0}.account-meta div{justify-content:space-between;gap:1rem;display:flex}.account-meta div+div{margin-top:.75rem}.account-meta dt{color:var(--ink-muted);font-size:.92rem}.account-meta dd{margin:0;font-weight:600}.account-actions{flex-wrap:wrap;gap:.75rem;display:flex}.account-pref{background:color-mix(in srgb, var(--accent) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:.4rem;margin:0 0 1.5rem;padding:.95rem 1rem}.account-pref__toggle{color:var(--ink);cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.95rem;font-weight:600;display:flex}.account-pref__toggle input{width:1rem;height:1rem;accent-color:var(--accent);margin-top:.2rem}.account-pref__hint{color:var(--ink-muted);margin-top:.2rem;font-size:.82rem;font-weight:500;display:block}.account-pref__error{color:#9a3412;margin:.55rem 0 0;font-size:.88rem}.account-sessions{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);margin:0 0 1.5rem;padding:1rem 0 0}.account-sessions h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.15rem}.account-sessions__lede,.account-sessions__empty,.account-sessions__meta{color:var(--ink-muted);margin:0;font-size:.88rem;line-height:1.45}.account-sessions__lede{margin-bottom:.85rem}.account-sessions__list{gap:.65rem;margin:0 0 .85rem;padding:0;list-style:none;display:grid}.account-sessions__list li{background:color-mix(in srgb, var(--ink) 3%, var(--surface));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.4rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.account-sessions__device{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .2rem;font-weight:650;display:flex}.account-sessions__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:.15rem .4rem;font-size:.72rem;font-weight:700}.account-sessions__actions{flex-wrap:wrap;gap:.55rem;display:flex}.account-refunds{border-top:1px solid color-mix(in srgb, currentColor 12%, transparent);margin-top:1.6rem;padding-top:1.4rem}.account-refunds h2{margin:0 0 .35rem;font-size:1.1rem}.account-refunds__list{gap:.85rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.account-refunds__list li{border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent);gap:.7rem;padding:.85rem 0;display:grid}.account-refunds__form{gap:.65rem;display:grid}.account-refunds__form label{gap:.35rem;font-size:.92rem;display:grid}.account-refunds__form textarea{font:inherit;border:1px solid color-mix(in srgb, currentColor 18%, transparent);color:inherit;resize:vertical;background:0 0;padding:.6rem .7rem}.account-refunds__form-actions{flex-wrap:wrap;gap:.55rem;display:flex}.account-refunds__ok{color:#1a7a4c;margin:.6rem 0 0;font-size:.95rem}.account-actions .btn{flex:auto}.admin{background:radial-gradient(ellipse 50% 35% at 0% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%), var(--bg);padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem)}.admin__header{max-width:44rem;margin-bottom:1.75rem}.admin__header h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2.1rem)}.admin__lede{color:var(--ink-muted);margin:0;line-height:1.5}.admin__lede code{color:var(--accent-deep);font-size:.88em}.admin__stats{color:var(--accent-deep);margin:.85rem 0 0;font-weight:600}.admin__error{color:#9a3412;background:#f9ece7;border-left:3px solid #c2410c;margin:0 0 1rem;padding:.75rem .9rem}.admin-panel{background:color-mix(in srgb, var(--surface) 78%, var(--bg));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.4rem;margin-bottom:1.5rem;padding:1.25rem 1.35rem}.admin-panel h2{font-family:var(--font-display);margin:0 0 1rem;font-size:1.15rem}.admin-panel--split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5rem;display:grid}.admin-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.admin-list li{grid-template-columns:1fr auto;align-items:center;gap:.75rem;display:grid}.admin-list__main{text-align:left;color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);cursor:pointer;font:inherit;background:0 0;border-radius:.35rem;flex-direction:column;gap:.2rem;padding:.75rem .85rem;text-decoration:none;display:flex}.admin-list__main:hover,.admin-list__main.is-active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, white)}.admin-list__title{font-weight:650}.admin-list__meta{color:var(--ink-muted);font-size:.85rem}.admin-list__danger{color:#9a3412;font:inherit;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.admin-form{gap:.85rem;max-width:36rem;display:grid}.admin-form label{color:var(--ink-muted);gap:.35rem;font-size:.9rem;font-weight:600;display:grid}.admin-form input,.admin-form textarea,.admin-form select{font:inherit;color:var(--ink);border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:#fff;border-radius:.35rem;padding:.65rem .75rem;font-weight:400}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.admin-help summary{color:var(--accent-deep);cursor:pointer;font-size:.85rem;font-weight:600}.admin-help pre{white-space:pre-wrap;color:var(--ink-muted);background:color-mix(in srgb, var(--accent) 5%, var(--surface));border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:.35rem;margin:.6rem 0 0;padding:.8rem .9rem;font-size:.78rem;line-height:1.55}.admin-form__check{color:var(--ink);align-items:center;gap:.5rem;font-weight:600;display:flex}.admin-form__check input{width:auto}.admin-filter{appearance:none;color:inherit;font:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:0;padding:0;text-decoration:underline}.admin-filter.is-active{font-weight:600;text-decoration:none}.admin-refunds{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.admin-refund{border:1px solid color-mix(in srgb, currentColor 14%, transparent);padding:1rem 1.1rem}.admin-refund__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-refund__title{margin:0;font-weight:600}.admin-refund__meta,.admin-refund__reason,.admin-refund__note{color:color-mix(in srgb, currentColor 72%, transparent);margin:.35rem 0 0;font-size:.95rem}.admin-refund__status{text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.admin-refund__actions{gap:.75rem;margin-top:.9rem;display:grid}.admin-refund__actions label{gap:.35rem;font-size:.9rem;display:grid}.admin-refund__actions input{font:inherit;border:1px solid color-mix(in srgb, currentColor 18%, transparent);color:inherit;background:0 0;padding:.55rem .7rem}.admin-refund__buttons{flex-wrap:wrap;gap:.6rem;display:flex}@media (width<=900px){.admin-panel--split{grid-template-columns:1fr}}.preview-banner{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--surface));border-radius:.45rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.25rem;margin:0 0 1.5rem;padding:.95rem 1.1rem;display:flex}.preview-banner--compact{margin-bottom:1.25rem}.preview-banner__title{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .2rem;font-size:.78rem;font-weight:700}.preview-banner__body{max-width:40rem;color:var(--ink);margin:0;font-size:.92rem;line-height:1.45}.preview-banner__cta{flex:none}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.tile{--section-accent:var(--accent);aspect-ratio:1;color:var(--ink);background:color-mix(in srgb, var(--surface) 70%, var(--bg));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.4rem;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.15rem 1.2rem;text-decoration:none;transition:transform .18s,border-color .18s,background .18s;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in;display:flex;overflow:hidden}.tile-grid li:first-child .tile{animation-delay:40ms}.tile-grid li:nth-child(2) .tile{animation-delay:80ms}.tile-grid li:nth-child(3) .tile{animation-delay:.12s}.tile-grid li:nth-child(4) .tile{animation-delay:.16s}.tile-grid li:nth-child(5) .tile{animation-delay:.2s}.tile-grid li:nth-child(6) .tile{animation-delay:.24s}.tile:hover{border-color:color-mix(in srgb, var(--section-accent) 45%, transparent);background:color-mix(in srgb, var(--section-accent) 6%, white);transform:translateY(-3px)}.tile--static{cursor:default}.tile--static:hover{border-color:color-mix(in srgb, var(--ink) 10%, transparent);background:color-mix(in srgb, var(--surface) 70%, var(--bg));transform:none}.tile__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tile__mark{background:var(--section-accent);border-radius:.25rem;width:1.6rem;height:1.6rem}.tile__arrow{color:var(--ink-muted);font-size:1.15rem;transition:transform .18s,color .18s}.tile:hover .tile__arrow{color:var(--section-accent);transform:translate(3px)}.tile__body{flex-direction:column;gap:.4rem;min-width:0;display:flex}.tile__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:650;line-height:1.2}.tile__text{color:var(--ink-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.92rem;line-height:1.45;display:-webkit-box;overflow:hidden}.tile__footer{color:color-mix(in srgb, var(--section-accent) 80%, var(--ink));font-size:.82rem;font-weight:600}.tile-progress{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:999px;height:.25rem;display:block;overflow:hidden}.tile-progress>span{background:var(--section-accent);border-radius:999px;height:100%;transition:width .24s;display:block}@media (width<=480px){.tile-grid{grid-template-columns:1fr}.tile{aspect-ratio:auto;min-height:10rem}}.browse{background:radial-gradient(ellipse 50% 40% at 0% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%), var(--bg);padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem)}.browse__header{max-width:40rem;margin-bottom:1.75rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.browse__header h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .6rem;font-size:clamp(1.6rem,3vw,2.1rem)}.browse__lede{color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.5}.browse__summary{color:var(--accent-deep);margin:.85rem 0 0;font-size:.95rem;font-weight:600}.resume-inline{color:var(--ink-muted);margin:-.75rem 0 1.5rem;font-size:.9rem;line-height:1.45}.resume-inline__link{color:var(--accent-deep);border-bottom:1px solid color-mix(in srgb, var(--accent-deep) 35%, transparent);font-weight:600;text-decoration:none;transition:border-color .16s,color .16s}.resume-inline__link:hover{color:var(--ink);border-bottom-color:var(--ink)}.resume-inline__meta{color:var(--ink-muted)}.home{overflow:hidden}.hero{text-align:center;background:radial-gradient(ellipse 55% 50% at 50% 38%, color-mix(in srgb, var(--accent) 38%, transparent), transparent 65%), var(--hero);flex-direction:column;justify-content:center;align-items:center;min-height:min(72vh,620px);padding:clamp(2rem,5vh,3.25rem) clamp(1.25rem,4vw,3rem);animation:.7s cubic-bezier(.22,1,.36,1) both rise-in;display:flex;position:relative}.hero__logo{object-fit:contain;width:min(78vw,340px);height:auto;margin:0 0 clamp(.75rem,2.5vh,1.35rem);animation:.8s cubic-bezier(.22,1,.36,1) 60ms both rise-in}.hero__headline{max-width:26rem;font-family:var(--font-display);letter-spacing:-.03em;color:var(--on-hero);margin:0 0 .7rem;font-size:clamp(1.2rem,2.2vw,1.55rem);font-weight:560;line-height:1.2;animation:.7s cubic-bezier(.22,1,.36,1) .12s both rise-in}.hero__support{max-width:32rem;color:var(--on-hero-muted);margin:0 0 1.5rem;font-size:.98rem;line-height:1.5;animation:.7s cubic-bezier(.22,1,.36,1) .18s both rise-in}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;animation:.7s cubic-bezier(.22,1,.36,1) .24s both rise-in;display:flex}.hero .btn--primary{background:var(--accent);color:var(--on-accent)}.hero .btn--primary:hover{background:color-mix(in srgb, var(--accent) 82%, white)}.hero .btn--ghost{color:var(--on-hero);border-color:color-mix(in srgb, var(--on-hero) 35%, transparent)}.hero .btn--ghost:hover{border-color:var(--on-hero);background:color-mix(in srgb, var(--on-hero) 10%, transparent)}.home-audience{padding:clamp(2.25rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem)}.section-intro{max-width:36rem;margin-bottom:1.75rem;animation:.6s cubic-bezier(.22,1,.36,1) both rise-in}.section-intro h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .4rem;font-size:clamp(1.35rem,2.4vw,1.7rem)}.section-intro p{color:var(--ink-muted);margin:0;font-size:.98rem;line-height:1.55}.audience-list{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);padding-top:1.5rem}.home-cta{padding:0 clamp(1.25rem,4vw,3rem) clamp(2.5rem,7vh,4rem)}.home-cta__inner{background:radial-gradient(ellipse 60% 80% at 0% 50%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 55%), var(--hero);color:var(--on-hero);border-radius:.4rem;padding:clamp(1.5rem,4vw,2.25rem)}.home-cta__inner h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .5rem;font-size:clamp(1.25rem,2.2vw,1.55rem)}.home-cta__inner>p{max-width:36rem;color:var(--on-hero-muted);margin:0 0 1.25rem;font-size:.98rem;line-height:1.5}.home-cta__actions{flex-wrap:wrap;gap:.75rem;display:flex}.home-cta__inner .btn--primary{background:var(--accent);color:var(--on-accent)}.home-cta__inner .btn--primary:hover{background:color-mix(in srgb, var(--accent) 82%, white)}.home-cta__ghost{color:var(--on-hero);border-color:color-mix(in srgb, var(--on-hero) 35%, transparent)}.home-cta__ghost:hover{border-color:var(--on-hero);background:color-mix(in srgb, var(--on-hero) 10%, transparent)}@media (width<=640px){.hero__logo{width:min(94vw,360px)}}.pricing{background:radial-gradient(ellipse 50% 35% at 0% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 55%), var(--bg);padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem)}.pricing__header{max-width:42rem;margin-bottom:2.5rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in}.pricing__header .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .5rem;font-size:.85rem;font-weight:600}.pricing__header h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem)}.pricing__lede{color:var(--ink-muted);margin:0 0 .75rem;font-size:1.08rem;line-height:1.55}.pricing__gst,.pricing__mock,.pricing__active,.pricing__status{color:var(--ink-muted);margin:.5rem 0 0;font-size:.95rem}.pricing__mock{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, white);color:var(--ink);padding:.75rem .9rem}.pricing__active a{color:var(--accent-deep);font-weight:600}.pricing__error{color:#9a3412;background:#f9ece7;border-left:3px solid #c2410c;margin:0 0 1.25rem;padding:.75rem .9rem}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:44rem;margin:0;padding:0;list-style:none;display:grid}.pricing-card{background:color-mix(in srgb, white 78%, var(--bg));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.45rem;flex-direction:column;gap:.75rem;padding:1.4rem 1.3rem 1.3rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in;display:flex;position:relative}.pricing-card.is-popular{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 8%, white)}.pricing-card__badge{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep);font-size:.72rem;font-weight:700;position:absolute;top:.85rem;right:.85rem}.pricing-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.45rem}.pricing-card__tagline{color:var(--ink-muted);min-height:3rem;margin:0;line-height:1.45}.pricing-card__price{align-items:baseline;gap:.45rem;margin:.35rem 0;display:flex}.pricing-card__price span{font-family:var(--font-display);letter-spacing:-.03em;font-size:2rem;font-weight:700}.pricing-card__price small{color:var(--ink-muted);font-size:.9rem}.pricing-card__features{flex-direction:column;flex:1;gap:.55rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.pricing-card__features li{color:var(--ink);padding-left:1.1rem;font-size:.95rem;line-height:1.4;position:relative}.pricing-card__features li:before{content:"";background:var(--accent);width:.45rem;height:.45rem;position:absolute;top:.45rem;left:0}.pricing-card__cta{width:100%}.pricing-card__cta:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (width<=980px){.pricing-grid{grid-template-columns:1fr}.pricing-card__tagline{min-height:0}}.section-page{--section-accent:var(--accent);background:radial-gradient(ellipse 45% 35% at 100% 0%, color-mix(in srgb, var(--section-accent) 16%, transparent), transparent 55%), var(--bg);padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem)}.section-page--empty{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.crumbs{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.75rem;font-size:.9rem;display:flex}.crumbs a{color:var(--accent-deep);font-weight:560;text-decoration:none}.crumbs a:hover{text-decoration:underline}.section-page__header{max-width:42rem;margin-bottom:1.75rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in}.section-page__header .eyebrow{color:color-mix(in srgb, var(--section-accent) 75%, var(--ink))}.section-page__header h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .65rem;font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.1}.section-page__desc{color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.55}.section-page .tile{--section-accent:inherit}.topic-tile__index{font-family:var(--font-display);color:var(--section-accent);font-size:1rem;font-weight:700}.topic-tile__level{color:var(--ink-muted);text-align:right;font-size:.8rem}.topic-tile__foot{flex-direction:column;gap:.45rem;display:flex}.lesson-body{max-width:44rem}.lesson-jump{background:color-mix(in srgb, var(--section-accent) 6%, var(--surface));border:1px solid color-mix(in srgb, var(--section-accent) 22%, transparent);border-radius:.4rem;margin:0 0 1.75rem;padding:.9rem 1rem}.lesson-jump__label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.lesson-jump ul{flex-wrap:wrap;gap:.4rem .5rem;margin:0;padding:0;list-style:none;display:flex}.lesson-jump a{color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:999px;padding:.3rem .6rem;font-size:.85rem;font-weight:550;text-decoration:none;transition:border-color .16s,color .16s;display:inline-flex}.lesson-jump a:hover{color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.lesson-body__heading{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:2rem 0 .75rem;scroll-margin-top:6rem;font-size:1.12rem;font-weight:650}.lesson-body__heading:first-child{margin-top:0}.lesson-body__subheading{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:1.5rem 0 .6rem;scroll-margin-top:6rem;font-size:1rem;font-weight:650}.lesson-body__inline-code{background:color-mix(in srgb, var(--section-accent) 10%, var(--surface));color:var(--accent-deep);border-radius:.25rem;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.lesson-body__code{background:color-mix(in srgb, var(--ink) 92%, var(--section-accent));color:#e8eef5;border-radius:.4rem;margin:1rem 0 1.25rem;padding:.9rem 1rem;font-size:.82rem;line-height:1.5;overflow-x:auto}.lesson-body__code code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.lesson-body__markdown-steps{color:var(--ink-muted);margin:0 0 1.25rem;padding-left:1.25rem;line-height:1.6}.lesson-body__markdown-steps li{margin-bottom:.4rem}.lesson-body__insight-body>p{margin:0}.lesson-mermaid,.lesson-mermaid-wrap{background:color-mix(in srgb, var(--section-accent) 5%, var(--surface));border:1px solid color-mix(in srgb, var(--section-accent) 18%, transparent);border-radius:.45rem;margin:1.25rem 0 1.5rem;padding:.85rem;overflow-x:auto}.lesson-mermaid svg{max-width:100%;height:auto;margin:0 auto;display:block}.lesson-mermaid--fallback{border-style:dashed}.lesson-mermaid__fallback-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.lesson-body__p{color:var(--ink-muted);margin:0 0 1rem;font-size:1rem;line-height:1.68}.lesson-body__bullets,.lesson-body__steps{flex-direction:column;gap:.55rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.lesson-body__bullets li{color:var(--ink-muted);padding-left:1.15rem;line-height:1.6;position:relative}.lesson-body__bullets li:before{content:"";background:var(--section-accent);border-radius:999px;width:.4rem;height:.4rem;position:absolute;top:.6rem;left:0}.lesson-body__steps li{color:var(--ink-muted);grid-template-columns:1.5rem 1fr;align-items:baseline;gap:.65rem;line-height:1.6;display:grid}.lesson-body__step-index{width:1.5rem;height:1.5rem;color:var(--on-accent);background:var(--section-accent);border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.lesson-body__insight{background:color-mix(in srgb, var(--section-accent) 8%, var(--surface));border-left:3px solid var(--section-accent);border-radius:0 .35rem .35rem 0;margin:1.5rem 0;padding:1rem 1.15rem}.lesson-body__insight-label{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.lesson-body__insight p{color:var(--ink);margin:0;font-size:1rem;line-height:1.6}.lesson-body__table-wrap{margin:1.5rem 0;overflow-x:auto}.lesson-body__table-title{color:var(--ink);margin:0 0 .5rem;font-size:.85rem;font-weight:650}.lesson-body__table{border-collapse:collapse;width:100%;font-size:.92rem}.lesson-body__table th,.lesson-body__table td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent);padding:.6rem .75rem}.lesson-body__table th{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-deep);background:color-mix(in srgb, var(--section-accent) 7%, transparent);font-size:.78rem;font-weight:700}.lesson-body__table td{color:var(--ink-muted);line-height:1.5}.diagram{background:color-mix(in srgb, var(--section-accent) 4%, var(--surface));border:1px solid color-mix(in srgb, var(--section-accent) 20%, transparent);border-radius:.45rem;margin:1.75rem 0;padding:1.1rem 1.15rem}.diagram__title{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.9rem;font-size:.72rem;font-weight:700}.diagram-flow{flex-wrap:wrap;align-items:stretch;gap:.4rem .5rem;margin:0;padding:0;list-style:none;display:flex}.diagram-flow__item{align-items:center;gap:.5rem;display:flex}.diagram-flow__node{background:var(--surface);border:1px solid color-mix(in srgb, var(--section-accent) 35%, transparent);border-radius:.35rem;flex-direction:column;gap:.15rem;min-width:7rem;max-width:12rem;padding:.6rem .7rem;display:flex}.diagram-flow__label{color:var(--ink);font-size:.88rem;font-weight:650;line-height:1.25}.diagram-flow__detail{color:var(--ink-muted);font-size:.78rem;line-height:1.35}.diagram-flow__arrow{color:var(--section-accent);font-size:1.05rem}.diagram-stack{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.diagram-stack__layer{background:color-mix(in srgb, var(--section-accent) calc(6% + (var(--layer-depth) * 5%)), var(--surface));border:1px solid color-mix(in srgb, var(--section-accent) 28%, transparent);border-radius:.3rem;flex-direction:column;gap:.15rem;padding:.65rem .8rem;display:flex}.diagram-stack__label{color:var(--ink);font-size:.9rem;font-weight:650}.diagram-stack__detail{color:var(--ink-muted);font-size:.82rem;line-height:1.45}.diagram-ladder{flex-direction:column;gap:.1rem;margin:0;padding:0;list-style:none;display:flex}.diagram-ladder__step{border-left:2px solid color-mix(in srgb, var(--section-accent) 30%, transparent);grid-template-columns:1.6rem 1fr;gap:.75rem;margin-left:.8rem;padding:.55rem 0 .55rem .9rem;display:grid}.diagram-ladder__marker{width:1.6rem;height:1.6rem;color:var(--on-accent);background:var(--section-accent);border-radius:999px;justify-content:center;align-items:center;margin-left:-1.7rem;font-size:.76rem;font-weight:700;display:inline-flex}.diagram-ladder__body{flex-direction:column;gap:.15rem;display:flex}.diagram-ladder__label{color:var(--ink);font-size:.9rem;font-weight:650}.diagram-ladder__detail{color:var(--ink-muted);font-size:.82rem;line-height:1.45}.diagram-matrix{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.diagram-matrix__cell{background:var(--surface);border:1px solid color-mix(in srgb, var(--section-accent) 25%, transparent);border-radius:.35rem;flex-direction:column;gap:.2rem;padding:.75rem .85rem;display:flex}.diagram-matrix__label{color:var(--ink);font-size:.88rem;font-weight:650}.diagram-matrix__detail{color:var(--ink-muted);font-size:.8rem;line-height:1.45}@media (width<=620px){.diagram-flow__item{width:100%}.diagram-flow__node{width:100%;max-width:none}.diagram-flow__arrow{transform:rotate(90deg)}.diagram-matrix{grid-template-columns:1fr}}.lesson-image{margin:1.5rem 0}.lesson-image__svg{border-radius:.45rem;width:100%;height:auto;display:block}.lesson-image__caption{color:var(--ink-muted);text-align:center;margin:.55rem 0 0;font-size:.85rem;line-height:1.45}.topic-page{--section-accent:var(--accent);max-width:72rem;padding:clamp(2rem,6vh,3.5rem) clamp(1.25rem,4vw,3rem) clamp(3rem,8vh,5rem)}.topic-page--empty{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.topic-page__header{margin-bottom:1.75rem;animation:.55s cubic-bezier(.22,1,.36,1) both rise-in}.topic-page__meta{color:color-mix(in srgb, var(--section-accent) 80%, var(--ink));flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:flex}.topic-page__save{color:var(--ink-muted);font-weight:500}.topic-page__header h1{font-family:var(--font-display);letter-spacing:-.035em;margin:0 0 .4rem;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15}.topic-page__header>p{color:var(--ink-muted);margin:0 0 .85rem;font-size:.98rem;line-height:1.5}.progress-bar{background:color-mix(in srgb, var(--section-accent) 16%, white);border-radius:999px;width:min(100%,28rem);height:.4rem;overflow:hidden}.progress-bar span{background:var(--section-accent);height:100%;transition:width .22s;display:block}.topic-page__status,.topic-page__error{margin:0 0 1rem}.topic-page__error{color:#9a3412;background:#f9ece7;border-left:3px solid #c2410c;padding:.75rem .9rem}.lesson-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);align-items:start;gap:clamp(1.25rem,3vw,2.5rem);display:grid}.lesson-toc{background:color-mix(in srgb, white 70%, var(--bg));border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);border-radius:.4rem;padding:1rem;position:sticky;top:5.5rem}.lesson-toc__label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .75rem;font-size:.78rem;font-weight:700}.lesson-toc ol{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.lesson-toc__link{color:var(--ink-muted);border-radius:.3rem;grid-template-columns:auto 1fr;gap:.55rem;padding:.55rem .45rem;font-size:.9rem;line-height:1.35;text-decoration:none;display:grid}.lesson-toc__link:hover,.lesson-toc__link.is-current{color:var(--ink);background:color-mix(in srgb, var(--section-accent) 12%, transparent)}.lesson-toc__link.is-done{color:var(--ink)}.lesson-toc__link.is-done .lesson-toc__index{color:var(--accent-deep)}.lesson-toc__link.is-current{box-shadow:inset 2px 0 0 var(--section-accent);font-weight:600}.lesson-toc__index{font-family:var(--font-display);color:var(--section-accent);font-size:.8rem;font-weight:700}.lesson-toc__link.is-locked{opacity:.72}.lesson-toc__link.is-locked .lesson-toc__index{font-size:.75rem}.lesson-locked{border:1px dashed color-mix(in srgb, var(--section-accent) 45%, transparent);background:color-mix(in srgb, var(--section-accent) 6%, var(--bg));margin:0 0 1.5rem;padding:1.5rem 1.35rem}.lesson-locked h2{font-family:var(--font-display);margin:0 0 .55rem;font-size:1.35rem}.lesson-locked p{max-width:36rem;color:var(--ink-muted);margin:0 0 1rem;line-height:1.5}.lesson-content{max-width:44rem;animation:.55s cubic-bezier(.22,1,.36,1) 60ms both rise-in}.lesson-content--protected{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.lesson-print-blocked{display:none}@media print{.lesson-content--protected .lesson-body,.lesson-content--protected .lesson-panel,.lesson-content--protected .lesson-actions,.lesson-content--protected .topic-pager{display:none!important}.lesson-print-blocked{color:#111;margin:2rem 0;font-size:1rem;display:block}}.lesson-panel{border:1px dashed color-mix(in srgb, var(--section-accent) 45%, transparent);background:color-mix(in srgb, var(--section-accent) 5%, var(--bg));margin:1.5rem 0;padding:1.25rem 1.35rem}.lesson-panel h3{font-family:var(--font-display);margin:0 0 .45rem;font-size:1.05rem}.lesson-panel p{color:var(--ink-muted);margin:0;line-height:1.55}.lesson-actions{flex-wrap:wrap;align-items:center;gap:.85rem;margin:1.75rem 0 .5rem;display:flex}.lesson-actions__done{color:var(--accent-deep);font-size:.9rem;font-weight:600}.topic-pager{border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.topic-pager__link{color:var(--ink);flex-direction:column;gap:.25rem;padding:.85rem 0;text-decoration:none;transition:color .16s;display:flex}.topic-pager__link:hover{color:var(--section-accent)}.topic-pager__link--next{text-align:right;justify-self:end}.topic-pager__label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.8rem;font-weight:600}.topic-pager__title{font-family:var(--font-display);letter-spacing:-.02em;font-weight:650}@media (width<=860px){.lesson-layout{grid-template-columns:1fr}.lesson-toc{position:static}}@media (width<=560px){.topic-pager{grid-template-columns:1fr}.topic-pager__link--next{text-align:left;justify-self:start}}
