@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.survey-container{max-width:var(--max-width, 600px);margin:0 auto;padding:.5rem 0;animation:fadeIn .3s ease-out}.survey-progress{height:6px;background:var(--color-border, #E2E8F0);border-radius:100px;overflow:hidden;margin-bottom:.5rem}.survey-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-accent, #1AACB8),#2DC4D0);border-radius:100px;transition:width .4s ease;background-size:200% 100%}.survey-progress{margin-bottom:1.5rem}.section-header{text-align:center;margin-bottom:1.5rem;padding:1rem 0;border-bottom:2px solid var(--color-border, #E2E8F0)}.section-title{font-family:var(--font-heading, "Poppins", sans-serif);font-size:.8rem;font-weight:700;color:var(--color-accent, #1AACB8);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.08em}.section-description{font-size:.875rem;color:var(--color-text-secondary, #404040);line-height:1.6}.question-card{background:var(--color-card, #fff);border-radius:var(--radius-xl, 1rem);padding:1.75rem 1.5rem;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1));margin-bottom:1rem;animation:slideIn .35s ease-out}.question-title{font-family:var(--font-heading, "Poppins", sans-serif);font-size:1.25rem;font-weight:600;color:var(--color-text, #111);margin-bottom:.5rem;line-height:1.35}.question-description{font-size:.875rem;color:var(--color-text-secondary, #404040);line-height:1.6;margin-bottom:1.25rem}.options-list{display:flex;flex-direction:column;gap:.625rem}.option-btn{display:block;width:100%;padding:.875rem 1.125rem;background:var(--color-card, #fff);border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);cursor:pointer;text-align:left;font-size:.9375rem;font-family:var(--font-body);color:var(--color-text-body, #0C2A1F);transition:border-color var(--transition-fast),background var(--transition-fast),transform .1s;line-height:1.4}.option-btn:hover{border-color:var(--color-accent, #1AACB8);background:var(--color-accent-light, rgba(26, 172, 184, .08))}.option-btn.selected{border-color:var(--color-accent, #1AACB8);background:var(--color-accent-light, rgba(26, 172, 184, .08));font-weight:600}.option-btn:active{transform:scale(.98)}.likert-scale{display:flex;flex-direction:column;gap:.625rem}.likert-option{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:var(--color-card, #fff);border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);cursor:pointer;font-family:var(--font-body);color:var(--color-text-body, #0C2A1F);transition:border-color var(--transition-fast),background var(--transition-fast)}.likert-option:hover,.likert-option.selected{border-color:var(--color-accent, #1AACB8);background:var(--color-accent-light, rgba(26, 172, 184, .08))}.likert-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg, #F7F7F7);font-weight:700;font-size:.875rem;color:var(--color-text-secondary, #404040);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.likert-option.selected .likert-number{background:var(--color-accent, #1AACB8);color:#fff}.likert-label{font-size:.9375rem;line-height:1.4}.dropdown-container{display:flex;flex-direction:column;gap:1rem}.dropdown-select{width:100%;padding:.875rem 2.5rem .875rem 1rem;font-size:.9375rem;font-family:var(--font-body);border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);background:var(--color-card, #fff);color:var(--color-text-body, #0C2A1F);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%23404040'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;transition:border-color var(--transition-fast)}.dropdown-select:focus{outline:none;border-color:var(--color-accent, #1AACB8);box-shadow:0 0 0 3px #1aacb826}.text-container{display:flex;flex-direction:column;gap:.5rem}.text-input,.textarea{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-family:var(--font-body);border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);background:var(--color-card, #fff);color:var(--color-text-body, #0C2A1F);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.textarea{min-height:120px;resize:vertical}.text-input:focus,.textarea:focus{outline:none;border-color:var(--color-accent, #1AACB8);box-shadow:0 0 0 3px #1aacb826}.char-count{text-align:right;font-size:.75rem;color:var(--color-text-secondary, #404040)}.number-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.number-input-row{display:flex;align-items:center;gap:.75rem}.number-input{width:130px;padding:.875rem;font-size:1.25rem;font-weight:600;font-family:var(--font-body);text-align:center;border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);background:var(--color-card, #fff);color:var(--color-text, #111);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.number-input:focus{outline:none;border-color:var(--color-accent, #1AACB8);box-shadow:0 0 0 3px #1aacb826}.number-unit{font-size:.9375rem;color:var(--color-text-secondary, #404040)}.consent-gate{display:flex;flex-direction:column;gap:1rem}.consent-notice{font-size:.875rem;color:var(--color-text-body, #0C2A1F);line-height:1.7;padding:1.25rem 1.5rem;background:var(--color-bg, #F7F7F7);border-radius:var(--radius-lg, .75rem);border:1px solid var(--color-border, #E2E8F0)}.consent-checkbox-label{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);font-size:.875rem;line-height:1.5}.consent-checkbox-label:hover{border-color:var(--color-accent, #1AACB8);background:var(--color-accent-light, rgba(26, 172, 184, .08))}.consent-checkbox{width:22px;height:22px;margin-top:.1rem;flex-shrink:0;accent-color:var(--color-accent, #1AACB8)}.conditional-message{background:#fff8e1;border:1px solid var(--color-warning, #F59E0B);border-radius:var(--radius-lg, .75rem);padding:1rem 1.25rem;margin-top:.75rem;font-size:.875rem;color:#78350f;line-height:1.6;animation:fadeIn .3s ease-out}.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 2rem;font-size:1rem;font-weight:600;font-family:var(--font-body);color:#fff;background:var(--color-primary, #0D4F2B);border:none;border-radius:var(--radius-lg, .75rem);cursor:pointer;transition:background var(--transition-fast),transform .1s,box-shadow var(--transition-fast);margin-top:.75rem}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #002905);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-back{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1.25rem;font-size:.875rem;font-family:var(--font-body);font-weight:500;color:var(--color-text-secondary, #404040);background:var(--color-card, #fff);border:2px solid var(--color-border, #E2E8F0);border-radius:var(--radius-md, .5rem);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-back:hover{background:var(--color-bg, #F7F7F7);border-color:#cbd5e1}.btn-skip{display:block;margin-top:.75rem;padding:.5rem;font-size:.875rem;font-family:var(--font-body);color:var(--color-text-secondary, #404040);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-continue{width:100%}.survey-nav{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.results-container{text-align:center;padding:1.5rem 0;animation:fadeIn .4s ease-out}.results-header{margin-bottom:1.5rem}.results-header h2{font-family:var(--font-heading, "Poppins", sans-serif);font-size:1.5rem;font-weight:700;color:var(--color-text, #111);margin-bottom:.75rem;line-height:1.3}.results-pre-message{font-size:.9375rem;color:var(--color-text-secondary, #404040);line-height:1.6}.zone-card{background:var(--color-card, #fff);border-radius:var(--radius-xl, 1rem);padding:1.75rem 1.5rem;margin:1.5rem 0;text-align:left;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1));animation:slideIn .5s ease-out}.zone-badge{display:inline-block;color:#fff;font-family:var(--font-heading, "Poppins", sans-serif);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .75rem;border-radius:100px;margin-bottom:.625rem}.zone-name{font-family:var(--font-heading, "Poppins", sans-serif);font-size:1.25rem;font-weight:700;color:var(--color-text, #111);margin-bottom:.5rem}.zone-summary{font-size:.9375rem;line-height:1.7;color:var(--color-text-body, #0C2A1F)}.interpretation{text-align:left;margin:1.5rem 0}.interpretation-block{background:var(--color-bg, #F7F7F7);border-radius:var(--radius-lg, .75rem);padding:1.25rem 1.5rem;margin-bottom:.75rem}.interpretation-block h4{font-family:var(--font-heading, "Poppins", sans-serif);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;color:var(--color-primary, #0D4F2B)}.interpretation-block p{font-size:.9375rem;line-height:1.7;color:var(--color-text-body, #0C2A1F)}.consent-violation-notice{background:#fff8e1;border:1px solid var(--color-warning, #F59E0B);border-radius:var(--radius-lg, .75rem);padding:1rem 1.25rem;margin:1rem 0;text-align:left}.consent-violation-notice p{font-size:.875rem;color:#78350f;line-height:1.6}.deletion-code-section{background:var(--color-bg, #F7F7F7);border:1px solid var(--color-border, #E2E8F0);border-radius:var(--radius-lg, .75rem);padding:1.25rem 1.5rem;margin:1.5rem 0;text-align:center}.deletion-code-header{font-family:var(--font-heading, "Poppins", sans-serif);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #404040);margin-bottom:.5rem}.deletion-code-value{font-family:monospace;font-size:.85rem;font-weight:600;color:var(--color-text, #111);background:var(--color-card, #fff);border:1px solid var(--color-border, #E2E8F0);border-radius:var(--radius-md, .5rem);padding:.625rem 1rem;display:inline-block;margin-bottom:.5rem;word-break:break-all;user-select:all;-webkit-user-select:all}.deletion-code-copy{display:inline-block;background:none;border:1px solid var(--color-border, #E2E8F0);border-radius:var(--radius-sm, .25rem);padding:.3rem .75rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--color-accent, #1AACB8);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);margin-bottom:.75rem}.deletion-code-copy:hover{background:var(--color-accent-light, rgba(26, 172, 184, .08));border-color:var(--color-accent, #1AACB8)}.deletion-code-note{font-size:.75rem;color:var(--color-text-secondary, #404040);line-height:1.6}.results-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border, #E2E8F0)}.results-post-message{font-size:.875rem;color:var(--color-text-secondary, #404040);line-height:1.7;font-style:italic}.error-screen{text-align:center;padding:3rem 1rem}.error-screen h2{font-family:var(--font-heading, "Poppins", sans-serif);font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--color-text, #111)}.error-screen p{color:var(--color-text-secondary, #404040);margin-bottom:1.5rem;line-height:1.6}@media (max-width: 480px){.question-card{padding:1.25rem 1rem;border-radius:var(--radius-lg, .75rem)}.question-title{font-size:1.125rem}.results-header h2{font-size:1.25rem}.zone-card{padding:1.25rem 1rem}.option-btn{padding:.75rem 1rem;font-size:.875rem}.likert-option{padding:.625rem .875rem}.likert-label{font-size:.875rem}.btn-primary{height:2.75rem;font-size:.9375rem}}@media (min-width: 640px){.question-card{padding:2rem 1.75rem}.question-title{font-size:1.375rem}.results-header h2{font-size:1.625rem}}@media (min-width: 1024px){.question-card{padding:2rem}.question-title{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
