@layer reset,tokens,base,layout,components,utilities,overrides;@layer reset{*,*:before,*:after{box-sizing:border-box}img,video,canvas,svg,iframe{max-width:100%;height:auto}}@layer tokens;@layer base{html{scroll-behavior:auto;scroll-snap-type:none;overflow:hidden auto;scrollbar-gutter:stable both-edges}html.loaded{scroll-behavior:smooth}body{margin:0;font-family:var( --font-family-base, var( --font-family-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif ) );line-height:var(--line-height-base, 1.6);color:var(--theme-text-primary, #2d3748);background-color:var(--theme-bg-primary, #fff);font-size:var(--font-size-base, 1rem)}h1,h2,h3,h4,h5,h6{color:var(--theme-text-primary, #2d3748);font-family:inherit;margin:0}}@layer layout{.layout-container-responsive{width:100%;max-width:var(--container-max-width, 1200px);margin:0 auto;padding-left:var(--container-padding-x, 1.5rem);padding-right:var(--container-padding-x, 1.5rem)}.main-content{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden}.grid{display:grid}.flex{display:flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.donor-appreciation-section,.donor-wall-container,footer,.professional-footer,#donor-appreciation,#donor-appreciation-container{content-visibility:auto;contain-intrinsic-size:800px}}@layer components{.header,.navigation,.nav{background-color:var(--nav-bg-primary, rgb(255 255 255 / 95%))}.hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-white, #fff)}.category-header,.categories-section{font-size:var(--font-size-base, 1rem)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding, .75rem 1.5rem);border:var(--btn-border, 1px solid transparent);border-radius:var(--btn-border-radius, .5rem);font-size:var(--btn-font-size, var(--font-size-base, 1rem));font-weight:var(--btn-font-weight, 500);text-decoration:none;cursor:pointer;transition:var(--transition-base, .2s ease-in-out);white-space:nowrap;font-family:inherit}.btn-primary,.button-primary{background-color:var(--color-primary);color:var(--color-white, #fff);border-color:var(--color-primary)}.btn-primary:hover,.btn-primary:focus,.button-primary:hover,.button-primary:focus{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover,.btn-secondary:focus{background-color:var(--color-primary);color:var(--color-white, #fff)}.intentional-logout-modal{color:var(--theme-text-primary, #2d3748)}.intentional-logout-modal .logout-modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 12px;border-bottom:1px solid var(--border-color, #e2e8f0)}.intentional-logout-modal .logout-modal-icon{width:36px;height:36px;display:grid;place-items:center;font-size:20px;border-radius:8px;background:var(--secondary-bg, #f8f9fa);border:1px solid var(--border-color, #e2e8f0)}.intentional-logout-modal .logout-modal-title{margin:0;font-size:18px;font-weight:600;color:var(--theme-text-primary, #2d3748)}.intentional-logout-modal .logout-modal-body{padding:16px 24px}.intentional-logout-modal .logout-modal-message{margin:0 0 8px;font-size:14px}.intentional-logout-modal .logout-modal-reason{margin:0;font-size:13px;color:var(--text-secondary, #6b7280);background:var(--secondary-bg, #f8f9fa);border-left:4px solid var(--accent-color, #0ea5e9);padding:10px 12px;border-radius:4px}.intentional-logout-modal .logout-countdown{margin-top:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text-secondary, #6b7280)}.intentional-logout-modal .logout-modal-actions{padding:20px 24px 24px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.intentional-logout-modal .logout-action-btn,.ui-modal .ui-btn.ui-btn-primary,.ui-modal .ui-btn.ui-btn-secondary{min-width:120px}}@layer utilities{.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.loading{opacity:.7;pointer-events:none}.state-loading{opacity:0;transform:translateY(20px);transition:var(--transition-base, .2s ease-in-out);pointer-events:none}.state-loaded{opacity:1;transform:translateY(0);pointer-events:auto}.state-error{color:var(--color-error, #ef4444)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-white{color:var(--color-white, #fff)!important}.text-primary{color:var(--color-primary)!important}.text-secondary{color:var(--color-secondary)!important}.m-0{margin:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.p-0{padding:0}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pr-0{padding-right:0}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:flex}.d-grid{display:grid}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.border-0{border:0}.border{border:1px solid var(--color-border, #e2e8f0)}.border-primary{border-color:var(--color-primary)}.border-secondary{border-color:var(--color-secondary)}.rounded{border-radius:var(--border-radius-base, .5rem)}.rounded-full{border-radius:50%}.font-scale-small{font-size:calc(var(--font-size-base, 1rem) * .875)!important}.font-scale-medium{font-size:calc(var(--font-size-base, 1rem) * 1)!important}.font-scale-large{font-size:calc(var(--font-size-base, 1rem) * 1.125)!important}.font-scale-extra-large{font-size:calc(var(--font-size-base, 1rem) * 1.25)!important}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1, .25rem)}.mt-2{margin-top:var(--spacing-2, .5rem)}.mt-3{margin-top:var(--spacing-3, .75rem)}.mt-4{margin-top:var(--spacing-4, 1rem)}.mt-8{margin-top:var(--spacing-8, 2rem)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1, .25rem)}.mb-2{margin-bottom:var(--spacing-2, .5rem)}.mb-3{margin-bottom:var(--spacing-3, .75rem)}.mb-4{margin-bottom:var(--spacing-4, 1rem)}.mb-8{margin-bottom:var(--spacing-8, 2rem)}.text-sm{font-size:var(--text-sm, .875rem)}.text-lg{font-size:var(--text-lg, 1.125rem)}.text-xl{font-size:var(--text-xl, 1.25rem)}.text-2xl{font-size:var(--text-2xl, 1.5rem)}.font-bold{font-weight:var(--font-weight-bold, 700)}.font-semibold{font-weight:var(--font-weight-semibold, 600)}}@layer overrides{body.dark-mode .intentional-logout-modal,body.theme-dark .intentional-logout-modal{color:var(--theme-text-primary, #e5e7eb)}body.dark-mode .intentional-logout-modal .logout-modal-header,body.theme-dark .intentional-logout-modal .logout-modal-header{border-bottom-color:var(--border-color, #404040)}body.dark-mode .intentional-logout-modal .logout-modal-icon,body.theme-dark .intentional-logout-modal .logout-modal-icon{background:var(--theme-bg-secondary, #2d2d2d);border-color:var(--border-color, #404040)}body.dark-mode .intentional-logout-modal .logout-modal-title,body.theme-dark .intentional-logout-modal .logout-modal-title,body.dark-mode .intentional-logout-modal .logout-modal-message,body.theme-dark .intentional-logout-modal .logout-modal-message{color:var(--theme-text-primary, #e5e7eb)}body.dark-mode .intentional-logout-modal .logout-modal-reason,body.theme-dark .intentional-logout-modal .logout-modal-reason{background:var(--theme-bg-secondary, #2d2d2d);color:var(--theme-text-primary, #e5e7eb);border-left-color:var(--accent-color, #4dabf7)}body.dark-mode .intentional-logout-modal .logout-countdown,body.theme-dark .intentional-logout-modal .logout-countdown{color:var(--text-secondary, #a3a3a3)}}@layer overrides{body.dark-mode .hero,body.theme-dark .hero{background:linear-gradient(135deg,var(--theme-bg-primary) 0%,var(--theme-bg-secondary) 100%);color:var(--theme-text-primary)}body.dark-mode .hero-content h1,body.theme-dark .hero-content h1,body.dark-mode .hero-content h2,body.theme-dark .hero-content h2{color:var(--theme-text-primary)}body.dark-mode .hero-content p,body.theme-dark .hero-content p{color:var(--theme-text-secondary)}body.dark-mode .hero-title,body.theme-dark .hero-title{color:var(--theme-text-primary)}body.dark-mode .hero-description,body.theme-dark .hero-description{color:var(--theme-text-secondary)}body.dark-mode .hero:before,body.theme-dark .hero:before{background:none}body.dark-mode .hero:after,body.theme-dark .hero:after{background-image:linear-gradient(rgb(101 109 118 / 20%) 1px,transparent 1px),linear-gradient(90deg,rgb(101 109 118 / 20%) 1px,transparent 1px);opacity:.4}body.dark-mode,body.theme-dark{color-scheme:dark;--color-surface: #0d1117;--color-surface-secondary: #161b22;--color-surface-tertiary: #21262d;--color-on-surface: #f0f6fc;--color-on-surface-secondary: #e6edf3;--color-on-surface-tertiary: #7d8590;--theme-bg-primary: #0d1117;--theme-bg-secondary: #161b22;--theme-bg-tertiary: #21262d;--theme-bg-interactive: #262c36;--theme-bg-overlay: rgb(0 0 0 / 90%);--theme-text-primary: #f0f6fc;--theme-text-secondary: #e6edf3;--theme-text-tertiary: #7d8590;--theme-text-muted: #656d76;--theme-text-inverse: #0d1117;--theme-text-on-accent: #fff;--theme-border-primary: #30363d;--theme-border-secondary: #21262d;--theme-border-interactive: #656d76;--theme-border-focus: #58a6ff;--theme-border-error: #f85149;--theme-border-success: #56d364;--theme-accent-primary: #58a6ff;--theme-accent-secondary: #8b949e;--theme-accent-success: #56d364;--theme-accent-warning: #e3b341;--theme-accent-error: #f85149;--theme-accent-info: #79c0ff;--theme-shadow-light: rgb(0 0 0 / 30%);--theme-shadow-medium: rgb(0 0 0 / 40%);--theme-shadow-heavy: rgb(0 0 0 / 50%);--theme-shadow-focus: rgb(88 166 255 / 40%);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 30%);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 40%), 0 1px 2px 0 rgb(0 0 0 / 30%);--shadow-base: 0 4px 6px -1px rgb(0 0 0 / 40%), 0 2px 4px -1px rgb(0 0 0 / 30%);--shadow-md: 0 10px 15px -3px rgb(0 0 0 / 40%), 0 4px 6px -2px rgb(0 0 0 / 30%);--shadow-lg: 0 20px 25px -5px rgb(0 0 0 / 40%), 0 10px 10px -5px rgb(0 0 0 / 20%)}}@layer overrides{html{--color-primary: #1a73e8 !important;--color-primary-dark: #1565c0 !important;--color-primary-light: #42a5f5 !important;--font-size-base: 1rem !important}html.loaded{scroll-behavior:smooth}body.dark-mode,body.theme-dark{background-color:var(--theme-bg-primary)!important;color:var(--theme-text-primary)!important}body.dark-mode .main-nav,body.theme-dark .main-nav{background:var(--theme-bg-secondary);border-color:var(--theme-border)}body.dark-mode .main-nav .nav-link,body.theme-dark .main-nav .nav-link{color:var(--theme-text-primary)}body.dark-mode .main-nav .nav-link:hover,body.theme-dark .main-nav .nav-link:hover{color:var(--color-primary)}@media (width < 1024px){body.dark-mode .nav-link.active,body.theme-dark .nav-link.active{color:#4a9eff;background-color:#4a9eff26;font-weight:var(--font-weight-semibold, 600);padding:calc(.5rem * var(--font-scale, 1)) calc(.75rem * var(--font-scale, 1));font-size:calc(1rem * var(--font-scale, 1))}body.dark-mode .nav-link.active:before,body.theme-dark .nav-link.active:before{background:#4a9eff}body.dark-mode .nav-link-clear-active,body.theme-dark .nav-link-clear-active{color:var(--theme-text-primary);background:transparent}}body.dark-mode .ethics-demo-section.layout-container-responsive,body.theme-dark .ethics-demo-section.layout-container-responsive{background:var(--theme-bg-primary)}body.dark-mode #test-scenario-modal,body.theme-dark #test-scenario-modal{color:var(--theme-text-primary);border-color:color-mix(in oklab,var(--theme-text-primary) 30%,transparent);background:transparent}body.dark-mode #test-scenario-modal:hover,body.theme-dark #test-scenario-modal:hover{background:color-mix(in oklab,var(--theme-text-primary) 12%,transparent);border-color:var(--theme-text-primary)}body.dark-mode .hero-actions .btn:focus-visible,body.theme-dark .hero-actions .btn:focus-visible,body.dark-mode #test-scenario-modal:focus-visible,body.theme-dark #test-scenario-modal:focus-visible{box-shadow:0 0 0 2px var(--theme-bg-primary),0 0 0 4px var(--theme-text-primary)}body.dark-mode .category-header,body.theme-dark .category-header{background:var(--theme-bg-secondary);border-color:var(--theme-border)}body.dark-mode .category-title,body.theme-dark .category-title{color:var(--theme-text-primary)}body.dark-mode .category-description,body.theme-dark .category-description{color:var(--theme-text-secondary)}body.dark-mode .category-difficulty,body.theme-dark .category-difficulty{background:var(--theme-bg-primary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .category-time,body.dark-mode .category-progress-text,body.theme-dark .category-time,body.theme-dark .category-progress-text{color:var(--theme-text-secondary)}body.dark-mode .progress-percentage,body.theme-dark .progress-percentage{color:var(--color-primary)}body.dark-mode .clear-all-btn,body.theme-dark .clear-all-btn{background:var(--theme-bg-primary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .clear-all-btn:hover,body.theme-dark .clear-all-btn:hover{background:var(--theme-bg-secondary);border-color:var(--theme-border-hover)}body.dark-mode .category-controls-toolbar,body.theme-dark .category-controls-toolbar{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);scrollbar-color:var(--theme-border) transparent}body.dark-mode .category-controls-toolbar::-webkit-scrollbar-track,body.theme-dark .category-controls-toolbar::-webkit-scrollbar-track{background:transparent}body.dark-mode .category-controls-toolbar::-webkit-scrollbar-thumb,body.theme-dark .category-controls-toolbar::-webkit-scrollbar-thumb{background:var(--theme-border)}body.dark-mode .category-controls-toolbar::-webkit-scrollbar-thumb:hover,body.theme-dark .category-controls-toolbar::-webkit-scrollbar-thumb:hover{background:var(--theme-border-hover)}body.dark-mode .category-controls-toolbar .search-input,body.theme-dark .category-controls-toolbar .search-input{background:var(--theme-bg-primary)!important;border:1px solid var(--theme-border)!important;color:var(--theme-text-primary)!important}body.dark-mode .category-controls-toolbar .search-input:focus,body.theme-dark .category-controls-toolbar .search-input:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px var(--color-primary-light)!important}body.dark-mode .category-controls-toolbar .search-input::placeholder,body.theme-dark .category-controls-toolbar .search-input::placeholder{color:var(--theme-text-secondary)!important}body.dark-mode .category-controls-toolbar .sort-btn,body.dark-mode .category-controls-toolbar .clear-all-btn,body.theme-dark .category-controls-toolbar .sort-btn,body.theme-dark .category-controls-toolbar .clear-all-btn{background:var(--theme-bg-primary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .category-controls-toolbar .sort-btn:hover,body.dark-mode .category-controls-toolbar .clear-all-btn:hover,body.theme-dark .category-controls-toolbar .sort-btn:hover,body.theme-dark .category-controls-toolbar .clear-all-btn:hover{background:var(--theme-bg-secondary);border-color:var(--theme-border-hover)}body.dark-mode .category-controls-toolbar .sort-btn:focus,body.dark-mode .category-controls-toolbar .clear-all-btn:focus,body.theme-dark .category-controls-toolbar .sort-btn:focus,body.theme-dark .category-controls-toolbar .clear-all-btn:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}body.dark-mode .category-controls-toolbar .sort-dropdown,body.theme-dark .category-controls-toolbar .sort-dropdown{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);box-shadow:0 8px 32px var(--theme-shadow-lg)}body.dark-mode .category-controls-toolbar .sort-option,body.theme-dark .category-controls-toolbar .sort-option{color:var(--theme-text-primary);background:transparent}body.dark-mode .category-controls-toolbar .sort-option:hover,body.theme-dark .category-controls-toolbar .sort-option:hover{background:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .category-controls-toolbar .sort-option.active,body.theme-dark .category-controls-toolbar .sort-option.active{background:var(--color-primary);color:#fff;border-left-color:var(--color-primary-light)}body.dark-mode .hero-radar-chart,body.theme-dark .hero-radar-chart{background:transparent;border-color:transparent;color:var(--radar-theme-dark-text, #fff);box-shadow:-4px 4px 8px #ffffff0d}body.dark-mode .hero-radar-chart:hover,body.theme-dark .hero-radar-chart:hover{box-shadow:-4px 4px 8px #ffffff14}body.dark-mode .hero-radar-chart canvas,body.theme-dark .hero-radar-chart canvas{background:#333;backdrop-filter:blur(10px)}body.dark-mode .ethics-dimensions,body.theme-dark .ethics-dimensions{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .tab-buttons-container,body.theme-dark .tab-buttons-container{background:var(--theme-bg-primary);scrollbar-color:var(--theme-border) transparent}body.dark-mode .tab-buttons-container::-webkit-scrollbar-track,body.theme-dark .tab-buttons-container::-webkit-scrollbar-track{background:transparent}body.dark-mode .tab-buttons-container::-webkit-scrollbar-thumb,body.theme-dark .tab-buttons-container::-webkit-scrollbar-thumb{background:var(--theme-border)}body.dark-mode .tab-buttons-container::-webkit-scrollbar-thumb:hover,body.theme-dark .tab-buttons-container::-webkit-scrollbar-thumb:hover{background:var(--theme-border-hover)}body.dark-mode .tab-buttons-container .tab-button,body.theme-dark .tab-buttons-container .tab-button{color:var(--theme-text-secondary);background:transparent}body.dark-mode .tab-buttons-container .tab-button:hover,body.theme-dark .tab-buttons-container .tab-button:hover{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode .tab-buttons-container .tab-button.active,body.theme-dark .tab-buttons-container .tab-button.active{color:var(--color-primary);background:var(--theme-bg-secondary);border-bottom-color:var(--color-primary)}body.dark-mode .tab-buttons-container .tab-button:focus,body.theme-dark .tab-buttons-container .tab-button:focus{outline-color:var(--color-primary)}body.dark-mode .educator-section,body.theme-dark .educator-section{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .educator-section h4,body.theme-dark .educator-section h4{color:var(--color-primary)}body.dark-mode .educator-section .resource-item,body.theme-dark .educator-section .resource-item{background:var(--theme-bg-primary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .educator-section .resource-item:hover,body.theme-dark .educator-section .resource-item:hover{border-color:var(--color-primary);box-shadow:0 2px 8px var(--theme-shadow-hover)}body.dark-mode .impact-radar,body.theme-dark .impact-radar{background:var(--theme-bg-secondary);border-color:var(--theme-border);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .impact-radar:before,body.theme-dark .impact-radar:before{background:linear-gradient(90deg,var(--color-primary),#3b82f6);opacity:.6}body.dark-mode .impact-explanation,body.theme-dark .impact-explanation{background:linear-gradient(135deg,var(--theme-bg-primary),var(--theme-bg-secondary),var(--theme-bg-primary));border-color:var(--color-primary);color:var(--theme-text-primary)}body.dark-mode .impact-explanation:before,body.theme-dark .impact-explanation:before{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark),var(--color-primary))}body.dark-mode .scenario-modal-dialog,body.theme-dark .scenario-modal-dialog{background:var(--theme-bg-primary);border:1px solid var(--theme-border);box-shadow:0 20px 25px -5px var(--theme-shadow),0 10px 10px -5px var(--theme-shadow)}body.dark-mode .scenario-modal-header,body.theme-dark .scenario-modal-header{background:var(--theme-bg-secondary);border-bottom:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .scenario-category,body.theme-dark .scenario-category{color:var(--theme-text-secondary)}body.dark-mode .scenario-content,body.theme-dark .scenario-content{background:transparent;color:var(--theme-text-primary)}body.dark-mode .scenario-main,body.theme-dark .scenario-main{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary);box-shadow:0 8px 25px var(--theme-shadow)}@layer overrides{.teacher-create-classroom-modal .scenario-info .scenario-title{color:inherit}}body.dark-mode .scenario-sidebar,body.theme-dark .scenario-sidebar{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary);box-shadow:0 8px 25px var(--theme-shadow)}body.dark-mode .dilemma-text,body.theme-dark .dilemma-text,body.dark-mode .ethical-question,body.theme-dark .ethical-question{color:var(--theme-text-secondary)}body.dark-mode .dilemma-section h3,body.theme-dark .dilemma-section h3,body.dark-mode .ethical-question-section h3,body.theme-dark .ethical-question-section h3,body.dark-mode .options-section h3,body.theme-dark .options-section h3{color:var(--theme-text-primary)}body.dark-mode .option-card,body.theme-dark .option-card{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .option-card:hover,body.theme-dark .option-card:hover{border-color:var(--theme-border-hover);box-shadow:0 4px 12px var(--theme-shadow-hover)}body.dark-mode .option-card.selected,body.theme-dark .option-card.selected{background:linear-gradient(135deg,#4a9eff1a,#9d4edd1a);border-color:#4a9eff}body.dark-mode .option-title,body.theme-dark .option-title{color:var(--theme-text-primary)}body.dark-mode .option-description,body.theme-dark .option-description{color:var(--theme-text-secondary)}body.dark-mode .option-details,body.theme-dark .option-details{background:#0003;border-top:1px solid var(--theme-border)}body.dark-mode .pros-section,body.theme-dark .pros-section,body.dark-mode .cons-section,body.theme-dark .cons-section{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .pros-cons-popover,body.theme-dark .pros-cons-popover{background:var(--theme-bg-primary);border:1px solid var(--theme-border);box-shadow:0 25px 50px var(--theme-shadow)}body.dark-mode .pros-section h5,body.theme-dark .pros-section h5,body.dark-mode .cons-section h5,body.theme-dark .cons-section h5{color:var(--theme-text-primary)}body.dark-mode .pros-section li,body.theme-dark .pros-section li,body.dark-mode .cons-section li,body.theme-dark .cons-section li{color:var(--theme-text-secondary)}body.dark-mode .scenario-modal-footer,body.theme-dark .scenario-modal-footer{background:var(--theme-bg-secondary);border-top:1px solid var(--theme-border)}body.dark-mode .chart-legend,body.theme-dark .chart-legend{color:var(--theme-text-secondary)}body.dark-mode .test-mode-indicator,body.theme-dark .test-mode-indicator{background:#ffc10733;color:#ffc107;border:1px solid rgb(255 193 7 / 30%)}body.dark-mode .scenario-header,body.theme-dark .scenario-header{background:transparent;color:var(--theme-text-primary)}body.dark-mode .scenario-footer,body.theme-dark .scenario-footer{color:var(--theme-text-secondary)}body.dark-mode .impact-explanation li:has([emoji*=✅]),body.dark-mode .impact-explanation li[data-type=positive],body.theme-dark .impact-explanation li:has([emoji*=✅]),body.theme-dark .impact-explanation li[data-type=positive]{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-left-color:#22c55e;color:var(--theme-text-primary)}body.dark-mode .impact-explanation li:has([emoji*=⚠️]),body.dark-mode .impact-explanation li[data-type=warning],body.theme-dark .impact-explanation li:has([emoji*=⚠️]),body.theme-dark .impact-explanation li[data-type=warning]{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-left-color:#fbbf24;color:#fbbf24}body.dark-mode .impact-explanation li:has([emoji*=⚖️]),body.dark-mode .impact-explanation li[data-type=balanced],body.theme-dark .impact-explanation li:has([emoji*=⚖️]),body.theme-dark .impact-explanation li[data-type=balanced]{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-left-color:#818cf8;color:#818cf8}body.dark-mode .community-stats-summary,body.theme-dark .community-stats-summary{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .community-bar-chart,body.theme-dark .community-bar-chart{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:var(--theme-border);color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .community-insights,body.theme-dark .community-insights{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:#c084fc;color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .community-insights:before,body.theme-dark .community-insights:before{background:linear-gradient(90deg,#c084fc,#a855f7,#9333ea)}body.dark-mode .demographic-questions,body.dark-mode .scenario-questions,body.dark-mode .deep-reflection-questions,body.theme-dark .demographic-questions,body.theme-dark .scenario-questions,body.theme-dark .deep-reflection-questions{background:transparent}body.dark-mode .demo-question,body.dark-mode .reflection-question,body.dark-mode .reflection-question-deep,body.theme-dark .demo-question,body.theme-dark .reflection-question,body.theme-dark .reflection-question-deep{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:var(--theme-border);color:var(--theme-text-primary);box-shadow:0 1px 2px #0003,0 1px 1px #0000004d}body.dark-mode .reflection-section.alternative-perspectives,body.theme-dark .reflection-section.alternative-perspectives{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:#a855f7;color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .reflection-section.alternative-perspectives:before,body.theme-dark .reflection-section.alternative-perspectives:before{background:linear-gradient(90deg,#a855f7,#9333ea,#7c3aed)}body.dark-mode .reflection-section.alternative-perspectives h4,body.theme-dark .reflection-section.alternative-perspectives h4{color:var(--theme-text-primary)}body.dark-mode .reflection-section.personal-reflection,body.theme-dark .reflection-section.personal-reflection{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:var(--color-primary);color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .reflection-section.personal-reflection:before,body.theme-dark .reflection-section.personal-reflection:before{background:linear-gradient(90deg,var(--color-primary),#3b82f6,#1e40af)}body.dark-mode .reflection-section.personal-reflection h4,body.theme-dark .reflection-section.personal-reflection h4{color:var(--theme-text-primary)}body.dark-mode .reflection-section.values-principles,body.theme-dark .reflection-section.values-principles{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:#10b981;color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .reflection-section.values-principles:before,body.theme-dark .reflection-section.values-principles:before{background:linear-gradient(90deg,#10b981,#059669,#047857)}body.dark-mode .reflection-section.values-principles h4,body.theme-dark .reflection-section.values-principles h4{color:var(--theme-text-primary)}body.dark-mode .reflection-section.stakeholder-impact,body.theme-dark .reflection-section.stakeholder-impact{background:linear-gradient(135deg,var(--theme-bg-secondary),var(--theme-bg-primary));border-color:#f59e0b;color:var(--theme-text-primary);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .reflection-section.stakeholder-impact:before,body.theme-dark .reflection-section.stakeholder-impact:before{background:linear-gradient(90deg,#f59e0b,#d97706,#b45309)}body.dark-mode .reflection-section.stakeholder-impact h4,body.theme-dark .reflection-section.stakeholder-impact h4{color:var(--theme-text-primary)}body.dark-mode .categories-grid,body.theme-dark .categories-grid,body.dark-mode .categories-section,body.theme-dark .categories-section{background:var(--theme-bg-primary)}body.dark-mode .category-section,body.theme-dark .category-section{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .scenario-card,body.theme-dark .scenario-card{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .scenario-card:hover,body.theme-dark .scenario-card:hover{border-color:var(--theme-border-hover);box-shadow:0 4px 12px var(--theme-shadow-hover)}body.dark-mode .scenario-title,body.theme-dark .scenario-title{color:var(--theme-text-primary)}body.dark-mode .scenario-description,body.theme-dark .scenario-description{color:var(--theme-text-secondary)}body.dark-mode .view-toggle-btn,body.theme-dark .view-toggle-btn{background:var(--theme-bg-primary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .view-toggle-btn.active,body.theme-dark .view-toggle-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}body.dark-mode .view-toggle-btn:hover:not(.active),body.theme-dark .view-toggle-btn:hover:not(.active){background:var(--theme-bg-secondary);border-color:var(--theme-border-hover)}@media (prefers-contrast: more){.btn{border-width:2px;font-weight:var(--font-weight-bold, 700)}}@media (prefers-reduced-motion: reduce){body *,body *:before,body *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.hero{background:none!important;color:var(--text-color-print, #000)!important;box-shadow:none!important}.btn{border:2px solid var(--text-color-print, #000)!important;background:transparent!important;color:var(--text-color-print, #000)!important}.hero-radar-demo,.loading,.notification-toast{display:none!important}}:focus-visible{outline:2px solid var(--color-primary)!important;outline-offset:2px!important}.modal[aria-hidden=true],.modal-overlay[aria-hidden=true],.modal-backdrop[aria-hidden=true],.modal-dialog[aria-hidden=true],.scenario-modal[aria-hidden=true],.pre-launch-modal[aria-hidden=true],.ui-modal[aria-hidden=true],.ui-modal-content[aria-hidden=true],.overlay[aria-hidden=true],.overlay-element[aria-hidden=true],.backdrop[aria-hidden=true],.nav-backdrop[aria-hidden=true],.drawer[aria-hidden=true],[role=dialog][aria-hidden=true],[data-modal][aria-hidden=true]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body.dark-mode .donor-appreciation-section,body.theme-dark .donor-appreciation-section{background:linear-gradient(135deg,var(--theme-bg-primary) 0%,var(--theme-bg-secondary) 50%,var(--theme-bg-primary) 100%)}body.dark-mode #donor-appreciation,body.theme-dark #donor-appreciation{margin-left:auto;margin-right:auto}body.dark-mode .donor-appreciation-section:before,body.theme-dark .donor-appreciation-section:before{background:radial-gradient(circle at 20% 20%,rgb(var(--theme-accent-rgb) / 8%) 0%,transparent 50%)}body.dark-mode .donor-appreciation-section .main-section-title,body.theme-dark .donor-appreciation-section .main-section-title{color:var(--color-gray-900)}body.dark-mode .donor-appreciation-section .main-section-description,body.theme-dark .donor-appreciation-section .main-section-description{color:var(--theme-text-secondary)}body.dark-mode .donor-wall-title,body.theme-dark .donor-wall-title{color:var(--theme-text-primary)}body.dark-mode .donor-wall-subtitle,body.theme-dark .donor-wall-subtitle{color:var(--theme-text-secondary)}body.dark-mode .donor-wall-filters .filter-btn,body.theme-dark .donor-wall-filters .filter-btn{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-secondary)}body.dark-mode .donor-wall-filters .filter-btn:before,body.theme-dark .donor-wall-filters .filter-btn:before{background:linear-gradient(90deg,transparent,rgb(255 255 255 / 10%),transparent)}body.dark-mode .donor-wall-filters .filter-btn:hover,body.theme-dark .donor-wall-filters .filter-btn:hover{border-color:var(--theme-accent);color:var(--theme-text-primary);box-shadow:0 8px 25px var(--theme-shadow)}body.dark-mode .donor-wall-filters .filter-btn.active,body.theme-dark .donor-wall-filters .filter-btn.active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-text-on-accent);box-shadow:0 6px 20px var(--theme-shadow)}body.dark-mode .donor-wall-filters .filter-btn:focus,body.theme-dark .donor-wall-filters .filter-btn:focus{box-shadow:0 0 0 3px rgb(var(--theme-accent-rgb) / 30%)}body.dark-mode .donor-carousel-container,body.theme-dark .donor-carousel-container{background:linear-gradient(145deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 50%,var(--theme-bg-secondary) 100%);border-color:var(--theme-border);box-shadow:0 8px 32px var(--theme-shadow),0 2px 8px var(--theme-shadow-light),inset 0 1px #ffffff1a}body.dark-mode .donor-carousel-container:before,body.theme-dark .donor-carousel-container:before{background:radial-gradient(circle at 20% 20%,rgb(var(--theme-success-rgb) / 5%) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgb(var(--theme-warning-rgb) / 5%) 0%,transparent 50%),linear-gradient(135deg,rgb(255 255 255 / 5%) 0%,transparent 100%)}body.dark-mode .donor-carousel-container:after,body.theme-dark .donor-carousel-container:after{background:linear-gradient(90deg,var(--theme-accent) 0%,var(--theme-accent-light) 50%,var(--theme-accent) 100%)}body.dark-mode .carousel-nav,body.theme-dark .carousel-nav{background:linear-gradient(145deg,var(--theme-bg-tertiary) 0%,var(--theme-bg-secondary) 100%);border-color:var(--theme-border);color:var(--theme-text-secondary);box-shadow:0 4px 16px var(--theme-shadow),0 1px 4px var(--theme-shadow-light),inset 0 1px #ffffff1a}body.dark-mode .carousel-nav:before,body.theme-dark .carousel-nav:before{background:linear-gradient(135deg,rgb(var(--theme-accent-rgb) / 10%) 0%,transparent 50%,rgb(var(--theme-accent-light-rgb) / 10%) 100%)}body.dark-mode .carousel-nav:disabled,body.theme-dark .carousel-nav:disabled{background:var(--theme-bg-muted);border-color:var(--theme-border-light);color:var(--theme-text-muted)}body.dark-mode .carousel-nav:hover:not(:disabled),body.theme-dark .carousel-nav:hover:not(:disabled){background:linear-gradient(145deg,rgb(var(--theme-accent-rgb) / 15%),rgb(var(--theme-accent-light-rgb) / 15%));border-color:var(--theme-accent);color:var(--theme-text-primary);box-shadow:0 8px 24px var(--theme-shadow),0 4px 8px var(--theme-shadow-light),inset 0 1px #fff3}body.dark-mode .donor-cards-track,body.theme-dark .donor-cards-track{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border-color:var(--theme-border)}body.dark-mode .donor-card,body.theme-dark .donor-card{background:var(--theme-bg-secondary);border-color:var(--theme-border);box-shadow:0 2px 8px var(--theme-shadow)}body.dark-mode .donor-card:before,body.theme-dark .donor-card:before{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-light) 50%,var(--theme-accent-dark) 100%)}body.dark-mode .donor-card:after,body.theme-dark .donor-card:after{background:linear-gradient(45deg,rgb(var(--theme-accent-rgb) / 8%),rgb(var(--theme-accent-light-rgb) / 8%),rgb(var(--theme-accent-dark-rgb) / 8%))}body.dark-mode .donor-card:hover,body.theme-dark .donor-card:hover{box-shadow:0 4px 16px var(--theme-shadow);border-color:var(--theme-border-hover)}body.dark-mode .donor-avatar,body.theme-dark .donor-avatar{border-color:var(--theme-border);background:var(--theme-bg-tertiary);box-shadow:0 2px 8px var(--theme-shadow)}body.dark-mode .donor-avatar:hover,body.theme-dark .donor-avatar:hover{box-shadow:0 4px 12px var(--theme-shadow)}body.dark-mode .anonymous-avatar,body.theme-dark .anonymous-avatar{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-dark) 100%)}body.dark-mode .donor-badge,body.theme-dark .donor-badge{border-color:var(--theme-bg-secondary);box-shadow:0 2px 8px var(--theme-shadow),0 0 0 1px var(--theme-border)}body.dark-mode .donor-badge:hover,body.theme-dark .donor-badge:hover{box-shadow:0 4px 12px var(--theme-shadow),0 0 0 1px var(--theme-border-hover)}body.dark-mode .donor-name,body.theme-dark .donor-name{color:var(--theme-text-primary)}body.dark-mode .donor-since,body.theme-dark .donor-since{color:var(--theme-text-secondary);background:var(--theme-bg-tertiary);border-color:var(--theme-border)}body.dark-mode .donor-reflection,body.theme-dark .donor-reflection{background:var(--theme-bg-tertiary);border-color:var(--theme-border);box-shadow:0 1px 3px var(--theme-shadow)}body.dark-mode .donor-reflection:before,body.theme-dark .donor-reflection:before{background:linear-gradient(90deg,var(--theme-accent) 0%,var(--theme-accent-light) 50%,var(--theme-accent-dark) 100%)}body.dark-mode .donor-reflection:hover,body.theme-dark .donor-reflection:hover{border-color:var(--theme-accent);box-shadow:0 16px 48px rgb(var(--theme-accent-rgb) / 15%),0 8px 24px var(--theme-shadow)}body.dark-mode .donor-reflection p,body.theme-dark .donor-reflection p{color:var(--theme-text-secondary)}body.dark-mode .indicator,body.theme-dark .indicator{background:var(--theme-bg-tertiary);border-color:var(--theme-border)}body.dark-mode .indicator:hover,body.theme-dark .indicator:hover{background:var(--theme-bg-quaternary);border-color:var(--theme-accent)}body.dark-mode .indicator.active,body.theme-dark .indicator.active{background:var(--theme-accent);border-color:var(--theme-accent)}body.dark-mode .donor-stats-summary,body.theme-dark .donor-stats-summary{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 100%);border-color:var(--theme-border);box-shadow:0 8px 25px var(--theme-shadow)}body.dark-mode .stat-item,body.theme-dark .stat-item{color:var(--theme-text-primary)}body.dark-mode .stat-number,body.theme-dark .stat-number{color:var(--theme-accent)}body.dark-mode .stat-label,body.theme-dark .stat-label{color:var(--theme-text-secondary)}body.dark-mode .stat-item:not(:last-child):after,body.theme-dark .stat-item:not(:last-child):after{background:var(--theme-border)}body.dark-mode .support-cta,body.theme-dark .support-cta{background:var(--theme-bg-secondary);border-color:var(--theme-border)}body.dark-mode .support-cta:before,body.theme-dark .support-cta:before{background:radial-gradient(circle at center,rgb(var(--theme-accent-rgb) / 5%) 0%,transparent 70%)}body.dark-mode .support-cta h3,body.theme-dark .support-cta h3{color:var(--theme-text-primary)}body.dark-mode .support-cta p,body.theme-dark .support-cta p{color:var(--theme-text-secondary)}body.dark-mode .cta-section,body.theme-dark .cta-section{background:var(--theme-bg-secondary);border-color:var(--theme-border)}body.dark-mode .cta-title,body.theme-dark .cta-title{color:var(--theme-text-primary)}body.dark-mode .cta-description,body.theme-dark .cta-description{color:var(--theme-text-secondary)}body.dark-mode .cta-buttons .btn-primary,body.theme-dark .cta-buttons .btn-primary{background:linear-gradient(135deg,var(--theme-accent),var(--theme-accent-dark));box-shadow:0 8px 25px var(--theme-shadow);color:var(--theme-text-on-accent)}body.dark-mode .cta-buttons .btn-primary:hover,body.theme-dark .cta-buttons .btn-primary:hover{box-shadow:0 12px 35px var(--theme-shadow-heavy)}body.dark-mode .cta-buttons .btn-outline,body.theme-dark .cta-buttons .btn-outline{border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .cta-buttons .btn-outline:hover,body.theme-dark .cta-buttons .btn-outline:hover{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-text-on-accent);box-shadow:0 8px 25px var(--theme-shadow)}body.dark-mode .donor-card:focus-within,body.theme-dark .donor-card:focus-within{outline-color:var(--theme-accent)}}@layer components{.ui-component{position:absolute;font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.uipanel{background:#fffffff2;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}.panel-header{font-weight:var(--font-weight-bold);color:var(--color-gray-900);border-bottom:1px solid var(--color-gray-200);padding-bottom:var(--spacing-2);margin-bottom:var(--spacing-3)}.panel-content{line-height:var(--line-height-relaxed);color:var(--color-gray-700);margin-bottom:var(--spacing-4)}.panel-controls{display:flex;flex-direction:column;gap:var(--spacing-2)}.panel-button{background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);min-height:32px}.panel-button:hover,.panel-button:focus{background:var(--color-primary-dark);transform:translateY(-1px)}.panel-button:active{transform:translateY(0)}.slider-container{margin-bottom:var(--spacing-3)}.slider-container label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-1)}.panel-slider{width:100%;height:20px;border-radius:var(--radius-base);background:var(--color-gray-200);outline:none;appearance:none}.panel-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:2px solid var(--color-white);box-shadow:var(--shadow-sm)}.panel-slider::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:2px solid var(--color-white);box-shadow:var(--shadow-sm)}.panel-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #007cba4d}.panel-slider:focus::-moz-range-thumb{box-shadow:0 0 0 3px #007cba4d}.ethicsdisplay{background:#000000d9;color:var(--color-white);border-radius:var(--radius-lg);backdrop-filter:blur(10px)}.ethics-meter{margin-bottom:var(--spacing-2)}.ethics-meter:last-child{margin-bottom:0}.ethics-meter .meter-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.ethics-meter .meter-bar{width:100%;height:12px;background:var(--color-gray-600);border-radius:var(--radius-md);overflow:hidden;position:relative}.ethics-meter .meter-fill{height:100%;background:linear-gradient(90deg,var(--color-error) 0%,var(--color-warning) 50%,var(--color-success) 100%);transition:width .3s ease;border-radius:var(--radius-md)}.ethics-meter .meter-value{position:absolute;right:var(--spacing-1);top:50%;transform:translateY(-50%);font-size:10px;font-weight:var(--font-weight-bold);color:var(--color-white);text-shadow:1px 1px 2px rgb(0 0 0 / 70%);pointer-events:none}.feedbacksystem{background:#fffffff2;border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);backdrop-filter:blur(10px)}.feedback-list{max-height:300px;overflow-y:auto;padding-right:var(--spacing-1)}.feedback-list::-webkit-scrollbar{width:6px}.feedback-list::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-base)}.feedback-list::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-base)}.feedback-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.feedback-item{padding:var(--spacing-2);margin-bottom:var(--spacing-1);border-radius:var(--radius-base);font-size:var(--font-size-xs);line-height:var(--line-height-normal);animation:slideIn .3s ease}.feedback-item:last-child{margin-bottom:0}.feedback-positive{border-left:3px solid #2e7d32;background:#2e7d3226;color:#1b5e20}.feedback-negative{border-left:3px solid #c62828;background:#c6282826;color:#b71c1c}.feedback-neutral{border-left:3px solid #1976d2;background:#1976d226;color:#0d47a1}.feedback-excellent{border-left:3px solid #388e3c;background:#388e3c26;color:#1b5e20}.feedback-concerning{border-left:3px solid #f57c00;background:#f57c0026;color:#e65100}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slider{display:flex;flex-direction:column}.slider label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-700);margin-bottom:var(--spacing-1)}.slider input[type=range]{width:100%;height:6px;border-radius:var(--radius-base);background:var(--color-gray-300);outline:none;appearance:none;margin:var(--spacing-2) 0}.slider input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:2px solid var(--color-white);box-shadow:var(--shadow-sm)}.slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:2px solid var(--color-white);box-shadow:var(--shadow-sm)}.slider-value{font-size:var(--font-size-xs);color:var(--color-gray-600);text-align:right;margin-top:var(--spacing-1)}.ethics-meters{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:200px}.ethics-meters h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin-bottom:var(--spacing-2);text-align:center}.simulation-canvas{width:100%;height:100%;background:var(--color-white);border-radius:var(--radius-base);overflow:hidden}.interactive-element{cursor:pointer;transition:all var(--transition-fast)}.interactive-element:hover{opacity:.8;transform:scale(1.05)}.interactive-element:focus{outline:3px solid var(--color-primary);outline-offset:2px}.interactive-element.dragging{z-index:100;opacity:.9;transform:scale(1.1);cursor:grabbing;will-change:transform}.scenario-progress{background:var(--color-gray-100);border-radius:var(--radius-base);padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-3)}.progress-bar{width:100%;height:8px;background:var(--color-gray-200);border-radius:var(--radius-base);overflow:hidden;margin-bottom:var(--spacing-1)}.progress-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-base);transition:width .3s ease}.progress-text{font-size:var(--font-size-xs);color:var(--color-gray-600);text-align:center}.decision-point{background:var(--color-white);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-4);margin:var(--spacing-3);box-shadow:var(--shadow-md);animation:fadeInUp .5s ease}.decision-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin-bottom:var(--spacing-3)}.decision-options{display:flex;flex-direction:column;gap:var(--spacing-2)}.decision-option{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-base);padding:var(--spacing-3);cursor:pointer;transition:all var(--transition-fast)}.decision-option:hover,.decision-option:focus{background:#4da6d91a;border-color:var(--color-primary)}.decision-option.selected{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary-dark)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tooltip{position:absolute;background:#000000e5;color:var(--color-white);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-base);font-size:var(--font-size-xs);white-space:nowrap;z-index:1000;pointer-events:none;animation:fadeIn .2s ease}.tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgb(0 0 0 / 90%) transparent transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.interactive-element:hover,.interactive-element.dragging{transform:none!important}.panel-button:hover,.panel-button:focus,.button:hover,.button:focus{transform:none!important}.feedback-item,.decision-point,.tooltip{animation:none!important}}@media (prefers-contrast: high){:root{--simulation-border-width: 3px;--simulation-focus-width: 4px}.ui-component,.uipanel,.feedbacksystem,.decision-point,.button,.panel-button{border:var(--simulation-border-width, 3px) solid var(--color-black)}.panel-button:focus,.button:focus,.decision-option:focus,.interactive-element:focus{outline:var(--simulation-focus-width, 4px) solid var(--color-primary);outline-offset:2px;border-color:var(--color-black)}.ethics-meter .meter-bar{border:2px solid var(--color-black)}.ethics-meter .meter-fill{background:var(--color-black)!important}.progress-bar{border:2px solid var(--color-black)}.progress-fill{background:var(--color-black)!important}.tooltip{background:var(--color-black)!important;color:var(--color-white)!important;border:2px solid var(--color-white)}}.panel-button:focus-visible,.button:focus-visible,.decision-option:focus-visible,.interactive-element:focus-visible,.panel-slider:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 5px #007cba33}[aria-pressed=true]{background:var(--color-primary-dark)!important;color:var(--color-white);border-color:var(--color-primary-dark)}[aria-selected=true]{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary-dark)}[aria-expanded=true] .panel-button{background:var(--color-primary-dark)}[aria-disabled=true],[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}[aria-invalid=true]{border-color:var(--color-error)!important;box-shadow:0 0 0 2px #f4433633}.ui-component.loading,.simulation-canvas.loading{position:relative;pointer-events:none}.ui-component.loading:after,.simulation-canvas.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid var(--color-gray-300);border-top:2px solid var(--color-primary);border-radius:50%;animation:simulationSpin 1s linear infinite;z-index:10}@keyframes simulationSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.ui-component.error,.simulation-canvas.error{border-color:var(--color-error);background:#f443361a}.ui-component.error:before,.simulation-canvas.error:before{content:"⚠️ Component Error";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-error);font-weight:700;font-size:var(--font-size-xs);text-align:center;z-index:10;background:var(--color-white);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);border:1px solid var(--color-error)}@media (hover: none) and (pointer: coarse){.panel-button,.button,.decision-option{min-height:44px;min-width:44px;padding:var(--spacing-3) var(--spacing-4)}.interactive-element{min-width:44px;min-height:44px}.panel-slider::-webkit-slider-thumb{width:28px;height:28px}.panel-slider::-moz-range-thumb{width:28px;height:28px}.slider input[type=range]::-webkit-slider-thumb{width:28px;height:28px}.slider input[type=range]::-moz-range-thumb{width:28px;height:28px}.tooltip{display:none}}[dir=rtl] .feedback-item{border-left:none;border-right:3px solid}[dir=rtl] .feedback-positive{border-right-color:var(--color-success)}[dir=rtl] .feedback-negative{border-right-color:var(--color-error)}[dir=rtl] .feedback-neutral{border-right-color:var(--color-primary)}[dir=rtl] .feedback-excellent{border-right-color:var(--color-success)}[dir=rtl] .feedback-concerning{border-right-color:var(--color-warning)}[dir=rtl] .ethics-meter .meter-value{right:auto;left:var(--spacing-1)}[dir=rtl] .slider-value{text-align:left}[dir=rtl] .tooltip:after{left:auto;right:50%;margin-left:0;margin-right:-5px}@media print{.ui-component,.uipanel,.feedbacksystem,.decision-point{background:#fff!important;color:#000!important;border:1px solid black!important;box-shadow:none!important;backdrop-filter:none!important}.panel-button,.button{background:#fff!important;color:#000!important;border:1px solid black!important}.interactive-element{position:static!important}.tooltip{display:none!important}.ethics-meter .meter-fill,.progress-fill{background:repeating-linear-gradient(45deg,transparent,transparent 2px,black 2px,black 4px)!important}.simulation-canvas{border:2px solid black!important;background:#fff!important}}.simulation-hidden{display:none!important}.simulation-visible{display:block!important}.simulation-centered{display:flex;align-items:center;justify-content:center}.simulation-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background:var(--color-white)}.simulation-overlay{position:absolute;inset:0;background:#0000007f;z-index:1000}.simulation-paused{filter:grayscale(50%);opacity:.7;pointer-events:none}.simulation-highlighted{outline:3px solid var(--color-warning);outline-offset:2px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.ui-component,.simulation-canvas,.interactive-element{contain:layout style;will-change:auto}.ethics-meter .meter-fill,.progress-fill{will-change:width}.simulation-state{position:absolute;top:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;z-index:100}.simulation-state.running{background:#4caf50e5;color:var(--color-white)}.simulation-state.paused{background:#ffaa00e5;color:var(--color-white)}.simulation-state.stopped{background:#f44336e5;color:var(--color-white)}.simulation-state.completed{background:#007cbae5;color:var(--color-white)}.drag-source{cursor:grab}.drag-source:active{cursor:grabbing}.drop-zone{border:2px dashed var(--color-gray-400);border-radius:var(--radius-lg);background:#007cba0d;transition:all var(--transition-fast)}.drop-zone.drag-over{border-color:var(--color-primary);background:#007cba1a}.drop-zone.drop-valid{border-color:var(--color-success);background:#4caf501a}.drop-zone.drop-invalid{border-color:var(--color-error);background:#f443361a}.simulation-timeline{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);background:var(--color-gray-50);border-radius:var(--radius-lg);margin:var(--spacing-3) 0}.timeline-controls{display:flex;gap:var(--spacing-1)}.timeline-button{background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-base);padding:var(--spacing-2);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.timeline-button:hover,.timeline-button:focus{background:var(--color-gray-100);border-color:var(--color-primary)}.timeline-button.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary-dark)}.timeline-scrubber{flex:1;height:4px;background:var(--color-gray-300);border-radius:var(--radius-base);position:relative;cursor:pointer}.timeline-progress{height:100%;background:var(--color-primary);border-radius:var(--radius-base);transition:width .1s ease}.timeline-marker{position:absolute;top:-4px;width:12px;height:12px;background:var(--color-primary);border:2px solid var(--color-white);border-radius:var(--radius-full);transform:translate(-50%);cursor:grab;box-shadow:var(--shadow-sm)}.timeline-marker:active{cursor:grabbing}.sr-only-simulation{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.simulation-live-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.simulation-help{background:#ffeb3b1a;border:1px solid var(--color-warning);border-radius:var(--radius-lg);padding:var(--spacing-3);margin:var(--spacing-2) 0;font-size:var(--font-size-sm);color:var(--color-gray-800)}.simulation-help .help-title{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-1);color:var(--color-gray-900)}.simulation-instructions{background:#2196f31a;border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-3);margin:var(--spacing-2) 0;font-size:var(--font-size-sm);color:var(--color-gray-800);counter-reset:step-counter}.simulation-instructions .instruction-step{margin-bottom:var(--spacing-2);padding-left:var(--spacing-4);position:relative}.simulation-instructions .instruction-step:before{content:counter(step-counter);counter-increment:step-counter;position:absolute;left:0;top:0;background:var(--color-primary);color:var(--color-white);width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}@media (prefers-reduced-motion: reduce){.ui-component.loading:after,.simulation-canvas.loading:after{animation:none;content:"Loading...";border:none;border-radius:var(--radius-base);width:auto;height:auto;background:var(--color-primary);color:var(--color-white);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.simulation-highlighted{animation:none;outline-color:var(--color-error)}}@media (width <= 480px){.simulation-timeline{flex-direction:column;gap:var(--spacing-2)}.timeline-controls{order:2;justify-content:center}.timeline-scrubber{order:1;height:6px}.simulation-help,.simulation-instructions{padding:var(--spacing-2);font-size:var(--font-size-xs)}.decision-options{gap:var(--spacing-3)}.decision-option{padding:var(--spacing-4);font-size:var(--font-size-sm)}}}:root{--enhanced-bg-primary: var(--color-gray-50, #f9f9f9);--enhanced-bg-secondary: var(--color-white, #fff);--enhanced-border: var(--color-gray-300, #d1d5db);--enhanced-border-focus: var(--color-primary, #007cba);--enhanced-text-primary: var(--color-gray-900, #111827);--enhanced-text-secondary: var(--color-gray-600, #6b7280);--enhanced-text-muted: var(--color-gray-500, #9ca3af);--enhanced-shadow-sm: var(--shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 5%));--enhanced-shadow-md: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 10%));--enhanced-shadow-lg: var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 10%));--enhanced-shadow-hover: 0 4px 12px rgb(0 0 0 / 15%);--enhanced-gap-sm: var(--spacing-2, 8px);--enhanced-gap-md: var(--spacing-4, 16px);--enhanced-gap-lg: var(--spacing-6, 24px);--enhanced-padding-sm: var(--spacing-3, 12px);--enhanced-padding-md: var(--spacing-5, 20px);--enhanced-padding-lg: var(--spacing-8, 32px);--enhanced-radius-sm: var(--radius-base, 4px);--enhanced-radius-md: var(--radius-lg, 8px);--enhanced-radius-lg: var(--radius-xl, 12px);--enhanced-transition-fast: var(--transition-fast, .15s ease-in-out);--enhanced-transition-base: var(--transition-base, .25s ease-in-out);--enhanced-transition-slow: var(--transition-slow, .35s ease-in-out);--enhanced-font-size-xs: var(--font-size-xs, .75rem);--enhanced-font-size-sm: var(--font-size-sm, .875rem);--enhanced-font-size-base: var(--font-size-base, 1rem);--enhanced-font-size-lg: var(--font-size-lg, 1.125rem);--enhanced-font-size-xl: var(--font-size-xl, 1.25rem);--enhanced-z-base: 1;--enhanced-z-tooltip: 1000;--enhanced-z-modal: 2000;--enhanced-touch-target: 44px;--enhanced-focus-ring: 2px solid var(--enhanced-border-focus);--enhanced-focus-offset: 2px}.enhanced-ethics-meters{display:flex;flex-direction:column;gap:var(--enhanced-gap-md);background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);padding:var(--enhanced-padding-md);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base);contain:layout style;position:relative}.enhanced-ethics-meters:hover{box-shadow:var(--enhanced-shadow-md);border-color:var(--enhanced-border-focus)}.enhanced-ethics-meters:focus-within{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.ethics-meters-header{text-align:center;margin-bottom:var(--enhanced-gap-sm)}.ethics-meters-header h3{margin:0 0 var(--spacing-1, 4px) 0;color:var(--enhanced-text-primary);font-size:var(--enhanced-font-size-xl);font-weight:var(--font-weight-semibold, 600);line-height:var(--line-height-tight, 1.25)}.ethics-meters-header p{margin:0;color:var(--enhanced-text-secondary);font-size:var(--enhanced-font-size-sm);line-height:var(--line-height-normal, 1.5)}.meters-container{display:flex;justify-content:center;align-items:center;min-height:120px;position:relative}.meters-container canvas{max-width:100%;height:auto;border-radius:var(--enhanced-radius-sm)}.enhanced-ethics-meters.loading{pointer-events:none}.enhanced-ethics-meters.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border:3px solid var(--enhanced-border);border-top:3px solid var(--enhanced-border-focus);border-radius:50%;animation:enhanced-spin 1s linear infinite;z-index:var(--enhanced-z-tooltip)}@keyframes enhanced-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.enhanced-ethics-meters.error{border-color:var(--color-error, #ef4444);background:#ef44440d}.enhanced-ethics-meters.error .ethics-meters-header h3{color:var(--color-error, #ef4444)}.enhanced-ethics-meters.error:before{content:"⚠";position:absolute;top:var(--enhanced-padding-sm);right:var(--enhanced-padding-sm);color:var(--color-error, #ef4444);font-size:var(--enhanced-font-size-lg);z-index:var(--enhanced-z-base)}.enhanced-actions{background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);padding:var(--enhanced-padding-md);box-shadow:var(--enhanced-shadow-sm);contain:layout style;position:relative}.actions-header{text-align:center;margin-bottom:var(--enhanced-gap-md)}.actions-header h3{margin:0;color:var(--enhanced-text-primary);font-size:var(--enhanced-font-size-lg);font-weight:var(--font-weight-semibold, 600);line-height:var(--line-height-tight, 1.25)}.actions-container{display:flex;justify-content:center;align-items:center;gap:var(--enhanced-gap-md);flex-wrap:wrap}.enhanced-simulation-sliders{margin:var(--enhanced-gap-lg) 0;padding:var(--enhanced-padding-md);background:var(--enhanced-bg-primary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base);contain:layout style;position:relative}.enhanced-simulation-sliders:hover{box-shadow:var(--enhanced-shadow-md);border-color:var(--enhanced-border-focus)}.enhanced-simulation-sliders:focus-within{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.enhanced-simulation-sliders h3{margin:0 0 var(--enhanced-gap-md) 0;color:var(--enhanced-text-primary);font-size:var(--enhanced-font-size-lg);font-weight:var(--font-weight-semibold, 600);text-align:center;line-height:var(--line-height-tight, 1.25)}.slider-container{display:flex;flex-direction:column;gap:var(--enhanced-gap-sm)}.slider-row{display:flex;align-items:center;gap:var(--enhanced-gap-sm);padding:var(--enhanced-gap-sm) 0}.slider-label{color:var(--enhanced-text-secondary);font-size:var(--enhanced-font-size-sm);font-weight:var(--font-weight-medium, 500);min-width:120px;flex-shrink:0}.slider-input{flex:1;min-height:var(--enhanced-touch-target);cursor:pointer;appearance:none;background:transparent;border-radius:var(--enhanced-radius-sm);outline:none;transition:all var(--enhanced-transition-fast)}.slider-input::-webkit-slider-track{background:var(--enhanced-border);height:6px;border-radius:3px}.slider-input::-webkit-slider-thumb{appearance:none;background:var(--enhanced-border-focus);height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-fast)}.slider-input::-webkit-slider-thumb:hover{box-shadow:var(--enhanced-shadow-md);transform:scale(1.1)}.slider-input::-moz-range-track{background:var(--enhanced-border);height:6px;border-radius:3px;border:none}.slider-input::-moz-range-thumb{background:var(--enhanced-border-focus);height:20px;width:20px;border-radius:50%;cursor:pointer;border:none;box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-fast)}.slider-input::-moz-range-thumb:hover{box-shadow:var(--enhanced-shadow-md);transform:scale(1.1)}.slider-input:focus-visible::-webkit-slider-thumb{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.slider-input:focus-visible::-moz-range-thumb{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.slider-value{color:var(--enhanced-text-primary);font-size:var(--enhanced-font-size-sm);font-weight:var(--font-weight-medium, 500);min-width:60px;text-align:right;padding:var(--spacing-1, 4px) var(--enhanced-gap-sm);background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-sm)}.simulation-sliders{margin:var(--enhanced-gap-lg) 0;padding:var(--enhanced-padding-md);background:var(--enhanced-bg-primary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base);contain:layout style;position:relative}.enhanced-sim-button{position:relative;overflow:hidden;background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-md);padding:var(--enhanced-padding-sm) var(--enhanced-padding-md);color:var(--enhanced-text-primary);font-size:var(--enhanced-font-size-base);font-weight:var(--font-weight-medium, 500);text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:var(--enhanced-touch-target);cursor:pointer;transition:all var(--enhanced-transition-base);contain:layout style;user-select:none;-webkit-tap-highlight-color:transparent}.enhanced-sim-button:hover{transform:translateY(-2px);box-shadow:var(--enhanced-shadow-hover);border-color:var(--enhanced-border-focus);background:var(--enhanced-bg-primary)}.enhanced-sim-button:active{transform:translateY(0);box-shadow:var(--enhanced-shadow-sm)}.enhanced-sim-button:disabled,.enhanced-sim-button[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none}.enhanced-sim-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width var(--enhanced-transition-slow),height var(--enhanced-transition-slow);pointer-events:none}.enhanced-sim-button:active:after{width:300px;height:300px}.enhanced-sim-button.primary{background:var(--color-primary, #007cba);color:var(--color-white, #fff);border-color:var(--color-primary, #007cba)}.enhanced-sim-button.primary:hover{background:var(--color-primary-dark, #005a8a);border-color:var(--color-primary-dark, #005a8a)}.enhanced-sim-button.secondary{background:var(--color-secondary, #6b7280);color:var(--color-white, #fff);border-color:var(--color-secondary, #6b7280)}.enhanced-sim-button.secondary:hover{background:var(--color-secondary-dark, #4b5563);border-color:var(--color-secondary-dark, #4b5563)}.enhanced-sim-button.danger{background:var(--color-error, #ef4444);color:var(--color-white, #fff);border-color:var(--color-error, #ef4444)}.enhanced-sim-button.danger:hover{background:var(--color-error-dark, #dc2626);border-color:var(--color-error-dark, #dc2626)}.enhanced-sim-button.small{padding:var(--enhanced-gap-sm) var(--enhanced-padding-sm);font-size:var(--enhanced-font-size-sm);min-height:36px}.enhanced-sim-button.large{padding:var(--enhanced-padding-md) var(--enhanced-padding-lg);font-size:var(--enhanced-font-size-lg);min-height:52px}.enhanced-sim-button .icon{margin-right:var(--enhanced-gap-sm);font-size:1.2em}.enhanced-sim-button.icon-only{width:var(--enhanced-touch-target);padding:var(--enhanced-gap-sm)}.enhanced-sim-button.icon-only .icon{margin:0}.enhanced-visual-engine-container{display:flex;justify-content:center;align-items:center;margin:var(--enhanced-gap-md) 0;padding:var(--enhanced-padding-sm);background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base);contain:layout style;position:relative}.enhanced-visual-engine-container:hover{box-shadow:var(--enhanced-shadow-md);border-color:var(--enhanced-border-focus)}.enhanced-visual-engine-container:focus-within{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.enhanced-visual-engine-container canvas{max-width:100%;height:auto;border-radius:var(--enhanced-radius-md);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base);display:block}.enhanced-visual-engine-container canvas:hover{box-shadow:var(--enhanced-shadow-md)}.enhanced-visual-engine-container canvas:focus{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.enhanced-visual-engine-container.loading{pointer-events:none}.enhanced-visual-engine-container.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border:3px solid var(--enhanced-border);border-top:3px solid var(--enhanced-border-focus);border-radius:50%;animation:enhanced-spin 1s linear infinite;z-index:var(--enhanced-z-tooltip)}.enhanced-visual-engine-container.error{border-color:var(--color-error, #ef4444);background:#ef44440d}.enhanced-visual-engine-container.error:before{content:"⚠ Canvas Error";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-error, #ef4444);font-size:var(--enhanced-font-size-sm);font-weight:var(--font-weight-medium, 500);text-align:center;background:var(--enhanced-bg-secondary);padding:var(--enhanced-padding-sm);border-radius:var(--enhanced-radius-sm);border:1px solid var(--color-error, #ef4444);z-index:var(--enhanced-z-base)}.enhanced-visual-engine-container canvas[role=img]{cursor:pointer}.enhanced-visual-engine-container canvas[aria-hidden=true]{pointer-events:none}.visual-engine-container{display:flex;justify-content:center;align-items:center;margin:var(--enhanced-gap-md) 0;padding:var(--enhanced-padding-sm);background:var(--enhanced-bg-secondary);border:1px solid var(--enhanced-border);border-radius:var(--enhanced-radius-lg);box-shadow:var(--enhanced-shadow-sm);transition:all var(--enhanced-transition-base)}.visual-engine-container canvas{max-width:100%;height:auto;border-radius:var(--enhanced-radius-md);box-shadow:var(--enhanced-shadow-sm)}@media (prefers-reduced-motion: reduce){.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-sim-button,.enhanced-visual-engine-container,.enhanced-sim-button:after,.slider-input::-webkit-slider-thumb,.slider-input::-moz-range-thumb{transition:none;animation:none}.enhanced-sim-button:hover,.enhanced-sim-button:active{transform:none}.enhanced-sim-button:active:after{width:0;height:0}@keyframes enhanced-spin{to{transform:translate(-50%,-50%) rotate(0)}}@keyframes loading-shimmer{0%,to{transform:translate(0)}}}@media (width <= 768px){.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders{gap:var(--enhanced-gap-sm);padding:var(--enhanced-padding-sm)}.enhanced-ethics-meters canvas,.enhanced-simulation-sliders canvas,.enhanced-visual-engine-container canvas{width:100%!important;height:auto!important}.actions-container{flex-direction:column;gap:var(--enhanced-gap-sm)}.enhanced-sim-button{width:100%;justify-content:center}.slider-row{flex-direction:column;align-items:flex-start;gap:var(--enhanced-gap-sm)}.slider-label{min-width:auto;width:100%}.slider-input{width:100%}.slider-value{text-align:left;min-width:auto}}@media (width <= 480px){.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{margin:var(--enhanced-gap-sm) 0;padding:var(--enhanced-gap-sm)}.ethics-meters-header h3,.actions-header h3,.enhanced-simulation-sliders h3{font-size:var(--enhanced-font-size-base)}.enhanced-sim-button{padding:var(--enhanced-gap-sm) var(--enhanced-padding-sm);font-size:var(--enhanced-font-size-sm);min-height:40px}}@media (prefers-contrast: high){.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{border:2px solid var(--enhanced-text-primary);background:var(--enhanced-bg-secondary)}.enhanced-sim-button{border:2px solid var(--enhanced-text-primary);font-weight:var(--font-weight-bold, 700);background:var(--enhanced-bg-secondary);color:var(--enhanced-text-primary)}.enhanced-sim-button:focus-visible{outline:3px solid var(--enhanced-border-focus);outline-offset:2px}.slider-input::-webkit-slider-track{background:var(--enhanced-text-primary);border:1px solid var(--enhanced-text-primary)}.slider-input::-webkit-slider-thumb{background:var(--enhanced-text-primary);border:2px solid var(--enhanced-bg-secondary)}.slider-input::-moz-range-track{background:var(--enhanced-text-primary);border:1px solid var(--enhanced-text-primary)}.slider-input::-moz-range-thumb{background:var(--enhanced-text-primary);border:2px solid var(--enhanced-bg-secondary)}}.high-contrast .enhanced-ethics-meters,.high-contrast .enhanced-actions,.high-contrast .enhanced-simulation-sliders,.high-contrast .enhanced-visual-engine-container{border:2px solid var(--enhanced-text-primary);background:var(--enhanced-bg-secondary)}.high-contrast .enhanced-sim-button{border:2px solid var(--enhanced-text-primary);font-weight:var(--font-weight-bold, 700);background:var(--enhanced-bg-secondary);color:var(--enhanced-text-primary)}.high-contrast .enhanced-sim-button:focus-visible{outline:3px solid var(--enhanced-border-focus);outline-offset:2px}@media (resolution >= 2dppx) and (width <= 768px){.ethics-meters-header h3,.actions-header h3,.enhanced-simulation-sliders h3{font-size:calc(var(--enhanced-font-size-xl) * 1.2)}.ethics-meters-header p{font-size:calc(var(--enhanced-font-size-sm) * 1.1)}.enhanced-sim-button{font-size:calc(var(--enhanced-font-size-base) * 1.1);padding:calc(var(--enhanced-padding-sm) * 1.2) calc(var(--enhanced-padding-md) * 1.2);min-height:calc(var(--enhanced-touch-target) * 1.2)}.slider-label,.slider-value{font-size:calc(var(--enhanced-font-size-sm) * 1.1)}}.large-text .ethics-meters-header h3,.large-text .actions-header h3,.large-text .enhanced-simulation-sliders h3{font-size:calc(var(--enhanced-font-size-xl) * 1.4)}.large-text .ethics-meters-header p{font-size:calc(var(--enhanced-font-size-sm) * 1.3)}.large-text .enhanced-sim-button{font-size:calc(var(--enhanced-font-size-base) * 1.2);padding:calc(var(--enhanced-padding-sm) * 1.5) calc(var(--enhanced-padding-md) * 1.5);min-height:calc(var(--enhanced-touch-target) * 1.3)}.large-text .slider-label,.large-text .slider-value{font-size:calc(var(--enhanced-font-size-sm) * 1.2)}.enhanced-object-loading{opacity:.7;pointer-events:none;position:relative}.enhanced-object-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 40%),transparent);animation:loading-shimmer 1.5s infinite;border-radius:inherit}@keyframes loading-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.enhanced-sim-button:focus,.visual-engine-container:focus-within{outline:2px solid var(--enhanced-border-focus);outline-offset:2px}.skip-to-enhanced-controls{position:absolute;left:-9999px;z-index:999;padding:var(--enhanced-gap-sm) var(--enhanced-padding-md);background:var(--enhanced-border-focus);color:var(--enhanced-bg-secondary);text-decoration:none;border-radius:var(--enhanced-radius-sm);font-size:var(--enhanced-font-size-sm);font-weight:var(--font-weight-medium, 500);transition:all var(--enhanced-transition-fast)}.skip-to-enhanced-controls:focus{left:var(--enhanced-gap-sm);top:var(--enhanced-gap-sm)}@media (hover: none) and (pointer: coarse){.enhanced-sim-button,.slider-input{min-height:var(--enhanced-touch-target);min-width:var(--enhanced-touch-target)}.enhanced-sim-button:hover{transform:none;box-shadow:var(--enhanced-shadow-sm)}.slider-input::-webkit-slider-thumb{height:24px;width:24px}.slider-input::-moz-range-thumb{height:24px;width:24px}.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{padding:calc(var(--enhanced-padding-md) * 1.2)}}[dir=rtl] .actions-container,[dir=rtl] .slider-row{direction:rtl}[dir=rtl] .slider-label{text-align:right}[dir=rtl] .slider-value{text-align:left}[dir=rtl] .enhanced-sim-button .icon{margin-right:0;margin-left:var(--enhanced-gap-sm)}[dir=rtl] .skip-to-enhanced-controls:focus{left:auto;right:8px}@media print{.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{break-inside:avoid;box-shadow:none;border:1px solid #000;background:#fff!important;color:#000!important}.enhanced-sim-button{background:#fff!important;color:#000!important;border:1px solid #000;box-shadow:none}.enhanced-sim-button:after{display:none}.enhanced-ethics-meters.loading:after,.enhanced-visual-engine-container.loading:after{display:none}.skip-to-enhanced-controls{display:none}canvas{max-width:100%!important;height:auto!important}.slider-input{appearance:none;background:#fff!important;border:1px solid #000!important}}.enhanced-ethics-meters[aria-live=polite] .meters-container,.enhanced-simulation-sliders[aria-live=polite] .slider-container,.enhanced-visual-engine-container[aria-live=polite]{position:relative}.enhanced-sim-button[aria-pressed=true]{background:var(--enhanced-border-focus);color:var(--enhanced-bg-secondary);border-color:var(--enhanced-border-focus)}.enhanced-sim-button[aria-expanded=true]:before{content:"▼ "}.enhanced-sim-button[aria-expanded=false]:before{content:"▶ "}.enhanced-ethics-meters.loading:before{content:"Loading ethics meters...";position:absolute;left:-9999px;top:-9999px}.enhanced-ethics-meters.error:after{content:"Error loading ethics meters. Please try again.";position:absolute;left:-9999px;top:-9999px}.enhanced-visual-engine-container.loading:before{content:"Loading visualization...";position:absolute;left:-9999px;top:-9999px}.enhanced-visual-engine-container.error .sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.enhanced-object-hidden{display:none!important}.enhanced-object-visible{display:block!important}.enhanced-object-flex{display:flex!important}.enhanced-object-grid{display:grid!important}.enhanced-object-center{text-align:center!important}.enhanced-object-left{text-align:left!important}.enhanced-object-right{text-align:right!important}.enhanced-object-shadow-none{box-shadow:none!important}.enhanced-object-shadow-sm{box-shadow:var(--enhanced-shadow-sm)!important}.enhanced-object-shadow-md{box-shadow:var(--enhanced-shadow-md)!important}.enhanced-object-shadow-lg{box-shadow:var(--enhanced-shadow-lg)!important}.enhanced-object-rounded-none{border-radius:0!important}.enhanced-object-rounded-sm{border-radius:var(--enhanced-radius-sm)!important}.enhanced-object-rounded-md{border-radius:var(--enhanced-radius-md)!important}.enhanced-object-rounded-lg{border-radius:var(--enhanced-radius-lg)!important}.enhanced-object-border-none{border:none!important}.enhanced-object-border-thin{border:1px solid var(--enhanced-border)!important}.enhanced-object-border-thick{border:2px solid var(--enhanced-border)!important}.enhanced-object-spacing-xs{gap:var(--spacing-1, 4px)!important}.enhanced-object-spacing-sm{gap:var(--enhanced-gap-sm)!important}.enhanced-object-spacing-md{gap:var(--enhanced-gap-md)!important}.enhanced-object-spacing-lg{gap:var(--enhanced-gap-lg)!important}.enhanced-object-padding-none{padding:0!important}.enhanced-object-padding-sm{padding:var(--enhanced-padding-sm)!important}.enhanced-object-padding-md{padding:var(--enhanced-padding-md)!important}.enhanced-object-padding-lg{padding:var(--enhanced-padding-lg)!important}.enhanced-object-margin-none{margin:0!important}.enhanced-object-margin-sm{margin:var(--enhanced-gap-sm)!important}.enhanced-object-margin-md{margin:var(--enhanced-gap-md)!important}.enhanced-object-margin-lg{margin:var(--enhanced-gap-lg)!important}.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{will-change:box-shadow,border-color}.enhanced-sim-button{will-change:transform,box-shadow,background-color}.enhanced-sim-button:after{will-change:width,height}.slider-input::-webkit-slider-thumb,.slider-input::-moz-range-thumb{will-change:transform,box-shadow}.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{contain:layout style}.meters-container,.actions-container,.slider-container{min-height:1em}.enhanced-sim-button:hover,.enhanced-sim-button:active{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.enhanced-ethics-meters,.enhanced-actions,.enhanced-simulation-sliders,.enhanced-visual-engine-container{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.enhanced-sim-button:focus:not(:focus-visible){outline:none}.enhanced-sim-button:focus-visible{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.slider-input:focus:not(:focus-visible){outline:none}.slider-input:focus-visible{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}.enhanced-visual-engine-container canvas:focus:not(:focus-visible){outline:none}.enhanced-visual-engine-container canvas:focus-visible{outline:var(--enhanced-focus-ring);outline-offset:var(--enhanced-focus-offset)}body.dark-mode{--enhanced-bg-primary: var(--theme-bg-secondary);--enhanced-bg-secondary: var(--theme-bg-tertiary);--enhanced-border: var(--theme-border);--enhanced-border-focus: var(--theme-accent);--enhanced-text-primary: var(--theme-text-primary);--enhanced-text-secondary: var(--theme-text-secondary);--enhanced-text-muted: var(--theme-text-muted);--enhanced-shadow-sm: var(--theme-shadow);--enhanced-shadow-md: var(--theme-shadow);--enhanced-shadow-lg: var(--theme-shadow-heavy);--enhanced-shadow-hover: var(--theme-shadow-heavy)}body.dark-mode .enhanced-object-container{background:var(--enhanced-bg-primary);border-color:var(--enhanced-border);color:var(--enhanced-text-primary)}body.dark-mode .enhanced-object-container:hover{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border-focus);box-shadow:var(--enhanced-shadow-hover)}body.dark-mode .enhanced-object-header{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);color:var(--enhanced-text-primary)}body.dark-mode .enhanced-object-title{color:var(--enhanced-text-primary)}body.dark-mode .enhanced-object-subtitle{color:var(--enhanced-text-secondary)}body.dark-mode .enhanced-object-content{background:var(--enhanced-bg-primary);color:var(--enhanced-text-primary)}body.dark-mode .enhanced-object-footer{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border)}body.dark-mode .enhanced-input-field{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);color:var(--enhanced-text-primary)}body.dark-mode .enhanced-input-field:focus{border-color:var(--enhanced-border-focus);box-shadow:0 0 0 3px rgb(var(--theme-accent-rgb),.2)}body.dark-mode .enhanced-input-field::placeholder{color:var(--enhanced-text-muted)}body.dark-mode .enhanced-button{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);color:var(--enhanced-text-primary)}body.dark-mode .enhanced-button:hover,body.dark-mode .enhanced-button.primary{background:var(--enhanced-border-focus);color:var(--theme-text-on-accent)}body.dark-mode .enhanced-button.primary:hover{background:var(--theme-accent-dark)}body.dark-mode .enhanced-card{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);box-shadow:var(--enhanced-shadow-sm)}body.dark-mode .enhanced-card:hover{box-shadow:var(--enhanced-shadow-hover);border-color:var(--enhanced-border-focus)}body.dark-mode .enhanced-grid-container{background:var(--enhanced-bg-primary)}body.dark-mode .enhanced-grid-item{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border)}body.dark-mode .enhanced-grid-item:hover{background:var(--enhanced-bg-primary);border-color:var(--enhanced-border-focus)}body.dark-mode .enhanced-modal-overlay{background:#000000b3}body.dark-mode .enhanced-modal-content{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);box-shadow:var(--enhanced-shadow-lg)}body.dark-mode .enhanced-dropdown-menu{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border);box-shadow:var(--enhanced-shadow-md)}body.dark-mode .enhanced-dropdown-item{color:var(--enhanced-text-primary)}body.dark-mode .enhanced-dropdown-item:hover{background:var(--enhanced-bg-primary);color:var(--enhanced-border-focus)}body.dark-mode .enhanced-visual-engine-container{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border)}body.dark-mode .enhanced-visual-engine-container canvas{background:var(--enhanced-bg-primary)}body.dark-mode .enhanced-controls-panel{background:var(--enhanced-bg-secondary);border-color:var(--enhanced-border)}body.dark-mode .slider-track{background:var(--enhanced-bg-primary)}body.dark-mode .slider-thumb{background:var(--enhanced-border-focus);border-color:var(--enhanced-border)}body.dark-mode .slider-thumb:hover{background:var(--theme-accent-dark)}body.dark-mode .enhanced-tooltip{background:var(--enhanced-bg-secondary);color:var(--enhanced-text-primary);border-color:var(--enhanced-border);box-shadow:var(--enhanced-shadow-md)}body.dark-mode .enhanced-loading-spinner{border-color:var(--enhanced-border);border-top-color:var(--enhanced-border-focus)}@layer components{.color-picker{display:inline-block;position:relative;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.color-picker-preview{width:40px;height:40px;border:2px solid #dee2e6;border-radius:4px;cursor:pointer;position:relative;overflow:hidden}.color-picker-preview:after{content:"▼";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:#666;font-size:10px}.color-picker-popup{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;z-index:1000;min-width:280px}.color-picker-wheel{width:160px;height:160px;border-radius:50%;margin:0 auto 16px;position:relative;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.color-picker-sliders{margin-bottom:16px}.color-picker-slider{width:100%;height:20px;border-radius:10px;margin-bottom:8px;position:relative;cursor:pointer}.color-picker-presets{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:16px}.color-picker-preset{width:24px;height:24px;border:1px solid #dee2e6;border-radius:3px;cursor:pointer;transition:transform .1s ease}.color-picker-preset:hover{transform:scale(1.1)}.datetime-picker{display:inline-block;position:relative;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.datetime-picker-input{width:200px;height:40px;padding:8px 40px 8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.datetime-picker-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.datetime-picker-input:after{content:"📅";position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.datetime-picker-popup{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:320px}.datetime-picker-header{background:#007bff;color:#fff;padding:12px 16px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.datetime-picker-nav{background:none;border:none;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.datetime-picker-nav:hover{background:#ffffff1a}.datetime-picker-calendar{padding:16px}.datetime-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.datetime-picker-weekday{text-align:center;font-size:12px;font-weight:600;color:#6c757d;padding:8px 4px}.datetime-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datetime-picker-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.datetime-picker-day:hover{background:#e9ecef}.datetime-picker-day.selected{background:#007bff;color:#fff}.datetime-picker-day.today{background:#ffc107;font-weight:700}.datetime-picker-day.disabled{color:#adb5bd;cursor:not-allowed}.datetime-picker-time{padding:16px;border-top:1px solid #dee2e6}.datetime-picker-clock{width:160px;height:160px;margin:0 auto;position:relative;border:2px solid #dee2e6;border-radius:50%}.number-input{display:inline-block;position:relative;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.number-input-field{width:150px;height:40px;padding:8px 32px 8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff;text-align:left}.number-input-field:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.number-input-field:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.number-input-controls{position:absolute;right:0;top:0;height:100%;width:24px;border-left:1px solid #ced4da;display:flex;flex-direction:column}.number-input-control{flex:1;background:#f8f9fa;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#6c757d;transition:background-color .2s ease}.number-input-control:hover{background:#e9ecef}.number-input-control:first-child{border-bottom:1px solid #ced4da}.accordion{border:1px solid #dee2e6;border-radius:8px;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.accordion-item{border-bottom:1px solid #dee2e6}.accordion-item:last-child{border-bottom:none}.accordion-header{display:flex;align-items:center;padding:12px 16px;background:#f8f9fa;cursor:pointer;transition:background-color .2s ease;user-select:none}.accordion-header:hover,.accordion-header.active{background:#e9ecef}.accordion-header.disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.accordion-icon{margin-right:12px;font-size:12px;transition:transform .2s ease}.accordion-icon.expanded{transform:rotate(90deg)}.accordion .accordion-title{flex:1;font-weight:500;font-size:14px}.accordion-content{padding:16px;background:#fff;overflow:hidden;transition:max-height .3s ease}.accordion-content.collapsed{max-height:0;padding-top:0;padding-bottom:0}.drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000007f;z-index:1000;opacity:0;transition:opacity .3s ease}.drawer-overlay.visible{opacity:1}.drawer{position:fixed;background:#fff;box-shadow:0 4px 12px #00000026;z-index:1001;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:transform .3s cubic-bezier(.4,0,.2,1)}.drawer.left{top:0;left:0;height:100%;transform:translate(-100%)}.drawer.left.open{transform:translate(0)}.drawer.right{top:0;right:0;height:100%;transform:translate(100%)}.drawer.right.open{transform:translate(0)}.drawer.top{top:0;left:0;width:100%;transform:translateY(-100%)}.drawer.top.open{transform:translateY(0)}.drawer.bottom{bottom:0;left:0;width:100%;transform:translateY(100%)}.drawer.bottom.open{transform:translateY(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #dee2e6;background:#f8f9fa}.drawer-title{font-size:18px;font-weight:600;margin:0}.drawer-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6c757d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.drawer-close:hover{background:#e9ecef}.drawer-content{padding:20px;overflow-y:auto;max-height:calc(100% - 80px)}.search-box{display:inline-block;position:relative;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.search-box-input{width:300px;height:40px;padding:8px 80px 8px 40px;border:1px solid #ced4da;border-radius:20px;font-size:14px;background:#fff;transition:all .2s ease}.search-box-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.search-box-input:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.search-box-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:16px;color:#6c757d}.search-box-clear{position:absolute;right:50px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:#6c757d;cursor:pointer;padding:4px;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.search-box-clear:hover{background:#e9ecef}.search-box-button{position:absolute;right:4px;top:4px;bottom:4px;background:#007bff;border:none;border-radius:16px;color:#fff;cursor:pointer;padding:0 16px;font-size:12px;font-weight:500;transition:background-color .2s ease}.search-box-button:hover{background:#0056b3}.search-box-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:200px;overflow-y:auto}.search-box-suggestion{padding:12px 16px;cursor:pointer;font-size:14px;border-bottom:1px solid #f8f9fa;transition:background-color .2s ease}.search-box-suggestion:hover,.search-box-suggestion.selected{background:#f8f9fa}.search-box-suggestion:last-child{border-bottom:none}@media (width <= 768px){.datetime-picker-popup,.color-picker-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:400px}.drawer.left,.drawer.right{width:90vw;max-width:400px}.search-box-input{width:250px}.number-input-field{width:120px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){.color-picker-preview,.datetime-picker-input,.number-input-field,.search-box-input{border-width:2px}.accordion-header{border:1px solid}}@media (prefers-reduced-motion: reduce){.color-picker-preset,.datetime-picker-day,.number-input-control,.accordion-header,.drawer,.drawer-overlay,.search-box-input,.search-box-suggestion,.accordion-icon{transition:none}}.color-picker-preview:focus,.datetime-picker-input:focus,.number-input-field:focus,.accordion-header:focus,.drawer-close:focus,.search-box-input:focus{outline:2px solid #007bff;outline-offset:2px}}@layer components{:root{--lab-white: #fefefe;--lab-light-gray: #f8f9fa;--lab-gray: #e2e8f0;--lab-dark-gray: #64748b;--lab-charcoal: #1e293b;--lab-accent: #3b82f6;--lab-accent-light: rgb(59 130 246 / 10%);--lab-text-xs: .75rem;--lab-text-sm: .875rem;--lab-text-base: 1rem;--lab-text-lg: 1.125rem;--lab-text-xl: 1.25rem;--lab-text-2xl: 1.5rem;--lab-space-1: .25rem;--lab-space-2: .5rem;--lab-space-3: .75rem;--lab-space-4: 1rem;--lab-space-5: 1.25rem;--lab-space-6: 1.5rem;--lab-space-8: 2rem;--lab-space-10: 2.5rem;--lab-space-12: 3rem;--lab-radius-sm: .25rem;--lab-radius: .375rem;--lab-radius-md: .5rem;--lab-radius-lg: .75rem;--lab-shadow: 0 1px 3px rgb(0 0 0 / 10%);--lab-shadow-md: 0 4px 6px rgb(0 0 0 / 10%);--lab-shadow-lg: 0 10px 15px rgb(0 0 0 / 10%)}.modal-backdrop .scenario-reflection-modal .modal-dialog .modal-body,.scenario-reflection-modal .modal-dialog .modal-body,.scenario-reflection-modal .modal-body,.modal-dialog .scenario-reflection-modal .modal-body,div.scenario-reflection-modal .modal-body{overflow:hidden!important;padding:0!important;max-height:none!important}body.modal-open:has(.scenario-reflection-modal.show)[style*="overflow: hidden"],body.reflection-modal-open[style*="overflow: hidden"]{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important}body.dark-mode .scenario-reflection-modal .modal-body,body.dark-mode .scenario-reflection-modal .modal-dialog,body.dark-mode .scenario-reflection-modal .modal-content,body.theme-dark .scenario-reflection-modal .modal-body,body.theme-dark .scenario-reflection-modal .modal-dialog,body.theme-dark .scenario-reflection-modal .modal-content{background:var(--lab-white);color:var(--lab-charcoal);border-color:var(--lab-gray)}body.dark-mode .scenario-reflection-modal,body.theme-dark .scenario-reflection-modal{--lab-white: #fefefe;--lab-light-gray: #f8f9fa;--lab-gray: #e2e8f0;--lab-dark-gray: #64748b;--lab-charcoal: #1e293b;--lab-accent: #3b82f6}.scenario-reflection-modal{z-index:1200!important}.scenario-reflection-modal .modal-backdrop{z-index:1199!important}@media (max-width: 768px){.scenario-reflection-modal .modal-backdrop{backdrop-filter:blur(6px)}}@media (max-width: 480px){.scenario-reflection-modal .modal-backdrop{backdrop-filter:blur(4px);background-color:#000000a6!important}}@media (prefers-reduced-motion: reduce){.scenario-reflection-modal .modal-backdrop{backdrop-filter:none;background-color:#000000b3!important}}.scenario-reflection-modal .modal-dialog{max-width:900px;width:90vw;margin:2rem auto;z-index:1201!important}@media (max-width: 1024px){.scenario-reflection-modal .modal-dialog{max-width:800px;width:92vw;margin:1.5rem auto}}@media (max-width: 768px){.scenario-reflection-modal .modal-dialog{max-width:none;width:95vw;margin:1rem auto}}@media (max-width: 640px){.scenario-reflection-modal .modal-dialog{width:98vw;margin:.5rem auto}}@media (max-width: 480px){.scenario-reflection-modal .modal-dialog{width:100vw;margin:0;min-height:100vh;display:flex;flex-direction:column}.scenario-reflection-modal .modal-content{border-radius:0;flex:1;display:flex;flex-direction:column}}@media (max-width: 768px){.reflection-progress{padding:var(--lab-space-4)}.scenario-reflection-modal .progress-container{margin-bottom:var(--lab-space-4)}.scenario-reflection-modal .progress-bar{height:3px;margin-bottom:var(--lab-space-1)}.scenario-reflection-modal .progress-text{font-size:var(--lab-text-xs)}.scenario-reflection-modal .step-icon{width:28px;height:28px;font-size:var(--lab-text-xs)}.scenario-reflection-modal .step-title{font-size:.6875rem}.reflection-step-content{padding:var(--lab-space-6);max-height:calc(100vh - 280px)}.step-content h3{font-size:var(--lab-text-xl);margin-bottom:var(--lab-space-4)}}@media (max-width: 480px){.reflection-progress{padding:var(--lab-space-3)}.scenario-reflection-modal .progress-container{margin-bottom:var(--lab-space-3)}.scenario-reflection-modal .progress-bar{height:2px;margin-bottom:var(--lab-space-1)}.scenario-reflection-modal .progress-text{font-size:.6875rem;margin-bottom:var(--lab-space-2)}.scenario-reflection-modal .step-icon{width:24px;height:24px;font-size:.625rem;margin-bottom:var(--lab-space-1)}.scenario-reflection-modal .step-title{font-size:.625rem;line-height:1.2}.scenario-reflection-modal .progress-step:not(:last-child):after{top:12px}.reflection-step-content{padding:var(--lab-space-4);min-height:300px;max-height:none;flex:1}.step-content h3{font-size:var(--lab-text-lg);margin-bottom:var(--lab-space-3)}.step-description{margin-bottom:var(--lab-space-6);font-size:var(--lab-text-sm)}}@media (max-width: 360px){.reflection-progress{padding:var(--lab-space-2)}.scenario-reflection-modal .progress-step{flex:0 1 auto;min-width:60px;margin-bottom:var(--lab-space-2)}.scenario-reflection-modal .step-icon{width:20px;height:20px;font-size:.5rem}.scenario-reflection-modal .step-title{font-size:.5625rem;max-width:50px;word-wrap:break-word;text-align:center;line-height:1.1;margin-top:var(--lab-space-1)}}@media (max-width: 768px){.community-bar-chart,.impact-radar,.community-stats-summary{padding:var(--lab-space-4);margin-bottom:var(--lab-space-6)}.choice-text{font-size:var(--lab-text-sm)}.choice-percentage{font-size:.625rem}.choice-count{font-size:var(--lab-text-xs)}.dimension-label{min-width:100px;font-size:var(--lab-text-xs)}.dimension-value{min-width:40px;font-size:var(--lab-text-xs)}}@media (max-width: 480px){.community-bar-chart,.impact-radar,.community-stats-summary{padding:var(--lab-space-3);margin-bottom:var(--lab-space-4)}.choice-label{flex-direction:column;align-items:flex-start;gap:var(--lab-space-2)}.your-choice-indicator{align-self:flex-end}.choice-text{font-size:var(--lab-text-sm);line-height:1.4}.impact-dimension{flex-direction:column;align-items:stretch;gap:var(--lab-space-2)}.dimension-label{min-width:unset;text-align:left}.dimension-bar{height:16px}.dimension-value{min-width:unset;text-align:center;margin-top:var(--lab-space-1)}}@media (max-width: 768px){.next-exploration,.research-impact,.reflection-section{padding:var(--lab-space-6);margin-top:var(--lab-space-6)}.research-stats{flex-direction:column;align-items:center;gap:var(--lab-space-3)}.research-stats .stat{padding:var(--lab-space-3) var(--lab-space-4);font-size:var(--lab-text-sm)}.scenario-suggestions{gap:var(--lab-space-3)}.suggestion-card{padding:var(--lab-space-4)}.suggestion-title{font-size:var(--lab-text-base)}.suggestion-desc{font-size:var(--lab-text-sm)}}@media (max-width: 480px){.next-exploration,.research-impact,.reflection-section{padding:var(--lab-space-4);margin-top:var(--lab-space-4)}.next-exploration h4,.research-impact h4,.reflection-section h4{font-size:var(--lab-text-lg);margin-bottom:var(--lab-space-4)}.research-stats{gap:var(--lab-space-2)}.research-stats .stat{padding:var(--lab-space-2) var(--lab-space-3);font-size:var(--lab-text-xs);width:100%;text-align:center}.alternative-choice-analysis{gap:var(--lab-space-4)}.alternative-option{padding:var(--lab-space-4)}.alternative-option h5{font-size:var(--lab-text-base);margin-bottom:var(--lab-space-3)}.alternative-text{font-size:var(--lab-text-sm);padding:var(--lab-space-3) var(--lab-space-4)}.what-if-question{padding:var(--lab-space-4)}.impact-differences li{font-size:var(--lab-text-sm);padding:var(--lab-space-2)}}.scenario-reflection-modal .modal-content{border-radius:var(--lab-radius-lg);border:1px solid var(--lab-gray);box-shadow:var(--lab-shadow-lg);background:var(--lab-white);overflow:hidden}.reflection-progress{background:linear-gradient(135deg,#fdfdfe,#fafbfc,#f8f9fa);padding:var(--lab-space-6);border-bottom:1px solid var(--lab-gray);box-shadow:0 1px 2px #00000005,inset 0 1px #fffc}.progress-container{margin-bottom:var(--lab-space-6)}.scenario-reflection-modal .progress-bar{width:100%;height:4px;background:var(--lab-gray);border-radius:2px;overflow:hidden;margin-bottom:var(--lab-space-2)}.scenario-reflection-modal .progress-fill{height:100%;background:linear-gradient(90deg,var(--lab-accent),#1d4ed8);border-radius:2px;transition:width .3s ease}.scenario-reflection-modal .progress-text{font-size:var(--lab-text-sm);color:var(--lab-dark-gray);text-align:center;font-variant-numeric:tabular-nums}.scenario-reflection-modal .progress-steps{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--lab-space-4)}@media (max-width: 1024px){.scenario-reflection-modal .progress-steps{gap:var(--lab-space-3)}}@media (max-width: 768px){.scenario-reflection-modal .progress-steps{gap:var(--lab-space-2)}}@media (max-width: 640px){.scenario-reflection-modal .progress-steps{gap:var(--lab-space-1)}.scenario-reflection-modal .progress-step{min-width:0;flex:1}}@media (max-width: 480px){.scenario-reflection-modal .progress-steps{gap:var(--lab-space-1);flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.scenario-reflection-modal .progress-step{flex:0 0 auto;min-width:45px}}@media (max-width: 360px){.scenario-reflection-modal .progress-steps{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--lab-space-1);overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 var(--lab-space-1)}.scenario-reflection-modal .progress-step{flex:0 0 auto;min-width:40px;max-width:60px}.scenario-reflection-modal .progress-step:not(:last-child):after{top:10px;height:1px}}.scenario-reflection-modal .progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.scenario-reflection-modal .progress-step:not(:last-child):after{content:"";position:absolute;top:15px;right:-50%;width:100%;height:2px;background:var(--lab-gray);z-index:0}.scenario-reflection-modal .progress-step.completed:not(:last-child):after{background:var(--lab-accent)}.scenario-reflection-modal .step-icon{width:32px;height:32px;border-radius:50%;background:var(--lab-gray);color:var(--lab-dark-gray);display:flex;align-items:center;justify-content:center;font-size:var(--lab-text-sm);font-weight:600;margin-bottom:var(--lab-space-2);position:relative;z-index:1;transition:all .2s ease}.scenario-reflection-modal .progress-step.completed .step-icon{background:var(--lab-accent);color:#fff}.scenario-reflection-modal .progress-step.active .step-icon{background:var(--lab-accent);color:#fff;box-shadow:0 0 0 3px var(--lab-accent-light)}.scenario-reflection-modal .step-title{font-size:var(--lab-text-xs);color:var(--lab-charcoal);text-align:center;font-weight:500;line-height:1.3}.scenario-reflection-modal .progress-step.completed .step-title,.scenario-reflection-modal .progress-step.active .step-title{color:var(--lab-charcoal);font-weight:600}.reflection-step-content{background:linear-gradient(135deg,#fdfdfe,#fafbfc);padding:var(--lab-space-8);min-height:400px;max-height:calc(100vh - 320px);overflow-y:auto;box-shadow:inset 0 1px 3px #00000005}.step-content h3{color:var(--lab-charcoal);margin-bottom:var(--lab-space-6);font-size:var(--lab-text-2xl);font-weight:600;line-height:1.2}.step-description{color:var(--lab-charcoal);margin-bottom:var(--lab-space-8);line-height:1.6;font-size:var(--lab-text-base)}.choice-summary{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius-md);padding:var(--lab-space-6);margin-bottom:var(--lab-space-8);border-left:4px solid var(--lab-accent);box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.option-display{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius);padding:var(--lab-space-4);border:1px solid var(--lab-gray);margin-top:var(--lab-space-4);box-shadow:0 1px 2px #00000008,0 1px 1px #0000000d}.scenario-reflection-modal .option-text{font-weight:600;color:var(--lab-charcoal);margin-bottom:var(--lab-space-2);font-size:var(--lab-text-lg)}.option-reasoning{color:var(--lab-charcoal);line-height:1.5}.ethical-impact-chart{margin-bottom:var(--lab-space-8)}.impact-radar{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius-md);padding:var(--lab-space-8);border:1px solid var(--lab-gray);box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;position:relative;overflow:hidden}.impact-radar:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--lab-accent),#1e40af);opacity:.3}.impact-dimension{display:flex;align-items:center;gap:var(--lab-space-4);margin-bottom:var(--lab-space-4)}.dimension-label{min-width:120px;font-weight:600;color:#0f172a;font-size:var(--lab-text-sm);text-transform:capitalize}.dimension-bar{flex:1;height:20px;background:var(--lab-gray);border-radius:10px;overflow:hidden;position:relative}.dimension-fill{height:100%;background:linear-gradient(90deg,var(--lab-accent),#1e40af);border-radius:10px;transition:width .5s ease}.dimension-value{min-width:50px;text-align:right;font-weight:600;color:var(--lab-accent);font-size:var(--lab-text-sm);font-variant-numeric:tabular-nums}.community-stats-summary{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius-md);padding:var(--lab-space-5);margin-bottom:var(--lab-space-6);text-align:center;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.community-bar-chart{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius-md);padding:var(--lab-space-6);border:1px solid var(--lab-gray);margin-bottom:var(--lab-space-8);box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.choice-bar{margin-bottom:var(--lab-space-5);padding-bottom:var(--lab-space-4);border-bottom:1px solid var(--lab-gray)}.choice-bar:last-child{border-bottom:none;margin-bottom:0}.choice-bar.user-choice{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--lab-radius);padding:var(--lab-space-4);border:2px solid #f59e0b}.choice-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--lab-space-3)}.choice-text{font-weight:500;color:var(--lab-charcoal);font-size:var(--lab-text-base)}.your-choice-indicator{background:#f59e0b;color:#fff;padding:var(--lab-space-1) var(--lab-space-3);border-radius:20px;font-size:var(--lab-text-xs);font-weight:600}.choice-bar-container{position:relative;height:24px;background:var(--lab-gray);border-radius:12px;overflow:hidden;margin-bottom:var(--lab-space-2)}.choice-bar-fill{height:100%;background:linear-gradient(90deg,var(--lab-accent),#1e40af);border-radius:12px;transition:width .6s ease;position:relative}.choice-bar.user-choice .choice-bar-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.choice-percentage{position:absolute;right:var(--lab-space-3);top:50%;transform:translateY(-50%);font-weight:600;color:#fff;font-size:var(--lab-text-xs);font-variant-numeric:tabular-nums}.choice-count{font-size:var(--lab-text-sm);color:var(--lab-dark-gray);text-align:right;font-variant-numeric:tabular-nums}.community-insights-container,.reflection-sections{display:grid;gap:var(--lab-space-6)}.insight,.reflection-section{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius-md);padding:var(--lab-space-6);border:1px solid var(--lab-gray);box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f}.insight.popular{border-left:4px solid #10b981;background:linear-gradient(135deg,#ecfdf5,var(--lab-white))}.insight.minority{border-left:4px solid var(--lab-accent);background:linear-gradient(135deg,#eff6ff,var(--lab-white))}.insight.balanced{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffbeb,var(--lab-white))}.reflection-section h4{color:var(--lab-charcoal);margin-bottom:var(--lab-space-4);font-size:var(--lab-text-xl);font-weight:600}.next-exploration{background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f8fafc);border-radius:var(--lab-radius-lg);padding:var(--lab-space-8);margin-top:var(--lab-space-8);border:1px solid #0ea5e9;position:relative;overflow:hidden}.next-exploration:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0ea5e9,#0284c7,#0369a1);opacity:.8}.next-exploration h4{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#0369a1;margin-bottom:var(--lab-space-5);text-transform:none;text-shadow:0 1px 2px rgb(3 105 161 / 10%);padding-bottom:var(--lab-space-2);border-bottom:2px solid rgb(14 165 233 / 20%)}.next-exploration .next-scenarios p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--lab-text-base);font-weight:500;line-height:1.6;color:#1e40af;margin-bottom:var(--lab-space-5);font-style:italic;opacity:.9}.scenario-suggestions{display:grid;gap:var(--lab-space-4);margin-top:var(--lab-space-5)}.suggestion-card{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:var(--lab-radius);padding:var(--lab-space-5);border:1px solid rgb(14 165 233 / 20%);transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.suggestion-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #0ea5e926;border-color:#0ea5e9}.suggestion-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.125rem;font-weight:650;line-height:1.3;color:#0f172a;margin-bottom:var(--lab-space-2);letter-spacing:-.01em}.suggestion-desc{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.5;color:#475569;opacity:.85}.research-impact{background:linear-gradient(135deg,#f0fdf4,#ecfdf5,#f9fafb);border-radius:var(--lab-radius-lg);padding:var(--lab-space-8);margin-top:var(--lab-space-8);border:1px solid #22c55e;text-align:center;position:relative;overflow:hidden}.research-impact:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d);opacity:.9}.research-impact h4{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;color:#064e3b;text-shadow:0 1px 3px rgb(6 78 59 / 10%);padding-bottom:var(--lab-space-3);border-bottom:2px solid rgb(34 197 94 / 30%);margin-bottom:var(--lab-space-6)}.research-impact>p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1.0625rem;font-weight:450;line-height:1.65;color:#166534;margin-bottom:var(--lab-space-6);max-width:42ch;margin-left:auto;margin-right:auto;opacity:.95}.research-stats{display:flex;justify-content:center;gap:var(--lab-space-5);margin-top:var(--lab-space-6);flex-wrap:wrap}.research-stats .stat{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#fff,#f8fafc);padding:var(--lab-space-4) var(--lab-space-5);border-radius:25px;font-weight:600;font-size:.9375rem;color:#065f46;box-shadow:0 4px 6px #22c55e1a,0 1px 3px #0000001a;border:1px solid rgb(34 197 94 / 20%);transition:all .2s ease;letter-spacing:-.005em;line-height:1.4;font-variant-numeric:tabular-nums}.research-stats .stat:hover{transform:translateY(-1px);box-shadow:0 6px 12px #22c55e26,0 2px 4px #0000001a}.reflection-section.alternative-perspectives{background:linear-gradient(135deg,#fefbff,#f8f4ff,#f3f1ff);border-radius:var(--lab-radius-lg);padding:var(--lab-space-8);margin-top:var(--lab-space-6);border:1px solid #a855f7;position:relative;overflow:hidden}.reflection-section.alternative-perspectives:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#a855f7,#9333ea,#7c3aed);opacity:.8}.reflection-section.alternative-perspectives h4{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1.4375rem;font-weight:650;letter-spacing:-.015em;line-height:1.25;color:#6b21a8;margin-bottom:var(--lab-space-6);text-shadow:0 1px 2px rgb(107 33 168 / 10%);padding-bottom:var(--lab-space-3);border-bottom:2px solid rgb(168 85 247 / 25%)}.alternative-choice-analysis{display:flex;flex-direction:column;gap:var(--lab-space-6)}.alternative-option{background:linear-gradient(135deg,#fff,#faf9fc);border-radius:var(--lab-radius-md);padding:var(--lab-space-6);border:1px solid rgb(168 85 247 / 20%);box-shadow:0 2px 4px #a855f714,0 1px 2px #0000000d}.alternative-option h5{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.125rem;font-weight:500;line-height:1.35;color:#7c3aed;margin-bottom:var(--lab-space-4);opacity:.9}.alternative-text{font-family:Georgia,Times New Roman,serif;font-size:1.0625rem;font-weight:400;line-height:1.6;color:#553c9a;font-style:italic;padding:var(--lab-space-4) var(--lab-space-5);background:#a855f70a;border-radius:var(--lab-radius);border-left:3px solid #a855f7;position:relative}.alternative-text:before{content:"“";position:absolute;left:var(--lab-space-3);top:var(--lab-space-2);font-size:1.5rem;color:#a855f7;opacity:.6;font-family:serif}.alternative-text:after{content:"”";position:absolute;right:var(--lab-space-3);bottom:var(--lab-space-2);font-size:1.5rem;color:#a855f7;opacity:.6;font-family:serif}.alternative-questions{display:flex;flex-direction:column;gap:var(--lab-space-5)}.what-if-question{background:linear-gradient(135deg,#fff,#faf9fc);border-radius:var(--lab-radius);padding:var(--lab-space-5);border:1px solid rgb(168 85 247 / 15%)}.what-if-question strong{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.0625rem;font-weight:600;color:#6b21a8;display:block;margin-bottom:var(--lab-space-3);line-height:1.4}.impact-differences{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--lab-space-3)}.impact-differences li{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.55;color:#7c3aed;padding:var(--lab-space-2) var(--lab-space-3);background:#a855f70d;border-radius:var(--lab-radius-sm);border-left:2px solid rgb(168 85 247 / 30%);opacity:.9}.impact-differences li em{font-style:normal;font-weight:500;color:#6b21a8}.reflection-prompt{background:linear-gradient(135deg,#fefbff,#f8f4ff);border-radius:var(--lab-radius);padding:var(--lab-space-5);border:1px solid rgb(168 85 247 / 20%);border-left:4px solid #a855f7;position:relative}.reflection-prompt strong{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;color:#6b21a8;display:block;margin-bottom:var(--lab-space-3);line-height:1.4}.reflection-prompt{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:450;line-height:1.65;color:#7c3aed}.no-alternatives{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--lab-text-base);font-weight:400;line-height:1.6;color:#9333ea;text-align:center;padding:var(--lab-space-6);font-style:italic;opacity:.8}.impact-explanation{background:linear-gradient(135deg,#f0fdf4,#ecfdf5,#f6fffa);border-radius:var(--lab-radius-lg);padding:var(--lab-space-8);margin-top:var(--lab-space-6);border:1px solid #16a34a;position:relative;overflow:hidden}.impact-explanation:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#16a34a,#15803d,#166534);opacity:.8}.impact-explanation h4{font-family:Georgia,Times New Roman,serif;font-size:1.375rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:#166534;margin-bottom:var(--lab-space-6);text-shadow:0 1px 2px rgb(22 101 52 / 10%);padding-bottom:var(--lab-space-3);border-bottom:2px solid rgb(22 163 74 / 25%)}.impact-explanation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--lab-space-4)}.impact-explanation li{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:450;line-height:1.6;color:#15803d;padding:var(--lab-space-4) var(--lab-space-5);background:linear-gradient(135deg,#fff,#f6fffa);border-radius:var(--lab-radius);border-left:3px solid #22c55e;box-shadow:0 2px 4px #16a34a14,0 1px 2px #0000000d;position:relative}.impact-explanation li:has([emoji*=✅]),.impact-explanation li[data-type=positive]{border-left-color:#16a34a;background:linear-gradient(135deg,#f0fdf4,#fff)}.impact-explanation li:has([emoji*=⚠️]),.impact-explanation li[data-type=warning]{border-left-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff);color:#d97706}.impact-explanation li:has([emoji*=⚖️]),.impact-explanation li[data-type=balanced]{border-left-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#fff);color:#4338ca}.impact-explanation li:before{content:"";position:absolute;left:var(--lab-space-2);top:var(--lab-space-4);width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.6}.community-insights{background:linear-gradient(135deg,#fef7ff,#fdf4ff,#faf5ff);border-radius:var(--lab-radius-lg);padding:var(--lab-space-8);margin-top:var(--lab-space-6);border:1px solid #d946ef;position:relative;overflow:hidden}.community-insights:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#d946ef,#c026d3,#a21caf);opacity:.8}.community-insights-container{display:flex;flex-direction:column;gap:var(--lab-space-6)}.insight{border-radius:var(--lab-radius-lg);padding:var(--lab-space-6);position:relative;overflow:hidden;box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a}.insight.popular{background:linear-gradient(135deg,#ecfdf5,#d1fae5,#fff);border:1px solid #10b981;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.4;color:#065f46;text-shadow:0 1px 2px rgb(6 95 70 / 10%)}.insight.minority{background:linear-gradient(135deg,#eff6ff,#dbeafe,#fff);border:1px solid #3b82f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.125rem;font-weight:650;line-height:1.4;color:#1e40af;text-shadow:0 1px 2px rgb(30 64 175 / 10%)}.insight.balanced{background:linear-gradient(135deg,#fffbeb,#fef3c7,#fff);border:1px solid #f59e0b;font-family:Georgia,Times New Roman,serif;font-size:1.125rem;font-weight:500;line-height:1.45;color:#d97706;text-shadow:0 1px 2px rgb(217 119 6 / 10%)}.insight strong,.insight [data-percentage]{font-weight:700;font-variant-numeric:tabular-nums;font-size:1.1em}.cultural-note{background:linear-gradient(135deg,#fff,#fef7ff);border-radius:var(--lab-radius);padding:var(--lab-space-5);border:1px solid rgb(217 70 239 / 20%);border-left:3px solid #d946ef;position:relative}.cultural-note p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:.9375rem;font-weight:400;line-height:1.65;color:#a21caf;margin:0;opacity:.9}.cultural-note em{font-style:normal;font-weight:500;color:#86198f}.stakeholder-cards,.framework-cards,.insight-cards{display:grid;gap:var(--lab-space-4)}.stakeholder-card,.framework-card,.insight-card{display:flex;align-items:flex-start;gap:var(--lab-space-4);background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius);padding:var(--lab-space-4);border:1px solid var(--lab-gray);transition:all .2s ease;box-shadow:0 1px 2px #00000008,0 1px 1px #0000000d}.stakeholder-card:hover,.framework-card:hover,.insight-card:hover{transform:translateY(-.5px) translateZ(0);box-shadow:var(--lab-shadow-md);backface-visibility:hidden;-webkit-backface-visibility:hidden}.stakeholder-icon,.insight-icon{font-size:var(--lab-text-2xl);flex-shrink:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);image-rendering:optimizeQuality;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.scenario-reflection-modal .insight-icon,.scenario-reflection-modal .stakeholder-icon{font-size:var(--lab-text-2xl)!important;flex-shrink:0!important;backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;image-rendering:optimizeQuality!important;text-rendering:optimizeLegibility!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;position:static!important;margin-right:0!important;margin-left:0!important;color:inherit!important;left:auto!important;top:auto!important}.stakeholder-content h5,.framework-name,.insight-content h5{color:var(--lab-charcoal);margin-bottom:var(--lab-space-2);font-weight:600;font-size:var(--lab-text-base)}.stakeholder-perspective,.framework-description,.insight-content p{color:var(--lab-dark-gray);font-size:var(--lab-text-sm);line-height:1.5;margin:0}.framework-card.strong{border-left:4px solid #10b981}.framework-card.moderate{border-left:4px solid #f59e0b}.demographic-questions,.scenario-questions,.deep-reflection-questions{display:grid;gap:var(--lab-space-5)}.demo-question,.reflection-question,.reflection-question-deep{background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-radius:var(--lab-radius);padding:var(--lab-space-5);border:1px solid var(--lab-gray);box-shadow:0 1px 2px #00000008,0 1px 1px #0000000d}.demo-question label,.reflection-question label,.reflection-question-deep label{display:block;font-weight:500;color:var(--lab-charcoal);margin-bottom:var(--lab-space-3);line-height:1.4;font-size:var(--lab-text-base)}.demo-question select,.reflection-question textarea,.reflection-question-deep textarea{width:100%;padding:var(--lab-space-3);border:1px solid var(--lab-gray);border-radius:var(--lab-radius);font-size:var(--lab-text-base);background:linear-gradient(135deg,#fdfdfe,#fafbfc);color:var(--lab-charcoal);transition:border-color .2s ease;box-shadow:0 1px 2px #00000005,0 1px 1px #0000000a}.demo-question select:focus,.reflection-question textarea:focus,.reflection-question-deep textarea:focus{outline:none;border-color:var(--lab-accent);box-shadow:0 0 0 3px var(--lab-accent-light)}.radio-group{display:flex;flex-direction:column;gap:var(--lab-space-2)}.radio-group label{display:flex!important;align-items:center;gap:var(--lab-space-2);font-weight:400!important;margin-bottom:0!important;cursor:pointer;padding:var(--lab-space-2);border-radius:var(--lab-radius-sm);transition:background-color .2s ease}.radio-group label:hover{background:var(--lab-light-gray)}.radio-group input[type=radio]{width:auto!important;margin:0}.confidence-scale{display:flex;flex-direction:column;gap:var(--lab-space-2)}.confidence-slider{appearance:none;-webkit-appearance:none;width:100%!important;height:6px;border-radius:3px;background:var(--lab-gray);outline:none}.confidence-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--lab-accent);cursor:pointer;box-shadow:var(--lab-shadow)}.confidence-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--lab-accent);cursor:pointer;border:none;box-shadow:var(--lab-shadow)}.scale-labels{display:flex;justify-content:space-between;font-size:var(--lab-text-xs);color:var(--lab-dark-gray)}.scenario-reflection-modal .modal-footer{display:flex!important;position:relative;flex-shrink:0;padding:0;margin:0;border:none;background:transparent;min-height:auto}.modal-footer-content{display:flex;justify-content:space-between;align-items:center;padding:var(--lab-space-6);background:linear-gradient(135deg,#fdfdfe,#fafbfc);border-top:1px solid var(--lab-gray);box-shadow:0 -1px 3px #00000005,0 -1px 2px #0000000a}.footer-left,.footer-right{display:flex;gap:var(--lab-space-3)}.footer-center{display:flex;align-items:center}.step-indicator{font-size:var(--lab-text-sm);font-weight:500;color:var(--lab-dark-gray);font-variant-numeric:tabular-nums}.btn{padding:var(--lab-space-3) var(--lab-space-6);border-radius:var(--lab-radius);font-size:var(--lab-text-sm);font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--lab-space-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--lab-accent);color:#fff;border-color:var(--lab-accent)}.btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:var(--lab-shadow-md)}.btn-secondary{background:#fff;color:var(--lab-charcoal);border-color:var(--lab-gray)}.btn-secondary:hover:not(:disabled){background:var(--lab-light-gray);border-color:var(--lab-dark-gray)}.btn-outline{background:transparent;color:var(--lab-dark-gray);border-color:var(--lab-gray)}.btn-outline:hover:not(:disabled){background:var(--lab-light-gray);color:var(--lab-charcoal)}@media (max-width: 768px){.scenario-reflection-modal .modal-dialog{width:100vw;height:100vh;max-width:none;margin:0}.scenario-reflection-modal .modal-content{border-radius:0;height:100vh;display:flex;flex-direction:column}.reflection-step-content{flex:1;overflow-y:auto;padding:var(--lab-space-4);max-height:calc(100vh - 220px)}.progress-steps{flex-wrap:wrap;gap:var(--lab-space-1)}.step-title{display:none}.scenario-reflection-modal .modal-footer{display:flex!important;position:sticky;bottom:0;z-index:10;background:var(--lab-white);border-top:1px solid var(--lab-gray)}.modal-footer-content{padding:var(--lab-space-4)}.footer-left,.footer-right{flex-direction:column;gap:var(--lab-space-2)}.insight-card,.stakeholder-card,.framework-card{flex-direction:column;text-align:center;gap:var(--lab-space-3)}.scenario-reflection-modal .insight-icon,.scenario-reflection-modal .stakeholder-icon{font-size:1.5rem!important;align-self:center}.insight-cards,.stakeholder-cards,.framework-cards{gap:var(--lab-space-3)}.next-exploration h4{font-size:1.25rem;margin-bottom:var(--lab-space-4)}.next-exploration .next-scenarios p{font-size:.9375rem;line-height:1.5;margin-bottom:var(--lab-space-4)}.scenario-suggestions{gap:var(--lab-space-3)}.suggestion-card{padding:var(--lab-space-4)}.suggestion-title{font-size:1rem;line-height:1.25}.suggestion-desc{font-size:.875rem}.research-impact h4{font-size:1.375rem;margin-bottom:var(--lab-space-5)}.research-impact>p{font-size:1rem;line-height:1.6;margin-bottom:var(--lab-space-5)}.research-stats{flex-direction:column;gap:var(--lab-space-3);align-items:center}.research-stats .stat{font-size:.875rem;padding:var(--lab-space-3) var(--lab-space-4);width:100%;max-width:280px;text-align:center}.reflection-section.alternative-perspectives h4{font-size:1.25rem;margin-bottom:var(--lab-space-5)}.alternative-choice-analysis{gap:var(--lab-space-5)}.alternative-option,.what-if-question,.reflection-prompt{padding:var(--lab-space-4)}.alternative-option h5{font-size:1rem;margin-bottom:var(--lab-space-3)}.alternative-text{font-size:1rem;line-height:1.55;padding:var(--lab-space-3) var(--lab-space-4)}.alternative-text:before,.alternative-text:after{font-size:1.25rem}.what-if-question strong,.reflection-prompt strong{font-size:1rem;margin-bottom:var(--lab-space-2)}.impact-differences{gap:var(--lab-space-2)}.impact-differences li{font-size:.875rem;line-height:1.5;padding:var(--lab-space-2)}.impact-explanation h4{font-size:1.25rem;margin-bottom:var(--lab-space-5)}.impact-explanation{padding:var(--lab-space-5);margin-top:var(--lab-space-5)}.impact-explanation ul{gap:var(--lab-space-3)}.impact-explanation li{font-size:.9375rem;line-height:1.55;padding:var(--lab-space-3) var(--lab-space-4)}.community-insights{padding:var(--lab-space-5);margin-top:var(--lab-space-5)}.community-insights-container{gap:var(--lab-space-5)}.insight{padding:var(--lab-space-4);font-size:1rem;line-height:1.35}.insight strong{font-size:1.05em}.cultural-note{padding:var(--lab-space-4)}.cultural-note p{font-size:.875rem;line-height:1.6}}@media (max-width: 480px){.scenario-reflection-modal .insight-icon{font-size:1.25rem!important}.insight-card,.stakeholder-card,.framework-card{padding:var(--lab-space-3);min-height:100px}.reflection-step-content{padding:var( --lab-space-3 )}.scenario-reflection-modal .modal-footer{display:flex!important;position:sticky;bottom:0;z-index:15;background:var(--lab-white);border-top:1px solid var(--lab-gray);box-shadow:0 -2px 8px #0000001a}.modal-footer-content{padding:var(--lab-space-3) var(--lab-space-4);flex-direction:column;gap:var(--lab-space-2);align-items:center}.insight-cards,.stakeholder-cards,.framework-cards{gap:var(--lab-space-2)}.next-exploration,.research-impact{padding:var(--lab-space-5);margin-top:var(--lab-space-5)}.next-exploration h4,.research-impact h4{font-size:1.125rem;margin-bottom:var(--lab-space-3);padding-bottom:var(--lab-space-1)}.next-exploration .next-scenarios p{font-size:.875rem;line-height:1.45;margin-bottom:var(--lab-space-3)}.research-impact>p{font-size:.9375rem;line-height:1.55;margin-bottom:var(--lab-space-4)}.suggestion-card{padding:var(--lab-space-3)}.suggestion-title{font-size:.9375rem;margin-bottom:var(--lab-space-1)}.suggestion-desc{font-size:.8125rem;line-height:1.4}.research-stats .stat{font-size:.8125rem;padding:var(--lab-space-2) var(--lab-space-3)}.reflection-section.alternative-perspectives{padding:var(--lab-space-5);margin-top:var(--lab-space-4)}.reflection-section.alternative-perspectives h4{font-size:1.125rem;margin-bottom:var(--lab-space-4);padding-bottom:var(--lab-space-2)}.alternative-choice-analysis{gap:var(--lab-space-4)}.alternative-option,.what-if-question,.reflection-prompt{padding:var(--lab-space-3)}.alternative-option h5{font-size:.9375rem;margin-bottom:var(--lab-space-2)}.alternative-text{font-size:.9375rem;line-height:1.5;padding:var(--lab-space-2) var(--lab-space-3)}.alternative-text:before,.alternative-text:after{font-size:1.125rem}.what-if-question strong,.reflection-prompt strong{font-size:.9375rem;margin-bottom:var(--lab-space-1)}.impact-differences li{font-size:.8125rem;line-height:1.4;padding:var(--lab-space-1) var(--lab-space-2)}.impact-explanation{padding:var(--lab-space-4);margin-top:var(--lab-space-4)}.impact-explanation h4{font-size:1.125rem;margin-bottom:var(--lab-space-4);padding-bottom:var(--lab-space-2)}.impact-explanation ul{gap:var(--lab-space-2)}.impact-explanation li{font-size:.875rem;line-height:1.5;padding:var(--lab-space-2) var(--lab-space-3)}.community-insights{padding:var(--lab-space-4);margin-top:var(--lab-space-4)}.community-insights-container{gap:var(--lab-space-4)}.insight{padding:var(--lab-space-3);font-size:.9375rem;line-height:1.3}.insight strong{font-size:1em}.cultural-note{padding:var(--lab-space-3)}.cultural-note p{font-size:.8125rem;line-height:1.55}}@media (min-width: 481px) and (max-width: 768px){.scenario-reflection-modal .insight-icon{font-size:1.75rem!important}.insight-cards,.stakeholder-cards,.framework-cards{gap:var(--lab-space-4)}.insight-card,.stakeholder-card,.framework-card{min-height:120px;padding:var(--lab-space-4)}.reflection-step-content{padding:var(--lab-space-5)}.next-exploration h4{font-size:1.3125rem}.next-exploration .next-scenarios p{font-size:1rem;line-height:1.55}.research-impact h4{font-size:1.4375rem}.research-impact>p{font-size:1.03125rem;line-height:1.6}.research-stats{gap:var(--lab-space-4)}.research-stats .stat{font-size:.9375rem;padding:var(--lab-space-4) var(--lab-space-5)}.reflection-section.alternative-perspectives h4{font-size:1.3125rem}.alternative-option h5{font-size:1.0625rem}.alternative-text{font-size:1.03125rem;line-height:1.58}.alternative-text:before,.alternative-text:after{font-size:1.375rem}.what-if-question strong,.reflection-prompt strong{font-size:1.03125rem}.impact-differences li{font-size:.9375rem;line-height:1.52}.impact-explanation h4{font-size:1.3125rem}.impact-explanation li{font-size:.9375rem;line-height:1.58}.insight{font-size:1.0625rem;line-height:1.38}.insight strong{font-size:1.08em}.cultural-note p{font-size:.9375rem;line-height:1.62}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (prefers-reduced-motion: reduce){.progress-fill,.choice-bar-fill,.dimension-fill,.btn,.choice-bar{transition:none}}body.modal-open .scenario-reflection-modal.show~header.header,body.modal-open .scenario-reflection-modal.show~.main-nav,body.modal-open .scenario-reflection-modal.show~.nav-container,body.modal-open.reflection-modal-open header.header,body.modal-open.reflection-modal-open .main-nav,body.modal-open.reflection-modal-open .nav-container{opacity:.3;filter:blur(2px);transition:all .3s ease;pointer-events:none}body.modal-open .scenario-reflection-modal.show~.floating-action-tab-link,body.modal-open .scenario-reflection-modal.show~.floating-surprise-tab-link,body.modal-open .scenario-reflection-modal.show~.floating-tour-tab-link,body.modal-open.reflection-modal-open .floating-action-tab-link,body.modal-open.reflection-modal-open .floating-surprise-tab-link,body.modal-open.reflection-modal-open .floating-tour-tab-link{opacity:.2;filter:blur(1px);transition:all .3s ease}.reflection-modal-active header.header,.reflection-modal-active .main-nav,.reflection-modal-active .nav-container{opacity:.3;filter:blur(2px);transition:all .3s ease;pointer-events:none}.reflection-modal-active .floating-action-tab-link,.reflection-modal-active .floating-surprise-tab-link,.reflection-modal-active .floating-tour-tab-link{opacity:.2;filter:blur(1px);transition:all .3s ease}.scenario-reflection-modal .modal-backdrop{background-color:#0009;backdrop-filter:blur(8px)}}@layer overrides{@media (prefers-contrast: high){:root{--lab-gray: #000;--lab-accent: #0000ff;--lab-dark-gray: #000}}body.dark-mode .scenario-reflection-content,body.theme-dark .scenario-reflection-content{background:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .reflection-step-content,body.theme-dark .reflection-step-content{background:var(--theme-bg-secondary);color:var(--theme-text-primary);box-shadow:inset 0 1px 3px #0006}body.dark-mode .reflection-step-content h3,body.dark-mode .step-content h3,body.theme-dark .reflection-step-content h3,body.theme-dark .step-content h3{color:var(--theme-text-primary)}body.dark-mode .step-description,body.theme-dark .step-description{color:var(--theme-text-secondary)}body.dark-mode .reflection-progress,body.theme-dark .reflection-progress{background:var(--theme-bg-secondary);border-bottom-color:var(--theme-border);box-shadow:0 1px 2px #0006,inset 0 1px #60a5fa1a}body.dark-mode .progress-bar,body.theme-dark .progress-bar{background:var(--theme-border)}body.dark-mode .progress-fill,body.theme-dark .progress-fill{background:linear-gradient(90deg,var(--color-primary),#3b82f6)}body.dark-mode .progress-label,body.theme-dark .progress-label{color:var(--theme-text-primary)}body.dark-mode .progress-text,body.theme-dark .progress-text{color:var(--theme-text-secondary)}body.dark-mode .step-indicator,body.theme-dark .step-indicator{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-secondary)}body.dark-mode .step-indicator.active,body.theme-dark .step-indicator.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}body.dark-mode .step-indicator.completed,body.theme-dark .step-indicator.completed{background:#10b981;border-color:#10b981;color:#064e3b}body.dark-mode .step-title,body.theme-dark .step-title{color:var(--theme-text-primary)}body.dark-mode .choice-summary,body.theme-dark .choice-summary{background:var(--theme-bg-secondary);border-left-color:var(--color-primary)}body.dark-mode .option-display,body.theme-dark .option-display{background:var(--theme-bg-secondary);border-color:var(--theme-border)}body.dark-mode .scenario-reflection-modal .option-text,body.dark-mode .option-reasoning,body.theme-dark .scenario-reflection-modal .option-text,body.theme-dark .option-reasoning,body.dark-mode .dimension-label,body.theme-dark .dimension-label{color:var(--theme-text-primary)}body.dark-mode .impact-explanation li,body.theme-dark .impact-explanation li{background:var(--theme-bg-secondary);border-left-color:var(--color-primary);color:var(--theme-text-primary);box-shadow:0 2px 4px var(--theme-shadow)}body.dark-mode .choice-bar.user-choice,body.theme-dark .choice-bar.user-choice{background:var(--theme-bg-secondary);border-color:var(--color-primary)}body.dark-mode .alternative-option,body.dark-mode .what-if-question,body.dark-mode .reflection-prompt,body.dark-mode .stakeholder-card,body.dark-mode .framework-card,body.dark-mode .insight-card,body.theme-dark .alternative-option,body.theme-dark .what-if-question,body.theme-dark .reflection-prompt,body.theme-dark .stakeholder-card,body.theme-dark .framework-card,body.theme-dark .insight-card{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary);box-shadow:0 2px 4px var(--theme-shadow)}body.dark-mode .stakeholder-content h5,body.dark-mode .framework-name,body.dark-mode .insight-content h5,body.theme-dark .stakeholder-content h5,body.theme-dark .framework-name,body.theme-dark .insight-content h5{color:var(--theme-text-primary)}body.dark-mode .research-impact,body.dark-mode .next-exploration,body.theme-dark .research-impact,body.theme-dark .next-exploration{background:var(--theme-bg-secondary);border-color:var(--color-primary);color:var(--theme-text-primary)}body.dark-mode .suggestion-card,body.theme-dark .suggestion-card{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary);box-shadow:0 2px 4px var(--theme-shadow)}body.dark-mode .suggestion-title,body.dark-mode .suggestion-desc,body.theme-dark .suggestion-title,body.theme-dark .suggestion-desc,body.dark-mode .impact-differences li em,body.theme-dark .impact-differences li em,body.dark-mode .reflection-prompt strong,body.dark-mode .what-if-question strong,body.dark-mode .alternative-text,body.dark-mode .alternative-option h5,body.theme-dark .reflection-prompt strong,body.theme-dark .what-if-question strong,body.theme-dark .alternative-text,body.theme-dark .alternative-option h5{color:var(--theme-text-primary)}body.dark-mode .research-stats .stat,body.theme-dark .research-stats .stat{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary);box-shadow:0 2px 4px var(--theme-shadow)}body.dark-mode .btn-primary,body.theme-dark .btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}body.dark-mode .btn-secondary,body.theme-dark .btn-secondary{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .impact-radar,body.theme-dark .impact-radar{background:var(--theme-bg-secondary);border-color:var(--theme-border);box-shadow:0 1px 3px #0003,0 1px 2px #0000004d}body.dark-mode .impact-radar:before,body.theme-dark .impact-radar:before{background:linear-gradient(90deg,var(--color-primary),#3b82f6);opacity:.6}body.dark-mode .modal-footer-content,body.theme-dark .modal-footer-content{background:var(--theme-bg-primary);border-top-color:var(--theme-border)}}.persistence-settings{max-width:500px;margin:0 auto;padding:20px}.persistence-settings h3{color:var(--primary-color);margin-bottom:15px;text-align:center}.current-setting{background:var(--card-background);padding:12px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--accent-color)}.persistence-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.persistence-option{display:flex;align-items:flex-start;gap:12px;padding:15px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.persistence-option:hover{border-color:var(--primary-color);background:var(--hover-background)}.persistence-option input[type=radio]{margin:0;width:18px;height:18px;accent-color:var(--primary-color)}.persistence-option input[type=radio]:checked+.option-content{color:var(--primary-color)}.option-content{flex:1}.option-content strong{display:block;margin-bottom:5px;font-size:16px}.option-content p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.4}.auto-signout-setting{background:var(--highlight-background);padding:15px;border-radius:8px;margin-bottom:20px}.auto-signout-setting label{display:flex;align-items:center;gap:8px;font-size:14px}.auto-signout-setting input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color)}.auto-signout-setting select{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--card-background);color:var(--text-color);font-size:14px}.recommendation{background:linear-gradient(135deg,var(--success-color) 20,var(--success-color) 30);padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid var(--success-color)}.recommendation strong{color:var(--success-color)}.security-tips{max-width:600px;margin:0 auto;padding:20px}.security-tips h3{color:var(--primary-color);margin-bottom:20px;text-align:center}.tip{background:var(--card-background);padding:15px;border-radius:8px;margin-bottom:15px;border-left:4px solid var(--accent-color)}.tip h4{margin:0 0 8px;color:var(--primary-color);font-size:16px}.tip p{margin:0;color:var(--text-secondary);line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.modal-actions .btn{min-width:100px}@media (width <= 600px){.persistence-settings,.security-tips{padding:15px}.persistence-option{padding:12px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}[data-theme=dark] .persistence-option{border-color:var(--border-color-dark)}[data-theme=dark] .persistence-option:hover{border-color:var(--primary-color);background:var(--hover-background-dark)}[data-theme=dark] .auto-signout-setting select{background:var(--card-background-dark);border-color:var(--border-color-dark);color:var(--text-color-dark)}body.dark-mode .persistence-settings{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode .persistence-settings h3{color:var(--color-primary)}body.dark-mode .current-setting{background:var(--theme-bg-primary);border-left-color:var(--color-accent);color:var(--theme-text-primary)}body.dark-mode .persistence-option{background:var(--theme-bg-primary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .persistence-option:hover{border-color:var(--color-primary);background:var(--theme-bg-secondary)}body.dark-mode .persistence-option.selected{border-color:var(--color-primary);background:#4a9eff1a}body.dark-mode .option-info h4{color:var(--theme-text-primary)}body.dark-mode .option-description{color:var(--theme-text-secondary)}body.dark-mode .security-level{color:var(--theme-text-muted)}body.dark-mode .security-level.high{color:var(--color-success)}body.dark-mode .security-level.medium{color:var(--color-warning)}body.dark-mode .security-level.low{color:var(--color-error)}body.dark-mode .auto-signout-setting{background:var(--theme-bg-primary);border-color:var(--theme-border)}body.dark-mode .auto-signout-setting label{color:var(--theme-text-primary)}body.dark-mode .auto-signout-setting select{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .auto-signout-setting select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a9eff33}body.dark-mode .security-tips{background:var(--theme-bg-primary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .security-tips h4{color:var(--theme-text-primary)}body.dark-mode .security-tips li{color:var(--theme-text-secondary)}.profile-customization{max-width:600px;margin:0 auto;padding:20px}.profile-customization h3{color:var(--primary-color);margin-bottom:20px;text-align:center}.profile-preview{display:flex;align-items:center;gap:15px;padding:20px;background:var(--card-background);border-radius:12px;margin-bottom:25px;border:2px solid var(--border-color)}.preview-avatar{flex-shrink:0}.avatar-preview{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--primary-color)}.preview-name{font-size:18px;font-weight:600;color:var(--text-color);word-break:break-word}.customization-sections{display:flex;flex-direction:column;gap:25px}.section{background:var(--hover-background);padding:20px;border-radius:8px;border:1px solid var(--border-color)}.section h4{margin:0 0 12px;color:var(--primary-color);font-size:16px}.section input[type=text],.section input[type=url]{width:100%;padding:10px 12px;border:2px solid var(--border-color);border-radius:6px;background:var(--card-background);color:var(--text-color);font-size:14px;margin-bottom:8px;transition:border-color .2s ease}.section input[type=text]:focus,.section input[type=url]:focus{outline:none;border-color:var(--primary-color)}.section small{display:block;color:var(--text-secondary);font-size:12px;line-height:1.4}.badge-options{display:flex;flex-direction:column;gap:12px;margin-top:15px}.badge-option{display:flex;align-items:flex-start;gap:12px;padding:15px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.badge-option:hover{border-color:var(--primary-color);background:var(--card-background)}.badge-option input[type=radio]{margin:0;width:18px;height:18px;accent-color:var(--primary-color)}.badge-option input[type=radio]:checked+.option-content{color:var(--primary-color)}.badge-option .option-content{flex:1}.badge-preview{font-size:20px;margin-right:8px}.option-content strong{display:block;margin-bottom:5px;font-size:15px}.option-content p{margin:0 0 5px;font-size:13px;color:var(--text-secondary);line-height:1.4}.option-content small{display:block;font-size:12px;color:var(--accent-color);font-style:italic}.flair-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.suggestion-btn{padding:8px 12px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:20px;font-size:13px;cursor:pointer;transition:transform .2s ease}.suggestion-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.badge-collection{max-width:700px;margin:0 auto;padding:20px}.badge-collection h3{color:var(--primary-color);margin-bottom:15px;text-align:center}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin:20px 0}.badge-card{display:flex;align-items:center;gap:15px;padding:15px;background:var(--card-background);border:2px solid var(--border-color);border-radius:10px;transition:all .2s ease}.badge-card.selected-flair{border-color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color) 10,var(--primary-color) 20)}.badge-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.badge-icon{font-size:28px;flex-shrink:0}.badge-info{flex:1}.badge-info h4{margin:0 0 5px;font-size:16px;color:var(--text-color)}.badge-info p{margin:0 0 8px;font-size:13px;color:var(--text-secondary);line-height:1.4}.badge-info small{font-size:11px;color:var(--text-secondary)}.flair-indicator{display:inline-block;background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:12px;font-size:10px;margin-top:5px}.no-badges{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-badges p{margin:0 0 10px;font-size:16px}@media (width <= 700px){.profile-customization,.badge-collection{padding:15px}.profile-preview{flex-direction:column;text-align:center}.badges-grid{grid-template-columns:1fr}.badge-card{flex-direction:column;text-align:center}.flair-suggestions{justify-content:center}}[data-theme=dark] .badge-option{border-color:var(--border-color-dark)}[data-theme=dark] .badge-option:hover{border-color:var(--primary-color);background:var(--card-background-dark)}[data-theme=dark] .section input[type=text],[data-theme=dark] .section input[type=url]{background:var(--card-background-dark);border-color:var(--border-color-dark);color:var(--text-color-dark)}[data-theme=dark] .badge-card{background:var(--card-background-dark);border-color:var(--border-color-dark)}body.dark-mode .profile-customization{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode .profile-customization h3{color:var(--color-primary)}body.dark-mode .profile-preview{background:var(--theme-bg-primary);border:2px solid var(--theme-border)}body.dark-mode .avatar-preview{border:2px solid var(--color-primary)}body.dark-mode .preview-name{color:var(--theme-text-primary)}body.dark-mode .section{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .section h4{color:var(--theme-text-primary);border-bottom:1px solid var(--theme-border)}body.dark-mode .section label{color:var(--theme-text-primary)}body.dark-mode .section input[type=text],body.dark-mode .section input[type=url],body.dark-mode .section textarea{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .section input:focus,body.dark-mode .section textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a9eff33}body.dark-mode .section input::placeholder,body.dark-mode .section textarea::placeholder{color:var(--theme-text-muted)}body.dark-mode .color-options{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .color-option{border:2px solid var(--theme-border)}body.dark-mode .color-option.selected{border-color:var(--theme-text-primary);box-shadow:0 0 8px #4a9eff4d}body.dark-mode .badge-options{background:var(--theme-bg-secondary)}body.dark-mode .badge-option{background:var(--theme-bg-primary);border:2px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .badge-option:hover{border-color:var(--color-primary);background:var(--theme-bg-secondary)}body.dark-mode .badge-option.selected{border-color:var(--color-primary);background:#4a9eff1a}body.dark-mode .badge-card{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .badge-card h5{color:var(--theme-text-primary)}body.dark-mode .badge-card p{color:var(--theme-text-secondary)}body.dark-mode .flair-suggestions{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .flair-tag{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .flair-tag:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .flair-tag.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}body.dark-mode .modal-actions .btn{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .modal-actions .btn:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .modal-actions .btn.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}body.dark-mode .modal-actions .btn.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}@layer components{.gdpr-cookie-notice{position:fixed;left:20px;right:20px;z-index:9999;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 2px 10px #0000001a;transform:translateY(100%);transition:transform .3s ease-in-out;font-family:var(--font-family-primary);max-width:400px;margin:0 auto}.gdpr-cookie-notice.gdpr-notice-bottom{bottom:20px;border-top:2px solid var(--color-primary)}.gdpr-cookie-notice.gdpr-notice-top{top:20px;transform:translateY(-100%);border-bottom:2px solid var(--color-primary)}.gdpr-cookie-notice.gdpr-notice-visible{transform:translateY(0)}.gdpr-notice-content{padding:16px;text-align:center}.gdpr-notice-text h3{margin:0 0 8px;color:var(--color-text-primary);font-size:16px;font-weight:600}.gdpr-notice-text p{margin:0 0 16px;color:var(--color-text-secondary);font-size:14px;line-height:1.4}.gdpr-cookie-types,.gdpr-cookie-types li{display:none}.gdpr-cookie-types li:before{display:none}.gdpr-cookie-types strong{display:none}.gdpr-notice-actions{margin-top:12px}.gdpr-cookie-preferences{display:none}.gdpr-buttons{display:flex;gap:8px;justify-content:center}.gdpr-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap}.gdpr-btn-secondary{background:var(--color-background-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.gdpr-btn-secondary:hover{background:var(--color-background-hover);transform:translateY(-1px)}.gdpr-checkbox-wrapper{display:flex;align-items:center;cursor:pointer;padding:var(--spacing-2);border-radius:var(--border-radius-sm);transition:background-color .2s ease;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.gdpr-checkbox-wrapper:hover{background:var(--color-background-hover)}.gdpr-checkbox-wrapper input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.gdpr-checkmark{height:18px;width:18px;background-color:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius-sm);margin-right:var(--spacing-3);position:relative;transition:all .2s ease;flex-shrink:0}.gdpr-checkbox-wrapper input[type=checkbox]:checked+.gdpr-checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.gdpr-checkbox-wrapper input[type=checkbox]:disabled+.gdpr-checkmark{background-color:var(--color-background-disabled);border-color:var(--color-border-disabled);opacity:.6}.gdpr-checkmark:after{content:"";position:absolute;display:none;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.gdpr-checkbox-wrapper input[type=checkbox]:checked+.gdpr-checkmark:after{display:block}.gdpr-buttons{display:flex;flex-direction:column;gap:var(--spacing-2)}.gdpr-btn{padding:var(--spacing-3) var(--spacing-4);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;display:inline-block}.gdpr-btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.gdpr-btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.gdpr-btn-secondary{background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border)}.gdpr-btn-secondary:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.gdpr-notice-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-border-subtle)}.gdpr-privacy-link{color:var(--color-link);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.gdpr-privacy-link:hover{color:var(--color-link-hover);text-decoration:underline}.gdpr-close-btn{background:none;border:none;font-size:24px;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.gdpr-close-btn:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.gdpr-confirmation{position:fixed;bottom:var(--spacing-6);right:var(--spacing-6);z-index:10000;background:var(--color-success);color:var(--color-success-contrast);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--border-radius-lg);box-shadow:0 4px 12px #00000026;transform:translate(100%);transition:transform .3s ease-in-out}.gdpr-confirmation.gdpr-confirmation-visible{transform:translate(0)}.gdpr-confirmation-content{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.gdpr-confirmation-icon{font-size:var(--font-size-lg)}@media (max-width: 768px){.gdpr-cookie-notice{left:10px;right:10px;max-width:none}.gdpr-notice-content{padding:12px}.gdpr-buttons{flex-direction:column;gap:6px}.gdpr-btn{padding:10px 16px;font-size:14px}}@media (max-width: 480px){.gdpr-notice-content{padding:10px}.gdpr-notice-text h3{font-size:15px}.gdpr-notice-text p{font-size:13px}.gdpr-btn{padding:8px 12px;font-size:13px}}@media (prefers-contrast: high){.gdpr-cookie-notice{border-width:2px}.gdpr-checkmark{border-width:3px}.gdpr-btn{border-width:2px}}@media (prefers-reduced-motion: reduce){.gdpr-cookie-notice,.gdpr-confirmation,.gdpr-btn,.gdpr-checkbox-wrapper{transition:none}}}@layer overrides{body.dark-mode .gdpr-cookie-notice,body.theme-dark .gdpr-cookie-notice{background:var(--theme-bg-secondary);border-color:var(--theme-border);box-shadow:0 4px 20px #0000004d}body.dark-mode .gdpr-notice-text h3,body.theme-dark .gdpr-notice-text h3{color:var(--theme-text-primary)}body.dark-mode .gdpr-notice-text p,body.theme-dark .gdpr-notice-text p,body.dark-mode .gdpr-cookie-types li,body.theme-dark .gdpr-cookie-types li{color:var(--theme-text-secondary)}body.dark-mode .gdpr-cookie-types strong,body.theme-dark .gdpr-cookie-types strong{color:var(--theme-text-primary)}body.dark-mode .gdpr-cookie-preferences,body.theme-dark .gdpr-cookie-preferences{background:var(--theme-bg-tertiary);border-color:var(--theme-border-subtle)}body.dark-mode .gdpr-checkbox-wrapper:hover,body.theme-dark .gdpr-checkbox-wrapper:hover{background:var(--theme-bg-hover)}body.dark-mode .gdpr-checkmark,body.theme-dark .gdpr-checkmark{background:var(--theme-bg-primary);border-color:var(--theme-border)}body.dark-mode .gdpr-btn-secondary,body.theme-dark .gdpr-btn-secondary{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .gdpr-btn-secondary:hover,body.theme-dark .gdpr-btn-secondary:hover{background:var(--theme-bg-hover);border-color:var(--theme-border-hover)}body.dark-mode .gdpr-privacy-link,body.theme-dark .gdpr-privacy-link{color:var(--theme-link)}body.dark-mode .gdpr-privacy-link:hover,body.theme-dark .gdpr-privacy-link:hover{color:var(--theme-link-hover)}body.dark-mode .gdpr-close-btn,body.theme-dark .gdpr-close-btn{color:var(--theme-text-tertiary)}body.dark-mode .gdpr-close-btn:hover,body.theme-dark .gdpr-close-btn:hover{background:var(--theme-bg-hover);color:var(--theme-text-primary)}}@layer layout{:root{--container-padding: 16px;--font-scale: 1;--touch-target-min: 44px;--device-type: "unknown";--device-category: "unknown";--breakpoint-xs: 360px;--breakpoint-sm: 375px;--breakpoint-md: 390px;--breakpoint-lg: 393px;--breakpoint-xl: 428px;--breakpoint-tablet-sm: 768px;--breakpoint-tablet-md: 800px;--breakpoint-tablet-lg: 820px;--breakpoint-tablet-xl: 1024px;--breakpoint-laptop-sm: 1280px;--breakpoint-laptop-md: 1366px;--breakpoint-laptop-lg: 1500px;--breakpoint-laptop-xl: 1536px;--breakpoint-desktop-xl: 1920px;--breakpoint-desktop-2k: 2560px;--breakpoint-desktop-4k: 3840px}@media only screen and (width <= 359px){:root{--device-type: "mobile-xxs";--container-padding: 8px;--font-scale: .8;--touch-target-min: 44px;--floating-tab-width: 180px;--floating-tab-height: 44px;--floating-tab-protrusion: 24px}}@media only screen and (width >= 360px) and (width <= 374px){:root{--device-type: "mobile-xs";--container-padding: 12px;--font-scale: .85;--touch-target-min: 44px;--floating-tab-width: 200px;--floating-tab-height: 48px;--floating-tab-protrusion: 30px}}@media only screen and (width >= 375px) and (width <= 389px){:root{--device-type: "mobile-sm";--container-padding: 14px;--font-scale: .9;--touch-target-min: 44px;--floating-tab-width: 210px;--floating-tab-height: 50px;--floating-tab-protrusion: 32px}}@media only screen and (width >= 390px) and (width <= 399px){:root{--device-type: "mobile-md";--container-padding: 16px;--font-scale: .95;--touch-target-min: 44px;--floating-tab-width: 220px;--floating-tab-height: 52px;--floating-tab-protrusion: 34px}}@media only screen and (width >= 400px) and (width <= 479px){:root{--device-type: "mobile-lg";--container-padding: 18px;--font-scale: 1;--touch-target-min: 44px;--floating-tab-width: 240px;--floating-tab-height: 54px;--floating-tab-protrusion: 36px}}@media only screen and (width <= 767px){:root{--device-category: "mobile";--layout-type: "single-column";--nav-type: "bottom-nav";--sidebar-behavior: "overlay"}}@media only screen and (width >= 768px) and (width <= 820px){:root{--device-type: "tablet-sm";--container-padding: 20px;--font-scale: 1.05;--touch-target-min: 44px;--floating-tab-width: 260px;--floating-tab-height: 58px;--floating-tab-protrusion: 38px}}@media only screen and (width >= 821px) and (width <= 1023px){:root{--device-type: "tablet-md";--container-padding: 24px;--font-scale: 1.1;--touch-target-min: 44px;--floating-tab-width: 270px;--floating-tab-height: 59px;--floating-tab-protrusion: 40px}}@media only screen and (width >= 1024px) and (width <= 1279px){:root{--device-type: "tablet-lg";--container-padding: 28px;--font-scale: 1.15;--touch-target-min: 44px;--floating-tab-width: 280px;--floating-tab-height: 60px;--floating-tab-protrusion: 42px}}@media only screen and (width >= 768px) and (width <= 1279px){:root{--device-category: "tablet";--layout-type: "two-column";--nav-type: "side-nav";--sidebar-behavior: "collapse"}}@media only screen and (width >= 1280px) and (width <= 1366px){:root{--device-type: "laptop-sm";--container-padding: 32px;--font-scale: 1;--touch-target-min: 40px;--floating-tab-width: 300px;--floating-tab-height: 62px;--floating-tab-protrusion: 44px}}@media only screen and (width >= 1367px) and (width <= 1535px){:root{--device-type: "laptop-md";--container-padding: 36px;--font-scale: 1.05;--touch-target-min: 40px;--floating-tab-width: 310px;--floating-tab-height: 63px;--floating-tab-protrusion: 46px}}@media only screen and (width >= 1536px) and (width <= 1919px){:root{--device-type: "laptop-lg";--container-padding: 40px;--font-scale: 1.1;--touch-target-min: 40px;--floating-tab-width: 320px;--floating-tab-height: 64px;--floating-tab-protrusion: 48px}}@media only screen and (width >= 1280px) and (width <= 1919px){:root{--device-category: "laptop";--layout-type: "multi-column";--nav-type: "top-nav";--sidebar-behavior: "persistent"}}@media only screen and (width >= 1920px) and (width <= 2559px){:root{--device-type: "desktop-fhd";--container-padding: 48px;--font-scale: 1.15;--touch-target-min: 40px;--floating-tab-width: 340px;--floating-tab-height: 66px;--floating-tab-protrusion: 50px}}@media only screen and (width >= 2560px) and (width <= 3839px){:root{--device-type: "desktop-2k";--container-padding: 56px;--font-scale: 1.25;--touch-target-min: 40px;--floating-tab-width: 360px;--floating-tab-height: 68px;--floating-tab-protrusion: 52px}}@media only screen and (width >= 3840px){:root{--device-type: "desktop-4k";--container-padding: 64px;--font-scale: 1.4;--touch-target-min: 44px;--floating-tab-width: 400px;--floating-tab-height: 72px;--floating-tab-protrusion: 54px}}@media only screen and (width >= 1920px){:root{--device-category: "desktop";--layout-type: "wide-multi-column";--nav-type: "mega-nav";--sidebar-behavior: "dual-sidebar"}}@media only screen and (orientation: portrait){:root{--orientation: "portrait";--header-height: 80px;--header-h: 80px;--footer-height: 80px}}@media only screen and (orientation: landscape){:root{--orientation: "landscape";--header-height: 80px;--header-h: 80px;--footer-height: 64px}}@media (prefers-contrast: high){:root{--accessibility-mode: "high-contrast";--border-width: 2px;--focus-ring-width: 4px}}@media (prefers-reduced-motion: reduce){:root{--animation-duration: 0ms;--transition-duration: 0ms;--accessibility-mode: "reduced-motion"}}@media (prefers-reduced-data: reduce){:root{--data-saver-mode: "enabled";--image-quality: "low";--animation-enabled: "false"}}@media print{:root{--device-type: "print";--color-scheme: "light"}.floating-tab-link,.floating-tour-tab-link,.floating-surprise-tab-link,.floating-action-tab,.floating-surprise-tab,.floating-tour-tab,nav,.sidebar,.modal,.tooltip{display:none!important}}.floating-tab-responsive{width:var(--floating-tab-width);height:var(--floating-tab-height);transform:translate(calc(100% - var(--floating-tab-protrusion)))}@layer utilities{.layout-container-responsive{padding-left:var(--container-padding);padding-right:var(--container-padding);max-width:100vw;box-sizing:border-box;margin-left:auto;margin-right:auto}}.layout-container-tight{padding-left:calc(var(--container-padding) * .75);padding-right:calc(var(--container-padding) * .75)}.layout-container-loose{padding-left:calc(var(--container-padding) * 1.5);padding-right:calc(var(--container-padding) * 1.5)}.text-responsive{font-size:calc(1rem * var(--font-scale))}.text-responsive-small{font-size:calc(.875rem * var(--font-scale))}.text-responsive-large{font-size:calc(1.125rem * var(--font-scale))}.text-responsive-heading{font-size:calc(1.5rem * var(--font-scale));line-height:calc(1.2 * var(--font-scale, 1))}@media only screen and (width <= 360px){.text-responsive-heading{font-size:calc(1.25rem * var(--font-scale))}}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.gap-xs{gap:calc(var(--container-padding) * .25)}.gap-sm{gap:calc(var(--container-padding) * .5)}.gap-md{gap:var(--container-padding)}.gap-lg{gap:calc(var(--container-padding) * 1.5)}.gap-xl{gap:calc(var(--container-padding) * 2)}@media only screen and (width <= 767px){.mobile\:flex-col{flex-direction:column}.mobile\:flex-wrap{flex-wrap:wrap}.mobile\:justify-center{justify-content:center}.mobile\:items-center{align-items:center}}@media only screen and (width >= 768px) and (width <= 1279px){.tablet\:flex-row{flex-direction:row}.tablet\:justify-between{justify-content:space-between}}@media only screen and (width >= 1280px){.desktop\:flex-row{flex-direction:row}.desktop\:justify-start{justify-content:flex-start}}.mobile-hide{display:block}.mobile-show{display:none}.tablet-hide{display:block}.tablet-show{display:none}.desktop-hide{display:block}.desktop-show{display:none}@media only screen and (width <= 767px){.mobile-hide{display:none!important}.mobile-show{display:block!important}.mobile\:text-center{text-align:center}.mobile\:full-width{width:100%}.mobile\:padding-sm{padding:var(--spacing-3)}.mobile\:margin-auto{margin:0 auto}}@media only screen and (width >= 768px) and (width <= 1279px){.tablet-hide{display:none!important}.tablet-show{display:block!important}.tablet\:two-column{column-count:2;column-gap:var(--spacing-6)}}@media only screen and (width >= 1280px){.desktop-hide{display:none!important}.desktop-show{display:block!important}.desktop\:three-column{column-count:3;column-gap:var(--spacing-8)}}@media (prefers-reduced-motion: reduce){.respect-motion{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.no-motion{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.high-contrast-border{border:2px solid currentColor!important}.high-contrast-text{color:CanvasText!important;background:Canvas!important}.high-contrast-focus:focus{outline:3px solid Highlight!important;outline-offset:2px!important}}.dark-mode .auto-dark-bg{background:#1a1a1a;color:#fff}.dark-mode .auto-dark-border{border-color:#404040}@media print{.print-hide{display:none!important}.print-show{display:block!important}.print-page-break{page-break-after:always}.print-no-break{page-break-inside:avoid}.print-black-text{color:#000!important}.print-white-bg{background:#fff!important}}@media (hover: none) and (pointer: coarse){.touch-larger{min-height:44px;min-width:44px}.touch-spacing{margin:8px}.touch-no-hover:hover{background:initial;transform:none;box-shadow:initial}}@media only screen and (width <= 320px){.layout-container-responsive{padding-left:6px;padding-right:6px}.layout-container-tight{padding-left:4px;padding-right:4px}}@media (width >= 1px){.debug-viewport:before{content:"Device: " var(--device-type, "unknown") " | Category: " var(--device-category, "unknown");position:fixed;top:0;left:0;background:#f00c;color:#fff;padding:4px 8px;font-size:12px;font-family:monospace;z-index:9999;pointer-events:none}}}@keyframes gradientShift{0%{background-position:0% 50%}25%{background-position:50% 25%}50%{background-position:100% 50%}75%{background-position:50% 75%}to{background-position:0% 50%}}@keyframes heroContentEnter{0%{opacity:0;transform:translateY(40px) scale(.96)}60%{opacity:.8;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroElementEnter{0%{opacity:0;transform:translateY(30px) scale(.95)}40%{opacity:.6;transform:translateY(-3px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes heroSimulationEnter{0%{opacity:0;transform:translateY(40px) scale(.95)}60%{opacity:.7;transform:translateY(-2px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@layer components{@media (min-width: 1024px){.hero-actions .primary-actions-row .btn,.hero-actions #test-scenario-modal{min-width:210px;min-height:44px;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-pill, 9999px);font-weight:600;letter-spacing:.025em}.hero-actions #test-scenario-modal{padding:var(--spacing-3) var(--spacing-6)!important;border-radius:var(--radius-pill, 9999px)!important}}#test-scenario-modal{border:2px solid color-mix(in oklab,var(--color-primary) 40%,transparent);background:transparent;color:var(--color-primary);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}#test-scenario-modal:hover{background:color-mix(in oklab,var(--color-primary) 10%,transparent);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 20px #0000001f}#test-scenario-modal:active{transform:translateY(0)}.hero-actions #test-scenario-modal{background:transparent!important;color:var(--color-primary)!important;border:2px solid color-mix(in oklab,var(--color-primary) 40%,transparent)!important}.hero-actions #test-scenario-modal:hover{background:color-mix(in oklab,var(--color-primary) 10%,transparent)!important;border-color:var(--color-primary)!important}.hero-actions .btn.btn-primary{box-shadow:0 10px 24px #0000002e;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.hero-actions .btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px #00000038}.hero-actions .btn.btn-primary:active{transform:translateY(0)}.hero-actions .btn:focus-visible,#test-scenario-modal:focus-visible{outline:0;box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-primary)}.classroom-actions-group .btn{min-height:44px;gap:.5rem;line-height:1.1}@media (prefers-reduced-motion: reduce){.hero-actions .btn,#test-scenario-modal{transition:none;transform:none!important}}.hero{background:linear-gradient(135deg,#02377e,#042875,#3b82f6,#60a5fa,#93c5fd,#dbeafe);color:var(--color-white, #ffffff);width:100vw;margin-left:calc(50% - 50vw);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--spacing-2xl, 4rem) * 1.5) var(--spacing-lg, 2rem);min-height:65vh;font-size:calc(1rem * var(--font-scale, 1));overflow:hidden;background-size:400% 400%;animation:gradientShift 20s cubic-bezier(.25,.46,.45,.94) infinite;transform-style:preserve-3d;will-change:transform,opacity}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d,#0000000d);pointer-events:none;z-index:1}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255 / 10%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 10%) 1px,transparent 1px);background-size:90px 90px;pointer-events:none;z-index:2;opacity:.6}.hero>*{position:relative;z-index:2}.hero-content{max-width:min(900px,90vw);width:100%;margin:0 auto;padding:var(--spacing-xl, 3rem) var(--spacing-lg, 2rem);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-lg, 2rem);position:relative;z-index:3}.hero .hero-content{text-align:center;opacity:0;transform:translateY(40px) scale(.96);animation:heroContentEnter .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.2s;will-change:transform,opacity}.hero .hero-content h1{font-size:calc(2.5rem * var(--font-scale, 1));opacity:0;transform:translateY(30px) scale(.95);animation:heroElementEnter .7s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.3s;will-change:transform,opacity}.hero .hero-content p{font-size:calc(1.125rem * var(--font-scale, 1));opacity:0;transform:translateY(25px) scale(.96);animation:heroElementEnter .7s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.4s;will-change:transform,opacity}.hero .hero-simulation{background:#ffffff1a;border-radius:var(--radius-xl, 16px);padding:calc(var(--container-padding, 16px) * .75);backdrop-filter:blur(10px);max-width:none;width:100%;min-height:calc(300px + (var(--container-padding, 16px) * 2));height:auto;position:relative;overflow:visible;z-index:1;opacity:0;transform:translateY(40px) scale(.95);animation:heroSimulationEnter .6s ease-out forwards;animation-delay:.5s;will-change:transform,opacity}.hero .hero-demo-container,#app .hero-demo-container{background:linear-gradient(135deg,#fffffff2,#f8fafcf2);border-radius:16px;padding:calc(var(--container-padding, 16px) * .75);box-shadow:0 10px 25px #0000001a;border:1px solid rgb(255 255 255 / 30%);backdrop-filter:blur(10px);max-width:100%;margin:0 auto;height:100%;min-height:calc(300px + var(--container-padding, 16px));position:relative;overflow:visible;z-index:2;font-size:calc(1rem * var(--font-scale, 1))}.hero-content{max-width:var(--hero-content-max-width, 800px);margin:0 auto;text-align:center;padding:var(--spacing-lg, 2rem)}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:var(--font-weight-bold, 700);line-height:var(--hero-title-line-height, 1.2);margin:0;color:inherit;text-shadow:0 2px 8px rgb(0 0 0 / 20%);text-align:center;max-width:100%;letter-spacing:-.02em;word-spacing:.1em;opacity:0;transform:translateY(25px);animation:heroElementEnter .7s ease-out forwards;animation-delay:.3s}.hero-description{font-size:clamp(1.125rem,2.5vw,1.375rem);line-height:var(--hero-description-line-height, 1.6);margin:0;color:var(--color-gray-700, #374151);text-align:center;max-width:min(700px,90%);font-weight:500;letter-spacing:.01em;word-spacing:.05em;background:linear-gradient(135deg,#93c5fdd9,#60a5facc,#3b82f6bf);backdrop-filter:blur(10px);border-radius:var(--radius-lg, 12px);padding:var(--spacing-lg, 2rem) var(--spacing-xl, 3rem);opacity:0;transform:translateY(20px);animation:heroElementEnter .7s ease-out forwards;animation-delay:.5s}.hero-actions{display:flex;gap:var(--spacing-lg, 2rem);justify-content:center;align-items:center;flex-wrap:wrap;width:100%;max-width:600px;margin:0 auto;opacity:0;transform:translateY(20px) scale(.97);will-change:transform,opacity;animation:heroElementEnter 1s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.9s}.hero-actions .btn{font-size:var(--btn-font-size, 1.125rem);font-weight:600;padding:var(--btn-padding, 1rem 2.5rem);min-width:var(--btn-min-width, 180px);border-radius:50px;box-shadow:0 8px 20px #0003;transition:all var(--transition-duration, .3s) var(--transition-easing, ease);text-transform:none;letter-spacing:.025em}.hero-actions .btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px #00000040}.hero-actions .btn:active{transform:translateY(-1px) scale(.98)}.support-research-section{width:100%;display:flex;justify-content:center;align-items:center;margin:0 auto}@media (max-width: 768px){.hero{min-height:50vh;padding:var(--spacing-xl, 3rem) var(--spacing-md, 1.5rem)}.hero-content{padding:var(--spacing-lg, 2rem) var(--spacing-md, 1.5rem);gap:var(--spacing-md, 1.5rem)}.hero-actions{gap:var(--spacing-md, 1.5rem)}.hero-actions .btn{min-width:160px;padding:.875rem 2rem;font-size:1rem}}@media (max-width: 480px){.hero{min-height:45vh;padding:var(--spacing-lg, 2rem) var(--spacing-sm, 1rem)}.hero-content{padding:var(--spacing-md, 1.5rem) var(--spacing-sm, 1rem);gap:var(--spacing-sm, 1rem)}.hero-actions{flex-direction:column;gap:var(--spacing-sm, 1rem)}.hero-actions .btn{width:100%;max-width:280px}}@media (min-width: 769px) and (max-width: 1024px){.hero{min-height:60vh}.hero-content{max-width:min(800px,85vw)}}@media (min-width: 1200px){.hero{min-height:70vh}.hero-content{max-width:min(1000px,80vw)}}.hero-title{font-size:calc(2.5rem * var(--font-scale, 1));font-weight:var(--font-weight-bold, 700);line-height:var(--line-height-tight, 1.25);margin-bottom:calc(var(--spacing-6, 1.5rem) * var(--font-scale, 1));opacity:0;transform:translateY(25px);animation:heroElementEnter .7s ease-out forwards;animation-delay:.3s}.hero-description{font-size:calc(1.125rem * var(--font-scale, 1));line-height:var(--line-height-relaxed, 1.75);margin-bottom:calc(var(--spacing-8, 2rem) * var(--font-scale, 1));color:var(--color-gray-800, #424242);opacity:0;transform:translateY(20px);animation:heroElementEnter .7s ease-out forwards;animation-delay:.5s}.hero-actions{display:flex;gap:calc(var(--spacing-4, 1rem) * var(--font-scale, 1));flex-wrap:wrap;justify-content:center;margin-bottom:calc(var(--spacing-6, 1.5rem) * var(--font-scale, 1));opacity:0;transform:translateY(15px);animation:heroElementEnter .6s ease-out forwards;animation-delay:.8s}.hero-simulation{background:var(--color-gray-50, #fafafa);border:1px solid var(--color-gray-200, #eee);border-radius:var(--radius-xl, 16px);padding:calc(var(--spacing-6, 1.5rem) * var(--font-scale, 1))}.simulation-preview{min-height:300px;display:flex;align-items:center;justify-content:center}.hero-demo-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:calc(16px * var(--font-scale, 1));padding:var(--container-padding, 16px);box-shadow:0 10px 25px #0000001a;border:1px solid rgb(255 255 255 / 20%);max-width:100%;margin:0 auto;position:relative}}@layer layout{.layout-container-responsive{width:100%;max-width:var(--container-max-width, 1600px);margin:0 auto;padding-left:var(--container-padding-x, 1.5rem);padding-right:var(--container-padding-x, 1.5rem)}.hero.layout-container-responsive{max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;animation:none!important;padding:calc(var(--spacing-2xl, 4rem) * 1.5) var(--spacing-lg, 2rem);padding:max(calc(var(--spacing-2xl, 4rem) * 1.5),3rem) max(var(--spacing-lg, 2rem),1rem);font-size:calc(1rem * var(--font-scale, 1));overflow-x:hidden;width:100vw;margin-left:calc(50% - 50vw)}}@media only screen and (width <= 320px){.hero.layout-container-responsive{width:100vw!important;margin-left:calc(50% - 50vw)!important;max-width:none!important;padding:2rem 1rem;min-height:280px}}@media only screen and (width >= 360px){.hero{padding:calc(var(--container-padding, 16px) * 2) var(--container-padding, 16px);min-height:calc(300px * var(--font-scale, 1))}.hero-title{font-size:calc(2rem * var(--font-scale, 1))}.hero-description{font-size:calc(1rem * var(--font-scale, 1))}.layout-container-responsive{padding-left:var(--container-padding, 16px);padding-right:var(--container-padding, 16px)}.hero.layout-container-responsive .text-responsive-heading{font-size:calc(1.375rem * var(--font-scale, 1))}}@media only screen and (width >= 375px){.hero{padding:calc(var(--container-padding, 16px) * 2.5) var(--container-padding, 16px)}.hero-title{font-size:calc(2.25rem * var(--font-scale, 1))}.layout-container-responsive{padding-left:var(--container-padding, 16px);padding-right:var(--container-padding, 16px)}}@media only screen and (width >= 428px){.hero{padding:calc(var(--container-padding, 18px) * 3) var(--container-padding, 18px);min-height:calc(350px * var(--font-scale, 1))}.hero-title{font-size:calc(2.5rem * var(--font-scale, 1))}.hero-description{font-size:calc(1.125rem * var(--font-scale, 1))}.hero .demo-controls-grid{grid-template-columns:repeat(4,1fr);gap:calc(.75rem * var(--font-scale, 1))}.hero .demo-feedback-popover{width:calc(280px * var(--font-scale, 1));min-height:calc(100px * var(--font-scale, 1));font-size:calc(.8rem * var(--font-scale, 1))}}@media only screen and (width >= 768px){.hero{grid-template-columns:1fr 1fr;gap:calc(var(--container-padding, 20px) * .75);padding:calc(var(--container-padding, 20px) * 1.25) var(--container-padding, 20px);min-height:600px}.hero .hero-content{text-align:center}.hero .hero-simulation{padding:calc(var(--container-padding, 20px) * .75);min-height:calc(350px + (var(--container-padding, 20px) * 1.5))}.hero-title{font-size:calc(3rem * var(--font-scale, 1))}.hero-description{font-size:calc(1.25rem * var(--font-scale, 1))}.layout-container-responsive{padding-left:var(--container-padding, 20px);padding-right:var(--container-padding, 20px)}.hero .demo-controls-grid{grid-template-columns:repeat(4,1fr);gap:calc(1rem * var(--font-scale, 1))}.hero .demo-feedback-popover{width:calc(320px * var(--font-scale, 1));min-height:calc(120px * var(--font-scale, 1));font-size:calc(.875rem * var(--font-scale, 1))}}@media only screen and (width >= 1024px){.hero{grid-template-columns:1fr 1fr;gap:calc(var(--container-padding, 20px) * 1.25);padding:calc(var(--container-padding, 20px) * 1.75) var(--container-padding, 20px);min-height:750px}.hero .hero-content{text-align:center}.hero .hero-simulation{padding:calc(var(--container-padding, 20px) * 1.25);min-height:calc(400px + (var(--container-padding, 20px) * 2))}.hero-title{font-size:calc(3.5rem * var(--font-scale, 1))}.hero-description{font-size:calc(1.375rem * var(--font-scale, 1))}.layout-container-responsive{padding-left:calc(var(--container-padding, 20px) * 1.5);padding-right:calc(var(--container-padding, 20px) * 1.5)}.hero .demo-feedback-popover{width:calc(350px * var(--font-scale, 1));min-height:calc(140px * var(--font-scale, 1));font-size:calc(.9375rem * var(--font-scale, 1))}}@media only screen and (width >= 1280px){.hero{grid-template-columns:1fr 1fr;gap:calc(var(--container-padding, 32px) * 1.5);padding:calc(var(--container-padding, 32px) * 2) var(--container-padding, 32px);min-height:800px}.hero .hero-content{text-align:center}.hero .hero-simulation{padding:calc(var(--container-padding, 32px) * 1.5);min-height:calc(450px + (var(--container-padding, 32px) * 2))}.hero-title{font-size:calc(3.5rem * var(--font-scale, 1))}.hero-description{font-size:calc(1.375rem * var(--font-scale, 1))}.layout-container-responsive{padding-left:var(--container-padding, 32px);padding-right:var(--container-padding, 32px)}}@media only screen and (width >= 1920px){.hero{grid-template-columns:1fr 1fr;gap:calc(var(--container-padding, 48px) * 2);padding:calc(var(--container-padding, 48px) * 2.5) var(--container-padding, 48px);min-height:900px}.hero .hero-content{text-align:left}.hero .hero-simulation{padding:calc(var(--container-padding, 48px) * 2);min-height:calc(500px + (var(--container-padding, 48px) * 2.5))}.hero-title{font-size:calc(4rem * var(--font-scale, 1))}.hero-description{font-size:calc(1.5rem * var(--font-scale, 1))}.layout-container-responsive{max-width:calc(1600px * var(--font-scale, 1));padding-left:var(--container-padding, 48px);padding-right:var(--container-padding, 48px)}}@layer components{@media only screen and (min-width: 1024px){.hero-actions{flex-wrap:nowrap;max-width:none}.hero-actions>*{flex-shrink:0}.hero-actions .classroom-actions-group{display:flex;align-items:center;gap:var(--spacing-md, 1.5rem);white-space:nowrap}.hero-actions #test-scenario-modal{min-width:var(--btn-min-width, 180px)}}}@layer components{.hero-actions{flex-direction:column;align-items:center}.hero-actions .primary-actions-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg, 2rem)}.hero-actions .classroom-actions-group{margin-top:var(--spacing-md, 1.5rem)}}@layer components{@media (max-width: 768px){.hero-actions .primary-actions-row{flex-wrap:wrap;gap:var(--spacing-md, 1.5rem)}}}@media only screen and (width <= 667px) and (orientation: landscape){.hero.layout-container-responsive{width:100vw!important;margin-left:calc(50% - 50vw)!important;max-width:none!important;padding:2rem 1.5rem;min-height:200px}}.hero .orientation-suggestion{display:none;position:relative;background:var(--orientation-bg, rgb(74 158 255 / 10%));border:2px solid var(--orientation-border, rgb(74 158 255 / 30%));border-radius:var(--border-radius-md, 8px);padding:var(--spacing-md, 1rem);margin:var(--spacing-md, 1rem) auto var(--spacing-lg, 2rem);max-width:400px;text-align:center;color:var(--orientation-text, rgb(255 255 255 / 90%));font-size:var(--font-size-sm, .875rem);line-height:1.4;backdrop-filter:blur(10px);animation:gentle-pulse 3s infinite}.hero .orientation-suggestion .rotate-icon{display:inline-block;font-size:1.2em;margin-right:.5rem;animation:gentle-rotate 2s infinite ease-in-out}.hero .orientation-suggestion .message-text{display:block;margin-top:.25rem}@keyframes gentle-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes gentle-rotate{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@media only screen and (max-width: 768px) and (orientation: portrait){.hero .orientation-suggestion{display:block}}@media only screen and (min-width: 769px),only screen and (max-width: 768px) and (orientation: landscape){.hero .orientation-suggestion{display:none}}body.dark-mode .hero .orientation-suggestion{background:var(--orientation-bg-dark, rgb(74 158 255 / 15%));border-color:var(--orientation-border-dark, rgb(74 158 255 / 40%));color:var(--orientation-text-dark, #ffffff)}@media (prefers-reduced-motion: reduce){.orientation-suggestion,.orientation-suggestion .rotate-icon{animation:none}}@media (prefers-reduced-motion: reduce){.hero .hero-content,.hero .hero-content h1,.hero .hero-content p,.hero .hero-simulation,.hero-title,.hero-description,.hero-actions,.hero-radar-demo,.hero-radar-demo h3,.hero-radar-demo p{animation:none!important;opacity:1!important;transform:none!important}}@layer components{.hero-radar-demo{position:relative;width:95%;max-width:1400px;min-height:800px;margin:var(--spacing-xl, 6rem) auto;padding:var(--spacing-xl, 6rem) var(--spacing-lg, 4rem);background:var(--demo-background, rgb(255 255 255 / 10%));border:3px solid var(--demo-border, rgb(255 255 255 / 20%));border-radius:var(--border-radius-lg, 16px);backdrop-filter:blur(15px);box-shadow:0 20px 50px #00000026;text-align:center;color:var(--hero-demo-text-color, rgb(255 255 255 / 90%));opacity:1;transform:translateY(0) scale(1);transition:all var(--transition-duration, .3s) cubic-bezier(.4,0,.2,1)}.hero-radar-demo:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.hero-radar-demo:focus-visible{outline:2px solid var(--demo-focus, #4a90e2);outline-offset:2px;box-shadow:0 0 0 4px #4a90e233}.hero-radar-demo:active{transform:translateY(0);box-shadow:0 4px 12px #0000001a}.hero-radar-demo h3{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;color:var(--hero-demo-title-color, inherit);margin:0 0 1rem;background:linear-gradient(135deg,var(--gradient-primary-start, #667eea) 0%,var(--gradient-primary-end, #764ba2) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:1;transform:translateY(0);transition:all var(--transition-duration, .3s) ease-out}.hero-radar-demo p{color:var(--hero-demo-text-color, rgb(255 255 255 / 90%));font-size:clamp(1rem,3.5vw,1.25rem);line-height:1.6;max-width:700px;margin:0 auto var(--spacing-xl, 3rem);opacity:1;transform:translateY(0);transition:all var(--transition-duration, .3s) ease-out}.hero-radar-container{position:relative;width:100%;max-width:1200px;min-height:600px;margin:0 auto var(--spacing-xl, 4rem);padding:var(--spacing-xl, 3rem);background:var(--demo-container-background, rgb(255 255 255 / 80%));border:2px solid var(--demo-container-border, rgb(255 255 255 / 30%));border-radius:var(--border-radius-lg, 12px);box-shadow:0 8px 24px #00000026}.hero-radar-chart{position:relative;width:100%;max-width:700px;margin:0 auto;padding:1rem;background:transparent;border-radius:0;box-shadow:-4px 4px 8px #0000001f;transition:none;border:none}.hero-radar-chart:hover{transform:none;box-shadow:-4px 4px 8px #00000029}.hero-radar-chart canvas{border-radius:0;background:#fffffff2;backdrop-filter:blur(10px)}.hero-radar-chart.theme-light{background-color:var(--radar-theme-light-background, #fff);border-color:var(--radar-theme-light-border, #e2e8f0);color:var(--radar-theme-light-text, #333)}.hero-radar-chart.theme-dark{background-color:var(--radar-theme-dark-background, #1a1a1a);border-color:var(--radar-theme-dark-border, #444);color:var(--radar-theme-dark-text, #fff)}.hero-radar-chart.theme-high-contrast{background-color:var(--radar-theme-high-contrast-background, #000);border-color:var(--radar-theme-high-contrast-border, #fff);color:var(--radar-theme-high-contrast-text, #fff)}.hero-demo-controls{position:relative;margin-bottom:2rem}.hero-demo-controls .demo-controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;max-width:700px;margin:0 auto;position:relative}.hero-demo-controls .demo-btn{padding:.75rem 1.5rem;border-radius:8px;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #4f46e540;position:relative;overflow:hidden;border:1px solid rgb(255 255 255 / 10%);display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap}.hero-demo-controls .demo-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 15%),transparent);transition:left .5s ease}.hero-demo-controls .demo-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #4f46e559;background:linear-gradient(135deg,#4338ca,#5b21b6)}.hero-demo-controls .demo-btn:hover:before{left:100%}.hero-demo-controls .demo-btn:active{transform:translateY(0);box-shadow:0 2px 8px #4f46e540}.hero-demo-controls .demo-btn.active{background:linear-gradient(135deg,#1e40af,#3730a3);box-shadow:0 4px 16px #1e40af66;transform:translateY(-1px);border:2px solid rgb(255 255 255 / 30%)}.hero-demo-controls .demo-btn.active:before{background:linear-gradient(90deg,transparent,rgb(255 255 255 / 25%),transparent)}.hero-demo-controls .demo-btn.active:hover{background:linear-gradient(135deg,#1e3a8a,#312e81);box-shadow:0 6px 20px #1e40af73}.radar-instructions-accordion{max-width:600px;margin:1.5rem auto;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.radar-instructions-accordion .accordion-item{border:none;border-radius:0}.radar-instructions-accordion .accordion-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:1rem;transition:all .3s ease;outline:none;font-weight:600}.radar-instructions-accordion .accordion-header:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);transform:translateY(-1px)}.radar-instructions-accordion .accordion-header:focus{outline:2px solid rgb(255 255 255 / 50%);outline-offset:-2px}.radar-instructions-accordion .accordion-icon{font-size:.875rem;transition:transform .3s ease;min-width:12px}.radar-instructions-accordion .accordion-icon.expanded{transform:rotate(90deg)}.radar-instructions-accordion .accordion-title{font-size:1rem;margin:0}.radar-instructions-accordion .accordion-content{background:#fff;max-height:500px;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.radar-instructions-accordion .accordion-content.collapsed{max-height:0}.radar-instructions-accordion .accordion-content-inner{padding:1.5rem;border-top:1px solid rgb(102 126 234 / 10%);text-align:left}.radar-instructions-accordion .accordion-content-inner p{color:#4a5568;margin:0 0 1rem;line-height:1.6;font-size:.95rem}.radar-instructions-accordion .accordion-content-inner ul{list-style:none;padding:0;margin:0 0 1rem}.radar-instructions-accordion .accordion-content-inner li{color:#4a5568;margin:.5rem 0;padding-left:1.5rem;position:relative;font-size:.9rem;line-height:1.5}.radar-instructions-accordion .accordion-content-inner li:before{content:"→";position:absolute;left:0;color:#667eea;font-weight:700}.radar-instructions-accordion .accordion-content-inner li strong{color:#2d3748;font-weight:600}.ethics-glossary-accordion{max-width:600px;margin:1.5rem auto;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.ethics-glossary-accordion .accordion-item{border:none;border-radius:0}.ethics-glossary-accordion .accordion-header{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:1rem 1.5rem;cursor:pointer;display:flex;align-items:center;gap:1rem;transition:all .3s ease;outline:none;font-weight:600}.ethics-glossary-accordion .accordion-header:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.ethics-glossary-accordion .accordion-header:focus{outline:2px solid rgb(255 255 255 / 50%);outline-offset:-2px}.ethics-glossary-accordion .accordion-icon{font-size:.8rem;transition:transform .3s ease;color:#ffffffe5}.ethics-glossary-accordion.open .accordion-icon{transform:rotate(90deg)}.ethics-glossary-accordion .accordion-title{font-size:1rem;margin:0;flex:1}.ethics-glossary-accordion .accordion-content{background:#fff;overflow:hidden;transition:all .3s ease;max-height:0;opacity:0}.ethics-glossary-accordion .accordion-content.collapsed{max-height:0;opacity:0}.ethics-glossary-accordion .accordion-content-inner{padding:1.5rem}.ethics-glossary-accordion .glossary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.ethics-glossary-accordion .glossary-item{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:8px;padding:1rem;border-left:4px solid #10b981}.ethics-glossary-accordion .glossary-item h4{margin:0 0 .5rem;color:#1a202c;font-size:1rem;font-weight:600}.ethics-glossary-accordion .glossary-item p{margin:0;color:#4a5568;font-size:.9rem;line-height:1.5}.ethics-glossary-accordion .glossary-note{background:linear-gradient(135deg,#fef7cd,#fef3c7);border-radius:8px;padding:1rem;border-left:4px solid #f59e0b}.ethics-glossary-accordion .glossary-note p{margin:0;color:#78350f;font-size:.9rem;line-height:1.5}.hero .demo-feedback-popover{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:1rem;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000;pointer-events:none}.hero .demo-feedback-popover.show,.hero .demo-feedback-popover.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(-5px)}.hero .demo-feedback-popover .popover-content{background:#fffffffa;color:#2d3748;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 8px 25px #00000026;min-width:280px;max-width:400px;position:relative;border:1px solid rgb(102 126 234 / 20%)}.hero .demo-feedback-popover .popover-content h5{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#667eea}.hero .demo-feedback-popover .popover-content p{margin:0;font-size:.9rem;line-height:1.5;color:#4a5568}.hero .demo-feedback-popover .pattern-emphasis{font-size:var(--font-size-xs, .75rem);color:var(--popover-accent, #e3f2fd);border-top:1px solid rgb(255 255 255 / 20%);padding-top:.5rem;margin-top:.5rem}.hero .demo-feedback-popover .popover-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgb(255 255 255 / 98%)}.hero .demo-feedback-popover .popover-arrow:before{content:"";position:absolute;top:-9px;left:-9px;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid rgb(102 126 234 / 20%);z-index:-1}}@layer layout{@media only screen and (width >= 360px){.hero-radar-demo{width:98%;min-height:500px;padding:calc(var(--spacing-xl, 3rem) * var(--font-scale, 1)) calc(var(--spacing-lg, 2rem) * var(--font-scale, 1));margin:calc(var(--spacing-xl, 3rem) * var(--font-scale, 1)) auto}.hero-radar-container{max-width:100%;min-height:400px;padding:calc(var(--spacing-lg, 2rem) * var(--font-scale, 1))}.hero-radar-chart{padding:1rem;max-width:100%;margin:.5rem auto}}@media only screen and (width >= 428px){.hero-radar-demo{width:96%;min-height:calc(600px * var(--font-scale, 1));padding:calc(var(--spacing-xl, 4rem) * var(--font-scale, 1)) calc(var(--spacing-xl, 3rem) * var(--font-scale, 1))}.hero-radar-container{max-width:calc(800px * var(--font-scale, 1));min-height:calc(480px * var(--font-scale, 1))}.hero-radar-chart{padding:1rem;border-radius:0}}@media only screen and (width >= 768px){.hero-radar-demo{width:94%;min-height:calc(750px * var(--font-scale, 1));padding:calc(var(--spacing-xl, 5rem) * var(--font-scale, 1)) calc(var(--spacing-xl, 4rem) * var(--font-scale, 1))}.hero-radar-container{max-width:calc(1000px * var(--font-scale, 1));min-height:calc(580px * var(--font-scale, 1))}}@media only screen and (width >= 1280px){.hero-radar-demo{width:92%;min-height:calc(900px * var(--font-scale, 1));padding:calc(var(--spacing-xl, 6rem) * var(--font-scale, 1)) calc(var(--spacing-xl, 5rem) * var(--font-scale, 1))}.hero-radar-container{max-width:calc(1200px * var(--font-scale, 1));min-height:calc(700px * var(--font-scale, 1))}}@media only screen and (width >= 1920px){.hero-radar-demo{width:90%;min-height:calc(1000px * var(--font-scale, 1));padding:calc(var(--spacing-xl, 8rem) * var(--font-scale, 1)) calc(var(--spacing-xl, 6rem) * var(--font-scale, 1))}.hero-radar-container{max-width:calc(1400px * var(--font-scale, 1));min-height:calc(800px * var(--font-scale, 1))}}}@layer utilities{html.loaded .hero-radar-demo{opacity:1;transform:translateY(0);transition:opacity var(--transition-duration, .8s) ease-out var(--transition-delay, .2s),transform var(--transition-duration, .8s) ease-out var(--transition-delay, .2s);animation-play-state:running}html.loaded .hero-radar-demo h3{opacity:1;transform:translateY(0);transition:opacity var(--transition-duration, .6s) ease-out var(--transition-delay, .4s),transform var(--transition-duration, .6s) ease-out var(--transition-delay, .4s)}html.loaded .hero-radar-demo p{opacity:1;transform:translateY(0);transition:opacity var(--transition-duration, .6s) ease-out var(--transition-delay, .6s),transform var(--transition-duration, .6s) ease-out var(--transition-delay, .6s)}.hero-radar-demo.pulse{animation:hero-radar-pulse 2s infinite}.hero-radar-demo.fade-in{animation:hero-radar-fade-in .6s ease-out}@keyframes hero-radar-pulse{0%{box-shadow:0 0 #4a90e266}70%{box-shadow:0 0 0 10px #4a90e200}to{box-shadow:0 0 #4a90e200}}@keyframes hero-radar-fade-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.hero.hero-minimal{padding:var(--hero-minimal-padding, 2rem 0);min-height:var(--hero-minimal-height, 200px);background:var(--hero-minimal-background, transparent)}.hero.hero-compact{padding:var(--hero-compact-padding, 1.5rem 0);min-height:var(--hero-compact-height, 150px)}.hero.hero-full-height{min-height:100vh;padding:var(--hero-full-height-padding, 0)}.demo-btn:focus-visible,.hero-actions .btn:focus-visible{outline:3px solid var(--focus-color, #4285f4);outline-offset:2px}}@layer overrides{.dark-mode .demo-btn{border-color:var(--demo-btn-border-dark, rgb(255 255 255 / 20%));background:var(--demo-btn-background-dark, rgb(255 255 255 / 5%))}.dark-mode .hero-demo-container{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 100%);border-color:var(--theme-border);box-shadow:0 10px 25px var(--theme-shadow)}.dark-mode .hero .demo-feedback-popover .popover-content{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}.dark-mode .hero .demo-feedback-popover .popover-content h5{color:var(--theme-text-primary)}.dark-mode .hero .demo-feedback-popover .popover-content p{color:var(--theme-text-secondary)}.dark-mode .hero .demo-feedback-popover .popover-arrow{border-top-color:var(--theme-bg-secondary)}.dark-mode .hero .demo-feedback-popover .popover-arrow:before{border-top-color:var(--theme-border)}.dark-mode .demo-title{color:#fff}.dark-mode .demo-subtitle{color:#b3b3b3}.dark-mode .scenario-panel{background:#0000004d;border:1px solid rgb(255 255 255 / 10%);color:#fff}.dark-mode .scenario-counter{background:#ffffff1a;color:#fff;border:1px solid rgb(255 255 255 / 20%)}.dark-mode .scenario-question{color:#fff}.dark-mode .choice-btn{background:#ffffff1a;border:2px solid rgb(255 255 255 / 20%);color:#fff}.dark-mode .choice-btn:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.dark-mode .choice-btn:focus{outline:2px solid #4a9eff;outline-offset:2px}.dark-mode .choice-btn.selected{background:#4a9eff4d;border-color:#4a9eff}.dark-mode .choice-text{color:#fff}.dark-mode .choice-arrow{color:#ffffffb3}.dark-mode .scenario-feedback{background:#000c;border:1px solid rgb(255 255 255 / 20%);color:#fff}.dark-mode .hero .demo-feedback-popover{background:#000000e5;border:1px solid rgb(255 255 255 / 10%);box-shadow:0 8px 32px #0000007f}.dark-mode .radar-instructions-accordion .accordion-header{background:linear-gradient(135deg,#6200eacc,#9333eacc);border-color:#9333ea99}.dark-mode .radar-instructions-accordion .accordion-header:hover{background:linear-gradient(135deg,#6200eae5,#9333eae5);border-color:#9333eacc}.dark-mode .radar-instructions-accordion .accordion-content{background:#1e1e1ef2;border-color:#9333ea4d;color:var(--theme-text-primary)}.dark-mode .ethics-glossary-accordion .accordion-header{background:linear-gradient(135deg,#10b981cc,#059669cc);border-color:#10b98199}.dark-mode .ethics-glossary-accordion .accordion-header:hover{background:linear-gradient(135deg,#10b981e5,#059669e5);border-color:#10b981cc}.dark-mode .ethics-glossary-accordion .accordion-content{background:#1e1e1ef2;border-color:#10b9814d;color:var(--theme-text-primary)}.dark-mode .glossary-grid .glossary-term{background:#282828e5;border-color:#10b9814d}.dark-mode .glossary-grid .glossary-term strong{color:#10b981}.dark-mode .hero .demo-feedback-popover .popover-content,.dark-mode .hero .demo-feedback-popover .popover-content h5{color:#fff}.dark-mode .hero .demo-feedback-popover .popover-content p{color:#ccc}.dark-mode .hero .demo-feedback-popover .pattern-emphasis{color:#b3d9ff;border-top-color:#ffffff1a}.dark-mode .demo-actions .btn{background:#ffffff1a;border:1px solid rgb(255 255 255 / 20%);color:#fff}.dark-mode .demo-actions .btn:hover{background:#ffffff26;border-color:#ffffff4d}.dark-mode .demo-actions .btn-primary{background:#4a9eff;border-color:#4a9eff;color:#fff}.dark-mode .demo-actions .btn-primary:hover{background:#3a8eef;border-color:#3a8eef}.dark-mode .demo-actions .btn-secondary{background:#ffffff1a;border:1px solid rgb(255 255 255 / 30%);color:#fff}.dark-mode .demo-actions .btn-secondary:hover{background:#fff3;border-color:#fff6}.dark-mode .hero-radar-demo{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-color:var(--demo-border-dark, #444);color:var(--demo-text-dark, #fff)}.dark-mode .hero-radar-demo h3{color:var(--demo-title-dark, #fff);background:linear-gradient(135deg,#6bb4ff,#9d4edd);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dark-mode .hero-radar-demo p{color:var(--demo-text-secondary-dark, #ccc)}.dark-mode .hero-radar-container{background:var(--demo-container-background-dark, rgb(45 45 45 / 80%));border-color:var(--demo-container-border-dark, #444);box-shadow:0 4px 12px #0006}body.dark-mode .hero-radar-chart{background:transparent;border-color:none;color:var(--radar-theme-dark-text, #ffffff)}body.dark-mode .hero-radar-chart:hover{box-shadow:-4px 4px 8px #ffffff14}body.dark-mode .hero-radar-chart canvas{background:#333;backdrop-filter:blur(10px)}body.theme-dark .hero-radar-chart{background:transparent;border-color:none;color:var(--radar-theme-dark-text, #ffffff)}body.theme-dark .hero-radar-chart:hover{box-shadow:-4px 4px 8px #ffffff14}body.theme-dark .hero-radar-chart canvas{background:#333;backdrop-filter:blur(10px)}@media (prefers-reduced-motion: reduce){.hero-radar-demo,.hero-radar-demo:hover{transition:none;animation:none;transform:none}.hero-radar-demo.pulse,.hero-radar-demo.fade-in{animation:none}html.loaded .hero-radar-demo,html.loaded .hero-radar-demo h3,html.loaded .hero-radar-demo p{transition:none;animation:none}}@media (prefers-contrast: high){.hero{background:var(--hero-background-high-contrast, #000000);color:var(--hero-text-high-contrast, #ffffff)}.hero-radar-demo,.demo-btn{border-width:3px;font-weight:var(--font-weight-bold, 700)}}@media print{.hero-radar-demo{display:none}}@media (prefers-contrast: high){.hero .hero-content,.hero .hero-content h1,.hero .hero-content p,.hero .hero-simulation,.hero-title,.hero-description,.hero-actions{animation-duration:.3s!important}}@media (prefers-reduced-motion: reduce){.hero,.hero-content,.hero-content h1,.hero-content p,.hero-simulation,.hero-title,.hero-description,.hero-actions{animation:none!important;opacity:1!important;transform:none!important}}}@layer components{.ethics-demo-section{background:linear-gradient(135deg,var(--color-gray-50, #f8fafc) 0%,var(--color-gray-100, #f1f5f9) 100%);padding:var(--spacing-2xl, 4rem) 0;margin:0;border-top:1px solid var(--color-gray-200, #e2e8f0);border-bottom:1px solid var(--color-gray-200, #e2e8f0)}.ethics-demo-section.layout-container-responsive{width:100%;max-width:var(--container-max-width, 1600px);margin:0 auto;padding:var(--spacing-2xl, 4rem) var(--container-padding-x, 1.5rem);display:block;position:relative}@media (min-width: 1024px){.ethics-demo-section.layout-container-responsive{max-width:1400px;padding-left:max(var(--container-padding-x, 1.5rem),2rem);padding-right:max(var(--container-padding-x, 1.5rem),2rem)}}@media (min-width: 1440px){.ethics-demo-section.layout-container-responsive{max-width:1200px;padding-left:3rem;padding-right:3rem}}.demo-section-header{text-align:center;max-width:800px;margin:0 auto var(--spacing-2xl, 4rem)}.demo-section-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:700;color:var(--color-gray-900, #1f2937);margin:0 0 var(--spacing-md, 1.5rem);background:linear-gradient(135deg,var(--color-primary, #1a73e8) 0%,var(--color-primary-dark, #1557b0) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.demo-section-description{font-size:clamp(1.125rem,2.5vw,1.25rem);color:var(--color-gray-600, #6b7280);line-height:1.6;margin:0}.demo-horizontal-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl, 4rem);place-items:stretch center;max-width:100%;margin:0 auto;width:100%}@media (min-width: 1024px){.demo-horizontal-layout{gap:3rem;max-width:1200px}}@media (min-width: 1440px){.demo-horizontal-layout{gap:4rem;max-width:1000px}}.demo-controls-panel{background:var(--color-white, #fff);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xl, 3rem);box-shadow:0 4px 6px -1px #0000001a;border:1px solid var(--color-gray-200, #e5e7eb);height:auto;width:100%;max-width:500px;align-self:stretch;display:flex;flex-direction:column}.controls-title{font-size:1.5rem;font-weight:600;color:var(--color-gray-900, #1f2937);margin:0 0 var(--spacing-sm, .75rem)}.controls-description{font-size:1rem;color:var(--color-gray-600, #6b7280);line-height:1.5;margin:0 0 var(--spacing-xl, 3rem)}.demo-controls-grid.horizontal{display:grid;grid-template-columns:1fr;gap:var(--spacing-md, 1.5rem);position:relative}@media (min-width: 768px){.demo-controls-grid.horizontal{display:flex;flex-direction:column;gap:var(--spacing-sm, .75rem)}}@media (min-width: 1024px){.demo-controls-grid.horizontal{gap:var(--spacing-md, 1.5rem)}}.ethics-demo-section .demo-controls-grid.horizontal .demo-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:var(--spacing-lg, 2rem);border-radius:var(--radius-md, 8px);background:linear-gradient(135deg,var(--color-indigo-600, #4f46e5) 0%,var(--color-indigo-500, #6366f1) 100%);color:var(--color-white, #fff);border:none;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px color-mix(in oklab,var(--color-indigo-700, #4338ca) 30%,transparent);position:relative;overflow:hidden}.ethics-demo-section .demo-controls-grid.horizontal .demo-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in oklab,var(--color-indigo-700, #4338ca) 40%,transparent)}.ethics-demo-section .demo-controls-grid.horizontal .demo-btn:active{transform:translateY(0)}.ethics-demo-section .demo-controls-grid.horizontal .demo-btn.active{background:linear-gradient(135deg,var(--color-emerald-600, #059669) 0%,var(--color-emerald-500, #10b981) 100%);box-shadow:0 4px 12px color-mix(in oklab,var(--color-emerald-700, #047857) 40%,transparent)}.ethics-demo-section .demo-btn .btn-label{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-xs, .5rem)}.ethics-demo-section .demo-btn .btn-description{font-size:.875rem;opacity:.9;line-height:1.4}@media (max-width: 768px){.ethics-demo-section .demo-controls-grid.horizontal .demo-btn{padding:var(--spacing-md, 1.5rem);text-align:center;align-items:center}.ethics-demo-section .demo-btn .btn-label{font-size:1rem}.ethics-demo-section .demo-btn .btn-description{font-size:.8125rem}}@media (max-width: 480px){.ethics-demo-section .demo-controls-grid.horizontal .demo-btn{padding:var(--spacing-sm, .75rem) var(--spacing-md, 1.5rem)}.ethics-demo-section .demo-btn .btn-label{font-size:.9375rem}.ethics-demo-section .demo-btn .btn-description{font-size:.75rem}}.radar-chart-panel{background:var(--color-white, #fff);border-radius:var(--radius-lg, 12px);padding:var(--spacing-xl, 3rem);box-shadow:0 4px 6px -1px #0000001a;border:1px solid var(--color-gray-200, #e5e7eb);display:flex;align-items:center;justify-content:center;min-height:500px;width:100%;max-width:500px;align-self:stretch}.radar-chart-wrapper{width:100%;height:100%;aspect-ratio:1 / 1;position:relative;display:grid;place-items:center}.radar-chart-wrapper>canvas{width:100%!important;height:100%!important;display:block}#hero-ethics-chart.radar-highlight{transition:transform .3s ease,box-shadow .3s ease;transform:scale(1.02);box-shadow:0 0 20px #007bff7f}.demo-help-sections{margin-top:var(--spacing-2xl, 4rem);display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg, 2rem);max-width:100%;margin-left:auto;margin-right:auto;width:100%}@media (min-width: 1024px){.demo-help-sections{max-width:1200px;gap:var(--spacing-xl, 3rem);align-items:start}}@media (min-width: 1440px){.demo-help-sections{max-width:1000px}}.radar-instructions-accordion,.ethics-glossary-accordion{background:var(--color-white, #fff);border-radius:var(--radius-md, 8px);border:1px solid var(--color-gray-200, #e5e7eb);overflow:visible;position:relative}.accordion-item,.demo-help-sections .accordion-item{position:relative}.accordion-header{display:flex;align-items:center;padding:var(--spacing-lg, 2rem);background:var(--color-gray-50, #f9fafb);cursor:pointer;border:none;width:100%;transition:background-color .2s ease}.accordion-header:hover{background:var(--color-gray-100, #f3f4f6)}.accordion-icon{margin-right:var(--spacing-md, 1.5rem);transition:transform .2s ease;font-size:.875rem}.accordion-header[aria-expanded=true] .accordion-icon{transform:rotate(90deg)}.demo-help-sections .accordion-title{font-size:1.125rem;font-weight:600;color:var(--color-gray-900, #1f2937)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.accordion-content:not(.collapsed){max-height:1000px}.demo-help-sections .accordion-content{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--color-white, #fff);border:1px solid var(--color-gray-200, #e5e7eb);border-radius:0 0 var(--radius-md, 8px) var(--radius-md, 8px);box-shadow:0 10px 25px #00000026,0 4px 10px #0000001a;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:max-height .3s ease,opacity .3s ease,transform .3s ease}.demo-help-sections .accordion-content:not(.collapsed){max-height:1000px;opacity:1;transform:translateY(0)}.accordion-content-inner{padding:var(--spacing-lg, 2rem);color:var(--color-gray-700, #374151);line-height:1.6}.glossary-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg, 2rem);margin-bottom:var(--spacing-lg, 2rem)}.glossary-item h4{font-size:1rem;font-weight:600;color:var(--color-gray-900, #1f2937);margin:0 0 var(--spacing-sm, .75rem)}.glossary-item p{font-size:.875rem;color:var(--color-gray-600, #6b7280);margin:0;line-height:1.5}.glossary-note{padding:var(--spacing-lg, 2rem);background:var(--color-blue-50, #eff6ff);border-radius:var(--radius-md, 8px);border:1px solid var(--color-blue-200, #bfdbfe)}.glossary-note p{margin:0;font-size:.875rem;color:var(--color-blue-800, #1e40af);line-height:1.5}.ethics-demo-section .orientation-suggestion{background:var(--color-amber-50, #fffbeb);border:1px solid var(--color-amber-200, #fde68a);border-radius:var(--radius-md, 8px);padding:var(--spacing-md, 1.5rem);margin-top:var(--spacing-lg, 2rem);display:flex;align-items:center;gap:var(--spacing-sm, .75rem)}.ethics-demo-section .rotate-icon{font-size:1.25rem}.ethics-demo-section .message-text{font-size:.875rem;color:var(--color-amber-800, #92400e)}@media (max-width: 1024px){.demo-horizontal-layout{grid-template-columns:1fr;gap:var(--spacing-xl, 3rem)}.demo-help-sections{grid-template-columns:1fr}}@media (max-width: 768px){.ethics-demo-section{padding:var(--spacing-xl, 3rem) 0}.demo-controls-panel,.radar-chart-panel{padding:var(--spacing-lg, 2rem)}.demo-section-header{margin-bottom:var(--spacing-xl, 3rem)}.controls-title{font-size:1.25rem}.radar-chart-wrapper{height:auto;min-height:300px}.demo-help-sections{margin-top:var(--spacing-xl, 3rem)}.accordion-header,.accordion-content-inner{padding:var(--spacing-md, 1.5rem)}.accordion-content{left:-1rem;right:-1rem;max-width:calc(100vw - 2rem)}}@media (max-width: 480px){.demo-horizontal-layout{gap:var(--spacing-lg, 2rem)}.demo-controls-grid.horizontal .demo-btn{padding:var(--spacing-md, 1.5rem)}.radar-chart-wrapper{min-height:250px}}}@layer utilities{.demo-feedback-popover{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:var(--color-white, #fff);color:var(--color-gray-800, #1f2937);padding:var(--spacing-md, 1.5rem);border-radius:var(--radius-lg, 12px);font-size:.875rem;line-height:1.4;z-index:1000;opacity:0;pointer-events:none;transition:all .3s ease;box-shadow:0 10px 25px #00000026,0 4px 12px #0000001a;border:1px solid var(--color-gray-200, #e5e7eb);min-width:280px;max-width:400px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.demo-feedback-popover.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(-4px);animation:fadeInOut 3s ease-in-out}.demo-feedback-popover .popover-content{display:block}.demo-feedback-popover h5,.demo-feedback-popover .popover-title{margin:0 0 var(--spacing-sm, .75rem);font-size:1rem;font-weight:600;color:var(--color-primary, #1a73e8);line-height:1.3}.demo-feedback-popover p,.demo-feedback-popover .popover-description{margin:0;font-size:.875rem;line-height:1.5;color:var(--color-gray-700, #374151)}.demo-feedback-popover .pattern-emphasis,.demo-feedback-popover .popover-footer{font-size:.75rem;color:var(--color-gray-600, #6b7280);border-top:1px solid var(--color-gray-100, #f3f4f6);padding-top:var(--spacing-sm, .75rem);margin-top:var(--spacing-sm, .75rem);font-style:italic}.popover-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--color-white, #fff)}.popover-arrow:before{content:"";position:absolute;top:-9px;left:-9px;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid var(--color-gray-200, #e5e7eb);z-index:-1}@media (max-width: 768px){.demo-feedback-popover{min-width:240px;max-width:320px;padding:var(--spacing-sm, .75rem) var(--spacing-md, 1.5rem);font-size:.8125rem}}}@layer overrides{body.dark-mode .ethics-demo-section,body.theme-dark .ethics-demo-section{background:linear-gradient(135deg,var(--theme-bg-primary, #1a1a1a) 0%,var(--theme-bg-secondary, #2a2a2a) 100%);border-top-color:var(--theme-border, #333);border-bottom-color:var(--theme-border, #333)}body.dark-mode .demo-section-title,body.theme-dark .demo-section-title{color:var(--theme-text-primary, #f1f5f9);background:linear-gradient(135deg,var(--color-primary, #1a73e8) 0%,var(--color-primary-light, #4285f4) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}body.dark-mode .demo-section-description,body.theme-dark .demo-section-description{color:var(--theme-text-secondary, #94a3b8)}body.dark-mode .demo-controls-panel,body.theme-dark .demo-controls-panel{background:var(--theme-bg-secondary, #2a2a2a);border-color:var(--theme-border, #333);box-shadow:0 4px 6px -1px #0000004d}body.dark-mode .controls-title,body.theme-dark .controls-title{color:var(--theme-text-primary, #f1f5f9)}body.dark-mode .controls-description,body.theme-dark .controls-description{color:var(--theme-text-secondary, #94a3b8)}body.dark-mode .radar-chart-panel,body.theme-dark .radar-chart-panel{background:var(--theme-bg-secondary, #2a2a2a);border-color:var(--theme-border, #333);box-shadow:0 4px 6px -1px #0000004d}body.dark-mode .demo-controls-grid.horizontal .demo-btn,body.theme-dark .demo-controls-grid.horizontal .demo-btn{background:linear-gradient(135deg,#3730a3,#4338ca);color:var(--theme-text-primary, #f1f5f9);box-shadow:0 2px 4px #3730a34d}body.dark-mode .demo-controls-grid.horizontal .demo-btn:hover,body.theme-dark .demo-controls-grid.horizontal .demo-btn:hover{box-shadow:0 4px 12px #3730a366}body.dark-mode .demo-controls-grid.horizontal .demo-btn.active,body.theme-dark .demo-controls-grid.horizontal .demo-btn.active{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 4px 12px #04785766}body.dark-mode .radar-instructions-accordion,body.dark-mode .ethics-glossary-accordion,body.theme-dark .radar-instructions-accordion,body.theme-dark .ethics-glossary-accordion{background:var(--theme-bg-secondary, #2a2a2a);border-color:var(--theme-border, #333)}body.dark-mode .accordion-header,body.theme-dark .accordion-header{background:var(--theme-bg-primary, #1a1a1a);color:var(--theme-text-primary, #f1f5f9)}body.dark-mode .accordion-header:hover,body.theme-dark .accordion-header:hover{background:var(--theme-bg-hover, #333)}body.dark-mode .demo-help-sections .accordion-title,body.theme-dark .demo-help-sections .accordion-title{color:var(--theme-text-primary, #f1f5f9)}body.dark-mode .demo-help-sections .accordion-content,body.theme-dark .demo-help-sections .accordion-content{background:var(--theme-bg-secondary, #2a2a2a);border-color:var(--theme-border, #333);box-shadow:0 10px 25px #0006,0 4px 10px #0000004d}body.dark-mode .accordion-content-inner,body.theme-dark .accordion-content-inner{color:var(--theme-text-secondary, #94a3b8)}body.dark-mode .glossary-item h4,body.theme-dark .glossary-item h4{color:var(--theme-text-primary, #f1f5f9)}body.dark-mode .glossary-item p,body.theme-dark .glossary-item p{color:var(--theme-text-secondary, #94a3b8)}body.dark-mode .glossary-note,body.theme-dark .glossary-note{background:#3b82f61a;border-color:#3b82f64d}body.dark-mode .glossary-note p,body.theme-dark .glossary-note p{color:var(--color-blue-300, #93c5fd)}body.dark-mode .orientation-suggestion,body.theme-dark .orientation-suggestion{background:#f59e0b1a;border-color:#f59e0b4d}body.dark-mode .message-text,body.theme-dark .message-text{color:var(--color-amber-300, #fcd34d)}body.dark-mode .demo-feedback-popover,body.theme-dark .demo-feedback-popover{background:var(--theme-bg-secondary, #2a2a2a);color:var(--theme-text-primary, #f1f5f9);border-color:var(--theme-border, #333);box-shadow:0 10px 25px #0006,0 4px 12px #0000004d}body.dark-mode .demo-feedback-popover h5,body.dark-mode .demo-feedback-popover .popover-title,body.theme-dark .demo-feedback-popover h5,body.theme-dark .demo-feedback-popover .popover-title{color:var(--color-primary, #1a73e8)}body.dark-mode .demo-feedback-popover p,body.dark-mode .demo-feedback-popover .popover-description,body.theme-dark .demo-feedback-popover p,body.theme-dark .demo-feedback-popover .popover-description{color:var(--theme-text-secondary, #94a3b8)}body.dark-mode .demo-feedback-popover .pattern-emphasis,body.dark-mode .demo-feedback-popover .popover-footer,body.theme-dark .demo-feedback-popover .pattern-emphasis,body.theme-dark .demo-feedback-popover .popover-footer{color:var(--theme-text-muted, #64748b);border-top-color:var(--theme-border, #333)}body.dark-mode .popover-arrow,body.theme-dark .popover-arrow{border-top-color:var(--theme-bg-secondary, #2a2a2a)}body.dark-mode .popover-arrow:before,body.theme-dark .popover-arrow:before{border-top-color:var(--theme-border, #333)}}@layer utilities{html.loaded{--page-loaded: 1}html.loaded .categories-section,html.loaded .donor-appreciation-section{opacity:1;transform:translateY(0);transition:opacity var(--transition-duration, .6s) ease-out var(--transition-delay, .8s),transform var(--transition-duration, .6s) ease-out var(--transition-delay, .8s)}html{--user-font-scale: 1;--user-font-size: var(--font-size-base, 1rem)}html.font-size-small{--user-font-scale: .875;--user-font-size: calc( var(--font-size-base, 1rem) * var(--user-font-scale) );font-size:var(--user-font-size)}html.font-size-small body,html.font-size-small .btn,html.font-size-small .form-input,html.font-size-small .hero-description,html.font-size-small .section-description{font-size:calc(var(--font-size-base, 1rem) * var(--user-font-scale))}html.font-size-medium{--user-font-scale: 1;--user-font-size: calc( var(--font-size-base, 1rem) * var(--user-font-scale) );font-size:var(--user-font-size)}html.font-size-medium body,html.font-size-medium .btn,html.font-size-medium .form-input,html.font-size-medium .hero-description,html.font-size-medium .section-description{font-size:calc(var(--font-size-base, 1rem) * var(--user-font-scale))}html.font-size-large{--user-font-scale: 1.125;--user-font-size: calc( var(--font-size-base, 1rem) * var(--user-font-scale) );font-size:var(--user-font-size)}html.font-size-large body,html.font-size-large .btn,html.font-size-large .form-input,html.font-size-large .hero-description,html.font-size-large .section-description{font-size:calc(var(--font-size-base, 1rem) * var(--user-font-scale))}html.font-size-extra-large{--user-font-scale: 1.25;--user-font-size: calc( var(--font-size-base, 1rem) * var(--user-font-scale) );font-size:var(--user-font-size)}html.font-size-extra-large body,html.font-size-extra-large .btn,html.font-size-extra-large .form-input,html.font-size-extra-large .hero-description,html.font-size-extra-large .section-description{font-size:calc(var(--font-size-base, 1rem) * var(--user-font-scale))}@media (max-width: 768px){html.font-size-small{--user-font-scale: .8125}html.font-size-large{--user-font-scale: 1.0625}html.font-size-extra-large{--user-font-scale: 1.125}}@media (prefers-contrast: high){html.loaded .categories-section,html.loaded .donor-appreciation-section{transition-duration:.3s}}@media (prefers-reduced-motion: reduce){html.loaded .categories-section,html.loaded .donor-appreciation-section{transition:none;transform:none;opacity:1}}.state-loading{opacity:0;transform:translateY(20px);pointer-events:none}.state-loaded{opacity:1;transform:translateY(0);pointer-events:auto}.font-scale-small{font-size:calc(var(--font-size-base, 1rem) * .875)!important}.font-scale-medium{font-size:calc(var(--font-size-base, 1rem) * 1)!important}.font-scale-large{font-size:calc(var(--font-size-base, 1rem) * 1.125)!important}.font-scale-extra-large{font-size:calc(var(--font-size-base, 1rem) * 1.25)!important}html[data-debug=true].loaded:before{content:"✅ Page Loaded";position:fixed;top:10px;right:10px;background:#4ade80;color:#064e3b;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;z-index:10000;pointer-events:none}html[data-debug=true].font-size-small:after,html[data-debug=true].font-size-medium:after,html[data-debug=true].font-size-large:after,html[data-debug=true].font-size-extra-large:after{position:fixed;top:40px;right:10px;background:#3b82f6;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;z-index:10000;pointer-events:none}html[data-debug=true].font-size-small:after{content:"📝 Font: Small"}html[data-debug=true].font-size-medium:after{content:"📝 Font: Medium"}html[data-debug=true].font-size-large:after{content:"📝 Font: Large"}html[data-debug=true].font-size-extra-large:after{content:"📝 Font: Extra Large"}}@layer overrides{html.loaded{--loaded-state: true}html.font-size-small,html.font-size-medium,html.font-size-large,html.font-size-extra-large{--font-scaling-active: true}}.category-page-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:var(--spacing-8) 0;border-bottom:1px solid var(--color-gray-200);margin-top:30px}[data-theme=dark] .category-page-header{background:linear-gradient(135deg,#1a202c,#2d3748);border-bottom-color:var(--color-gray-700)}.container{max-width:min(var(--container-xl),100vw);width:100%;margin:0 auto;padding:0 var(--spacing-6);box-sizing:border-box}.category-page-header .category-header{background:transparent;border:none;padding:0;margin-bottom:0}.breadcrumb{margin-left:var(--spacing-4)}.breadcrumb-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;font-size:var(--font-size-sm)}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-item:not(:last-child):after{content:"›";margin:0 var(--spacing-2);color:var(--color-gray-400);font-size:var(--font-size-lg)}.breadcrumb-link{color:var(--color-gray-600);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-primary);text-decoration:underline}.breadcrumb-item.current{color:var(--color-gray-900);font-weight:var(--font-weight-medium)}[data-theme=dark] .breadcrumb-link{color:var(--color-gray-400)}[data-theme=dark] .breadcrumb-link:hover{color:var(--color-primary-light)}[data-theme=dark] .breadcrumb-item.current{color:var(--color-gray-100)}.logo-link{display:flex;align-items:center;gap:var(--spacing-2);text-decoration:none;color:inherit}.logo-link:hover{text-decoration:none}.category-scenarios-section{padding:var(--spacing-10) 0}.category-scenarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-6);margin-top:var(--spacing-8)}.category-scenarios-grid .scenario-card{height:auto;min-height:280px;display:flex;flex-direction:column}.category-scenarios-grid .scenario-card .scenario-content{flex:1;display:flex;flex-direction:column;padding:0 var(--spacing-5) var(--spacing-4);gap:var(--spacing-3)}.category-scenarios-grid .scenario-card .scenario-description{flex:1;margin-bottom:var(--spacing-4)}.category-scenarios-grid .scenario-card .scenario-footer{margin-top:auto}.main-content{margin-top:0}.category-page-header~* .main-content,main.main-content{padding-top:0}@media (width <= 768px){main.main-content{padding-top:10px}}@media (width <= 480px){main.main-content{padding-top:15px}}@media (width <= 768px){.category-page-header{margin-top:50px!important}.container{padding:0 var(--spacing-4)}.breadcrumb{margin-left:0;margin-top:var(--spacing-2)}.breadcrumb-list{flex-wrap:wrap}.category-scenarios-grid{grid-template-columns:1fr;gap:var(--spacing-4)}.category-scenarios-section{padding:var(--spacing-8) 0}.category-scenarios-section .section-title{font-size:var(--font-size-2xl)}.category-scenarios-section .section-description{font-size:var(--font-size-base)}}@media (width <= 480px){.category-page-header{margin-top:60px!important}.category-scenarios-grid{grid-template-columns:1fr;gap:var(--spacing-3)}.category-scenarios-section{padding:var(--spacing-6) 0}}.back-to-categories{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;display:inline-flex;align-items:center;gap:var(--spacing-1)}.back-to-categories:hover{background:var(--color-primary-light);color:var(--color-white);text-decoration:none;transform:translateY(-1px)}.back-to-categories:focus{outline:2px solid var(--color-primary);outline-offset:2px}.back-to-categories:before{content:"←";font-size:var(--font-size-base)}[data-theme=dark] .back-to-categories{color:var(--color-primary-light)}[data-theme=dark] .back-to-categories:hover{background:var(--color-primary);color:var(--color-white)}@media (width <= 768px){.category-page-header .category-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-2);margin-top:var(--spacing-2)}.category-page-header .category-meta-items{align-self:center;justify-content:center}.category-page-header .back-to-categories{align-self:flex-start;margin-top:var(--spacing-1)}}@media (width <= 480px){.category-page-header .category-meta{margin-top:var(--spacing-1)}}@media (width <= 768px){.header-container{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--spacing-2);align-items:center}.logo{grid-column:1;grid-row:1}.breadcrumb{grid-column:1 / -1;grid-row:2;margin-left:0}}.error-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-8) 0}.error-content{text-align:center;max-width:500px;padding:var(--spacing-6)}.error-content h1{font-size:var(--font-size-3xl);color:var(--color-gray-900);margin-bottom:var(--spacing-4)}.error-content p{font-size:var(--font-size-lg);color:var(--color-gray-600);margin-bottom:var(--spacing-6);line-height:var(--line-height-relaxed)}.error-actions{display:flex;gap:var(--spacing-4);justify-content:center;flex-wrap:wrap}[data-theme=dark] .error-content h1{color:var(--color-gray-100)}[data-theme=dark] .error-content p{color:var(--color-gray-300)}.no-scenarios{text-align:center;padding:var(--spacing-12) var(--spacing-6);color:var(--color-gray-600)}.no-scenarios h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-3);color:var(--color-gray-900)}.no-scenarios p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}[data-theme=dark] .no-scenarios{color:var(--color-gray-300)}[data-theme=dark] .no-scenarios h3{color:var(--color-gray-100)}body.dark-mode .category-page-header{background:linear-gradient(135deg,var(--theme-bg-primary),var(--theme-bg-secondary));border-bottom-color:var(--theme-border)}body.dark-mode .container{background:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .breadcrumb-link{color:var(--theme-text-secondary)}body.dark-mode .breadcrumb-link:hover{color:var(--theme-accent)}body.dark-mode .breadcrumb-item.current{color:var(--theme-text-primary)}body.dark-mode .breadcrumb-item:not(:last-child):after{color:var(--theme-text-muted)}body.dark-mode .logo-link{color:var(--theme-text-primary)}body.dark-mode .category-scenarios-section{background:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .category-scenarios-grid .scenario-card{background:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .category-scenarios-grid .scenario-card:hover{background:var(--theme-bg-tertiary);border-color:var(--theme-accent);box-shadow:0 4px 12px var(--theme-shadow)}body.dark-mode .back-to-categories{color:var(--theme-accent);background:transparent}body.dark-mode .back-to-categories:hover{background:var(--theme-accent);color:var(--theme-bg-primary)}body.dark-mode .error-page{background:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .error-content{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);border-radius:12px}body.dark-mode .error-content h1{color:var(--theme-text-primary)}body.dark-mode .error-content p,body.dark-mode .no-scenarios{color:var(--theme-text-secondary)}body.dark-mode .no-scenarios h3{color:var(--theme-text-primary)}@layer components{.scenario-card{background:var(--color-white);border:2px solid var(--color-gray-200);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease;box-shadow:0 4px 6px #0000000d;position:relative;cursor:pointer;display:flex;flex-direction:column;min-height:280px;font-size:calc(1rem * var(--font-scale, 1));padding:0}.scenario-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026;border-color:var(--color-primary)}.scenario-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.scenario-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);opacity:0;transition:opacity .3s ease}.scenario-card:hover:before{opacity:1}.scenario-card.completed{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:var(--color-green-300)}.scenario-card.completed:after{content:"✓";position:absolute;top:10px;right:10px;font-size:1.5rem;z-index:10;background:var(--color-success);color:var(--color-white);width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);animation:checkmark-bounce .6s ease-out}@keyframes checkmark-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.scenario-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5) var(--spacing-5) var(--spacing-3)}.scenario-icon{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.scenario-difficulty{padding:4px var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.difficulty-beginner{background:#d1fae5;color:#065f46}.difficulty-intermediate{background:#fef3c7;color:#92400e}.difficulty-advanced{background:#fee2e2;color:#991b1b}.scenario-content{flex:1;padding:var(--spacing-4);display:flex;flex-direction:column;gap:var(--spacing-3)}.scenario-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin:0;line-height:var(--line-height-tight)}.scenario-description{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:var(--line-height-relaxed);margin:0;flex:1}.scenario-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:16px;border-top:1px solid var(--color-gray-200);background:var(--color-gray-50);margin-top:auto}.scenario-start-btn{background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:left;gap:var(--spacing-2);text-decoration:none;flex:1;min-width:0;justify-content:left}.scenario-start-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #007cba4d}.scenario-start-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.scenario-quick-start-btn{background:#0a0;color:var(--color-white);border:none;border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0;text-decoration:none}.scenario-quick-start-btn:hover{background:#080;transform:translate(2px)}.scenario-quick-start-btn:focus-visible{outline:2px solid #00aa00;outline-offset:2px}.scenario-quick-start-btn svg,.scenario-start-btn svg{transition:transform var(--transition-base)}.scenario-quick-start-btn:hover svg{transform:translate(2px)}.scenario-start-btn:hover svg{transform:scale(1.1)}.category-section .scenario-title,.simulations-grid .scenario-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.category-section .scenario-content,.simulations-grid .scenario-content{padding:0 var(--spacing-5) var(--spacing-4)}.category-scenarios-grid .scenario-title,.scenarios-grid .scenario-title{font-size:calc(1rem * var(--font-scale, 1));font-weight:600;color:var(--color-gray-800, #2d3748);margin:0 0 .25rem}.category-scenarios-grid .scenario-description,.scenarios-grid .scenario-description{font-size:var(--font-size-sm);color:var(--color-gray-600);line-height:1.5}.ethics-explorer .scenario-card{background:linear-gradient(135deg,#fff,#f8fafc);color:#2d3748;border-radius:16px;box-shadow:0 2px 8px #00000014,0 0 0 1px #cbd5e14d;border:1px solid #e2e8f0;flex:0 0 320px;scroll-snap-align:start;scroll-snap-stop:always}.ethics-explorer .scenario-card:hover{box-shadow:0 8px 24px #0000001f,0 0 0 1px #667eea33;border-color:#667eea}.scenarios-grid[data-view=scenario] .scenario-card{max-width:none;width:100%;min-height:200px;padding:0}.scenarios-grid[data-view=scenario] .scenario-card .scenario-content{padding:var(--spacing-4);box-sizing:border-box}.scenarios-grid[data-view=scenario] .scenario-card .scenario-title{margin-bottom:var(--spacing-3);line-height:1.3;min-height:2.6em}.scenarios-grid[data-view=scenario] .scenario-card .scenario-description{flex:1;margin-bottom:var(--spacing-4);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;line-height:1.4;min-height:4.2em}.scenarios-grid[data-view=scenario] .scenario-card .scenario-footer{margin-top:auto;padding-top:var(--spacing-2)}[data-theme=dark] .scenario-card,body.dark-mode .scenario-card{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary);box-shadow:0 4px 12px var(--theme-shadow)}[data-theme=dark] .scenario-card:hover,body.dark-mode .scenario-card:hover{background:var(--theme-bg-tertiary);border-color:var(--theme-border-hover);box-shadow:0 8px 20px var(--theme-shadow-hover)}[data-theme=dark] .scenario-title,body.dark-mode .scenario-title{color:var(--theme-text-primary)}[data-theme=dark] .scenario-description,body.dark-mode .scenario-description{color:var(--theme-text-secondary)}[data-theme=dark] .scenario-footer,body.dark-mode .scenario-footer{background:var(--theme-bg-tertiary);border-top-color:var(--theme-border)}[data-theme=dark] .scenario-card .scenario-title,body.dark-mode .scenario-card .scenario-title,[data-theme=dark] .category-scenarios-grid .scenario-title,body.dark-mode .category-scenarios-grid .scenario-title,[data-theme=dark] .scenarios-grid .scenario-title,body.dark-mode .scenarios-grid .scenario-title{color:var(--theme-text-primary)}[data-theme=dark] .scenario-card .scenario-description,body.dark-mode .scenario-card .scenario-description,[data-theme=dark] .category-scenarios-grid .scenario-description,body.dark-mode .category-scenarios-grid .scenario-description,[data-theme=dark] .scenarios-grid .scenario-description,body.dark-mode .scenarios-grid .scenario-description{color:var(--theme-text-secondary)}.no-motion .scenario-card,.no-motion .scenario-card:before,.no-motion .scenario-start-btn,.no-motion .scenario-quick-start-btn,.no-motion .scenario-card.completed:after{transition:none!important;animation:none!important}.no-motion .scenario-card:hover{transform:none}.high-contrast-border .scenario-card{border-width:3px}.high-contrast-border .scenario-start-btn:focus-visible,.high-contrast-border .scenario-quick-start-btn:focus-visible{outline-width:4px}.print-hide.scenario-start-btn,.print-hide.scenario-quick-start-btn{display:none!important}.scenario-card{min-height:280px}.scenario-card-mobile{min-height:240px}.scenario-header-mobile{padding:var(--spacing-4) var(--spacing-4) var(--spacing-2)}.scenario-content-mobile{padding:var(--spacing-3)}.scenario-footer-mobile{padding:var(--spacing-0) var(--spacing-4) var(--spacing-4);flex-direction:column;gap:var(--spacing-2)}.scenario-buttons-mobile{width:100%;justify-content:center}.scenario-card-tablet{min-height:260px}@media only screen and (width <= 767px){.scenario-card{min-height:240px;border-radius:var(--radius-lg);box-shadow:0 2px 4px #00000014;font-size:calc(.9rem * var(--font-scale, 1))}.scenario-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001f}.scenario-header{padding:var(--container-padding) var(--container-padding) calc(var(--container-padding) * .5)}.scenario-content{padding:calc(var(--container-padding) * .75)}.scenario-footer{padding:var(--spacing-0) var(--container-padding) var(--container-padding);flex-direction:column;gap:calc(var(--container-padding) * .5)}.scenario-start-btn,.scenario-quick-start-btn{width:100%;justify-content:center}}@media only screen and (width >= 768px) and (width <= 1279px){.scenario-card{min-height:260px;font-size:calc(1rem * var(--font-scale, 1.05));border-radius:var(--radius-xl)}.scenario-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0000001f}}}.ethics-analysis-section{padding:6rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);position:relative}.ethics-analysis-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c,#4facfe)}.ethics-content{max-width:1200px;margin:0 auto;padding:0 2rem}.ethics-explanation{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:4rem}.ethics-card{background:#fff;padding:2rem;border-radius:16px;box-shadow:0 8px 25px #00000014;border:1px solid rgb(255 255 255 / 80%);transition:all .3s ease}.ethics-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.ethics-card h3{font-size:1.25rem;font-weight:700;color:#1a202c;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;background-clip:text}.ethics-card p{color:#4a5568;line-height:1.6;margin:0;font-size:1rem}.ethics-glossary{background:#fff;padding:3rem;border-radius:20px;box-shadow:0 12px 40px #0000001a;border:1px solid rgb(255 255 255 / 80%)}.ethics-glossary h3{font-size:1.75rem;font-weight:800;color:#1a202c;margin:0 0 2rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;background-clip:text}.glossary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}.glossary-item{padding:1.5rem;background:#667eea08;border-radius:12px;border:1px solid rgb(102 126 234 / 10%);transition:all .3s ease}.glossary-item:hover{background:#667eea0f;border-color:#667eea33;transform:translateY(-2px)}.glossary-item h4{font-size:1.1rem;font-weight:700;color:#2d3748;margin:0 0 .75rem}.glossary-item p{color:#4a5568;line-height:1.5;margin:0;font-size:.95rem}.glossary-note{background:#f59e0b1a;border:1px solid rgb(245 158 11 / 20%);border-radius:12px;padding:1.5rem;margin-top:2rem}.glossary-note p{color:#92400e;margin:0;font-size:1rem;line-height:1.6}.glossary-note strong{color:#78350f}.radar-demo-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e0;border-radius:16px;padding:2rem;margin:2rem 0;text-align:center}.radar-demo-section h4{font-size:1.5rem;font-weight:700;color:#1a202c;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;background-clip:text}.radar-demo-section p{color:#4a5568;margin-bottom:2rem;font-size:1rem;line-height:1.6}.demo-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem}.demo-btn{padding:.75rem 1.5rem;border-radius:8px;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #4f46e540;position:relative;overflow:hidden;border:1px solid rgb(255 255 255 / 10%)}.demo-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 15%),transparent);transition:left .5s ease}.demo-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #4f46e559;background:linear-gradient(135deg,#4338ca,#5b21b6)}.demo-btn:hover:before{left:100%}.demo-btn:active{transform:translateY(0);box-shadow:0 2px 8px #4f46e540}.demo-btn.reset-btn{background:linear-gradient(135deg,#6b7280,#9ca3af);box-shadow:0 2px 8px #6b728040}.demo-btn.reset-btn:hover{background:linear-gradient(135deg,#4b5563,#6b7280);box-shadow:0 4px 16px #6b728059}.demo-btn.reset-btn:before{background:linear-gradient(90deg,transparent,rgb(255 255 255 / 20%),transparent)}.demo-radar-container{max-width:500px;margin:0 auto 2rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #00000014,0 1px 3px #0000000d;border:1px solid rgb(226 232 240 / 80%);transition:all .3s ease}.demo-radar-container:hover{box-shadow:0 8px 20px #0000001f,0 2px 6px #00000014;transform:translateY(-2px);border-color:#9ca3af99}.demo-feedback{background:#667eea0d;border:1px solid rgb(102 126 234 / 10%);border-radius:12px;padding:1.5rem;margin-top:1rem;text-align:left;max-width:600px;margin-left:auto;margin-right:auto;opacity:0;transform:translateY(10px);transition:all .3s ease}.demo-feedback.show{opacity:1;transform:translateY(0)}.demo-feedback h5{color:#667eea;font-weight:700;margin:0 0 .75rem;font-size:1.1rem}.demo-feedback p{color:#4a5568;margin:0;line-height:1.5;font-size:.95rem}.radar-instructions{background:#ffffffe5;border:1px solid rgb(102 126 234 / 20%);border-radius:12px;padding:1.5rem;margin:1.5rem auto;max-width:600px;text-align:left;box-shadow:0 2px 8px #0000000d}.radar-instructions h5{color:#667eea;font-weight:700;margin:0 0 1rem;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}.radar-instructions p{color:#4a5568;margin:0 0 1rem;line-height:1.6;font-size:.95rem}.radar-instructions p:last-child{margin-bottom:0}.radar-instructions ul{list-style:none;padding:0;margin:0 0 1rem}.radar-instructions li{color:#4a5568;margin:.5rem 0;padding-left:1.5rem;position:relative;font-size:.9rem;line-height:1.5}.radar-instructions li:before{content:"▸";color:#667eea;font-weight:700;position:absolute;left:0;top:0}.radar-instructions strong{color:#2d3748;font-weight:600}@media (width <= 768px){.ethics-analysis-section{padding:4rem 0}.ethics-content{padding:0 1rem}.ethics-explanation{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.ethics-card{padding:1.5rem}.ethics-glossary{padding:2rem}.glossary-grid{grid-template-columns:1fr;gap:1.5rem}.radar-demo-section{padding:1.5rem;margin:1.5rem 0}.demo-controls{flex-direction:column;align-items:center;gap:.75rem}.demo-btn{width:100%;max-width:280px}.demo-radar-container{padding:1rem}.radar-instructions{padding:1.25rem;margin:1rem auto}.radar-instructions h5{font-size:1rem}.radar-instructions p,.radar-instructions li{font-size:.9rem}}@media (width <= 480px){.ethics-analysis-section{padding:3rem 0}.ethics-card{padding:1.25rem}.ethics-card h3{font-size:1.1rem}.ethics-glossary{padding:1.5rem}.ethics-glossary h3{font-size:1.5rem}.glossary-item,.radar-demo-section{padding:1.25rem}.radar-demo-section h4{font-size:1.25rem}.demo-btn{padding:.6rem 1.25rem;font-size:.85rem}.radar-instructions{padding:1rem;margin:1rem auto}.radar-instructions h5{font-size:.95rem}.radar-instructions p,.radar-instructions li{font-size:.85rem}}@media (prefers-contrast: high){.ethics-card{border-width:2px;box-shadow:0 4px 12px #0003}.glossary-item,.glossary-note{border-width:2px}}@media (prefers-reduced-motion: reduce){.ethics-card,.glossary-item{transition:none}.ethics-card:hover,.glossary-item:hover{transform:none}}.metadata-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);animation:fadeIn .3s ease}.metadata-modal{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 20px 40px #0003;width:90vw;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideIn .3s ease}.metadata-modal-header{padding:var(--spacing-8);border-bottom:1px solid var(--color-gray-200);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white)}.metadata-modal-header h2{margin:0 0 var(--spacing-4) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.metadata-progress{display:flex;align-items:center;gap:var(--spacing-4)}.metadata-progress-bar{flex:1;height:8px;background:#fff3;border-radius:var(--radius-full);overflow:hidden}.metadata-progress-fill{height:100%;background:var(--color-white);border-radius:var(--radius-full);transition:width .3s ease}.metadata-progress-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);opacity:.9}.metadata-modal-content{flex:1;padding:var(--spacing-8);overflow-y:auto}.step-description{font-size:var(--font-size-lg);color:var(--color-gray-700);margin-bottom:var(--spacing-6);line-height:var(--line-height-relaxed)}.metadata-welcome{text-align:center;max-width:600px;margin:0 auto}.metadata-welcome-icon{font-size:4rem;margin-bottom:var(--spacing-6)}.metadata-welcome h3{font-size:var(--font-size-xl);color:var(--color-gray-900);margin-bottom:var(--spacing-6);font-weight:var(--font-weight-semibold)}.metadata-welcome-description{text-align:left;margin-bottom:var(--spacing-8)}.metadata-welcome-description ul{margin:var(--spacing-4) 0;padding-left:var(--spacing-6)}.metadata-welcome-description li{margin:var(--spacing-2) 0;line-height:var(--line-height-relaxed)}.metadata-welcome-privacy{background:var(--color-blue-50);border:1px solid var(--color-blue-200);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-bottom:var(--spacing-6)}.privacy-highlight{display:flex;gap:var(--spacing-4);align-items:flex-start}.privacy-icon{font-size:var(--font-size-xl);color:var(--color-blue-600)}.privacy-text h4,.privacy-text strong{color:var(--color-blue-800);margin-bottom:var(--spacing-2)}.metadata-welcome-time{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3);color:var(--color-gray-600);font-size:var(--font-size-base)}.time-icon{font-size:var(--font-size-lg)}.metadata-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:var(--spacing-6)}.form-group label{display:block;font-weight:var(--font-weight-semibold);color:var(--color-gray-800);margin-bottom:var(--spacing-3);font-size:var(--font-size-base)}.optional{color:var(--color-gray-500);font-weight:var(--font-weight-normal);font-style:italic}.form-control{width:100%;padding:var(--spacing-3) var(--spacing-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);font-size:var(--font-size-base);transition:all .2s ease;background:var(--color-white)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007cba1a}.form-help{display:block;margin-top:var(--spacing-2);color:var(--color-gray-500);font-size:var(--font-size-sm)}.philosophy-options{display:grid;grid-template-columns:1fr;gap:var(--spacing-4)}.philosophy-option{position:relative}.philosophy-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.philosophy-card{display:block;padding:var(--spacing-5);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;background:var(--color-white)}.philosophy-card:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.philosophy-option input:checked+.philosophy-card{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.philosophy-title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);margin-bottom:var(--spacing-2)}.philosophy-description{margin-bottom:var(--spacing-3);opacity:.9}.philosophy-keywords{font-size:var(--font-size-sm);opacity:.8;font-style:italic}.cognitive-style-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-4)}.cognitive-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.cognitive-card{display:block;padding:var(--spacing-4);border:2px solid var(--color-gray-200);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;background:var(--color-white);text-align:center}.cognitive-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.cognitive-option input:checked+.cognitive-card{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.cognitive-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.cognitive-description{font-size:var(--font-size-sm);opacity:.9}.moral-foundations-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-8)}.moral-foundation-item{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-6)}.foundation-header h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--spacing-2)}.foundation-header p{color:var(--color-gray-600);margin-bottom:var(--spacing-4)}.foundation-rating label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-3);color:var(--color-gray-800)}.rating-scale{display:flex;align-items:center;gap:var(--spacing-2);flex-wrap:wrap}.rating-label{font-size:var(--font-size-sm);color:var(--color-gray-600);font-weight:var(--font-weight-normal)}.rating-option{display:flex;flex-direction:column;align-items:center;cursor:pointer}.rating-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.rating-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--color-gray-300);border-radius:50%;font-weight:var(--font-weight-medium);transition:all .2s ease;background:var(--color-white)}.rating-option:hover .rating-number{border-color:var(--color-primary);background:var(--color-primary-light)}.rating-option input:checked+.rating-number{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.consent-options{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}.consent-item{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--spacing-5);transition:all .2s ease}.consent-item:hover{background:var(--color-gray-100)}.consent-header{display:flex;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.consent-checkbox{width:20px;height:20px;margin-top:2px;cursor:pointer}.consent-title{display:flex;align-items:center;gap:var(--spacing-3);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);cursor:pointer;margin:0}.consent-icon{font-size:var(--font-size-lg)}.consent-description{color:var(--color-gray-600);line-height:var(--line-height-relaxed);margin:0}.privacy-notice{background:var(--color-blue-50);border:1px solid var(--color-blue-200);border-radius:var(--radius-lg);padding:var(--spacing-6);margin-top:var(--spacing-8)}.privacy-notice h4{color:var(--color-blue-800);margin-bottom:var(--spacing-3)}.privacy-notice p{color:var(--color-blue-700);margin-bottom:var(--spacing-3)}.privacy-notice ul{margin:var(--spacing-3) 0;padding-left:var(--spacing-6)}.privacy-notice li{color:var(--color-blue-700);margin:var(--spacing-1) 0}.privacy-notice a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.privacy-notice a:hover{text-decoration:underline}.metadata-modal-footer{padding:var(--spacing-6) var(--spacing-8);border-top:1px solid var(--color-gray-200);background:var(--color-gray-50)}.metadata-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4)}.metadata-action-group{display:flex;gap:var(--spacing-3)}.metadata-note{background:var(--color-yellow-50);border:1px solid var(--color-yellow-200);border-radius:var(--radius-md);padding:var(--spacing-4);margin-top:var(--spacing-6)}.metadata-note p{color:var(--color-yellow-800);margin:0;font-size:var(--font-size-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (width <= 768px){.metadata-modal{width:95vw;height:95vh}.metadata-modal-header,.metadata-modal-content,.metadata-modal-footer{padding:var(--spacing-5)}.metadata-progress{flex-direction:column;align-items:stretch;gap:var(--spacing-2)}.philosophy-options,.cognitive-style-options{grid-template-columns:1fr}.rating-scale{justify-content:center}.metadata-modal-actions{flex-direction:column;align-items:stretch}.metadata-action-group{order:1}}@layer components{.donor-flair-badge{display:inline-block;font-size:1em;line-height:1;margin:0 2px;vertical-align:middle;transition:all .3s ease}.donor-flair-badge.small{font-size:.8em}.donor-flair-badge.large{font-size:1.3em}.donor-flair-badge.floating{position:absolute;top:-8px;right:-8px;font-size:.7em;background:var(--color-background, #fff);border-radius:50%;padding:2px;box-shadow:0 2px 4px #0000001a}.donor-flair-badge[data-tier="3"]{filter:drop-shadow(0 0 2px rgb(255 215 0 / 50%))}.donor-flair-badge[data-tier="2"]{filter:drop-shadow(0 0 2px rgb(192 192 192 / 50%))}.donor-flair-badge[data-tier="1"]{filter:drop-shadow(0 0 2px rgb(205 127 50 / 50%))}.has-donor-flair{font-weight:500;position:relative}.has-donor-flair:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--flair-color, #007bff),transparent);opacity:.3}.appreciation-title{color:#2c3e50;margin:0 0 20px;font-size:1.3rem;display:flex;align-items:center;justify-content:center;gap:8px}.appreciation-icon{font-size:1.4em;animation:gentle-bounce 2s ease-in-out infinite}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.donor-showcase{margin-bottom:24px}.donor-placeholder{padding:20px;color:var(--color-text-secondary, #6c757d);font-style:italic}.donor-tier-group{margin-bottom:24px;background:var(--color-background, #fff);border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000000d}.tier-title{color:var(--color-text-primary, #2c3e50);margin:0 0 12px;font-size:1.1rem;display:flex;align-items:center;gap:8px}.tier-flair{font-size:1.3em}.donor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.donor-card{background:var(--color-background-elevation-1, #f8f9fa);border-radius:6px;padding:12px;border-left:3px solid var(--flair-color, #007bff)}.donor-info{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.donor-name{font-weight:500;color:var(--color-text-primary, #2c3e50)}.donor-flair{font-size:1.1em}.donor-date{font-size:.8rem;color:#6c757d}.become-supporter{background:var(--color-background, #fff);border-radius:8px;padding:16px;margin-top:16px}.become-supporter p{margin:0 0 12px;color:var(--color-text-secondary, #495057)}.become-supporter-btn{background:linear-gradient(135deg,var(--color-primary, #007bff),var(--color-primary-dark, #0056b3));color:#fff;border:none;border-radius:6px;padding:10px 20px;font-weight:500;cursor:pointer;transition:all .3s ease}.become-supporter-btn:hover{background:linear-gradient(135deg,var(--color-primary-dark, #0056b3),var(--color-primary-darker, #004085));transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.nav-link.has-donor-flair{position:relative}.nav-link.has-donor-flair:before{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--flair-color, #007bff);border-radius:50%;border:2px solid var(--color-background, #fff);animation:pulse-flair 2s ease-in-out infinite}@keyframes pulse-flair{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){.appreciation-icon,.nav-link.has-donor-flair:before{animation:none!important}}.profile-header .has-donor-flair{font-size:1.2em;background:linear-gradient(135deg,var(--color-background-elevation-1, #f8f9fa),var(--color-background-elevation-2, #e9ecef));padding:8px 16px;border-radius:20px;display:inline-block;margin:8px 0}.comment-author.has-donor-flair,.forum-post-author.has-donor-flair{background:linear-gradient(135deg,#007bff1a,#0056b31a);border-radius:4px;padding:2px 6px}.donor-card[data-tier="3"],.donor-tier-group[data-tier="3"]{--flair-color: #ffd700}.donor-card[data-tier="2"],.donor-tier-group[data-tier="2"]{--flair-color: #c0c0c0}.donor-card[data-tier="1"],.donor-tier-group[data-tier="1"]{--flair-color: #cd7f32}@media (width <= 768px){.donor-appreciation-section{padding:12px;margin:16px auto;max-width:100%}.appreciation-title{font-size:1.1rem;flex-direction:column;gap:4px}.donor-list{grid-template-columns:1fr}.donor-card{padding:10px}.donor-info{flex-direction:column;align-items:flex-start;gap:4px}.profile-header .has-donor-flair{font-size:1em;padding:6px 12px}}.donor-flair-badge:focus-visible{outline:2px solid var(--color-primary, #007bff);outline-offset:2px}.has-donor-flair:focus-within{outline:2px solid var(--flair-color, var(--color-primary, #007bff));outline-offset:2px;border-radius:2px}@media (prefers-contrast: more){.donor-flair-badge{background:#fff;border:1px solid currentcolor;border-radius:50%;padding:2px}.has-donor-flair:after{opacity:1;height:2px}.donor-card{border:2px solid var(--flair-color, #007bff)}}@media print{.donor-flair-badge,.appreciation-icon{color:#000!important;text-shadow:none!important;filter:none!important}.donor-appreciation-section{background:#fff!important;border:1px solid #000!important}.become-supporter{display:none}}}@layer utilities{.modal-backdrop .modal-dialog .modal-body,#simulation-modal .modal-dialog .modal-body{display:flex;flex-direction:column;padding:var(--container-padding, 20px);overflow:hidden auto;height:auto;min-height:400px;max-height:80vh;flex:1;background:var(--modal-background, #fff)}.modal-backdrop .simulation-container,.modal-dialog .simulation-container,#simulation-modal .simulation-container,.simulation-preview .simulation-container{background:var(--color-gray-50, #f8f9fa);border-radius:8px;padding:calc(var(--container-padding, 16px) * 1);min-height:300px;width:100%;display:block;margin-bottom:var(--container-padding, 20px);overflow:visible;border:1px solid var(--color-gray-200, #e5e7eb);flex:none;position:relative}.modal-backdrop .simulation-controls,.modal-dialog .simulation-controls,#simulation-modal .simulation-controls{flex-shrink:0;max-height:200px;overflow:auto}#simulation-modal .modal-body .simulation-controls,#simulation-modal .modal-body .ethics-meters,#simulation-modal .modal-body .simulation-actions{display:block;width:100%}#simulation-modal .modal-body .simulation-controls{margin-top:var(--container-padding, 20px)}#simulation-modal .modal-body .ethics-meters{margin-bottom:var(--container-padding, 20px)}.main-content .simulation-preview,#app .simulation-preview{min-height:400px;max-height:none;overflow:visible;display:block;padding:0}.main-content .demo-header,#app .demo-header{text-align:center;margin-bottom:calc(var(--container-padding) * .5)}.main-content .demo-title,#app .demo-title{font-size:calc(1.25rem * var(--font-scale, 1));font-weight:700;color:var(--color-gray-900, #1a202c);margin:0 0 calc(var(--container-padding) * .25)}.main-content .demo-subtitle,#app .demo-subtitle{color:var(--color-gray-600, #718096);margin:0;font-size:calc(.875rem * var(--font-scale, 1))}.main-content .demo-content,#app .demo-content{display:grid;grid-template-columns:1fr;gap:calc(var(--container-padding) * .5);align-items:start}@media only screen and (width >= 768px){.main-content .demo-content,#app .demo-content{grid-template-columns:1.3fr 1fr;gap:calc(var(--container-padding) * .625)}}@media only screen and (width >= 1024px){.main-content .demo-content,#app .demo-content{grid-template-columns:1.5fr 1fr;gap:calc(var(--container-padding) * .75)}}.scenario-panel{background:#fffc;border-radius:12px;padding:1rem;border:1px solid rgb(0 0 0 / 5%)}.scenario-header{margin-bottom:.75rem}.scenario-question{font-size:calc(.85rem * var(--font-scale, 1));color:var(--color-gray-700, #4a5568);margin-bottom:.75rem;line-height:1.4}.scenario-choices{display:flex;flex-direction:column;gap:.4rem;position:relative}.choice-btn{background:#ffffffe5;border:2px solid rgb(59 130 246 / 20%);border-radius:8px;padding:.5rem .75rem;text-align:left;cursor:pointer;transition:all .2s ease;font-size:calc(.75rem * var(--font-scale, 1))}.choice-btn:hover{border-color:#3b82f666;background:#3b82f60d;transform:translateY(-1px)}.choice-btn.active{border-color:var(--color-primary, #3b82f6);background:#3b82f61a}.choice-text{display:block;font-weight:500;color:var(--color-gray-800, #2d3748);margin-bottom:.15rem}.choice-impact{display:block;font-size:calc(.65rem * var(--font-scale, 1));color:var(--color-gray-600, #718096);font-style:italic}.ethics-panel{background:#fffc;border-radius:12px;padding:1rem;border:1px solid rgb(0 0 0 / 5%)}.ethics-title{font-size:calc(1rem * var(--font-scale, 1));font-weight:600;color:var(--color-gray-800, #2d3748);margin:0 0 .75rem}.ethics-meters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.ethics-meter{background:#fff9;border-radius:8px;padding:.5rem}.meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.meter-label{font-size:calc(.75rem * var(--font-scale, 1));font-weight:600;color:var(--color-gray-700, #4a5568)}.meter-value{font-size:calc(.75rem * var(--font-scale, 1));font-weight:600;color:var(--color-gray-600, #718096)}.meter-bar{height:6px;background:#0000001a;border-radius:3px;overflow:hidden;position:relative}.meter-fill{height:100%;border-radius:3px;transition:width .8s ease-out;background:linear-gradient(90deg,#10b981,#34d399)}.fairness-fill{background:linear-gradient(90deg,#10b981,#34d399)}.transparency-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.accountability-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.demo-cta{width:100%;padding:.5rem .75rem;font-size:calc(.8rem * var(--font-scale, 1));font-weight:600;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.demo-cta:hover{background:var(--color-primary-dark, #2563eb);transform:translateY(-1px)}.demo-actions{position:absolute;bottom:1.5rem;right:1.5rem;display:flex;gap:.75rem;z-index:100}.demo-actions .btn{font-size:calc(.875rem * var(--font-scale, 1));padding:.5rem 1rem;border-radius:8px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;cursor:pointer}.demo-actions .btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.demo-actions .btn-primary{background:var(--color-primary, #3b82f6);color:#fff;border:none}.demo-actions .btn-primary:hover{background:var(--color-primary-dark, #2563eb)}.demo-actions .btn-secondary{background:#fff;color:var(--color-gray-700, #374151);border:1px solid var(--color-gray-300, #d1d5db)}.demo-actions .btn-secondary:hover{background:var(--color-gray-50, #f9fafb);border-color:var(--color-gray-400, #9ca3af)}@media only screen and (width <= 768px){.demo-actions{bottom:1rem;right:1rem;gap:.5rem}.demo-actions .btn{font-size:calc(.8rem * var(--font-scale, 1));padding:.4rem .75rem}}@media only screen and (width <= 480px){.demo-actions{bottom:.75rem;right:.75rem;flex-direction:column;gap:.4rem}.demo-actions .btn{font-size:calc(.75rem * var(--font-scale, 1));padding:.35rem .6rem}}}@layer components{.ethics-explorer-layout{display:flex;flex-direction:column;height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.explorer-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center;box-shadow:0 4px 6px #0000001a}.header-content{margin-bottom:1.5rem}.explorer-header h1{margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.explorer-subtitle{margin:0;font-size:1.2rem;opacity:.9}.game-progress{max-width:600px;margin:0 auto}.progress-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.stat-item{text-align:center;background:#ffffff1a;padding:.75rem 1rem;border-radius:8px;backdrop-filter:blur(10px);min-width:80px}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#fff}.stat-label{display:block;font-size:.85rem;opacity:.8;margin-top:.25rem}.progress-bar{background:#fff3;height:8px;border-radius:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#10b981,#34d399);height:100%;border-radius:4px;transition:width .5s ease;box-shadow:0 0 10px #10b9817f}.explorer-main{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;padding:1.5rem;flex:1;overflow:visible;height:calc(100% - 120px)}.scenario-area{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:0;box-shadow:0 8px 32px #00000014,0 0 0 1px #ffffff7f;overflow-y:auto;height:100%;position:relative;transition:all .3s ease}.scenario-area:hover{box-shadow:0 12px 40px #0000001f,0 0 0 1px #fffc}.scenario-area:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb,#f5576c);border-radius:16px 16px 0 0;animation:progress-pulse 3s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:.8}50%{opacity:1}}.scenario-selection,.scenario-exploration,.comparison-view,.final-celebration{padding:2rem;position:relative}.selection-header{text-align:center;margin-bottom:3rem;position:relative}.selection-header:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:60px;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px}.scenario-selection h2{color:#2d3748;margin-bottom:1rem;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;background-clip:text}.selection-subtitle{color:#718096;font-size:1.1rem;line-height:1.6;max-width:600px;margin:0 auto}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.5rem 0}.scenario-icon{font-size:2.5rem;margin-bottom:.5rem;filter:grayscale(.2)}.difficulty-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#667eea;background:#667eea1a;border:1px solid rgb(102 126 234 / 20%)}.completion-badge{font-size:1.5rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.card-content{padding:0 1.5rem 1rem}.scenario-card h3{margin:0 0 .75rem;font-size:1.4rem;font-weight:700;color:#2d3748}.scenario-description{margin-bottom:1rem;line-height:1.5;font-size:.95rem;color:#4a5568}.scenario-context{font-style:italic;opacity:.8;margin-bottom:.75rem;font-size:.9rem;color:#718096}.challenge-info{background:#667eea0d;border:1px solid rgb(102 126 234 / 10%);border-radius:8px;padding:1rem;margin:1rem 0}.challenge-text,.reward-text{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:#4a5568}.challenge-text:last-child,.reward-text:last-child{margin-bottom:0}.challenge-label,.reward-label{font-weight:600;white-space:nowrap;color:#667eea}.scenario-progress{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.progress-bar-small{flex:1;background:#cbd5e14d;height:6px;border-radius:3px;overflow:hidden}.progress-fill-small{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;border-radius:3px;transition:width .5s ease}.scenario-card.completed .progress-fill-small{background:linear-gradient(90deg,#10b981,#059669)}.progress-text{font-size:.8rem;font-weight:600;white-space:nowrap;color:#4a5568}.scenario-meta{display:flex;justify-content:space-between;font-size:.85rem;color:#718096;margin:1rem 0;gap:1rem}.scenario-meta span{display:flex;align-items:center;gap:.25rem}.card-action{background:#667eea0d;padding:1rem 1.5rem;text-align:center;border-top:1px solid rgb(203 213 225 / 30%);margin-top:auto}.action-text{font-weight:600;font-size:.95rem;color:#667eea}.exploration-tips{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e0;border-radius:16px;padding:2rem;margin-top:2rem}.tips-header{text-align:center;margin-bottom:2rem}.exploration-tips h3{color:#2d3748;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.tip-item{display:flex;align-items:flex-start;gap:1rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;transition:all .3s ease}.tip-item:hover{transform:translateY(-3px);box-shadow:0 8px 15px #0000001a}.tip-icon{font-size:2rem;flex-shrink:0}.tip-content{flex:1}.tip-content strong{display:block;color:#2d3748;font-weight:700;margin-bottom:.5rem;font-size:1.1rem}.tip-content p{color:#718096;margin:0;line-height:1.5}.scenario-exploration .scenario-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border-left:4px solid #667eea;position:relative;box-shadow:0 2px 4px #0000000d}.scenario-header:before{content:"";position:absolute;top:-10px;right:1rem;font-size:1.5rem;background:#fff;padding:.5rem;border-radius:50%;box-shadow:0 2px 8px #0000001a;opacity:0;transition:opacity .3s ease}.scenario-header.completed:before{content:"✅";opacity:1;animation:checkmark-bounce .6s ease-out}.scenario-header h2{color:#2d3748;margin:0;font-size:1.8rem;font-weight:700}.scenario-setting{color:#718096;font-size:1rem;margin:.5rem 0 0;font-style:italic}.back-btn{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;padding:.75rem 1.5rem;border-radius:25px;font-weight:600;color:#475569;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;font-size:.95rem;position:relative;overflow:hidden;margin-bottom:1rem}.back-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 40%),transparent);transition:left .5s ease}.back-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translate(-3px);box-shadow:0 4px 8px #0000001a}.back-btn:hover:before{left:100%}.back-btn:active{transform:translate(-3px) scale(.98)}.back-btn:focus,.action-btn:focus,.choice-option input[type=radio]:focus+.option-content{outline:2px solid #667eea;outline-offset:2px}.scenario-area.loading{position:relative}.scenario-area.loading:after{content:"";position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1000}.scenario-area.loading:before{content:"⏳";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;z-index:1001;animation:loading-spin 1s linear infinite}@keyframes loading-spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media print{.scenario-area{box-shadow:none;border:1px solid #000}.scenario-area:before,.scenario-header:before,.scenario-context:before,.stakeholders-overview:before,.choice-section:before,.consequences-display:before{display:none}.back-btn,.exploration-actions{display:none}.choice-option input[type=radio]:checked+.option-content{border:2px solid #000}}@media (width <= 768px){.scenario-area{border-radius:12px}.scenario-header{padding:1.5rem}.scenario-title-section h2{font-size:1.6rem}.scenario-context,.stakeholders-overview,.choice-section,.consequences-display,.exploration-actions{margin:1rem;padding:1.5rem}.context-metadata{flex-direction:column;gap:.75rem}.stakeholders-list{gap:.75rem}.stakeholder-tag{font-size:.9rem;padding:.6rem 1rem}.choice-group{padding:1.5rem}.option-implications{grid-template-columns:1fr;gap:.75rem}.stakeholder-grid{grid-template-columns:1fr;gap:1rem}.exploration-actions{flex-direction:column;align-items:center}.action-btn{width:100%;max-width:280px}}@media (prefers-contrast: high){.scenario-area{border:2px solid #000}.scenario-context,.stakeholders-overview,.choice-section,.consequences-display,.stakeholder-tag,.action-btn{border:1px solid #000}}@media (prefers-reduced-motion: reduce){.scenario-area,.scenario-area:before,.scenario-header:before,.back-btn,.back-btn:before,.tip-item,.progress-pulse,.loading-spin,.pulse,.progress-fill,.progress-fill-small{transition:none!important;animation:none!important}}body.dark-mode .ethics-explorer-layout{background:linear-gradient(135deg,var(--theme-bg-primary) 0%,var(--theme-bg-secondary) 100%);color:var(--theme-text-primary)}body.dark-mode .explorer-header{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-dark) 100%);color:var(--theme-text-on-accent)}body.dark-mode .explorer-header h1{color:var(--theme-text-on-accent)}body.dark-mode .explorer-subtitle{color:#ffffffe5}body.dark-mode .stat-item{background:#ffffff1a;backdrop-filter:blur(10px)}body.dark-mode .stat-value{color:var(--theme-text-on-accent)}body.dark-mode .stat-label{color:#fffc}body.dark-mode .progress-bar{background:#fff3}body.dark-mode .progress-fill{background:linear-gradient(90deg,var(--theme-accent-light),var(--theme-accent));box-shadow:0 0 10px var(--theme-accent-glow)}body.dark-mode .scenario-area{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 100%);border:1px solid var(--theme-border)}body.dark-mode .scenario-area:hover{box-shadow:0 8px 25px var(--theme-shadow)}body.dark-mode .scenario-selection h2{color:var(--theme-text-primary);background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-light) 100%);-webkit-text-fill-color:transparent;background-clip:text}body.dark-mode .selection-subtitle{color:var(--theme-text-secondary)}body.dark-mode .scenario-card h3{color:var(--theme-text-primary)}body.dark-mode .scenario-description,body.dark-mode .scenario-context{color:var(--theme-text-secondary)}body.dark-mode .challenge-info{background:var(--theme-bg-tertiary);border:1px solid var(--theme-border)}body.dark-mode .challenge-text,body.dark-mode .reward-text{color:var(--theme-text-secondary)}body.dark-mode .challenge-label,body.dark-mode .reward-label{color:var(--theme-accent)}body.dark-mode .progress-text,body.dark-mode .scenario-meta{color:var(--theme-text-secondary)}body.dark-mode .card-action{background:var(--theme-bg-tertiary);border-top:1px solid var(--theme-border)}body.dark-mode .action-text{color:var(--theme-accent)}body.dark-mode .exploration-tips{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 100%);border:2px solid var(--theme-border)}body.dark-mode .exploration-tips h3{color:var(--theme-text-primary)}body.dark-mode .tip-item{background:var(--theme-bg-tertiary);box-shadow:0 4px 6px var(--theme-shadow)}body.dark-mode .tip-item:hover{box-shadow:0 8px 15px var(--theme-shadow-heavy)}body.dark-mode .tip-content strong{color:var(--theme-text-primary)}body.dark-mode .tip-content p{color:var(--theme-text-secondary)}body.dark-mode .scenario-exploration .scenario-header{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-tertiary) 100%);border-left:4px solid var(--theme-accent)}body.dark-mode .scenario-header h2{color:var(--theme-text-primary)}body.dark-mode .scenario-setting{color:var(--theme-text-secondary)}body.dark-mode .back-btn{background:linear-gradient(135deg,var(--theme-bg-tertiary) 0%,var(--theme-bg-secondary) 100%);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .back-btn:hover{background:linear-gradient(135deg,var(--theme-bg-secondary) 0%,var(--theme-bg-primary) 100%);box-shadow:0 4px 8px var(--theme-shadow)}body.dark-mode .difficulty-badge{color:var(--theme-accent);background:var(--theme-bg-tertiary);border:1px solid var(--theme-border)}}.auth-modal{max-width:500px;margin:0 auto}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h2{color:var(--primary-color);margin-bottom:.5rem}.auth-header p{color:var(--text-secondary);font-size:1rem}.auth-benefits{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.benefit-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-color);border-radius:8px;border:1px solid var(--border-color)}.benefit-icon{font-size:1.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:50%}.benefit-text h3{margin:0 0 .25rem;color:var(--text-primary);font-size:1rem}.benefit-text p{margin:0;color:var(--text-secondary);font-size:.875rem}.auth-actions{margin-bottom:1.5rem}.social-auth-buttons{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.social-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;border-radius:6px;transition:all .2s ease;border:1px solid transparent}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-icon{width:18px;height:18px;flex-shrink:0}.google-btn{background:#fff;border-color:#dadce0;color:#3c4043}.google-btn:hover:not(:disabled){background:#f8f9fa;border-color:#c5c7ca;box-shadow:0 1px 3px #0000001a}.facebook-btn{background:#1877f2;color:#fff}.facebook-btn:hover:not(:disabled){background:#166fe5;box-shadow:0 2px 4px #1877f24d}.twitter-btn{background:#1da1f2;color:#fff}.twitter-btn:hover:not(:disabled){background:#0d95e8;box-shadow:0 2px 4px #1da1f24d}.github-btn{background:#333;color:#fff}.github-btn:hover:not(:disabled){background:#24292e;box-shadow:0 2px 4px #0000004d}.auth-divider{text-align:center;margin:1.5rem 0;position:relative}.auth-divider span{background:#fff;padding:0 1rem;color:var(--text-secondary);font-size:.9rem}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color);z-index:-1}.email-auth-toggle{text-align:center;margin-bottom:1rem}.email-auth-form{margin-top:1rem}.auth-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.auth-tab{flex:1;padding:.75rem 1rem;background:none;border:none;font-size:1rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.auth-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.auth-tab:hover{color:var(--primary-color)}.email-form{display:flex;flex-direction:column;gap:1rem}.email-form .form-group{margin-bottom:0}.email-form input{width:100%;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:border-color .2s ease}.email-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1a73e81a}.email-form .btn{margin-top:.5rem}.btn-link{background:none;border:none;color:var(--primary-color);text-decoration:underline;font-size:.9rem;cursor:pointer;padding:0}.btn-link:hover{color:var(--primary-dark)}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;border:1px solid #dadce0;color:#3c4043;font-size:1rem;font-weight:500;border-radius:6px;transition:all .2s ease}.google-signin-btn:hover{background:#f8f9fa;border-color:#c5c7ca;box-shadow:0 1px 3px #0000001a}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:18px;height:18px}.auth-privacy{text-align:center}.privacy-note{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.4}.nav-avatar{width:28px;height:28px;border-radius:50%;margin-right:.5rem}.user-name{font-weight:500}.user-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:180px;z-index:1000;display:none}.nav-item-dropdown:hover .user-dropdown{display:block}.dropdown-item{display:block;width:100%;padding:.75rem 1rem;text-decoration:none;color:var(--text-primary);border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.dropdown-item:hover{background:var(--surface-color)}.dropdown-divider{height:1px;background:var(--border-color);margin:.5rem 0}.tier-0{color:#666}.tier-1{color:#4caf50;font-weight:600}.tier-2{color:gold;font-weight:600}.tier-3{color:#ff6b35;font-weight:600}.research-invitation{max-width:600px;margin:0 auto}.invitation-header{text-align:center;margin-bottom:2rem}.invitation-icon{font-size:3rem;display:block;margin-bottom:1rem}.invitation-header h2{color:var(--primary-color);margin-bottom:.5rem}.research-benefits,.research-details{margin-bottom:2rem}.research-benefits h3,.research-details h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem}.research-benefits ul{list-style:none;padding:0;margin:0}.research-benefits li{padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.95rem}.research-benefits li:last-child{border-bottom:none}.research-actions{display:flex;gap:1rem;flex-wrap:wrap}.research-actions .btn{flex:1;min-width:140px}.blog-header,.forum-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.blog-filters{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;color:var(--text-secondary);border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.filter-btn:hover{background:var(--surface-color)}.filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.blog-post-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;transition:box-shadow .2s ease}.blog-post-card:hover{box-shadow:0 4px 12px #0000001a}.post-header h2{margin:0 0 1rem;color:var(--text-primary);font-size:1.3rem}.post-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary);align-items:center}.author{font-weight:500}.category-tag{background:var(--primary-light);color:var(--primary-color);padding:.25rem .5rem;border-radius:12px;font-size:.8rem}.post-excerpt{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.post-actions{display:flex;justify-content:space-between;align-items:center}.comment-count{color:var(--text-secondary);font-size:.9rem}.forum-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.category-card{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.category-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.category-card.locked{opacity:.6;cursor:not-allowed}.category-icon{font-size:2rem;margin-bottom:1rem}.category-card h3{margin:0 0 .5rem;color:var(--text-primary)}.category-card p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.category-stats{display:flex;gap:1rem;font-size:.8rem;color:var(--text-secondary)}.locked-message{color:var(--text-secondary);font-style:italic;font-size:.85rem}.threads-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.back-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;padding:.5rem}.back-btn:hover{text-decoration:underline}.thread-item{background:#fff;border:1px solid var(--border-color);border-radius:6px;padding:1rem;margin-bottom:1rem;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.thread-item:hover{border-color:var(--primary-color);background:var(--surface-color)}.thread-main h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem}.thread-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary)}.thread-stats{text-align:right;font-size:.8rem;color:var(--text-secondary)}.create-post-form,.create-thread-form{max-width:100%}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-control{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1a73e81a}.form-control[rows]{resize:vertical;min-height:120px;font-family:inherit}@media (width <= 768px){.auth-benefits{gap:.75rem}.benefit-item{padding:.75rem}.research-actions{flex-direction:column}.research-actions .btn{width:100%}.blog-header,.forum-header{flex-direction:column;gap:1rem;align-items:stretch}.post-meta{flex-wrap:wrap;gap:.5rem}.threads-header{flex-direction:column;gap:1rem;align-items:stretch}.thread-item{flex-direction:column;align-items:stretch;gap:1rem}.thread-stats{text-align:left}}.auth-required[style*=none],.login-required[style*=none]{display:none!important}.filter-btn:focus,.category-card:focus,.thread-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.dropdown-item:focus{background:var(--primary-light);outline:none}.google-signin-btn[disabled]{position:relative;overflow:hidden}.google-signin-btn[disabled]:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 40%),transparent);animation:loading 1.5s infinite}@keyframes loading{0%{left:-100%}to{left:100%}}body.dark-mode .auth-modal{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode .auth-header h2{color:var(--color-primary)}body.dark-mode .auth-header p{color:var(--theme-text-secondary)}body.dark-mode .benefit-item{background:var(--theme-bg-primary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .benefit-icon{background:#4a9eff1a;color:var(--color-primary)}body.dark-mode .benefit-text h4{color:var(--theme-text-primary)}body.dark-mode .benefit-text p{color:var(--theme-text-secondary)}body.dark-mode .auth-form{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .form-group label{color:var(--theme-text-primary)}body.dark-mode .form-input{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a9eff33}body.dark-mode .form-input::placeholder{color:var(--theme-text-muted)}body.dark-mode .google-signin-btn{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .google-signin-btn:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover);box-shadow:0 4px 12px var(--theme-shadow-hover)}body.dark-mode .google-icon{filter:brightness(.9)}body.dark-mode .user-profile{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .profile-avatar{border:2px solid var(--theme-border)}body.dark-mode .profile-info h3{color:var(--theme-text-primary)}body.dark-mode .profile-info p{color:var(--theme-text-secondary)}body.dark-mode .profile-stats{background:var(--theme-bg-primary);border-top:1px solid var(--theme-border)}body.dark-mode .stat-item{color:var(--theme-text-primary)}body.dark-mode .stat-value{color:var(--color-primary)}body.dark-mode .stat-label{color:var(--theme-text-secondary)}body.dark-mode .research-participation{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .research-header h3{color:var(--theme-text-primary)}body.dark-mode .research-description{color:var(--theme-text-secondary)}body.dark-mode .research-benefits{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .research-benefits li{color:var(--theme-text-secondary)}body.dark-mode .research-consent{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .consent-checkbox{accent-color:var(--color-primary)}body.dark-mode .consent-label{color:var(--theme-text-primary)}body.dark-mode .community-section{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .community-header h3{color:var(--theme-text-primary)}body.dark-mode .community-description{color:var(--theme-text-secondary)}body.dark-mode .community-feature{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .community-feature:hover{border-color:var(--color-primary);box-shadow:0 4px 12px var(--theme-shadow-hover)}body.dark-mode .feature-icon{color:var(--color-primary)}body.dark-mode .feature-title{color:var(--theme-text-primary)}body.dark-mode .feature-description{color:var(--theme-text-secondary)}body.dark-mode .privacy-notice{background:#4a9eff1a;border:1px solid rgb(74 158 255 / 30%);color:var(--theme-text-primary)}body.dark-mode .privacy-notice a{color:var(--color-primary)}body.dark-mode .privacy-notice a:hover{color:var(--color-primary-dark)}body.dark-mode .auth-actions .btn{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .auth-actions .btn:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .auth-actions .btn.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}body.dark-mode .auth-actions .btn.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}body.dark-mode .google-signin-btn[disabled]:after{background:linear-gradient(90deg,transparent,rgb(255 255 255 / 20%),transparent)}#simulation-modal.modal-backdrop .modal-dialog{overflow:visible!important}#simulation-modal.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000007f;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;visibility:visible}#simulation-modal .modal-dialog{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:90vw;max-height:90vh;width:1000px;display:flex;flex-direction:column;overflow:visible}#simulation-modal .modal-header{padding:20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;background:#fff;flex-shrink:0}#simulation-modal .modal-title{margin:0;font-size:1.5rem;font-weight:600;color:#1f2937}#simulation-modal .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:4px;border-radius:4px;color:#6b7280}#simulation-modal .modal-close:hover{background:#f3f4f6;color:#1f2937}#simulation-modal .modal-body{display:flex!important;flex-direction:column!important;padding:20px!important;overflow:hidden auto!important;height:auto!important;min-height:400px!important;max-height:70vh!important;flex:1!important;background:#fff!important;gap:20px!important}#simulation-modal .simulation-container{background:#f8f9fa!important;border-radius:8px!important;padding:16px!important;min-height:300px!important;width:100%!important;display:block!important;overflow:visible!important;border:1px solid #e5e7eb!important;position:relative!important}#simulation-modal .simulation-controls{display:block!important;width:100%!important}#simulation-modal .ethics-meters{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}#simulation-modal .ethics-meters-header h3{margin:0 0 8px;font-size:1.125rem;font-weight:600;color:#1f2937}#simulation-modal .ethics-meters-header p{margin:0;color:#6b7280;font-size:.875rem}#simulation-modal .simulation-actions{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}#simulation-modal .actions-header h3{margin:0 0 8px;font-size:1.125rem;font-weight:600;color:#1f2937}#simulation-modal .actions-container{display:flex;gap:12px;flex-wrap:wrap}#simulation-modal.pre-launch-modal .modal-body{padding:0!important;overflow:visible!important}#simulation-modal.pre-launch-modal .modal-dialog{max-width:800px;overflow:visible!important}#simulation-modal.ethics-explorer-modal .modal-body{max-height:80vh!important}#simulation-modal.ethics-explorer-modal .simulation-container{background:transparent!important;padding:0!important;border:none!important}#simulation-modal.bias-fairness-modal .modal-body{padding:30px!important}@media (width <= 768px){#simulation-modal .modal-dialog{width:95vw;max-height:95vh}#simulation-modal .modal-body{padding:16px!important;max-height:80vh!important}#simulation-modal .actions-container{flex-direction:column}}#simulation-modal[aria-hidden=true]{display:none!important}#simulation-modal:focus{outline:none}#simulation-modal .modal-close:focus{outline:2px solid #3b82f6;outline-offset:2px}#simulation-modal .simulation-container .svg-renderer{overflow:visible!important}#simulation-modal .simulation-container canvas{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}#simulation-modal .simulation-container canvas[data-engine=webgl]{display:block!important;touch-action:manipulation!important}#simulation-modal .screen-reader-only{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}#simulation-modal .svg-renderer:focus,#simulation-modal canvas:focus{outline:2px solid var(--color-primary, #007acc)!important;outline-offset:2px!important}@layer utilities{.back-to-top{position:fixed;bottom:2rem;right:2rem;width:3.5rem;height:3.5rem;background:transparent;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 4px 12px #0000001a;transition:all var(--transition-base);z-index:1000;opacity:0;visibility:hidden;transform:translateY(10px);backdrop-filter:blur(10px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:0 6px 16px #00000026;border-color:var(--color-primary)}.back-to-top:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a}.back-to-top:focus{outline:2px solid var(--color-primary-light);outline-offset:2px}@media (width <= 768px){.back-to-top{bottom:1rem;right:1rem;width:3rem;height:3rem;font-size:1rem}}@media (width <= 480px){.back-to-top{bottom:5rem}}body.dark-mode .back-to-top{background:transparent;color:var(--theme-text-primary);border:2px solid var(--theme-border);box-shadow:0 4px 12px var(--theme-shadow-hover)}body.dark-mode .back-to-top:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 6px 16px var(--theme-shadow-hover)}body.dark-mode .back-to-top:focus{outline:2px solid var(--color-primary)}}@layer layout{:root{--container-padding: 16px;--font-scale: 1;--touch-target-min: 44px;--device-type: "unknown";--device-category: "unknown";--breakpoint-xs: 360px;--breakpoint-sm: 375px;--breakpoint-md: 390px;--breakpoint-lg: 393px;--breakpoint-xl: 428px;--breakpoint-tablet-sm: 768px;--breakpoint-tablet-md: 800px;--breakpoint-tablet-lg: 820px;--breakpoint-tablet-xl: 1024px;--breakpoint-laptop-sm: 1280px;--breakpoint-laptop-md: 1366px;--breakpoint-laptop-lg: 1500px;--breakpoint-laptop-xl: 1536px;--breakpoint-desktop-xl: 1920px;--breakpoint-desktop-2k: 2560px;--breakpoint-desktop-4k: 3840px}@media only screen and (width <= 359px){:root{--device-type: "mobile-xxs";--container-padding: 8px;--font-scale: .8;--touch-target-min: 44px;--floating-tab-width: 180px;--floating-tab-height: 44px;--floating-tab-protrusion: 24px}}@media only screen and (width >= 360px) and (width <= 374px){:root{--device-type: "mobile-xs";--container-padding: 12px;--font-scale: .85;--touch-target-min: 44px;--floating-tab-width: 200px;--floating-tab-height: 48px;--floating-tab-protrusion: 30px}}@media only screen and (width >= 375px) and (width <= 389px){:root{--device-type: "mobile-sm";--container-padding: 14px;--font-scale: .9;--touch-target-min: 44px;--floating-tab-width: 210px;--floating-tab-height: 50px;--floating-tab-protrusion: 32px}}@media only screen and (width >= 390px) and (width <= 399px){:root{--device-type: "mobile-md";--container-padding: 16px;--font-scale: .95;--touch-target-min: 44px;--floating-tab-width: 220px;--floating-tab-height: 52px;--floating-tab-protrusion: 34px}}@media only screen and (width >= 400px) and (width <= 479px){:root{--device-type: "mobile-lg";--container-padding: 18px;--font-scale: 1;--touch-target-min: 44px;--floating-tab-width: 240px;--floating-tab-height: 54px;--floating-tab-protrusion: 36px}}@media only screen and (width <= 767px){:root{--device-category: "mobile";--layout-type: "single-column";--nav-type: "bottom-nav";--sidebar-behavior: "overlay"}}@media only screen and (width >= 768px) and (width <= 820px){:root{--device-type: "tablet-sm";--container-padding: 20px;--font-scale: 1.05;--touch-target-min: 44px;--floating-tab-width: 260px;--floating-tab-height: 58px;--floating-tab-protrusion: 38px}}@media only screen and (width >= 821px) and (width <= 1023px){:root{--device-type: "tablet-md";--container-padding: 24px;--font-scale: 1.1;--touch-target-min: 44px;--floating-tab-width: 270px;--floating-tab-height: 59px;--floating-tab-protrusion: 40px}}@media only screen and (width >= 1024px) and (width <= 1279px){:root{--device-type: "tablet-lg";--container-padding: 28px;--font-scale: 1.15;--touch-target-min: 44px;--floating-tab-width: 280px;--floating-tab-height: 60px;--floating-tab-protrusion: 42px}}@media only screen and (width >= 768px) and (width <= 1279px){:root{--device-category: "tablet";--layout-type: "two-column";--nav-type: "side-nav";--sidebar-behavior: "collapse"}}@media only screen and (width >= 1280px) and (width <= 1366px){:root{--device-type: "laptop-sm";--container-padding: 32px;--font-scale: 1;--touch-target-min: 40px;--floating-tab-width: 300px;--floating-tab-height: 62px;--floating-tab-protrusion: 44px}}@media only screen and (width >= 1367px) and (width <= 1535px){:root{--device-type: "laptop-md";--container-padding: 36px;--font-scale: 1.05;--touch-target-min: 40px;--floating-tab-width: 310px;--floating-tab-height: 63px;--floating-tab-protrusion: 46px}}@media only screen and (width >= 1536px) and (width <= 1919px){:root{--device-type: "laptop-lg";--container-padding: 40px;--font-scale: 1.1;--touch-target-min: 40px;--floating-tab-width: 320px;--floating-tab-height: 64px;--floating-tab-protrusion: 48px}}@media only screen and (width >= 1280px) and (width <= 1919px){:root{--device-category: "laptop";--layout-type: "multi-column";--nav-type: "top-nav";--sidebar-behavior: "persistent"}}@media only screen and (width >= 1920px) and (width <= 2559px){:root{--device-type: "desktop-fhd";--container-padding: 48px;--font-scale: 1.15;--touch-target-min: 40px;--floating-tab-width: 340px;--floating-tab-height: 66px;--floating-tab-protrusion: 50px}}@media only screen and (width >= 2560px) and (width <= 3839px){:root{--device-type: "desktop-2k";--container-padding: 56px;--font-scale: 1.25;--touch-target-min: 40px;--floating-tab-width: 360px;--floating-tab-height: 68px;--floating-tab-protrusion: 52px}}@media only screen and (width >= 3840px){:root{--device-type: "desktop-4k";--container-padding: 64px;--font-scale: 1.4;--touch-target-min: 44px;--floating-tab-width: 400px;--floating-tab-height: 72px;--floating-tab-protrusion: 54px}}@media only screen and (width >= 1920px){:root{--device-category: "desktop";--layout-type: "wide-multi-column";--nav-type: "mega-nav";--sidebar-behavior: "dual-sidebar"}}@media only screen and (orientation: portrait){:root{--orientation: "portrait";--header-height: 80px;--header-h: 80px;--footer-height: 80px}}@media only screen and (orientation: landscape){:root{--orientation: "landscape";--header-height: 80px;--header-h: 80px;--footer-height: 64px}}@media (prefers-contrast: high){:root{--accessibility-mode: "high-contrast";--border-width: 2px;--focus-ring-width: 4px}}@media (prefers-reduced-motion: reduce){:root{--animation-duration: 0ms;--transition-duration: 0ms;--accessibility-mode: "reduced-motion"}}@media (prefers-reduced-data: reduce){:root{--data-saver-mode: "enabled";--image-quality: "low";--animation-enabled: "false"}}@media print{:root{--device-type: "print";--color-scheme: "light"}.floating-tab-link,.floating-tour-tab-link,.floating-surprise-tab-link,.floating-action-tab,.floating-surprise-tab,.floating-tour-tab,nav,.sidebar,.modal,.tooltip{display:none!important}}.floating-tab-responsive{width:var(--floating-tab-width);height:var(--floating-tab-height);transform:translate(calc(100% - var(--floating-tab-protrusion)))}@layer utilities{.layout-container-responsive{padding-left:var(--container-padding);padding-right:var(--container-padding);max-width:100vw;box-sizing:border-box;margin-left:auto;margin-right:auto}}.layout-container-tight{padding-left:calc(var(--container-padding) * .75);padding-right:calc(var(--container-padding) * .75)}.layout-container-loose{padding-left:calc(var(--container-padding) * 1.5);padding-right:calc(var(--container-padding) * 1.5)}.text-responsive{font-size:calc(1rem * var(--font-scale))}.text-responsive-small{font-size:calc(.875rem * var(--font-scale))}.text-responsive-large{font-size:calc(1.125rem * var(--font-scale))}.text-responsive-heading{font-size:calc(1.5rem * var(--font-scale));line-height:calc(1.2 * var(--font-scale, 1))}@media only screen and (width <= 360px){.text-responsive-heading{font-size:calc(1.25rem * var(--font-scale))}}.touch-target{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-evenly{align-content:space-evenly}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.gap-xs{gap:calc(var(--container-padding) * .25)}.gap-sm{gap:calc(var(--container-padding) * .5)}.gap-md{gap:var(--container-padding)}.gap-lg{gap:calc(var(--container-padding) * 1.5)}.gap-xl{gap:calc(var(--container-padding) * 2)}@media only screen and (width <= 767px){.mobile\:flex-col{flex-direction:column}.mobile\:flex-wrap{flex-wrap:wrap}.mobile\:justify-center{justify-content:center}.mobile\:items-center{align-items:center}}@media only screen and (width >= 768px) and (width <= 1279px){.tablet\:flex-row{flex-direction:row}.tablet\:justify-between{justify-content:space-between}}@media only screen and (width >= 1280px){.desktop\:flex-row{flex-direction:row}.desktop\:justify-start{justify-content:flex-start}}.mobile-hide{display:block}.mobile-show{display:none}.tablet-hide{display:block}.tablet-show{display:none}.desktop-hide{display:block}.desktop-show{display:none}@media only screen and (width <= 767px){.mobile-hide{display:none!important}.mobile-show{display:block!important}.mobile\:text-center{text-align:center}.mobile\:full-width{width:100%}.mobile\:padding-sm{padding:var(--spacing-3)}.mobile\:margin-auto{margin:0 auto}}@media only screen and (width >= 768px) and (width <= 1279px){.tablet-hide{display:none!important}.tablet-show{display:block!important}.tablet\:two-column{column-count:2;column-gap:var(--spacing-6)}}@media only screen and (width >= 1280px){.desktop-hide{display:none!important}.desktop-show{display:block!important}.desktop\:three-column{column-count:3;column-gap:var(--spacing-8)}}@media (prefers-reduced-motion: reduce){.respect-motion{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.no-motion{animation:none!important;transition:none!important}}@media (prefers-contrast: high){.high-contrast-border{border:2px solid currentColor!important}.high-contrast-text{color:CanvasText!important;background:Canvas!important}.high-contrast-focus:focus{outline:3px solid Highlight!important;outline-offset:2px!important}}.dark-mode .auto-dark-bg{background:#1a1a1a;color:#fff}.dark-mode .auto-dark-border{border-color:#404040}@media print{.print-hide{display:none!important}.print-show{display:block!important}.print-page-break{page-break-after:always}.print-no-break{page-break-inside:avoid}.print-black-text{color:#000!important}.print-white-bg{background:#fff!important}}@media (hover: none) and (pointer: coarse){.touch-larger{min-height:44px;min-width:44px}.touch-spacing{margin:8px}.touch-no-hover:hover{background:initial;transform:none;box-shadow:initial}}@media only screen and (width <= 320px){.layout-container-responsive{padding-left:6px;padding-right:6px}.layout-container-tight{padding-left:4px;padding-right:4px}}@media (width >= 1px){.debug-viewport:before{content:"Device: " var(--device-type, "unknown") " | Category: " var(--device-category, "unknown");position:fixed;top:0;left:0;background:#f00c;color:#fff;padding:4px 8px;font-size:12px;font-family:monospace;z-index:9999;pointer-events:none}}}:root{--floating-tab-width: 280px;--floating-tab-height: 60px;--floating-tab-protrusion: 90px;--container-padding: 20px;--font-scale: 1}.floating-action-tab-link,.floating-surprise-tab-link,.floating-tour-tab-link{position:fixed;text-decoration:none;color:inherit;display:block;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none;max-width:none!important}.floating-action-tab-link{z-index:1000}.floating-surprise-tab-link{z-index:999}.floating-tour-tab-link{z-index:1001}@layer components{.no-flash-initially{display:none!important}}.modal-backdrop~.floating-action-tab-link,.modal-backdrop~.floating-surprise-tab-link,.modal-backdrop~.floating-tour-tab-link{z-index:998}.modal-backdrop:has(.pre-launch-modal)~.floating-action-tab-link,.modal-backdrop:has(.pre-launch-modal)~.floating-surprise-tab-link,.modal-backdrop:has(.pre-launch-modal)~.floating-tour-tab-link{z-index:500!important}body:has(.pre-launch-modal.visible) .floating-action-tab-link,body:has(.pre-launch-modal) .floating-action-tab-link,body:has(.pre-launch-modal.visible) .floating-surprise-tab-link,body:has(.pre-launch-modal) .floating-surprise-tab-link,body:has(.pre-launch-modal.visible) .floating-tour-tab-link,body:has(.pre-launch-modal) .floating-tour-tab-link{z-index:500!important}.floating-tab-link{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:999;text-decoration:none;color:inherit;display:block;transition:all .3s cubic-bezier(.4,0,.2,1);width:var(--floating-tab-width, 280px);pointer-events:none}.floating-action-tab{position:relative;background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-radius:8px 0 0 8px;box-shadow:0 4px 20px #ee5a524d,0 2px 8px #0000001a;overflow:hidden;transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)));transition:all .4s cubic-bezier(.4,0,.2,1);min-width:var(--floating-tab-width, 280px);height:var(--floating-tab-height, 60px);cursor:pointer;user-select:none;backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / 10%);border-right:none;pointer-events:auto}.floating-action-tab:hover{box-shadow:0 8px 30px #ee5a5266,0 4px 12px #00000026}.floating-action-tab.expanded{transform:translate(0)}.floating-action-tab.component-style{position:fixed;bottom:2rem;right:2rem;background:var(--color-primary);color:var(--color-white);border:none;padding:1rem 1.5rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.75rem;white-space:nowrap;overflow:hidden;min-width:60px;height:60px;justify-content:center;-webkit-tap-highlight-color:transparent;transform:none;border-radius:50px}.floating-action-tab.component-style:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 25px #0003,0 4px 10px #00000026}.floating-action-tab.component-style:active{transform:translateY(0);box-shadow:0 2px 8px #0003,0 1px 4px #00000026}.floating-action-tab.component-style:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.floating-tab-content{display:flex;align-items:center;padding:0 var(--container-padding, 20px);height:100%;position:relative;z-index:2}.floating-action-tab-icon{flex-shrink:0;width:24px;height:24px;margin-right:16px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.floating-action-tab-icon:before{content:"💖";font-size:20px;display:block;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 10%));transition:all .3s ease}.floating-action-tab-heart-icon{width:24px;height:24px;color:#fffffff2;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 10%));transition:all .3s ease;display:flex!important;align-items:center;justify-content:center;font-size:20px;line-height:1}svg.heart-icon,svg.floating-action-tab-heart-icon{display:block!important;visibility:visible!important;opacity:1!important}.floating-action-tab:hover .floating-action-tab-heart-icon{transform:scale(1.1);color:#ff6b6b;filter:drop-shadow(0 2px 4px rgb(0 0 0 / 20%))}.floating-action-tab:hover .floating-action-tab-icon:before{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgb(0 0 0 / 20%)) brightness(1.1)}.floating-tab-text{flex:1;display:flex;flex-direction:column;justify-content:center;margin-right:12px;opacity:0;transform:translate(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-action-tab.expanded .floating-tab-text{opacity:1;transform:translate(0)}.tab-title{font-size:calc(14px * var(--font-scale, 1));font-weight:600;color:#fff;line-height:1.2;margin-bottom:2px;text-shadow:0 1px 2px rgb(0 0 0 / 10%)}.tab-subtitle{font-size:calc(11px * var(--font-scale, 1));color:#ffffffd9;line-height:1.2;font-weight:400}.floating-tab-arrow{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(10px);transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-action-tab.expanded .floating-tab-arrow{opacity:1;transform:translate(0)}.floating-action-tab-arrow-icon{width:16px;height:16px;color:#ffffffe5;transition:transform .2s ease;display:inline-block!important}svg.arrow-icon,svg.floating-action-tab-arrow-icon{display:block!important;visibility:visible!important;opacity:1!important}.floating-action-tab:hover .floating-action-tab-arrow-icon{transform:translate(2px)}.floating-action-tab.component-style .icon{width:24px;height:24px;flex-shrink:0;transition:transform .3s ease}.floating-action-tab.component-style .text{opacity:0;transform:translate(-10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;white-space:nowrap}.floating-action-tab.component-style.expanded{padding:1rem 1.5rem 1rem 1.25rem;border-radius:30px;min-width:auto;width:auto}.floating-action-tab.component-style.expanded .text{opacity:1;transform:translate(0)}.floating-action-tab.component-style.expanded .icon{transform:scale(1.1)}.floating-tab-ripple{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.floating-tab-ripple.active{width:200px;height:200px;opacity:1;animation:ripple-fade .6s ease-out}.floating-action-tab.component-style:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;pointer-events:none}.floating-action-tab.component-style.ripple:before{width:300px;height:300px}@keyframes ripple-fade{0%{opacity:.6;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.floating-surprise-tab-link{position:fixed;top:35%;right:0;transform:translateY(-50%);z-index:999;width:var(--floating-tab-width, 280px);pointer-events:none}.floating-surprise-tab{position:relative;background:linear-gradient(135deg,#ff9500,#ff7f00);border-radius:8px 0 0 8px;box-shadow:0 4px 20px #ff95004d,0 2px 8px #0000001a;overflow:hidden;transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)));transition:all .4s cubic-bezier(.4,0,.2,1);min-width:var(--floating-tab-width, 280px);height:var(--floating-tab-height, 60px);cursor:pointer;user-select:none;backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / 10%);border-right:none;pointer-events:auto}.floating-surprise-tab:hover{box-shadow:0 8px 30px #ff950066,0 4px 12px #00000026;background:linear-gradient(135deg,#ff9500,#ff6b00)}.floating-surprise-tab.expanded{transform:translate(0)}.floating-surprise-tab:active{transform:translate(0) scale(.98)}.floating-surprise-tab-content{display:flex;align-items:center;padding:0 var(--container-padding, 20px);height:100%;position:relative;z-index:2}.floating-surprise-tab-icon{flex-shrink:0;width:28px;height:28px;margin-right:16px;display:flex;align-items:center;justify-content:center;font-size:20px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}.floating-surprise-tab:hover .floating-surprise-tab-icon{animation:none;transform:scale(1.1) rotate(10deg)}.floating-surprise-tab-text{flex:1;display:flex;flex-direction:column;justify-content:center;color:#fff;line-height:1.2;opacity:0;transform:translate(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-surprise-tab.expanded .floating-surprise-tab-text{opacity:1;transform:translate(0)}.surprise-tab-title{font-weight:600;font-size:calc(16px * var(--font-scale, 1));margin:0;text-shadow:0 1px 2px rgb(0 0 0 / 10%);letter-spacing:.5px}.surprise-tab-subtitle{font-size:calc(12px * var(--font-scale, 1));opacity:.9;margin:2px 0 0;text-shadow:0 1px 2px rgb(0 0 0 / 10%)}.floating-surprise-tab-arrow{flex-shrink:0;width:20px;height:20px;margin-left:12px;transition:transform .3s ease}.floating-surprise-tab:hover .floating-surprise-tab-arrow{transform:translate(4px)}.surprise-arrow-icon{width:100%;height:100%;color:#fffc;filter:drop-shadow(0 1px 2px rgb(0 0 0 / 10%))}.floating-surprise-tab-ripple{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,rgb(255 255 255 / 30%) 0%,transparent 70%);border-radius:inherit;transform:scale(0);opacity:0;pointer-events:none;transition:all .6s cubic-bezier(.4,0,.2,1)}.floating-surprise-tab.ripple-active .floating-surprise-tab-ripple{transform:scale(2);opacity:1}.floating-tour-tab-link{position:fixed;top:22%;right:0;transform:translateY(-50%);z-index:999;width:var(--floating-tab-width, 280px);pointer-events:none}.floating-tour-tab{position:relative;background:linear-gradient(135deg,#6c5ce7,#a29bfe);border-radius:8px 0 0 8px;box-shadow:0 4px 20px #6c5ce74d,0 2px 8px #0000001a;overflow:hidden;transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)));transition:all .4s cubic-bezier(.4,0,.2,1);min-width:var(--floating-tab-width, 280px);height:var(--floating-tab-height, 60px);cursor:pointer;user-select:none;backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / 10%);border-right:none;pointer-events:auto}.floating-tour-tab:hover{box-shadow:0 8px 30px #6c5ce766,0 4px 12px #00000026}.floating-tour-tab.expanded{transform:translate(0)}.floating-tour-tab-content{display:flex;align-items:center;padding:0 var(--container-padding, 20px);height:100%;position:relative;z-index:2}.floating-tour-tab-icon{flex-shrink:0;width:28px;height:28px;margin-right:16px;display:flex;align-items:center;justify-content:center;font-size:calc(20px * var(--font-scale, 1));animation:learning-pulse 3.5s ease-in-out infinite alternate}@keyframes learning-pulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.1)}}.floating-tour-tab-text{flex:1;min-width:0;color:#fff;opacity:0;transform:translate(20px);transition:all .3s cubic-bezier(.4,0,.2,1)}.floating-tour-tab.expanded .floating-tour-tab-text{opacity:1;transform:translate(0)}.tour-tab-title{display:block;font-size:calc(16px * var(--font-scale, 1));font-weight:600;line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-tab-subtitle{display:block;font-size:calc(13px * var(--font-scale, 1));opacity:.9;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-tour-tab-arrow{flex-shrink:0;width:24px;height:24px;margin-left:12px;display:flex;align-items:center;justify-content:center;opacity:.8;transition:all .2s ease}.tour-arrow-icon{width:18px;height:18px;transition:transform .2s ease}.floating-tour-tab:hover .tour-arrow-icon{transform:translate(2px)}.floating-tour-tab-ripple{position:absolute;border-radius:50%;background:#fff9;pointer-events:none;transform:scale(0);z-index:1;width:20px;height:20px;margin-left:-10px;margin-top:-10px}@keyframes tour-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.floating-tour-tab.tour-clicked{animation:tour-feedback-pulse .6s ease-out}.floating-tour-tab.tour-unavailable{animation:tour-shake .5s ease-in-out}@keyframes tour-feedback-pulse{0%,to{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)))}50%{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px))) scale(1.02)}}@keyframes tour-shake{0%,to{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)))}25%{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px) + 5px))}75%{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px) - 5px))}}.floating-tour-tab.expanded.tour-clicked{animation:tour-feedback-pulse-expanded .6s ease-out}.floating-tour-tab.expanded.tour-unavailable{animation:tour-shake-expanded .5s ease-in-out}@keyframes tour-feedback-pulse-expanded{0%,to{transform:translate(0) scale(1)}50%{transform:translate(0) scale(1.02)}}@keyframes tour-shake-expanded{0%,to{transform:translate(0)}25%{transform:translate(5px)}75%{transform:translate(-5px)}}.floating-action-tab.loading{pointer-events:none;opacity:.7}.floating-action-tab.loading .icon{animation:spin 1s linear infinite}.floating-action-tab.success{background:var(--color-green-500);animation:success-pulse .6s ease-out}.floating-action-tab.error{background:var(--color-red-500);animation:error-shake .6s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes error-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media only screen and (width <= 768px){.floating-action-tab.component-style{bottom:1.5rem;right:1.5rem;padding:.875rem 1.25rem;min-width:56px;height:56px;font-size:.9rem}.floating-action-tab.component-style .icon{width:22px;height:22px}.floating-action-tab.component-style.expanded{padding:.875rem 1.25rem .875rem 1rem}.floating-tour-tab-icon,.floating-surprise-tab-icon{width:calc(24px * var(--font-scale, 1));height:calc(24px * var(--font-scale, 1));margin-right:calc(12px * var(--font-scale, 1))}.floating-action-tab.auto-collapse{animation:mobile-auto-collapse 3s ease-in-out forwards}}@keyframes mobile-auto-collapse{0%,70%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes tab-auto-retract{0%,70%{transform:translate(0)}to{transform:translate(calc(100% - var(--floating-tab-protrusion, 90px)))}}.floating-surprise-tab.expanded.auto-collapse{animation:tab-auto-retract var(--tab-auto-retract-duration, 3.2s) ease-in-out forwards;animation-delay:var(--tab-auto-retract-delay, .4s)}.floating-surprise-tab.expanded.auto-collapse:hover,.floating-surprise-tab.expanded.auto-collapse:active,.floating-surprise-tab.expanded.auto-collapse:focus-within{animation-play-state:paused}.floating-tab-link:focus,.floating-surprise-tab-link:focus,.floating-tour-tab-link:focus{outline:none}.floating-tab-link:focus .floating-action-tab{box-shadow:0 8px 30px #ee5a5266,0 4px 12px #00000026,0 0 0 3px #ffffff4d}.floating-surprise-tab-link:focus-visible,.floating-tour-tab-link:focus-visible{outline:3px solid var(--color-primary, #007cba);outline-offset:2px}.floating-tour-tab-link:focus .floating-tour-tab{box-shadow:0 8px 30px #6c5ce766,0 4px 12px #00000026,0 0 0 3px #6c5ce77f}body.large-click-targets .floating-action-tab.component-style{min-width:70px;height:70px;padding:1.25rem 1.75rem;font-size:1.1rem}body.large-click-targets .floating-action-tab.component-style .icon{width:28px;height:28px}body.large-click-targets .floating-action-tab.component-style.expanded{padding:1.25rem 1.75rem 1.25rem 1.5rem}.floating-action-tab .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.floating-action-tab[aria-expanded=true] .sr-only:after{content:" (expanded)"}.floating-action-tab[aria-expanded=false] .sr-only:after{content:" (collapsed)"}.no-motion .floating-action-tab,.no-motion .floating-action-tab .text,.no-motion .floating-action-tab .icon,.no-motion .floating-action-tab:before,.no-motion .floating-surprise-tab,.no-motion .floating-surprise-tab-arrow,.no-motion .floating-surprise-tab-ripple,.no-motion .floating-surprise-tab-icon,.no-motion .floating-tour-tab,.no-motion .floating-tour-tab-arrow,.no-motion .floating-tour-tab-icon,.no-motion .floating-tab-text,.no-motion .floating-tab-arrow,.no-motion .floating-tab-ripple,.no-motion .floating-action-tab-heart-icon,.no-motion .floating-action-tab-arrow-icon{transition:none!important;animation:none!important}.no-motion .floating-action-tab:hover{transform:translateY(0)}.no-motion .floating-action-tab.expanded .icon{transform:none}.high-contrast-border .floating-action-tab,.high-contrast-border .floating-surprise-tab,.high-contrast-border .floating-tour-tab{border:2px solid #fff}.high-contrast-border .tab-title,.high-contrast-border .tab-subtitle,.high-contrast-border .floating-action-tab-heart-icon,.high-contrast-border .floating-action-tab-arrow-icon,.high-contrast-border .surprise-tab-title,.high-contrast-border .surprise-tab-subtitle,.high-contrast-border .tour-tab-title,.high-contrast-border .tour-tab-subtitle{color:#fff;text-shadow:none}.high-contrast-border .floating-tab-ripple,.high-contrast-border .floating-surprise-tab-ripple,.high-contrast-border .floating-tour-tab-ripple{background:#ffffff7f}.high-contrast-border .floating-action-tab.component-style{border:2px solid var(--color-white);background:var(--color-primary)}.high-contrast-border .floating-action-tab.component-style:hover{border-color:var(--color-primary);background:var(--color-white);color:var(--color-primary)}.high-contrast-border .floating-action-tab.component-style:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}body.dark-mode .floating-action-tab{background:linear-gradient(135deg,var(--theme-accent) 0%,var(--theme-accent-dark) 100%);border-color:var(--theme-border);box-shadow:0 4px 20px var(--theme-shadow),0 2px 8px #0003}body.dark-mode .floating-action-tab:hover{box-shadow:0 8px 30px var(--theme-shadow-heavy),0 4px 12px #00000040}body.dark-mode .floating-action-tab-heart-icon,body.dark-mode .floating-action-tab:hover .floating-action-tab-heart-icon,body.dark-mode .tab-title{color:var(--theme-text-on-accent)}body.dark-mode .tab-subtitle{color:#ffffffd9}body.dark-mode .floating-action-tab-arrow-icon{color:var(--theme-text-on-accent)}body.dark-mode .floating-tab-ripple,body.dark-mode .floating-action-tab.component-style:before{background:#ffffff26}body.dark-mode .floating-tab-link:focus .floating-action-tab{box-shadow:0 8px 30px var(--theme-shadow-heavy),0 4px 12px #00000040,0 0 0 3px var(--theme-accent-light)}body.dark-mode .floating-action-tab.component-style{background:var(--color-primary);color:var(--color-white);box-shadow:0 4px 12px #00000040,0 2px 6px #0003}body.dark-mode .floating-action-tab.component-style:hover{background:var(--color-primary-light);box-shadow:0 8px 25px #0000004d,0 4px 10px #00000040}body.dark-mode .floating-action-tab.component-style .icon{color:var(--color-white)}body.dark-mode .floating-surprise-tab{background:linear-gradient(135deg,#ff9500,#ff7f00);border:1px solid rgb(255 149 0 / 30%);box-shadow:0 4px 20px #ff7f004d,0 2px 8px #0000004d}body.dark-mode .floating-surprise-tab:hover{box-shadow:0 6px 30px #ff7f0066,0 4px 12px #0006}body.dark-mode .floating-surprise-tab-content,body.dark-mode .surprise-tab-title,body.dark-mode .surprise-tab-subtitle{color:#fff}body.dark-mode .floating-surprise-tab-link:focus-visible{outline:3px solid var(--color-warning)}body.dark-mode .floating-tour-tab{background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:1px solid rgb(108 92 231 / 30%);box-shadow:0 4px 20px #6c5ce74d,0 2px 8px #0000004d}body.dark-mode .floating-tour-tab:hover{box-shadow:0 6px 30px #6c5ce766,0 4px 12px #0006}body.dark-mode .floating-tour-tab-content,body.dark-mode .tour-tab-title,body.dark-mode .tour-tab-subtitle{color:#fff}body.dark-mode .floating-tour-tab-link:focus{outline:3px solid var(--color-primary)}body.dark-mode .floating-tour-tab.tour-clicked{background:linear-gradient(135deg,#74b9ff,#0984e3)}body.dark-mode .floating-tour-tab.tour-unavailable{background:linear-gradient(135deg,#636e72,#2d3436)}.print-hide.floating-tab-link,.print-hide.floating-action-tab-link,.print-hide.floating-surprise-tab-link,.print-hide.floating-tour-tab-link{display:none!important}@layer overrides{body.dark-mode,body.theme-dark{--theme-bg-primary: #1a1a1a;--theme-bg-secondary: #2d2d2d;--theme-bg-tertiary: #3d3d3d;--theme-text-primary: #fff;--theme-text-secondary: #ccc;--theme-border: #444;--theme-border-hover: #555;--theme-shadow: rgb(0 0 0 / 40%);--theme-shadow-hover: rgb(0 0 0 / 50%);--theme-accent: #4a9eff;--theme-accent-dark: #3a8eef;--theme-text-on-accent: #fff;background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}body.theme-light{--theme-bg-primary: #fff;--theme-bg-secondary: #f8fafc;--theme-bg-tertiary: #f1f5f9;--theme-text-primary: #333;--theme-text-secondary: #666;--theme-border: #e2e8f0;--theme-border-hover: #d1d5db;--theme-shadow: rgb(0 0 0 / 10%);--theme-shadow-hover: rgb(0 0 0 / 15%);--theme-accent: #4a9eff;--theme-accent-dark: #3a8eef;--theme-text-on-accent: #fff;background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}body.theme-high-contrast{--theme-bg-primary: #000;--theme-bg-secondary: #111;--theme-bg-tertiary: #222;--theme-text-primary: #fff;--theme-text-secondary: #fff;--theme-border: #fff;--theme-border-hover: #ccc;--theme-shadow: rgb(255 255 255 / 20%);background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode html,body.theme-dark html{background-color:var(--theme-bg-primary)}body.dark-mode *:focus,body.theme-dark *:focus{outline:2px solid var(--theme-accent);outline-offset:2px}body.high-contrast *:focus,body.theme-high-contrast *:focus{outline:3px solid #fff;outline-offset:2px}@media print{body.dark-mode,body.theme-dark{background:#fff;color:#000}}}@layer components{body.dark-mode .hero-section,body.dark-mode *[style*="linear-gradient(135deg, #f8fafc"],body.dark-mode *[style*="linear-gradient(135deg, #ffffff"]{background:linear-gradient(135deg,var(--theme-bg-primary) 0%,var(--theme-bg-secondary) 100%);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .hero-content{background:transparent;color:var(--theme-text-primary)}body.dark-mode .hero-title{color:var(--theme-text-primary);background:linear-gradient(135deg,#fff,var(--theme-accent));background-clip:text;-webkit-text-fill-color:transparent}body.dark-mode .hero-description{color:var(--theme-text-secondary)}body.dark-mode .scenario-card,body.dark-mode .card{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary);box-shadow:0 4px 12px var(--theme-shadow)}body.dark-mode .scenario-card:hover,body.dark-mode .card:hover{background:var(--theme-bg-tertiary);border-color:var(--theme-border-hover);box-shadow:0 8px 20px var(--theme-shadow-hover)}body.dark-mode .card p{color:var(--theme-text-secondary)}body.dark-mode .btn,body.dark-mode .scenario-start-btn,body.dark-mode .scenario-quick-start-btn{background-color:var(--theme-accent);color:var(--theme-text-on-accent);border-color:var(--theme-accent)}body.dark-mode .btn:hover,body.dark-mode .scenario-start-btn:hover,body.dark-mode .scenario-quick-start-btn:hover{background-color:var(--theme-accent-dark);border-color:var(--theme-accent-dark)}body.dark-mode .btn-secondary{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .btn-secondary:hover{background-color:var(--theme-bg-tertiary)}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode input:focus,body.dark-mode textarea:focus,body.dark-mode select:focus{border-color:var(--theme-accent);box-shadow:0 0 0 2px #4a9eff33}body.dark-mode table{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode th{background-color:var(--theme-bg-tertiary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode td{border-color:var(--theme-border)}body.dark-mode tr:hover{background-color:var(--theme-bg-tertiary)}body.dark-mode .modal{background-color:#1a1a1acc}body.dark-mode .modal-overlay{background:#000000e5}body.dark-mode .modal-content{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .footer{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border-top-color:var(--theme-border)}body.dark-mode .footer a{color:var(--theme-accent)}body.dark-mode .footer a:hover{color:var(--theme-text-primary)}body.dark-mode .settings-menu{background-color:var(--theme-bg-secondary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .settings-title{color:var(--theme-text-primary);border-bottom-color:var(--theme-border)}body.dark-mode .toggle-label,body.dark-mode .settings-select-label{color:var(--theme-text-primary)}body.dark-mode .settings-select{background-color:var(--theme-bg-tertiary);border-color:var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .settings-select:focus{border-color:var(--theme-accent)}body.dark-mode .toggle-slider{background-color:var(--theme-border)}body.dark-mode .settings-toggle input[type=checkbox]:checked+.toggle-slider{background:var(--theme-accent)}body.dark-mode .view-toggle-controls{background:var(--theme-bg-secondary);border:1px solid var(--theme-border)}body.dark-mode .view-toggle-btn{color:var(--theme-text-secondary);background:transparent}body.dark-mode .view-toggle-btn:hover{background:var(--theme-bg-tertiary);color:var(--theme-text-primary)}body.dark-mode .view-toggle-btn.active{background:var(--theme-bg-tertiary);color:var(--theme-accent)}body.dark-mode .keyboard-hint{color:var(--theme-text-secondary)}body.dark-mode kbd{background:var(--theme-bg-tertiary);color:var(--theme-text-primary);border:1px solid var(--theme-border);box-shadow:0 2px 4px var(--theme-shadow)}body.dark-mode .floating-action-tab{background-color:var(--theme-bg-secondary);color:var(--theme-text-primary);border-color:var(--theme-border)}body.dark-mode .floating-action-tab:hover{background-color:var(--theme-bg-tertiary)}body.dark-mode .floating-action-tab .icon{color:var(--theme-accent)}body.dark-mode .loading-enhanced{background:#1a1a1af2}body.dark-mode .loading-container{background:var(--theme-bg-secondary);color:var(--theme-text-primary)}body.dark-mode .blog-header{background:linear-gradient(135deg,var(--theme-bg-primary) 0%,var(--theme-bg-secondary) 100%);border-bottom-color:var(--theme-accent)}body.dark-mode::-webkit-scrollbar{background-color:var(--theme-bg-primary)}body.dark-mode::-webkit-scrollbar-thumb{background-color:var(--theme-border);border-radius:4px}body.dark-mode::-webkit-scrollbar-thumb:hover{background-color:var(--theme-border-hover)}body.dark-mode::-webkit-scrollbar-track{background-color:var(--theme-bg-secondary)}body.high-contrast .settings-menu{background-color:#fff;color:#000;border-color:#000}body.high-contrast .toggle-slider{background-color:#fff;border:2px solid #000}body.high-contrast .settings-toggle input[type=checkbox]:checked+.toggle-slider{background-color:#000}body.high-contrast .settings-toggle input[type=checkbox]:checked+.toggle-slider:before{background-color:#fff}}@layer layout{body.dark-mode .container,body.dark-mode .main-container,body.dark-mode .content-container,body.dark-mode .page-container,body.dark-mode .section{background-color:var(--theme-bg-primary);color:var(--theme-text-primary)}body.dark-mode .settings-menu,body.high-contrast .settings-menu{padding:var(--container-padding, 16px);font-size:calc(1rem * var(--font-scale, 1))}body.dark-mode .settings-title,body.high-contrast .settings-title{padding-bottom:calc(var(--container-padding, 16px) * .5);font-size:calc(1.125rem * var(--font-scale, 1))}body.dark-mode .modal-content{padding:var(--container-padding, 16px);font-size:calc(1rem * var(--font-scale, 1))}body.dark-mode .card{padding:var(--container-padding, 16px);margin-bottom:calc(var(--container-padding, 16px) * .75)}body.dark-mode .card h2,body.dark-mode .card h3,body.dark-mode .card h4{font-size:calc(1.25rem * var(--font-scale, 1));margin-bottom:calc(var(--container-padding, 16px) * .5)}}@layer utilities{html.font-size-small{font-size:calc(14px * var(--font-scale, 1))}html.font-size-medium{font-size:calc(16px * var(--font-scale, 1))}html.font-size-large{font-size:calc(18px * var(--font-scale, 1))}html.font-size-extra-large{font-size:calc(20px * var(--font-scale, 1))}body.reduced-motion{scroll-behavior:auto}.reduce-motion,.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}body.large-click-targets .nav-link{min-height:var(--touch-target-min, 48px);display:flex;align-items:center}body.large-click-targets .settings-toggle{min-height:var(--touch-target-min, 48px)}body.large-click-targets .toggle-slider{width:calc(56px * var(--font-scale, 1));height:calc(32px * var(--font-scale, 1));min-width:var(--touch-target-min, 44px);min-height:calc(var(--touch-target-min, 44px) * .75)}body.large-click-targets .toggle-slider:before{width:calc(28px * var(--font-scale, 1));height:calc(28px * var(--font-scale, 1));top:calc(2px * var(--font-scale, 1));left:calc(2px * var(--font-scale, 1))}body.large-click-targets .settings-toggle input[type=checkbox]:checked+.toggle-slider:before{transform:translate(calc(24px * var(--font-scale, 1)))}body.large-click-targets .settings-select{min-height:var(--touch-target-min, 48px)}body.large-click-targets .floating-tab-link{min-width:var(--touch-target-min, 72px);min-height:var(--touch-target-min, 72px)}body.high-contrast a{color:#4a9eff;text-decoration:underline}body.high-contrast a:hover,body.high-contrast a:focus{color:#fff;background-color:#4a9eff}body.dark-mode .settings-menu[style*="display: block"],body.high-contrast .settings-menu[style*="display: block"]{display:block;opacity:1;visibility:visible}.badge-quote,.badge-reason,.badge-timestamp{color:#ffffffe5}}@media (prefers-reduced-motion: reduce){body.theme-auto *,body.theme-auto *:before,body.theme-auto *:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}@media (prefers-contrast: high){body.theme-auto{--theme-bg-primary: #000;--theme-text-primary: #fff;--theme-border: #fff}}.enhanced-donation-widget{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px #0000001a;max-width:600px;margin:0 auto}.enhanced-donation-widget.inline{background:transparent;box-shadow:none;padding:16px}.enhanced-donation-widget.minimal{padding:16px;max-width:400px}.donation-header{text-align:center;margin-bottom:24px}.donation-title{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0 0 8px}.donation-subtitle{color:#6c757d;margin:0;font-size:1rem}.auth-status-banner{margin-bottom:20px}.auth-banner{padding:12px 16px;border-radius:8px;font-size:.9rem}.auth-banner.authenticated{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #b6d7a8;color:#155724}.auth-banner.not-authenticated{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;color:#856404}.user-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.user-name{font-weight:600}.auth-status{font-size:.85rem}.auth-message{display:flex;align-items:center;gap:8px}.auth-icon{font-size:1.2em}.auth-link{color:#007bff;text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}.donation-type-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.donation-type-btn{background:#fff;border:2px solid #e9ecef;border-radius:8px;padding:16px 12px;text-align:center;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:4px}.donation-type-btn:hover{border-color:#007bff;background:#f8f9ff}.donation-type-btn.active{border-color:#007bff;background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0}.type-description{font-size:.8rem;color:#6c757d;font-weight:400}.donation-type-btn.active .type-description{color:#1976d2}.tier-selection{margin-bottom:24px}.tier-option{border:2px solid #e9ecef;border-radius:8px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .3s ease;background:#fff}.tier-option:hover{border-color:#007bff;background:#f8f9ff}.tier-option.selected{border-color:#007bff;background:linear-gradient(135deg,#e3f2fd,#f8f9ff)}.tier-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tier-flair{font-size:1.5rem;margin-right:12px}.tier-name{font-weight:600;color:#2c3e50;flex:1}.tier-amount{font-size:1.2rem;font-weight:700;color:#007bff}.tier-description{color:#6c757d;font-size:.9rem}.donation-benefits{background:#f8f9fa;border-radius:8px;padding:16px;margin-bottom:24px}.donation-benefits h4{margin:0 0 12px;color:#2c3e50;font-size:1rem}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.benefit-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.benefit-icon{font-size:1.2rem}.benefit-text{color:#495057}.benefit-item.authenticated-only{opacity:1;transition:opacity .3s ease}.benefit-item.authenticated-only.hidden{opacity:.5}.donation-actions{text-align:center}.donation-submit-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;padding:16px 32px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}.donation-submit-btn:hover{background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.donation-submit-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.btn-icon{font-size:1.2rem}.donation-security{color:#6c757d;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:4px}.recognition-prompt{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #b6d7a8;border-radius:8px;padding:20px;margin-top:20px;text-align:center}.recognition-prompt.hidden{display:none}.recognition-content h4{color:#155724;margin:0 0 12px}.recognition-content p{color:#155724;margin:0 0 16px}.recognition-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.recognition-actions .btn{padding:8px 16px;border-radius:6px;font-size:.9rem}.btn-outline{background:#fff;border:2px solid #007bff;color:#007bff}.btn-outline:hover{background:#007bff;color:#fff}.btn-text{background:transparent;border:none;color:#6c757d;text-decoration:underline}.btn-text:hover{color:#495057}.donation-accordion{max-width:600px;margin:30px auto;border:1px solid #dee2e6;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;background:#fff}.donation-accordion .accordion-item{border-bottom:none}.donation-accordion .accordion-header{display:flex;align-items:center;justify-content:center;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;transition:all .3s ease;user-select:none;color:#fff;border:none;outline:none}.donation-accordion .accordion-header:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-1px);box-shadow:0 6px 25px #00000026}.donation-accordion .accordion-header:focus{outline:3px solid rgb(102 126 234 / 30%);outline-offset:-3px}.donation-accordion .accordion-icon{margin-right:12px;font-size:14px;transition:transform .3s ease;color:#fff}.donation-accordion .accordion-header[aria-expanded=true] .accordion-icon{transform:rotate(90deg)}.donation-accordion .accordion-title{flex:1;font-weight:600;font-size:1.25rem;color:#fff;margin:0}.donation-accordion .accordion-subtitle{font-size:.9rem;color:#ffffffe5;font-weight:400;margin-left:8px}.donation-accordion .accordion-content{padding:0;background:#fff;overflow:hidden;max-height:0;transition:none}.loaded .donation-accordion .accordion-content:not(.no-transition){transition:max-height .4s ease,padding .4s ease}.donation-accordion .accordion-content:not(.collapsed){max-height:1000px;padding:0}.donation-accordion .accordion-content.collapsed{max-height:0;padding:0}.donation-accordion .accordion-content-inner{padding:20px}.donation-accordion .enhanced-donation-widget{background:transparent;border-radius:0;padding:0;box-shadow:none;margin:0}.donation-accordion .donation-header{display:none}.donation-accordion .tier-option:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.donation-accordion .donation-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:14px 28px;font-size:1.1rem;font-weight:600;transition:all .3s ease}.donation-accordion .donation-submit-btn:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}@media (width <= 768px){.donation-accordion{margin:20px 16px;border-radius:8px}.donation-accordion .accordion-header{padding:12px 16px}.donation-accordion .accordion-title{font-size:1.1rem}.donation-accordion .accordion-subtitle{font-size:.8rem}.donation-accordion .accordion-content-inner{padding:16px}}body.dark-mode .enhanced-donation-widget{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);box-shadow:0 4px 20px var(--theme-shadow-hover)}body.dark-mode .enhanced-donation-widget.inline{background:transparent;border:none;box-shadow:none}body.dark-mode .donation-title{color:var(--theme-text-primary)}body.dark-mode .donation-subtitle{color:var(--theme-text-secondary)}body.dark-mode .auth-banner{background:var(--theme-bg-primary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .auth-banner.success{background:#4caf501a;border-color:var(--color-success);color:var(--color-success)}body.dark-mode .auth-banner.warning{background:#ffc1071a;border-color:var(--color-warning);color:var(--color-warning)}body.dark-mode .donation-amounts{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .amount-option{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .amount-option:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .amount-option.selected{background:#4a9eff1a;border-color:var(--color-primary);color:var(--color-primary)}body.dark-mode .custom-amount-input{background:var(--theme-bg-primary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .custom-amount-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a9eff33}body.dark-mode .payment-methods{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .payment-method{background:var(--theme-bg-secondary);border:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .payment-method:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .payment-method.selected{background:#4a9eff1a;border-color:var(--color-primary)}body.dark-mode .payment-method-label{color:var(--theme-text-primary)}body.dark-mode .payment-method-description{color:var(--theme-text-secondary)}body.dark-mode .donation-summary{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .summary-item{color:var(--theme-text-secondary);border-bottom:1px solid var(--theme-border)}body.dark-mode .summary-item-value{color:var(--theme-text-primary)}body.dark-mode .summary-total{color:var(--theme-text-primary);border-top:1px solid var(--theme-border)}body.dark-mode .donation-submit-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}body.dark-mode .donation-submit-btn:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}body.dark-mode .donation-submit-btn:disabled{background:var(--theme-bg-secondary);color:var(--theme-text-muted);border-color:var(--theme-border)}body.dark-mode .donation-cancel-btn{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border)}body.dark-mode .donation-cancel-btn:hover{background:var(--theme-bg-primary);border-color:var(--theme-border-hover)}body.dark-mode .donation-progress{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .progress-step{color:var(--theme-text-muted)}body.dark-mode .progress-step.active{color:var(--color-primary)}body.dark-mode .progress-step.completed{color:var(--color-success)}body.dark-mode .donation-accordion{background:var(--theme-bg-primary);border:1px solid var(--theme-border)}body.dark-mode .accordion-header{background:var(--theme-bg-secondary);border-bottom:1px solid var(--theme-border);color:var(--theme-text-primary)}body.dark-mode .accordion-header:hover{background:var(--theme-bg-primary)}body.dark-mode .donation-accordion .accordion-title{color:var(--theme-text-primary)}body.dark-mode .accordion-subtitle{color:var(--theme-text-secondary)}body.dark-mode .accordion-content{background:var(--theme-bg-secondary)}body.dark-mode .accordion-content-inner{color:var(--theme-text-primary)}body.dark-mode .btn-outline{background:var(--theme-bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}body.dark-mode .btn-outline:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}body.dark-mode .btn-text{color:var(--theme-text-secondary)}body.dark-mode .btn-text:hover{color:var(--theme-text-primary)}@layer components{.donor-appreciation-section{padding:calc(var(--container-padding, 16px) * 1.5) var(--container-padding, 16px);background:linear-gradient(135deg,var(--color-background-subtle) 0%,var(--color-background-elevation-1) 50%,var(--color-background-subtle) 100%);position:relative;overflow:hidden;max-width:1400px;margin:24px auto;width:100%;font-size:calc(1rem * var(--font-scale, 1));border-radius:12px;text-align:center}#donor-appreciation{margin-left:auto;margin-right:auto}.donor-appreciation-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgb(26 115 232 / 5%) 0%,transparent 50%);pointer-events:none}.donor-appreciation-section .main-section-header{text-align:center;margin-bottom:3rem;position:relative}.donor-appreciation-section .main-section-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin-bottom:var(--spacing-4);letter-spacing:-.02em}.donor-appreciation-section .main-section-description{font-size:1.25rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.donor-wall-container{max-width:1200px;margin:0 auto;position:relative}.donor-wall-header{text-align:center;margin-bottom:2.5rem}.donor-wall-title{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.donor-wall-subtitle{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.donor-wall-filters{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.donor-wall-filters .filter-btn{padding:.75rem 1.5rem;background:var(--color-background-elevation-1);border:2px solid var(--color-border-subtle);border-radius:50px;color:var(--color-text-secondary);font-weight:500;font-size:.95rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.donor-wall-filters .filter-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 20%),transparent);transition:left .5s}.donor-wall-filters .filter-btn:hover:before{left:100%}.donor-wall-filters .filter-btn:hover{border-color:var(--color-primary);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 8px 25px #1a73e826}.donor-wall-filters .filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 6px 20px #1a73e84d}.donor-wall-filters .filter-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #1a73e84d}.donor-wall-filters .filter-btn:focus:not(:focus-visible){box-shadow:none}.donor-carousel-container{position:relative;margin-bottom:2rem;background:linear-gradient(145deg,#f8f9fae5,#fffffff2,#f8f9fae5);border-radius:24px;padding:2.5rem 2rem 2rem;box-shadow:0 8px 32px #0000000f,0 2px 8px #0000000a,inset 0 1px #fffc;border:1px solid rgb(229 231 235 / 60%);backdrop-filter:blur(10px);overflow:hidden}.donor-carousel-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgb(139 197 174 / 3%) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgb(205 159 128 / 3%) 0%,transparent 50%),linear-gradient(135deg,rgb(255 255 255 / 10%) 0%,transparent 100%);pointer-events:none;z-index:0}.donor-carousel-container:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#8bc5ae99,#cd9f8099,#8bc5ae99);border-radius:24px 24px 0 0;z-index:1}.donor-carousel{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:2}.carousel-nav{background:linear-gradient(145deg,#fffffff2,#f8f9fae5);border:1px solid rgb(229 231 235 / 80%);border-radius:16px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);color:var(--color-text-secondary);z-index:10;flex-shrink:0;box-shadow:0 4px 16px #00000014,0 1px 4px #0000000a,inset 0 1px #ffffffe5;backdrop-filter:blur(8px);position:relative;overflow:hidden}.carousel-nav:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(139 197 174 / 10%) 0%,transparent 50%,rgb(205 159 128 / 10%) 100%);opacity:0;transition:opacity .3s ease}.carousel-nav:disabled{opacity:.3;cursor:not-allowed;transform:none;background:#f8f9fa7f;border-color:#e5e7eb4d;pointer-events:none}.carousel-nav:hover:not(:disabled){background:linear-gradient(145deg,#8bc5ae26,#cd9f8026);border-color:#8bc5ae66;color:var(--color-text-primary);transform:translateY(-2px) scale(1.05);box-shadow:0 8px 24px #0000001f,0 4px 8px #0000000f,inset 0 1px #fff}.carousel-nav:hover:not(:disabled):before{opacity:1}.carousel-nav svg{width:20px;height:20px}.donor-cards-track{flex:1;overflow:hidden;border-radius:20px;position:relative;background:linear-gradient(135deg,#fff6,#f8f9fa33);backdrop-filter:blur(4px);border:1px solid rgb(255 255 255 / 30%)}.donor-cards-container{display:flex;gap:1.5rem;transition:transform .6s cubic-bezier(.4,0,.2,1);padding:1.5rem 1rem;will-change:transform}.donor-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:20px;padding:2rem;min-width:320px;width:320px;height:320px;flex-shrink:0;border:1px solid rgb(99 102 241 / 12%);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #6366f114,0 1px 3px #0000000f,inset 0 1px #fffc;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}.donor-card:before{content:"";position:absolute;inset:0;padding:2px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899 60%,#f59e0b);border-radius:20px;opacity:0;transition:opacity .4s ease}.donor-card:after{content:"";position:absolute;inset:12px;background:linear-gradient(45deg,#6366f10f,#8b5cf60f,#ec48990f 60%,#f59e0b0f);border-radius:16px;opacity:0;transition:all .4s ease;pointer-events:none}.donor-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #6366f126,0 4px 12px #8b5cf61a,inset 0 1px #ffffffe5;border-color:#6366f140}.donor-card:hover:before{opacity:1}.donor-card:hover:after{opacity:1}.donor-avatar{position:relative;width:80px;height:80px;margin:0 auto 1rem;border-radius:50%;overflow:hidden;border:3px solid rgb(99 102 241 / 15%);box-shadow:0 4px 20px #6366f11f,0 1px 3px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(145deg,#f8fafc,#fff);flex-shrink:0}.donor-avatar:hover{transform:scale(1.08);box-shadow:0 8px 30px #6366f133,0 2px 8px #8b5cf626;border-color:#6366f14d}.donor-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:transform .3s ease}.donor-avatar:hover img{transform:scale(1.1)}.anonymous-avatar{width:100%;height:100%;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:2rem;position:relative;overflow:hidden}.anonymous-avatar:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgb(255 255 255 / 10%) 0%,transparent 50%,rgb(255 255 255 / 10%) 100%);border-radius:50%;animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.anonymous-avatar:after{content:"👤";font-size:1.8rem}.donor-badge{position:absolute;bottom:-3px;right:-3px;width:24px;height:24px;border-radius:50%;border:2px solid rgb(255 255 255 / 90%);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026,0 0 0 1px #0000000d;transition:all .3s ease}.donor-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #0003,0 0 0 1px #0000001a}.donor-badge.gold-tier{background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706)}.donor-badge.silver-tier{background:linear-gradient(135deg,#e5e7eb,#9ca3af,#6b7280)}.donor-badge.bronze-tier{background:linear-gradient(135deg,#f97316,#ea580c,#c2410c)}.donor-badge:after{color:#fff;font-size:10px;font-weight:700}.donor-badge.gold-tier:after{content:"⭐"}.donor-badge.silver-tier:after{content:"✨"}.donor-badge.bronze-tier:after{content:"🏅"}.donor-info{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;text-align:center;width:100%}.donor-name{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;letter-spacing:.01em;line-height:1.3;transition:color .3s ease;text-align:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);background-clip:text;-webkit-text-fill-color:transparent}.donor-since{font-size:.8rem;color:#64748b;margin:0;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.9;padding:.4rem 1rem;background:linear-gradient(135deg,#6366f114,#8b5cf614);border-radius:20px;border:1px solid rgb(99 102 241 / 15%);align-self:center;width:fit-content}.donor-reflection{background:linear-gradient(145deg,#f8fafccc,#f1f5f9e5);border-radius:16px;padding:1.25rem;border:1px solid rgb(99 102 241 / 12%);position:relative;box-shadow:0 2px 8px #6366f10f,inset 0 1px #fffc;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;flex:1;margin:0;backdrop-filter:blur(10px)}.donor-reflection:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#ec4899);border-radius:16px 16px 0 0}.donor-reflection:hover{transform:translateY(-2px) scale(1.01);border-color:#6366f140;box-shadow:0 8px 25px #6366f11f,0 3px 10px #8b5cf614,inset 0 1px #ffffffe5;backdrop-filter:blur(15px)}.donor-reflection p{font-size:.8rem;color:var(--color-text-secondary);font-style:italic;margin:0;line-height:1.4;font-weight:500;text-align:left;position:relative;z-index:2;letter-spacing:.02em}.donor-reflection:after{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(to bottom,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:12px 0 0 12px}.carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.indicator{width:12px;height:12px;border-radius:50%;border:none;background:var(--color-border-subtle);cursor:pointer;transition:all .3s ease}.indicator:hover{background:var(--color-primary-light);transform:scale(1.2)}.indicator.active{background:var(--color-primary);transform:scale(1.3);box-shadow:0 2px 8px #1a73e866}.donor-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0;padding:2.5rem 2rem;background:linear-gradient(145deg,#fffffff2,#f8f9fae5);border-radius:20px;border:1px solid rgb(229 231 235 / 60%);box-shadow:0 6px 24px #0000000f,0 2px 8px #0000000a,inset 0 1px #fffc;backdrop-filter:blur(8px);position:relative;overflow:hidden}.donor-stats-summary:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgb(139 197 174 / 2%) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgb(205 159 128 / 2%) 0%,transparent 50%);pointer-events:none}.stat-item{text-align:center;position:relative;padding:1rem .5rem;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:12px;z-index:1}.stat-item:hover{transform:translateY(-2px);background:#fff9;box-shadow:0 4px 16px #00000014}.stat-item:not(:last-child):after{content:"";position:absolute;right:-1rem;top:25%;bottom:25%;width:1px;background:linear-gradient(to bottom,transparent 0%,rgb(139 197 174 / 30%) 20%,rgb(205 159 128 / 30%) 50%,rgb(139 197 174 / 30%) 80%,transparent 100%)}.stat-number{display:block;font-size:2.5rem;font-weight:700;color:var(--color-primary);line-height:1;margin-bottom:.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));background-clip:text;-webkit-text-fill-color:transparent}.stat-label{font-size:.95rem;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.support-cta{text-align:center;background:var(--color-background-elevation-2);border-radius:20px;padding:3rem 2rem;border:2px solid var(--color-border-subtle);position:relative;overflow:hidden}.support-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgb(26 115 232 / 3%) 0%,transparent 70%);pointer-events:none}.support-cta h3{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem;position:relative}.support-cta p{font-size:1.1rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto 2rem;line-height:1.6;position:relative}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}.cta-buttons .btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:50px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:200px}.cta-buttons .btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border:none;color:#fff;box-shadow:0 8px 25px #1a73e84d}.cta-buttons .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 20%),transparent);transition:left .5s}.cta-buttons .btn-primary:hover:before{left:100%}.cta-buttons .btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 35px #1a73e866}.cta-buttons .btn-outline{background:transparent;border:2px solid var(--color-border);color:var(--color-text-primary)}.cta-buttons .btn-outline:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-3px);box-shadow:0 8px 25px #1a73e84d}@media (width <= 1024px){.donor-stats-summary{gap:1.5rem;padding:2rem 1.5rem}.stat-item:not(:last-child):after{right:-.75rem}}@media (width >= 1440px){.donor-appreciation-section{padding:3rem;max-width:1600px}.donor-wall-container{max-width:1400px}.donor-carousel-container{padding:3rem 2.5rem}.donor-card{min-width:340px;width:340px;height:340px;padding:2.25rem}.donor-stats-summary{padding:3rem 2.5rem;gap:2.5rem}}@media (width <= 768px){.donor-appreciation-section{padding:calc(var(--container-padding, 12px) * 2) var(--container-padding, 12px)}#donor-appreciation{margin-left:auto;margin-right:auto;width:100%;max-width:calc(100% - 40px)}.donor-appreciation-section .main-section-title{font-size:calc(var(--font-size-2xl, 1.5rem) * var(--font-scale, .9))}.donor-wall-filters{gap:calc(var(--container-padding, 12px) * .15)}.donor-wall-filters .filter-btn{padding:calc(var(--container-padding, 12px) * .4) calc(var(--container-padding, 12px) * .8);font-size:calc(.9rem * var(--font-scale, .9))}.donor-carousel-container{padding:calc(var(--container-padding, 12px) * 1.5) calc(var(--container-padding, 12px) * 1.2) calc(var(--container-padding, 12px) * 1.2);border-radius:20px}.donor-carousel{gap:.75rem}.carousel-nav{width:44px;height:44px;border-radius:14px}.carousel-nav svg{width:18px;height:18px}.donor-cards-container{padding:1rem .5rem}.donor-card{min-width:280px;width:280px;height:300px;padding:1.5rem;border-radius:18px;flex-direction:column;align-items:center;text-align:center;gap:1rem;justify-content:space-between}.donor-avatar{width:70px;height:70px;margin:0 auto .75rem}.donor-info{align-items:center;text-align:center;gap:.5rem}.donor-name{font-size:1rem;text-align:center}.donor-since{font-size:.75rem;align-self:center}.donor-reflection{padding:1rem}.donor-reflection p{font-size:.75rem;text-align:center}.donor-stats-summary{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1.5rem}.stat-item:not(:last-child):after{display:none}.stat-item:not(:last-child){border-bottom:1px solid rgb(139 197 174 / 20%);padding-bottom:1.5rem;margin-bottom:.5rem}.stat-number{font-size:2rem}.support-cta{padding:2rem 1rem}.support-cta h3{font-size:1.5rem}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:280px}}@media (width <= 480px){.donor-carousel-container{padding:calc(var(--container-padding, 8px) * 1.5) var(--container-padding, 8px);border-radius:calc(var(--container-padding, 8px) * 1.8)}#donor-appreciation{margin-left:auto;margin-right:auto;padding-left:calc(var(--container-padding, 8px) * .5);padding-right:calc(var(--container-padding, 8px) * .5)}.donor-cards-container{gap:var(--container-padding, 8px);padding:var(--container-padding, 8px) calc(var(--container-padding, 8px) * .25)}.donor-card{min-width:calc(240px * var(--font-scale, .85));width:calc(240px * var(--font-scale, .85));height:calc(280px * var(--font-scale, .85));padding:calc(var(--container-padding, 8px) * 1.25);border-radius:calc(var(--container-padding, 8px) * 1.6)}.donor-avatar{width:calc(60px * var(--font-scale, .85));height:calc(60px * var(--font-scale, .85));margin-bottom:calc(var(--container-padding, 8px) * .75)}.donor-badge{width:20px;height:20px;bottom:-2px;right:-2px}.donor-name{font-size:.95rem}.donor-since{font-size:.75rem}.donor-reflection{padding:.875rem}.donor-reflection p{font-size:.85rem}.carousel-nav{width:40px;height:40px;border-radius:12px}.carousel-nav svg{width:16px;height:16px}.donor-wall-filters{flex-direction:column;align-items:center}.donor-wall-filters .filter-btn{width:200px;border-radius:14px}}}@layer utilities{@keyframes slide-in-from-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.donor-card.animate-in{animation:slide-in-from-right .6s cubic-bezier(.4,0,.2,1) forwards}.donor-card.no-motion,.carousel-nav.no-motion,.filter-btn.no-motion,.btn.no-motion{transition:none}.donor-card.animate-in.no-motion{animation:none}.donor-card.high-contrast-border{border-width:3px}.donor-badge.high-contrast-border{border-width:4px}@media (prefers-contrast: more){.filter-btn.active{outline:3px solid var(--color-primary)}}.donor-card:focus-within{outline:3px solid var(--color-primary);outline-offset:2px}.carousel-nav:focus,.filter-btn:focus,.indicator:focus{outline:3px solid var(--color-primary);outline-offset:2px}}@layer components{.teacher-create-classroom-modal h6{font-size:var(--font-size-lg)}.teacher-create-classroom-modal .scenario-info .scenario-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}}.student-waiting-room-modal .session-status-display{display:flex;align-items:center;gap:var(--spacing-3, .75rem)}.student-waiting-room-modal .session-status-display .status-indicator{display:flex!important;align-items:center;gap:var(--spacing-3, .75rem);width:auto!important;height:auto!important;border-radius:0!important;margin-right:0;background:none}.student-waiting-room-modal .status-text{display:block;flex:1 1 auto;min-width:0}.student-waiting-room-modal #status-title{margin:0 0 var(--spacing-1, .25rem) 0}.student-waiting-room-modal #status-description{display:block;margin:0;white-space:normal;word-break:normal;overflow-wrap:anywhere;writing-mode:horizontal-tb}.student-waiting-room-modal .scenario-title{color:var(--theme-text-primary)}.final-choices-container .choices-list{display:flex;flex-direction:column;gap:var(--spacing-3, .75rem)}.final-choices-container .choice-review-item{padding:var(--spacing-3, .75rem) var(--spacing-4, 1rem);border:1px solid var(--border-subtle, rgb(0 0 0 / 8%));border-radius:var(--radius-2, 8px);background:var(--surface-elevated, transparent)}.final-choices-container .scenario-header{display:flex;align-items:center;gap:var(--spacing-3, .75rem);margin-bottom:var(--spacing-2, .5rem)}.final-choices-container .scenario-number{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--accent-muted, rgb(0 0 0 / 6%));color:var(--theme-text-primary);font-weight:600}.final-choices-container .scenario-info h5{margin:0;color:var(--theme-text-primary)}.final-choices-container .scenario-category{color:var(--theme-text-tertiary, #666);font-size:.9em}.final-choices-container .choice-display{display:flex;flex-direction:column;gap:var(--spacing-1, .25rem)}.final-choices-container .choice-label{color:var(--theme-text-tertiary, #666);font-size:.9em}.final-choices-container .choice-value{color:var(--theme-text-primary);font-weight:600;word-break:normal;overflow-wrap:anywhere}.final-choices-container .choice-description{color:var(--theme-text-secondary);font-size:.95em;line-height:1.4;white-space:normal;word-break:normal;overflow-wrap:anywhere}.final-choices-container .confidence-level{color:var(--theme-text-tertiary, #666);font-size:.875em}
