.app-shell{min-height:100vh;background:linear-gradient(180deg,#ffed001f,#f5f5f500 260px),var(--color-light)}.brand-logo{display:inline-flex;align-items:center;justify-content:flex-start;width:min(250px,100%);min-height:58px}.brand-logo img{display:block;width:100%;max-width:250px;height:auto;object-fit:contain}.brand-logo--compact{width:150px;min-height:40px}.brand-logo--compact img{max-width:150px}.brand-logo__fallback{display:inline-flex;align-items:center;min-height:42px;padding:0 .65rem;border-bottom:10px solid var(--color-yellow);color:var(--color-black);background:var(--color-white);font-size:1.45rem;font-weight:900;letter-spacing:0}.brand-logo__fallback[hidden]{display:none}.start-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);background:var(--color-dark);color:var(--color-white)}.start-screen__intro{display:flex;flex-direction:column;justify-content:space-between;gap:4rem;padding:clamp(2rem,5vw,5rem);border-top:12px solid var(--color-yellow)}.start-screen__copy{max-width:780px}.eyebrow{margin:0 0 .75rem;color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.start-screen .eyebrow,.app-header__eyebrow{color:var(--color-yellow)}.start-screen h1,.page-heading h1,.module-view__heading h1{margin:0;color:inherit;font-size:clamp(2.45rem,7vw,5.75rem);line-height:.96;letter-spacing:0}.start-screen__subtitle{margin:1.2rem 0 0;color:var(--color-yellow);font-size:clamp(1.2rem,2.2vw,2rem);font-weight:800}.start-screen__text{max-width:680px;margin:2rem 0 0;color:#ffffffc7;font-size:1.08rem;line-height:1.7}.start-panel{display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,4rem);background:var(--color-white);color:var(--color-dark)}.start-form{width:min(100%,460px);display:grid;gap:1.25rem;padding:clamp(1.25rem,4vw,2.5rem);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-soft)}.field{display:grid;gap:.5rem}.field label{color:var(--color-dark);font-size:.95rem;font-weight:800}.field label span{margin-left:.45rem;color:#524b00;font-size:.72rem;text-transform:none}.field input,.field textarea{width:100%;border:1px solid #bdbdbd;border-radius:6px;background:var(--color-white);color:var(--color-dark);padding:.85rem .95rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field textarea{resize:vertical;min-height:118px;line-height:1.55}.field input:focus,.field textarea:focus{border-color:var(--color-black);box-shadow:0 0 0 3px #ffed00b3}.field input[aria-invalid=true]{border-color:#a80000}.field__error{margin:0;color:#a80000;font-size:.88rem}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:6px;padding:.78rem 1.1rem;font-weight:900;transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.button:not(:disabled):hover{transform:translateY(-1px)}.button--primary{background:var(--color-yellow);color:var(--color-black)}.button--secondary{border:1px solid var(--color-black);background:var(--color-white);color:var(--color-black)}.button--secondary:hover{background:var(--color-black);color:var(--color-white)}.button--disabled,.button--disabled:disabled{background:#d7d7d7;color:#696969}.button--danger{border:1px solid #8d0000;background:var(--color-white);color:#8d0000}.button--danger:hover{background:#8d0000;color:var(--color-white)}.text-button{width:fit-content;border:0;background:transparent;color:var(--color-dark);font-weight:900;padding:.35rem 0;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--color-yellow);text-underline-offset:.22em}.app-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(240px,1.2fr) auto minmax(230px,.8fr);align-items:center;gap:1.25rem;padding:.9rem clamp(1rem,4vw,3rem);border-bottom:5px solid var(--color-yellow);background:var(--color-black);color:var(--color-white)}.app-header__brand{display:flex;align-items:center;gap:1.1rem;min-width:0}.app-header__eyebrow,.app-header__name{margin:0}.app-header__name{overflow:hidden;color:#ffffffd1;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.app-header__nav{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.nav-button{min-height:38px;border:1px solid rgba(255,255,255,.26);border-radius:6px;background:transparent;color:var(--color-white);padding:.55rem .8rem;font-weight:800}.nav-button:hover:not(:disabled),.nav-button.is-active{border-color:var(--color-yellow);background:var(--color-yellow);color:var(--color-black)}.nav-button:disabled{color:#ffffff6b}.app-header__progress{display:grid;gap:.4rem;color:#ffffffb8;font-size:.88rem;font-weight:700}.progress{display:grid;gap:.35rem}.progress__track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#d8d8d8}.progress--light .progress__track{background:#ffffff38}.progress__fill{height:100%;border-radius:inherit;background:var(--color-yellow);transition:width .22s ease}.progress__label{color:inherit;font-size:.86rem;font-weight:800}.page{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem) 0 4rem}.page-heading,.module-view__heading{display:grid;gap:1rem;margin-bottom:2rem}.page-heading{max-width:820px}.page-heading h1,.module-view__heading h1{color:var(--color-black);font-size:clamp(2rem,4.8vw,4rem);line-height:1.02}.page-heading p,.module-view__heading p{margin:0;color:#545454;font-size:1.02rem;line-height:1.65}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.module-card,.video-panel,.questions-panel,.summary-item{border:1px solid var(--color-border);border-radius:8px;background:var(--color-white);box-shadow:0 10px 28px #0000000f}.module-card{min-height:310px;display:flex;flex-direction:column;gap:1rem;padding:1.35rem;position:relative}.module-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;border-radius:8px 0 0 8px;background:var(--color-yellow);opacity:0}.module-card.is-completed:before{opacity:1}.module-card.is-locked{background:#ededed;color:#5b5b5b}.module-card__topline{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--color-muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.module-card__status{display:inline-flex;align-items:center;gap:.35rem;text-align:right}.status-check{width:14px;height:8px;display:inline-block;border-bottom:3px solid #007a2f;border-left:3px solid #007a2f;transform:rotate(-45deg) translateY(-1px)}.module-card h2{margin:0;color:var(--color-black);font-size:1.28rem;line-height:1.25}.module-card p{flex:1;margin:0;color:#555;line-height:1.55}.module-view{display:grid;gap:1.25rem}.video-panel,.questions-panel{display:grid;gap:1rem;padding:clamp(1rem,3vw,1.5rem)}.video-panel__copy h2,.questions-panel h2,.summary-item h2{margin:0 0 .4rem;color:var(--color-black);font-size:1.25rem}.video-panel__copy p,.locked-note,.summary-item p{margin:0;color:#555;line-height:1.6}.video-player,.video-error,.demo-video{width:100%;aspect-ratio:16 / 9;border-radius:8px;background:var(--color-black)}.video-player{display:block}.video-error{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:var(--color-white);text-align:center;border:2px solid var(--color-yellow)}.demo-video{position:relative;overflow:hidden;border:2px solid var(--color-yellow);isolation:isolate}.demo-video__poster{width:100%;height:100%;display:block;object-fit:cover}.demo-video__overlay{position:absolute;inset:auto 1.4rem 4.2rem;display:grid;gap:.2rem;color:var(--color-white);text-shadow:0 2px 14px rgba(0,0,0,.42)}.demo-video__mark{width:fit-content;display:inline-flex;align-items:center;min-height:44px;margin-bottom:.35rem;padding:0 .65rem;border-bottom:8px solid var(--color-yellow);background:var(--color-black);color:var(--color-white);font-size:1.55rem;font-weight:900;letter-spacing:0}.demo-video__overlay p,.demo-video__overlay h3,.demo-video__overlay span{margin:0}.demo-video__overlay p,.demo-video__overlay span{font-weight:900;letter-spacing:.08em;text-transform:uppercase}.demo-video__overlay p{color:var(--color-yellow);font-size:.85rem}.demo-video__overlay h3{font-size:clamp(1.7rem,4vw,3rem);line-height:1}.demo-video__overlay span{color:#ffffffd1;font-size:.78rem}.demo-video__play{position:absolute;left:1.4rem;bottom:1.2rem;min-width:92px;min-height:38px;border:0;border-radius:999px;background:var(--color-yellow);color:var(--color-black);font-size:.86rem;font-weight:900}.demo-video__play:disabled{background:#e8e8e8;color:#555}.demo-video__timeline{position:absolute;right:1.4rem;bottom:1.55rem;left:7.6rem;height:8px;overflow:hidden;border-radius:999px;background:#ffffff42}.demo-video__timeline span{display:block;width:0;height:100%;border-radius:inherit;background:var(--color-yellow)}.demo-video.is-playing .demo-video__timeline span{animation:demo-video-progress 5.2s linear forwards}@keyframes demo-video-progress{0%{width:0}to{width:100%}}.video-state{display:flex;justify-content:flex-end}.state-pill{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;background:#e4e4e4;color:#5b5b5b;padding:.4rem .75rem;font-size:.84rem;font-weight:900}.state-pill.is-done{background:var(--color-yellow);color:var(--color-black)}.questions-panel.is-disabled{background:#eee}.questions-panel__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:1.2rem;align-items:end}.question-list{display:grid;gap:1rem}.module-actions,.completion-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.summary-list{display:grid;gap:.9rem}.summary-item{padding:1.2rem}.summary-item p{white-space:pre-wrap}.completion-actions{margin-top:1.4rem}.action-feedback{margin:1rem 0 0;color:#006c2c;font-weight:800}.action-feedback--error{color:#a80000}@media(max-width:1040px){.start-screen{grid-template-columns:1fr}.start-screen__intro{min-height:auto}.app-header{grid-template-columns:1fr}.app-header__nav{justify-content:flex-start}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.app-header{gap:.65rem;padding:.65rem 1rem}.start-screen__intro,.start-panel{padding:1.25rem}.start-screen h1{font-size:clamp(2.35rem,16vw,4rem)}.brand-logo{width:210px}.brand-logo--compact{width:132px}.app-header__brand{align-items:center;flex-direction:row;gap:.75rem}.app-header__nav{justify-content:flex-start;flex-wrap:wrap;gap:.35rem;overflow-x:visible;padding-bottom:0}.app-header__progress{gap:.25rem;font-size:.8rem}.module-actions,.completion-actions{align-items:stretch;flex-direction:column}.button{width:100%}.nav-button{flex:0 0 auto;min-height:34px;padding:.42rem .55rem;font-size:.8rem}.module-grid,.questions-panel__header{grid-template-columns:1fr}.module-card{min-height:0}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f1f1f;background:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-yellow: #ffed00;--color-black: #000000;--color-dark: #1f1f1f;--color-light: #f5f5f5;--color-white: #ffffff;--color-border: #d9d9d9;--color-muted: #666666;--shadow-soft: 0 18px 45px rgba(0, 0, 0, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}#root{min-height:100vh}
