:root {
  --navy-950:#061127;
  --navy-900:#0a1835;
  --navy-800:#14264c;
  --ink:#15213c;
  --muted:#52617e;
  --paper:#f7f8ff;
  --white:#fff;
  --violet:#6759ed;
  --violet-dark:#4537c6;
  --violet-soft:#eceaff;
  --mint:#19c99a;
  --mint-dark:#08785c;
  --mint-soft:#dcfaef;
  --gold:#ffc955;
  --coral:#e84f5b;
  --coral-dark:#a8212c;
  --coral-soft:#fff0f1;
  --line:#d9deec;
  --shadow:0 20px 55px rgba(8,23,55,.14);
  --radius-xl:28px;
  --radius-lg:21px;
  --radius-md:15px;
  --visual-viewport-height:100dvh;
  --visual-viewport-bottom:0px;
  --player-card-width:640px;
  font-family:Inter,ui-rounded,"SF Pro Rounded","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--navy-950);scroll-behavior:auto}
body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 0,rgba(103,89,237,.25),transparent 31%),radial-gradient(circle at 96% 80%,rgba(25,201,154,.13),transparent 28%),var(--navy-950)}
body.zoom-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a[href]:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 14px;color:#fff;background:#111d3e;border-radius:10px;transform:translateY(-140%)}
.skip-link:focus{transform:none}
.app{position:relative;width:min(100%,1180px);min-height:100dvh;margin:0 auto;overflow-x:clip;background:linear-gradient(180deg,#fafaff,#f2f5ff 65%,#eefaf6);box-shadow:0 0 80px rgba(0,0,0,.35)}
.topbar{position:sticky;z-index:70;top:0;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:max(12px,env(safe-area-inset-top)) clamp(16px,4vw,36px) 10px;color:#fff;background:rgba(8,21,47,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(15px)}
.brand-button{display:flex;align-items:center;min-height:46px;padding:0 8px;color:inherit;background:transparent;border:0;border-radius:12px;cursor:pointer}
.brand-logo{display:block;width:132px;height:auto;color:#fff;filter:brightness(0) invert(1)}
.top-actions{display:flex;align-items:center;gap:8px}
.private-chip{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;color:#b9ffe9;font-size:11px;font-weight:850;background:rgba(25,201,154,.1);border:1px solid rgba(25,201,154,.28);border-radius:999px}
.private-chip i{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px rgba(25,201,154,.12)}
.icon-button,.dialog-close{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;color:#e9edff;font-weight:900;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;cursor:pointer}
.main{min-height:calc(100dvh - 70px);padding:clamp(20px,4vw,44px) clamp(16px,4vw,42px) 112px}
.main.lesson-main,.main.diagnostic-main{padding:0 0 calc(32px + max(12px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom));background:#f6f7fd}
.loading-screen{display:grid;place-items:center;align-content:center;min-height:65dvh;text-align:center}
.loading-screen p:last-child{max-width:420px;color:var(--muted)}
.loading-orb{width:58px;height:58px;margin-bottom:24px;background:conic-gradient(from 90deg,var(--mint),var(--violet),var(--mint));border:9px solid #fff;border-radius:50%;box-shadow:var(--shadow);animation:spin 1.2s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.eyebrow{margin:0 0 7px;color:var(--mint-dark);font-size:11px;font-weight:950;letter-spacing:1.35px;text-transform:uppercase}
.eyebrow.purple{color:var(--violet-dark)}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:10px;font-size:clamp(30px,6vw,52px);line-height:1.02;letter-spacing:-1.5px}
h2{margin-bottom:8px;font-size:clamp(23px,4vw,32px);line-height:1.08;letter-spacing:-.8px}
h3{margin-bottom:6px;font-size:18px}
.lede{max-width:700px;color:var(--muted);font-size:clamp(15px,2vw,18px);line-height:1.55}
.muted{color:var(--muted)}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:28px;padding:clamp(24px,5vw,56px);color:#fff;background:radial-gradient(circle at 90% 10%,rgba(25,201,154,.24),transparent 30%),linear-gradient(135deg,#101f45,#251f65);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.hero h1{max-width:700px}
.hero .lede{color:#ccd5ee}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-card{align-self:center;padding:22px;color:var(--ink);background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.55);border-radius:22px;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.hero-card .big-number{display:block;color:var(--violet-dark);font-size:48px;font-weight:950;line-height:1}
.hero-card small{display:block;margin-top:6px;color:var(--muted);font-weight:750}
.truth-list{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}
.truth-list li{display:flex;gap:9px;align-items:flex-start;color:#dfe5fa;font-size:13px}
.truth-list li:before{content:"✓";flex:0 0 22px;display:grid;place-items:center;width:22px;height:22px;color:#09203a;font-size:11px;font-weight:950;background:var(--mint);border-radius:8px}
.primary-button,.secondary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 20px;font-weight:850;border-radius:15px;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
.primary-button{color:#fff;background:linear-gradient(145deg,var(--violet),var(--violet-dark));border:0;box-shadow:0 5px 0 #3429a7}
.hero .primary-button{color:#17213c;background:linear-gradient(145deg,#61e9c3,var(--mint));box-shadow:0 5px 0 #087c5e}
.secondary-button{color:var(--violet-dark);background:var(--violet-soft);border:1px solid #d5d0ff}
.ghost-button{color:inherit;background:transparent;border:1px solid currentColor}
.danger-button{color:#fff;background:var(--coral-dark);border:0}
.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){transform:translateY(-1px)}
.primary-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #3429a7}
button:disabled{opacity:.45;cursor:not-allowed}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:40px 0 18px}
.section-heading p{max-width:620px;margin-bottom:0;color:var(--muted);line-height:1.5}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.mode-card{display:flex;flex-direction:column;min-height:255px;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 14px 35px rgba(22,35,75,.09)}
.mode-card .mode-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;color:var(--navy-900);font-size:24px;font-weight:950;background:var(--mint-soft);border-radius:17px}
.mode-card:nth-child(2) .mode-icon{color:var(--violet-dark);background:var(--violet-soft)}
.mode-card p{flex:1;color:var(--muted);line-height:1.5}
.scope-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-top:22px;background:var(--line);border:1px solid var(--line);border-radius:18px}
.scope-strip div{padding:16px;background:#fff}
.scope-strip strong,.scope-strip small{display:block}.scope-strip strong{font-size:18px}.scope-strip small{margin-top:4px;color:var(--muted);font-size:11px}
.journey-intro{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:18px}
.journey-intro h1{font-size:clamp(30px,5vw,45px)}
.momentum-card{min-width:175px;padding:18px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 25px rgba(20,38,76,.08)}
.momentum-card strong{display:block;color:var(--violet-dark);font-size:28px}.momentum-card small{color:var(--muted);font-weight:750}
.override-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px;padding:13px 16px;color:#523f00;background:#fff6d6;border:1px solid #e6c65e;border-radius:14px;font-size:12px;font-weight:750}
.worlds{position:relative;display:grid;gap:22px}
.worlds:before{content:"";position:absolute;z-index:0;top:55px;bottom:55px;left:36px;width:8px;background:repeating-linear-gradient(180deg,#cad1e3 0 11px,transparent 11px 19px);border-radius:10px}
.world-card{position:relative;z-index:1;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:start;padding:22px;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 15px 35px rgba(19,35,74,.09)}
.world-card.locked{filter:saturate(.35);background:#eef1f7}.world-card.complete{border-color:#a7e8d4}.world-card.mastered{border-color:#9f96ff;background:linear-gradient(135deg,#fff,#f3f1ff)}
.world-orb{display:grid;place-items:center;width:72px;height:72px;color:#fff;font-size:22px;font-weight:950;background:linear-gradient(145deg,#8b80ff,var(--violet));border:6px solid #eeebff;border-radius:24px;box-shadow:0 7px 0 var(--violet-dark)}
.world-card.complete .world-orb{color:var(--navy-900);background:linear-gradient(145deg,#55e2ba,var(--mint));border-color:#e1fff6;box-shadow:0 7px 0 #0b9874}
.world-card.locked .world-orb{background:#aab3c7;border-color:#dde2ed;box-shadow:0 7px 0 #8b95aa}
.world-copy{min-width:0}.world-copy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.world-copy h2{font-size:22px}.world-copy p{color:var(--muted);font-size:13px;line-height:1.45}.chapter-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0;color:var(--muted);font-size:13px}.chapter-progress-copy strong{flex:none;color:var(--navy-900)}.world-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.world-meta span,.status-chip{padding:5px 9px;color:#4f5d79;font-size:10px;font-weight:850;background:#eef1f8;border-radius:999px}.status-chip.current{color:#4c3fc8;background:#ebe9ff}.status-chip.complete{color:#08785c;background:#dcfaef}.status-chip.locked{color:#5f697e;background:#e2e6ef}.status-chip.mastered{color:#493bbd;background:#e6e3ff}
.stage-track{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.stage-node{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;color:#55617a;font-size:11px;font-weight:900;background:#edf0f7;border:2px solid #d8deea;border-radius:50%;cursor:pointer}
.stage-node.gate{border-radius:13px;transform:rotate(45deg)}.stage-node.gate span{transform:rotate(-45deg)}
.stage-node.done{color:#062b21;background:var(--mint-soft);border-color:var(--mint)}.stage-node.current{color:#fff;background:var(--violet);border-color:#d7d2ff;box-shadow:0 0 0 5px rgba(103,89,237,.12)}.stage-node.locked{color:#70798e;background:#e1e5ee;border-color:#d1d7e3;cursor:not-allowed}.stage-node.review{color:#76202a;background:var(--coral-soft);border-color:#ef8991}
.world-action{align-self:center;min-width:116px}
.progress-bar{display:block;width:100%;height:9px;margin-top:14px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#e3e7f1;border:0;border-radius:999px}.progress-bar::-webkit-progress-bar{background:#e3e7f1;border-radius:999px}.progress-bar::-webkit-progress-value{background:linear-gradient(90deg,var(--mint),#55e3bb);border-radius:999px}.progress-bar::-moz-progress-bar{background:linear-gradient(90deg,var(--mint),#55e3bb);border-radius:999px}
.chapter-hero{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:22px;padding:24px;color:#fff;background:linear-gradient(135deg,var(--navy-900),#262066);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.back-button{display:grid;place-items:center;width:48px;height:48px;color:#fff;font-size:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:15px;cursor:pointer}.chapter-hero p{margin-bottom:0;color:#ccd4ec}.chapter-badge{padding:8px 12px;color:#aaffdf;font-size:11px;font-weight:900;background:rgba(25,201,154,.1);border:1px solid rgba(25,201,154,.25);border-radius:999px}
.chapter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:22px;align-items:start}.chapter-main,.chapter-side{display:grid;gap:18px}.panel{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 30px rgba(22,35,75,.08)}
.entry-panel{position:relative;overflow:hidden}.entry-panel:before{content:"";position:absolute;top:-45px;right:-35px;width:130px;height:130px;background:rgba(103,89,237,.08);border-radius:50%}.entry-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:16px;color:#fff;font-size:25px;background:linear-gradient(145deg,#897eff,var(--violet));border-radius:20px;transform:rotate(45deg)}.entry-icon span{transform:rotate(-45deg)}.entry-panel p{color:var(--muted);line-height:1.5}.entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.practice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.practice-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;min-height:78px;padding:11px;color:var(--ink);text-align:left;background:#fff;border:2px solid #e1e5ef;border-radius:17px;cursor:pointer}.practice-row:hover:not(:disabled){border-color:#afa7ff}.practice-row.done{background:var(--mint-soft);border-color:#9ce5d0}.practice-row.review{background:var(--coral-soft);border-color:#ef9ca3}.practice-row.current{border-color:var(--violet);box-shadow:0 0 0 4px rgba(103,89,237,.09)}.practice-row .number{display:grid;place-items:center;width:42px;height:42px;color:#5143c8;font-size:12px;font-weight:950;background:var(--violet-soft);border-radius:14px}.practice-row.done .number{color:#075f49;background:#c4f4e5}.practice-row strong,.practice-row small{display:block}.practice-row strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.practice-row small{margin-top:3px;color:var(--muted);font-size:9px}.practice-row .state{font-size:16px}
.requirement-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.requirement-list li{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.requirement-list i{display:grid;place-items:center;width:25px;height:25px;color:#fff;font-style:normal;background:#aab2c4;border-radius:8px}.requirement-list li.done i{color:#073326;background:var(--mint)}
.lesson-header{position:sticky;z-index:35;top:70px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:70px;padding:10px clamp(14px,3vw,28px);background:rgba(248,249,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.lesson-header .back-button,.diagnostic-header .back-button{color:#4b5874;background:#edf0f7;border-color:#dce1eb}
.lesson-progress{display:flex;align-items:center;gap:10px;min-width:0}.lesson-meter{flex:1;min-width:0;height:10px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#e1e5ef;border:0;border-radius:999px}.lesson-meter::-webkit-progress-bar{background:#e1e5ef;border-radius:999px}.lesson-meter::-webkit-progress-value{background:linear-gradient(90deg,var(--mint),#5ce8c1);border-radius:999px}.lesson-meter::-moz-progress-bar{background:linear-gradient(90deg,var(--mint),#5ce8c1);border-radius:999px}.lesson-progress small{color:var(--muted);font-size:10px;font-weight:850;white-space:nowrap}.lesson-tools{display:flex;gap:7px}.lesson-tools button{min-width:44px;height:44px;color:#53617c;background:#edf0f7;border:1px solid #dce1eb;border-radius:13px;cursor:pointer}
.lesson-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:26px;max-width:1100px;margin:0 auto;padding:26px}.question-panel,.answer-panel{min-width:0}.question-meta{margin-bottom:13px}.question-meta h1{margin-bottom:6px;font-size:clamp(24px,4vw,35px)}.question-meta p{color:var(--muted);font-size:12px}.card-frame{position:relative;overflow:hidden;padding:9px;background:#fff;border:1px solid #d8deea;border-radius:21px;box-shadow:0 12px 30px rgba(16,31,68,.11)}.card-frame img{display:block;width:100%;height:auto;max-height:72dvh;object-fit:contain;background:#fff;border-radius:14px}.card-frame.zoomed{position:fixed;z-index:110;inset:12px;display:grid;place-items:center;background:rgba(5,13,31,.96);border:0}.card-frame.zoomed img{max-width:1100px;max-height:calc(100dvh - 50px);width:auto}.zoom-button{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:48px;height:48px;color:#fff;font-size:20px;background:rgba(8,21,47,.86);border:1px solid rgba(255,255,255,.25);border-radius:15px;cursor:pointer}
.answer-panel{position:sticky;top:166px;align-self:start;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 30px rgba(16,31,68,.09)}.answer-panel h2{font-size:23px}.selection-note{color:var(--muted);font-size:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:18px 0}.choice-button{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:11px;min-height:66px;padding:10px 13px;color:var(--ink);text-align:left;background:#fff;border:2px solid #dce1ec;border-radius:17px;box-shadow:0 4px 0 #d0d6e3;cursor:pointer}.choice-button span:first-child{display:grid;place-items:center;width:36px;height:36px;color:var(--violet-dark);font-size:13px;font-weight:950;background:var(--violet-soft);border-radius:11px}.choice-button.selected{background:var(--violet-soft);border-color:var(--violet);box-shadow:0 4px 0 #a69df3}.choice-button.correct{background:var(--mint-soft);border-color:var(--mint);box-shadow:0 4px 0 #0a9a73}.choice-button.wrong{background:var(--coral-soft);border-color:var(--coral);box-shadow:0 4px 0 #c23b46}.choice-button:disabled{opacity:1;cursor:default}.choice-outcome{grid-column:1/-1;color:var(--muted);font-size:10px;font-weight:900}.lesson-submit{width:100%}.unsure-button{width:100%;min-height:46px;margin-top:8px;color:#4f5d78;font-size:12px;font-weight:800;background:transparent;border:0;border-radius:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.unsure-button:hover{background:#f0f1f8}
.feedback-card{margin-top:18px;padding:18px;background:linear-gradient(180deg,#f0fff9,#fff);border:1px solid #9de6d1;border-radius:18px}.feedback-card.wrong{background:linear-gradient(180deg,#fff4f5,#fff);border-color:#f0a1a7}.feedback-card.reveal{background:linear-gradient(180deg,#fff9e9,#fff);border-color:#e9ce78}.feedback-title{display:flex;align-items:center;gap:11px}.feedback-title i{display:grid;place-items:center;width:38px;height:38px;color:#fff;font-style:normal;font-weight:950;background:var(--mint-dark);border-radius:13px}.feedback-card.wrong .feedback-title i{background:var(--coral-dark)}.feedback-card.reveal .feedback-title i{color:#3e3100;background:var(--gold)}.feedback-card p{color:var(--muted);font-size:12px;line-height:1.5}.answer-image{display:block;width:100%;height:auto;margin:14px 0;background:#fff;border:1px solid var(--line);border-radius:14px}.feedback-card .primary-button{width:100%}
.gate-banner{padding:12px 16px;color:#4e400a;background:#fff6d8;border-bottom:1px solid #e4cd7b;font-size:12px;font-weight:800;text-align:center}.gate-result{max-width:680px;margin:70px auto;padding:34px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.gate-score{display:grid;place-items:center;width:110px;height:110px;margin:0 auto 22px;color:#fff;font-size:30px;font-weight:950;background:linear-gradient(145deg,#8377ff,var(--violet));border:9px solid #eeebff;border-radius:34px;transform:rotate(45deg)}.gate-score span{transform:rotate(-45deg)}
.diagnostic-shell{max-width:980px;margin:0 auto}.diagnostic-header{position:sticky;z-index:35;top:70px;display:grid;grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px clamp(14px,3vw,26px);background:rgba(248,249,255,.97);border-bottom:1px solid var(--line)}.diagnostic-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;padding:26px}.diagnostic-copy{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.diagnostic-copy .choice-grid{margin-top:24px}.assessment-note{padding:12px;color:#4f5d78;font-size:11px;background:#edf0f8;border-radius:12px}.diagnostic-result{max-width:760px;margin:50px auto;padding:clamp(24px,5vw,48px);background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow);text-align:center}.result-secondary{margin-left:8px}.result-score{display:grid;place-items:center;width:124px;height:124px;margin:0 auto 24px;color:#fff;font-size:34px;font-weight:950;background:linear-gradient(145deg,#8377ff,var(--violet));border-radius:38px}.signal-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0;text-align:left}.signal-row{padding:13px;background:#f3f5fa;border-radius:13px}.signal-row strong,.signal-row small{display:block}.signal-row small{margin-top:4px;color:var(--muted)}.signal-row.stronger{background:var(--mint-soft)}.signal-row.weaker{background:var(--coral-soft)}
.review-empty{display:grid;place-items:center;min-height:420px;padding:34px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl)}.empty-icon{display:grid;place-items:center;width:84px;height:84px;margin-bottom:20px;color:var(--violet-dark);font-size:35px;background:var(--violet-soft);border-radius:28px}.review-list{display:grid;gap:12px}.review-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:18px}.review-row.required{border-color:#efa0a7;background:#fffafa}.review-row .review-index{display:grid;place-items:center;width:44px;height:44px;color:#fff;font-size:12px;font-weight:900;background:var(--violet);border-radius:14px}.review-row strong,.review-row small{display:block}.review-row small{margin-top:3px;color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:11px;font-weight:800}.stat-card strong{margin:7px 0 3px;font-size:27px}.stat-card small{color:var(--muted);font-size:10px}.chapter-progress-list{display:grid;gap:10px}.progress-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:17px}.progress-row .chapter-number{display:grid;place-items:center;width:46px;height:46px;color:#fff;font-size:11px;font-weight:950;background:var(--violet);border-radius:15px}.progress-row strong,.progress-row small{display:block}.progress-row small{margin-top:3px;color:var(--muted)}
.bottom-nav{position:fixed;z-index:75;bottom:0;left:50%;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,620px);min-height:76px;padding:8px 15px max(8px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -12px 35px rgba(13,26,60,.14);backdrop-filter:blur(15px);transform:translateX(-50%)}.bottom-nav button{position:relative;display:grid;place-items:center;align-content:center;gap:2px;min-height:56px;color:#626e87;background:transparent;border:0;border-radius:14px;cursor:pointer}.bottom-nav button>span{font-size:23px;font-weight:950}.bottom-nav button small{font-size:10px;font-weight:850}.bottom-nav button.selected{color:var(--violet-dark);background:var(--violet-soft)}.bottom-nav i{position:absolute;top:3px;right:calc(50% - 26px);display:grid;place-items:center;width:19px;height:19px;color:#fff;font-size:9px;font-style:normal;background:var(--coral-dark);border:2px solid #fff;border-radius:50%}
.toast{position:fixed;z-index:150;left:50%;bottom:92px;max-width:min(92%,520px);padding:13px 18px;color:#fff;font-size:12px;font-weight:800;text-align:center;background:rgba(8,21,47,.96);border:1px solid rgba(255,255,255,.16);border-radius:999px;box-shadow:0 15px 35px rgba(0,0,0,.25);transform:translateX(-50%)}
.dialog{width:min(calc(100% - 28px),620px);max-height:88dvh;padding:0;background:transparent;border:0}.dialog::backdrop{background:rgba(4,11,28,.75);backdrop-filter:blur(5px)}.dialog-shell{overflow:auto;max-height:88dvh;padding:25px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 28px 90px rgba(0,0,0,.38)}.dialog-shell>header{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-close{flex:0 0 44px;color:#4c5873;background:#edf0f7;border-color:#dce1eb;font-size:25px}.review-checklist{display:grid;gap:12px;padding-left:23px;color:var(--muted);line-height:1.5}.review-checklist strong{color:var(--ink)}.scope-note{margin:20px 0;padding:15px;color:#5c4a0b;background:#fff7db;border:1px solid #ead27d;border-radius:14px}.scope-note p{margin:5px 0 0;font-size:12px;line-height:1.5}.dialog-shell>.primary-button{width:100%}.control-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px;margin:11px 0;padding:15px;background:#f5f6fb;border:1px solid var(--line);border-radius:15px}.control-card p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.danger-card{background:var(--coral-soft);border-color:#f1aab0}.build-facts{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:20px 0 0;padding:14px;color:var(--muted);font-size:11px;background:#f5f6fb;border-radius:14px}.build-facts dt{font-weight:850}.build-facts dd{margin:0;overflow-wrap:anywhere}.dialog label{display:block;margin:14px 0 6px;font-size:12px;font-weight:850}.dialog select,.dialog textarea{width:100%;padding:12px;color:var(--ink);background:#fff;border:2px solid #dce1ec;border-radius:13px}.report-context{padding:11px;color:#4f5c77;font-size:11px;background:#f0f2f8;border-radius:11px;overflow-wrap:anywhere}.report-receipt{min-height:20px;margin:11px 0 0;color:var(--mint-dark);font-size:12px;font-weight:850}
.error-screen{display:grid;place-items:center;min-height:60dvh;text-align:center}.error-screen div{max-width:560px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.error-screen code{display:block;margin:15px 0;padding:12px;color:#8c1d27;background:var(--coral-soft);border-radius:11px;overflow-wrap:anywhere}
@media(min-width:1000px){
  .bottom-nav{top:7px;bottom:auto;width:420px;min-height:56px;padding:0;background:transparent;border:0;border-radius:16px;box-shadow:none;backdrop-filter:none}
  .bottom-nav button{min-height:54px;color:#cbd4ec}
  .bottom-nav button.selected{color:#fff;background:rgba(103,89,237,.28)}
  .bottom-nav i{border-color:var(--navy-900)}
}
@media(max-width:850px){
  .hero{grid-template-columns:1fr}.hero-card{display:none}.scope-strip{grid-template-columns:repeat(2,1fr)}.world-card{grid-template-columns:62px 1fr}.world-orb{width:62px;height:62px}.world-action{grid-column:2}.chapter-layout{grid-template-columns:1fr}.lesson-grid,.diagnostic-body{grid-template-columns:1fr}.answer-panel{position:static}.card-frame img{max-height:none}.stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .private-chip{display:none}.main{padding-left:14px;padding-right:14px}.section-heading{display:block}.section-heading>div{margin-bottom:10px}.section-heading p{max-width:none}.hero{padding:25px 20px;border-radius:22px}.hero-actions{display:grid}.hero-actions button{width:100%}.mode-grid{grid-template-columns:1fr}.scope-strip{grid-template-columns:repeat(2,1fr)}.journey-intro{grid-template-columns:1fr}.momentum-card{display:flex;align-items:center;justify-content:space-between;text-align:left}.worlds:before{left:29px}.world-card{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:17px}.world-orb{width:58px;height:58px;border-radius:19px}.world-copy header{display:block}.world-copy h2{font-size:19px}.world-action{grid-column:1/-1;width:100%}.practice-list{grid-template-columns:1fr}.chapter-hero{grid-template-columns:44px 1fr;padding:17px}.chapter-badge{grid-column:2;justify-self:start}.lesson-header{top:70px;grid-template-columns:44px minmax(0,1fr);padding:9px 12px}.lesson-tools{grid-column:1/-1;justify-content:flex-end}.lesson-grid{padding:16px 12px}.answer-panel{padding:17px}.diagnostic-header{top:70px}.diagnostic-body{padding:16px 12px}.signal-list{grid-template-columns:1fr}.review-row{grid-template-columns:auto 1fr}.review-row button{grid-column:1/-1;width:100%}.stat-grid{grid-template-columns:1fr 1fr}.control-card{grid-template-columns:1fr}.control-card button{width:100%}.bottom-nav{width:100%;border-left:0;border-right:0}.question-meta h1{font-size:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(prefers-contrast:more){:root{--muted:#33415f;--line:#aeb7ca}.world-card,.panel,.mode-card,.stat-card{border-width:2px}}

/* Customer-facing v2: one clear entry point, engineering chapters, and direct-on-card answers. */
.home-screen{max-width:1040px;margin:0 auto}
.home-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:center;gap:28px;min-height:430px;padding:clamp(30px,6vw,64px);color:#fff;background:radial-gradient(circle at 85% 15%,rgba(25,201,154,.22),transparent 30%),linear-gradient(135deg,#0b1a3a,#262066);border-radius:var(--radius-xl);box-shadow:var(--shadow)}
.home-copy{position:relative;z-index:2}.home-copy h1{max-width:610px;margin-bottom:16px}.home-copy .lede{max-width:560px;color:#d4dcf1}
.hero-pill{display:inline-flex;margin-bottom:18px;padding:7px 11px;color:#abffe4;font-size:11px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;background:rgba(25,201,154,.11);border:1px solid rgba(25,201,154,.28);border-radius:999px}
.hero-primary{min-width:220px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 14px;color:inherit;font-weight:850;background:transparent;border:0;border-radius:13px;cursor:pointer}.text-button:hover{background:rgba(255,255,255,.08)}
.quick-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.quick-facts span{padding:7px 10px;color:#ced8ef;font-size:11px;font-weight:750;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:999px}
.hero-graphic{position:relative;display:grid;place-items:center;min-height:270px}.score-preview,.hero-score{position:relative;z-index:2;display:grid;place-items:center;width:190px;height:190px;padding:22px;text-align:center;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.5);border-radius:52px;box-shadow:0 24px 55px rgba(0,0,0,.24);transform:rotate(2deg)}.score-preview span,.score-preview strong,.score-preview small,.hero-score strong,.hero-score small{display:block}.score-preview span{color:var(--violet-dark);font-size:13px;font-weight:900}.score-preview strong,.hero-score strong{color:var(--navy-900);font-size:58px;line-height:1}.score-preview small,.hero-score small{color:var(--violet-dark);font-size:12px;font-weight:900;letter-spacing:1px}.signal-ring{position:absolute;border:2px solid rgba(97,233,195,.3);border-radius:50%}.ring-one{width:250px;height:250px}.ring-two{width:320px;height:320px;border-style:dashed;opacity:.65}.signal-dot{position:absolute;z-index:3;width:13px;height:13px;background:var(--mint);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.25)}.dot-one{top:42px;right:48px}.dot-two{bottom:48px;left:35px}.dot-three{right:30px;bottom:75px}
.practice-preview{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-top:20px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:21px;box-shadow:0 12px 30px rgba(22,35,75,.07)}.practice-preview h2{margin:0;font-size:clamp(23px,4vw,31px)}.practice-preview .eyebrow{margin-bottom:5px}.topic-chips{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.topic-chips span{display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 12px;color:var(--ink);font-size:11px;font-weight:850;background:#f5f6fb;border:1px solid #e4e7f0;border-radius:14px}.topic-chips i{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;color:var(--violet-dark);font-size:14px;font-style:normal;background:var(--violet-soft);border-radius:9px}
.chapter-preview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.chapter-preview{min-height:124px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:17px}.chapter-preview span,.chapter-preview strong{display:block}.chapter-preview span{margin-bottom:15px;color:var(--violet-dark);font-size:11px;font-weight:950}.chapter-preview strong{font-size:14px;line-height:1.35}.trust-row{display:flex;justify-content:center;gap:18px;margin:22px 0 0;color:var(--muted);font-size:12px;font-weight:750}
.journey-intro.minimal{grid-template-columns:1fr auto;margin-bottom:24px}.journey-intro.minimal p{margin:0;color:var(--muted)}
.chapter-list{display:grid;gap:12px}.chapter-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:17px;width:100%;min-height:100px;padding:17px 19px;color:var(--ink);text-align:left;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 25px rgba(20,38,76,.07);cursor:pointer}.chapter-row:hover:not(:disabled){border-color:#aea6ff;transform:translateY(-1px)}.chapter-row:disabled{opacity:.68}.chapter-row .chapter-number{display:grid;place-items:center;width:54px;height:54px;color:#fff;font-size:13px;font-weight:950;background:linear-gradient(145deg,#8478ff,var(--violet));border-radius:18px}.chapter-row.complete .chapter-number,.chapter-row.mastered .chapter-number{color:#073a2d;background:linear-gradient(145deg,#61e9c3,var(--mint))}.chapter-row.locked .chapter-number{color:#59657d;background:#dfe3ec}.chapter-row strong,.chapter-row small{display:block}.chapter-row strong{font-size:18px}.chapter-row small{margin-top:5px;color:var(--muted);font-size:12px}.chapter-state{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:850}.chapter-state i{display:grid;place-items:center;width:35px;height:35px;color:var(--violet-dark);font-size:18px;font-style:normal;background:var(--violet-soft);border-radius:12px}.chapter-row:disabled .chapter-state i{color:#737e91;background:#eceef3}.chapter-microcopy{margin:14px 4px 0;color:var(--muted);font-size:12px;text-align:center}
.header-label{color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.4px;white-space:nowrap}
.player-shell{display:grid;justify-items:center;gap:16px;max-width:940px;margin:0 auto;padding:clamp(14px,3vw,28px);padding-bottom:calc(92px + max(12px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom))}
.interactive-card{position:relative;overflow:hidden;width:min(100%,640px,var(--player-card-width));min-width:260px;margin:0;background:#fff;border:1px solid #d8deea;border-radius:20px;box-shadow:0 16px 40px rgba(16,31,68,.14)}.interactive-card>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;background:#fff}
.card-choice-hit{position:absolute;display:block;padding:0;background:transparent;border:3px solid transparent;border-radius:clamp(8px,2.1vw,15px);cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.card-choice-hit:hover:not(:disabled){background:rgba(103,89,237,.08);border-color:rgba(103,89,237,.45)}.card-choice-hit.selected{background:rgba(103,89,237,.15);border-color:var(--violet);box-shadow:inset 0 0 0 2px rgba(255,255,255,.65)}.card-choice-hit.correct{background:rgba(25,201,154,.17);border-color:var(--mint-dark)}.card-choice-hit.wrong{background:rgba(232,79,91,.16);border-color:var(--coral)}.card-choice-hit:disabled{opacity:1;cursor:default}.card-choice-hit:focus,.card-choice-hit:focus-visible{outline:4px solid var(--gold);outline-offset:-5px}.card-choice-hit i{position:absolute;top:6px;right:7px;display:none;place-items:center;width:28px;height:28px;color:#fff;font-size:15px;font-style:normal;font-weight:950;background:var(--violet);border:2px solid #fff;border-radius:50%;box-shadow:0 4px 10px rgba(8,21,47,.2)}.card-choice-hit.selected i,.card-choice-hit.correct i,.card-choice-hit.wrong i{display:grid}.card-choice-hit.correct i{background:var(--mint-dark)}.card-choice-hit.wrong i{background:var(--coral-dark)}
.mobile-question-card{display:grid;gap:12px;width:min(100%,640px);margin:0}.mobile-question-visual{position:relative;overflow:hidden;width:100%;background:#fff;border:1px solid #d8deea;border-radius:16px;box-shadow:0 8px 22px rgba(16,31,68,.08)}.mobile-question-visual>img{position:absolute;top:0;left:0;display:block;width:100%;max-width:none;height:auto;background:#fff}.mobile-choice-grid{display:grid;gap:10px;width:100%}.mobile-choice-grid.single-column{grid-template-columns:1fr}.mobile-choice-grid.paired-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-choice{display:grid;place-items:center;overflow:hidden;width:100%;min-width:0;min-height:64px;padding:7px;background:#fff;border:3px solid #d8deea;border-radius:15px;box-shadow:0 4px 0 #cfd5e2;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}@media(hover:hover) and (pointer:fine){.mobile-choice:hover:not(:disabled){border-color:#a9a1f6}}.mobile-choice:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #cfd5e2}.mobile-choice.selected{border-color:var(--violet);box-shadow:0 4px 0 #8f84ed,0 0 0 3px rgba(103,89,237,.12)}.mobile-choice.correct{border-color:var(--mint-dark);box-shadow:0 4px 0 #08785c,0 0 0 3px rgba(25,201,154,.12)}.mobile-choice.wrong{border-color:var(--coral);box-shadow:0 4px 0 #b72e39,0 0 0 3px rgba(232,79,91,.1)}.mobile-choice:disabled{opacity:1;cursor:default}.mobile-choice:focus,.mobile-choice:focus-visible{outline:4px solid var(--gold);outline-offset:2px}.mobile-choice-crop{position:relative;display:block;overflow:hidden;width:100%;pointer-events:none}.mobile-choice-crop>img{position:absolute;top:0;left:0;display:block;max-width:none;height:auto;transform-origin:0 0;background:#fff}
.corpus-question-card{width:min(100%,640px)}.corpus-question-visual{border:2px solid #cbd9e7;border-radius:16px;box-shadow:none}.corpus-question-visual>img{filter:none}
.player-actions{position:sticky;z-index:32;bottom:calc(max(10px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom));display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:min(100%,640px);padding:12px 14px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 26px rgba(16,31,68,.14);backdrop-filter:blur(12px)}.player-actions>span{margin-right:auto;color:var(--muted);font-size:12px;font-weight:800}.player-actions .primary-button{min-width:150px}.player-actions .unsure-button{width:auto;min-height:44px;margin:0;padding:0 10px}
.player-shell>.feedback-card{width:min(100%,640px);margin-top:0}.feedback-title h2{margin:0;font-size:21px}.feedback-title p{margin:3px 0 0}.feedback-card .answer-image{border-radius:17px}
.diagnostic-shell{max-width:none}.diagnostic-player{min-height:calc(var(--visual-viewport-height) - 140px)}
.diagnostic-result{max-width:720px;margin-bottom:calc(112px + max(12px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom))}.diagnostic-result>h1{font-size:clamp(30px,5vw,45px)}.result-score{display:grid;place-items:center}.result-score strong{font-size:52px;line-height:1}.signal-list{max-width:560px;margin-left:auto;margin-right:auto}.signal-row{text-align:left}.signal-row strong{font-size:12px;text-transform:uppercase;letter-spacing:.6px}.signal-row small{font-size:15px;font-weight:800}.result-share{margin:18px 0}.result-offer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;margin-top:24px;padding:22px;color:#fff;text-align:left;background:linear-gradient(135deg,var(--navy-900),#262066);border-radius:20px}.result-offer-copy{max-width:470px;margin:0;color:#d3dcf0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.45}.result-offer .eyebrow{color:#aaffdf}.result-offer .primary-button{white-space:nowrap}

@media(max-width:850px){.home-hero{grid-template-columns:1fr}.hero-graphic{display:none}.topic-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-chips span:last-child{grid-column:1/-1}.chapter-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-preview:last-child{grid-column:1/-1}.interactive-card{width:min(100%,560px,var(--player-card-width))}.result-offer{grid-template-columns:1fr}.result-offer .primary-button{width:100%}}
@media(max-width:560px){.home-hero{min-height:auto;padding:30px 21px;border-radius:22px}.home-copy h1{font-size:38px}.home-hero .hero-actions{display:grid}.home-hero .hero-actions button{width:100%}.quick-facts{justify-content:center}.practice-preview{grid-template-columns:1fr;padding:19px}.practice-preview>.secondary-button{width:100%}.topic-chips{grid-template-columns:1fr}.topic-chips span:last-child{grid-column:auto}.chapter-preview-grid{grid-template-columns:1fr}.chapter-preview:last-child{grid-column:auto}.trust-row{display:grid;gap:6px;text-align:center}.journey-intro.minimal{grid-template-columns:1fr}.journey-intro.minimal .secondary-button{width:100%}.chapter-row{grid-template-columns:48px minmax(0,1fr);gap:13px;padding:15px}.chapter-row .chapter-number{width:48px;height:48px}.chapter-state{grid-column:2;justify-content:space-between}.chapter-state i{display:none}.lesson-header,.diagnostic-header{top:70px;grid-template-columns:44px minmax(0,1fr) auto;padding:9px 12px}.lesson-tools{grid-column:auto}.header-label{font-size:9px}.player-shell{padding:12px 9px;padding-bottom:calc(145px + max(12px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom))}.player-shell>.player-actions{position:static}.player-shell>.player-actions.ready{position:fixed;z-index:60;left:50%;bottom:calc(max(9px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom));width:calc(100% - 18px);margin:0;transform:translateX(-50%)}.interactive-card{min-width:0;width:min(100%,var(--player-card-width))}.player-actions{display:grid;grid-template-columns:1fr 1fr;padding:10px}.player-actions>span{grid-column:1/-1;margin:0;text-align:center}.player-actions .primary-button{min-width:0}.player-actions .unsure-button{width:100%}.diagnostic-player .player-actions{grid-template-columns:1fr}.diagnostic-player .player-actions .primary-button{width:100%}.result-offer{padding:19px}.diagnostic-result{margin:22px auto calc(118px + max(12px,env(safe-area-inset-bottom)) + var(--visual-viewport-bottom));padding:22px 16px}.result-score{width:110px;height:110px;border-radius:32px}.result-score strong{font-size:44px}.signal-list{grid-template-columns:1fr}}

/* Timed diagnostic v3: a quiet invitation, learner-controlled navigation, and visible urgency. */
.app[data-standalone-score="true"] .top-actions{display:none}
.diagnostic-intro{display:grid;place-items:center;align-content:center;min-height:calc(var(--visual-viewport-height) - 70px);padding:clamp(36px,9vw,88px) clamp(20px,6vw,56px);text-align:center;background:radial-gradient(circle at 50% 22%,rgba(103,89,237,.12),transparent 34%),linear-gradient(180deg,#fbfbff,#f3f6ff)}
.diagnostic-intro h1{max-width:720px;margin:0 auto 16px;font-size:clamp(38px,7vw,68px);line-height:1.01}
.diagnostic-intro .lede{max-width:560px;margin:0 auto;color:var(--muted);font-size:clamp(16px,2.4vw,20px)}
.diagnostic-meta{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px 0 30px;color:#4c5973;font-size:13px;font-weight:850}
.diagnostic-meta i{color:var(--violet);font-style:normal}
.diagnostic-start{min-width:180px;min-height:56px;font-size:17px}
.quiz-timer{position:relative;display:grid;place-items:center;width:58px;height:58px;color:var(--violet-dark)}
.quiz-timer svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.quiz-timer circle{fill:none;stroke-width:4.2}
.quiz-timer .timer-track{stroke:#dfe3ef}
.quiz-timer .timer-ring{stroke:var(--violet);stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .25s linear,stroke .2s ease}
.quiz-timer span{position:relative;font-size:10px;font-weight:950;letter-spacing:-.2px}
.quiz-timer.warning{color:#8a6500}.quiz-timer.warning .timer-ring{stroke:#e2a900}
.quiz-timer.urgent{color:var(--coral-dark)}.quiz-timer.urgent .timer-ring{stroke:var(--coral)}
.diagnostic-actions{display:grid;grid-template-columns:1fr}
.diagnostic-actions.has-back{grid-template-columns:minmax(110px,.42fr) minmax(170px,1fr)}
.diagnostic-actions .primary-button,.diagnostic-actions .diagnostic-back{width:100%}
.result-score{align-content:center;gap:8px;width:154px;height:154px;border-radius:45px}
.result-score strong{display:block}
.result-score small{display:block;max-width:120px;color:#f0efff;font-size:11px;font-weight:850;line-height:1.25}

@media(max-width:560px){
  .diagnostic-intro{min-height:calc(var(--visual-viewport-height) - 70px);padding:42px 22px calc(48px + env(safe-area-inset-bottom))}
  .diagnostic-intro h1{font-size:clamp(36px,11vw,49px)}
  .diagnostic-header{min-height:68px}
  .quiz-timer{width:52px;height:52px}
  .quiz-timer span{font-size:9px}
  .diagnostic-player .diagnostic-actions.has-back{grid-template-columns:minmax(92px,.44fr) minmax(0,1fr)}
  .diagnostic-player .diagnostic-actions{gap:8px}
  .result-score{width:140px;height:140px;border-radius:40px}
  .result-score strong{font-size:46px}
}

/* Compact mobile diagnostic: one screen, 2x2 answers, action in normal flow. */
@media(max-width:560px){
  .app[data-quiz-active="true"] .topbar{display:none}
  .app[data-quiz-active="true"] .diagnostic-main{padding-bottom:0}
  .app[data-quiz-active="true"] .diagnostic-header{top:0;grid-template-columns:64px minmax(0,1fr) 44px;gap:8px;min-height:52px;padding:4px 8px}
  .app[data-quiz-active="true"] .diagnostic-header .back-button{width:44px;height:44px;border-radius:13px}
  .app[data-quiz-active="true"] .quiz-timer{width:44px;height:44px}
  .app[data-quiz-active="true"] .quiz-timer span{font-size:8px}
  .diagnostic-player{min-height:0;gap:6px;padding:6px 9px calc(6px + env(safe-area-inset-bottom))}
  .diagnostic-player .mobile-question-card{gap:6px}
  .diagnostic-player .mobile-question-visual{justify-self:center}
  .diagnostic-player .mobile-choice-grid.single-column,.diagnostic-player .mobile-choice-grid.paired-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .diagnostic-player .mobile-choice{min-height:52px;padding:3px;border-width:2px;border-radius:12px;box-shadow:0 2px 0 #cfd5e2}
  .diagnostic-player>.diagnostic-actions,.diagnostic-player>.diagnostic-actions.ready{position:static;inset:auto;display:grid;width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;transform:none}
  .diagnostic-player>.diagnostic-actions .primary-button,.diagnostic-player>.diagnostic-actions .diagnostic-back{min-height:48px;border-radius:13px}
}

/* Mobile assessment v4: complete figures, exact viewport lock, and an anchored footer. */
@media(max-width:560px){
  html.quiz-active,html.quiz-active body{height:var(--visual-viewport-height);min-height:0;overflow:hidden;overscroll-behavior:none}
  body.quiz-active .app{height:var(--visual-viewport-height);min-height:0;overflow:hidden}
  body.quiz-active .main{height:var(--visual-viewport-height);min-height:0;padding:0;overflow:hidden}
  body.quiz-active .diagnostic-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
  body.quiz-active .diagnostic-header{position:relative;top:auto;min-height:52px;padding:max(4px,env(safe-area-inset-top)) 8px 4px}
  body.quiz-active .diagnostic-player{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;justify-items:stretch;width:100%;max-width:none;height:100%;min-height:0;margin:0;gap:4px;padding:4px 9px calc(4px + env(safe-area-inset-bottom));overflow:hidden}
  body.quiz-active .diagnostic-player .mobile-question-card{display:grid;grid-template-rows:minmax(0,1fr) auto;align-content:stretch;height:100%;min-height:0;gap:4px;overflow:hidden}
  body.quiz-active .diagnostic-player .mobile-question-visual{align-self:center;justify-self:center;max-width:100%}
  body.quiz-active .diagnostic-player .mobile-choice-grid.single-column,body.quiz-active .diagnostic-player .mobile-choice-grid.paired-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  body.quiz-active .diagnostic-player .mobile-choice{min-height:52px}
  body.quiz-active .diagnostic-player>.diagnostic-actions,body.quiz-active .diagnostic-player>.diagnostic-actions.ready{position:static;align-self:end;grid-template-columns:minmax(92px,.44fr) minmax(0,1fr);gap:8px;width:100%;height:48px;min-height:48px;margin:0;padding:0;overflow:visible}
  body.quiz-active .diagnostic-player>.diagnostic-actions .primary-button,body.quiz-active .diagnostic-player>.diagnostic-actions .diagnostic-back{height:48px;min-height:48px}

  html.diagnostic-result-active,html.diagnostic-result-active body{height:var(--visual-viewport-height);min-height:0;overflow:hidden;overscroll-behavior:none}
  body.diagnostic-result-active .app{height:var(--visual-viewport-height);min-height:0;overflow:hidden}
  .app[data-result-active="true"] .diagnostic-main{height:calc(var(--visual-viewport-height) - 70px);min-height:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom));overflow:hidden}
  .app[data-result-active="true"] .diagnostic-result{display:grid;align-content:center;gap:5px;width:100%;height:100%;max-width:720px;margin:0 auto;padding:12px 14px}
  .app[data-result-active="true"] .diagnostic-result>.eyebrow,.app[data-result-active="true"] .diagnostic-result>h1{margin:0}
  .app[data-result-active="true"] .diagnostic-result>h1{font-size:32px}
  .app[data-result-active="true"] .result-score{width:128px;height:128px;margin:0 auto;border-radius:36px}
  .app[data-result-active="true"] .result-score strong{font-size:43px}
  .app[data-result-active="true"] .result-share{margin:0}
  .app[data-result-active="true"] .result-share .secondary-button{width:100%;min-height:48px}
  .app[data-result-active="true"] .result-offer{grid-template-columns:1fr;gap:6px;margin:0;padding:12px 16px;text-align:center}
  .app[data-result-active="true"] .result-offer .eyebrow{margin-bottom:3px}
  .app[data-result-active="true"] .result-offer-copy{max-width:none;font-size:14px;line-height:1.4}
  .app[data-result-active="true"] .result-offer .primary-button{width:100%;min-height:64px;padding-inline:18px;font-size:20px;font-weight:950;line-height:1.08}
}

/* Assessment v5: one responsive composition, exact source pixels, and stable large screens. */
.app[data-quiz-active="true"] .topbar{display:none}
body.quiz-active .main.diagnostic-main{padding:0;background:#f6f7fd}
body.quiz-active .diagnostic-header{top:0;min-height:64px;padding:6px clamp(12px,2.5vw,24px)}
body.quiz-active .quiz-timer{width:52px;height:52px}
body.quiz-active .diagnostic-player{width:100%;max-width:none;min-height:calc(var(--visual-viewport-height) - 64px);padding:clamp(10px,2vw,20px);padding-bottom:clamp(10px,2vw,20px)}
.assessment-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:center;gap:clamp(16px,2.2vw,28px);width:100%;max-width:1120px;min-height:calc(var(--visual-viewport-height) - 104px);margin:0 auto}
.assessment-visual-crop{position:relative;justify-self:center;overflow:hidden;max-width:100%;margin:0;background:#fff;border:0;border-radius:14px;box-shadow:none}
.assessment-visual-crop>img{position:absolute;top:0;left:0;display:block;max-width:none;height:auto;transform-origin:0 0;background:#fff;filter:contrast(1.07) brightness(1.035) saturate(.98)}
.assessment-controls{display:grid;align-content:center;gap:14px;width:100%;min-width:0}
.diagnostic-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.assessment-layout .mobile-choice{display:grid;place-items:center;overflow:hidden;min-width:0;min-height:50px;padding:0;background:transparent;border:3px solid transparent;border-radius:14px;box-shadow:none}
@media(hover:hover) and (pointer:fine){
  .assessment-layout .mobile-choice:hover:not(:disabled){border-color:rgba(103,89,237,.45)}
}
.assessment-layout .mobile-choice:active:not(:disabled){transform:translateY(1px);box-shadow:none}
.assessment-layout .mobile-choice.selected{background:var(--violet-soft);border-color:var(--violet);border-width:3px;box-shadow:0 0 0 2px rgba(103,89,237,.16)}
.assessment-layout .mobile-choice.selected .diagnostic-choice-label{background:var(--violet-dark)}
.assessment-layout .mobile-choice-crop{width:100%;border-radius:10px}
.assessment-layout .diagnostic-actions,.assessment-layout .diagnostic-actions.ready{position:static;inset:auto;display:grid;grid-template-columns:minmax(104px,.42fr) minmax(0,1fr);gap:10px;width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;transform:none}
.assessment-layout .diagnostic-actions .primary-button,.assessment-layout .diagnostic-actions .diagnostic-back{width:100%;min-height:52px;border-radius:14px}
.assessment-layout .diagnostic-actions .primary-button,
.assessment-layout .diagnostic-actions .primary-button:hover:not(:disabled),
.assessment-layout .diagnostic-actions .primary-button:active:not(:disabled){background:var(--violet);background-image:none;box-shadow:none;transform:none}

@media(min-width:561px) and (min-height:700px){
  html.quiz-active,html.quiz-active body{height:var(--visual-viewport-height);min-height:0;overflow:hidden;overscroll-behavior:none}
  body.quiz-active .app,body.quiz-active .main{height:var(--visual-viewport-height);min-height:0;overflow:hidden}
  body.quiz-active .diagnostic-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
  body.quiz-active .diagnostic-header{position:relative;top:auto}
  body.quiz-active .diagnostic-player{height:100%;min-height:0;overflow:hidden}
  body.quiz-active .assessment-layout{height:100%;min-height:0}
}

@media(min-width:900px) and (min-height:700px){
  body.quiz-active .diagnostic-choice-grid{grid-template-columns:1fr}
}

@media(max-width:560px){
  body.quiz-active .diagnostic-header{min-height:52px;padding:max(4px,env(safe-area-inset-top)) 8px 4px}
  body.quiz-active .quiz-timer{width:44px;height:44px}
  body.quiz-active .diagnostic-player{display:grid;grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-height:0;gap:0;padding:4px 9px calc(4px + env(safe-area-inset-bottom));overflow:hidden}
  body.quiz-active .assessment-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto 48px;align-content:stretch;align-items:stretch;height:100%;min-height:0;gap:4px;overflow:hidden}
  body.quiz-active .assessment-controls{display:contents}
  body.quiz-active .assessment-visual-crop{align-self:center;justify-self:center;max-width:100%;max-height:100%;border-radius:10px}
  body.quiz-active .diagnostic-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;width:100%;height:134px;min-height:134px}
  body.quiz-active .assessment-layout .mobile-choice{min-height:52px;border-width:2px;border-radius:11px}
  body.quiz-active .assessment-layout .mobile-choice-crop{border-radius:8px}
  body.quiz-active .assessment-layout .diagnostic-actions,body.quiz-active .assessment-layout .diagnostic-actions.ready{align-self:end;grid-template-columns:minmax(92px,.44fr) minmax(0,1fr);gap:8px;width:100%;height:48px;min-height:48px;overflow:visible}
  body.quiz-active .assessment-layout .diagnostic-actions .primary-button,body.quiz-active .assessment-layout .diagnostic-actions .diagnostic-back{height:48px;min-height:48px;border-radius:13px}
}

/* Assessment v6: consistent frames, native Free 10 choices, anchored actions. */
.assessment-visual-frame{
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#fff;
  border:2px solid #cbd9e7;
  border-radius:16px;
}
.assessment-visual-frame .assessment-visual-crop{max-width:100%;max-height:100%}
.diagnostic-choice-grid{grid-auto-rows:1fr;align-self:end}
.assessment-layout .mobile-choice.diagnostic-choice{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  place-items:center stretch;
  gap:8px;
  min-height:54px;
  padding:7px 9px;
  color:#17283b;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;
  font-weight:750;
  line-height:1.16;
  text-align:left;
  background:#fff;
  border:1px solid #cbd9e7;
  border-radius:10px;
  aspect-ratio:auto;
  transition:none;
}
.diagnostic-choice-label{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  background:#0968d8;
  border-radius:50%;
}
.diagnostic-choice-copy{min-width:0;overflow-wrap:anywhere}
.diagnostic-choice-copy i{font-family:Georgia,"Times New Roman",serif;font-weight:700}
.diagnostic-choice-copy sub{font-size:.7em;line-height:0}
.assessment-layout .mobile-choice.diagnostic-choice.selected{background:var(--violet-soft);border-color:var(--violet);border-width:3px;box-shadow:0 0 0 2px rgba(103,89,237,.16)}
.assessment-layout .mobile-choice.diagnostic-choice.selected .diagnostic-choice-label{background:var(--violet-dark)}
.assessment-layout .mobile-choice.diagnostic-choice:focus{outline:none}
.assessment-layout .mobile-choice.diagnostic-choice:focus-visible{outline:3px solid var(--violet-dark);outline-offset:2px}

@media(max-width:560px){
  .assessment-visual-frame{grid-row:1;border-radius:12px}
  .assessment-layout .mobile-choice.diagnostic-choice{
    grid-template-columns:24px minmax(0,1fr);
    gap:6px;
    padding:5px 7px;
    font-size:12px;
    line-height:1.12;
  }
  .assessment-layout .mobile-choice.selected{background:var(--violet-soft);border-color:var(--violet);border-width:3px;box-shadow:0 0 0 2px rgba(103,89,237,.16)}
  .diagnostic-choice-label{width:24px;height:24px;font-size:11px}
}

@media(min-width:900px){
  .assessment-visual-frame{grid-column:1;grid-row:1;align-self:center;justify-self:center}
  .assessment-layout .mobile-choice.diagnostic-choice{
    grid-template-columns:36px minmax(0,1fr);
    gap:14px;
    min-height:72px;
    padding:12px 16px;
    font-size:clamp(18px,1.45vw,22px);
    line-height:1.22;
    border-radius:12px;
  }
  .diagnostic-choice-label{width:36px;height:36px;font-size:16px}
  .diagnostic-result .result-offer .primary-button{
    min-height:76px;
    padding-inline:28px;
    font-size:clamp(27px,2.15vw,32px);
    line-height:1.05;
  }
}

@media(min-width:900px) and (min-height:700px){
  .assessment-controls{
    align-self:stretch;
    align-content:stretch;
    height:100%;
    min-height:0;
    grid-template-rows:minmax(0,1fr) auto;
  }
  .assessment-controls .diagnostic-choice-grid{align-self:end;height:max-content}
  .assessment-controls .diagnostic-actions{align-self:end}
}

@media(min-width:900px){
  html.diagnostic-intro-active,
  body.diagnostic-intro-active,
  html.diagnostic-result-active,
  body.diagnostic-result-active{
    width:100%;
    height:var(--visual-viewport-height);
    min-height:0;
    overflow:hidden;
    overscroll-behavior:none;
  }
  body.diagnostic-intro-active .app,
  body.diagnostic-result-active .app{
    display:flex;
    flex-direction:column;
    width:100%;
    height:var(--visual-viewport-height);
    min-height:0;
    overflow:hidden;
  }
  body.diagnostic-intro-active .main.diagnostic-main,
  body.diagnostic-result-active .main.diagnostic-main{
    flex:1 1 auto;
    width:100%;
    height:auto;
    min-height:0;
    padding:0;
    overflow:hidden;
  }
  body.diagnostic-intro-active .diagnostic-intro{
    height:100%;
    min-height:0;
  }
  body.diagnostic-result-active .diagnostic-result{
    height:auto;
    min-height:0;
    max-height:calc(100% - 32px);
    margin:16px auto;
  }
}

/* Intro/result chrome locks and CTA treatment apply to phones as well as desktop. */
html.diagnostic-intro-active,
html.diagnostic-intro-active body{
  width:100%;
  height:var(--visual-viewport-height);
  min-height:0;
  overflow:hidden;
  overscroll-behavior:none;
}
body.diagnostic-intro-active .app{
  display:flex;
  flex-direction:column;
  width:100%;
  height:var(--visual-viewport-height);
  min-height:0;
  overflow:hidden;
}
body.diagnostic-intro-active .main.diagnostic-main{
  flex:1 1 auto;
  width:100%;
  height:auto;
  min-height:0;
  padding:0;
  overflow:hidden;
}
body.diagnostic-intro-active .diagnostic-intro{
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
}
body.diagnostic-intro-active .diagnostic-start,
body.diagnostic-intro-active .diagnostic-start:hover:not(:disabled),
body.diagnostic-intro-active .diagnostic-start:active:not(:disabled){
  background:var(--violet);
  background-image:none;
  box-shadow:none;
  filter:none;
  transform:none;
}
.diagnostic-result .result-offer .primary-button,
.diagnostic-result .result-offer .primary-button:hover:not(:disabled),
.diagnostic-result .result-offer .primary-button:active:not(:disabled){
  background:var(--violet);
  background-image:none;
  box-shadow:none;
  transform:none;
}
.share-dialog{width:min(calc(100% - 28px),560px)}
.share-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.share-option{display:grid;gap:4px;min-height:92px;padding:17px;color:var(--ink);text-decoration:none;background:#f7f8ff;border:1px solid #d8dff0;border-radius:15px;transition:border-color .12s ease,background .12s ease}
.share-option:hover,.share-option:focus-visible{background:var(--violet-soft);border-color:var(--violet)}
.share-option strong{font-size:17px}
.share-option small{color:var(--muted);font-size:12px;line-height:1.35}
.purchase-main{min-height:calc(var(--visual-viewport-height) - 70px);padding:clamp(20px,5vw,56px);background:radial-gradient(circle at 50% 5%,rgba(103,89,237,.13),transparent 34%),#f5f7ff}
.purchase-page{width:min(100%,760px);margin:0 auto}
.purchase-back{margin-bottom:16px;color:var(--violet-dark)}
.purchase-card{padding:clamp(24px,5vw,52px);text-align:center;background:#fff;border:1px solid #dce2ef;border-radius:28px;box-shadow:0 24px 70px rgba(25,36,79,.14)}
.purchase-card h1{max-width:620px;margin:8px auto 14px;font-size:clamp(34px,6vw,58px);line-height:1.02}
.purchase-lede{max-width:560px;margin:0 auto;color:var(--muted);font-size:clamp(16px,2vw,20px);line-height:1.5}
.purchase-price{display:grid;place-items:center;margin:26px 0 20px}
.purchase-price strong{font-size:clamp(48px,8vw,74px);line-height:1}
.purchase-price span{margin-top:5px;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}
.purchase-features{display:grid;gap:10px;max-width:540px;margin:0 auto 26px;padding:0;text-align:left;list-style:none}
.purchase-features li{position:relative;padding-left:30px;color:#33415d;line-height:1.45}
.purchase-features li::before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:22px;height:22px;color:#075b45;font-size:12px;font-weight:950;background:var(--mint-soft);border-radius:8px}
.purchase-checkout{width:min(100%,440px);min-height:62px;font-size:18px}
.purchase-preview-note{max-width:500px;margin:13px auto 0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:560px){
  .share-option-grid{grid-template-columns:1fr;gap:8px}
  .share-option{min-height:70px;padding:13px 15px}
  .purchase-main{padding:14px}
  .purchase-card{padding:24px 18px;border-radius:22px}
  .purchase-card h1{font-size:36px}
}

/* Round 3: concise result offer and a single, direct payment screen. */
.result-offer{
  grid-template-columns:1fr;
  gap:12px;
  text-align:center;
}
.result-offer-value{display:grid;gap:12px;min-width:0}
.result-offer-title{margin:0;color:#fff;font-size:clamp(20px,2.4vw,28px);font-weight:950;line-height:1.08}
.result-offer-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.result-offer-benefits li{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;gap:8px;min-height:46px;padding:8px 10px;color:#f5f7ff;font-size:12px;font-weight:850;line-height:1.2;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px}
.result-offer-benefits li::before{display:none;content:none}
.result-offer>.primary-button{width:100%}
.result-offer-terms{grid-column:1/-1;margin:0;color:#b9c7df;font-size:12px;font-weight:800;line-height:1.35;text-align:center}

.purchase-page{width:min(100%,1100px)}
.checkout-intro{max-width:760px;margin:0 auto 24px;text-align:center}
.checkout-intro h1{margin:7px 0 0;font-size:clamp(36px,5.5vw,58px);line-height:1.02}
.checkout-layout{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;align-items:start;gap:24px}
.checkout-payment-card,.purchase-value-card{background:#fff;border:1px solid #dce2ef;border-radius:24px;box-shadow:0 20px 55px rgba(25,36,79,.11)}
.checkout-payment-card{padding:clamp(20px,3vw,34px)}
.purchase-value-card{width:min(100%,920px);margin:0 auto 24px;padding:clamp(22px,3vw,32px);text-align:left}
.purchase-value-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.purchase-value-heading h2{margin:6px 0 0;font-size:clamp(27px,3vw,36px);line-height:1.06;white-space:nowrap}
.purchase-value-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:22px 0 0;padding:20px 0 0;border-top:1px solid #e3e7ef;list-style:none}
.purchase-value-list li{position:relative;padding-left:30px;color:#33415d;font-size:15px;line-height:1.4}
.purchase-value-list li::before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:22px;height:22px;color:#08705b;font-size:12px;font-weight:950;background:var(--mint-soft);border-radius:8px}
.checkout-mode-notice{display:grid;gap:3px;margin-bottom:22px;padding:12px 14px;color:#604b12;text-align:left;background:#fff7d9;border:1px solid #eedb92;border-radius:12px}
.checkout-mode-notice strong{font-size:13px}
.checkout-mode-notice span{font-size:12px;line-height:1.35}
.payment-plan-picker{display:grid;gap:10px;margin:0;padding:0;border:0}
.payment-plan-picker legend{margin-bottom:10px;color:var(--ink);font-size:19px;font-weight:950;text-align:left}
.payment-plan-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;color:var(--ink);text-align:left;background:#f8f9fd;border:2px solid #d9dfeb;border-radius:14px;cursor:pointer}
.payment-plan-option.selected{background:#f1efff;border-color:var(--violet)}
.payment-plan-option input{width:19px;height:19px;margin:0;accent-color:var(--violet)}
.payment-plan-option span{display:grid;gap:3px;min-width:0}
.payment-plan-option strong{font-size:15px}
.payment-plan-option small{color:var(--muted);font-size:12px;line-height:1.35}
.payment-plan-option b{white-space:nowrap;font-size:14px}
.express-payment{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.wallet-button{min-height:50px;padding:10px 14px;font:800 16px/1 Inter,system-ui,sans-serif;border-radius:11px;cursor:pointer}
.apple-pay{color:#fff;background:#050505;border:1px solid #050505}
.google-pay{color:#17283b;background:#fff;border:1px solid #bfc8d8}
.wallet-button:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.payment-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:20px 0;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.payment-divider::before,.payment-divider::after{content:"";height:1px;background:#dce2ef}
.card-payment-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card-field{display:grid;gap:6px;color:#33415d;font-size:12px;font-weight:850;text-align:left}
.card-name,.card-number{grid-column:1/-1}
.card-field input{width:100%;min-height:48px;padding:11px 13px;color:#62708a;font:700 15px/1 Inter,system-ui,sans-serif;background:#f8f9fd;border:1px solid #cbd4e2;border-radius:10px}
.card-field input[readonly]{cursor:not-allowed}
.checkout-submit{grid-column:1/-1;width:100%;min-height:58px;margin-top:4px;font-size:18px}
.checkout-trust{margin:14px 0 0;color:var(--muted);font-size:11px;font-weight:750;line-height:1.45;text-align:center}
.summary-price{display:grid;gap:3px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid #e3e7ef}
.summary-price strong{font-size:40px;line-height:1}
.summary-price span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}

@media(max-width:850px){
  .result-offer{grid-template-columns:1fr;text-align:center}
  .result-offer-terms{grid-column:1}
  .checkout-layout{grid-template-columns:1fr}
  .purchase-value-list{grid-template-columns:1fr}
}
@media(max-width:560px){
  .app[data-result-active="true"] .result-offer{gap:6px;padding:10px 13px}
  .app[data-result-active="true"] .result-offer-value{gap:6px}
  .app[data-result-active="true"] .result-offer-title{font-size:18px}
  .app[data-result-active="true"] .result-offer-benefits{gap:5px}
  .app[data-result-active="true"] .result-offer-benefits li{grid-template-columns:minmax(0,1fr);place-items:center;gap:5px;min-height:38px;padding:5px 6px;font-size:10px;line-height:1.15;text-align:center;border-radius:9px}
  .app[data-result-active="true"] .result-offer-benefits li::before{display:none;content:none}
  .app[data-result-active="true"] .result-offer-terms{font-size:10px;line-height:1.25}
  .app[data-result-active="true"] .result-offer .primary-button{min-height:58px;font-size:19px}
  .purchase-page{width:100%}
  .purchase-back{margin-bottom:10px}
  .checkout-intro{margin-bottom:16px}
  .checkout-intro h1{font-size:36px}
  .checkout-payment-card,.purchase-value-card{padding:18px 15px;border-radius:18px}
  .purchase-value-card{margin-bottom:16px}
  .purchase-value-heading{align-items:center;gap:12px}
  .purchase-value-heading h2{font-size:25px}

  .purchase-value-list{gap:9px;margin-top:15px;padding-top:15px}
  .payment-plan-option{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:12px}
  .payment-plan-option b{grid-column:2}
  .express-payment{gap:8px}
  .wallet-button{font-size:14px}
}

/* Normalized corpus assets are displayed without browser-side pixel filtering. */
.corpus-question-visual>img{filter:none}

/* CANONICAL WARM UI — consolidated from the accepted amber treatment. */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/static/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("/static/fonts/IBMPlexSans-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/static/fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("/static/fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --paper: #FAF8F4;
  --surface: #FFFFFF;
  --ink: #14161A;
  --ink-muted: #5A5F68;
  --hairline: #DFDAD1;
  --accent: #A85C1B;
  --progress-track: var(--hairline);
  --progress-fill: var(--accent);
  --accent-hover: #8A4914;
  --selection: #F7EDE4;
  --warning: #A87A1E;
  --urgent: #9B3A2E;
  --circuit-surface: #FBF5EF;
  --circuit-frame: #D9C9BB;
  --visual-viewport-height: 100dvh;
  color-scheme: light;
  font-family: "IBM Plex Sans", sans-serif;
}

html {
  background: var(--paper);
}

body {
  color: var(--ink);
  background: var(--paper);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.6;
}

body *,
body *::before,
body *::after {
  border-radius: 3px !important;
  box-shadow: none !important;
  background-image: none !important;
}

body button,
body input,
body select,
body textarea {
  font-family: "IBM Plex Sans", sans-serif;
}

body button,
body strong,
body h1,
body h2,
body h3,
body .eyebrow {
  font-weight: 500;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a[href]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.app {
  width: 100%;
  max-width: none;
  color: var(--ink);
  background: var(--paper);
}

.topbar {
  min-height: 70px;
  color: var(--ink);
  background: var(--paper);
  border-bottom: 1px solid var(--hairline);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  opacity: 1;
}

.brand-button {
  color: var(--ink);
  background: transparent;
}

.brand-logo {
  width: 132px;
  color: var(--ink);
  filter: none;
}

.private-chip {
  color: var(--ink-muted);
  background: var(--surface);
  border: 1px solid var(--hairline);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}

.private-chip i {
  background: var(--accent);
}

.icon-button,
.dialog-close {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.main,
.main.lesson-main,
.main.diagnostic-main {
  color: var(--ink);
  background: var(--paper);
}

h1,
h2,
h3 {
  color: var(--ink);
  font-family: "IBM Plex Sans", sans-serif;
  letter-spacing: -0.02em;
}

h1 {
  font-size: 40px;
  line-height: 1.12;
}

h2 {
  font-size: 24px;
  line-height: 1.2;
}

h3 {
  font-size: 18px;
  line-height: 1.3;
}

.lede,
.muted {
  color: var(--ink-muted);
}

.eyebrow,
.eyebrow.purple {
  color: var(--accent);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: none;
}

.primary-button,
.secondary-button,
.ghost-button,
.danger-button,
.text-button {
  min-height: 50px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
  font-weight: 500;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
  transform: none;
}

.primary-button,
.primary-button:hover:not(:disabled),
.primary-button:active:not(:disabled) {
  color: #FFFFFF;
  background: var(--accent);
  border-color: var(--accent);
  transform: none;
}

.primary-button:hover:not(:disabled),
.primary-button:active:not(:disabled) {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.secondary-button:hover:not(:disabled),
.ghost-button:hover:not(:disabled),
.text-button:hover:not(:disabled) {
  color: var(--accent-hover);
  background: var(--surface);
  border-color: var(--accent-hover);
  transform: none;
}

button:disabled {
  color: #8C8F94;
  background: #F0EEE9;
  border-color: var(--hairline);
  opacity: 1;
}

.loading-screen {
  color: var(--ink);
  background: var(--paper);
}

.loading-orb {
  width: 36px;
  height: 36px;
  background: var(--paper);
  border: 3px solid var(--hairline);
  border-top-color: var(--accent);
  border-radius: 50% !important;
}

/* Free 10 invitation */
.diagnostic-intro {
  place-items: start;
  align-content: center;
  min-height: calc(var(--visual-viewport-height) - 70px);
  padding: 64px max(24px, calc((100vw - 720px) / 2));
  text-align: left;
  background: var(--paper);
}

.diagnostic-intro h1 {
  max-width: 680px;
  margin: 8px 0 16px;
  font-size: 40px;
  line-height: 1.12;
}

.diagnostic-intro .lede {
  max-width: 620px;
  margin: 0;
  font-size: 19px;
  line-height: 1.5;
}

.diagnostic-meta {
  justify-content: flex-start;
  width: min(100%, 620px);
  margin: 24px 0;
  padding: 12px 0;
  color: var(--ink-muted);
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  font-weight: 400;
}

.diagnostic-meta i {
  color: var(--ink-muted);
}

.diagnostic-intro:not(.is-continuing) .diagnostic-intro-actions {
  justify-self: center;
}

.diagnostic-intro.is-continuing {
  place-items: center;
  text-align: center;
}

.diagnostic-intro.is-continuing h1,
.diagnostic-intro.is-continuing .lede {
  margin-inline: auto;
}

.diagnostic-continue-timer {
  display: grid;
  place-items: center;
  width: 112px;
  height: auto;
  min-height: 112px;
  row-gap: 8px;
  margin: 26px auto 0;
}

.diagnostic-continue-timer .quiz-timer {
  flex: none;
  width: 112px;
  height: 112px;
}

.diagnostic-continue-timer .quiz-timer span {
  font-size: 19px;
}

.diagnostic-intro.is-continuing .diagnostic-start {
  justify-self: center;
  margin-top: 26px;
}

.diagnostic-start,
body.diagnostic-intro-active .diagnostic-start,
body.diagnostic-intro-active .diagnostic-start:hover:not(:disabled),
body.diagnostic-intro-active .diagnostic-start:active:not(:disabled) {
  min-width: 180px;
  min-height: 52px;
  color: #FFFFFF;
  background: var(--accent);
  border: 1px solid var(--accent);
  font-size: 17px;
  font-weight: 500;
}

body.diagnostic-intro-active .diagnostic-start:hover:not(:disabled),
body.diagnostic-intro-active .diagnostic-start:active:not(:disabled) {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

/* Free 10 question interface */
body.quiz-active .main.diagnostic-main {
  background: var(--paper);
}

body.quiz-active .diagnostic-header {
  grid-template-columns: minmax(64px, auto) minmax(0, 1fr) auto;
  column-gap: 16px;
  min-height: 64px;
  color: var(--ink);
  background: var(--paper);
  border-bottom: 1px solid var(--hairline);
}

.lesson-progress small,
.quiz-timer,
.diagnostic-choice-label {
  font-family: "IBM Plex Mono", monospace;
}

.lesson-progress small {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 500;
}

.lesson-meter {
  height: 5px;
  background: var(--progress-track);
  border: 0;
}

.lesson-meter::-webkit-progress-bar {
  background: var(--progress-track);
}

.lesson-meter::-webkit-progress-value {
  background: var(--progress-fill);
}

.lesson-meter::-moz-progress-bar {
  background: var(--progress-fill);
}

.quiz-timer {
  color: var(--ink);
}

.quiz-timer .timer-track {
  stroke: var(--progress-track);
}

.quiz-timer .timer-ring {
  stroke: var(--progress-fill);
  stroke-linecap: square;
}

.quiz-timer .timer-ring-desktop {
  stroke-opacity: 1;
}

.quiz-timer .timer-ring-phone {
  display: none;
  fill: none;
  stroke-dasharray: none;
  stroke-width: 4.2;
}

.quiz-timer span {
  font-size: 10px;
  font-weight: 500;
}

.quiz-timer.warning,
.quiz-timer.warning .timer-ring {
  color: var(--warning);
  stroke: var(--warning);
}

.quiz-timer.urgent,
.quiz-timer.urgent .timer-ring {
  color: var(--urgent);
  stroke: var(--urgent);
}

.diagnostic-header .back-button {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

body.quiz-active .diagnostic-player {
  background: var(--paper);
}

.assessment-layout {
  max-width: 1120px;
  margin-inline: auto;
  justify-self: center;
}

.assessment-visual-frame {
  background: var(--surface);
  border: 1px solid var(--circuit-frame);
}

.assessment-visual-crop,
.assessment-visual-crop > img,
.corpus-question-visual > img {
  background: var(--circuit-surface);
  filter: none;
}

.assessment-layout .mobile-choice.diagnostic-choice {
  min-height: 54px;
  padding: 8px 10px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline) !important;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  transition: none;
}

@media (hover: hover) and (pointer: fine) {
  .assessment-layout .mobile-choice.diagnostic-choice:hover:not(:disabled) {
    background: #FCFBF8;
    border-color: var(--accent);
  }
}

.diagnostic-choice-label {
  width: 28px;
  height: 28px;
  color: #FFFFFF;
  background: var(--accent);
  font-size: 12px;
  font-weight: 500;
}

.assessment-layout .mobile-choice.diagnostic-choice.selected,
.assessment-layout .mobile-choice.diagnostic-choice.selected:hover:not(:disabled) {
  color: var(--ink);
  background: var(--selection) !important;
  border: 1px solid var(--accent) !important;
}

.assessment-layout .mobile-choice.diagnostic-choice.selected .diagnostic-choice-label {
  color: #FFFFFF;
  background: var(--accent-hover);
}

.assessment-layout .mobile-choice.diagnostic-choice:focus {
  outline: none;
}

.assessment-layout .mobile-choice.diagnostic-choice:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.assessment-layout .diagnostic-actions,
.assessment-layout .diagnostic-actions.ready {
  background: transparent;
  border: 0;
}

.assessment-layout .diagnostic-actions .primary-button:not(:disabled),
.assessment-layout .diagnostic-actions .primary-button:hover:not(:disabled),
.assessment-layout .diagnostic-actions .primary-button:active:not(:disabled) {
  color: #FFFFFF;
  background: var(--accent);
  border: 1px solid var(--accent);
}

.assessment-layout .diagnostic-actions .primary-button:hover:not(:disabled),
.assessment-layout .diagnostic-actions .primary-button:active:not(:disabled) {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.assessment-layout .diagnostic-actions .primary-button:disabled {
  color: #827C72;
  background: #E8E4DC;
  border: 1px solid #D6D0C6;
  cursor: not-allowed;
}

.assessment-layout .diagnostic-actions .diagnostic-back {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

/* Free 10 result */
.diagnostic-result {
  max-width: 720px;
  color: var(--ink);
  text-align: left;
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.diagnostic-result > h1 {
  margin: 6px 0 20px;
  font-size: 40px;
  font-weight: 500;
}

.result-score {
  align-content: center;
  width: 154px;
  height: 154px;
  margin: 0 0 24px;
  color: var(--accent-hover);
  background: var(--selection);
  border: 1px solid var(--accent);
}

.result-score strong,
.result-score small {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
}

.result-score strong {
  font-size: 50px;
}

.result-score small {
  max-width: 128px;
  color: var(--ink-muted);
  font-size: 11px;
}

.result-offer {
  gap: 12px;
  padding: 20px;
  color: var(--ink);
  text-align: left;
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.result-offer-title {
  color: var(--ink);
  font-size: 24px;
  font-weight: 500;
}

.result-progression {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  width: 100%;
  margin: 0;
  text-align: center;
}

.result-progression-step {
  min-width: 0;
  text-align: center;
}

.result-offer-benefits {
  gap: 0;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
}

.result-offer-benefits li {
  display: grid;
  place-items: center;
  min-height: 44px;
  padding: 8px 12px;
  color: var(--ink);
  background: var(--surface);
  border: 0;
  border-right: 1px solid var(--hairline);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}

.result-offer-benefits li:last-child {
  border-right: 0;
}

.result-offer-benefits li::before {
  display: none;
  content: none;
}

.diagnostic-result .result-offer .primary-button {
  min-height: 56px;
  font-size: 18px;
  font-weight: 500;
}

.diagnostic-result .result-offer .primary-button,
.diagnostic-result .result-offer .primary-button:hover:not(:disabled),
.diagnostic-result .result-offer .primary-button:active:not(:disabled) {
  color: #FFFFFF;
  background: var(--accent);
  border: 1px solid var(--accent);
  transform: none;
}

.diagnostic-result .result-offer .primary-button:hover:not(:disabled),
.diagnostic-result .result-offer .primary-button:active:not(:disabled) {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.result-offer-terms {
  color: var(--ink-muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 400;
  text-align: center;
}

.result-term-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px 8px;
  align-items: center;
  width: 100%;
}

.result-term {
  min-width: 0;
  text-align: center;
}

.result-share {
  margin: 16px 0 0;
}

.result-share .secondary-button {
  color: var(--accent-hover);
  background: var(--surface);
  border: 1px solid var(--accent);
}

/* Full Access checkout */
.purchase-main {
  min-height: calc(var(--visual-viewport-height) - 70px);
  padding: 36px max(20px, calc((100vw - 800px) / 2)) 64px;
  background: var(--paper);
}

.purchase-page {
  width: min(100%, 800px);
  margin: 0 auto;
}

.purchase-back {
  --purchase-back-gap: 20px;
}

.purchase-back,
.purchase-back:hover:not(:disabled),
.purchase-back:active:not(:disabled) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 var(--purchase-back-gap);
  padding: 0;
  color: var(--accent-hover);
  text-decoration: none;
  background: transparent;
  border-color: transparent;
  transform: none;
}

.checkout-intro {
  max-width: none;
  margin: 0 0 24px;
  padding: 0 0 20px;
  text-align: left;
  border-bottom: 1px solid var(--hairline);
}

.checkout-intro h1 {
  margin: 6px 0 0;
  font-size: 40px;
  font-weight: 500;
  line-height: 1.12;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.checkout-payment-card,
.purchase-value-card {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.purchase-value-card {
  width: 100%;
  margin: 0 0 20px;
  padding: 24px;
  text-align: left;
}

.checkout-payment-card {
  padding: 24px;
}

.checkout-account-gate {
  margin-top: 22px;
  padding: clamp(22px, 4vw, 32px);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper);
  text-align: center;
}

.checkout-account-gate h3 {
  margin: 8px 0 10px;
  font-size: clamp(24px, 4vw, 32px);
}

.checkout-account-gate > p:not(.eyebrow) {
  margin: 0 auto;
  max-width: 520px;
  color: var(--muted);
}

.checkout-account-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
}

.checkout-account-actions a {
  min-width: 150px;
  text-decoration: none;
}

.purchase-value-heading {
  align-items: end;
}

.purchase-value-heading h2 {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 28px;
  font-weight: 500;
  line-height: 1.15;
  white-space: nowrap;
}

.purchase-value-list {
  gap: 12px 24px;
  margin: 20px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--hairline);
}

.purchase-value-list li {
  padding-left: 28px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.purchase-value-list li::before {
  width: 20px;
  height: 20px;
  color: #FFFFFF;
  background: var(--accent);
  font-size: 11px;
  font-weight: 500;
}

.checkout-mode-notice {
  gap: 3px;
  margin-bottom: 22px;
  padding: 12px 14px;
  color: #6E531A;
  background: #F8F1DF;
  border: 1px solid #D9C58A;
}

.checkout-mode-notice strong {
  font-size: 13px;
  font-weight: 500;
}

.checkout-mode-notice span {
  font-size: 12px;
  line-height: 1.4;
}

.payment-plan-picker {
  gap: 10px;
}

.payment-plan-picker legend {
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 19px;
  font-weight: 500;
  text-align: left;
}

.payment-plan-option {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 14px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.payment-plan-option:hover {
  background: #FCFBF8;
  border-color: var(--accent);
}

.payment-plan-option.selected {
  background: var(--selection);
  border-color: var(--accent);
}

.payment-plan-option.single-payment-summary {
  grid-template-columns: minmax(0, 1fr);
  cursor: default;
}

.payment-plan-option.single-payment-summary:hover {
  background: var(--selection);
  border-color: var(--accent);
}

.payment-plan-option input {
  accent-color: var(--accent);
}

.payment-plan-option strong,
.payment-plan-option b {
  font-weight: 500;
}

.payment-plan-copy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px !important;
  min-width: 0;
}

.payment-plan-heading {
  grid-column: 1 / -1;
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
}

.payment-plan-due {
  grid-column: 1 / -1;
  color: var(--ink);
  font-family: "IBM Plex Mono", monospace;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15;
}

.payment-plan-detail,
.payment-plan-total {
  color: var(--ink-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

.payment-plan-detail {
  grid-column: 1;
}

.payment-plan-total {
  grid-column: 2;
  text-align: right;
  white-space: nowrap;
}

.payment-plan-option small {
  color: var(--ink-muted);
}

.payment-plan-option b {
  font-family: "IBM Plex Mono", monospace;
}

.express-payment {
  gap: 10px;
  margin-top: 20px;
}

.wallet-button {
  min-height: 50px;
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  transform: none;
}

.wallet-button:hover,
.wallet-button:active {
  transform: none;
}

.google-pay {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.google-pay:hover {
  border-color: var(--accent);
}

.wallet-button:focus-visible {
  outline-color: var(--accent);
}

.payment-divider {
  color: var(--ink-muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.payment-divider::before,
.payment-divider::after {
  background: var(--hairline);
}

.card-field {
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
}

.card-field input {
  min-height: 48px;
  color: var(--ink-muted);
  background: #F5F2EC;
  border: 1px solid var(--hairline);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
}

.card-field input:focus {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.checkout-submit,
.checkout-submit:hover:not(:disabled),
.checkout-submit:active:not(:disabled) {
  min-height: 58px;
  color: #FFFFFF;
  background: var(--accent);
  border: 1px solid var(--accent);
  font-size: 18px;
  font-weight: 500;
  transform: none;
}

.checkout-submit:hover:not(:disabled),
.checkout-submit:active:not(:disabled) {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
}

.checkout-trust {
  color: var(--ink-muted);
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 400;
}

/* Sharing and fallback dialogs */
.dialog::backdrop {
  background: rgba(20, 22, 26, 0.72);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.dialog-shell,
.share-option,
.control-card,
.scope-note,
.report-context {
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--hairline);
}

.share-option:hover,
.share-option:focus-visible {
  color: var(--accent-hover);
  background: #FCFBF8;
  border-color: var(--accent);
}

.share-option small,
.control-card p {
  color: var(--ink-muted);
}

.toast {
  color: #FFFFFF;
  background: var(--ink);
  border: 1px solid var(--ink);
  font-weight: 500;
}

@media (min-width: 561px) {
  .result-score {
    margin-inline: auto;
  }
}

@media (min-width: 900px) {
  .assessment-layout .mobile-choice.diagnostic-choice {
    min-height: 72px;
    padding: 12px 16px;
    font-size: clamp(17px, 1.35vw, 20px);
  }

  .diagnostic-choice-label {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }

  .diagnostic-result .result-offer .primary-button {
    font-size: 28px;
  }
}

@media (max-width: 560px) {
  body {
    font-size: 16px;
  }

  .diagnostic-intro {
    justify-content: stretch;
    padding: 40px 20px calc(40px + env(safe-area-inset-bottom));
  }

  .diagnostic-intro:not(.is-continuing) .diagnostic-intro-actions {
    justify-self: center;
  }

  .diagnostic-intro:not(.is-continuing) .diagnostic-start,
  body.diagnostic-intro-active .diagnostic-intro:not(.is-continuing) .diagnostic-start,
  body.diagnostic-intro-active .diagnostic-intro:not(.is-continuing) .diagnostic-start:hover:not(:disabled),
  body.diagnostic-intro-active .diagnostic-intro:not(.is-continuing) .diagnostic-start:active:not(:disabled) {
    justify-self: center;
  }

  .diagnostic-continue-timer {
    width: 104px;
    height: auto;
    min-height: 104px;
  }

  .diagnostic-continue-timer .quiz-timer {
    width: 104px;
    height: 104px;
  }

  .diagnostic-continue-timer .quiz-timer span {
    font-size: 17px;
  }

  .diagnostic-intro h1 {
    max-width: 350px;
    margin-bottom: 12px;
    font-size: 32px;
    line-height: 1.14;
  }

  .diagnostic-intro .lede {
    font-size: 17px;
    line-height: 1.45;
  }

  .diagnostic-meta {
    margin: 20px 0;
    font-size: 13px;
  }

  body.quiz-active .assessment-layout {
    width: 100%;
    margin-inline: auto;
    justify-self: center;
  }

  body.quiz-active .diagnostic-header {
    min-height: 52px;
  }

  .assessment-layout .mobile-choice.diagnostic-choice {
    min-height: 52px;
    padding: 5px 7px;
    font-size: 12px;
    line-height: 1.12;
  }

  .diagnostic-choice-label {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }

  .app[data-result-active="true"] .diagnostic-result {
    gap: 4px;
    padding: 12px 14px;
  }

  .app[data-result-active="true"] .diagnostic-result > h1 {
    font-size: 30px;
  }

  .app[data-result-active="true"] .result-score {
    width: 124px;
    height: 124px;
    margin-inline: 0;
    margin-bottom: 4px;
  }

  .app[data-result-active="true"] .result-score strong {
    font-size: 42px;
  }

  .app[data-result-active="true"] .result-offer {
    gap: 6px;
    padding: 10px 12px;
  }

  .app[data-result-active="true"] .result-offer-title {
    font-size: 17px;
  }

  .app[data-result-active="true"] .result-offer-benefits li {
    min-height: 38px;
    padding: 5px 6px;
    font-size: 12px;
    font-weight: 500;
  }

  .app[data-result-active="true"] .result-offer-terms {
    font-size: 11px;
    line-height: 1.2;
  }

  .app[data-result-active="true"] .result-term-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2px 8px;
  }

  .app[data-result-active="true"] .diagnostic-result .result-offer .primary-button {
    min-height: 54px;
    font-size: 18px;
    font-weight: 500;
  }

  .purchase-main {
    padding: 18px 14px calc(36px + env(safe-area-inset-bottom));
  }

  .purchase-back {
    --purchase-back-gap: 12px;
  }

  .checkout-intro {
    margin-bottom: 16px;
    padding-bottom: 16px;
  }

  .checkout-intro h1 {
    font-size: 32px;
  }

  .checkout-payment-card,
  .purchase-value-card {
    padding: 16px;
  }

  .purchase-value-card {
    margin-bottom: 14px;
  }

  .purchase-value-heading h2 {
    font-size: 24px;
  }

  .purchase-value-list {
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 15px;
    padding-top: 15px;
  }

  .payment-plan-option {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    padding: 12px;
  }

  .payment-plan-due {
    font-size: 21px;
  }

  .payment-plan-detail,
  .payment-plan-total {
    font-size: 11px;
  }

  .wallet-button {
    font-size: 14px;
  }
}

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


/* Canonical warm Free 10 corrections — 2026-07-31. */
.home-hero .lede,
.quick-facts span{
  color:var(--ink-muted);
}
.quick-facts span{
  background:var(--surface);
  border-color:var(--hairline);
}
.status-chip.locked{
  color:var(--ink-muted);
}
.result-score{
  justify-self:center;
  margin-inline:auto!important;
}
.result-offer-benefits>li{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  justify-items:center;
  gap:1px;
  min-width:0;
  text-align:center;
}
.result-offer-benefits>li>span{
  display:block;
  width:100%;
  white-space:nowrap;
  text-align:center;
}
.payment-plan-option .payment-plan-heading{
  font-size:15px;
  font-weight:500;
}
.payment-plan-option .payment-plan-due{
  font-family:"IBM Plex Mono",monospace;
  font-size:24px;
  font-weight:500;
  line-height:1.15;
}
.payment-plan-option .payment-plan-detail,
.payment-plan-option .payment-plan-total{
  font-size:12px;
  font-weight:400;
  line-height:1.35;
}
@media(max-width:560px){
  .payment-plan-option .payment-plan-due{
    font-size:21px;
  }
  .payment-plan-option .payment-plan-detail,
  .payment-plan-option .payment-plan-total{
    font-size:11px;
  }
  .app[data-result-active="true"] .result-offer-benefits>li{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    align-items:center;
    justify-items:center;
    gap:1px;
  }
  body.quiz-active .diagnostic-header{
    grid-template-columns:64px minmax(0,1fr) 44px;
    column-gap:12px;
    min-height:48px;
    padding:3px 8px;
  }
  body.quiz-active .diagnostic-player{
    padding:0 9px calc(4px + env(safe-area-inset-bottom));
  }
  .quiz-timer .timer-ring-desktop{
    stroke-opacity:0;
  }
  .quiz-timer .timer-ring-phone{
    display:inline;
    stroke-opacity:1;
  }
  body.quiz-active .diagnostic-player .mobile-question-card.assessment-layout{
    gap:6px;
    padding:6px 0 2px;
  }
  body.quiz-active .assessment-visual-frame{
    align-self:center;
    justify-self:stretch;
    width:100%;
  }
  body.quiz-active .diagnostic-player .mobile-choice-grid.diagnostic-choice-grid{
    gap:6px;
    height:126px;
    min-height:126px;
  }
  body.quiz-active .assessment-layout .diagnostic-actions,
  body.quiz-active .assessment-layout .diagnostic-actions.ready{
    gap:6px;
  }
  .app[data-result-active="true"] .diagnostic-result{
    justify-items:center;
  }
  .app[data-result-active="true"] .diagnostic-result>.result-offer,
  .app[data-result-active="true"] .diagnostic-result>.result-share{
    justify-self:stretch;
    width:100%;
  }
}

/* Launch trust: support is available globally without cluttering login or checkout. */
.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;padding:24px clamp(18px,4vw,42px) calc(30px + env(safe-area-inset-bottom));color:#5f5b55;background:#f1eee8;border-top:1px solid #ded9d0;font-size:13px;font-weight:650}
.site-footer a,.account-page a:not(.primary-button),.error-support a,.checkout-legal a{color:#9a4f12;text-underline-offset:3px}
.error-support{margin:18px 0 0!important;color:var(--muted);font-size:13px}
.checkout-legal{max-width:560px;margin:10px auto 0;color:#66615a;font-size:12px;line-height:1.5;text-align:center}
.account-success{margin:14px 0;padding:11px 13px;color:#075f49;background:#e5f8ef;border:1px solid #a8dfca;border-radius:10px}
@media(max-width:560px){.site-footer{gap:18px;padding-top:20px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.checkout-legal{font-size:11px}}

/* Customer-final Stripe Elements checkout. Stripe owns all sensitive payment fields. */
.stripe-elements-shell{margin-top:22px;padding-top:22px;border-top:1px solid var(--hairline)}
.stripe-payment-form{display:grid;gap:18px}
.checkout-email-field{display:grid;gap:7px;text-align:left}
.checkout-email-field label{margin:0;color:var(--ink);font-size:13px;font-weight:500;line-height:1.35}
.checkout-email-field input{width:100%;min-height:50px;padding:12px 13px;color:var(--ink);background:#fffdf8;border:1px solid #d8cbbb;border-radius:8px;font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;font-weight:400;line-height:1.25}
.checkout-email-field input:focus{outline:2px solid rgba(168,92,27,.35);outline-offset:2px;border-color:var(--accent)}
.checkout-email-field input[readonly]{color:#55504a;background:#f5f2ec;cursor:default}
.express-checkout-section{display:block;margin:0;padding:0;border:0}
#expressCheckoutElement,.stripe-payment-element{width:100%;min-width:0}
.stripe-payment-element{min-height:164px}
.stripe-payment-element.is-ready{min-height:0}
.stripe-field-loader{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:14px;color:var(--ink-muted);background:#fffdf8;border:1px solid var(--hairline);border-radius:8px;font-size:13px;text-align:center}
.stripe-field-loader p{margin:0}
.stripe-field-loader span{width:20px;height:20px;flex:0 0 20px;border:2px solid var(--hairline);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}
.checkout-method-divider{height:1px;background:var(--hairline)}
.stripe-elements-shell .checkout-submit{width:100%;margin-top:2px}
.stripe-elements-shell .checkout-submit.is-processing{display:flex;align-items:center;justify-content:center;gap:10px;color:#f7f4ed;background:#8a8781;border-color:#8a8781;cursor:wait;opacity:1}
.button-spinner{width:17px;height:17px;flex:0 0 17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.checkout-field-label{margin:0;color:var(--ink);font-size:13px;font-weight:500;line-height:1.35}
.checkout-locked-field{display:flex;align-items:center;width:100%;min-height:50px;padding:12px 13px;color:#55504a;background:#f0ede7;border:1px solid #d8cbbb;border-radius:8px;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.checkout-locked-payment{display:grid;gap:10px;min-height:164px;padding:18px;background:#f3f0ea;border:1px solid var(--hairline);border-radius:8px;opacity:.72}
.checkout-locked-payment span{display:block;height:42px;background:linear-gradient(90deg,#e1ddd5,#ece8e0,#e1ddd5);border-radius:6px}
.checkout-locked-payment span:nth-child(2){width:72%}
.checkout-locked-payment span:nth-child(3){width:46%}
.stripe-elements-shell.is-processing #paymentElement,.stripe-elements-shell.is-processing #expressCheckoutSection{pointer-events:none;opacity:.62}
.checkout-loading{margin:0;color:var(--ink-muted);font-size:13px;line-height:1.45;text-align:center}
.checkout-loading.is-error{color:#9b3a2e}
.checkout-retry{justify-self:center;min-height:40px;margin:-8px 0 0;padding:0 10px;color:var(--accent-hover);font-size:13px}
.checkout-trust{display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:var(--ink-muted);font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:400;line-height:1.45;text-align:center}
.checkout-trust span{display:grid;place-items:center;width:20px;height:20px;color:var(--accent);border:1px solid var(--hairline);border-radius:50%}
@media(max-width:560px){
  .stripe-elements-shell{margin-top:18px;padding-top:18px}
  .stripe-payment-form{gap:16px}
  .checkout-email-field input{min-height:48px}
  .stripe-field-loader{min-height:58px;padding:12px;font-size:12px}
}
