:root {
  --ink: #28172f;
  --ink-soft: #665568;
  --forest: #751e47;
  --forest-deep: #160f24;
  --lime: #ffb52e;
  --lime-strong: #ff9a1f;
  --cream: #fff7ed;
  --paper: #fffdf9;
  --orange: #ff4f2b;
  --ember: #cf234a;
  --plum: #491338;
  --line: rgba(73, 19, 56, 0.15);
  --shadow: 0 24px 80px rgba(73, 19, 56, 0.14);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
}

html[data-theme="dark"] {
  --ink: #fff3f8;
  --ink-soft: #c8b5c6;
  --forest: #ff6b35;
  --forest-deep: #0e0814;
  --lime: #ffb52e;
  --lime-strong: #ffc65b;
  --cream: #130b19;
  --paper: #1d1125;
  --orange: #ff6741;
  --ember: #ff3b62;
  --plum: #d34d8f;
  --line: rgba(255, 230, 239, 0.14);
  --shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, select, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.page-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; left: 16px; top: -80px; background: var(--ink); color: white; padding: 12px 18px; border-radius: 10px; }
.skip-link:focus { top: 16px; }

/* Navigation */
.site-header { position: sticky; top: 0; z-index: 100; background: color-mix(in srgb, var(--cream) 88%, transparent); backdrop-filter: blur(16px); border-bottom: 1px solid transparent; }
.nav-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 9px; position: relative; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px 4px 12px 4px; color: var(--forest-deep); background: var(--lime); font-weight: 900; font-size: 22px; transform: rotate(-3deg); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.brand-word { font-weight: 900; font-size: 24px; letter-spacing: -1.4px; }
.brand small { position: absolute; left: 48px; bottom: -7px; white-space: nowrap; text-transform: uppercase; letter-spacing: 1.4px; font-size: 7px; font-weight: 800; opacity: .52; }
.desktop-nav { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.desktop-nav a, .nav-login { font-size: 14px; font-weight: 700; color: var(--ink-soft); }
.desktop-nav a:hover, .nav-login:hover { color: var(--ink); }
.nav-actions { display: flex; align-items: center; gap: 20px; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; border: 0; border-radius: 999px; padding: 0 22px; font-weight: 850; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: white; }
.button-primary { background: var(--lime); color: var(--forest-deep); box-shadow: 0 10px 28px rgba(171, 202, 45, .25); }
.button-primary:hover { background: var(--lime-strong); box-shadow: 0 14px 34px rgba(171, 202, 45, .35); }
.button-large { min-height: 58px; padding-inline: 28px; font-size: 16px; }

/* Home hero */
.hero { min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px; padding-block: 72px 100px; }
.eyebrow, .section-label { font-size: 12px; line-height: 1; font-weight: 900; letter-spacing: 1.7px; text-transform: uppercase; color: #557066; }
.eyebrow { display: flex; align-items: center; gap: 10px; }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 6px rgba(238,107,59,.13); }
.hero h1 { margin: 24px 0 22px; max-width: 680px; font-size: clamp(56px, 6.6vw, 94px); line-height: .92; letter-spacing: -6px; font-weight: 900; }
.hero h1 span { color: var(--forest); position: relative; }
.hero h1 span::after { content: ""; position: absolute; height: 12px; border-radius: 100%; left: 0; right: 0; bottom: -3px; background: var(--lime); z-index: -1; transform: rotate(-1deg); }
.hero-lede { max-width: 650px; margin: 0 0 32px; font-size: 19px; line-height: 1.62; color: var(--ink-soft); }
.hero-lede em { color: var(--ink); font-style: normal; font-weight: 800; }
.route-picker { max-width: 690px; padding: 14px; border: 1px solid var(--line); background: rgba(255,253,248,.76); border-radius: 24px; box-shadow: 0 20px 60px rgba(20,37,31,.07); }
.route-fields { display: flex; align-items: flex-end; gap: 8px; padding: 0 4px 12px; }
.route-fields label { flex: 1; display: grid; gap: 6px; }
.route-fields label span { padding-left: 10px; text-transform: uppercase; font-size: 9px; font-weight: 900; letter-spacing: 1.2px; color: #6d7b75; }
.route-fields select { width: 100%; min-height: 46px; appearance: none; border: 0; border-radius: 13px; padding: 0 36px 0 12px; color: var(--ink); font-size: 13px; font-weight: 800; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2314251f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 13px center; }
.route-arrow { height: 46px; display: grid; place-items: center; color: #7c8984; }
.route-picker > .button { width: 100%; }
.picker-note { margin: 10px 8px 2px; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; color: #607069; font-size: 11px; font-weight: 750; }
.trust-row span::before { content: "✓"; margin-right: 6px; color: var(--forest); font-weight: 900; }
.hero-product { min-height: 560px; display: grid; place-items: center; position: relative; isolation: isolate; }
.product-glow { position: absolute; width: 520px; aspect-ratio: 1; border-radius: 48% 52% 64% 36%; background: var(--lime); filter: blur(1px); opacity: .55; transform: rotate(-10deg); z-index: -2; }
.product-glow::after { content:""; position:absolute; inset: 13%; border-radius: 50%; border: 1px dashed rgba(21,63,50,.24); }
.lesson-window { width: min(430px, 92%); padding: 26px; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; background: rgba(255,253,248,.95); box-shadow: 0 30px 100px rgba(18,50,40,.23); transform: rotate(1.5deg); }
.lesson-topline, .lesson-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.lesson-route { font-size: 11px; font-weight: 900; letter-spacing: 1.6px; }
.streak-pill { border-radius: 999px; padding: 7px 10px; background: #f1e8da; font-size: 10px; font-weight: 800; }
.unit-progress { height: 6px; margin: 19px 0 26px; background: #e5e6df; border-radius: 999px; overflow:hidden; }
.unit-progress i { display:block; height:100%; background:var(--forest); border-radius:inherit; }
.lesson-kicker { margin:0 0 8px; color:#64756e; font-size:10px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
.lesson-window h2 { margin:0 0 20px; font-size:24px; line-height:1.18; letter-spacing:-.8px; }
.explanation-card { padding:16px; border:1px solid #cad8cf; border-radius:16px; background:#f2f7f0; }
.explanation-label { font-size:9px; font-weight:900; letter-spacing:1px; text-transform:uppercase; color:#567266; }
.explanation-card p { margin:7px 0; font-size:18px; }
.explanation-card strong { padding:2px 7px; background:var(--lime); border-radius:6px; }
.explanation-card small { display:block; color:#597067; line-height:1.45; font-size:11px; }
.answer-grid { display:grid; gap:9px; margin:16px 0 20px; }
.answer-grid button { min-height:48px; padding:0 14px; text-align:left; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:#fff; font-size:13px; font-weight:700; }
.answer-grid button.answer-correct { display:flex; justify-content:space-between; align-items:center; border-color:var(--forest); box-shadow:inset 3px 0 var(--forest); }
.answer-correct span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--forest); color:white; }
.lesson-bottom { color:#5e6e67; font-size:11px; font-weight:700; }
.round-arrow { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:white; background:var(--ink); font-size:17px; }
.floating-note { position:absolute; z-index:2; padding:12px 16px; border-radius:999px; color:white; background:var(--forest-deep); box-shadow:0 15px 40px rgba(0,0,0,.18); font-size:12px; font-weight:750; }
.floating-note b { display:inline-grid; place-items:center; width:23px; height:23px; margin-right:7px; border-radius:50%; color:var(--ink); background:var(--lime); }
.note-one { top:16%; left:0; transform:rotate(-5deg); }
.note-two { right:-2%; bottom:15%; transform:rotate(5deg); }

.principle-strip { background:var(--forest-deep); color:#e9f5ee; }
.principle-inner { min-height:95px; display:flex; align-items:center; justify-content:center; gap:34px; }
.principle-inner p { margin:0; font-size:17px; letter-spacing:-.2px; }
.principle-inner p:first-child { color:#91a79d; }
.principle-inner strong { color:var(--lime); }
.principle-divider { width:1px; height:32px; background:rgba(255,255,255,.2); }

/* Sections */
.section { padding-block: 112px; }
.section-heading { margin-bottom: 52px; }
.split-heading { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:60px; }
.section-heading h2 { margin:14px 0 0; font-size:clamp(38px,4.4vw,62px); line-height:1.02; letter-spacing:-3px; }
.split-heading > p { margin:0 0 5px; max-width:440px; color:var(--ink-soft); line-height:1.7; font-size:16px; }
.loop-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.loop-step { min-height:220px; display:grid; grid-template-columns:50px 1fr; gap:16px; padding:30px 28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s, transform .2s; }
.loop-step:hover { z-index:1; background:var(--paper); transform:translateY(-4px); box-shadow:var(--shadow); }
.loop-number { color:var(--orange); font-size:12px; font-weight:900; }
.loop-step h3 { margin:0 0 12px; font-size:23px; letter-spacing:-.7px; }
.loop-step p { margin:0; color:var(--ink-soft); font-size:14px; line-height:1.65; }
.section-link-row { margin-top:30px; text-align:right; }
.text-link { display:inline-flex; gap:16px; font-size:14px; font-weight:850; border-bottom:1px solid var(--ink); padding-bottom:5px; }
.gym-section { background:#e6ede5; }
.gym-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.gym-card { position:relative; min-height:300px; overflow:hidden; padding:30px; border-radius:var(--radius-md); border:1px solid rgba(20,37,31,.12); transition:transform .2s ease, box-shadow .2s ease; }
.gym-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.gym-1 { background:#f7f0de; }.gym-2{background:#f1d8c8}.gym-3{background:#dbe6f2}.gym-4{background:#dff0d0}
.gym-card-top { display:flex; justify-content:space-between; align-items:flex-start; }
.gym-card-top > span { color:#5d6b65; font-size:10px; font-weight:850; letter-spacing:.6px; text-transform:uppercase; }
.resource-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; background:rgba(255,255,255,.6); color:var(--forest); }
.resource-icon svg { width:27px; height:27px; }
.gym-card h3 { max-width:340px; margin:48px 0 10px; font-size:28px; letter-spacing:-1.3px; }
.gym-card p { max-width:430px; margin:0; color:#4d5e57; line-height:1.6; font-size:14px; }
.card-arrow { position:absolute; right:28px; bottom:24px; font-size:28px; }

.identity-card { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; padding:66px; border-radius:var(--radius-lg); color:white; background:var(--forest); overflow:hidden; position:relative; }
.identity-card::after { content:""; position:absolute; width:330px; height:330px; right:-160px; top:-180px; border:70px solid rgba(216,250,85,.08); border-radius:50%; }
.identity-copy h2 { margin:14px 0 20px; max-width:600px; font-size:48px; line-height:1.03; letter-spacing:-2.6px; }
.identity-copy > p:not(.section-label) { color:#c5d5cf; line-height:1.7; }
.identity-copy .section-label { color:var(--lime); }
.language-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.language-chips span { padding:9px 12px; border:1px solid rgba(255,255,255,.16); border-radius:999px; font-size:10px; font-weight:800; }
.identity-demo { align-self:center; padding:24px; border-radius:20px; color:var(--ink); background:var(--paper); box-shadow:0 30px 70px rgba(0,0,0,.18); transform:rotate(1.5deg); }
.demo-tabs { display:flex; gap:8px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.demo-tabs span { padding:6px 8px; color:#7c8983; font-size:9px; font-weight:850; }
.demo-tabs .active { color:var(--ink); background:var(--lime); border-radius:7px; }
.demo-overline { margin:22px 0 8px; color:#75847e; font-size:9px; letter-spacing:1.2px; font-weight:900; }
.identity-demo h3 { margin:0 0 16px; font-size:24px; }
.identity-demo mark { padding:2px 6px; background:var(--lime); border-radius:5px; }
.identity-demo > p:not(.demo-overline) { color:#55675f; font-size:13px; line-height:1.6; }
.demo-tag { display:inline-block; margin-top:10px; padding:6px 9px; border-radius:6px; color:#ab4925; background:#f9e1d7; font-size:9px; font-weight:900; }
.founder-section { padding-block:90px; color:white; background:var(--orange); }
.founder-inner { display:grid; grid-template-columns:90px 1fr 180px; align-items:center; gap:46px; }
.founder-mark { width:76px; height:76px; display:grid; place-items:center; border:2px solid rgba(255,255,255,.8); border-radius:24px 8px 24px 8px; font-size:42px; font-weight:900; transform:rotate(-5deg); }
.founder-inner blockquote { margin:0; max-width:800px; font-size:25px; line-height:1.42; letter-spacing:-.7px; font-weight:750; }
.founder-signoff { display:grid; gap:6px; }
.founder-signoff span { font-weight:900; }
.founder-signoff small { color:#ffdace; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.final-cta h2 { margin:10px 0; font-size:52px; letter-spacing:-2.4px; }
.final-cta p:not(.section-label) { color:var(--ink-soft); }

/* Shared interior */
.interior-hero { padding:76px 0 56px; }
.interior-hero h1 { max-width:800px; margin:16px 0 20px; font-size:clamp(48px,6vw,78px); line-height:.98; letter-spacing:-4.5px; }
.interior-hero > p:not(.section-label) { max-width:720px; color:var(--ink-soft); font-size:18px; line-height:1.65; }
.app-surface { min-height:100vh; padding-bottom:100px; background:#edf0e9; }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; }
.panel { border:1px solid rgba(20,37,31,.1); border-radius:24px; background:var(--paper); box-shadow:0 18px 50px rgba(20,37,31,.06); }
.panel-pad { padding:26px; }
.muted { color:var(--ink-soft); }

/* Learning dashboard */
.dashboard-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-block:64px 36px; }
.dashboard-head h1 { margin:10px 0 8px; font-size:56px; letter-spacing:-3px; }
.dashboard-head p:not(.section-label) { margin:0; color:var(--ink-soft); }
.dashboard-stats { display:flex; gap:10px; }
.dashboard-stats div { min-width:100px; padding:14px; border-radius:16px; background:rgba(255,255,255,.64); }
.dashboard-stats strong,.dashboard-stats span { display:block; }
.dashboard-stats strong { font-size:20px; }.dashboard-stats span{margin-top:3px;color:#6c7a74;font-size:9px;text-transform:uppercase;letter-spacing:.7px;font-weight:800;}
.dashboard-main,.dashboard-side { display:grid; align-content:start; gap:24px; }
.continue-card { min-height:340px; display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border-radius:26px; color:white; background:var(--forest); box-shadow:0 26px 70px rgba(21,63,50,.18); }
.continue-copy { padding:34px; }.continue-meta,.panel-heading,.continue-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}
.continue-meta span { padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.8px;}
.continue-copy>p:not(.muted){margin:28px 0 8px;color:var(--lime);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1.1px}.continue-copy h2{margin:0;max-width:500px;font-size:38px;line-height:1.05;letter-spacing:-2px}.continue-copy .muted{margin:16px 0 28px;color:#c3d4cd;line-height:1.6;font-size:14px}.continue-actions{justify-content:flex-start}.continue-actions>span{color:#94aaa1;font-size:10px;font-weight:700}
.continue-visual { position:relative; min-height:100%; overflow:hidden; background:radial-gradient(circle at 50% 40%,#e9fb99 0,#d8fa55 45%,#b8dd36 100%); }
.word-card { position:absolute; display:grid; place-items:center; border:1px solid rgba(20,37,31,.12); border-radius:19px; color:var(--ink); background:var(--paper); box-shadow:0 20px 50px rgba(20,37,31,.18);font-size:34px;font-weight:900}.word-a{width:95px;height:95px;left:18%;top:24%;transform:rotate(-9deg)}.word-job{width:180px;height:95px;right:10%;top:43%;font-size:24px;transform:rotate(6deg)}.plus-sign{position:absolute;left:49%;top:47%;color:var(--forest);font-size:30px;font-weight:900}.continue-visual p{position:absolute;left:0;right:0;bottom:24px;margin:0;text-align:center;color:var(--forest);font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:1px}
.panel-heading h2 { margin:0;font-size:20px;letter-spacing:-.6px}.panel-heading>span{color:#718079;font-size:10px;font-weight:800}.course-map .panel-heading{padding-bottom:22px;border-bottom:1px solid var(--line)}.course-map .section-label{margin:0 0 7px}.map-list{display:grid}.map-unit{display:grid;grid-template-columns:46px 1fr 34px;align-items:center;gap:16px;min-height:100px;border-bottom:1px solid var(--line)}.map-unit:last-child{border:0}.unit-orb{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:900}.unit-complete .unit-orb{border-color:var(--forest);color:white;background:var(--forest)}.unit-active .unit-orb{border:0;background:var(--lime);box-shadow:0 0 0 6px rgba(216,250,85,.25)}.unit-locked{opacity:.48}.unit-copy>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.unit-copy h3{margin:0;font-size:17px}.unit-copy span{color:#7b8883;font-size:9px;text-transform:uppercase;font-weight:800}.unit-copy p{margin:5px 0 0;color:var(--ink-soft);font-size:12px}.map-unit>a{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--ink)}.lock-mark{text-align:center;font-size:24px}
.today-plan ol{display:grid;gap:20px;margin:24px 0 0;padding:0;list-style:none}.today-plan li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;position:relative}.today-plan li:not(:last-child)::after{content:"";position:absolute;width:1px;height:20px;left:16px;top:35px;background:var(--line)}.today-plan li>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:11px;font-weight:900}.today-plan .done>span{border-color:var(--forest);color:white;background:var(--forest)}.today-plan .active>span{border:0;background:var(--lime)}.today-plan li div{display:grid;gap:2px}.today-plan li strong{font-size:13px}.today-plan li small{color:#74827d;font-size:10px}.week-bars{height:150px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:20px;padding-top:18px}.week-bars div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.week-bars i{display:block;width:100%;max-width:22px;min-height:3px;border-radius:5px 5px 2px 2px;background:#bdc9c3}.week-bars i.today{background:var(--orange)}.week-bars span{font-size:8px;font-weight:800;color:#7e8a85}.coach-note{color:white;background:var(--forest-deep)}.coach-eye{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--lime);color:var(--ink);font-size:22px}.coach-note .section-label{margin:24px 0 7px;color:#8ea69c}.coach-note h2{margin:0;font-size:21px;letter-spacing:-.7px}.coach-note>p:not(.section-label){color:#9db1a8;line-height:1.55;font-size:12px}.coach-note a{color:var(--lime);font-size:11px;font-weight:850}.gym-shortcut{position:relative;display:grid;gap:4px;overflow:hidden;padding:23px;border-radius:20px;background:#e8d9f1}.gym-shortcut span{font-size:10px;color:#6d5978}.gym-shortcut strong{font-size:15px}.gym-shortcut b{position:absolute;right:20px;top:25px}

/* Lesson player */
.lesson-page { min-height:100vh; background:#f8f5ef; }.lesson-page+.site-footer{display:none}.lesson-player{min-height:calc(100vh - 78px);display:grid;grid-template-rows:auto 1fr auto}.lesson-player-top{height:74px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:20px}.lesson-close{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:27px;color:#617069;background:#e7eae5}.lesson-progress{height:8px;border-radius:999px;background:#e2e5df;overflow:hidden}.lesson-progress i{display:block;height:100%;border-radius:inherit;background:var(--forest)}.lesson-player-top>span{text-align:right;color:#68766f;font-size:11px;font-weight:800}.lesson-stage{width:min(880px,calc(100% - 40px));display:grid;align-content:center;padding-block:48px}.lesson-stage-label{display:flex;align-items:center;gap:10px;margin-bottom:30px;color:#687870;text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:900}.lesson-stage-label span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--orange)}.activity-kicker{margin:0 0 12px;color:var(--orange);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.activity h1{margin:0 0 36px;max-width:850px;font-size:clamp(36px,5vw,58px);line-height:1.08;letter-spacing:-3px}.compare-lines{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-lines>div{padding:22px;border:1px solid var(--line);border-radius:16px;background:#eeeae2}.compare-lines>div.active{background:var(--paper);border-color:var(--forest)}.compare-lines small{font-size:9px;font-weight:900;color:#75827c}.compare-lines p{margin:8px 0 0;font-size:25px;font-weight:800}.compare-lines mark{padding:2px 8px;border-radius:7px;background:var(--lime)}.rule-box{display:grid;grid-template-columns:160px 1fr;gap:30px;margin-top:16px;padding:20px;border-radius:16px;color:#dce8e3;background:var(--forest-deep)}.rule-box strong{color:var(--lime);font-size:12px;text-transform:uppercase;letter-spacing:.8px}.rule-box p{margin:0;line-height:1.6;font-size:13px}.big-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.big-choices button{display:grid;gap:7px;min-height:120px;padding:20px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left}.big-choices button.selected{border:2px solid var(--forest);box-shadow:0 0 0 4px rgba(21,63,50,.08)}.big-choices button>span{font-size:32px;font-weight:900}.big-choices button small{color:#738078}.feedback{margin-top:16px;padding:17px 20px;border-radius:14px;font-size:13px}.feedback-right{color:#164a36;background:#dff0df}.feedback-wrong{color:#8b351f;background:#f6ded4}.feedback strong{margin-right:8px}.sentence-tray{min-height:100px;display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:18px;border-bottom:2px solid #bec8c2}.sentence-tray>span{color:#8a9691}.sentence-tray button,.word-bank button{padding:11px 15px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);font-weight:800}.word-bank{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;padding:28px 0}.word-bank button:disabled{opacity:.2}.type-answer{display:grid;gap:8px}.type-answer span{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:900;color:#718079}.type-answer input{width:100%;padding:0 0 14px;border:0;border-bottom:2px solid var(--ink);outline:0;color:var(--ink);background:transparent;font-size:32px;font-weight:750}.activity-mission{padding:40px;border-radius:24px;color:white;background:var(--forest)}.activity-mission h1{margin-top:20px}.activity-mission>p{max-width:700px;color:#c7d7d0;line-height:1.7}.mission-badge{display:inline-flex;padding:8px 11px;border-radius:999px;color:var(--ink);background:var(--lime);font-size:9px;text-transform:uppercase;font-weight:900;letter-spacing:.8px}.mission-prompts{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.mission-prompts span{padding:10px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:11px;font-weight:800}.mission-note{font-size:10px!important;color:#89a198!important}.lesson-actionbar{min-height:95px;display:flex;align-items:center;border-top:1px solid var(--line);background:var(--paper)}.lesson-actionbar>.page-shell{width:min(880px,calc(100% - 40px));display:flex;justify-content:flex-end}.lesson-actionbar button:disabled{opacity:.4;cursor:not-allowed;transform:none}

/* Resource library */
.resource-section{padding:35px 0 110px}.resource-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.filter-pills button{padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:transparent;font-size:11px;font-weight:800;cursor:pointer}.filter-pills button.active{color:white;background:var(--forest);border-color:var(--forest)}.resource-controls label{display:flex;align-items:center;gap:9px;color:#6d7b75;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.resource-controls select{min-height:40px;padding:0 32px 0 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.resource-card{min-height:270px;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);transition:transform .2s,box-shadow .2s}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.resource-card-icon{display:flex;justify-content:space-between;align-items:flex-start}.resource-card-icon>span{padding:6px 8px;border-radius:6px;color:#577067;background:#edf1eb;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.resource-card h2{margin:34px 0 8px;font-size:23px;letter-spacing:-.8px}.resource-card>p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}.resource-card>div:last-child{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:25px;color:#75817c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.resource-card b{color:var(--ink);font-size:18px}.sponsor-placeholder{max-width:600px;display:flex;gap:16px;margin:45px auto 0;padding:20px;border:1px dashed #aeb9b3;border-radius:16px;color:#65736d}.sponsor-placeholder span{white-space:nowrap;text-transform:uppercase;font-size:8px;font-weight:900;letter-spacing:.8px}.sponsor-placeholder p{margin:0;font-size:11px;line-height:1.5}

/* Method and songs */
.method-hero{color:white;background:var(--forest-deep)}.method-hero>.page-shell{padding-block:76px 56px}.method-hero .section-label{color:var(--lime)}.method-hero>div>p:not(.section-label){color:#a8bdb4}.method-principles{background:#e3e9e2}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bec9c2;border:1px solid #bec9c2}.principle-grid article{min-height:250px;padding:28px;background:var(--cream)}.principle-grid span{color:var(--orange);font-size:10px;font-weight:900}.principle-grid h3{margin:45px 0 10px;font-size:22px;letter-spacing:-.7px}.principle-grid p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.7}.method-plan{display:grid;grid-template-columns:1fr 1.3fr;align-items:start;gap:60px}.method-plan h2{font-size:45px;letter-spacing:-2px}.week-plan{display:grid;border-top:1px solid var(--line)}.week-plan>div{display:grid;grid-template-columns:80px 1fr 70px;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.week-plan span,.week-plan small{color:#718079}.method-plan>.button{grid-column:2;justify-self:start}.song-routine{padding-top:20px}.routine-track{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:18px;background:var(--paper)}.routine-track>div{display:grid;gap:5px;padding:20px;border-right:1px solid var(--line)}.routine-track>div:last-child{border:0}.routine-track span{color:var(--orange);font-size:9px;font-weight:900}.routine-track strong{font-size:14px}.routine-track small{color:#76827c}.song-grid{display:grid;gap:18px}.song-collection{min-height:300px;display:grid;grid-template-columns:300px 1fr;overflow:hidden;border-radius:24px}.song-red{background:#f0d7cc}.song-blue{background:#d7e7f1}.song-violet{background:#e3d9ed}.song-disc{position:relative;display:grid;place-items:center;overflow:hidden}.song-disc i{width:210px;height:210px;border:48px solid #17221e;border-radius:50%;box-shadow:0 20px 40px rgba(20,37,31,.2)}.song-disc i::after{content:"";display:block;width:30px;height:30px;border-radius:50%;background:var(--lime);margin:42px auto}.song-disc>span{position:absolute;font-size:28px}.song-copy{padding:36px}.song-copy>div{display:flex;justify-content:space-between;align-items:center}.song-copy>div p{margin:0;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:1px}.song-copy>div span{font-size:9px;font-weight:800;color:#66746e}.song-copy h2{margin:40px 0 15px;font-size:32px;letter-spacing:-1.2px}.song-copy ul{margin:0;padding:0;list-style:none}.song-copy li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid rgba(20,37,31,.12);font-size:12px;font-weight:750}.song-copy li span{color:#7b6a77;font-size:8px;text-transform:uppercase;letter-spacing:.6px}.rights-note{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.rights-note>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e9ece7;font-family:serif;font-weight:bold}.rights-note h2{margin:0 0 7px;font-size:17px}.rights-note p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:12px}

/* Auth, about and legal */
.auth-page{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:60px 0 90px;background:#e8ede6}.auth-page+.site-footer{display:none}.auth-shell{display:grid;grid-template-columns:1fr 1.2fr .8fr;align-items:center;gap:34px}.auth-brand{align-self:start}.auth-card{padding:36px;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:var(--shadow)}.auth-intro h1{margin:12px 0;font-size:38px;letter-spacing:-2px}.auth-intro>p:not(.section-label){color:var(--ink-soft);line-height:1.6;font-size:13px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:26px 0 20px;padding:4px;border-radius:12px;background:#e9ece7}.auth-tabs button{min-height:39px;border:0;border-radius:9px;color:#6a7771;background:transparent;font-size:11px;font-weight:850;cursor:pointer}.auth-tabs button.active{color:var(--ink);background:white;box-shadow:0 3px 10px rgba(20,37,31,.08)}.auth-card form{display:grid;gap:15px}.auth-card form label{display:grid;gap:6px}.auth-card form label>span{font-size:10px;font-weight:850}.auth-card form label small{color:#849089;font-weight:600}.auth-card input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff}.auth-card .button{width:100%;margin-top:4px}.form-error{margin:0;padding:10px;border-radius:9px;color:#85351f;background:#f8dfd5;font-size:11px}.auth-legal{margin:0!important;text-align:center;color:#78847e!important;font-size:9px!important}.auth-legal a{text-decoration:underline}.auth-proof{padding:28px;color:white;border-radius:23px;background:var(--forest)}.proof-number{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;color:var(--ink);background:var(--lime);font-size:19px;font-weight:900}.auth-proof h2{margin:28px 0 18px;font-size:25px;letter-spacing:-1px}.auth-proof ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;color:#c3d3cc;font-size:11px;line-height:1.5}.auth-proof li::before{content:"✓";margin-right:8px;color:var(--lime)}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.about-grid article{padding:30px;border-top:2px solid var(--ink)}.about-grid span{color:var(--orange);font-size:10px;font-weight:900}.about-grid h2{margin:50px 0 12px;font-size:25px;letter-spacing:-1px}.about-grid p{color:var(--ink-soft);font-size:13px;line-height:1.7}.about-contact{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:50px}.about-contact .section-label{color:#ffd4c6}.about-contact h2{margin:10px 0;font-size:36px;letter-spacing:-1.5px}.about-contact>p{line-height:1.7}.about-contact a:not(.button){text-decoration:underline}.legal-page{max-width:820px;padding-block:90px 120px}.legal-page h1{margin:16px 0 22px;font-size:56px;letter-spacing:-3px}.legal-lede{padding:20px;border-left:4px solid var(--orange);background:var(--paper)}.legal-page h2{margin:44px 0 10px;font-size:23px}.legal-page p{color:var(--ink-soft);line-height:1.75}.legal-page a{text-decoration:underline}

.twofa-card{display:grid;gap:24px;margin-top:38px;padding:30px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.twofa-card h2{margin:0 0 8px}.twofa-card>div>p{margin:0;color:var(--ink-soft)}.twofa-card>.button{justify-self:start}.twofa-steps{display:grid;gap:14px}.twofa-steps p{margin:0}.twofa-steps code{display:block;overflow-wrap:anywhere;padding:14px;border-radius:10px;background:#e9ece7;font-size:14px;font-weight:800;letter-spacing:1px}.twofa-steps>a{text-decoration:underline;font-size:12px}.twofa-steps label{display:grid;gap:7px}.twofa-steps label span{font-size:11px;font-weight:800}.twofa-steps input{max-width:220px;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-size:20px;letter-spacing:4px}.twofa-steps .button{justify-self:start}.twofa-status{margin:0;padding:12px;border-radius:10px;background:#e1eddf;color:var(--forest);font-size:12px;font-weight:750}

/* Footer */
.site-footer { padding:72px 0 28px; color:#dfe9e4; background:#0c271f; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; }
.brand-light .brand-word { color:white; }
.footer-brand p { margin:24px 0 5px; color:white; font-size:22px; font-weight:800; }
.footer-brand small { color:#849c92; }
.footer-column { display:grid; align-content:start; gap:12px; }
.footer-column h3 { margin:0 0 9px; color:#82998f; text-transform:uppercase; letter-spacing:1.3px; font-size:10px; }
.footer-column a { width:max-content; color:#d6e1dc; font-size:13px; }
.footer-column a:hover { color:var(--lime); }
.footer-bottom { display:flex; justify-content:space-between; margin-top:66px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); color:#789087; font-size:10px; }

@media (max-width: 980px) {
  .desktop-nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:55px; }
  .hero-product { min-height:540px; }
  .split-heading, .identity-card { grid-template-columns:1fr; }
  .loop-grid { grid-template-columns:repeat(2,1fr); }
  .founder-inner { grid-template-columns:70px 1fr; }
  .founder-signoff { grid-column:2; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }
  .footer-column:last-child { grid-column:2; }
  .dashboard-grid { grid-template-columns:1fr; }
  .resource-grid,.principle-grid { grid-template-columns:repeat(2,1fr); }
  .auth-shell { grid-template-columns:1fr 1fr; }.auth-brand{grid-column:1/-1}.auth-proof{align-self:stretch}
  .about-contact{grid-template-columns:1fr 1fr}.about-contact>.button{grid-column:2}
}

@media (max-width: 680px) {
  .page-shell { width:min(100% - 28px, 1180px); }
  .nav-inner { min-height:68px; }
  .nav-login { display:none; }
  .nav-actions .button { min-height:40px; padding-inline:15px; font-size:12px; }
  .brand small { display:none; }
  .hero { min-height:auto; padding-block:50px 70px; gap:38px; }
  .hero h1 { font-size:54px; letter-spacing:-4px; }
  .hero-lede { font-size:16px; }
  .route-fields { align-items:stretch; flex-direction:column; }
  .route-arrow { height:18px; transform:rotate(90deg); }
  .hero-product { min-height:470px; }
  .product-glow { width:90%; }
  .lesson-window { padding:20px; }
  .note-one { left:-4px; top:3%; }.note-two{right:-4px;bottom:4%;}
  .principle-inner { padding-block:24px; flex-direction:column; align-items:flex-start; gap:12px; }
  .principle-divider { width:50px; height:1px; }
  .section { padding-block:78px; }
  .section-heading { margin-bottom:34px; }
  .section-heading h2 { font-size:42px; letter-spacing:-2.5px; }
  .split-heading { gap:20px; }
  .loop-grid, .gym-grid { grid-template-columns:1fr; }
  .loop-step { min-height:180px; }
  .identity-card { padding:34px 24px; gap:34px; }
  .identity-copy h2 { font-size:38px; }
  .founder-inner { grid-template-columns:1fr; gap:26px; }
  .founder-signoff { grid-column:1; }
  .founder-inner blockquote { font-size:21px; }
  .final-cta { align-items:flex-start; flex-direction:column; }
  .final-cta h2 { font-size:42px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-column:last-child { grid-column:auto; }
  .footer-bottom { gap:20px; flex-direction:column; }
  .dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-head h1{font-size:43px}.dashboard-stats{width:100%;overflow-x:auto}.continue-card{grid-template-columns:1fr}.continue-visual{min-height:240px}.continue-actions{align-items:flex-start;flex-direction:column}.continue-copy h2{font-size:32px}.map-unit{grid-template-columns:42px 1fr 30px}.unit-copy>div{align-items:flex-start;flex-direction:column;gap:3px}.resource-controls{align-items:flex-start;flex-direction:column}.resource-grid,.principle-grid{grid-template-columns:1fr}.compare-lines,.big-choices{grid-template-columns:1fr}.rule-box{grid-template-columns:1fr;gap:8px}.activity h1{font-size:38px;letter-spacing:-2px}.lesson-stage{padding-block:30px}.activity-mission{padding:28px 22px}.method-plan{grid-template-columns:1fr;gap:25px}.method-plan>.button{grid-column:1}.routine-track{grid-template-columns:1fr}.routine-track>div{grid-template-columns:35px 1fr 80px;border-right:0;border-bottom:1px solid var(--line)}.song-collection{grid-template-columns:1fr}.song-disc{min-height:250px}.song-copy{padding:26px}.auth-shell{grid-template-columns:1fr}.auth-brand{grid-column:1}.auth-proof{display:none}.auth-card{padding:27px 20px}.about-grid,.about-contact{grid-template-columns:1fr}.about-contact>.button{grid-column:1}.legal-page h1{font-size:43px}.sponsor-placeholder{align-items:flex-start;flex-direction:column}
}

/* Hostinger Premium PHP edition */
.nav-form { margin: 0; }
.link-button { border: 0; padding: 0; background: transparent; cursor: pointer; }
.flash { position: relative; z-index: 20; width: min(760px, calc(100% - 32px)); margin: 16px auto 0; padding: 13px 16px; border-radius: 12px; text-align: center; font-size: 13px; font-weight: 750; }
.flash-success { color: #18452f; background: #dcefdc; }
.flash-error { color: #7b2f1c; background: #fae0d6; }
.setup-banner { padding: 14px 20px; color: #5f341d; background: #ffe3bd; text-align: center; font-size: 13px; font-weight: 750; }
.waitlist-card { max-width: 700px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); box-shadow: var(--shadow); }
.waitlist-card h2 { margin: 0 0 8px; font-size: 30px; letter-spacing: -1.3px; }
.waitlist-card p { margin: 0 0 20px; color: var(--ink-soft); line-height: 1.55; }
.waitlist-form { display: grid; grid-template-columns: 1fr 170px auto; gap: 9px; }
.waitlist-form input, .waitlist-form select { min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.resource-card { color: inherit; }
.resource-card small { display: block; margin-top: 20px; color: var(--orange); font-weight: 850; }
.filter-pills button { cursor: pointer; }
.filter-pills button.active { color: white; background: var(--ink); }
.empty-state { padding: 40px; border: 1px dashed var(--line); border-radius: 18px; text-align: center; color: var(--ink-soft); }
.route-message { margin: 12px 6px 0; font-size: 12px; color: var(--ink-soft); }
.security-shell { max-width: 820px; padding: 70px 0 110px; }
.security-shell h1 { margin: 12px 0; font-size: 52px; letter-spacing: -3px; }
.account-summary { margin-top: 28px; padding: 18px 20px; border-radius: 15px; background: #e2e9e1; }
.twofa-uri { font-size: 11px !important; letter-spacing: 0 !important; }
.status-pill { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: #e7ece6; font-size: 10px; font-weight: 850; }
.status-pill.on { color: white; background: var(--forest); }
.legal-warning { padding: 16px; border-radius: 12px; background: #fff0d8; color: #65401f !important; }
.lesson-actionbar button:disabled { cursor: not-allowed; opacity: .46; transform: none; }
.word-bank button:disabled { opacity: .25; }
.lesson-complete { text-align: center; }
.lesson-complete .button { margin-top: 24px; }

@media (max-width: 680px) {
  .waitlist-form { grid-template-columns: 1fr; }
  .security-shell h1 { font-size: 42px; }
}

/* Phoenix identity and production app shell */
html { color-scheme: light; }
body { transition: background-color .2s ease, color .2s ease; }
html[data-brand-cursor="on"] body { cursor: url('/assets/brand/phoenix-normal.cur'), auto; }
@media (pointer: fine) { html[data-brand-cursor="on"] a, html[data-brand-cursor="on"] button, html[data-brand-cursor="on"] select, html[data-brand-cursor="on"] input, html[data-brand-cursor="on"] label { cursor: url('/assets/brand/phoenix-pointer.cur'), pointer; } }

.site-header { background: color-mix(in srgb, var(--cream) 88%, transparent); border-bottom-color: var(--line); }
.brand { min-height: 48px; }
.brand-phoenix { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 8px 15px rgba(207,35,74,.2)); }
.brand-word { text-transform: lowercase; }
.brand small { left: 57px; bottom: -1px; }
.nav-tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ui-locale-select { min-width: 58px; height: 38px; border: 1px solid var(--line); border-radius: 999px; padding: 0 10px; color: var(--ink); background: var(--paper); font-size: 11px; font-weight: 850; }
.ui-locale-select.compact { min-width: 54px; height: 36px; }
.icon-button { width: 38px; height: 38px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: var(--paper); cursor: pointer; font-size: 17px; }
.mobile-menu-button { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--paper); font-size: 20px; }
.mobile-menu { border-top: 1px solid var(--line); background: var(--paper); }
.mobile-menu nav { width: min(100% - 28px, 1180px); margin: auto; display: grid; padding: 12px 0 20px; }
.mobile-menu a { padding: 13px 4px; border-bottom: 1px solid var(--line); font-weight: 800; }

.hero-cta-row { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin: 0 0 28px; }
.hero-cta-row .text-link { font-size: 13px; }
.hero h1 .headline-plain { color: var(--ink); }
.hero h1 .headline-plain::after { display: none; }
.hero-phoenix-crest { position: absolute; z-index: -1; width: 330px; height: 330px; object-fit: contain; opacity: .16; right: -40px; top: -20px; filter: drop-shadow(0 30px 50px rgba(207,35,74,.26)); transform: rotate(6deg); }
.product-glow { background: radial-gradient(circle at 40% 35%, #ffd766 0, #ff9c25 46%, #df2952 76%, #681a4f 100%); opacity: .68; }
.founder-section { background: linear-gradient(135deg, #ff5b31, #c4244f 55%, #53143e); }
.founder-mark { overflow: hidden; border: 0; background: rgba(255,255,255,.12); }
.founder-mark img { width: 100%; height: 100%; object-fit: contain; }
.signup-journey { position: relative; }
.signup-journey::before { content: ""; position: absolute; width: 240px; height: 240px; right: 3%; top: 20px; border-radius: 48% 52% 42% 58%; background: radial-gradient(circle, rgba(255,181,46,.22), rgba(255,79,43,.08) 55%, transparent 70%); pointer-events: none; }
.signup-journey-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.signup-journey-grid article { min-height: 260px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.signup-journey-grid article:first-child { border-left: 1px solid var(--line); }
.signup-journey-grid span { color: var(--orange); font-size: 11px; font-weight: 900; }
.signup-journey-grid h3 { margin: 62px 0 12px; font-size: 25px; letter-spacing: -.8px; }
.signup-journey-grid p { margin: 0; color: var(--ink-soft); line-height: 1.65; font-size: 13px; }
.signup-journey-action { display: flex; align-items: center; gap: 22px; margin-top: 28px; }
.signup-journey-action small { color: var(--ink-soft); }

.app-body { min-height: 100vh; background: var(--cream); }
.app-rail { position: fixed; inset: 0 auto 0 0; z-index: 120; width: 248px; display: flex; flex-direction: column; padding: 22px 16px; border-right: 1px solid var(--line); background: color-mix(in srgb, var(--paper) 96%, transparent); }
.app-brand { display: flex; align-items: center; gap: 9px; min-height: 58px; padding: 0 8px; }
.app-brand img { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 7px 16px rgba(207,35,74,.25)); }
.app-brand span { display: grid; line-height: 1; }
.app-brand strong { font-size: 23px; letter-spacing: -1.2px; }
.app-brand small { margin-top: 5px; color: var(--ink-soft); font-size: 7px; letter-spacing: 1.5px; text-transform: uppercase; }
.app-nav { display: grid; gap: 5px; }
.app-nav-primary { margin-top: 30px; }
.app-nav a, .app-settings-link { min-height: 46px; display: flex; align-items: center; gap: 13px; padding: 0 13px; border-radius: 13px; color: var(--ink-soft); }
.app-nav a span, .app-settings-link span { width: 23px; text-align: center; font-size: 18px; }
.app-nav a b, .app-settings-link b { font-size: 13px; }
.app-nav a:hover, .app-nav a.active, .app-settings-link:hover, .app-settings-link.active { color: var(--ink); background: color-mix(in srgb, var(--lime) 28%, var(--paper)); }
.app-nav a.active { box-shadow: inset 3px 0 var(--orange); }
.app-nav-label { margin: 30px 13px 10px; color: var(--ink-soft); font-size: 9px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.app-rail-bottom { display: grid; gap: 11px; margin-top: auto; }
.app-settings-link { display: flex; }
.app-profile { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 15px; background: var(--cream); }
.app-profile > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #2b122e; background: var(--lime); font-weight: 900; }
.app-profile div { min-width: 0; display: grid; }
.app-profile strong { overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.app-profile small { color: var(--ink-soft); font-size: 9px; }
.app-signup { min-height: 44px; padding-inline: 14px; }
.app-main { min-height: 100vh; margin-left: 248px; padding: 28px clamp(24px, 4vw, 64px) 90px; }
.app-main > .flash { margin-top: 0; }
.app-mobile-top, .app-bottom-nav { display: none; }
.app-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; max-width: 1240px; margin: 0 auto; padding: 35px 0 36px; }
.app-page-head h1 { margin: 11px 0 9px; font-size: clamp(42px, 5vw, 68px); line-height: .98; letter-spacing: -4px; }
.app-page-head > div > p:not(.section-label) { max-width: 720px; margin: 0; color: var(--ink-soft); line-height: 1.6; }
.app-dashboard-grid { max-width: 1240px; margin: auto; display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 24px; }
.phoenix-continue { background: linear-gradient(128deg, #371130, #741c48 56%, #c32c49); }
.continue-phoenix { position: relative; min-height: 100%; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, #ffcd56 0, #ff852e 35%, rgba(185,36,73,.55) 65%, transparent 72%); }
.continue-phoenix img { position: relative; z-index: 2; width: 78%; max-width: 280px; filter: drop-shadow(0 26px 35px rgba(57,8,36,.4)); animation: phoenix-breathe 4s ease-in-out infinite; }
.continue-phoenix p { position: absolute; z-index: 3; bottom: 22px; margin: 0; color: white; font-size: 9px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
.flame-orbit { position: absolute; width: 82%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.26); border-radius: 43% 57% 50% 50%; animation: slow-spin 16s linear infinite; }
@keyframes phoenix-breathe { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-8px) scale(1.025)} }
@keyframes slow-spin { to { transform: rotate(360deg); } }
.lesson-focus { display: block; margin-top: 8px; color: var(--orange); font-size: 9px; font-weight: 850; }
.unit-open .unit-orb { background: var(--paper); }
.unit-complete-local .unit-orb { border-color: var(--orange); color: white; background: var(--orange); }
.welcome-overlay { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(16,7,20,.76); backdrop-filter: blur(15px); animation: fade-in .3s ease both; }
.welcome-overlay.leaving { animation: fade-out .3s ease both; }
.welcome-card { position: relative; width: min(620px, 100%); padding: 52px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 32px; color: white; background: radial-gradient(circle at 80% 0, rgba(255,181,46,.26), transparent 35%), linear-gradient(140deg,#2a102d,#64183f 60%,#a92948); box-shadow: 0 45px 130px rgba(0,0,0,.42); }
.welcome-card > button { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: white; background: transparent; font-size: 22px; }
.welcome-card h1 { max-width: 500px; margin: 12px 0; font-size: 48px; line-height: 1; letter-spacing: -2.5px; }
.welcome-card > p:not(.section-label) { max-width: 520px; color: #eadde7; line-height: 1.65; }
.welcome-card .section-label { color: var(--lime); }
.welcome-crest { width: 125px; height: 125px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle,#ffc84e,rgba(255,92,46,.4) 50%,transparent 70%); }
.welcome-crest img { width: 118px; filter: drop-shadow(0 18px 30px rgba(0,0,0,.25)); }
@keyframes fade-in { from{opacity:0} to{opacity:1} } @keyframes fade-out { from{opacity:1} to{opacity:0} }

.review-orb { min-width: 150px; aspect-ratio: 1; display: grid; place-items: center; align-content: center; border-radius: 50%; color: #32152d; background: radial-gradient(circle at 35% 30%,#ffe28a,#ffb52e 50%,#f05a31); box-shadow: 0 18px 55px rgba(255,102,48,.24); }
.review-orb strong { font-size: 45px; line-height: 1; }.review-orb span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.8px}
.empty-app-state { max-width: 760px; margin: 40px auto; padding: 54px; border: 1px solid var(--line); border-radius: 30px; text-align: center; background: var(--paper); box-shadow: var(--shadow); }
.empty-app-state img { width: 135px; filter: drop-shadow(0 20px 35px rgba(207,35,74,.22)); }
.empty-app-state h2 { margin: 18px 0 8px; font-size: 30px; letter-spacing: -1.2px; }.empty-app-state p{max-width:560px;margin:0 auto 24px;color:var(--ink-soft);line-height:1.6}
.review-list { max-width: 1040px; margin: auto; display: grid; gap: 16px; }
.review-card { display: grid; grid-template-columns: 1fr 360px; gap: 30px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); }
.review-card.due { box-shadow: inset 4px 0 var(--orange), var(--shadow); }
.review-card-copy h2 { margin: 12px 0 7px; font-size: 27px; }.review-card-copy>p:not(.section-label){color:var(--ink-soft);line-height:1.55}.review-card-copy small{color:var(--ink-soft)}
.review-actions { display: grid; align-content: center; gap: 16px; }.review-actions form{padding:15px;border-radius:15px;background:var(--cream)}.review-actions form p{margin:0 0 9px;font-size:10px;font-weight:850}.review-actions form div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.review-actions form button{min-height:36px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper);font-size:9px;font-weight:850}
.progress-stat-grid { max-width: 1240px; margin: 0 auto 24px; display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.progress-stat-grid article { min-height: 150px; display: grid; align-content: end; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.progress-stat-grid strong { font-size: 34px; letter-spacing: -1.5px; }.progress-stat-grid span{margin-top:5px;color:var(--ink-soft);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.7px}
.progress-history { max-width: 1240px; margin: auto; }
.history-list { margin-top: 18px; display: grid; }.history-list a{display:grid;grid-template-columns:1fr 80px 80px;align-items:center;gap:20px;padding:15px 4px;border-top:1px solid var(--line)}.history-list a div{display:grid}.history-list small{margin-top:3px;color:var(--ink-soft)}.history-list>a>span{font-weight:850}
.settings-grid { max-width: 1000px; margin: auto; display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.settings-card { display: grid; align-content: start; gap: 20px; }.settings-card:first-child{grid-row:span 2}.settings-card h2{margin:7px 0}.settings-card p{color:var(--ink-soft);line-height:1.55}.settings-card label:not(.toggle-row){display:grid;gap:7px}.settings-card label>span{font-size:10px;font-weight:850}.settings-card select{min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--cream)}.settings-card .button{justify-self:start}.settings-card form{display:grid;gap:12px}.toggle-row{display:flex;align-items:center;gap:14px}.toggle-row input{width:20px;height:20px;accent-color:var(--orange)}.toggle-row span{display:grid}.toggle-row small{margin-top:3px;color:var(--ink-soft)}
.danger-link { justify-self: start; color: #b4233b; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 850; }
.danger-zone { max-width: 760px; margin: 0 auto; display: grid; gap: 24px; border-color: color-mix(in srgb,#cf234a 45%,var(--line)); box-shadow: inset 4px 0 #cf234a,var(--shadow); }
.danger-zone h2 { margin: 7px 0; }.danger-zone p{color:var(--ink-soft);line-height:1.6}.danger-zone form{display:grid;gap:15px}.danger-zone label{display:grid;gap:7px}.danger-zone label span{font-size:10px;font-weight:850}.danger-zone input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--cream)}
.export-zone { max-width: 760px; margin: 0 auto; display:grid;gap:24px; }.export-zone h2{margin:7px 0}.export-zone p{color:var(--ink-soft);line-height:1.6}.export-zone form{display:grid;gap:15px}.export-zone label{display:grid;gap:7px}.export-zone label span{font-size:10px;font-weight:850}.export-zone input{min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--cream)}
.button-danger { color: white; background: #b4233b; box-shadow: 0 12px 28px rgba(180,35,59,.2); }.button-danger:hover{background:#921c32}
.success-banner { position: relative; z-index: 3; width: min(1180px,calc(100% - 40px)); margin: 18px auto 0; padding: 15px 18px; border: 1px solid rgba(31,122,79,.3); border-radius: 14px; color: #125c3a; background: #e5f6ea; font-weight: 750; }
html[data-theme="dark"] .danger-link { color:#ff8395; } html[data-theme="dark"] .success-banner{color:#bff3d1;background:#143023;border-color:#2b6e49}
.verify-banner { max-width:1240px;margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid rgba(230,151,33,.35);border-radius:14px;background:color-mix(in srgb,var(--lime) 14%,var(--paper));font-size:12px }.verify-banner form{margin:0}.verify-banner button{border:0;border-bottom:1px solid currentColor;padding:2px;color:var(--ink);background:transparent;font-size:11px;font-weight:850;cursor:pointer}.auth-help-link{justify-self:end;color:var(--orange);font-size:11px;font-weight:800}.auth-single{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:60px 20px}.auth-single .auth-card{width:min(560px,100%)}
.recovery-codes { padding: 22px; border: 1px solid #eaa52c; border-radius: 16px; background: color-mix(in srgb,var(--lime) 18%,var(--paper)); }.recovery-codes h3{margin:0}.recovery-codes p{color:var(--ink-soft)}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:16px 0}.recovery-code-grid code{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px;letter-spacing:1px}.auth-language-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.auth-card select{min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff}.auth-proof{position:relative;overflow:hidden}.auth-phoenix{position:absolute;width:180px;right:-48px;top:-48px;opacity:.18}.proof-number{position:relative}
.lesson-brand { display: flex; align-items: center; gap: 5px; font-weight: 900; }.lesson-brand img{width:35px;height:35px;object-fit:contain}.lesson-player-top{gap:14px}.lesson-player-top .icon-button{flex:0 0 auto}.completion-phoenix{width:150px;filter:drop-shadow(0 22px 35px rgba(207,35,74,.26));animation:phoenix-breathe 3s ease-in-out infinite}.completion-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:24px}.expected-answer{color:var(--ink-soft)}
.lesson-player-top { grid-template-columns: 42px auto minmax(100px,1fr) auto 42px; }

html[data-theme="dark"] .site-header { background: rgba(19,11,25,.88); }
html[data-theme="dark"] .gym-section, html[data-theme="dark"] .app-surface, html[data-theme="dark"] .auth-page { background: #170d1e; }
html[data-theme="dark"] .gym-1,html[data-theme="dark"] .gym-2,html[data-theme="dark"] .gym-3,html[data-theme="dark"] .gym-4 { background: #24142d; }
html[data-theme="dark"] .continue-card { background: linear-gradient(128deg,#2c1028,#681840 56%,#a82847); }
html[data-theme="dark"] .identity-demo, html[data-theme="dark"] .lesson-window, html[data-theme="dark"] .auth-card, html[data-theme="dark"] .panel { color: var(--ink); background: var(--paper); }
html[data-theme="dark"] .explanation-card { background:#22182a;border-color:#53344d; }
html[data-theme="dark"] input, html[data-theme="dark"] select, html[data-theme="dark"] .answer-grid button, html[data-theme="dark"] .big-choices button,html[data-theme="dark"] .word-bank button,html[data-theme="dark"] .sentence-tray button { color:var(--ink);background:#24162c;border-color:var(--line) }
html[data-theme="dark"] .identity-card { background: linear-gradient(135deg,#28102a,#5c183e); }
html[data-theme="dark"] .resource-card { background: var(--paper); }
html[data-theme="dark"] .site-footer { background:#09050d; }
html[data-theme="dark"] .lesson-page { background:#130b19; }
html[data-theme="dark"] .lesson-actionbar { background:rgba(19,11,25,.94); }

@media (prefers-reduced-motion: reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important} }

@media (max-width: 1120px) {
  .app-rail { width: 92px; padding-inline: 10px; }
  .app-main { margin-left: 92px; }
  .app-brand span,.app-nav a b,.app-settings-link b,.app-nav-label,.app-profile div,.app-signup { display:none; }
  .app-brand,.app-nav a,.app-settings-link { justify-content:center; }.app-nav a span,.app-settings-link span{width:auto}.app-profile{justify-content:center}.app-profile>span{flex:0 0 34px}
  .app-dashboard-grid { grid-template-columns: 1fr 280px; }
}

@media (max-width: 820px) {
  .desktop-nav,.nav-actions,.nav-tools { display:none; }
  .mobile-menu-button { display:block; margin-left:auto; }
  .signup-journey-grid { grid-template-columns:1fr; }.signup-journey-grid article{min-height:210px;border-left:1px solid var(--line)}.signup-journey-grid h3{margin-top:35px}.signup-journey-action{align-items:flex-start;flex-direction:column}
  .app-rail { display:none; }
  .app-mobile-top { position: fixed; z-index: 120; inset: 0 0 auto; height: 62px; display: flex; align-items: center; justify-content: space-between; padding: 6px 14px; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--paper) 92%,transparent); backdrop-filter: blur(14px); }
  .app-mobile-top .app-brand { min-height:48px;padding:0}.app-mobile-top .app-brand img{width:42px;height:42px}.app-mobile-top>div{display:flex;gap:7px}
  .app-main { margin-left:0; padding:82px 18px 100px; }
  .app-bottom-nav { position:fixed;z-index:130;inset:auto 0 0;height:70px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(14px) }
  .app-bottom-nav a{display:grid;place-items:center;align-content:center;gap:3px;color:var(--ink-soft)}.app-bottom-nav a.active{color:var(--orange)}.app-bottom-nav span{font-size:19px}.app-bottom-nav b{font-size:8px}
  .app-page-head { align-items:flex-start;flex-direction:column;gap:20px;padding-top:18px}.app-page-head h1{font-size:48px;letter-spacing:-3px}.dashboard-stats{width:100%;overflow:auto}.app-dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,1fr)}.dashboard-side .gym-shortcut{grid-column:1/-1}
  .review-card{grid-template-columns:1fr}.progress-stat-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.settings-card:first-child{grid-row:auto}
}

@media (max-width: 560px) {
  .brand-phoenix{width:42px;height:42px}.brand small{left:51px}.hero-cta-row{align-items:flex-start;flex-direction:column}.hero-phoenix-crest{width:230px;right:0}.signup-journey-grid article{padding:25px}.welcome-card{padding:38px 24px}.welcome-card h1{font-size:38px}.welcome-crest{width:100px;height:100px}.welcome-crest img{width:95px}
  .app-main{padding-inline:14px}.app-page-head h1{font-size:40px}.app-dashboard-grid{gap:14px}.continue-card{grid-template-columns:1fr}.continue-phoenix{min-height:245px}.dashboard-side{grid-template-columns:1fr}.dashboard-side .gym-shortcut{grid-column:auto}.review-orb{min-width:120px}.review-card{padding:22px}.review-actions form div{grid-template-columns:repeat(2,1fr)}.progress-stat-grid{grid-template-columns:1fr 1fr}.progress-stat-grid article{min-height:120px;padding:16px}.history-list a{grid-template-columns:1fr 55px}.history-list a>span:last-child{display:none}.recovery-code-grid{grid-template-columns:1fr}.auth-language-row{grid-template-columns:1fr}.lesson-brand span{display:none}.lesson-player-top{gap:8px}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
