:root{--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--neutral-50:#fafaf9;--neutral-100:#f5f5f4;--neutral-200:#e7e5e4;--neutral-300:#d6d3d1;--neutral-400:#a8a29e;--neutral-500:#78716c;--neutral-600:#57534e;--neutral-700:#44403c;--neutral-800:#292524;--neutral-900:#1c1917;--neutral-950:#0c0a09;--primary-light:#ffedd5;--primary:#c2410c;--primary-dark:#9a3412;--primary-accent:#ea580c;--success:#16a34a;--success-light:#dcfce7;--warning:#d97706;--warning-light:#fef3c7;--error:#dc2626;--error-light:#fee2e2;--surface-base:#ffffff;--surface-sunken:var(--neutral-50);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--transition-fast:150ms ease;--transition:200ms ease;--transition-slow:300ms ease}*,:after,:before{box-sizing:border-box;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--text-base);line-height:1.5;color:var(--neutral-700);background:var(--surface-sunken);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--neutral-900);line-height:1.2;font-weight:600}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--neutral-800)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in,.stagger-in{animation:fadeIn var(--transition) ease-out both}.stagger-in{animation-delay:calc(var(--i, 0) * 45ms)}@media (prefers-reduced-motion:reduce){.animate-in,.stagger-in{animation:none}}.topbar{gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--surface-base);border-bottom:1px solid var(--neutral-200);position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{font-weight:600;color:var(--neutral-900);text-decoration:none;font-size:var(--text-base);gap:var(--space-2)}.brand-mark{width:22px;height:22px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary) 0,var(--primary-accent) 100%)}.topbar .spacer{flex:1 1}.btn{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius);font-weight:500;font-size:var(--text-sm);padding:var(--space-2) var(--space-4);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);border:none}.btn-primary{background:linear-gradient(180deg,var(--primary) 0,var(--primary-dark) 100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(180deg,var(--primary-dark) 0,var(--primary-dark) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:transparent;color:var(--neutral-700);border:1px solid var(--neutral-300)}.btn-secondary:hover{background:var(--neutral-50);border-color:var(--neutral-400)}.btn-ghost{background:transparent;color:var(--neutral-600)}.btn-ghost:hover{background:var(--neutral-100)}.btn-danger-ghost{background:transparent;color:var(--error)}.btn-danger-ghost:hover{background:var(--error-light)}.btn:disabled{opacity:.5;cursor:default}.page{max-width:1080px;margin-inline:auto;padding:var(--space-10) var(--space-6)}.page-head{display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-8)}.page-head h1{font-size:var(--text-2xl);letter-spacing:-.025em}.page-head p{color:var(--neutral-500);font-size:var(--text-sm)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:var(--space-5);gap:var(--space-5)}.course-card{background:var(--surface-base);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),transform var(--transition-fast);display:flex;flex-direction:column;gap:var(--space-3);text-decoration:none}.course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.course-card h3{font-size:var(--text-lg)}.course-card .meta{display:flex;gap:var(--space-2);align-items:center}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-700)}.badge.success{background:var(--success-light);color:var(--success)}.badge.warning{background:var(--warning-light);color:var(--warning)}.badge.error{background:var(--error-light);color:var(--error)}.badge.primary{background:var(--primary-light);color:var(--primary-dark)}.empty-state{text-align:center;padding:var(--space-12);color:var(--neutral-500);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.empty-state h2{font-size:var(--text-lg);color:var(--neutral-800)}.empty-state p{font-size:var(--text-sm);max-width:45ch}.dialog-backdrop{position:fixed;inset:0;background:rgb(0 0 0/.35);display:grid;place-items:center;z-index:50}.dialog{background:var(--surface-base);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8);width:min(480px,92vw);display:flex;flex-direction:column;gap:var(--space-5);animation:fadeIn var(--transition-slow) ease-out both}.dialog h2{font-size:var(--text-2xl);letter-spacing:-.02em}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-sm);font-weight:500;color:var(--neutral-600)}.field input[type=text],.field textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius);font-size:var(--text-base)}.field textarea{resize:vertical;min-height:52px}.field .hint{font-size:var(--text-xs);color:var(--neutral-500)}.cue-spec{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--neutral-300);display:flex;flex-direction:column;gap:var(--space-3)}.chip-row{display:flex;gap:var(--space-2)}.chip{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--neutral-300);background:var(--surface-base);font-size:var(--text-sm);color:var(--neutral-700);transition:all var(--transition-fast)}.chip.selected,.chip:hover{border-color:var(--primary)}.chip.selected{background:var(--primary);color:#fff}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.editor{display:grid;grid-template-columns:232px 1fr 300px;height:calc(100vh - 53px)}.screen-rail{background:var(--surface-base);border-right:1px solid var(--neutral-200);overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.rail-label{font-size:var(--text-xs);font-weight:500;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-2) 0}.screen-thumb{text-align:left;border:1px solid var(--neutral-200);background:var(--surface-base);border-radius:var(--radius);padding:var(--space-3);font-size:var(--text-sm);color:var(--neutral-700);transition:all var(--transition-fast);display:flex;flex-direction:column;gap:var(--space-1)}.screen-thumb:hover{border-color:var(--neutral-400)}.screen-thumb.active{border-color:var(--primary);background:var(--primary-light)}.screen-thumb .idx{font-size:var(--text-xs);color:var(--neutral-500)}.screen-thumb .t{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-wrap{padding:var(--space-8);align-items:center}.canvas,.canvas-wrap{overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4)}.canvas{background:var(--surface-base);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:min(820px,100%);aspect-ratio:16/9.6;padding:var(--space-10);position:relative}.canvas-toolbar{width:min(820px,100%);display:flex;align-items:center;gap:var(--space-3)}.canvas-toolbar .grow{flex:1 1}.canvas-toolbar select{padding:var(--space-1) var(--space-2);border:1px solid var(--neutral-300);border-radius:var(--radius);font-size:var(--text-sm);background:var(--surface-base)}.block{position:relative;border-radius:var(--radius);padding:var(--space-2);transition:background var(--transition-fast)}.block:hover{background:var(--neutral-50)}.block:hover .block-tools{opacity:1}.block-tools{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);background:var(--surface-base);border:1px solid var(--neutral-200);border-radius:var(--radius);padding:2px;box-shadow:var(--shadow-sm)}.block-tools button{border:none;background:transparent;border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--text-xs);color:var(--neutral-600)}.block-tools button:hover{background:var(--neutral-100)}.block-input{width:100%;border:none;background:transparent;resize:none;line-height:1.5}.block-input:focus{outline:none}.block-heading .block-input{font-size:var(--text-2xl);font-weight:600;color:var(--neutral-900);letter-spacing:-.025em}.block-text .block-input{font-size:var(--text-base);color:var(--neutral-700)}.step-tag{position:absolute;top:var(--space-1);left:calc(-1 * var(--space-6));font-size:var(--text-xs);color:var(--primary);background:var(--primary-light);border-radius:var(--radius-full);padding:0 var(--space-2)}.add-block{display:flex;justify-content:center;position:relative;height:14px}.add-block button{position:absolute;top:-8px;width:26px;height:26px;border-radius:var(--radius-full);border:1px solid var(--neutral-300);background:var(--surface-base);color:var(--neutral-500);font-size:15px;line-height:1;opacity:0;transition:opacity var(--transition-fast);box-shadow:var(--shadow-sm)}.add-block button:focus-visible,.add-block:hover button{opacity:1}.add-menu{position:absolute;top:20px;z-index:10;background:var(--surface-base);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:var(--space-1);min-width:160px}.add-menu button{text-align:left;border:none;background:transparent;padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:var(--text-sm);color:var(--neutral-700)}.add-menu button:hover{background:var(--neutral-100)}.scenario{border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:var(--surface-base)}.scenario .sc-label{font-size:var(--text-xs);font-weight:500;color:var(--primary-dark);text-transform:uppercase;letter-spacing:.05em}.sc-answer{display:flex;align-items:center;gap:var(--space-2)}.sc-answer input[type=text]{flex:1 1;border:1px solid var(--neutral-200);border-radius:var(--radius);padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.sc-answer .correct-toggle{font-size:var(--text-xs);border-radius:var(--radius-full);border:1px solid var(--neutral-300);background:var(--surface-base);padding:2px 8px;color:var(--neutral-500);white-space:nowrap}.sc-answer .correct-toggle.on{background:var(--success-light);border-color:var(--success);color:var(--success)}.timeline{width:min(820px,100%);background:var(--surface-base);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.timeline .tl-label{font-size:var(--text-xs);font-weight:500;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.tl-steps{flex:1 1;overflow-x:auto}.tl-step,.tl-steps{display:flex;gap:var(--space-2)}.tl-step{align-items:center;border:1px solid var(--neutral-200);border-radius:var(--radius);padding:var(--space-1) var(--space-2);white-space:nowrap;background:var(--surface-sunken)}.tl-step,.tl-step select{font-size:var(--text-xs);color:var(--neutral-600)}.tl-step select{border:none;background:transparent}.gate-panel{background:var(--surface-base);border-left:1px solid var(--neutral-200);overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.gate-panel h2{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--neutral-500)}.gate-score{display:flex;flex-direction:column;gap:var(--space-2)}.gate-score .num{font-size:var(--text-3xl);font-weight:700;color:var(--neutral-900)}.scale-line{position:relative;height:6px;background:linear-gradient(90deg,var(--error-light),var(--warning-light),var(--success-light))}.scale-line,.scale-line .dot{border-radius:var(--radius-full)}.scale-line .dot{position:absolute;top:-3px;width:12px;height:12px;background:var(--neutral-900);border:2px solid #fff;box-shadow:var(--shadow-sm);transition:left var(--transition-slow)}.scale-hint{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--neutral-500)}.section-card{background:var(--surface-base);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);animation:fadeIn var(--transition) ease-out both}.section-card>.f-head{font-size:var(--text-base);color:var(--neutral-900);margin-bottom:var(--space-1)}.finding{border:1px solid var(--neutral-200);border-left:3px solid var(--warning);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);animation:fadeIn var(--transition) ease-out both}.finding.first{border-left-color:var(--error);box-shadow:var(--shadow-sm)}.finding .f-head{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--text-sm);color:var(--neutral-800)}.finding .f-diag{font-size:var(--text-xs);color:var(--neutral-500)}.finding .f-fix{font-size:var(--text-sm);color:var(--neutral-700)}.finding .f-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.finding .f-actions .btn{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.start-here{font-size:var(--text-xs);font-weight:500;color:var(--error)}.gate-ok{display:flex;align-items:center;gap:var(--space-2);color:var(--success);font-size:var(--text-sm);font-weight:500}.gate-muted{font-size:var(--text-xs);color:var(--neutral-500)}.overrule-box textarea{width:100%;border:1px solid var(--neutral-300);border-radius:var(--radius);padding:var(--space-2);font-size:var(--text-sm);resize:vertical;min-height:56px}.player{position:fixed;inset:0;background:var(--neutral-900);display:grid;place-items:center}.player-screen{background:var(--surface-base);width:min(960px,94vw);aspect-ratio:16/9;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;gap:var(--space-5);justify-content:center;overflow-y:auto}.player-screen .p-heading{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;letter-spacing:-.025em;color:var(--neutral-900)}.player-screen .p-text{font-size:var(--text-lg);line-height:1.75;color:var(--neutral-700);max-width:62ch}.player-screen .p-heading+.p-text,.player-screen .p-text+.p-text{margin-top:var(--space-2)}.player-nav{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);display:flex;gap:var(--space-3);align-items:center}.player-nav .btn{background:rgb(255 255 255/.1);color:#fff;border:1px solid rgb(255 255 255/.25)}.player-nav .btn:hover{background:rgb(255 255 255/.2)}.player-nav .count{color:var(--neutral-300);font-size:var(--text-sm)}.player-close{position:fixed;top:var(--space-4);right:var(--space-4)}.p-scenario{gap:var(--space-4)}.p-answers,.p-scenario{display:flex;flex-direction:column}.p-answers{gap:var(--space-3);counter-reset:ans}.p-answer{display:flex;align-items:center;gap:var(--space-3);text-align:left;border:1.5px solid var(--neutral-300);background:var(--surface-base);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-base);font-weight:500;color:var(--neutral-800);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.p-answer:before{counter-increment:ans;content:counter(ans,upper-alpha);flex:none;width:30px;height:30px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-600);font-weight:600;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast)}.p-answer:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.p-answer:hover:not(:disabled):before{background:var(--primary);color:#fff}.p-answer:disabled{cursor:default}.p-answer.right{border-color:var(--success);background:var(--success-light)}.p-answer.right:before{background:var(--success);color:#fff}.p-answer.wrong{border-color:var(--error);background:var(--error-light)}.p-answer.wrong:before{background:var(--error);color:#fff}.p-feedback{font-size:var(--text-base);color:var(--neutral-700);border-left:3px solid var(--primary);padding-left:var(--space-4)}@media (max-width:1024px){.editor{grid-template-columns:1fr}.gate-panel,.screen-rail{display:none}}.phase-bar{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:center}.phase-pip{font-size:var(--text-xs);color:var(--neutral-500);padding:2px var(--space-2);border-radius:var(--radius-full);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.phase-pip.active{background:var(--primary);color:#fff;font-weight:600}.phase-pip.done{background:var(--primary-light);color:var(--primary-dark)}button.phase-pip{border:none;cursor:default;font:inherit}button.phase-pip.clickable{cursor:pointer}button.phase-pip.clickable:hover{filter:brightness(.95)}.dash-journey{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.bfs-intro{display:flex;flex-direction:column;gap:var(--space-5);border:1px solid var(--neutral-200);background:linear-gradient(180deg,#fdf3ec 0,var(--surface-base) 42%);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm)}.bfs-intro-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.bfs-intro-head h2{margin:0;font-size:var(--text-xl);letter-spacing:-.02em}.bfs-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-6);gap:var(--space-6)}.bfs-step{display:flex;gap:var(--space-3);align-items:flex-start}.bfs-step strong{display:block;margin-bottom:var(--space-1);color:var(--neutral-900)}.bfs-step p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--neutral-600)}.bfs-pip{flex:none;width:30px;height:30px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--primary) 0,var(--primary-accent) 100%);color:#fff;font-weight:600;font-size:var(--text-sm);justify-content:center;box-shadow:var(--shadow-sm)}.bfs-cta,.bfs-pip{display:flex;align-items:center}.bfs-cta{gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-1)}.wizard-level{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4)}.wizard-level .hint{margin:0}.wizard-payoff{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-left:3px solid var(--success);background:var(--success-light);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--neutral-700)}.wizard-payoff strong{color:var(--success)}.guide-box{border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--neutral-600)}.guide-box summary{cursor:pointer;font-weight:500;color:var(--neutral-700)}.guide-box div{margin-top:var(--space-2);line-height:1.65}.friction-row{display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-3)}.friction-row input[type=text]{padding:var(--space-2) var(--space-3);border:1px solid var(--neutral-300);border-radius:var(--radius);font-size:var(--text-sm)}.check-row{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-sm);color:var(--neutral-700);padding:var(--space-1) 0;cursor:pointer}.check-row input{margin-top:3px;accent-color:var(--primary)}.decision-page{max-width:720px;margin-inline:auto;padding:var(--space-10) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.decision-page .finding{border-left-color:var(--primary)}.media-block{display:flex;flex-direction:column;gap:var(--space-2)}.media-block img,.media-block video{max-width:100%;border-radius:var(--radius-md)}.media-block input[type=text]{padding:var(--space-1) var(--space-2);border:1px solid var(--neutral-300);border-radius:var(--radius);font-size:var(--text-xs)}.media-placeholder{display:grid;place-items:center;background:var(--neutral-100);color:var(--neutral-400);border-radius:var(--radius-md);min-height:120px;font-size:var(--text-sm)}.p-media{display:flex;flex-direction:column;gap:var(--space-2)}.p-media img,.p-media video{max-width:100%;max-height:55vh;border-radius:var(--radius-md);object-fit:contain}.p-media figcaption{font-size:var(--text-sm);color:var(--neutral-500)}.p-answer.picked{border-color:var(--primary);background:var(--primary-light)}.p-answer.picked:before{background:var(--primary);color:#fff}