:root{--color-bg-primary:#f8f6fb;--color-bg-elevated:#fff;--color-bg-surface:#f0edf6;--color-bg-card:#fff;--color-text-primary:#1a1625;--color-text-secondary:#6b6580;--color-accent:#7b5ca0;--color-accent-hover:#6b4c90;--color-accent-light:#7b5ca01f;--color-secondary:#9e5068;--color-secondary-light:#9e50681f;--color-success:#3a8060;--color-warning:#8a6018;--color-danger:#b85450;--color-info:#5078a0;--app-font-size:16px;--font-display:"Source Serif 4", Georgia, serif;--fs-2xs:.6875rem;--fs-xs:.75rem;--fs-xs-plus:.8125rem;--fs-sm:.875rem;--fs-sm-plus:.9375rem;--fs-base:1rem;--fs-base-plus:1.0625rem;--fs-md:1.125rem;--fs-md-plus:1.1875rem;--fs-lg:1.25rem;--fs-lg-plus:1.375rem;--fs-xl:1.5rem;--fs-xl-plus:1.625rem;--fs-2xl:1.75rem;--fs-3xl:2rem;--fs-3xl-plus:2.25rem;--fs-4xl:2.5rem;--fs-4xl-plus:2.75rem;--fs-5xl:3rem;--fs-5xl-plus:3.25rem;--fs-6xl:3.5rem;--fs-7xl:4rem;--fs-8xl:4.5rem}html.large-text{--fs-2xs:.75rem;--fs-xs:.875rem;--fs-xs-plus:.9375rem;--fs-sm:1rem;--fs-sm-plus:1.0625rem;--fs-base:1.125rem;--fs-base-plus:1.1875rem;--fs-md:1.25rem;--fs-md-plus:1.375rem;--fs-lg:1.375rem;--fs-lg-plus:1.5rem;--fs-xl:1.625rem;--fs-xl-plus:1.75rem;--fs-2xl:2rem;--fs-3xl:2.25rem;--fs-3xl-plus:2.5rem;--fs-4xl:2.75rem;--fs-4xl-plus:3rem;--fs-5xl:3.25rem;--fs-5xl-plus:3.5rem;--fs-6xl:4rem;--fs-7xl:4.5rem;--fs-8xl:5rem}html.high-contrast{--color-bg-primary:#fff;--color-bg-elevated:#fff;--color-bg-surface:#f5f5f5;--color-bg-card:#fff;--color-text-primary:#000;--color-text-secondary:#1a1a1a;--color-accent:#5a3d80;--color-accent-hover:#4a2d70;--color-accent-light:#5a3d8033;--color-secondary:#902050;--color-secondary-light:#90205026;--color-success:#1a6040;--color-warning:#8a5800;--color-danger:#c02020}html.high-contrast body{background:#fff!important}html.high-contrast.dark-mode{--color-bg-primary:#000;--color-bg-elevated:#050508;--color-bg-surface:#0a0a10;--color-bg-card:#111118;--color-text-primary:#fff;--color-text-secondary:#f0f0f0;--color-accent:#c0b0e0;--color-accent-hover:#d8c8f0;--color-accent-light:#c0b0e040;--color-secondary:#e8b0c0;--color-secondary-light:#e8b0c033;--color-success:#80c8a0;--color-warning:#f0d880;--color-danger:#e08080}html.high-contrast.dark-mode body{background:#000!important}html.high-contrast body:before,html.high-contrast body:after,html.high-contrast .app-root:before{display:none!important}html.high-contrast .app-root{box-shadow:none!important;animation:none!important}html.high-contrast .card{background:#fff!important;border:2px solid #5a3d80!important}html.high-contrast.dark-mode .card{background:#111!important;border:2px solid #a5b4ff!important}html.high-contrast .app-header{background:#fff!important;border-bottom:4px solid #5a3d80!important}html.high-contrast.dark-mode .app-header{background:#000!important;border-bottom:4px solid #a5b4ff!important}html.high-contrast .app-header:before{display:none}html.high-contrast button,html.high-contrast [role=button]{outline-offset:1px;outline:2px solid #5a3d80}html.high-contrast.dark-mode button,html.high-contrast.dark-mode [role=button]{outline-offset:1px;outline:2px solid #a5b4ff}html.high-contrast input,html.high-contrast select,html.high-contrast textarea{color:#000!important;background:#fff!important;border:2px solid #5a3d80!important}html.high-contrast.dark-mode input,html.high-contrast.dark-mode select,html.high-contrast.dark-mode textarea{color:#fff!important;background:#111!important;border:2px solid #a5b4ff!important}html.high-contrast .tag,html.high-contrast .journey-card,html.high-contrast .pain-tag{border:2px solid #5a3d80!important}html.high-contrast.dark-mode .tag,html.high-contrast.dark-mode .journey-card,html.high-contrast.dark-mode .pain-tag{border:2px solid #a5b4ff!important}html.high-contrast .card h2,html.high-contrast .app-title{-webkit-text-fill-color:#5a3d80!important;color:#5a3d80!important;background:0 0!important}html.high-contrast.dark-mode .card h2,html.high-contrast.dark-mode .app-title{-webkit-text-fill-color:#c7d2fe!important;color:#c7d2fe!important;background:0 0!important}html.dark-mode{--color-bg-primary:#0c0a14;--color-bg-elevated:#16122a;--color-bg-surface:#1e1a30;--color-bg-card:#262240;--color-text-primary:#fff;--color-text-secondary:#d1d0d8;--color-accent:#8b6fb0;--color-accent-hover:#7b5ca0;--color-accent-light:#8b6fb026;--color-secondary:#c07088;--color-secondary-light:#c0708826;--color-success:#4a9070;--color-warning:#c89838;--color-info:#7090b0}html.dark-mode body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M0 8 Q12 4 24 8 Q36 12 48 8' stroke='rgba(139,111,176,0.06)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M0 24 Q12 20 24 24 Q36 28 48 24' stroke='rgba(192,112,136,0.05)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M0 40 Q12 36 24 40 Q36 44 48 40' stroke='rgba(139,111,176,0.05)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M8 0 Q4 12 8 24 Q12 36 8 48' stroke='rgba(192,112,136,0.045)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M24 0 Q20 12 24 24 Q28 36 24 48' stroke='rgba(139,111,176,0.04)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M40 0 Q36 12 40 24 Q44 36 40 48' stroke='rgba(192,112,136,0.04)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='8' r='0.8' fill='rgba(139,111,176,0.07)'/%3E%3Ccircle cx='24' cy='24' r='0.8' fill='rgba(192,112,136,0.06)'/%3E%3Ccircle cx='40' cy='40' r='0.8' fill='rgba(139,111,176,0.06)'/%3E%3Ccircle cx='8' cy='40' r='0.6' fill='rgba(192,112,136,0.05)'/%3E%3Ccircle cx='40' cy='8' r='0.6' fill='rgba(139,111,176,0.05)'/%3E%3C/svg%3E"),radial-gradient(at 20%,#8b6fb014 0%,#0000 60%),radial-gradient(at 80% 20%,#c070880f 0%,#0000 50%),radial-gradient(at 60% 80%,#7090b00d 0%,#0000 50%),linear-gradient(160deg,#0c0a14 0%,#100e1e 20%,#141028 45%,#12101e 65%,#0e0c18 85%,#0c0a14 100%)}html.dark-mode .card{box-shadow:0 4px 20px #0003}html.dark-mode .app-root{animation:20s ease-in-out infinite breatheVignetteDark;box-shadow:inset 0 0 150px 60px #04030859}html.dark-mode body:before{background:radial-gradient(600px,#8b6fb012 0%,#0000 100%) no-repeat,radial-gradient(500px,#c070880d 0%,#0000 100%) no-repeat}html.dark-mode body:after{background:linear-gradient(135deg,#0000 0% 40%,#8b6fb00f 45%,#c070880a 50%,#8b6fb00f 55%,#0000 60% 100%)}html.dark-mode .app-root:before{background-image:radial-gradient(1px 1px at 15% 25%,#8b6fb066 50%,#0000 100%),radial-gradient(1px 1px at 85% 15%,#c0708859 50%,#0000 100%),radial-gradient(1.2px 1.2px at 45% 70%,#ffffff4d 50%,#0000 100%),radial-gradient(1px 1px at 70% 45%,#8b6fb059 50%,#0000 100%),radial-gradient(.8px .8px at 25% 85%,#c070884d 50%,#0000 100%),radial-gradient(1px 1px at 55% 30%,#ffffff40 50%,#0000 100%),radial-gradient(1.2px 1.2px at 90% 75%,#8b6fb04d 50%,#0000 100%),radial-gradient(.8px .8px at 35%,#c0708840 50%,#0000 100%)}html.reduced-motion *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.reduced-motion body:before,html.reduced-motion body:after,html.reduced-motion .app-root,html.reduced-motion .app-root:before{animation:none!important}html.reduced-motion .app-root{box-shadow:inset 0 0 150px 60px #c8bedc26!important}html.reduced-motion.dark-mode .app-root{box-shadow:inset 0 0 150px 60px #04030859!important}html.reduce-flashing .app-header:before,html.reduce-flashing .mascot{transition:none!important;animation:none!important}html.reduce-flashing .xp-flash{opacity:0!important;pointer-events:none!important;transition:none!important;animation:none!important}html.reduce-flashing [style*=animation],html.reduce-flashing [class*=pulse],html.reduce-flashing [class*=shimmer],html.reduce-flashing [class*=glow],html.reduce-flashing [class*=flash],html.reduce-flashing [class*=bounce]{animation:none!important}html.reduce-flashing .ed-mode-card__status,html.reduce-flashing .crisis-banner{transition:none!important;animation:none!important}html.reduce-flashing body:before,html.reduce-flashing body:after,html.reduce-flashing .app-root,html.reduce-flashing .app-root:before{animation:none!important}html.reduce-flashing .app-root{box-shadow:inset 0 0 150px 60px #c8bedc26!important}html.reduce-flashing.dark-mode .app-root{box-shadow:inset 0 0 150px 60px #04030859!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-nav{z-index:9999;background:var(--color-accent);color:#fff;font-weight:700;font-size:var(--fs-base);border-radius:0 0 8px 8px;padding:12px 24px;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-nav:focus{top:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[role=button]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}select:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Atkinson Hyperlegible,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--app-font-size);background-color:var(--color-bg-primary);color:var(--color-text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M0 8 Q12 4 24 8 Q36 12 48 8' stroke='rgba(123,92,160,0.12)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M0 24 Q12 20 24 24 Q36 28 48 24' stroke='rgba(176,96,122,0.1)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M0 40 Q12 36 24 40 Q36 44 48 40' stroke='rgba(123,92,160,0.1)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M8 0 Q4 12 8 24 Q12 36 8 48' stroke='rgba(176,96,122,0.09)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M24 0 Q20 12 24 24 Q28 36 24 48' stroke='rgba(123,92,160,0.08)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M40 0 Q36 12 40 24 Q44 36 40 48' stroke='rgba(176,96,122,0.08)' fill='none' stroke-width='1' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='8' r='0.8' fill='rgba(123,92,160,0.14)'/%3E%3Ccircle cx='24' cy='24' r='0.8' fill='rgba(176,96,122,0.12)'/%3E%3Ccircle cx='40' cy='40' r='0.8' fill='rgba(123,92,160,0.12)'/%3E%3Ccircle cx='8' cy='40' r='0.6' fill='rgba(176,96,122,0.1)'/%3E%3Ccircle cx='40' cy='8' r='0.6' fill='rgba(123,92,160,0.1)'/%3E%3C/svg%3E"),radial-gradient(at 20%,#7b5ca01f 0%,#0000 60%),radial-gradient(at 80% 20%,#b0607a1a 0%,#0000 50%),radial-gradient(at 60% 80%,#5078a014 0%,#0000 50%),linear-gradient(160deg,#f8f6fb 0%,#f4f0f8 20%,#eee8f4 45%,#f2eef8 65%,#f6f2fa 85%,#f8f6fb 100%);line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(600px,#7b5ca01a 0%,#0000 100%) 30% 40%/100% 100% no-repeat,radial-gradient(500px,#b0607a14 0%,#0000 100%) 70% 60%/100% 100% no-repeat;width:200%;height:200%;animation:25s ease-in-out infinite alternate ambientDrift;position:fixed;top:-50%;left:-50%}body:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(135deg,#0000 0% 40%,#7b5ca01a 45%,#b0607a12 50%,#7b5ca01a 55%,#0000 60% 100%) 100% 100%/300% 300%;width:100%;height:100%;animation:15s ease-in-out infinite shimmerSweep;position:fixed;top:0;left:0}.app-root{z-index:1;flex-direction:column;height:100%;animation:20s ease-in-out infinite breatheVignette;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 150px 60px #c8bedc26}.app-root:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1px 1px at 15% 25%,#7b5ca059 50%,#0000 100%),radial-gradient(1px 1px at 85% 15%,#b0607a4d 50%,#0000 100%),radial-gradient(1.2px 1.2px at 45% 70%,#7b5ca040 50%,#0000 100%),radial-gradient(1px 1px at 70% 45%,#b0607a4d 50%,#0000 100%),radial-gradient(.8px .8px at 25% 85%,#7b5ca040 50%,#0000 100%),radial-gradient(1px 1px at 55% 30%,#b0607a33 50%,#0000 100%),radial-gradient(1.2px 1.2px at 90% 75%,#7b5ca040 50%,#0000 100%),radial-gradient(.8px .8px at 35%,#b0607a33 50%,#0000 100%);width:100%;height:100%;animation:6s ease-in-out infinite alternate sparkle;position:fixed;top:0;left:0}.app-header{text-align:center;background:linear-gradient(135deg, var(--color-bg-elevated) 0%, var(--color-bg-primary) 100%);border-bottom:3px solid #0000;border-image:linear-gradient(90deg,#7b5ca0 0%,#8b6fb0 20%,#c07088 40%,#c89838 60%,#c07088 80%,#8b6fb0 100%) 1;padding:8px 20px 6px;position:relative;overflow:hidden}.app-header:before{content:"";background:radial-gradient(circle,#6366f11a 0%,#0000 70%);width:200%;height:200%;animation:8s ease-in-out infinite pulse;position:absolute;top:-50%;left:-50%}.app-header:after{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='28'%3E%3Cpath d='M-10 14 Q50 4 110 14 Q170 24 230 14 Q290 4 350 14 Q410 24 470 14 Q530 4 590 14 Q650 24 710 14' stroke='rgba(99,102,241,0.14)' stroke-width='2' fill='none'/%3E%3Cpath d='M-10 18 Q50 8 110 18 Q170 28 230 18 Q290 8 350 18 Q410 28 470 18 Q530 8 590 18 Q650 28 710 18' stroke='rgba(236,72,153,0.1)' stroke-width='1.5' fill='none'/%3E%3Cpath d='M-10 22 Q50 12 110 22 Q170 32 230 22 Q290 12 350 22 Q410 32 470 22 Q530 12 590 22 Q650 32 710 22' stroke='rgba(139,92,246,0.08)' stroke-width='1' fill='none'/%3E%3C/svg%3E");background-repeat:repeat-x;height:14px;position:absolute;bottom:4px;left:0;right:0}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes ed-fab-pulse{0%,to{transform:scale(1);box-shadow:0 4px 16px #be785a4d}50%{transform:scale(1.03);box-shadow:0 4px 20px #be785a66,0 0 0 4px #be785a14}}@keyframes ambientDrift{0%{background-position:30% 40%,70% 60%}33%{background-position:40% 55%,60% 35%}66%{background-position:20% 60%,80% 45%}to{background-position:35% 35%,65% 70%}}@keyframes shimmerSweep{0%{opacity:0;background-position:100% 100%}15%{opacity:1}50%{opacity:1;background-position:0 0}85%{opacity:1}to{opacity:0;background-position:-100% -100%}}@keyframes breatheVignette{0%,to{box-shadow:inset 0 0 150px 60px #c8bedc26}50%{box-shadow:inset 0 0 180px 80px #c8bedc33}}@keyframes breatheVignetteDark{0%,to{box-shadow:inset 0 0 150px 60px #04030859}50%{box-shadow:inset 0 0 180px 80px #04030873}}@keyframes sparkle{0%{opacity:.3}25%{opacity:.7}50%{opacity:.4}75%{opacity:.8}to{opacity:.5}}.app-title{font-size:var(--fs-xl);background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-weight:800;position:relative}.app-subtitle{color:var(--color-text-secondary);font-size:var(--fs-sm);transition:opacity .3s;position:relative}.container{-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:600px;margin:0 auto;padding:16px 16px 20px;overflow-y:auto}.screen{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes mascotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.card{background:var(--color-bg-card);border:1px solid #8b6fb01f;border-radius:20px;margin-bottom:14px;padding:20px;transition:border-color .2s,opacity .3s;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000f}.card:before{content:"";background:linear-gradient(90deg, var(--color-accent), var(--color-secondary));opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}@media (hover:hover){.card:hover{border-color:#8b6fb040}.card:hover:before{opacity:1}}.card h2{font-size:var(--fs-lg);background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-secondary) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-weight:700}.card h3{font-size:var(--fs-base-plus);color:var(--color-text-primary);margin-bottom:10px;font-weight:700}.card p{color:var(--color-text-secondary);font-size:var(--fs-sm-plus);margin-bottom:10px;line-height:1.55}.stat-mini{background:var(--color-bg-surface);text-align:center;border:1px solid #8b6fb014;border-radius:14px;padding:14px 12px}.stat-val{font-size:var(--fs-xl);color:var(--color-accent);letter-spacing:-.02em;font-weight:800}.stat-lbl{font-size:var(--fs-xs-plus);color:var(--color-text-secondary);margin-top:2px}.ed-mode-card{box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;padding:14px 16px;transition:all .3s}.ed-mode-card--active{box-shadow:0 0 0 2px #be785a59}.ed-mode-card__status{border-radius:8px;outline:none;align-items:center;gap:10px;min-height:48px;margin:-4px;padding:4px;display:flex}.ed-mode-card__status:focus-visible{box-shadow:0 0 0 2px #6366f199}.ed-mode-card__icon{font-size:var(--fs-lg-plus);flex-shrink:0}.ed-mode-card__label{font-size:var(--fs-base);flex:1;font-weight:700}.ed-mode-card__report-hint{font-size:var(--fs-sm);opacity:.75;flex-shrink:0;font-weight:600}.ed-mode-card__subtext{font-size:var(--fs-sm);opacity:.85;margin:4px 0 10px 32px}.ed-mode-card__advance-btn{width:100%;min-height:48px;font-size:var(--fs-base);text-align:center;cursor:pointer;background:0 0;border:2px solid;border-radius:8px;margin-top:10px;padding:12px 16px;font-weight:700;transition:background .2s,opacity .2s;display:block}.ed-mode-card__advance-btn:hover{background:#ffffff1f}.ed-mode-card__advance-btn:active{opacity:.75}.ed-active-panel{background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin-bottom:16px;padding:16px}.ed-checkin-flow{background:var(--color-bg-surface);border-radius:10px;margin-top:12px;padding:16px}.ed-checkin-success{border:2px solid var(--color-success);color:var(--color-success);font-size:var(--fs-base);background:#22c55e26;border-left-width:5px;border-radius:8px;margin-bottom:10px;padding:10px 14px;font-weight:600}.ed-safety-alert{border:2px dashed var(--color-warning);font-size:var(--fs-base);color:var(--color-warning);background:#f59e0b26;border-radius:8px;margin-top:12px;padding:12px}.pain-summary{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pain-tag{background:var(--color-accent-light);color:var(--color-accent);font-size:var(--fs-sm);border-radius:12px;padding:4px 10px}.form-group{margin-bottom:20px}label{color:var(--color-text-primary);font-size:var(--fs-base);margin-bottom:8px;font-weight:500;display:block}.slider-wrap{margin-bottom:8px}.slider-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.slider-header label{font-size:var(--fs-base);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:700}.slider-badge{min-width:48px;height:48px;font-size:var(--fs-lg-plus);background:var(--slider-color,var(--color-accent));color:#fff;box-shadow:0 4px 16px color-mix(in srgb, var(--slider-color,var(--color-accent)) 45%, transparent);letter-spacing:-.5px;border-radius:14px;justify-content:center;align-items:center;font-weight:800;transition:background .2s,box-shadow .2s;display:flex}input[type=range]{-webkit-appearance:none;appearance:none;background:linear-gradient(to right, var(--slider-color,var(--color-accent)) 0%, var(--slider-color,var(--color-accent)) var(--slider-fill,0%), var(--color-accent-light) var(--slider-fill,0%), var(--color-accent-light) 100%);cursor:pointer;border-radius:6px;outline:none;width:100%;height:10px;margin:4px 0 10px;transition:background 50ms;box-shadow:inset 0 2px 4px #00000059}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:grab;border:3.5px solid var(--slider-color,var(--color-accent));background:#fff;border-radius:50%;width:44px;height:44px;transition:box-shadow .15s,transform .12s,border-width .12s;box-shadow:0 3px 12px #00000026}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 3px 16px #00000059, 0 0 0 5px color-mix(in srgb, var(--slider-color,var(--color-accent)) 22%, transparent)}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;box-shadow:0 4px 20px #0006, 0 0 0 7px color-mix(in srgb, var(--slider-color,var(--color-accent)) 28%, transparent);border-width:4px;transform:scale(1.18)}input[type=range]::-webkit-slider-runnable-track{border-radius:6px;height:10px}input[type=range]::-moz-range-thumb{cursor:grab;border:3.5px solid var(--slider-color,var(--color-accent));background:#fff;border-radius:50%;width:44px;height:44px;box-shadow:0 3px 12px #0000004d}input[type=range]::-moz-range-track{background:var(--color-accent-light);border-radius:6px;height:10px}input[type=range]::-moz-range-progress{background:var(--slider-color,var(--color-accent));border-radius:6px;height:10px}input[type=range].heat-track{background:var(--slider-gradient,linear-gradient(to right, #1e293b, var(--slider-color,#6366f1)))!important}input[type=range].heat-track::-webkit-slider-runnable-track{background:var(--slider-gradient,linear-gradient(to right, #1e293b, var(--slider-color,#6366f1)));box-shadow:none}input[type=range].heat-track::-moz-range-track{background:var(--slider-gradient,linear-gradient(to right, #1e293b, var(--slider-color,#6366f1)));box-shadow:none}input[type=range].heat-track::-moz-range-progress{background:0 0}.slider-edge-labels{font-size:var(--fs-sm);color:var(--color-text-secondary);justify-content:space-between;margin-top:6px;display:flex}.slider-value{font-size:var(--fs-sm);color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-top:6px;display:flex}.slider-value .current{background:var(--color-accent);color:#fff;font-weight:700;font-size:var(--fs-sm);border-radius:50%;justify-content:center;align-items:center;min-width:32px;height:32px;display:flex;box-shadow:0 2px 8px #6366f166}select{background:var(--color-bg-surface);border:1px solid var(--color-bg-surface);width:100%;color:var(--color-text-primary);font-size:var(--fs-base);cursor:pointer;border-radius:8px;padding:12px}.btn{font-size:var(--fs-base);cursor:pointer;border:none;border-radius:12px;width:100%;min-height:48px;padding:14px 24px;font-weight:600;transition:opacity .15s,transform .1s;display:block}.btn:active{opacity:.85;transform:scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-secondary) 100%);color:#fff;position:relative;overflow:hidden}@media (hover:hover){.btn-primary:hover{box-shadow:0 6px 20px #8b6fb059}}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid #8b6fb026}@media (hover:hover){.btn-secondary:hover{background:var(--color-bg-elevated);border-color:#8b6fb040}}.btn-group{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.tag-group{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag{background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--fs-sm-plus);cursor:pointer;border:1.5px solid #8b6fb01a;border-radius:24px;align-items:center;min-height:44px;padding:10px 16px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.tag:active{transform:scale(.97)}.tag.selected{background:var(--color-accent);color:var(--color-bg-primary);border-color:var(--color-accent)}.custom-tag-input-wrap{background:var(--color-bg-surface);border:1px dashed var(--color-accent);border-radius:20px;align-items:center;gap:4px;padding:3px 8px 3px 10px;display:inline-flex}.custom-tag-input{color:var(--color-text-primary);font-size:var(--fs-base);background:0 0;border:none;outline:none;width:120px;min-width:80px}.custom-tag-input::placeholder{color:var(--color-text-secondary)}.custom-tag-confirm-btn{background:var(--color-accent);color:#fff;font-size:var(--fs-xs);cursor:pointer;border:none;border-radius:12px;padding:2px 10px;font-weight:600;transition:opacity .2s}.custom-tag-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.custom-tag-confirm-btn:not(:disabled):hover{opacity:.85}.custom-tag-cancel-btn{color:var(--color-text-secondary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:0 2px;line-height:1}.custom-tag-cancel-btn:hover{color:var(--color-text-primary)}.journey-card{background:var(--color-bg-card);cursor:pointer;border:2px solid #0000;border-radius:18px;margin-bottom:12px;padding:18px;transition:border-color .2s;position:relative}.journey-card:active{opacity:.9}.journey-card.active{border-color:var(--color-accent);background:var(--color-accent-light)}@media (hover:hover){.journey-card:hover{border-color:var(--color-accent)}}.journey-badge{background:var(--color-accent-light);color:var(--color-accent);font-size:var(--fs-sm);text-transform:uppercase;border-radius:12px;margin-bottom:8px;padding:4px 12px;font-weight:600;display:inline-block}.journey-card h4{color:var(--color-accent);font-size:var(--fs-base);margin-bottom:6px}.journey-card p{font-size:var(--fs-base);color:var(--color-text-secondary)}.journey-details{border-top:1px solid #6366f133;margin-top:16px;padding-top:16px}.phase-tabs{gap:8px;margin-bottom:16px;display:flex}.phase-tab{background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;font-size:var(--fs-base);text-align:center;border-radius:8px;flex:1;padding:8px 12px;font-weight:600}.phase-tab.active{background:var(--color-accent);color:#fff}.feature-list{margin:0;padding:0;list-style:none}.feature-list li{background:var(--color-bg-surface);font-size:var(--fs-sm-plus);color:var(--color-text-secondary);border-radius:12px;align-items:center;min-height:44px;margin-bottom:8px;padding:12px 14px;transition:background .15s;display:flex}@media (hover:hover){.feature-list li:hover{background:var(--color-accent-light);color:var(--color-accent)}}.progress-bar{background:#ffffff0f;border-radius:6px;width:100%;height:8px;margin-bottom:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-accent), var(--color-secondary));border-radius:6px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.timeline{margin-top:20px;padding-left:30px;position:relative}.timeline:before{content:"";background:var(--color-bg-surface);width:2px;position:absolute;top:0;bottom:0;left:8px}.timeline-item{background:var(--color-bg-surface);border-radius:8px;margin-bottom:24px;padding:12px;position:relative}.timeline-item:before{content:"";background:var(--color-accent);border:3px solid var(--color-bg-primary);border-radius:50%;width:12px;height:12px;position:absolute;top:16px;left:-22px}.timeline-item .date{font-size:var(--fs-sm);color:var(--color-text-secondary);margin-bottom:4px}.timeline-item .content{font-size:var(--fs-base);color:var(--color-text-primary)}.alert{font-size:var(--fs-base);border-radius:8px;margin-bottom:16px;padding:12px 16px}.alert-info{color:var(--color-accent);background:#38bdf81a;border:1px solid #38bdf84d}.resource-card{background:var(--color-bg-surface);border-radius:8px;margin-bottom:10px;padding:14px;transition:background .15s}.resource-card:hover{background:var(--color-bg-elevated)}.resource-card h4{font-size:var(--fs-base);color:var(--color-text-primary);margin-bottom:4px}.resource-card p{font-size:var(--fs-sm);color:var(--color-text-secondary);margin-bottom:8px}.resource-card .btn{font-size:var(--fs-sm);padding:8px 16px}.library-card-static{border-radius:10px;margin-bottom:10px;padding:14px;transition:box-shadow .15s,transform .15s}.library-card-static:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0000001a}.flippy-card-wrapper{perspective:1200px;cursor:pointer}.flippy-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.34,1.2,.64,1);position:relative}.flippy-card-inner.flipped{transform:rotateY(180deg)}.flippy-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;border-radius:12px;flex-direction:column;width:100%;height:100%;padding:14px;display:flex;position:absolute}.flippy-card-inner.flipped .flippy-card-front{animation:.55s cubic-bezier(.34,1.2,.64,1) forwards flipFadeOut}.flippy-card-inner.flipped .flippy-card-back{animation:.55s cubic-bezier(.34,1.2,.64,1) forwards flipFadeIn}.flippy-card-back{transform:rotateY(180deg)}.library-card-flip-wrapper{perspective:1200px;cursor:pointer;height:234px;margin-bottom:12px}.library-card-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.34,1.2,.64,1);position:relative}.library-card-flip-inner.flipped{transform:rotateY(180deg)}.library-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;border-radius:14px;flex-direction:column;width:100%;height:100%;padding:13px;display:flex;position:absolute;overflow:hidden}.library-card-flip-inner.flipped .library-card-front{animation:.55s cubic-bezier(.34,1.2,.64,1) forwards flipFadeOut}.library-card-flip-inner.flipped .library-card-back{animation:.55s cubic-bezier(.34,1.2,.64,1) forwards flipFadeIn}.library-card-back{transform:rotateY(180deg)}@keyframes flipFadeOut{0%{opacity:1}40%{opacity:.6}50%{opacity:0}to{opacity:0}}@keyframes flipFadeIn{0%{opacity:0}50%{opacity:0}60%{opacity:.6}to{opacity:1}}.crisis-banner{background:var(--color-bg-card);z-index:120;pointer-events:none;border:1px solid #ef444459;border-radius:16px 16px 12px 12px;max-height:calc(100vh - 140px);padding:16px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:fixed;bottom:64px;left:12px;right:12px;overflow-y:auto;transform:translateY(calc(100% + 80px));box-shadow:0 -4px 32px #0000001a}.crisis-banner--visible{pointer-events:all;transform:translateY(0)}.crisis-banner-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.crisis-banner-title{font-size:var(--fs-base);color:#f1f5f9;font-weight:700}.crisis-banner-close{width:28px;height:28px;font-size:var(--fs-sm);color:#94a3b8;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s;display:flex}.crisis-banner-close:active{background:#ffffff26}.crisis-banner-msg{font-size:var(--fs-sm);color:#94a3b8;margin:0 0 8px;line-height:1.5}.crisis-banner-btn{text-align:center;font-size:var(--fs-base);border-radius:10px;margin-bottom:10px;padding:11px 16px;font-weight:700;text-decoration:none;transition:opacity .15s;display:block}.crisis-banner-btn:last-child{margin-bottom:0}.crisis-banner-btn:active{opacity:.8}.crisis-btn-911{color:#fca5a5;background:#ef44442e;border:1px solid #ef444473}.crisis-btn-998{color:#93c5fd;background:#60a5fa26;border:1px solid #60a5fa66}.crisis-btn-khp{color:#fde68a;background:#facc151f;border:1px solid #facc1559}.crisis-btn-indigenous{color:#6ee7b7;background:#34d3991f;border:1px solid #34d39959}.bottom-nav{background:var(--color-bg-elevated);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #8b6fb026;flex-direction:column;flex-shrink:0;display:flex;box-shadow:0 -2px 16px #0000000f}html.dark-mode .bottom-nav{box-shadow:0 -2px 16px #00000040}.crisis-safety-note{text-align:center;font-size:var(--fs-xs);color:var(--color-text-secondary);letter-spacing:.1px;opacity:.7;padding:6px 12px 0;line-height:1.4}.bottom-nav-items{justify-content:space-around;gap:2px;padding:4px 8px 6px;display:flex}.bottom-nav-item{text-align:center;min-height:56px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 4px 6px;font-family:inherit;text-decoration:none;transition:color .2s,transform .15s;display:flex;position:relative}.bottom-nav-item.active{color:var(--color-accent);background:#8b6fb01a}.bottom-nav-item.active:after{content:"";background:var(--color-accent);border-radius:2px;width:20px;height:3px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item span:first-of-type{font-size:var(--fs-lg-plus)}.bottom-nav-item span:last-of-type{font-size:var(--fs-xs);letter-spacing:.01em;margin-top:1px;font-weight:500;display:block}.floating-action{background:linear-gradient(135deg, var(--color-accent), var(--color-secondary));color:#fff;width:48px;height:48px;font-size:var(--fs-lg-plus);cursor:pointer;z-index:1000;-webkit-user-select:none;user-select:none;opacity:.65;border-radius:50%;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:100px;right:20px;box-shadow:0 4px 12px #6366f140}.floating-action:hover,.floating-action:focus{opacity:1;transform:scale(1.1)rotate(90deg)}.floating-action.fab-tucked{width:48px;height:32px;font-size:var(--fs-base);opacity:.5;border-radius:24px 0 0 24px;transform:translate(calc(100% - 10px));box-shadow:-2px 0 8px #6366f133}.floating-action.fab-tucked:hover,.floating-action.fab-tucked:focus{width:48px;height:48px;font-size:var(--fs-lg-plus);opacity:1;border-radius:50%;transform:translate(0)}.quick-actions-panel{background:var(--color-bg-card);z-index:999;border:1px solid #6366f14d;border-radius:12px;flex-direction:column;gap:8px;min-width:180px;padding:12px;animation:.2s fadeIn;display:flex;position:fixed;bottom:170px;right:20px;box-shadow:0 8px 24px #0006}.quick-action-btn{background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--fs-sm);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:8px;padding:10px 14px;transition:all .3s}.quick-action-btn:hover{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{background:var(--color-bg-surface);cursor:pointer;font-size:var(--fs-base);border:2px solid #0000;border-radius:14px;min-height:48px;padding:14px 16px;transition:border-color .15s,background .15s}@media (hover:hover){.radio-option:hover{border-color:#8b6fb04d}}.radio-option.selected{border-color:var(--color-accent);background:#8b6fb01a}.modal-overlay{z-index:2000;background:#000c;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--color-bg-card);border:1px solid #8b6fb033;border-radius:20px;width:100%;max-width:500px;max-height:85vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{border-bottom:1px solid #8b6fb026;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h3{color:var(--color-accent);font-size:var(--fs-md);margin:0;font-weight:700}.modal-close{background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--fs-lg-plus);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;transition:background .15s;display:flex}.modal-close:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.modal-body{padding:20px}.modal-body h4{color:var(--color-text-primary);font-size:var(--fs-base);margin:16px 0 8px}.modal-body p{color:var(--color-text-secondary);font-size:var(--fs-base);margin-bottom:12px;line-height:1.6}.modal-body ul{margin:12px 0;padding-left:20px}.modal-body li{color:var(--color-text-secondary);font-size:var(--fs-base);margin-bottom:8px}.script-editor{background:var(--color-bg-surface);border-radius:8px;margin:16px 0;padding:16px}.script-template{background:var(--color-accent-light);border-left:3px solid var(--color-accent);border-radius:8px;margin:12px 0;padding:12px}.script-template p{font-size:var(--fs-sm);margin:0;font-style:italic}.module-category{margin-bottom:24px}.module-category h3{font-size:var(--fs-md);color:var(--color-accent);align-items:center;gap:8px;margin-bottom:12px;display:flex}.module-grid{grid-template-columns:1fr;gap:12px;display:grid}.module-card{background:var(--color-bg-surface);cursor:pointer;border:2px solid #0000;border-radius:12px;padding:16px;transition:all .3s}.module-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.module-card h4{font-size:var(--fs-base);color:var(--color-text-primary);margin-bottom:6px}.module-card p{font-size:var(--fs-sm);color:var(--color-text-secondary);margin:0}.module-tag{background:var(--color-accent-light);color:var(--color-accent);font-size:var(--fs-xs);border-radius:12px;margin-top:8px;padding:4px 8px;font-weight:600;display:inline-block}.pattern-insight-card{background:var(--color-bg-surface);border-left:4px solid var(--color-accent);border-radius:8px;margin-bottom:16px;padding:16px}.pattern-insight-card h4{color:var(--color-accent);font-size:var(--fs-base);margin-bottom:8px}.pattern-insight-card p{font-size:var(--fs-sm);color:var(--color-text-secondary);margin-bottom:12px}.insight-stat{border-top:1px solid #6366f133;justify-content:space-between;padding:8px 0;display:flex}.insight-stat span:first-child{color:var(--color-text-secondary);font-size:var(--fs-sm)}.insight-stat span:last-child{color:var(--color-accent);font-weight:600}.identity-pill{font-size:var(--fs-sm);color:var(--color-accent);background:#6366f126;border:1px solid #6366f159;border-radius:20px;margin-bottom:4px;margin-right:4px;padding:4px 10px;display:inline-block}.identity-pill--selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@keyframes xpPop{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.7)}15%{opacity:1;transform:translate(-50%)translateY(-18px)scale(1.18)}30%{transform:translate(-50%)translateY(-22px)scale(.96)}45%{transform:translate(-50%)translateY(-26px)scale(1.06)}60%{opacity:1;transform:translate(-50%)translateY(-28px)scale(1)}85%{opacity:1;transform:translate(-50%)translateY(-32px)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-44px)scale(.9)}}.xp-flash{background:linear-gradient(135deg, var(--color-accent), var(--color-secondary));color:#fff;font-size:var(--fs-md-plus);z-index:3000;pointer-events:none;white-space:nowrap;letter-spacing:.5px;border-radius:28px;padding:10px 24px;font-weight:800;animation:2.8s cubic-bezier(.22,1,.36,1) forwards xpPop;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 6px 28px #6366f199,0 2px 8px #0003}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.achievement-chip{text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;transition:transform .2s;display:flex}.achievement-chip:hover{transform:translateY(-2px)}.achievement-chip.unlocked{background:#6366f11f;border:1px solid #6366f14d}.achievement-chip.locked{background:#ffffff08;border:1px solid #ffffff14}.achievement-chip-label{font-size:var(--fs-sm);color:var(--color-text-primary);font-weight:600;line-height:1.3}.achievement-chip-desc{font-size:var(--fs-xs);color:var(--color-text-secondary);line-height:1.4}@keyframes avatarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes avatarBounce{0%{transform:scale(1)}40%{transform:scale(1.18)}70%{transform:scale(.92)}to{transform:scale(1)}}@keyframes sparkleFloat{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--spark-dx,20px), var(--spark-dy,-20px)) scale(.2)}}@keyframes lvlUpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes lvlUpBadgePop{0%{opacity:0;transform:scale(.6)translateY(30px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes lvlUpSpin{0%{transform:rotate(-20deg)scale(.5)}60%{transform:rotate(10deg)scale(1.15)}to{transform:rotate(0)scale(1)}}@keyframes avatarStreakGlow{0%,to{transform:translateY(0);box-shadow:0 0 20px #fbbf244d,0 0 40px #fbbf241a}50%{transform:translateY(-3px);box-shadow:0 0 35px #fbbf2499,0 0 60px #fbbf2433}}@keyframes avatarCalmPulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes avatarShimmer{0%,to{filter:brightness();transform:translateY(0)}25%{filter:brightness(1.15)}50%{filter:brightness();transform:translateY(-4px)}75%{filter:brightness(1.1)}}@keyframes previewPulseRing{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}@keyframes guideAffirmationIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.avatar-float{animation:none!important}.progress-fill{transition:none!important}}@media (prefers-contrast:more){:root{--color-bg-primary:#000;--color-bg-elevated:#050508;--color-bg-surface:#0a0a10;--color-bg-card:#111118;--color-text-secondary:#e8e8e8;--color-accent:#c0b0e0}.card{border-width:2px}body:before,body:after,.app-root:before{display:none!important}.app-root{box-shadow:none!important;animation:none!important}}@keyframes spin{to{transform:rotate(360deg)}}
