:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-secondary: #8b5cf6;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-bg-dark: #020617;--color-bg-darker: #010409;--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .08);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--color-text-primary: #ffffff;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-disabled: #6b7280;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 40px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--phone-width: 430px;--phone-height: 90vh;--phone-max-height: 840px;color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(circle at top left,var(--color-bg-dark),var(--color-bg-darker));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;display:flex;justify-content:center;align-items:center}.app-root{width:100%;display:flex;justify-content:center;align-items:center;padding:var(--space-lg)}.phone-frame{position:relative;width:min(var(--phone-width),100%);height:var(--phone-height);max-height:var(--phone-max-height);background:var(--color-bg-darker);border-radius:var(--radius-2xl);box-shadow:0 0 0 8px #ffffff0d,0 25px 50px #00000080;overflow:hidden;display:flex;flex-direction:column;min-height:0}.phone-notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:180px;height:30px;background:var(--color-bg-darker);border-radius:0 0 20px 20px;z-index:20;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.notch-speaker{width:60px;height:6px;background:#0009;border-radius:3px}.notch-camera{width:10px;height:10px;background:radial-gradient(circle,rgba(30,60,100,.5),transparent);border-radius:50%;border:1px solid rgba(0,0,0,.4)}.phone-inner,.phone-screen{flex:1;background:linear-gradient(135deg,var(--color-bg-dark) 0%,var(--color-bg-darker) 100%);display:flex;flex-direction:column;overflow:hidden;min-height:0}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);padding-top:calc(var(--space-md) + 30px);font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.status-icons{display:flex;gap:var(--space-xs);align-items:center}.status-dot{width:6px;height:6px;background:var(--color-success);border-radius:50%}.status-bar-icon{width:18px;height:12px;background:var(--color-text-primary);border-radius:2px;opacity:.8}.status-bar-icon.wide{width:24px}.phone-header{flex-shrink:0}.hero{padding:var(--space-md) var(--space-lg) var(--space-lg)}.hero-title{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.hero-title h1{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}.hero-title span{font-size:.9375rem;color:var(--color-text-muted);font-weight:500}.hero-pill{display:inline-block;padding:var(--space-sm) var(--space-md);background:linear-gradient(135deg,#fb923c26,#ef444426);border:1px solid rgba(251,146,60,.3);border-radius:20px;font-size:.875rem;font-weight:600;color:#fb923c}.hero-disclaimer{display:flex;flex-direction:column;gap:var(--space-sm)}.disclaimer-text{font-size:.8125rem;line-height:1.6;color:var(--color-text-muted);padding:var(--space-sm) var(--space-xs);text-align:left}.phone-content{flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;padding:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;-webkit-overflow-scrolling:touch}.phone-content::-webkit-scrollbar{width:6px}.phone-content::-webkit-scrollbar-track{background:transparent}.phone-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.phone-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.demo-form{width:100%;display:flex;flex-direction:column;min-height:0}.section{margin-bottom:var(--space-lg)}.step-section{animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.section-description{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.6}.field-stack{display:flex;flex-direction:column;gap:var(--space-xl)}.field{display:flex;flex-direction:column;gap:var(--space-sm)}.field label{font-size:.9375rem;color:var(--color-text-secondary);font-weight:600}.split-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);width:100%}@media(max-width:380px){.split-inputs{grid-template-columns:1fr}}.number-input-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--space-lg)}.number-input-large{width:120px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);color:var(--color-text-primary);font-size:2.5rem;font-weight:700;text-align:center;outline:none;transition:all var(--transition-base);appearance:textfield;-moz-appearance:textfield}.number-input-large::-webkit-outer-spin-button,.number-input-large::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input-large:focus{border-color:var(--color-primary);background:#3b82f61a;box-shadow:0 0 0 4px #3b82f61a}.step-navigation{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.primary-button,.secondary-button{flex:1;padding:1rem var(--space-lg);border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer;transition:all var(--transition-base);border:none;outline:none;text-align:center}.primary-button{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:var(--color-text-primary);box-shadow:0 4px 12px #3b82f64d}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-primary)}.secondary-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);transform:translateY(-1px)}.secondary-button:active{transform:translateY(0)}.error-message{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-lg);text-align:center}.error-icon{font-size:3rem}.error-message p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.home-indicator-wrapper{flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:var(--space-md);background:var(--color-bg-darker)}.home-indicator{width:120px;height:4px;background:#ffffff4d;border-radius:2px}@media(max-width:480px){.phone-frame{height:100vh;max-height:none;border-radius:0;box-shadow:none}.app-root{padding:0}.phone-content{padding:0 var(--space-md) var(--space-lg)}.hero{padding:var(--space-md) var(--space-md) var(--space-lg)}.split-inputs{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1024px){.phone-frame{width:480px;max-height:920px}}@media(orientation:landscape)and (max-height:600px){.phone-frame{height:95vh}.hero{padding:var(--space-sm) var(--space-lg)}.hero-title h1{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.step-indicator{margin-bottom:1.5rem}.step-progress-bar{height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:.75rem}.step-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s ease;border-radius:2px}.step-info{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.step-current{color:#9ca3af;font-weight:500}.step-title{color:#fff;font-weight:600}.emoji-slider{width:100%;padding:1rem 0}.emoji-display{text-align:center;margin-bottom:1.5rem;min-height:60px}.emoji-large{font-size:3rem;transition:transform .2s ease;display:inline-block}.emoji-slider.dragging .emoji-large{transform:scale(1.1)}.slider-container{position:relative;padding:0 1rem;margin-bottom:2.5rem}.slider-input{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);border-radius:3px;outline:none;cursor:pointer}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:transform .2s ease}.slider-input::-webkit-slider-thumb:hover,.slider-input::-webkit-slider-thumb:active{transform:scale(1.2)}.slider-input::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 2px 8px #0000004d;transition:transform .2s ease}.slider-input::-moz-range-thumb:hover,.slider-input::-moz-range-thumb:active{transform:scale(1.2)}.emoji-markers{position:absolute;top:-10px;left:0;right:0;height:30px;pointer-events:none}.emoji-marker{position:absolute;transform:translate(-50%);font-size:1.5rem;opacity:.4;transition:all .2s ease;background:none;border:none;cursor:pointer;pointer-events:all;padding:.25rem;border-radius:50%}.emoji-marker:hover{opacity:.8;transform:translate(-50%) scale(1.1)}.emoji-marker.active{opacity:1;transform:translate(-50%) scale(1.2)}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#9ca3af;padding:0 1rem}.time-input{width:100%;min-width:0}.time-label{display:block;font-size:.875rem;color:#9ca3af;margin-bottom:.5rem;font-weight:500}.time-input-container{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1rem;width:100%;min-width:0}.time-segment{display:flex;align-items:center;gap:.25rem;flex-shrink:1;min-width:0}.time-value{width:50px;min-width:40px;background:transparent;border:none;color:#fff;font-size:1.75rem;font-weight:600;text-align:center;outline:none;appearance:textfield;-moz-appearance:textfield}.time-value::placeholder{color:#ffffff4d}.time-value::-webkit-outer-spin-button,.time-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.time-value:focus{color:#3b82f6}.time-unit{font-size:1.25rem;color:#6b7280;font-weight:500}.time-separator{font-size:2rem;color:#4b5563;font-weight:300}.button-group{display:flex;flex-direction:column;gap:.75rem;width:100%}.button-group-item{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.button-group-item:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.button-group-item:active{transform:translateY(0)}.button-group-item.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.button-icon{font-size:1.5rem;flex-shrink:0}.button-label{flex:1}@media(max-width:480px){.button-group-item{padding:.875rem 1rem;font-size:.9375rem}}.results-card{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid var(--accent-color, #3b82f6);border-radius:16px;padding:1.5rem;margin-top:1.5rem;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-header{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.results-emoji{font-size:4rem;margin-bottom:.5rem;animation:popIn .5s ease .2s both}@keyframes popIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.results-label{font-size:1.5rem;font-weight:700;color:var(--accent-color, #fff);margin-bottom:.5rem}.results-message{font-size:.9375rem;color:#d1d5db;margin:0}.sleep-scale-explanation{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.scale-title{font-size:.75rem;color:#9ca3af;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.scale-description{font-size:.8125rem;color:#d1d5db;line-height:1.6;margin:0}.results-tips{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.tips-title{font-size:1rem;font-weight:600;color:#fff;margin-bottom:1rem}.tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tip-item{font-size:.875rem;color:#d1d5db;padding:.75rem;background:#ffffff0d;border-radius:8px;line-height:1.5}.results-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.metric-item{display:flex;flex-direction:column;align-items:center;text-align:center}.metric-label{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.metric-value{font-size:1.125rem;font-weight:600;color:#fff}.results-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.results-dashboard-btn,.results-reset-btn{width:100%;padding:.875rem;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.results-dashboard-btn{background:var(--accent-color, rgba(59, 130, 246, .8));border-color:var(--accent-color, rgba(59, 130, 246, 1))}.results-dashboard-btn:hover{background:var(--accent-color, rgba(59, 130, 246, .9));transform:translateY(-1px);box-shadow:0 4px 12px #0003}.results-reset-btn{background:#ffffff1a}.results-reset-btn:hover{background:#ffffff26;transform:translateY(-1px)}.results-dashboard-btn:active,.results-reset-btn:active{transform:translateY(0)}@media(max-width:480px){.results-card{padding:1.25rem}.results-metrics{grid-template-columns:1fr;gap:.75rem}.metric-item{flex-direction:row;justify-content:space-between}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.spinner-ring{display:inline-block;position:relative;width:60px;height:60px}.spinner-ring div{box-sizing:border-box;display:block;position:absolute;width:48px;height:48px;margin:6px;border:6px solid;border-radius:50%;animation:spinner-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#3b82f6 transparent transparent transparent}.spinner-ring div:nth-child(1){animation-delay:-.45s}.spinner-ring div:nth-child(2){animation-delay:-.3s}.spinner-ring div:nth-child(3){animation-delay:-.15s}@keyframes spinner-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-message{margin-top:1rem;font-size:.875rem;color:#9ca3af;text-align:center}.dashboard{padding:var(--space-lg);padding-bottom:10rem;max-width:800px;margin:0 auto;width:100%}.dashboard.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center}.empty-icon{font-size:5rem;margin-bottom:var(--space-lg);opacity:.5}.empty-state h2{margin-bottom:var(--space-md);color:var(--color-text-primary)}.empty-state p{margin-bottom:var(--space-xl);color:var(--color-text-secondary)}.dashboard-header{text-align:center;margin-bottom:var(--space-xl)}.dashboard-header h1{font-size:2rem;margin-bottom:var(--space-xs);color:var(--color-text-primary)}.dashboard-header p{color:var(--color-text-secondary);font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{font-size:2rem;margin-bottom:var(--space-sm)}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.stat-label{font-size:.85rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-card.trend-good{background:linear-gradient(135deg,rgba(76,175,80,.1) 0%,var(--color-surface) 100%);border:1px solid rgba(76,175,80,.3)}.stat-card.trend-bad{background:linear-gradient(135deg,rgba(244,67,54,.1) 0%,var(--color-surface) 100%);border:1px solid rgba(244,67,54,.3)}.stat-card.trend-neutral{background:linear-gradient(135deg,rgba(255,193,7,.1) 0%,var(--color-surface) 100%);border:1px solid rgba(255,193,7,.3)}.chart-container{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.chart-container h2{font-size:1.25rem;margin-bottom:var(--space-lg);color:var(--color-text-primary)}.chart-wrapper{height:300px;position:relative}.recent-assessments{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-sm)}.recent-assessments h2{font-size:1.25rem;margin-bottom:var(--space-lg);color:var(--color-text-primary)}.assessment-list{display:flex;flex-direction:column;gap:var(--space-md)}.assessment-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-background);border-radius:var(--radius-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.assessment-item:hover{transform:translate(4px);box-shadow:var(--shadow-sm)}.assessment-emoji{font-size:2rem;flex-shrink:0}.assessment-info{flex:1}.assessment-quality{font-weight:600;color:var(--color-text-primary);margin-bottom:.25rem}.assessment-date{font-size:.85rem;color:var(--color-text-secondary)}.assessment-score{font-size:1.5rem;font-weight:700;color:var(--color-primary);flex-shrink:0}.dashboard-actions{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl);margin-bottom:var(--space-2xl)}.btn-primary,.btn-secondary,.btn-danger{width:100%;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background);border-color:var(--color-primary)}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.clear-confirm{background:var(--color-surface);border:2px solid #f44336;border-radius:var(--radius-md);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.clear-confirm p{margin:0;color:var(--color-text-primary);font-weight:600;text-align:center}@media(max-width:480px){.dashboard{padding:var(--space-md)}.dashboard-header h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.chart-wrapper{height:250px}.assessment-emoji{font-size:1.5rem}}@media(min-width:768px){.dashboard-actions{flex-direction:row}.btn-primary,.btn-secondary{width:auto;flex:1}}
