:root{--orange: #E84E0F;--charcoal: #1C1C1C;--black: #111111;--white: #FFFFFF;--gray-dk: #374151;--gray-md: #9CA3AF;--navy: #1E3A5F;--red: #DC2626;--green: #16A34A;--amber: #D97706;--dark-red: #3B0000;--dark-green: #0A2E1A}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--black);color:var(--white);-webkit-tap-highlight-color:transparent}body{font-family:Barlow,sans-serif;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,.display{font-family:Bebas Neue,sans-serif;font-weight:400;letter-spacing:.01em;margin:0}p,label,span,button,input,select,textarea,div{font-family:Barlow,sans-serif}button{cursor:pointer;font-family:Barlow,sans-serif}input,select,textarea{font-family:Barlow,sans-serif;font-size:16px}a{color:var(--orange)}::selection{background:var(--orange);color:var(--white)}.tpf-app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;background:var(--black)}.tpf-screen{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;animation:tpf-slide-in .4s cubic-bezier(.22,.61,.36,1)}.tpf-screen.tpf-screen-center{align-items:center}@keyframes tpf-slide-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.tpf-fade{animation:tpf-fade-in .5s ease}@keyframes tpf-fade-in{0%{opacity:0}to{opacity:1}}.tpf-scroll{flex:1;overflow-y:auto;padding-bottom:96px}.tpf-progress{position:sticky;top:0;left:0;right:0;height:4px;background:#ffffff14;z-index:50}.tpf-progress-fill{height:100%;background:var(--orange);transition:width .5s ease}.tpf-logo{display:flex;align-items:center;gap:6px;padding:18px 20px 0}.tpf-logo span{font-family:Barlow,sans-serif;font-weight:600;font-size:15px;color:var(--white);letter-spacing:.01em}.tpf-bottomnav{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;background:var(--charcoal);display:flex;justify-content:space-around;align-items:center;padding:10px 8px calc(10px + env(safe-area-inset-bottom));z-index:40;border-top:1px solid #2b2b2b}.tpf-navitem{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--gray-md);font-size:11px;font-weight:600;letter-spacing:.03em;position:relative;padding-top:8px;background:none;border:none}.tpf-navitem .tpf-dot{position:absolute;top:-2px;width:5px;height:5px;border-radius:50%;background:transparent}.tpf-navitem.active{color:var(--white)}.tpf-navitem.active .tpf-dot{background:var(--orange)}.tpf-navitem.complete{color:var(--orange)}.tpf-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 20px;background:var(--orange);color:var(--white);border:none;border-radius:4px;font-weight:600;font-size:16px;letter-spacing:.02em;transition:transform .15s ease,opacity .15s ease,background .15s ease}.tpf-btn:active{transform:scale(.98)}.tpf-btn:disabled{background:#4a3125;color:#fff6;cursor:not-allowed}.tpf-btn-outline{background:transparent;border:1px solid var(--gray-dk);color:var(--white)}.tpf-shake{animation:tpf-shake .4s ease}@keyframes tpf-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.tpf-card{background:var(--white);color:var(--black);border-radius:4px;border:1px solid var(--gray-dk);box-shadow:0 8px 24px #00000040;padding:24px 20px}.tpf-field{margin-bottom:18px}.tpf-field label{display:block;font-size:13px;font-weight:600;color:var(--gray-dk);letter-spacing:.02em;text-transform:uppercase;margin-bottom:8px}.tpf-field input,.tpf-field select,.tpf-field textarea{width:100%;padding:14px;border:1px solid var(--gray-dk);border-radius:4px;background:var(--white);color:var(--black);outline:none;transition:border-color .15s ease}.tpf-field input:focus,.tpf-field select:focus,.tpf-field textarea:focus{border-color:var(--orange)}.tpf-field textarea{resize:vertical;min-height:96px}.tpf-error{color:var(--orange);font-size:13px;margin-top:6px;font-weight:600}.tpf-counter{font-size:12px;color:var(--gray-md);text-align:right;margin-top:6px}.tpf-module-title{background:var(--charcoal);padding:28px 20px 32px;position:relative;border-left:6px solid transparent}.tpf-bg-photo{background-size:cover;background-position:center;position:relative}.tpf-bg-photo:before{content:"";position:absolute;inset:0;background:#000000a6;z-index:0}.tpf-bg-photo>*{position:relative;z-index:1}.tpf-module-topbar{position:absolute;top:0;left:0;right:0;height:6px}.tpf-module-label{color:var(--orange);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.tpf-module-sub{color:var(--gray-md);font-size:15px;margin-top:6px}.tpf-pill{display:inline-block;margin-top:16px;padding:6px 14px;background:#e84e0f26;border:1px solid var(--orange);color:var(--orange);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em}.tpf-content{background:var(--white);color:var(--black);flex:1;padding:28px 20px 40px}.tpf-section-title{font-family:Bebas Neue,sans-serif;font-size:22px;letter-spacing:.02em;color:var(--black);margin-bottom:14px}.tpf-orange-title{color:var(--orange)}.tpf-stat-row{display:flex;gap:10px;margin-bottom:24px}.tpf-stat-card{flex:1;background:#f7f7f7;border:1px solid var(--gray-dk);border-radius:4px;padding:16px 10px;text-align:center}.tpf-stat-num{font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1}.tpf-stat-label{font-size:11px;color:var(--gray-dk);margin-top:8px;line-height:1.3}.tpf-callout{background:var(--charcoal);color:var(--white);border-left:4px solid var(--orange);padding:18px 16px;border-radius:4px;font-size:15px;line-height:1.5;margin-bottom:24px}.tpf-callout.amber-card{background:#fef3e2;color:var(--black);border-left-color:var(--amber)}.tpf-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:14px}.tpf-table td{padding:12px 6px;border-bottom:1px solid #E5E7EB}.tpf-status-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;color:var(--white)}.tpf-bar-row{margin-bottom:14px}.tpf-bar-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:6px;font-weight:600}.tpf-bar-track{height:12px;background:#eee;border-radius:2px;overflow:hidden}.tpf-bar-fill{height:100%;transition:width 1.1s cubic-bezier(.16,1,.3,1)}.tpf-twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.tpf-col{padding:14px 10px;border-radius:4px;font-size:13px;line-height:1.5}.tpf-col.green{background:#eaf7ee}.tpf-col.red{background:#fdecec}.tpf-col-title{font-weight:700;font-size:12px;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.tpf-col ul{margin:0;padding-left:0;list-style:none}.tpf-col li{margin-bottom:8px}.tpf-issue-row{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #E5E7EB;font-size:14px;align-items:flex-start}.tpf-exercise-header{color:var(--orange);font-family:Bebas Neue,sans-serif;font-size:26px;margin:32px 0 16px;letter-spacing:.02em}.tpf-scenario-card{background:#fbf6ec;border-left:4px solid var(--amber);border-radius:4px;padding:18px 16px;font-size:15px;line-height:1.6;margin-bottom:20px;font-style:italic}.tpf-choice{display:flex;align-items:center;gap:12px;min-height:48px;padding:14px 16px;border:1px solid var(--gray-dk);border-radius:4px;margin-bottom:10px;font-size:15px;background:var(--white);transition:border-color .15s ease,background .15s ease}.tpf-choice.selected{border-color:var(--orange);border-width:2px;background:#fff3ec;font-weight:600}.tpf-choice .tpf-check{width:22px;height:22px;min-width:22px;border-radius:4px;border:2px solid var(--gray-dk);display:flex;align-items:center;justify-content:center;color:transparent;font-weight:700}.tpf-choice.circle .tpf-check{border-radius:50%}.tpf-choice.selected .tpf-check{border-color:var(--orange);background:var(--orange);color:var(--white)}.tpf-rating-row{display:flex;gap:10px;margin-bottom:16px}.tpf-rating-btn{flex:1;aspect-ratio:1;border:2px solid var(--gray-dk);border-radius:4px;background:var(--white);font-family:Bebas Neue,sans-serif;font-size:26px;color:var(--black);display:flex;align-items:center;justify-content:center}.tpf-rating-btn.selected{border-color:var(--orange);background:var(--orange);color:var(--white)}.tpf-rating-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--gray-md);margin-bottom:20px}.tpf-reflection{background:#f0f5ff;border-left:4px solid var(--navy);padding:14px 16px;border-radius:4px;font-size:14px;margin:14px 0 24px;font-weight:600}.tpf-rank-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--gray-dk);border-radius:4px;margin-bottom:10px;background:var(--white);min-height:48px}.tpf-rank-num{width:28px;height:28px;border-radius:50%;border:2px solid var(--gray-dk);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.tpf-rank-item.ranked .tpf-rank-num{background:var(--orange);border-color:var(--orange);color:var(--white)}.tpf-checklist-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 14px;border:1px solid var(--gray-dk);border-radius:4px;margin-bottom:8px;background:var(--white)}.tpf-tri-dot{width:26px;height:26px;min-width:26px;border-radius:50%;border:2px solid var(--gray-dk);flex-shrink:0}.tpf-tri-dot.green{background:var(--green);border-color:var(--green)}.tpf-tri-dot.yellow{background:var(--amber);border-color:var(--amber)}.tpf-tri-dot.red{background:var(--red);border-color:var(--red)}.tpf-checklist-item span{font-size:14px;line-height:1.3}.tpf-result-banner{padding:20px 16px;border-radius:4px;text-align:center;margin:20px 0;color:var(--white)}.tpf-result-banner h3{font-size:26px;margin-bottom:6px}.tpf-commitment-screen{background:var(--charcoal);min-height:100vh;min-height:100dvh;padding:40px 24px;display:flex;flex-direction:column}.tpf-thin-line{width:48px;height:3px;background:var(--orange);margin:0 auto 24px}.tpf-toggle-row{display:flex;align-items:center;gap:14px;margin:24px 0}.tpf-toggle{width:52px;height:30px;border-radius:999px;background:var(--gray-dk);position:relative;border:none;flex-shrink:0;transition:background .2s ease}.tpf-toggle.on{background:var(--orange)}.tpf-toggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--white);transition:transform .2s ease}.tpf-toggle.on .tpf-toggle-knob{transform:translate(22px)}.tpf-confetti{position:fixed;inset:0;pointer-events:none;z-index:100}.tpf-confetti-piece{position:absolute;width:8px;height:14px;top:50%;left:50%;animation:tpf-confetti-burst 1.4s ease-out forwards}@keyframes tpf-confetti-burst{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:var(--end-transform)}}.tpf-flash{position:fixed;inset:0;background:var(--orange);z-index:200;display:flex;align-items:center;justify-content:center;animation:tpf-flash-pulse .6s ease}@keyframes tpf-flash-pulse{0%{opacity:0}40%{opacity:1}to{opacity:1}}.tpf-flash-fade{animation:tpf-flash-out .5s ease forwards}@keyframes tpf-flash-out{to{opacity:0}}.tpf-flash h1{color:var(--white);font-size:44px;text-align:center;padding:0 24px}.tpf-complete-screen{position:fixed;inset:0;background:var(--black);z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:tpf-fade-in .3s ease}.tpf-checkmark{width:84px;height:84px;border-radius:50%;border:3px solid var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:tpf-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes tpf-pop{0%{transform:scale(0)}to{transform:scale(1)}}.tpf-checkmark svg{width:40px;height:40px}.tpf-admin{min-height:100vh;background:#f3f4f6;color:var(--black);padding:20px;max-width:100%}.tpf-admin-header{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:700px){.tpf-admin-header{grid-template-columns:repeat(4,1fr)}}.tpf-admin-stat{background:var(--white);border:1px solid var(--gray-dk);border-radius:4px;padding:16px}.tpf-admin-stat .num{font-family:Bebas Neue,sans-serif;font-size:32px;color:var(--orange)}.tpf-admin-stat .label{font-size:12px;color:var(--gray-dk);text-transform:uppercase;letter-spacing:.03em;margin-top:4px}.tpf-commitment-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:28px}@media(min-width:700px){.tpf-commitment-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.tpf-commitment-grid{grid-template-columns:repeat(3,1fr)}}.tpf-commitment-card{background:var(--white);border:1px solid var(--gray-dk);border-radius:4px;padding:16px}.tpf-admin-table-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--gray-dk);border-radius:4px;margin-bottom:24px}.tpf-admin-table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px}.tpf-admin-table th,.tpf-admin-table td{padding:10px 12px;border-bottom:1px solid #E5E7EB;text-align:left;white-space:nowrap}.tpf-admin-table td:last-child{white-space:normal}.tpf-btn-pdf{background:var(--orange)!important;color:#fff!important;border-color:var(--orange)!important}.tpf-btn-pdf:disabled{opacity:.5;cursor:not-allowed}.tpf-session-complete-banner{background:var(--green);color:#fff;font-weight:700;text-align:center;padding:12px 16px;border-radius:4px;margin-bottom:16px;letter-spacing:.02em}.tpf-admin-table th{cursor:pointer;background:#f9fafb;font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.tpf-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tpf-filter-bar select{padding:8px 12px;border:1px solid var(--gray-dk);border-radius:4px;background:var(--white);font-size:14px}.tpf-qr-page{min-height:100vh;background:var(--white);color:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.tpf-qr-card{max-width:480px}.tpf-qr-eyebrow{color:var(--orange);font-weight:700;font-size:13px;letter-spacing:.12em;margin-bottom:8px}.tpf-qr-page h1{font-size:34px;margin-bottom:6px}.tpf-qr-sub{color:var(--gray-dk);font-size:15px;margin-bottom:28px}.tpf-qr-img{width:100%;max-width:380px;border:1px solid #E5E7EB;border-radius:8px;margin-bottom:24px}.tpf-qr-footer{color:var(--gray-md);font-size:13px}.tpf-app-shell{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;background:var(--black)}.tpf-app-body{padding-bottom:0}.tpf-admin-login{max-width:380px;margin:0 auto;padding:0 24px;width:100%}.tpf-admin-login .tpf-logo{padding:0 0 24px;justify-content:center}.tpf-admin-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.tpf-admin-controls select{padding:10px 12px;border:1px solid var(--gray-dk);border-radius:4px;background:var(--white);font-size:14px}.tpf-btn.small{width:auto;padding:10px 18px;font-size:13px;text-decoration:none;display:inline-flex}.tpf-admin-header .tpf-logo{padding:0 0 12px}.tpf-admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}@media(min-width:700px){.tpf-admin-stats{grid-template-columns:repeat(4,1fr)}}.tpf-admin-stats .tpf-stat-card{background:var(--white)}.tpf-commitment-card{background:var(--charcoal);border-radius:6px;padding:24px 20px;margin-bottom:24px;color:var(--white)}.tpf-confetti-wrap{position:fixed;inset:0;pointer-events:none;z-index:300;overflow:hidden}.tpf-confetti-piece{position:absolute;top:-20px;width:8px;height:14px;animation:tpf-confetti-fall 1.8s ease-in forwards}@keyframes tpf-confetti-fall{to{transform:translateY(110vh) rotate(360deg);opacity:.4}}.tpf-presenter-screen{min-height:100vh;min-height:100dvh;background:var(--charcoal);display:flex;flex-direction:column}.tpf-presenter-topbar{padding:16px 20px 0;border-top:6px solid var(--orange)}.tpf-presenter-hero-wrap{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;margin-top:16px}.tpf-presenter-hero-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.tpf-presenter-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;background:linear-gradient(135deg,#2a2a2a,#1c1c1c);color:var(--gray-md);font-size:14px;font-style:italic}.tpf-presenter-hero-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(28,28,28,0) 55%,var(--charcoal) 100%);pointer-events:none}.tpf-presenter-body{padding:4px 20px 32px;margin-top:-8px}.tpf-presenter-name{color:#fff;font-size:38px;margin:0;line-height:1}.tpf-presenter-title{color:var(--gray-md);font-size:13px;margin:6px 0 14px}.tpf-presenter-rule{width:80px;height:3px;background:var(--orange);margin-bottom:18px}.tpf-presenter-card{background:#242424;border:1px solid var(--gray-dk);border-radius:4px;padding:20px;margin-bottom:24px}.tpf-presenter-quote{font-style:italic;font-size:15px;color:#fff;line-height:1.5;margin:0 0 20px}.tpf-presenter-stats{display:flex;justify-content:space-between;gap:10px}.tpf-presenter-stat{flex:1;text-align:center}.tpf-presenter-stat-num{color:var(--orange);font-family:Bebas Neue,sans-serif;font-size:22px;line-height:1.1}.tpf-presenter-stat-label{color:var(--gray-md);font-size:10.5px;margin-top:4px;line-height:1.3}.tpf-presenter-section-label{color:var(--orange);font-family:Bebas Neue,sans-serif;font-size:20px;letter-spacing:.06em;margin-bottom:12px}.tpf-presenter-cdl-img{display:block;max-width:100%;margin:0 auto;border-radius:4px;box-shadow:0 8px 24px #00000080}.tpf-presenter-caption{color:var(--gray-md);font-size:12px;font-style:italic;text-align:center;margin:10px 0 28px}.tpf-presenter-expect{list-style:none;padding:0;margin:0 0 28px}.tpf-presenter-expect li{position:relative;padding-left:20px;margin-bottom:12px;font-size:14px;color:#fff;line-height:1.4}.tpf-presenter-expect li:before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%;background:var(--orange)}.tpf-presenter-cta{width:100%}
