:root{--wellness-primary: #7c3aed;--wellness-secondary: #06b6d4;--wellness-accent: #10b981;--wellness-warning: #f59e0b;--wellness-error: #ef4444;--wellness-success: #22c55e;--gradient-wellness: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-calm: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);--gradient-energy: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-growth: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--gradient-sunset: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--surface-primary: #ffffff;--surface-secondary: #f9fafb;--surface-tertiary: #f3f4f6;--surface-card: #ffffff;--surface-overlay: rgba(255, 255, 255, .95);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-on-primary: #ffffff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-focus: var(--wellness-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(124, 58, 237, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--wellness-primary: #9333ea;--wellness-secondary: #22d3ee;--wellness-accent: #34d399;--wellness-warning: #fbbf24;--wellness-error: #f87171;--wellness-success: #4ade80;--gradient-wellness: linear-gradient(135deg, #667eea 0%, #9333ea 100%);--gradient-calm: linear-gradient(135deg, #1e3a8a 0%, #312e81 100%);--gradient-energy: linear-gradient(135deg, #831843 0%, #be123c 100%);--gradient-growth: linear-gradient(135deg, #064e3b 0%, #047857 100%);--gradient-sunset: linear-gradient(135deg, #7c2d12 0%, #b91c1c 100%);--surface-primary: #111827;--surface-secondary: #1f2937;--surface-tertiary: #374151;--surface-card: #1f2937;--surface-overlay: rgba(17, 24, 39, .95);--text-primary: #f9fafb;--text-secondary: #e5e7eb;--text-tertiary: #d1d5db;--text-muted: #9ca3af;--text-on-primary: #111827;--border-primary: #374151;--border-secondary: #4b5563;--border-focus: var(--wellness-primary);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(147, 51, 234, .4)}.glass-morphism{background:var(--surface-overlay);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-primary)}*{transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.wellness-card{background:var(--surface-card);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-primary);transition:all var(--transition-base)}.wellness-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.gradient-text{background:var(--gradient-wellness);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.animated-gradient{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pulse-animation{animation:pulse 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,var(--surface-secondary) 0px,var(--surface-tertiary) 50px,var(--surface-secondary) 100px);background-size:1000px 100%;animation:shimmer 2s infinite}@media (max-width: 640px){.wellness-card{padding:1rem;border-radius:12px}}@media (min-width: 1024px){.wellness-card{padding:2rem}}*:focus-visible{outline:2px solid var(--wellness-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-secondary)}::-webkit-scrollbar-thumb{background:var(--wellness-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--wellness-secondary)}:root{--min-touch-target: 44px;--mobile-padding: 1rem;--tablet-padding: 1.5rem;--desktop-padding: 2rem}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{font-size:clamp(14px,2.5vw,16px);line-height:1.6}h1{font-size:clamp(1.75rem,5vw,2.5rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}h4{font-size:clamp(1.1rem,2.5vw,1.5rem)}.container,.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl,.max-w-3xl,.max-w-2xl,.max-w-xl{width:100%;max-width:100%;padding-left:var(--mobile-padding);padding-right:var(--mobile-padding)}@media (min-width: 640px){.container,.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl,.max-w-3xl,.max-w-2xl,.max-w-xl{padding-left:var(--tablet-padding);padding-right:var(--tablet-padding)}}@media (min-width: 1024px){.container,.max-w-7xl,.max-w-6xl,.max-w-5xl,.max-w-4xl,.max-w-3xl,.max-w-2xl,.max-w-xl{padding-left:var(--desktop-padding);padding-right:var(--desktop-padding)}}button,a,.btn,.button,[role=button],input[type=button],input[type=submit],input[type=reset],select,textarea,input{min-height:var(--min-touch-target);min-width:var(--min-touch-target);padding:.75rem 1rem}.space-y-2>*+*{margin-top:.75rem}@media (max-width: 640px){.space-y-2>*+*{margin-top:1rem}}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}*{max-width:100vw;overflow-wrap:break-word;word-wrap:break-word}.grid{grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.flex{flex-wrap:wrap;gap:.5rem}@media (max-width: 640px){.flex-row{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}}.card,.rounded-lg,.rounded-xl{width:100%;max-width:100%}.fixed.inset-0,[role=dialog],.modal{padding:var(--mobile-padding)}.modal-content,.dialog-content{width:calc(100% - 2rem);max-width:95vw;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}nav{padding:.75rem var(--mobile-padding)}@media (min-width: 640px){nav{padding:1rem var(--tablet-padding)}}form{width:100%}input,textarea,select{width:100%;font-size:16px}@media (max-width: 640px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}thead{display:none}tbody,tr,td{display:block;width:100%}tr{margin-bottom:1rem;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem}td{text-align:right;padding-left:50%;position:relative}td:before{content:attr(data-label);position:absolute;left:.5rem;text-align:left;font-weight:600}}@media (max-width: 768px){.sidebar{position:fixed;z-index:40;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:30}}.hidden-mobile{display:none}@media (min-width: 640px){.hidden-mobile{display:initial}}.visible-mobile{display:initial}@media (min-width: 640px){.visible-mobile{display:none}}.p-4,.p-6{padding:var(--mobile-padding)}@media (min-width: 640px){.p-6{padding:var(--tablet-padding)}}@media (min-width: 1024px){.p-6{padding:var(--desktop-padding)}}@media (max-width: 640px){.text-center-mobile{text-align:center}}.overflow-x-auto,.overflow-y-auto,.overflow-auto{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.recharts-wrapper{width:100%!important;height:auto!important}.recharts-surface{width:100%!important}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-wrapper iframe,.video-wrapper object,.video-wrapper embed{position:absolute;top:0;left:0;width:100%;height:100%}@supports (-webkit-touch-callout: none){.sticky{position:-webkit-sticky}}@media (max-width: 640px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],textarea,select{font-size:16px!important}}.skeleton{width:100%;max-width:100%}.fixed-bottom{position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom)}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.flex{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-moz-box-orient:horizontal;-moz-box-direction:normal;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.justify-center{-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.items-center{-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.flex-1{-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}@supports not (display: grid){.grid{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.grid>*{-webkit-box-flex:0;-moz-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}@media (min-width: 640px){.sm\:grid-cols-2>*{-webkit-box-flex:0;-moz-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}}@media (min-width: 768px){.md\:grid-cols-3>*{-webkit-box-flex:0;-moz-box-flex:0;-webkit-flex:0 0 33.333%;-ms-flex:0 0 33.333%;flex:0 0 33.333%}}}.transform{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.scale-95{-webkit-transform:scale(.95);-moz-transform:scale(.95);-ms-transform:scale(.95);-o-transform:scale(.95);transform:scale(.95)}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.transition{-webkit-transition:all .3s ease;-moz-transition:all .3s ease;-ms-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}.transition-all{-webkit-transition-property:all;-moz-transition-property:all;-ms-transition-property:all;-o-transition-property:all;transition-property:all}.transition-colors{-webkit-transition-property:background-color,border-color,color,fill,stroke;-moz-transition-property:background-color,border-color,color,fill,stroke;-ms-transition-property:background-color,border-color,color,fill,stroke;-o-transition-property:background-color,border-color,color,fill,stroke;transition-property:background-color,border-color,color,fill,stroke}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{to{-moz-transform:rotate(360deg)}}@-ms-keyframes spin{to{-ms-transform:rotate(360deg)}}@-o-keyframes spin{to{-o-transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{-webkit-animation:spin 1s linear infinite;-moz-animation:spin 1s linear infinite;-ms-animation:spin 1s linear infinite;-o-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.shadow{-webkit-box-shadow:0 1px 3px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px 0 rgba(0,0,0,.1);box-shadow:0 1px 3px #0000001a}.shadow-lg{-webkit-box-shadow:0 10px 15px -3px rgba(0,0,0,.1);-moz-box-shadow:0 10px 15px -3px rgba(0,0,0,.1);box-shadow:0 10px 15px -3px #0000001a}.rounded{-webkit-border-radius:.25rem;-moz-border-radius:.25rem;-ms-border-radius:.25rem;-o-border-radius:.25rem;border-radius:.25rem}.rounded-lg{-webkit-border-radius:.5rem;-moz-border-radius:.5rem;-ms-border-radius:.5rem;-o-border-radius:.5rem;border-radius:.5rem}.rounded-full{-webkit-border-radius:9999px;-moz-border-radius:9999px;-ms-border-radius:9999px;-o-border-radius:9999px;border-radius:9999px}.backdrop-blur{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.backdrop-blur-lg{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}button,input,select,textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}::-webkit-input-placeholder{color:#9ca3af;opacity:1}::-moz-placeholder{color:#9ca3af;opacity:1}:-ms-input-placeholder{color:#9ca3af;opacity:1}::-ms-input-placeholder{color:#9ca3af;opacity:1}::placeholder{color:#9ca3af;opacity:1}.touch-manipulation{-ms-touch-action:manipulation;touch-action:manipulation}.touch-none{-ms-touch-action:none;touch-action:none}.scroll-smooth{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.sticky{position:-webkit-sticky;position:sticky}.bg-gradient-to-r{background-image:-webkit-linear-gradient(left,var(--tw-gradient-stops));background-image:-moz-linear-gradient(left,var(--tw-gradient-stops));background-image:-ms-linear-gradient(left,var(--tw-gradient-stops));background-image:-o-linear-gradient(left,var(--tw-gradient-stops));background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:-webkit-linear-gradient(top,var(--tw-gradient-stops));background-image:-moz-linear-gradient(top,var(--tw-gradient-stops));background-image:-ms-linear-gradient(top,var(--tw-gradient-stops));background-image:-o-linear-gradient(top,var(--tw-gradient-stops));background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.blur{-webkit-filter:blur(8px);-moz-filter:blur(8px);-ms-filter:blur(8px);-o-filter:blur(8px);filter:blur(8px)}.grayscale{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%)}.w-full-minus-padding{width:-webkit-calc(100% - 2rem);width:-moz-calc(100% - 2rem);width:calc(100% - 2rem)}.columns-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.columns-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent}@media screen and (-ms-high-contrast: active),(-ms-high-contrast: none){.flex{display:-ms-flexbox}.grid{display:-ms-grid}.min-h-screen{min-height:100vh;height:100%}}@supports (-ms-ime-align:auto){.sticky{position:-ms-sticky;position:sticky}}@supports (-webkit-appearance: none) and (stroke-color: transparent){.safari-fix{-webkit-transform:translateZ(0)}}@-moz-document url-prefix(){.firefox-fix{-moz-appearance:none}}@media print{.no-print{display:none!important}body{font-size:12pt}a{text-decoration:underline}.print-break{page-break-after:always}}@tailwind base;@tailwind components;@tailwind utilities;@layer base{::placeholder{color:#666!important;opacity:1!important}::-webkit-input-placeholder{color:#666!important;opacity:1!important}::-moz-placeholder{color:#666!important;opacity:1!important}:-ms-input-placeholder{color:#666!important;opacity:1!important}:-moz-placeholder{color:#666!important;opacity:1!important}input::placeholder,textarea::placeholder,select::placeholder{color:#666!important;opacity:1!important}}@layer utilities{.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.tap-target{min-height:44px;min-width:44px}.touch-target-expand{position:relative}.touch-target-expand:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px}@keyframes pulse{0%{box-shadow:0 0 #7dd3fcb3}70%{box-shadow:0 0 0 10px #7dd3fc00}to{box-shadow:0 0 #7dd3fc00}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes tooltipIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tour-highlight{position:relative;z-index:50;animation:pulse 2s infinite;border-radius:.375rem}.tour-icon{animation:float 3s ease-in-out infinite}.tour-tooltip{animation:tooltipIn .3s ease-out forwards;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-width:1px;border-style:solid;border-image:linear-gradient(to right,#60a5fa,#8b5cf6) 1}.touch-target-expand:before{pointer-events:auto;z-index:1}.touch-target-small{padding:12px;margin:-12px;position:relative}button,[role=button],.btn{min-height:44px!important;min-width:44px!important;padding:.5rem 1rem}a:not(.inline-link){display:inline-flex;align-items:center;min-height:44px;padding:.5rem}input:not([type=checkbox]):not([type=radio]),textarea,select{min-height:44px!important;padding:.5rem .75rem!important}input[type=checkbox],input[type=radio]{position:relative;width:20px;height:20px}input[type=checkbox]:before,input[type=radio]:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;cursor:pointer}*:focus{outline:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #2563eb!important;outline-offset:2px!important;box-shadow:0 0 0 4px #2563eb1a!important}@media (prefers-contrast: high){button,a,input,textarea,select{border:2px solid currentColor!important}}.text-destructive,[role=alert]{color:#dc2626!important;font-weight:500}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!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}.skip-link{position:absolute;left:-9999px;z-index:999;padding:1rem;background-color:#000;color:#fff;text-decoration:none}.skip-link:focus{left:50%;transform:translate(-50%);top:1rem}.safe-area-pt{padding-top:env(safe-area-inset-top)}.safe-area-pb{padding-bottom:env(safe-area-inset-bottom)}.safe-area-pl{padding-left:env(safe-area-inset-left)}.safe-area-pr{padding-right:env(safe-area-inset-right)}.scroll-smooth-mobile{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scrollbar-hidden{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.select-none-mobile{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.overscroll-contain{overscroll-behavior:contain}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}.animate-blob{animation:blob 7s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.animation-delay-6000{animation-delay:6s}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}.viewport-fit-cover{viewport-fit:cover}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes drawCircle{0%{stroke-dashoffset:251.2}to{stroke-dashoffset:var(--stroke-dashoffset)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 30px #6366f199}}.animate-fade-in{animation:fadeIn 1s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.glass-morphism{background:#ffffff40;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.gradient-text{background:linear-gradient(45deg,#6366f1,#8b5cf6,#ec4899);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.sensory-audio-word{display:inline;padding:0 1px;border-radius:2px;transition:background-color .2s ease,color .2s ease}.sensory-audio-word-active{font-weight:500;border-radius:4px;box-shadow:0 1px 2px #0000000d}.tts-highlight-subtle{background-color:hsl(var(--primary) / .2);color:hsl(var(--primary));font-weight:500}.tts-highlight-medium{background-color:hsl(var(--primary) / .7)!important;color:#fff!important;font-weight:500!important;border-radius:3px!important;padding:0 2px!important}.tts-highlight-high-contrast{background-color:hsl(var(--primary))!important;color:#fff!important;font-weight:600!important;border-radius:3px!important;padding:0 2px!important;box-shadow:0 1px 2px #0003!important}.tts-word-previous,.tts-word-next{opacity:.7}.tts-paragraph-active{background-color:hsl(var(--primary) / .05);border-radius:4px;padding:2px 0}:root{--animation-duration: .3s;--focus-ring-color: theme("colors.primary.DEFAULT")}html.focus-mode{background-color:#f8f9fa}html.focus-mode body{max-width:1000px;margin:0 auto;background-color:#fff;box-shadow:0 0 10px #0000000d}html.focus-mode .decoration-only,html.focus-mode .bg-pattern{display:none!important}html.focus-mode .app-header,html.focus-mode .app-footer{background:#fff!important}html.high-contrast{--focus-ring-color: #ff0}html.high-contrast body{background-color:#000;color:#fff}html.high-contrast a,html.high-contrast button:not(.btn-primary){color:#fff!important}html.high-contrast .btn-primary{background-color:#fff!important;color:#000!important}html.high-contrast input,html.high-contrast textarea{background-color:#222!important;color:#fff!important;border-color:#fff!important}html.reduced-motion *{animation-duration:.001ms!important;transition-duration:.001ms!important}html.large-text{font-size:125%}html.large-text h1{font-size:2rem}html.large-text h2{font-size:1.75rem}html.keyboard-focus-visible :focus{outline:3px solid var(--focus-ring-color);outline-offset:2px}html.keyboard-focus-visible :focus:not(:focus-visible){outline:none}html.keyboard-focus-visible :focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}html.simplified-ui .card{border-radius:0;box-shadow:none;border:1px solid #ccc}html.simplified-ui .complex-ui{display:none!important}html.simplified-ui .simple-ui{display:block!important}html.protanopia img{filter:url(#protanopia-filter)}html.deuteranopia img{filter:url(#deuteranopia-filter)}html.tritanopia img{filter:url(#tritanopia-filter)}html.achromatopsia img{filter:grayscale(100%)}html.reading-simplified .complex-text{display:none}html.reading-simplified .simplified-text{display:block}html.reading-basic .complex-text,html.reading-basic .simplified-text{display:none}html.reading-basic .basic-text{display:block}.svg-filters{position:absolute;height:0;width:0;overflow:hidden}.progressive-content .content-section:not(.active){display:none}.progressive-content .content-section.active{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.support-marker{filter:hue-rotate(0deg)}.educational-marker{filter:hue-rotate(240deg)}.wellness-marker{filter:hue-rotate(120deg)}.professional-marker{filter:hue-rotate(30deg)}.leaflet-container{width:100%;height:100%}@layer base{:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem;--focus-ring-color: #3b82f6;--focus-ring-offset: 3px;--focus-ring-width: 2px}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%;--focus-ring-color: #60a5fa}}@layer base{*{@apply border-border;}body{@apply bg-background text-foreground;}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:.25rem;z-index:10;position:relative}a:not(.no-underline){text-decoration:underline;text-underline-offset:.2em}}.font-dyslexic{font-family:OpenDyslexic,sans-serif}.font-size-large{font-size:1.125rem!important;line-height:1.75rem!important}.font-size-xlarge{font-size:1.25rem!important;line-height:1.875rem!important}.reduced-motion *{transition:none!important;animation:none!important}.color-blind{filter:saturate(.8) brightness(1.1)}.high-contrast-theme{background-color:#000!important;color:#fff!important;--focus-ring-color: #ffcc00 !important;--focus-ring-width: 3px !important}.high-contrast-theme button,.high-contrast-theme input,.high-contrast-theme select{border-color:#fff!important}.high-contrast-theme h1,.high-contrast-theme h2,.high-contrast-theme h3,.high-contrast-theme h4,.high-contrast-theme h5,.high-contrast-theme h6{color:#fff!important}.high-contrast-theme a{color:#fc0!important;text-decoration:underline!important}.high-contrast-theme button:focus-visible,.high-contrast-theme a:focus-visible,.high-contrast-theme input:focus-visible,.high-contrast-theme select:focus-visible{outline-color:#fc0!important;outline-width:3px!important}.session-boundary{border-top:2px dashed #666;padding-top:20px;margin-top:20px;position:relative}.session-boundary:before{content:"Session Boundary - Allow 5-10 minutes break";position:absolute;top:-10px;left:20px;background:#f5f5f5;padding:0 10px;font-size:12px;color:#666}.sensory-tag{font-size:11px;padding:2px 6px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;margin-right:4px}.sensory-visual{background-color:#e6f7ff;color:#0072b1}.sensory-auditory{background-color:#fff7e6;color:#d46b08}.sensory-tactile{background-color:#f6ffed;color:#389e0d}.sensory-ef{background-color:#f9f0ff;color:#722ed1}.sensory-structure{background-color:#fcf8e3;color:#8c6d1f}.color-scheme-customizer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.color-swatch{height:30px;border-radius:4px;cursor:pointer;position:relative;transition:transform .2s}.color-swatch:hover{transform:scale(1.05)}.color-swatch.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-shadow:0 0 2px rgba(0,0,0,.5)}.content-warning{border:2px solid #e67e22;border-radius:8px;padding:12px 16px;margin-bottom:16px;background-color:#fff3e0}.content-warning-title{display:flex;align-items:center;gap:8px;font-weight:700;color:#d35400;margin-bottom:8px}.content-warning-hidden{border:2px solid #e67e22;border-radius:8px;padding:12px 16px;background-color:#fff3e0;text-align:center}.step-by-step-container{counter-reset:step}.step-item{position:relative;padding:16px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px}.step-item:before{counter-increment:step;content:counter(step);position:absolute;left:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;background-color:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.audio-feedback{position:fixed;top:20px;right:20px;padding:10px 20px;border-radius:50px;background-color:#000000b3;color:#fff;display:flex;align-items:center;gap:10px;z-index:9999;animation:slide-in .3s ease-out}@keyframes slide-in{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.audio-icon{display:flex;align-items:center;gap:2px}.audio-bar{width:3px;height:15px;background-color:#fff;border-radius:3px;animation:audio-wave .5s infinite alternate}.audio-bar:nth-child(1){animation-delay:0s}.audio-bar:nth-child(2){animation-delay:.1s}.audio-bar:nth-child(3){animation-delay:.2s}.audio-bar:nth-child(4){animation-delay:.3s}@keyframes audio-wave{0%{height:5px}to{height:15px}}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}@media (max-width: 768px){button,.cursor-pointer{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}*{-webkit-overflow-scrolling:touch}button,.cursor-pointer{touch-action:manipulation}.pull-to-refresh-indicator{transition:all .3s ease}.nav-active{transform:scale(.95)}@keyframes swipe-hint{0%{transform:translate(0)}50%{transform:translate(10px)}to{transform:translate(0)}}.swipe-hint{animation:swipe-hint 2s ease-in-out infinite}}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out;@media (max-width: 768px){.desktop-sidebar{display:none}.mobile-content{padding:1rem;margin-top:60px}.btn-mobile{min-height:48px;min-width:48px;font-size:16px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;z-index:50}}@media (prefers-color-scheme: dark){.mobile-nav{background:#1f2937;border-top-color:#374151}}.focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.loading-skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}}
