:root{--bg:#f6f4ef;--surface:#fff;--surface-soft:#edf7f4;--ink:#17201d;--muted:#61706b;--line:#d9e1dd;--accent:#168a75;--accent-dark:#0d5f52;--amber:#b86b12;--rose:#a9364f;--shadow:0 24px 70px #2028251c;--explainer-bg:#f5f5f7;--explainer-foreground:#151517;--explainer-muted:#6e6e73;--explainer-panel:#ffffffd1;--explainer-panel-strong:#fff;--explainer-line:#0000001a;--explainer-accent:#0a84ff;--explainer-accent-dark:#006edb;--explainer-success:#1f8f59;--explainer-warning:#b25a00;--explainer-danger:#c9342f;--explainer-shadow:0 24px 80px #0000001f}*{box-sizing:border-box}html{scroll-behavior:smooth}#top,#module,#sources{scroll-margin-top:88px}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0}.app-shell{min-height:100vh}.launcher-shell{min-height:100vh;padding:clamp(22px,4vw,52px)}.launcher-hero{gap:14px;max-width:980px;margin:0 auto clamp(22px,4vw,38px);display:grid}.launcher-kicker{color:var(--accent-dark);text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.86rem;font-weight:800;display:inline-flex}.launcher-hero h1{max-width:720px;color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(2.75rem,7vw,5.2rem);line-height:.98}.launcher-hero p{color:#44534e;max-width:760px;margin:0;font-size:clamp(1.03rem,1.8vw,1.24rem);line-height:1.55}.launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:980px;margin:0 auto;display:grid}.launcher-card{border:1px solid var(--line);background:var(--surface);min-height:220px;box-shadow:var(--shadow);border-radius:8px;grid-template-columns:auto 1fr;gap:18px;padding:clamp(20px,3vw,28px);transition:transform .17s,border-color .17s,box-shadow .17s;display:grid}.launcher-card:hover{border-color:#168a757a;transform:translateY(-2px);box-shadow:0 28px 80px #20282524}.launcher-card-icon{color:#fff;background:#17201d;border-radius:8px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.launcher-card-copy{align-content:start;gap:10px;display:grid}.launcher-card-copy small,.launcher-card-action em{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-style:normal;font-weight:800}.launcher-card-copy strong{color:var(--ink);font-size:clamp(1.8rem,3.4vw,2.55rem);line-height:1}.launcher-card-copy span{color:#4b5955;line-height:1.5}.launcher-card-action{border-top:1px solid var(--line);color:var(--accent-dark);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font-weight:800;display:flex}.explainer-shell{min-height:100vh;color:var(--explainer-foreground);background:linear-gradient(135deg,#ffffffeb,#edeff2b8),linear-gradient(#f7f7f9 0%,#eceff2 100%);padding:clamp(24px,4vw,56px)}.explainer-back-link{border:1px solid var(--explainer-line);color:#242428;background:#ffffffb8;border-radius:999px;align-items:center;gap:8px;min-height:42px;margin-bottom:22px;padding:10px 14px;font-weight:750;display:inline-flex}.explainer-back-link:hover{background:#fff}.explainer-workspace{width:min(1180px,100%);margin:0 auto}.explainer-title-block{max-width:700px;margin-bottom:clamp(28px,5vw,52px)}.explainer-eyebrow,.explainer-panel-kicker,.explainer-meta-row,.explainer-count{color:var(--explainer-muted);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:700}.explainer-eyebrow{color:var(--explainer-accent-dark);align-items:center;gap:8px;margin-bottom:14px;display:inline-flex}.explainer-title-block h1,.explainer-title-block h2,.explainer-title-block p,.explainer-panel-heading h2,.explainer-empty-state p,.explainer-notice p{margin:0}.explainer-title-block h1{letter-spacing:0;max-width:680px;font-size:clamp(3.25rem,9vw,7rem);font-weight:780;line-height:.9}.explainer-title-block p{color:#3c3c41;max-width:620px;margin-top:20px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.45}.explainer-tool-grid{grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);align-items:stretch;gap:18px;display:grid}.explainer-input-panel,.explainer-result-panel{border:1px solid var(--explainer-line);background:var(--explainer-panel);min-height:580px;box-shadow:var(--explainer-shadow);-webkit-backdrop-filter:blur(28px)saturate(1.25);backdrop-filter:blur(28px)saturate(1.25);border-radius:24px;padding:clamp(20px,3vw,30px)}.explainer-input-panel{flex-direction:column;display:flex}.explainer-result-panel{background:#ffffffe6;flex-direction:column;display:flex}.explainer-panel-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.explainer-panel-heading h2{letter-spacing:0;margin-top:5px;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:760;line-height:1.1}.explainer-count{border:1px solid var(--explainer-line);background:#ffffffb8;border-radius:999px;justify-content:center;align-items:center;min-width:48px;min-height:32px;display:inline-flex}.explainer-count.explainer-invalid{color:var(--explainer-danger);border-color:#c9342f47}.explainer-link-field{flex-direction:column;flex:1;gap:12px;min-height:360px;display:flex}.explainer-link-field span{color:#2c2c30;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:inline-flex}.explainer-link-field textarea{resize:vertical;border:1px solid var(--explainer-line);width:100%;min-height:360px;color:var(--explainer-foreground);background:#ffffffbd;border-radius:18px;outline:none;flex:1;padding:18px;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.94rem;line-height:1.55;transition:border-color .16s,box-shadow .16s,background .16s}.explainer-link-field textarea:focus{background:#fff;border-color:#0a84ffb8;box-shadow:0 0 0 4px #0a84ff21}.explainer-link-field textarea::placeholder{color:#9a9aa0}.explainer-inline-error{color:var(--explainer-danger);margin-top:12px;font-size:.92rem;line-height:1.4}.explainer-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.explainer-primary-button,.explainer-icon-button{cursor:pointer;border:0;justify-content:center;align-items:center;transition:transform .14s,opacity .14s,background .14s;display:inline-flex}.explainer-primary-button{color:#fff;background:linear-gradient(180deg, var(--explainer-accent), var(--explainer-accent-dark));border-radius:999px;flex:1;gap:9px;min-height:48px;font-weight:760;box-shadow:0 14px 30px #0a84ff47}.explainer-icon-button{border:1px solid var(--explainer-line);color:#242428;background:#ffffffb8;border-radius:999px;flex:0 0 44px;width:44px;height:44px}.explainer-primary-button:hover:not(:disabled),.explainer-icon-button:hover:not(:disabled){transform:translateY(-1px)}.explainer-primary-button:disabled,.explainer-icon-button:disabled{cursor:not-allowed;opacity:.46}.explainer-spin{animation:.9s linear infinite spin}.explainer-empty-state,.explainer-notice{min-height:360px;color:var(--explainer-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.explainer-empty-state p,.explainer-notice p{max-width:340px;font-size:1rem;line-height:1.5}.explainer-notice.explainer-error{color:var(--explainer-danger)}.explainer-answer{flex-direction:column;flex:1;min-height:0;display:flex}.explainer-answer-text{color:#18181b;font-size:clamp(1.08rem,2vw,1.28rem);line-height:1.65}.explainer-answer-text p+p{margin-top:1em}.explainer-source-list{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.explainer-source-chip{border:1px solid var(--explainer-line);color:#242428;background:#f5f5f7d1;border-radius:999px;align-items:center;gap:7px;max-width:100%;min-height:34px;padding:7px 11px;text-decoration:none;display:inline-flex}.explainer-source-chip span{color:var(--explainer-muted);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:800}.explainer-source-chip strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:700;overflow:hidden}.explainer-source-chip.fulfilled svg{color:var(--explainer-success)}.explainer-source-chip.rejected svg{color:var(--explainer-warning)}.explainer-meta-row{flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:28px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f4efeb;border-bottom:1px solid #d9e1ddcc;justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(18px,4vw,56px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark,.small-icon{color:#f7f1e7;background:#17201d;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{font-size:.98rem}.brand small{color:var(--muted);margin-top:2px;font-size:.78rem}.topbar nav{align-items:center;gap:8px;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:9px 12px;font-size:.9rem}.topbar nav a:hover{color:var(--accent-dark);background:#168a7517}.intro-band{grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:clamp(24px,5vw,72px);max-width:1280px;margin:0 auto;padding:clamp(30px,5vw,62px) clamp(18px,4vw,56px) 42px;display:grid}.intro-copy h1{letter-spacing:0;max-width:740px;margin:16px 0 18px;font-size:clamp(2.35rem,5.4vw,4.9rem);line-height:1}.kicker{color:var(--accent-dark);text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.86rem;font-weight:750;display:inline-flex}.lede{color:#42514c;max-width:720px;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.55}.intro-actions,.question-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.primary-button,.ghost-button,.secondary-link{border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 16px;font-weight:750;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 12px 30px #168a7538}.primary-button:hover:not(:disabled),.ghost-button:hover,.secondary-link:hover{transform:translateY(-1px)}.primary-button:disabled{box-shadow:none;cursor:not-allowed;background:#9db5ae}.ghost-button,.secondary-link{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff}.module-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-self:start;padding:22px}.module-panel-header{align-items:center;gap:12px;font-weight:800;display:flex}.small-icon{background:var(--surface-soft);width:36px;height:36px;color:var(--accent-dark)}.module-stats{gap:10px;margin:24px 0;display:grid}.module-stats div{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:18px;padding-top:12px;display:flex}.module-stats dt{font-size:1.45rem;font-weight:850}.module-stats dd{color:var(--muted);text-align:right;margin:0}.warning-note{color:#6d460f;background:#fff7ea;border-radius:8px;gap:10px;padding:14px;display:flex}.warning-note p{margin:0;font-size:.92rem;line-height:1.45}.quiz-band{padding:22px clamp(18px,4vw,56px) 72px}.ready-state,.quiz-card,.results-panel{border:1px solid var(--line);background:var(--surface);max-width:1180px;box-shadow:var(--shadow);border-radius:8px;margin:0 auto}.ready-state{justify-items:start;gap:12px;padding:clamp(28px,5vw,48px);display:grid}.ready-state h2,.results-copy h2,.source-band h2{letter-spacing:0;margin:0;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1}.ready-state p{max-width:760px;color:var(--muted);margin:0;line-height:1.55}.checkpoint-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;margin-top:16px;display:grid}.checkpoint-grid span{border:1px solid var(--line);color:#32413c;background:#f9fbfa;border-radius:8px;min-height:74px;padding:14px;font-weight:700}.quiz-card{overflow:hidden}.quiz-meta{color:var(--muted);text-transform:uppercase;justify-content:space-between;gap:18px;padding:18px 22px 12px;font-size:.86rem;font-weight:800;display:flex}.progress-track{background:#e7eeeb;height:7px}.progress-track span{background:linear-gradient(90deg, var(--accent), #7d9f2d);height:100%;transition:width .24s;display:block}.question-layout{grid-template-columns:minmax(0,1.1fr) minmax(330px,.74fr);gap:0;display:grid}.image-figure{border-right:1px solid var(--line);background:#111614;margin:0}.image-frame,.image-button-frame{background:#111614;justify-content:center;align-items:center;width:100%;min-height:520px;padding:18px;display:flex;position:relative}.hotspot-stage{cursor:crosshair;background:0 0;justify-content:center;align-items:center;max-width:100%;padding:0;display:inline-flex;position:relative}.image-frame img,.hotspot-stage img{object-fit:contain;border-radius:6px;min-width:min(420px,86%);max-width:100%;max-height:640px;display:block}.image-figure figcaption{color:#cfdad7;border-top:1px solid #ffffff1f;justify-content:space-between;gap:14px;padding:11px 14px;font-size:.78rem;display:flex}.image-figure figcaption a{color:#fff;text-underline-offset:3px;text-decoration:underline}.user-marker,.answer-hotspot{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.user-marker{background:var(--rose);border:3px solid #fff;border-radius:999px;width:18px;height:18px;box-shadow:0 0 0 4px #a9364f42}.answer-hotspot{background:#168a7524;border:2px dashed #8ad8c7;border-radius:999px}.question-panel{padding:clamp(24px,4vw,38px)}.question-panel h2{letter-spacing:0;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.08}.question-panel>p{color:#4d5b56;margin:0 0 24px;line-height:1.55}.option-list{gap:10px;display:grid}.option-button{border:1px solid var(--line);color:#23302c;text-align:left;cursor:pointer;background:#fbfcfb;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:52px;padding:13px 14px;display:flex}.option-button:hover:not(:disabled),.option-button.selected{background:#eef8f5;border-color:#168a7599}.option-button:disabled{cursor:default}.radio-dot,.checkbox-dot{border:2px solid #9aaba6;flex:none;width:19px;height:19px;display:inline-flex}.radio-dot{border-radius:999px}.checkbox-dot{border-radius:5px}.option-button.selected .radio-dot,.option-button.selected .checkbox-dot{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 45%, transparent 48%)}.option-button.selected .checkbox-dot{background:var(--accent);box-shadow:inset 0 0 0 4px #eef8f5}.hotspot-instruction{border:1px solid var(--line);color:#34413d;background:#f9fbfa;border-radius:8px;align-items:center;gap:10px;padding:14px;display:flex}.feedback{border-radius:8px;grid-template-columns:auto 1fr;gap:10px;margin-top:18px;padding:14px;display:grid}.feedback.correct{color:#145d3a;background:#edf8f1}.feedback.incorrect{color:#7a2638;background:#fff0f1}.feedback strong,.feedback p{margin:0}.feedback p{margin-top:4px;line-height:1.5}.results-panel{grid-template-columns:auto minmax(0,1fr) minmax(260px,.74fr);align-items:center;gap:32px;padding:clamp(26px,5vw,46px);display:grid}.score-ring{border-radius:999px;justify-content:center;align-items:center;width:160px;height:160px;display:flex;position:relative}.score-ring:after{background:var(--surface);content:"";border-radius:999px;position:absolute;inset:14px}.score-ring span,.score-ring small{z-index:1;position:relative}.score-ring span{font-size:3.7rem;font-weight:900}.score-ring small{color:var(--muted);align-self:center;font-weight:800}.results-copy p:not(.kicker){color:var(--muted);line-height:1.55}.answer-review{gap:8px;display:grid}.review-row{border:1px solid var(--line);color:#33413d;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:10px;font-size:.9rem;display:grid}.review-row svg{color:var(--accent)}.review-row svg+span{min-width:0}.source-band{grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);gap:32px;max-width:1280px;margin:0 auto;padding:34px clamp(18px,4vw,56px) 70px;display:grid}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.source-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:6px;min-height:94px;padding:16px;display:grid}.source-card:hover{border-color:#168a758c}.source-card span{font-weight:800}.source-card small{color:var(--muted)}@media (max-width:980px){.intro-band,.question-layout,.results-panel,.source-band,.launcher-grid,.explainer-tool-grid{grid-template-columns:1fr}.image-figure{border-right:0;border-bottom:1px solid var(--line)}.checkpoint-grid,.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explainer-input-panel,.explainer-result-panel{border-radius:20px;min-height:auto}.explainer-link-field,.explainer-link-field textarea{min-height:280px}.explainer-empty-state,.explainer-notice{min-height:260px}}@media (max-width:640px){.topbar{flex-direction:column;align-items:flex-start}.topbar nav{width:100%}.topbar nav a{text-align:center;flex:1}.intro-band{padding-top:32px}.intro-copy h1{font-size:2.55rem}.launcher-shell,.explainer-shell{padding:16px}.launcher-hero h1{font-size:clamp(2.6rem,16vw,4rem)}.launcher-card{grid-template-columns:1fr;min-height:0}.explainer-title-block{margin-bottom:24px}.explainer-title-block h1{font-size:clamp(2.8rem,17vw,4rem)}.explainer-title-block p{font-size:1rem}.explainer-panel-heading{align-items:flex-start}.explainer-source-chip{width:100%}.checkpoint-grid,.source-grid{grid-template-columns:1fr}.quiz-meta,.image-figure figcaption{flex-direction:column}.image-frame,.image-button-frame{min-height:320px;padding:10px}.question-panel{padding:22px}.results-panel{justify-items:start}.score-ring{width:132px;height:132px}.score-ring span{font-size:3rem}}
