:root{--font-primary:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Playfair Display", Georgia, serif;--bg-deep:220, 18%, 6%;--bg-card:220, 16%, 10%;--bg-card-hover:220, 16%, 13%;--primary:246, 96%, 67%;--primary-glow:#6d5dfc26;--accent-health:182, 100%, 47%;--accent-health-glow:#00f2fe26;--accent-sos:353, 100%, 62%;--accent-sos-glow:#ff3e554d;--accent-warning:38, 100%, 53%;--text-primary:210, 20%, 95%;--text-muted:220, 12%, 64%;--text-dark:220, 15%, 40%;--border-glow:#ffffff0a;--border-focus:#6d5dfc66;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--bg-deep));color:hsl(var(--text-primary));font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:hsl(var(--bg-deep))}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-container{background-color:hsl(var(--bg-deep));border-left:1px solid var(--border-glow);border-right:1px solid var(--border-glow);flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 50px #000c}.app-header{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-glow);background:#0d0f13b3;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.brand-section{align-items:center;gap:.75rem;display:flex}.brand-logo{background:linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent-health)));border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex;box-shadow:0 0 15px #6d5dfc4d}.brand-logo svg{fill:#fff;width:1.25rem;height:1.25rem}.brand-name{font-family:var(--font-primary);letter-spacing:-.5px;background:linear-gradient(to right, #fff, hsl(var(--text-muted)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.35rem;font-weight:800}.user-badge{border:1px solid var(--border-glow);cursor:pointer;transition:var(--transition-smooth);background:#ffffff08;border-radius:20px;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;display:flex}.user-badge:hover{background:#ffffff14;border-color:#ffffff26}.user-avatar{background:hsl(var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.7rem;font-weight:700;display:flex}.app-content{flex:1;padding:1.5rem 1.5rem 6.5rem;overflow-y:auto}.onboarding-screen{flex-direction:column;justify-content:center;padding:2.5rem 1.5rem;animation:.4s ease-out fadeIn;display:flex}.onboarding-title-group{text-align:center;margin-bottom:2.5rem}.onboarding-title{background:linear-gradient(to right, #fff, hsl(var(--primary)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.25rem;font-weight:800}.onboarding-subtitle{color:hsl(var(--text-muted));font-size:1rem}.glass-card{background:hsl(var(--bg-card));border:1px solid var(--border-glow);transition:var(--transition-smooth);border-radius:20px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 10px 30px #0000004d}.glass-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.card-title-group{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.card-icon-wrapper{border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.card-icon-wrapper.primary{background:var(--primary-glow);color:hsl(var(--primary))}.card-icon-wrapper.health{background:var(--accent-health-glow);color:hsl(var(--accent-health))}.card-icon-wrapper.sos{background:var(--accent-sos-glow);color:hsl(var(--accent-sos))}.card-title{font-size:1.15rem;font-weight:700}.form-group{margin-bottom:1.25rem}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:hsl(var(--text-muted));margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-input{border:1px solid var(--border-glow);width:100%;color:hsl(var(--text-primary));font-family:var(--font-primary);transition:var(--transition-smooth);background:#00000040;border-radius:12px;padding:.85rem 1rem;font-size:.95rem}.form-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px var(--primary-glow);outline:none}.form-textarea{resize:vertical;min-height:80px}.contacts-editor{flex-direction:column;gap:1rem;display:flex}.contact-row-edit{border:1px solid var(--border-glow);background:#00000026;border-radius:12px;grid-template-columns:2fr 2fr 1.5fr auto;align-items:center;gap:.5rem;padding:.75rem;display:grid}.btn-remove{color:hsl(var(--accent-sos));cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:.25rem;font-size:1.25rem}.btn-remove:hover{background:#ff3e5526}.btn-secondary-outline{border:1px dashed hsl(var(--primary));width:100%;color:hsl(var(--primary));cursor:pointer;transition:var(--transition-smooth);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:600;display:flex}.btn-secondary-outline:hover{background:var(--primary-glow)}.btn-primary{background:linear-gradient(135deg, hsl(var(--primary)), #5544e4);color:#fff;cursor:pointer;width:100%;transition:var(--transition-smooth);border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:700;display:flex;box-shadow:0 8px 25px #6d5dfc66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #6d5dfc80}.btn-primary:active{transform:translateY(0)}.dashboard-view{flex-direction:column;gap:1.5rem;animation:.3s ease-out fadeIn;display:flex}.emergency-btn-container{flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;display:flex;position:relative}.sos-trigger-outer{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;display:flex;position:relative}.sos-trigger-pulse-bg{background:hsl(var(--accent-sos));opacity:.1;pointer-events:none;border-radius:50%;animation:2s ease-out infinite pulseBg;position:absolute;inset:0;transform:scale(1)}.sos-trigger-pulse-bg-2{background:hsl(var(--accent-sos));opacity:.05;pointer-events:none;border-radius:50%;animation:2.5s ease-out infinite pulseBg2;position:absolute;inset:-15px;transform:scale(1)}.sos-trigger-button{background:radial-gradient(circle, #ff576a 0%, hsl(var(--accent-sos)) 100%);z-index:10;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;transition:transform .1s;display:flex;position:relative;box-shadow:0 15px 35px #ff3e5580,inset 0 2px 5px #fff6}.sos-trigger-button.pressing{transform:scale(.93);box-shadow:0 5px 15px #ff3e5599}.sos-trigger-label{letter-spacing:1.5px;color:#fff;text-shadow:0 2px 4px #0000004d;font-size:1.75rem;font-weight:900}.sos-trigger-sublabel{text-transform:uppercase;color:#ffffffd9;letter-spacing:.5px;margin-top:.25rem;font-size:.75rem;font-weight:600}.sos-progress-ring-svg{pointer-events:none;z-index:5;width:180px;height:180px;position:absolute;top:0;left:0;transform:rotate(-90deg)}.sos-progress-ring-circle{stroke:hsl(var(--accent-sos));stroke-dasharray:502;stroke-dashoffset:502px;transition:stroke-dashoffset .1s linear}.sos-instruction-text{text-align:center;color:hsl(var(--text-muted));margin-top:1rem;font-size:.9rem}.active-sos-panel{border:2px solid hsl(var(--accent-sos));background:#ff3e550d;animation:2s infinite alternate flashBorder;box-shadow:0 0 30px #ff3e5533}.sos-pulse-dot{background:hsl(var(--accent-sos));border-radius:50%;width:8px;height:8px;animation:1s infinite alternate dotBlink;display:inline-block}.active-sos-title{color:hsl(var(--accent-sos));align-items:center;gap:.5rem;font-weight:800;display:flex}.coordinates-display{border:1px solid var(--border-glow);background:#0000004d;border-radius:10px;justify-content:space-between;align-items:center;margin:1rem 0;padding:.75rem 1rem;font-family:monospace;font-size:.85rem;display:flex}.alert-simulation-pill{background:var(--accent-sos-glow);color:hsl(var(--accent-sos));text-transform:uppercase;border-radius:30px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.btn-danger{background:hsl(var(--accent-sos));color:#fff;cursor:pointer;width:100%;transition:var(--transition-smooth);border:none;border-radius:12px;padding:.85rem;font-weight:700;box-shadow:0 4px 15px #ff3e554d}.btn-danger:hover{background:#ff576a;transform:translateY(-1px)}.checkin-mood-selector{justify-content:space-between;gap:.5rem;margin:1rem 0;display:flex}.mood-btn{border:1px solid var(--border-glow);cursor:pointer;transition:var(--transition-smooth);background:#0003;border-radius:14px;flex-direction:column;flex:1;align-items:center;padding:.75rem .5rem;display:flex}.mood-btn:hover{background:#ffffff0d}.mood-btn.selected{background:var(--primary-glow);border-color:hsl(var(--primary));transform:translateY(-2px);box-shadow:0 5px 15px #6d5dfc33}.mood-emoji{margin-bottom:.25rem;font-size:1.5rem}.mood-name{color:hsl(var(--text-muted));font-size:.75rem;font-weight:600}.mood-btn.selected .mood-name{color:hsl(var(--text-primary))}.bottom-nav{z-index:100;-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-glow);background:#15181ed9;padding:.75rem 1rem;position:fixed;bottom:0;left:0;right:0}.nav-inner{justify-content:space-between;max-width:560px;margin:0 auto;display:flex}.nav-item{color:hsl(var(--text-dark));cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.nav-item svg{fill:currentColor;width:1.35rem;height:1.35rem;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.nav-item-label{font-size:.7rem;font-weight:600}.nav-item.active{color:hsl(var(--primary))}.nav-item.active svg{fill:hsl(var(--primary));transform:translateY(-2px)scale(1.1)}.peer-chat-container{background:hsl(var(--bg-card));border:1px solid var(--border-glow);border-radius:20px;flex-direction:column;height:70vh;animation:.3s ease-out fadeIn;display:flex;overflow:hidden}.chat-channel-select-header{border-bottom:1px solid var(--border-glow);background:#0003;padding:1rem}.channel-selector-dropdown{border:1px solid var(--border-glow);color:#fff;width:100%;font-size:.95rem;font-family:var(--font-primary);background:#0d0f13cc;border-radius:12px;padding:.75rem;font-weight:600}.chat-messages-area{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.chat-bubble-row{flex-direction:column;display:flex}.chat-bubble-row.me{align-items:flex-end}.chat-bubble-row.other{align-items:flex-start}.chat-sender-name{color:hsl(var(--text-muted));margin-bottom:.25rem;font-size:.75rem;font-weight:600}.chat-bubble{word-break:break-word;border-radius:16px;max-width:80%;padding:.75rem 1rem;font-size:.95rem;line-height:1.4}.chat-bubble-row.me .chat-bubble{background:hsl(var(--primary));color:#fff;border-bottom-right-radius:4px}.chat-bubble-row.other .chat-bubble{color:hsl(var(--text-primary));background:#ffffff0d;border-bottom-left-radius:4px}.chat-timestamp{color:hsl(var(--text-dark));margin-top:.25rem;font-size:.65rem}.chat-input-bar{border-top:1px solid var(--border-glow);background:#0003;gap:.5rem;padding:1rem;display:flex}.chat-input{border:1px solid var(--border-glow);color:#fff;font-family:var(--font-primary);background:#0000004d;border-radius:12px;flex:1;padding:.75rem 1rem}.chat-input:focus{border-color:hsl(var(--primary));outline:none}.btn-send{background:hsl(var(--primary));color:#fff;cursor:pointer;width:44px;height:44px;transition:var(--transition-smooth);border:none;border-radius:12px;justify-content:center;align-items:center;display:flex}.btn-send:hover{transform:scale(1.05)}.health-tab-headers{border:1px solid var(--border-glow);background:#0003;border-radius:12px;margin-bottom:1.5rem;padding:.25rem;display:flex}.tab-select-btn{color:hsl(var(--text-muted));cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:10px;flex:1;padding:.6rem 0;font-size:.85rem;font-weight:700}.tab-select-btn.active{background:hsl(var(--accent-health));color:hsl(var(--bg-deep))}.chart-container{border:1px solid var(--border-glow);background:#00000026;border-radius:14px;margin-bottom:1.5rem;padding:1rem}.chart-title-bar{color:hsl(var(--text-muted));justify-content:space-between;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:flex}.chart-svg{width:100%;height:120px}.first-aid-search-group{margin-bottom:1rem;position:relative}.search-icon-decor{color:hsl(var(--text-muted));position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input-field{padding-left:2.5rem}.guide-list{flex-direction:column;gap:.75rem;display:flex}.guide-item-summary{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.guide-chevron{color:hsl(var(--text-muted));transition:var(--transition-smooth);font-size:1.25rem}.guide-chevron.expanded{transform:rotate(90deg)}.guide-expanded-content{border-top:1px solid var(--border-glow);color:hsl(var(--text-muted));margin-top:1rem;padding-top:1rem;font-size:.95rem;animation:.25s ease-out slideDown}.guide-step-item{gap:.75rem;margin-bottom:.75rem;display:flex}.guide-step-number{background:var(--accent-health-glow);width:1.25rem;height:1.25rem;color:hsl(var(--accent-health));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:.2rem;font-size:.75rem;font-weight:700;display:flex}.ai-companion-view{background:hsl(var(--bg-card));border:1px solid var(--border-glow);border-radius:20px;flex-direction:column;height:70vh;animation:.3s ease-out fadeIn;display:flex;overflow:hidden}.ai-bubble-row{flex-direction:column;display:flex}.ai-bubble-row.assistant .chat-bubble{color:hsl(var(--text-primary));background:#6d5dfc14;border:1px solid #6d5dfc26;border-bottom-left-radius:4px}.ai-bubble-row.assistant .chat-bubble h3{color:hsl(var(--primary));margin-bottom:.5rem;font-size:1rem;font-weight:700}.ai-bubble-row.assistant .chat-bubble ol,.ai-bubble-row.assistant .chat-bubble ul{margin-bottom:.5rem;padding-left:1.25rem}.ai-bubble-row.assistant .chat-bubble li{margin-bottom:.25rem}.responder-dashboard{animation:.3s ease-out fadeIn}.alert-card{background:#ff3e5505;border:1px solid #ff3e554d}.alert-card.new-pulse{animation:2.5s infinite alternate flashAlertCard}.responder-map-mock{border:1px solid var(--border-glow);background:#11151d;border-radius:12px;width:100%;height:150px;margin:1rem 0;position:relative;overflow:hidden}.map-grid-pattern{background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.map-radar-circle{background:#ff3e550d;border:1px solid #ff3e554d;border-radius:50%;width:80px;height:80px;animation:3s linear infinite radarScan;position:absolute;top:calc(50% - 40px);left:calc(50% - 40px)}.map-pin{background:hsl(var(--accent-sos));width:12px;height:12px;box-shadow:0 0 10px hsl(var(--accent-sos));border-radius:50%;position:absolute;top:calc(50% - 6px);left:calc(50% - 6px)}.map-pin-pulse{border:2px solid hsl(var(--accent-sos));opacity:0;border-radius:50%;width:30px;height:30px;animation:1.5s ease-out infinite pinPulse;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseBg{0%{opacity:.15;transform:scale(1)}50%{opacity:.05;transform:scale(1.15)}to{opacity:0;transform:scale(1.25)}}@keyframes pulseBg2{0%{opacity:.08;transform:scale(1)}50%{opacity:.03;transform:scale(1.25)}to{opacity:0;transform:scale(1.4)}}@keyframes flashBorder{0%{border-color:#ff3e554d}to{border-color:#ff3e55cc}}@keyframes flashAlertCard{0%{background:#ff3e5503;border-color:#ff3e5526}to{background:#ff3e550d;border-color:#ff3e5566}}@keyframes dotBlink{0%{opacity:.3}to{opacity:1}}@keyframes radarScan{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.8)}}@keyframes pinPulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(2)}}.text-center{text-align:center}.flex-row-center{align-items:center;gap:.5rem;display:flex}.margin-top-1{margin-top:1rem}.margin-top-2{margin-top:2rem}.font-serif{font-family:var(--font-serif)}.flex-between{justify-content:space-between;align-items:center;display:flex}.text-muted{color:hsl(var(--text-muted))}.small-text{font-size:.8rem}.italic{font-style:italic}.glowing-red{color:hsl(var(--accent-sos));text-shadow:0 0 10px #ff3e5566}.glowing-green{color:hsl(var(--accent-health));text-shadow:0 0 10px #00f2fe66}.scrollable-y{max-height:250px;padding-right:.25rem;overflow-y:auto}.log-record-item{border-bottom:1px solid var(--border-glow);justify-content:space-between;align-items:center;padding:.75rem;display:flex}.log-record-item:last-child{border-bottom:none}.markdown-body{font-family:var(--font-primary);font-size:.95rem;line-height:1.5}.markdown-body p{margin-bottom:.75rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:#fff;margin-top:1rem;margin-bottom:.5rem;font-weight:700}.markdown-body h3{font-size:1.1rem}.markdown-body ul,.markdown-body ol{margin-bottom:.75rem;padding-left:1.5rem}.markdown-body li{margin-bottom:.25rem}.markdown-body strong{color:#fff;font-weight:700}.markdown-body em{color:hsl(var(--text-primary));font-style:italic}
