:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#f7fbff;--color-ink-soft:#c8d5e4;--color-ink-muted:#8193aa;--color-bg:#07111f;--color-bg-deep:#030814;--color-surface:#0a1626e6;--color-surface-raised:#0f1f32f0;--color-surface-soft:#ffffff09;--color-border:#9fb9d72e;--color-border-strong:#9fc9ea5c;--color-danger:#fda4af;--color-danger-bg:#5e142457;--color-warning:#f8d58b;--color-success:#80e5ad;--color-info:#8bd8ff;--module-accent:#68ddb0;--module-accent-strong:#39c88f;--module-accent-soft:#68ddb01f;--module-accent-border:#68ddb066;--module-on-accent:#042218;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-display:Iowan Old Style, Baskerville, Georgia, "Times New Roman", serif;--radius-sm:9px;--radius-md:13px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--control-height:44px;--focus-ring:3px solid #b7e8ff;--focus-offset:3px;--shadow-panel:0 30px 74px #0000005c, inset 0 1px 0 #ffffff09;--shadow-card:0 16px 34px #00000045, inset 0 1px 0 #ffffff09;--content-width:1480px;--layer-base:0;--layer-ambient:1;--layer-content:10;--layer-sticky:50;--layer-overlay:100}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--color-bg-deep);min-width:320px;min-height:100%}body{min-width:320px;min-height:100svh;color:var(--color-ink);background:radial-gradient(circle at 10% -7%, #3d8bc438, transparent 31rem), radial-gradient(circle at 91% 12%, color-mix(in srgb, var(--module-accent) 13%, transparent), transparent 29rem), linear-gradient(150deg, #071322 0%, var(--color-bg-deep) 58%, #07101a 100%);font-family:var(--font-ui);margin:0;line-height:1.5;position:relative;overflow-x:hidden}body:before{content:"";z-index:var(--layer-ambient);pointer-events:none;background:linear-gradient(#ffffff05,#0000 30%,#0003);position:fixed;inset:0}button,a,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.ambient-grid{z-index:var(--layer-base);pointer-events:none;opacity:.52;background-image:linear-gradient(#81a0be09 1px,#0000 1px),linear-gradient(90deg,#81a0be09 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.skip-link{z-index:var(--layer-overlay);border-radius:var(--radius-sm);color:var(--color-bg-deep);background:var(--color-ink);padding:10px 14px;font-weight:800;text-decoration:none;transition:transform .15s;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-header,.workspace,.app-footer{z-index:var(--layer-content);width:min(var(--content-width), calc(100% - 40px));margin-inline:auto;position:relative}.app-header{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--color-border);min-height:82px;padding-block:14px;display:flex}.brand{min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.brand__mark{border:1px solid var(--module-accent-border);width:46px;height:46px;color:var(--module-accent);background:linear-gradient(145deg, var(--module-accent-soft), #18354b59), var(--color-surface);font-family:var(--font-display);border-radius:14px;flex:none;place-items:center;font-size:1.65rem;font-weight:800;display:grid;box-shadow:0 12px 30px #00000040,inset 0 1px #ffffff14}.brand__copy{line-height:1.1;display:grid}.brand__copy strong{letter-spacing:.015em;font-size:1.18rem}.brand__copy small{color:var(--color-ink-muted);letter-spacing:.05em;text-transform:uppercase;margin-top:4px;font-size:.7rem}.workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,26px);padding-block:clamp(22px,3vw,42px);display:grid}.notice{border-radius:var(--radius-md);background:linear-gradient(145deg, var(--color-danger-bg), #11111deb);box-shadow:var(--shadow-card);border:1px solid #fda4af80;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:15px 17px;display:grid}.notice__mark{width:32px;height:32px;color:var(--color-danger);border:1px solid;border-radius:50%;place-items:center;font-weight:900;display:grid}.notice h2,.notice p,.notice ul{margin:0}.notice h2{color:#ffe5e8;font-size:1rem}.notice p,.notice li{color:#f8cbd1;font-size:.88rem}.notice ul{gap:4px;padding:8px 0 0 18px;display:grid}.catalog-panel,.generator-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:linear-gradient(160deg, #ffffff06, transparent 34%), var(--color-surface);min-width:0;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.catalog-panel{gap:var(--space-5);padding:clamp(18px,2vw,26px);display:grid;position:sticky;top:14px}.panel-heading,.generator-toolbar>div:first-child{gap:5px;display:grid}.eyebrow{color:var(--module-accent);font-family:var(--font-code);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:800}.panel-heading h1,.panel-heading h2,.generator-toolbar h1,.generator-toolbar h2,.empty-state h2,.situation-hero h2,.situation-hero h3,.fact-card h3,.capability-strip h3,.support-panel h3,.stage-card h4{color:var(--color-ink);margin:0}.panel-heading h1,.panel-heading h2{font-family:var(--font-display);text-wrap:balance;font-size:clamp(1.55rem,2.2vw,2.05rem);font-weight:600;line-height:1.08}.panel-heading__lead,.catalog-panel__hint{color:var(--color-ink-soft);margin:4px 0 0;font-size:.84rem;line-height:1.5}.catalog-section{gap:10px;display:grid}.catalog-section+.catalog-section{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.catalog-section>h3{color:var(--color-ink);letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:.8rem}.source-list,.capability-list{gap:12px;display:grid}.source-group,.capability-group,.audience-control{border:0;min-width:0;margin:0;padding:0}.source-group>legend,.capability-group>legend,.audience-control>legend{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.055em;text-transform:uppercase;padding:0;font-size:.65rem;font-weight:800}.source-options,.capability-options{gap:8px;margin-top:7px;display:grid}.source-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.source-option:hover{border-color:var(--color-border-strong)}.source-option input,.capability-card__radio,.audience-control input{width:1.05rem;height:1.05rem;accent-color:var(--module-accent);margin:0}.source-option__copy,.capability-card__copy{gap:3px;min-width:0;display:grid}.source-option__copy strong{font-size:.82rem}.source-option__copy small{color:var(--color-ink-muted);font-family:var(--font-code);font-size:.64rem}.catalog-empty{border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink-muted);margin:0;padding:12px;font-size:.74rem}.capability-card{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;min-height:104px;color:var(--color-ink);text-align:left;cursor:pointer;background:radial-gradient(circle at 100% 0%, #65a2d217, transparent 45%), var(--color-surface-soft);grid-template-columns:auto auto minmax(0,1fr);align-items:start;gap:7px 11px;padding:14px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.capability-card:after{content:"";background:0 0;width:3px;transition:background-color .16s;position:absolute;top:0;bottom:0;left:0}.capability-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.capability-card.is-selected{border-color:var(--module-accent-border);background:linear-gradient(135deg, var(--module-accent-soft), #1024366b), var(--color-surface-soft);box-shadow:0 13px 28px #00000038, inset 0 0 0 1px color-mix(in srgb, var(--module-accent) 12%, transparent)}.capability-card.is-selected:after{background:var(--module-accent)}:is(.source-option:has(input:focus-visible),.capability-card:has(input:focus-visible),.learner-level-option:has(input:focus-visible)){outline:3px solid var(--color-focus);outline-offset:3px}.capability-card__index{border:1px solid var(--color-border);width:30px;height:30px;color:var(--color-info);font-family:var(--font-code);border-radius:9px;place-items:center;font-size:.7rem;font-weight:800;display:grid}.capability-card.is-selected .capability-card__index{border-color:var(--module-accent-border);color:var(--module-accent);background:var(--module-accent-soft)}.capability-card__title{align-self:center;font-size:.9rem;line-height:1.28}.capability-card__module{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.055em;text-transform:uppercase;font-size:.6rem;font-weight:800}.capability-card__intent{color:var(--color-ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.74rem;line-height:1.4;display:-webkit-box;overflow:hidden}.catalog-panel__hint{padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-ink-muted);font-size:.73rem}.generator-panel{overflow:hidden}.generator-toggle-bar{border-bottom:1px solid var(--color-border);background:#040c167a;justify-content:flex-end;padding:10px clamp(14px,2vw,24px);display:flex}.generator-toggle-button{min-height:44px}.generator-options-control{border-bottom:1px solid var(--color-border);background:#040c1652;grid-template-columns:minmax(190px,.55fr) minmax(280px,1.45fr) auto;align-items:center;gap:14px;padding:13px clamp(18px,2.2vw,30px);display:grid}.generator-options-control__heading{gap:4px;min-width:0;display:grid}.generator-options-control__heading h2,.generator-options-control__heading p{margin:0}.generator-options-control__heading h2{color:var(--color-ink);font-size:.88rem}.generator-options-control__heading p:last-child{color:var(--color-ink-muted);font-size:.7rem;line-height:1.4}.generator-options-summary{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.generator-options-summary__item{border:1px solid var(--module-accent-border);border-radius:var(--radius-sm);min-width:0;color:var(--color-ink);background:var(--module-accent-soft);gap:1px;padding:8px 10px;display:grid;overflow:hidden}.generator-options-summary__item>span{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:800}.generator-options-summary__item>strong{max-width:min(30vw,25rem);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.generator-options-summary__item.is-missing{background:#5b3e1329;border-style:dashed;border-color:#f8d58b75}.generator-options-summary__item.is-missing strong{color:var(--color-warning)}.generator-options-open{white-space:nowrap;min-height:38px;padding-inline:12px}.generator-toolbar{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--color-border);background:#050d186b;flex-wrap:wrap;min-height:88px;padding:17px clamp(18px,2.2vw,30px);display:flex}.generator-toolbar h1,.generator-toolbar h2{font-size:clamp(1.15rem,1.8vw,1.42rem)}.audience-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#050d186b;flex-wrap:wrap;gap:6px;padding:7px;display:flex}.audience-control>legend{width:100%;padding-inline:4px}.audience-control label{min-height:34px;color:var(--color-ink-soft);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding-inline:9px;font-size:.74rem;font-weight:800;display:inline-flex}.audience-control label:has(input:checked){color:var(--color-ink);background:var(--module-accent-soft)}.generator-toolbar__actions,.result-actions__group{flex-wrap:wrap;gap:8px;display:flex}.button{min-height:var(--control-height);border:1px solid var(--color-border-strong);color:var(--color-ink);cursor:pointer;letter-spacing:.025em;background:#152a3fb8;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:.78rem;font-weight:800;transition:transform .15s,border-color .15s,filter .15s;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.button:hover:not(:disabled){filter:brightness(1.08);border-color:#9bdcffa8;transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.42}.button--primary{border-color:color-mix(in srgb, var(--module-accent) 74%, white 8%);color:var(--module-on-accent);background:linear-gradient(135deg, color-mix(in srgb, var(--module-accent) 88%, white 12%), var(--module-accent-strong));box-shadow:0 12px 25px color-mix(in srgb, var(--module-accent) 17%, transparent)}.button--secondary{background:#0d1d2ec7}.button--class{color:#f9e8bc;background:#5b3e133d;border-color:#f8d58b6e}.button--large{min-height:52px;padding-inline:20px;font-size:.86rem}.button__icon{font-size:1rem}.empty-state{text-align:center;background:radial-gradient(circle at 50% 42%, var(--module-accent-soft), transparent 24rem), linear-gradient(180deg, #ffffff03, transparent);align-content:center;justify-items:center;min-height:clamp(470px,67vh,720px);padding:clamp(48px,8vw,100px) clamp(20px,7vw,90px);display:grid}.empty-state__stage{width:196px;height:112px;margin-bottom:var(--space-6);border:1px solid var(--module-accent-border);box-shadow:inset 0 -1px 0 var(--module-accent-border), 0 0 44px var(--module-accent-soft);background:linear-gradient(#68ddb00f,#0000);border-radius:90px 90px 18px 18px;position:relative}.empty-state__stage:after{content:"";background:var(--module-accent-border);height:1px;position:absolute;bottom:20px;left:24px;right:24px}.empty-state__stage span{border:1px solid var(--module-accent-border);background:var(--color-bg);border-radius:10px 10px 4px 4px;width:16px;height:32px;position:absolute;bottom:21px}.empty-state__stage span:first-child{left:45px}.empty-state__stage span:nth-child(2){height:45px;left:89px}.empty-state__stage span:nth-child(3){right:45px}.empty-state h2{max-width:18ch;font-family:var(--font-display);text-wrap:balance;margin-top:7px;font-size:clamp(2rem,5vw,3.55rem);font-weight:600;line-height:1.02}.empty-state>p:not(.eyebrow):not(.empty-state__requirement){max-width:58ch;color:var(--color-ink-soft);margin:18px 0 26px;font-size:clamp(.92rem,1.4vw,1.05rem)}.empty-state__requirement{border-radius:var(--radius-pill);max-width:58ch;color:var(--color-warning);background:#5b3e132b;border:1px solid #f8d58b57;margin:-12px 0 18px;padding:9px 13px;font-size:.78rem;font-weight:800}.result-card{background:linear-gradient(#0f1f319e,#050d1757);scroll-margin-top:12px}.situation-hero{border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 92% 7%, color-mix(in srgb, var(--module-accent) 20%, transparent), transparent 24rem), radial-gradient(circle at 2% 100%, #4a8ec329, transparent 27rem), #07121f94;gap:clamp(15px,1.7vw,22px);padding:clamp(26px,3.6vw,48px);display:grid;position:relative;overflow:hidden}.situation-hero:before{content:"";border:1px solid var(--module-accent-border);opacity:.2;width:210px;height:210px;box-shadow:0 0 0 28px color-mix(in srgb, var(--module-accent) 5%, transparent), 0 0 0 57px color-mix(in srgb, var(--module-accent) 3%, transparent);border-radius:50%;position:absolute;bottom:-82px;right:clamp(20px,4vw,52px)}.situation-hero>*{z-index:1;position:relative}.situation-hero__kicker{color:var(--module-accent);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;font-size:.66rem;font-weight:800;display:flex}.situation-hero h2{max-width:30ch;font-family:var(--font-display);text-wrap:balance;font-size:clamp(2.1rem,3.7vw,3.7rem);font-weight:600;line-height:1.02}.situation-start{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#040d188a;display:grid;overflow:hidden}.scene-block{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(86px,.18fr) minmax(0,1fr);align-items:start;gap:16px;max-width:none;padding:17px 18px;display:grid}.scene-block p,.scene-block h3{margin:0}.scene-block__label{color:var(--module-accent);font-family:var(--font-code);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.scene-block__text{color:var(--color-ink-soft);font-size:clamp(.97rem,1.35vw,1.1rem);line-height:1.62}.dramatic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dramatic-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#040d1899;grid-template-columns:auto minmax(0,1fr);gap:14px;min-width:0;padding:17px 18px;display:grid;box-shadow:inset 0 1px #ffffff08}.dramatic-card--trigger{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr}.dramatic-card--challenge{background:linear-gradient(145deg,#6544101f,#040d1899);border-color:#f8d58b47}.dramatic-card__step{color:var(--color-info);font-family:var(--font-code);margin:0;font-size:.66rem;font-weight:800}.dramatic-card--challenge .dramatic-card__step{color:var(--color-warning)}.dramatic-card h3{letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem}.dramatic-card div>p{color:var(--color-ink-soft);margin:0;font-size:.9rem;line-height:1.55}.mission-card{border:1px solid var(--module-accent-border);border-radius:var(--radius-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--module-accent) 13%, transparent), #07181e9e), #081822ad;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:clamp(18px,2.2vw,25px);display:grid;box-shadow:0 18px 42px #0003,inset 0 1px #ffffff0a}.mission-card__mark{width:46px;height:46px;color:var(--module-on-accent);background:var(--module-accent);border-radius:50%;place-items:center;font-size:1.4rem;font-weight:900;display:grid}.mission-card p{margin:0}.mission-card__label{color:var(--module-accent);font-family:var(--font-code);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800;margin-bottom:4px!important}#result-mission{max-width:75ch;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.18rem,2vw,1.55rem);line-height:1.28}.participants-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#0715208a;grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr);align-items:start;gap:14px;padding:14px 16px;display:grid}.participants-card h3{color:var(--color-ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 0;font-size:.78rem}.participants-card .fact-list{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.core-uncertainty-card{background:#5b3e1317;padding:14px 16px}.core-uncertainty-card h3{color:var(--color-warning);margin:2px 0 8px}.core-uncertainty-card .fact-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.situation-facts-panel{border-bottom:1px solid var(--color-border);background:#040c1647;overflow:hidden}.situation-facts-panel>summary{color:var(--color-ink-soft);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:14px clamp(20px,3.6vw,48px);list-style:none;display:flex}.situation-facts-panel>summary::-webkit-details-marker{display:none}.situation-facts-panel>summary:hover{color:var(--color-ink)}.situation-facts-panel__toggle{color:var(--color-info);font-family:var(--font-code);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:800}.situation-facts-panel__toggle:after{content:"Afficher"}.situation-facts-panel[open] .situation-facts-panel__toggle:after{content:"Masquer"}#result-challenge{color:var(--color-ink-soft);margin:0;font-size:.86rem;line-height:1.5}.situation-facts{background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:clamp(22px,3vw,36px) clamp(20px,3.6vw,48px);display:grid}.challenge-card{background:#5b3e1317;border-color:#f8d58b38;grid-column:1/-1}.challenge-card .fact-card__marker{color:var(--color-warning)}.situation-facts__reveal-toolbar{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:0 2px 4px;display:flex}.situation-facts__reveal-status,.fact-card__reveal-status{color:var(--color-ink-muted);margin:0;font-size:.72rem;line-height:1.4}.fact-reveal-button{min-height:34px;padding:6px 10px;font-size:.68rem;line-height:1.25}.fact-reveal-button--global{flex:none}.fact-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);grid-template-columns:auto minmax(0,1fr);gap:13px;min-width:0;padding:17px;display:grid}.fact-card__body{min-width:0}.fact-card__reveal-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.fact-card:not(.is-revealed){align-items:center;padding:10px 12px}.fact-card:not(.is-revealed) .fact-card__body{grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);align-items:center;gap:10px;display:grid}.fact-card:not(.is-revealed) h3{margin:0}.fact-card:not(.is-revealed) .fact-card__reveal-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.fact-card:not(.is-revealed) .fact-card__reveal-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;display:grid}.fact-card.is-revealed .fact-card__reveal-status{margin-bottom:10px}.fact-card--uncertainty{border-color:#f8d58b38}.fact-card__marker{border:1px solid var(--color-border-strong);width:30px;height:30px;color:var(--color-info);font-family:var(--font-code);border-radius:9px;place-items:center;margin:0;font-size:.7rem;font-weight:900;display:grid}.fact-card--uncertainty .fact-card__marker{color:var(--color-warning)}.fact-card h3{letter-spacing:.025em;margin:3px 0 10px;font-size:.82rem}.fact-list,.resource-list,.observable-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fact-list[hidden],.fact-list li[hidden]{display:none}.fact-list li{color:var(--color-ink-soft);overflow-wrap:anywhere;padding-left:16px;font-size:.8rem;line-height:1.48;position:relative}.fact-list li:before{content:"";background:var(--module-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.fact-list .list-empty,.list-empty{color:var(--color-ink-muted);font-style:italic}.capability-strip{border-bottom:1px solid var(--color-border);background:#050f1a80;grid-template-columns:minmax(120px,.25fr) minmax(0,1fr);align-items:start;gap:22px;padding:18px clamp(20px,3.6vw,48px);display:grid}.capability-strip p{margin:0}.capability-strip__label{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:800}.capability-strip h3{color:var(--module-accent);font-size:.88rem}#result-capability-intent{color:var(--color-ink-muted);margin-top:4px;font-size:.75rem;line-height:1.45}.capability-reference{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.capability-reference__label,.capability-card__references{color:var(--color-ink-muted);font-size:.68rem;line-height:1.45}.capability-reference__label{font-family:var(--font-code);font-weight:700}.capability-reference__list{gap:4px;margin:7px 0 0;padding:0;list-style:none;display:grid}.capability-reference__label a{color:var(--color-ink-soft);-webkit-text-decoration-color:var(--module-accent);text-decoration-color:var(--module-accent);text-underline-offset:3px}.capability-card__references{margin-top:7px;display:block}.support-panel{border-bottom:1px solid var(--color-border);background:#040c1652;margin:0}.support-panel--quiet{background:#02081052}.support-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:14px clamp(20px,3.6vw,48px);list-style:none;display:flex}.support-panel summary::-webkit-details-marker{display:none}.support-panel summary>span:first-child{gap:2px;display:grid}.support-panel summary strong{font-size:.9rem}.support-panel__toggle{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-info);border-radius:50%;flex:none;place-items:center;transition:transform .16s,border-color .16s;display:grid}.support-panel[open] .support-panel__toggle{border-color:var(--module-accent-border);transform:rotate(45deg)}.support-panel__body{padding:0 clamp(20px,3.6vw,48px) clamp(24px,3vw,36px)}.support-panel__intro{max-width:72ch;color:var(--color-ink-muted);margin:0 0 18px;font-size:.77rem;line-height:1.5}.support-panel__body--columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,34px);display:grid}.support-panel__body--columns h3{margin-bottom:13px;font-size:.84rem}.stage-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.stage-card{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;min-height:190px;box-shadow:var(--shadow-card);background:linear-gradient(160deg,#ffffff0a,#0000 48%),#07101dad;grid-template-rows:auto auto 1fr;gap:8px;padding:15px 14px;display:grid}.stage-card__index{color:var(--module-accent);font-family:var(--font-code);font-size:.62rem;font-weight:800}.stage-card h4{letter-spacing:.035em;text-transform:uppercase;font-size:.78rem}.stage-card p{color:var(--color-ink-soft);overflow-wrap:anywhere;margin:0;font-size:.75rem;line-height:1.48}.resource-card,.observable-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-soft)}.resource-card{gap:4px;padding:12px 13px;display:grid}.resource-card strong{color:var(--color-ink);font-size:.82rem}.resource-card span{color:var(--color-ink-muted);font-size:.74rem;line-height:1.45}.observable-item{color:var(--color-ink-soft);padding:11px 12px 11px 32px;font-size:.76rem;line-height:1.45;position:relative}.observable-item:before{content:"";border:2px solid var(--module-accent);border-radius:50%;width:7px;height:7px;position:absolute;top:16px;left:13px}.editorial-content p{max-width:76ch;color:var(--color-ink-muted);margin:0;font-size:.75rem;line-height:1.55}.source-details{grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);gap:8px 18px;margin:0;display:grid}.source-details dt,.source-details dd{border-top:1px solid var(--color-border);overflow-wrap:anywhere;margin:0;padding-top:8px}.source-details dt{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:800}.source-details dd{color:var(--color-ink-soft);font-size:.76rem}.result-actions{background:#040c1680;justify-content:space-between;align-items:center;gap:14px;padding:18px clamp(20px,3.6vw,48px);display:flex}.app-footer{color:var(--color-ink-muted);justify-content:space-between;align-items:flex-start;gap:16px;padding-block:4px 28px;font-size:.7rem;display:flex}.app-footer p{margin:0}.app-footer__version,.app-footer__copyright{color:var(--color-ink-soft)}.app-footer__version{font-family:var(--font-code);font-weight:700}.class-mode-exit{z-index:var(--layer-overlay);top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));min-height:var(--control-height);border-radius:var(--radius-pill);color:#f9e8bc;cursor:pointer;background:#181411e6;border:1px solid #f8d58b94;padding:0 14px;font-size:.76rem;font-weight:800;position:fixed;box-shadow:0 18px 42px #0000006b}.generator-options-dialog,.copy-dialog{border:1px solid var(--module-accent-border);border-radius:var(--radius-xl);width:min(880px,100% - 24px);max-width:none;max-height:min(820px,100svh - 24px);color:var(--color-ink);background:var(--color-surface-raised);padding:0;overflow:hidden;box-shadow:0 36px 100px #000000ad}.generator-options-dialog::backdrop,.copy-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#01050cd1}.copy-dialog{width:min(760px,100% - 24px)}.generator-options-dialog__panel{max-height:inherit;background:radial-gradient(circle at 100% 0%, var(--module-accent-soft), transparent 20rem), linear-gradient(160deg, #ffffff06, transparent 36%);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.generator-options-dialog__header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);gap:5px;padding:clamp(20px,3vw,30px);display:grid}.generator-options-dialog__header h2,.generator-options-dialog__header p{margin:0}.generator-options-dialog__header h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08}.generator-options-dialog__header p:last-child{max-width:70ch;color:var(--color-ink-soft);font-size:.82rem;line-height:1.5}.generator-options-dialog__body{overscroll-behavior:contain;gap:clamp(22px,3vw,34px);padding:clamp(20px,3vw,30px);display:grid;overflow-y:auto}.generator-option-section{gap:14px;display:grid}.generator-option-section>header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.generator-option-section>header h3,.generator-option-section>header p{margin:0}.generator-option-section>header h3{color:var(--color-ink);font-size:.95rem}.generator-option-section>header p{color:var(--color-ink-muted);margin-top:3px;font-size:.74rem;line-height:1.45}.generator-option-section__index{border:1px solid var(--module-accent-border);width:28px;height:28px;color:var(--module-accent);background:var(--module-accent-soft);font-family:var(--font-code);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:grid}.generator-options-dialog .source-group+.source-group,.generator-options-dialog .capability-group+.capability-group{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.generator-options-dialog .source-options{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.generator-options-dialog .capability-options{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-options-dialog .capability-options--single{grid-template-columns:1fr}.learner-level-list{gap:9px;display:grid}.learner-level-option{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:#040d188f;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 10px;padding:13px 14px;display:grid}.learner-level-option.is-selected{border-color:var(--module-accent-border);background:var(--module-accent-soft)}.learner-level-option input{width:18px;height:18px;accent-color:var(--module-accent);grid-row:1/3}.learner-level-option strong{color:var(--color-ink);font-size:.88rem}.learner-level-option span{color:var(--color-ink-muted);font-size:.72rem;line-height:1.4}.generator-options-error{border-radius:var(--radius-md);color:#f8cbd1;background:var(--color-danger-bg);border:1px solid #fda4af80;margin:0;padding:12px 14px;font-size:.8rem;font-weight:700}.generator-options-dialog__actions{border-top:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface-raised) 94%, transparent);justify-content:flex-end;gap:10px;padding:16px clamp(20px,3vw,30px);display:flex}.copy-dialog__panel{gap:var(--space-4);max-height:inherit;background:radial-gradient(circle at 100% 0%, var(--module-accent-soft), transparent 20rem), linear-gradient(160deg, #ffffff06, transparent 36%);padding:clamp(20px,3vw,30px);display:grid}.copy-dialog__header{gap:5px;display:grid}.copy-dialog__header h2,.copy-dialog__header p{margin:0}.copy-dialog__header h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.08}.copy-dialog__header p:last-child{max-width:66ch;color:var(--color-ink-soft);font-size:.86rem}.copy-dialog__label{color:var(--color-ink-muted);font-family:var(--font-code);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:800}.copy-dialog__text{resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:100%;min-height:280px;max-height:min(52svh,520px);color:var(--color-ink-soft);font-family:var(--font-code);white-space:pre-wrap;background:#020810c7;padding:14px;font-size:.78rem;line-height:1.55}.copy-dialog__text:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-color:var(--module-accent-border)}.copy-dialog__actions{justify-content:flex-end;gap:9px;display:flex}kbd{font:inherit;border:1px solid #ffffff38;border-radius:5px;margin-left:7px;padding:2px 6px;font-size:.66rem}.visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}body.is-class-mode{background:#050b13}body.is-class-mode .app-header,body.is-class-mode .catalog-panel,body.is-class-mode .generator-toggle-bar,body.is-class-mode .generator-toolbar,body.is-class-mode .generator-options-control,body.is-class-mode .result-actions,body.is-class-mode .app-footer{display:none}body.is-class-mode .workspace{width:min(1680px,100% - 36px);padding-block:18px;display:block}body.is-class-mode .generator-panel{border-color:var(--module-accent-border)}body.is-class-mode .situation-hero h2{font-size:clamp(3rem,6vw,6.5rem)}body.is-class-mode .scene-block__text,body.is-class-mode .dramatic-card div>p,body.is-class-mode #result-challenge,body.is-class-mode .fact-list li{font-size:clamp(1rem,1.4vw,1.35rem)}body.is-class-mode .fact-reveal-button{min-height:44px;font-size:clamp(.78rem,1vw,1rem)}body.is-class-mode .situation-facts__reveal-status,body.is-class-mode .fact-card__reveal-status{font-size:clamp(.82rem,1vw,1rem)}body.is-class-mode #result-mission{font-size:clamp(1.5rem,2.5vw,2.35rem)}@media (width<=1180px){.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-card:last-child{grid-column:1/-1;min-height:145px}}@media (width<=780px){.app-header,.workspace,.app-footer{width:min(100% - 20px, var(--content-width))}.app-header{min-height:72px}.brand__copy small{display:none}.generator-options-dialog .capability-options,.dramatic-grid,.situation-facts,.support-panel__body--columns,.stage-list{grid-template-columns:1fr}.generator-options-control{grid-template-columns:minmax(0,1fr) auto}.generator-options-control__heading{grid-column:1/-1}.generator-options-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.generator-options-dialog__actions .button{min-height:44px}.capability-card{min-height:96px}.generator-toolbar{flex-direction:column;align-items:stretch}.generator-toolbar__actions{grid-template-columns:1fr 1fr;display:grid}.generator-toolbar__actions .button:first-child{grid-column:1/-1}.scene-block,.participants-card,.capability-strip{grid-template-columns:1fr;gap:7px}.stage-card,.stage-card:last-child{grid-column:auto;min-height:0}.result-actions{flex-direction:column;align-items:stretch}.result-actions__group{grid-template-columns:1fr 1fr;display:grid}.source-details{grid-template-columns:1fr;gap:0}.source-details dd{border-top:0;padding-bottom:9px}.app-footer{flex-direction:column}body.is-class-mode .workspace{width:calc(100% - 16px);padding-block:8px}}@media (width<=480px){.app-header{flex-wrap:wrap}.brand__mark{width:40px;height:40px}.brand__copy strong{font-size:.9rem}.catalog-panel,.generator-panel{border-radius:var(--radius-lg)}.generator-toolbar__actions,.result-actions__group{grid-template-columns:1fr}.generator-toolbar__actions .button:first-child{grid-column:auto}.button{width:100%}.situation-facts__reveal-toolbar{flex-direction:column;align-items:stretch}.fact-card:not(.is-revealed) .fact-card__body{grid-template-columns:1fr}.fact-card__reveal-actions{grid-template-columns:1fr 1fr;display:grid}.generator-options-control{grid-template-columns:1fr;padding-inline:14px}.generator-options-open,.generator-options-summary__item{width:100%}.generator-options-summary__item>strong{max-width:100%}.generator-options-dialog__actions{grid-template-columns:1fr;display:grid}.situation-hero{padding-inline:18px}.situation-hero h2{font-size:clamp(2.2rem,12vw,3.35rem)}.situation-hero__kicker{flex-direction:column;align-items:flex-start;gap:3px}.dramatic-card{padding:15px}.mission-card{grid-template-columns:1fr}.mission-card__mark{width:38px;height:38px}.situation-facts,.capability-strip,.support-panel summary,.support-panel__body,.result-actions{padding-left:18px;padding-right:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.ambient-grid,body:before,.situation-hero:before,.empty-state__stage{display:none}.catalog-panel,.generator-panel,.capability-card,.learner-level-option,.dramatic-card,.mission-card,.participants-card,.situation-facts-panel,.fact-card,.stage-card,.resource-card,.observable-item,.notice,.button,.copy-dialog,.generator-options-dialog,.copy-dialog__text{forced-color-adjust:auto;border-color:canvastext}.capability-card.is-selected{outline-offset:2px;outline:3px solid highlight}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body,body.is-class-mode{color:#111827;background:#fff}.ambient-grid,.app-header,.catalog-panel,.generator-toggle-bar,.generator-toolbar,.generator-options-control,.result-actions,.app-footer,.class-mode-exit,.support-panel summary,.notice,.generator-options-dialog,.copy-dialog,.situation-facts__reveal-toolbar,.situation-facts-panel>summary,.fact-card__reveal-status,.fact-card__reveal-actions{display:none!important}.workspace,body.is-class-mode .workspace{width:100%;padding:0;display:block}.generator-panel,.result-card{color:#111827;box-shadow:none;background:#fff;border:0}.situation-hero,.dramatic-card,.mission-card,.participants-card,.situation-facts-panel,.situation-facts,.fact-card,.capability-strip,.support-panel,.stage-card,.resource-card,.observable-item{color:#111827;break-inside:avoid;background:#fff}.situation-hero h2,.situation-hero h3,.fact-card h3,.capability-strip h3,.stage-card h4,.resource-card strong{color:#111827}.scene-block__text,.dramatic-card div>p,#result-mission,#result-challenge,.fact-list li,#result-capability-intent,.stage-card p,.resource-card span,.observable-item{color:#374151}.situation-hero h2,body.is-class-mode .situation-hero h2{font-size:30pt}.support-panel>.support-panel__body{display:block!important}.result-card[data-audience=student] .situation-facts-panel{display:none!important}.result-card[data-audience=teacher] .situation-facts-panel{display:block!important}.support-panel__body--columns,.result-card[data-audience=teacher] .situation-facts{grid-template-columns:1fr 1fr;display:grid!important}.stage-list{grid-template-columns:1fr}.stage-card{min-height:0}}
