:root{--c-black: #1c1c1e;--c-white: #ffffff;--c-blue: #5b76fe;--c-blue-pressed: #2a41b6;--c-success: #00b473;--c-slate: #555a6a;--c-placeholder: #a5a8b5;--c-border: #c7cad5;--c-input-border: #e9eaef;--c-ring: rgb(224, 226, 232);--c-bg-subtle: #f7f8fa;--c-coral-l: #ffc6c6;--c-coral-d: #600000;--c-rose-l: #ffd8f4;--c-teal-l: #c3faf5;--c-teal-d: #187574;--c-orange-l: #ffe6cd;--c-yellow-d: #746019;--c-pink: #fde0f0;--f-display: "Plus Jakarta Sans", "DM Sans", system-ui, sans-serif;--f-body: "Noto Sans", system-ui, sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--r-xl: 24px;--r-full: 50px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-body);color:var(--c-black);background:var(--c-white);line-height:1.5}h1{font-family:var(--f-display);font-size:48px;font-weight:700;line-height:1.15;letter-spacing:-1.44px}h2{font-family:var(--f-display);font-size:32px;font-weight:700;line-height:1.2;letter-spacing:-.96px}h3{font-family:var(--f-display);font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.72px}h4{font-family:var(--f-display);font-size:18px;font-weight:600;line-height:1.35}p{font-size:16px;line-height:1.55;letter-spacing:-.16px}small{font-size:14px;color:var(--c-slate)}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 24px}.card{width:100%;max-width:640px;background:var(--c-white);border-radius:var(--r-xl);box-shadow:var(--c-ring) 0 0 0 1px;padding:48px 40px}.card-wide{max-width:900px}.card-extra-wide{max-width:1080px}.card>h2{margin-bottom:8px}.card>p.subtitle{color:var(--c-slate);margin-bottom:32px}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:16px;font-weight:700;line-height:1.29;letter-spacing:.16px;border:none;border-radius:var(--r-sm);padding:12px 24px;cursor:pointer;transition:background .15s,box-shadow .15s,opacity .15s;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--c-blue);color:var(--c-white)}.btn-primary:hover:not(:disabled){background:var(--c-blue-pressed)}.btn-outlined{background:transparent;color:var(--c-black);border:1px solid var(--c-border)}.btn-outlined:hover:not(:disabled){background:var(--c-bg-subtle)}.btn-success{background:var(--c-success);color:var(--c-white)}.input{width:100%;font-family:var(--f-body);font-size:16px;padding:12px 16px;border:1px solid var(--c-input-border);border-radius:var(--r-sm);background:var(--c-white);color:var(--c-black);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--c-blue);box-shadow:0 0 0 3px #5b76fe26}.input::placeholder{color:var(--c-placeholder)}textarea.input{resize:vertical;min-height:80px}.checkbox-row,.radio-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:8px 0}.checkbox-row input,.radio-row input{accent-color:var(--c-blue);width:18px;height:18px;margin-top:2px;flex-shrink:0}.field{margin-bottom:24px}.field label{display:block;font-weight:600;font-size:15px;margin-bottom:8px}.field-error{color:#d44;font-size:13px;margin-top:4px}.likert{display:flex;flex-direction:column;gap:8px}.likert-buttons{display:flex;gap:0}.likert-btn{flex:1;padding:10px 0;font-family:var(--f-display);font-size:15px;font-weight:600;border:1px solid var(--c-input-border);background:var(--c-white);color:var(--c-black);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.likert-btn:first-child{border-radius:var(--r-sm) 0 0 var(--r-sm)}.likert-btn:last-child{border-radius:0 var(--r-sm) var(--r-sm) 0}.likert-btn+.likert-btn{border-left:none}.likert-btn:hover{background:var(--c-bg-subtle)}.likert-btn.active{background:var(--c-blue);color:var(--c-white);border-color:var(--c-blue)}.likert-btn.active+.likert-btn{border-left-color:var(--c-blue)}.likert-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--c-slate)}.progress-wrapper{margin-bottom:32px}.progress-label{font-family:var(--f-display);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--c-slate);margin-bottom:8px}.progress-track{height:6px;background:var(--c-input-border);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--c-blue);border-radius:3px;transition:width .3s ease}.tree-wrapper{overflow-x:auto;padding:8px 0 16px;margin:0 -16px}.tree-wrapper svg{display:block;margin:0 auto}.tree-legend{display:flex;gap:24px;justify-content:center;margin-top:16px;font-size:13px;color:var(--c-slate)}.tree-legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}.instruction-list{list-style:none;counter-reset:inst;margin:24px 0}.instruction-list li{counter-increment:inst;padding:12px 0 12px 40px;position:relative;border-bottom:1px solid var(--c-input-border)}.instruction-list li:last-child{border-bottom:none}.instruction-list li:before{content:counter(inst);position:absolute;left:0;top:12px;width:26px;height:26px;border-radius:50%;background:var(--c-teal-l);color:var(--c-teal-d);font-family:var(--f-display);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.consent-body{max-height:340px;overflow-y:auto;padding:24px;background:var(--c-bg-subtle);border-radius:var(--r-md);margin-bottom:24px;font-size:14px;line-height:1.7;border:1px solid var(--c-input-border)}.consent-body h4{margin-top:16px;margin-bottom:4px}.consent-body h4:first-child{margin-top:0}.survey-q{padding:24px 0;border-bottom:1px solid var(--c-input-border)}.survey-q:last-child{border-bottom:none}.survey-q-label{font-weight:600;font-size:15px;margin-bottom:12px;display:block}.survey-q-required:after{content:" *";color:#d44}.completion-code{font-family:var(--f-display);font-size:32px;font-weight:800;letter-spacing:2px;text-align:center;color:var(--c-blue);background:var(--c-bg-subtle);border-radius:var(--r-md);padding:24px;margin:24px 0;border:1px solid var(--c-input-border);-webkit-user-select:all;user-select:all}.admin-section{margin-bottom:40px}.admin-section h3{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--c-input-border)}.admin-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--c-input-border)}.admin-table th{font-weight:600;color:var(--c-slate);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table input{width:80px;padding:6px 8px;border:1px solid var(--c-input-border);border-radius:4px;font-size:14px}.admin-tabs{display:flex;gap:0;margin-bottom:32px;border-bottom:2px solid var(--c-input-border)}.admin-tab{padding:10px 20px;font-family:var(--f-display);font-size:14px;font-weight:600;background:none;border:none;color:var(--c-slate);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--c-black)}.admin-tab.active{color:var(--c-blue);border-bottom-color:var(--c-blue)}.condition-badge{display:inline-block;font-family:var(--f-display);font-size:13px;font-weight:700;padding:6px 14px;border-radius:var(--r-full);letter-spacing:.3px}.condition-badge.ai{background:var(--c-teal-l);color:var(--c-teal-d)}.condition-badge.human{background:var(--c-rose-l);color:#8b3a6e}.video-placeholder{width:100%;aspect-ratio:16 / 9;background:var(--c-bg-subtle);border:2px dashed var(--c-border);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;color:var(--c-placeholder);font-size:15px;margin:24px 0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.gap-12{gap:12px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.text-center{text-align:center}.text-slate{color:var(--c-slate)}.text-sm{font-size:14px}.step-card{max-width:720px;padding:36px}.step-progress{display:flex;align-items:center;gap:16px;margin-bottom:24px}.step-progress-segments{flex:1;display:flex;gap:4px}.step-segment{flex:1;height:6px;border-radius:3px;background:var(--c-input-border);transition:background .35s ease,box-shadow .35s ease}.step-segment-done{background:var(--c-blue)}.step-segment-active{background:var(--c-blue);box-shadow:0 0 0 2px #5b76fe33}.step-progress-counter{font-family:var(--f-display);font-size:13px;font-weight:700;color:var(--c-slate);white-space:nowrap;letter-spacing:.3px}.step-header{margin-bottom:28px}.step-title{font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:-.78px;color:var(--c-black);margin-bottom:4px}.step-subtitle{font-size:15px;color:var(--c-slate);line-height:1.5;letter-spacing:-.15px;margin-bottom:16px}.step-image-area{margin-bottom:28px}.step-image-placeholder{width:100%;aspect-ratio:16 / 9;background:radial-gradient(ellipse at 30% 40%,rgba(195,250,245,.25) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(255,216,244,.2) 0%,transparent 55%),var(--c-bg-subtle);border:2px dashed var(--c-border);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--c-placeholder);transition:border-color .2s}.step-image-icon{opacity:.5}.step-image-label{font-family:var(--f-display);font-size:14px;font-weight:600;letter-spacing:.2px}.step-options-section{margin-bottom:24px}.step-options-label{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:14px;font-weight:700;color:var(--c-black);margin-bottom:12px;letter-spacing:.1px}.step-required-hint{font-size:12px;font-weight:600;color:#d44;background:#fef2f2;padding:2px 10px;border-radius:var(--r-full);letter-spacing:0}.step-options-grid{display:flex;flex-wrap:wrap;gap:10px}.step-option{flex:1 1 120px;min-width:100px;max-width:160px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px 16px;border-radius:var(--r-md);border:2px solid var(--c-input-border);background:var(--c-white);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;outline:none;position:relative}.step-option:focus-visible{box-shadow:0 0 0 3px #5b76fe33}.step-option-available{border-color:var(--c-teal-d);background:#f4fffe}.step-option-available:hover{background:var(--c-teal-l);border-color:var(--c-teal-d);transform:translateY(-2px);box-shadow:0 4px 12px #1875741f}.step-option-opponent{opacity:.4;cursor:not-allowed;background:var(--c-bg-subtle)}.step-option-selected{border-color:var(--c-blue);background:#eef2ff;box-shadow:0 0 0 3px #5b76fe26,0 2px 8px #5b76fe1a}.step-option-selected:after{content:"";position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;background:var(--c-blue);background-image:url("data:image/svg+xml,%3Csvg width='10' height='8' viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}@keyframes option-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.step-option-shake.step-option-available{animation:option-shake .4s ease;border-color:#d44}.step-option-badge{font-family:var(--f-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--c-slate)}.step-option-selected .step-option-badge{color:var(--c-blue)}.step-option-node{font-family:var(--f-display);font-size:16px;font-weight:700;color:var(--c-black);letter-spacing:-.3px}.step-option-payoff{font-family:var(--f-body);font-size:13px;color:var(--c-slate);letter-spacing:-.1px}.step-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--c-input-border);margin-top:4px}.step-action-back{display:inline-flex;align-items:center}.step-action-continue{display:inline-flex;align-items:center;min-width:140px;justify-content:center}.outcome-overlay{display:flex;flex-direction:column;align-items:center;gap:28px;padding:12px 0 0}.outcome-banner{width:100%;text-align:center;padding:28px 24px;border-radius:var(--r-md)}.outcome-user-took .outcome-banner{background:var(--c-teal-l)}.outcome-opponent-took .outcome-banner{background:var(--c-rose-l)}.outcome-end-reached .outcome-banner{background:var(--c-bg-subtle)}.outcome-title{font-family:var(--f-display);font-size:22px;font-weight:700;color:var(--c-black);margin-bottom:6px}.outcome-description{font-size:15px;color:var(--c-slate)}.outcome-payoffs{display:flex;gap:16px;width:100%}.outcome-payoff{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 16px;border-radius:var(--r-md);border:1px solid var(--c-input-border)}.outcome-payoff-you{background:#f4fffe;border-color:var(--c-teal-d)}.outcome-payoff-opp{background:#fff8fd;border-color:var(--c-rose-l)}.outcome-payoff-label{font-family:var(--f-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--c-slate)}.outcome-payoff-value{font-family:var(--f-display);font-size:36px;font-weight:800;color:var(--c-black);letter-spacing:-1px}.outcome-next-btn{min-width:180px}.quiz-content{animation:quiz-enter .35s ease}@keyframes quiz-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.quiz-figure{background:radial-gradient(ellipse at 25% 35%,rgba(195,250,245,.12) 0%,transparent 55%),radial-gradient(ellipse at 75% 65%,rgba(255,216,244,.1) 0%,transparent 50%),var(--c-bg-subtle);border:1px solid var(--c-input-border);border-radius:var(--r-md);padding:16px 12px;margin-bottom:20px;overflow-x:auto}.quiz-figure-img{display:block;margin:0 auto;max-width:100%;height:auto}.quiz-question-section{margin-bottom:16px}.quiz-question-label{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-size:15px;font-weight:700;color:var(--c-black);margin-bottom:10px;letter-spacing:.1px}.quiz-options{display:flex;flex-direction:column;gap:6px}.quiz-option{display:flex;align-items:center;gap:14px;padding:12px 16px;border:2px solid var(--c-input-border);border-radius:var(--r-sm);background:var(--c-white);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;outline:none;text-align:left;font-family:inherit;font-size:inherit;width:100%}.quiz-option:hover{border-color:var(--c-teal-d);background:#f4fffe;transform:translateY(-1px)}.quiz-option:active{transform:translateY(0)}.quiz-option:focus-visible{box-shadow:0 0 0 3px #5b76fe26}.quiz-option-selected{border-color:var(--c-blue);background:#eef2ff;box-shadow:0 0 0 3px #5b76fe1a}.quiz-option-selected:hover{border-color:var(--c-blue);background:#eef2ff;transform:none}.quiz-option-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--c-border);flex-shrink:0;transition:border-color .15s,background .15s,box-shadow .15s}.quiz-option:hover .quiz-option-radio{border-color:var(--c-teal-d)}.quiz-option-selected .quiz-option-radio{border-color:var(--c-blue);background:var(--c-blue);box-shadow:inset 0 0 0 3px var(--c-white)}.quiz-option-body{display:flex;flex-direction:column;gap:2px}.quiz-option-title{font-family:var(--f-display);font-size:15px;font-weight:700;color:var(--c-black);letter-spacing:-.2px}.quiz-option-detail{font-size:13px;color:var(--c-slate);letter-spacing:-.1px}.quiz-option-detail strong{color:var(--c-black);font-weight:600}@keyframes quiz-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.quiz-option-shake{animation:quiz-shake .4s ease;border-color:#d44!important}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;min-width:0}.app-main .page{align-items:flex-start;justify-content:flex-start}.app-main .card,.app-main .card-wide{max-width:none}.step-sidebar{width:220px;flex-shrink:0;background:#fafbfc;border-right:1px solid var(--c-input-border);padding:32px 0;position:sticky;top:0;height:100vh;overflow-y:auto}.step-sidebar-inner{padding:0 20px}.step-sidebar-brand{font-family:var(--f-display);font-size:15px;font-weight:800;color:var(--c-blue);letter-spacing:-.3px;margin-bottom:32px;padding-left:4px}.step-sidebar-nav{display:flex;flex-direction:column}.sidebar-step{position:relative;padding-left:4px}.sidebar-step-row{display:flex;align-items:flex-start;gap:12px;padding:6px 0}.sidebar-connector{width:2px;height:16px;background:var(--c-input-border);margin-left:15px;transition:background .3s}.sidebar-connector-done{background:var(--c-blue)}.sidebar-step-circle{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s,border-color .25s;border:2px solid var(--c-input-border);background:var(--c-white)}.sidebar-step-done .sidebar-step-circle{background:var(--c-blue);border-color:var(--c-blue)}.sidebar-step-active .sidebar-step-circle{background:var(--c-white);border-color:var(--c-blue);box-shadow:0 0 0 3px #5b76fe26}.sidebar-step-upcoming .sidebar-step-circle{background:var(--c-white);border-color:var(--c-input-border)}.sidebar-step-num{font-family:var(--f-display);font-size:12px;font-weight:700;line-height:1}.sidebar-step-done .sidebar-step-num{color:#fff}.sidebar-step-active .sidebar-step-num{color:var(--c-blue)}.sidebar-step-upcoming .sidebar-step-num{color:var(--c-placeholder)}.sidebar-step-text{display:flex;flex-direction:column;gap:2px;padding-top:4px}.sidebar-step-label{font-family:var(--f-display);font-size:13px;font-weight:600;line-height:1.3;transition:color .25s}.sidebar-step-done .sidebar-step-label{color:var(--c-slate)}.sidebar-step-active .sidebar-step-label{color:var(--c-blue);font-weight:700}.sidebar-step-upcoming .sidebar-step-label{color:var(--c-placeholder)}.sidebar-step-sub{font-size:11px;color:var(--c-blue);font-weight:600;background:#5b76fe14;padding:2px 7px;border-radius:20px;width:fit-content}@media (max-width: 860px){.step-sidebar{display:none}}@media (max-width: 680px){.card{padding:32px 24px}h1{font-size:32px}h2{font-size:24px}.step-options-grid{gap:8px}.step-option{flex:1 1 80px;min-width:70px;padding:10px 8px 12px}.step-option-node{font-size:14px}.step-actions{gap:12px}.quiz-option{padding:12px 14px;gap:12px}.quiz-option-title{font-size:14px}.quiz-figure{padding:16px 8px 0;margin:0 -8px 24px;border-radius:var(--r-sm)}}
