:root{--bone: #f4f0e7;--surface: #fcfaf4;--surface-raised: #ffffff;--pine: #103b33;--pine-hover: #0b2c26;--pine-mid: #1c6b5c;--accent: #c4762f;--accent-soft: #e7b579;--accent-ink: #8a4f1f;--ink: #17211e;--muted: #566259;--faint: #8a938b;--border: #ded7c7;--border-strong: #767e77;--danger: #9a3324;--danger-soft: #f3ded8;--focus: var(--accent);--color-bg: var(--bone);--color-surface: var(--surface);--color-border: var(--border);--color-text: var(--ink);--color-text-muted: var(--muted);--color-primary: var(--pine);--color-primary-dark: var(--pine-hover);--color-primary-contrast: var(--bone);--color-accent: var(--accent);--color-danger: var(--danger);--color-focus: var(--focus);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--font-display: "Fraunces", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans: var(--font-body);--radius-sm: 8px;--radius: 12px;--radius-lg: 14px;--max-width: 72rem;--shadow-sm: 0 1px 2px rgba(16, 59, 51, .06), 0 1px 1px rgba(16, 59, 51, .04);--shadow-md: 0 8px 24px rgba(16, 59, 51, .08), 0 2px 6px rgba(16, 59, 51, .06);--shadow-lg: 0 20px 48px rgba(16, 59, 51, .14), 0 6px 16px rgba(16, 59, 51, .08);--hero-image: url(/hero/login-hero.jpg)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bone);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1.15;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:500;margin:0 0 var(--space-4)}h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:0 0 var(--space-3)}h3{font-size:1.2rem;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-4);color:var(--ink)}a{color:var(--pine-mid);text-decoration-thickness:1.5px;text-underline-offset:.15em}a:hover{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--pine);color:var(--bone);padding:var(--space-2) var(--space-4);z-index:1000;border-radius:0 0 var(--radius-sm) 0;font-weight:600}.skip-link:focus{left:0;top:0}.app-shell{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh}.app-main{width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-7)}.app-main:focus-visible{outline:none}.app-main-immersive{flex:1;min-height:0;max-width:none;padding:0}.app-footer{background:transparent;border-top:1px solid var(--border);padding:var(--space-5) var(--space-4) var(--space-6);text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.app-nav{position:sticky;top:0;z-index:50;background:#fcfaf4db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-nav-inner{display:flex;align-items:center;gap:var(--space-5);max-width:var(--max-width);margin-inline:auto;padding:var(--space-3) var(--space-4);flex-wrap:wrap}.app-nav-brand{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--pine);letter-spacing:-.01em;text-decoration:none}.app-nav-brand:hover{color:var(--pine)}.app-nav-inner ul{list-style:none;display:flex;gap:var(--space-1);padding:0;margin:0 auto 0 var(--space-3);flex-wrap:wrap}.app-nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.925rem;padding:var(--space-2) var(--space-3);border-radius:999px;position:relative;transition:color .15s ease,background-color .15s ease}.app-nav a:hover{color:var(--pine);background:#103b330f}.app-nav a.active{color:var(--pine);font-weight:600}.app-nav a.active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:2px;height:2px;background:var(--accent);border-radius:2px}.app-nav-account{display:flex;align-items:center;gap:var(--space-3)}.app-nav-user{font-size:.85rem;color:var(--muted);display:inline-flex;align-items:center;gap:var(--space-2)}.app-nav-role{text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--pine);background:#103b3314;padding:.2rem .5rem;border-radius:999px}.app-nav-logout{background:transparent;border:1px solid var(--border);color:var(--ink);padding:var(--space-1) var(--space-3);border-radius:999px;cursor:pointer;font:inherit;font-size:.85rem;transition:border-color .15s ease,background-color .15s ease,transform .15s cubic-bezier(.16,1,.3,1)}.app-nav-logout:hover{background:var(--bone);border-color:var(--pine)}.app-nav-logout:active{transform:translateY(1px)}.app-nav-minimal .app-nav-inner{justify-content:flex-start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin-block:var(--space-5);box-shadow:var(--shadow-sm)}.btn{font:inherit;font-weight:600;border-radius:999px;padding:var(--space-2) var(--space-5);cursor:pointer;border:1px solid transparent;transition:background-color .15s cubic-bezier(.16,1,.3,1),border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--pine);color:var(--bone)}.btn-primary:hover:not(:disabled){background:var(--pine-hover)}.btn-secondary{background:transparent;border-color:var(--pine);color:var(--pine)}.btn-secondary:hover:not(:disabled){background:#103b330f}.button-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-block:var(--space-3)}.form-field label{font-weight:600;font-size:.9rem;color:var(--ink)}.form-field input,.form-field textarea{font:inherit;padding:var(--space-3);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);max-width:28rem;background:var(--surface-raised);color:var(--ink);caret-color:var(--accent);transition:border-color .15s ease,box-shadow .15s ease}.form-field input:hover,.form-field textarea:hover{border-color:var(--faint)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #c4762f2e}.form-field textarea{max-width:100%}.field-hint{font-size:.85rem;color:var(--muted)}.field-hint-error,.form-error{color:var(--danger);font-weight:600}.state-panel{display:flex;align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-block:var(--space-4);color:var(--muted);font-size:.95rem}.state-panel:before{content:"";flex-shrink:0;width:.6rem;height:.6rem;border-radius:999px;background:var(--accent-soft)}.state-panel-loading:before{animation:state-pulse 1.4s ease-in-out infinite}@keyframes state-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.state-panel-error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:600}.state-panel-error:before{background:var(--danger);animation:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted);font-weight:600;font-family:var(--font-body);margin:0 0 var(--space-2)}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.auth-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-6) var(--space-7) var(--space-5);color:var(--bone);isolation:isolate}.auth-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--hero-image);background-size:cover;background-position:center}.auth-brand-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 90% at 15% 8%,rgba(196,118,47,.3),transparent 55%),radial-gradient(90% 70% at 85% 100%,rgba(28,107,92,.45),transparent 60%),linear-gradient(155deg,#0b2c26db,#103b33c7 48%,#14453bcc);animation:aurora-drift 22s ease-in-out infinite alternate;background-blend-mode:normal}@keyframes aurora-drift{0%{filter:hue-rotate(0deg) brightness(1);background-position:0% 0%,100% 100%,0 0}to{filter:hue-rotate(6deg) brightness(1.04);background-position:6% 4%,94% 96%,0 0}}.auth-brand-panel .grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.12;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.auth-brand-content{position:relative;z-index:1;max-width:30rem}.auth-wordmark{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--space-5)}.auth-headline{font-family:var(--font-display);font-size:clamp(2.1rem,3.4vw,3rem);font-weight:500;line-height:1.1;color:var(--bone);margin:0 0 var(--space-4)}.auth-subline{font-size:1.05rem;line-height:1.65;color:#f4f0e7d1;max-width:32rem;margin:0 0 var(--space-5)}.auth-weave{position:relative;z-index:1;margin-block:var(--space-5);width:100%;max-width:20rem}.auth-weave svg{width:100%;height:auto;display:block}.auth-weave-path-a,.auth-weave-path-b{stroke-dasharray:900;stroke-dashoffset:900;animation:weave-draw 2.6s ease-out forwards}.auth-weave-path-b{animation-delay:.25s}@keyframes weave-draw{to{stroke-dashoffset:0}}.auth-weave-float{animation:weave-float 8s ease-in-out infinite;transform-origin:center}@keyframes weave-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.auth-trust-list{position:relative;z-index:1;list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.auth-trust-list li{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:#f4f0e7e0}.auth-trust-dot{width:6px;height:6px;border-radius:999px;background:var(--accent-soft);flex-shrink:0}.auth-chip{position:relative;z-index:1;display:inline-flex;align-self:flex-start;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);background:#f4f0e71f;border:1px solid rgba(244,240,231,.28);padding:.4rem .85rem;border-radius:999px}.auth-panel-right{display:flex;align-items:center;justify-content:center;background:var(--bone);padding:var(--space-6) var(--space-5)}.auth-card{width:100%;max-width:27rem}.auth-card h1{font-size:clamp(1.9rem,3vw,2.4rem);animation:fade-up .6s ease-out both}.auth-tabs{display:inline-flex;gap:2px;margin-block:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;animation:fade-up .6s ease-out .08s both}.auth-tab{font:inherit;font-weight:600;font-size:.9rem;background:none;border:none;border-radius:999px;padding:var(--space-2) var(--space-5);cursor:pointer;color:var(--muted);transition:background-color .15s ease,color .15s ease,transform .15s cubic-bezier(.16,1,.3,1)}.auth-tab:hover{color:var(--pine)}.auth-tab:active{transform:scale(.97)}.auth-tab-active{color:var(--bone);background:var(--pine)}.auth-tab-active:hover{color:var(--bone)}.auth-form{animation:fade-up .6s ease-out .16s both}.auth-form .form-field:nth-of-type(1){animation-delay:.2s}.auth-form .btn-primary{width:100%;margin-top:var(--space-3);padding-block:var(--space-3);font-size:1rem}@keyframes fade-up{0%{transform:translateY(10px)}to{transform:translateY(0)}}.auth-demo-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.auth-demo-divider:before,.auth-demo-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-demo-cta{width:100%;padding-block:var(--space-3);background:var(--surface);border:1.5px solid var(--accent);color:var(--accent-ink);font-size:1rem}.auth-demo-cta:hover:not(:disabled){background:#c4762f1a;border-color:var(--accent-ink)}.auth-demo-cta-note{margin:var(--space-2) 0 0;font-size:.82rem;color:var(--muted);text-align:center}.auth-brand-demo-cta{position:relative;z-index:1;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5);background:#f4f0e724;border:1px solid rgba(244,240,231,.4);color:var(--bone);font:inherit;font-weight:600;font-size:.92rem;padding:var(--space-2) var(--space-5);border-radius:999px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .15s cubic-bezier(.16,1,.3,1)}.auth-brand-demo-cta:hover:not(:disabled){background:#f4f0e73d;border-color:#f4f0e7a6}.auth-brand-demo-cta:active:not(:disabled){transform:translateY(1px) scale(.98)}.auth-brand-demo-cta:disabled{opacity:.6;cursor:not-allowed}.auth-mobile-header{display:none}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr;height:auto;min-height:100%}.auth-brand-panel{display:none}.auth-mobile-header{display:block;position:relative;isolation:isolate;overflow:hidden;color:var(--bone);padding:var(--space-6) var(--space-4) var(--space-7)}.auth-mobile-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 90% at 20% 0%,rgba(196,118,47,.32),transparent 55%),linear-gradient(155deg,#0b2c26,#103b33 60%,#14453b)}.auth-mobile-header .auth-wordmark{margin-bottom:var(--space-4)}.auth-mobile-header .auth-headline{font-size:clamp(1.6rem,6vw,2.1rem);margin-bottom:var(--space-3)}.auth-mobile-header .auth-subline{font-size:.95rem;margin-bottom:var(--space-4)}.auth-panel-right{flex-direction:column;align-items:stretch;padding:0 0 var(--space-7)}.auth-panel-right .auth-card{align-self:center;width:100%;padding-inline:var(--space-4)}}@media (max-width: 480px){.auth-mobile-header{padding:var(--space-5) var(--space-3) var(--space-6)}.auth-panel-right{padding-bottom:var(--space-6)}.auth-panel-right .auth-card{padding-inline:var(--space-3)}}.home-lede{max-width:46rem;font-size:1.1rem;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-areas:"primary secondary-a" "primary secondary-b";gap:var(--space-4);padding:0;margin:var(--space-4) 0 var(--space-6);list-style:none}.stat-tile{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-4) var(--space-3);box-shadow:var(--shadow-sm);transform:translateY(14px);animation:tile-in .5s cubic-bezier(.16,1,.3,1) both;transition:box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.stat-tile:active{transform:translateY(1px) scale(.99)}.stat-tile dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted);margin-bottom:var(--space-2)}.stat-tile dd{margin:0;font-family:var(--font-display);font-size:2.4rem;font-weight:500;color:var(--pine)}.stat-tile-not-started{grid-area:secondary-a;animation-delay:60ms}.stat-tile-in-progress{grid-area:secondary-b;animation-delay:120ms}.stat-tile-completed{grid-area:primary;display:flex;flex-direction:column;justify-content:center;padding:var(--space-6) var(--space-6) var(--space-5);background:var(--pine);border-color:var(--pine);animation-delay:0ms}.stat-tile-completed dt{color:#f4f0e7bf}.stat-tile-completed dd{font-size:clamp(3rem,6vw,4.2rem);color:var(--bone)}.stat-tile-in-progress dd{color:var(--accent-ink)}.stat-tile-not-started dd{color:var(--muted)}@keyframes tile-in{to{opacity:1;transform:translateY(0)}}.next-module-card{background:var(--pine);color:var(--bone);border:none;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);transform:translateY(14px);animation:tile-in .5s cubic-bezier(.16,1,.3,1) .16s both;transition:transform .2s cubic-bezier(.16,1,.3,1)}.next-module-card:active{transform:translateY(1px)}.next-module-card h2{color:var(--bone)}.next-module-card p{color:#f4f0e7db;margin-bottom:var(--space-3)}.next-module-card a{color:var(--bone);font-weight:600;text-decoration-color:var(--accent-soft)}.next-module-card a:hover{color:var(--accent-soft)}.module-list{list-style:none;padding:0;display:grid;gap:var(--space-4)}.module-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);transform:translateY(14px);animation:tile-in .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--reveal-index, 0) * 60ms);transition:box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.module-card:has(.module-title):hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--pine-mid)}.module-card:has(.module-title):active{transform:translateY(0) scale(.99)}.module-list>li:nth-child(1){--reveal-index: 0}.module-list>li:nth-child(2){--reveal-index: 1}.module-list>li:nth-child(3){--reveal-index: 2}.module-list>li:nth-child(4){--reveal-index: 3}.module-list>li:nth-child(5){--reveal-index: 4}.module-list>li:nth-child(n+6){--reveal-index: 5}.module-card-stub{background:var(--surface)}.module-card-stub .module-card-title,.module-card-stub h2,.module-card-stub h3{color:var(--muted)}.module-card-stub .module-number{color:var(--faint)}.module-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);grid-column:1 / -1}.module-number{font-family:var(--font-display);font-weight:500;font-size:1.6rem;color:var(--faint);min-width:3.5rem}.module-card-body{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-1)}.module-title{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--ink);text-decoration:none;margin-bottom:var(--space-1)}.module-title:hover{color:var(--pine-mid);text-decoration:underline;text-decoration-color:var(--accent)}.module-title-disabled{color:var(--muted)}.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-not-started{background:var(--bone);color:var(--muted);border:1px solid var(--border)}.badge-in-progress{background:var(--accent-soft);color:var(--pine)}.badge-completed{background:var(--pine);color:var(--bone)}.badge-coming-soon{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.module-section{border-top:1px solid var(--border);padding-block:var(--space-6)}.module-section h3{max-width:42rem}.module-section-interactive{background:var(--surface);border:1px solid var(--accent-soft);border-radius:var(--radius);padding:var(--space-5);margin-block:var(--space-5)}.module-section-body{white-space:pre-line;max-width:42rem;color:var(--ink)}.video-slot{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;background:var(--pine);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--pine-hover);box-shadow:var(--shadow-md);position:relative}.video-slot-frame{position:relative;width:100%;border-radius:var(--radius-sm);overflow:hidden}.video-slot-play-affordance{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-slot-play-affordance span{width:3.2rem;height:3.2rem;border-radius:999px;background:#f4f0e724;border:1.5px solid rgba(244,240,231,.5);display:flex;align-items:center;justify-content:center;color:var(--bone);font-size:1.3rem;line-height:1;padding-left:.2rem}.video-slot-player{background:#000;max-height:22rem;width:100%;border-radius:var(--radius-sm);display:block}.video-slot-placeholder-note{color:#f4f0e7bf;font-size:.85rem;margin:0}.image-slot{margin:0}.image-slot-frame{position:relative;width:100%;overflow:hidden;border-radius:var(--radius-sm);background:var(--surface)}.image-slot-frame-rounded{border-radius:var(--radius-lg)}.image-slot-img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover}.image-slot-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);width:100%;height:100%;overflow:hidden;text-align:center;padding:var(--space-3);background:linear-gradient(135deg,#103b331f,#103b3308);border:1px dashed var(--border-strong)}.image-slot-placeholder-label{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--pine)}.image-slot-placeholder-alt{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.2}.image-slot-caption{margin-top:var(--space-2);font-size:.82rem;color:var(--muted);text-align:center}.diagram-frame{margin-top:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.diagram-graphic{overflow-x:auto}.diagram-graphic svg{display:block;max-width:100%;height:auto}.diagram-caption{margin:var(--space-3) 0 0;font-size:.85rem;color:var(--muted);text-align:center}.test-runner{display:flex;flex-direction:column;gap:var(--space-4)}.test-question{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.test-question legend{font-weight:600;font-family:var(--font-display);font-size:1.05rem;padding-inline:var(--space-1);margin-bottom:var(--space-2)}.test-choice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-block:var(--space-1);border-radius:var(--radius-sm);border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease}.test-choice:has(input:checked){background:#c4762f1a;border-color:var(--accent-soft)}.test-choice label{flex:1;cursor:pointer}.test-result-correct{color:var(--pine-mid);font-weight:600}.test-result-incorrect{color:var(--danger);font-weight:600}.test-result-summary{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--pine)}.resource-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--space-4)}.resource-card{transform:translateY(14px);animation:tile-in .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--reveal-index, 0) * 60ms)}.resource-card h3{margin-top:0;font-family:var(--font-display)}.resource-contact{margin-bottom:0;color:var(--muted)}.resource-card-featured{border-left:3px solid var(--accent);background:var(--surface-raised)}.resource-list>li:nth-child(1){--reveal-index: 0}.resource-list>li:nth-child(2){--reveal-index: 1}.resource-list>li:nth-child(3){--reveal-index: 2}.resource-list>li:nth-child(n+4){--reveal-index: 3}.faq-list{margin:0;max-width:46rem}.faq-item{border-top:1px solid var(--border);padding-block:var(--space-5)}.faq-item dt{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin-bottom:var(--space-2)}.faq-item dd{margin:0;color:var(--muted)}.team-list{list-style:none;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(24rem,1fr));align-items:start}.team-card-featured{grid-column:auto}.team-card{transform:translateY(14px);animation:tile-in .45s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--reveal-index, 0) * 60ms);transition:box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-card:active{transform:translateY(0) scale(.99)}.team-list>li:nth-child(1){--reveal-index: 0}.team-list>li:nth-child(2){--reveal-index: 1}.team-list>li:nth-child(3){--reveal-index: 2}.team-list>li:nth-child(4){--reveal-index: 3}.team-list>li:nth-child(n+5){--reveal-index: 4}.team-card h2{margin-top:0;font-size:1.15rem}.team-role{color:var(--accent-ink);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;margin-top:0}.team-intro-note{max-width:46rem}.team-card-body{display:grid;grid-template-columns:6rem 1fr;gap:var(--space-4);align-items:start}.team-card-featured .team-card-body{grid-template-columns:7.5rem 1fr}.team-card-portrait{width:100%}.team-card-contact{margin-top:var(--space-3);margin-bottom:0}.team-card-contact-link{display:inline-block;font-size:.85rem;padding:var(--space-1) var(--space-4)}.chart-wrap,.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:40rem}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border);font-size:.92rem}td{font-variant-numeric:tabular-nums}thead th{background:var(--surface);font-weight:600;color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}tbody tr:hover{background:#103b3308}.stat-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;max-width:30rem}.stat-grid-2 .stat-tile dd{font-family:var(--font-body);font-variant-numeric:tabular-nums}@media (max-width: 480px){.stat-grid-2{grid-template-columns:1fr 1fr}}.objectives-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.objectives-list li{position:relative;padding-left:1.5rem;color:var(--ink)}.objectives-list li:before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:999px;background:var(--accent)}.demo-hint{position:relative;max-width:42rem;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin:0 0 var(--space-6);box-shadow:var(--shadow-sm);transform:translateY(8px);animation:tile-in .4s cubic-bezier(.16,1,.3,1) both}.demo-hint-eyebrow{margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:700;color:var(--accent-ink)}.demo-hint-heading{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--ink)}.demo-hint-body{color:var(--muted);font-size:.92rem}.demo-hint-body p{margin:0 0 var(--space-2);color:var(--muted)}.demo-hint-body p:last-child{margin-bottom:var(--space-3)}.demo-hint-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.demo-hint-dismiss{padding-block:var(--space-1);padding-inline:var(--space-4);font-size:.85rem}.demo-hint-turn-off{background:none;border:none;padding:0;font:inherit;font-size:.8rem;color:var(--muted);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:.2em;cursor:pointer}.demo-hint-turn-off:hover{color:var(--pine);text-decoration-color:var(--pine)}@media (max-width: 768px){html,body{overflow-x:hidden}.app-main{padding:var(--space-5) var(--space-3) var(--space-6)}.app-nav-inner{gap:var(--space-2);padding-block:var(--space-3)}.app-nav-inner ul{width:100%;margin:var(--space-2) 0 0;gap:var(--space-1)}.app-nav a{display:block;padding:var(--space-2) var(--space-2)}.app-nav-account{width:100%;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:var(--space-2)}.stat-grid{grid-template-columns:1fr;grid-template-areas:"primary" "secondary-a" "secondary-b";gap:var(--space-3)}.stat-tile dd{font-size:1.8rem}.stat-tile-completed{padding:var(--space-5) var(--space-4) var(--space-4)}.stat-tile-completed dd{font-size:2.6rem}.team-list{grid-template-columns:1fr}.team-card-featured{grid-column:auto}.team-card-body,.team-card-featured .team-card-body{grid-template-columns:1fr;justify-items:center;text-align:center}.team-card-portrait{max-width:9rem}.module-card{grid-template-columns:1fr}.module-number{min-width:0}table{min-width:34rem}}@media (max-width: 480px){.app-main{padding:var(--space-4) var(--space-2) var(--space-5)}.card{padding:var(--space-4)}.team-list{grid-template-columns:1fr}.module-card-header{flex-wrap:wrap}.test-question{padding:var(--space-3)}.video-slot-player{max-height:14rem}.chart-wrap .recharts-responsive-container{height:260px!important}table{min-width:28rem}.app-nav-brand{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.auth-brand-panel:after,.auth-weave-float{animation:none!important}.auth-weave-path-a,.auth-weave-path-b{stroke-dashoffset:0}.auth-card h1,.auth-tabs,.auth-form{opacity:1;animation:none!important;transform:none!important}}.video-slot-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.video-slot-transcript{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-3) var(--space-4)}.video-slot-transcript>summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--pine);letter-spacing:.01em}.video-slot-transcript>summary:hover{color:var(--pine-hover)}.video-slot-transcript[open]>summary{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.video-slot-transcript-note{font-size:.85rem;color:var(--muted);margin:0 0 var(--space-3)}.video-slot-transcript-list{margin:0;padding-left:var(--space-5);display:grid;gap:var(--space-2)}.video-slot-transcript-list li{color:var(--ink);line-height:1.55}.recharts-legend-item-text,.recharts-cartesian-axis-tick-value{fill:var(--ink)!important;color:var(--ink)!important}.module-banner{display:block;width:100%;height:auto;aspect-ratio:5 / 2;object-fit:cover;border-radius:var(--radius-lg);margin:0 0 var(--space-5);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.module-banner{aspect-ratio:2 / 1;border-radius:var(--radius)}}.module-thumb-link{display:block;grid-column:1 / -1;margin-bottom:var(--space-4);border-radius:var(--radius);overflow:hidden;line-height:0}.module-thumb{display:block;width:100%;height:clamp(88px,12vw,132px);object-fit:cover;object-position:center;transition:transform .35s cubic-bezier(.16,1,.3,1)}.module-card:hover .module-thumb{transform:scale(1.02)}@media (prefers-reduced-motion: reduce){.module-thumb,.module-card:hover .module-thumb{transition:none;transform:none}}
