*,:after,:before{box-sizing:border-box}body,html{margin:0;overflow-x:hidden;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root,body{min-height:100vh;width:100%}#root{display:flex;flex-direction:column}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:900px){.MuiListItemButton-root{min-height:44px!important}.MuiDrawer-paper{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}@media (min-width:900px) and (max-width:1200px){.MuiDrawer-paper{box-shadow:0 2px 8px #00000014!important}}@media (min-width:1200px) and (max-width:1536px){.MuiContainer-root{padding-left:16px!important;padding-right:16px!important}}@media (max-height:800px){.MuiListItem-root{margin-bottom:2px!important}.MuiTypography-h6,.MuiTypography-subtitle1{margin-bottom:8px!important}}.MuiDrawer-paper{transition:width .3s cubic-bezier(.4,0,.6,1)!important}@media (hover:hover){.MuiListItemButton-root:hover{transform:translateX(2px);transition:all .2s ease!important}}@media (prefers-reduced-motion:reduce){.MuiDrawer-paper,.MuiListItemButton-root{transition:none!important}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.MuiSvgIcon-root{filter:contrast(1.1)}}input[type=date]{font-family:inherit!important}input[type=date]::-webkit-datetime-edit,input[type=date]::-webkit-datetime-edit-fields-wrapper{font-family:inherit!important}input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-text{font-family:inherit!important}input[type=date]::-webkit-datetime-edit-day-field,input[type=date]::-webkit-datetime-edit-year-field{font-family:inherit!important}html[lang=en-US] input[type=date]{font-feature-settings:"tnum"!important}.us-date-input{font-family:inherit!important}.us-date-input::-webkit-datetime-edit,.us-date-input::-webkit-datetime-edit-fields-wrapper{font-family:inherit!important}.us-date-input::-webkit-datetime-edit-text{font-family:inherit!important;padding:0 2px!important}.us-date-input::-webkit-datetime-edit-day-field,.us-date-input::-webkit-datetime-edit-month-field{font-family:inherit!important}.us-date-input::-webkit-datetime-edit-year-field{font-family:inherit!important}.keeper-face__blink-lid{opacity:0;transform:scaleY(0);transform-origin:center 39px}.keeper-face--idle .keeper-face__blink-lid{animation:keeper-blink 3.5s ease-in-out infinite}@keyframes keeper-blink{0%,89%,to{opacity:0;transform:scaleY(0)}93%,97%{opacity:1;transform:scaleY(1)}}.keeper-face--speaking .keeper-face__mouth{animation:keeper-mouth-speak .45s ease-in-out infinite alternate}@keyframes keeper-mouth-speak{0%{d:path("M 41 47 Q 47 51 53 47")}to{d:path("M 41 47 Q 47 57 53 47")}}.keeper-face--thinking .keeper-face__eye{animation:keeper-eye-wander 2.8s ease-in-out infinite}@keyframes keeper-eye-wander{0%,to{transform:translate(0)}25%{transform:translate(-2px,-1px)}50%{transform:translate(1px,-2px)}75%{transform:translate(2px)}}.keeper-face--listening .keeper-face__eye ellipse{animation:keeper-eye-listen 1.6s ease-in-out infinite}@keyframes keeper-eye-listen{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.keeper-face--happy .keeper-face__eye{animation:keeper-eye-happy .9s ease-in-out infinite}@keyframes keeper-eye-happy{0%,to{transform:translateY(0)}50%{transform:translateY(1px)}}.keeper-face--alert .keeper-face__eye{animation:keeper-eye-alert .25s ease-in-out infinite}@keyframes keeper-eye-alert{0%,to{transform:translateX(0)}25%{transform:translateX(-1.5px)}75%{transform:translateX(1.5px)}}.keeper-face__blush{animation:keeper-blush 1.2s ease-in-out infinite alternate}@keyframes keeper-blush{0%{opacity:.3}to{opacity:.55}}.keeper-face__mouth{transition:d .35s ease,fill .3s ease,stroke .3s ease}.keeper-face__brow{transition:transform .35s ease}.keeper-avatar{align-items:center;display:inline-flex;justify-content:center;position:relative}.keeper-avatar__image-wrap{border-radius:50%;overflow:visible;position:relative;z-index:2}.keeper-avatar__image{border-radius:50%;height:100%;object-fit:cover;transition:filter .4s ease,transform .4s ease;width:100%;will-change:transform,filter}.keeper-avatar--idle .keeper-avatar__image{animation:keeper-float 3s ease-in-out infinite}@keyframes keeper-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.keeper-avatar--listening .keeper-avatar__image{animation:keeper-listen-bounce 1.2s ease-in-out infinite;filter:brightness(1.08)}@keyframes keeper-listen-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.keeper-avatar__pulse-ring{border:2px solid #7442bf80;border-radius:50%;height:100%;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(1);width:100%;z-index:1}.keeper-avatar--listening .keeper-avatar__pulse-ring:first-child{animation:keeper-pulse 2s ease-out infinite}.keeper-avatar--listening .keeper-avatar__pulse-ring:nth-child(2){animation:keeper-pulse 2s ease-out .6s infinite}.keeper-avatar--listening .keeper-avatar__pulse-ring:nth-child(3){animation:keeper-pulse 2s ease-out 1.2s infinite}@keyframes keeper-pulse{0%{opacity:.6;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.8)}}.keeper-avatar--thinking .keeper-avatar__image{animation:keeper-think-tilt 2s ease-in-out infinite;filter:brightness(.95) saturate(.9)}@keyframes keeper-think-tilt{0%,to{transform:rotate(0deg)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}.keeper-avatar__think-dots{height:100%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%;z-index:3}.keeper-avatar__think-dot{background:#7442bf;border-radius:50%;height:8px;opacity:0;position:absolute;width:8px}.keeper-avatar--thinking .keeper-avatar__think-dot{animation:keeper-orbit 1.8s linear infinite}.keeper-avatar--thinking .keeper-avatar__think-dot:first-child{animation-delay:0s}.keeper-avatar--thinking .keeper-avatar__think-dot:nth-child(2){animation-delay:.6s}.keeper-avatar--thinking .keeper-avatar__think-dot:nth-child(3){animation-delay:1.2s}@keyframes keeper-orbit{0%{left:50%;opacity:0;top:-4px;transform:translateX(-50%)}10%{opacity:.9}25%{left:calc(100% + 4px);top:50%;transform:translateY(-50%)}50%{left:50%;top:calc(100% + 4px);transform:translateX(-50%)}75%{left:-12px;top:50%;transform:translateY(-50%)}90%{opacity:.9}to{left:50%;opacity:0;top:-4px;transform:translateX(-50%)}}.keeper-avatar--speaking .keeper-avatar__image{animation:keeper-speak-pulse .6s ease-in-out infinite;filter:brightness(1.1)}@keyframes keeper-speak-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.keeper-avatar__sound-waves{align-items:flex-end;bottom:-16px;display:flex;gap:3px;height:20px;left:50%;opacity:0;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s;z-index:3}.keeper-avatar--speaking .keeper-avatar__sound-waves{opacity:1}.keeper-avatar__sound-bar{background:linear-gradient(0deg,#7442bf,#a78bfa);border-radius:2px;width:3px}.keeper-avatar--speaking .keeper-avatar__sound-bar:first-child{animation:keeper-soundbar .8s ease-in-out 0s infinite}.keeper-avatar--speaking .keeper-avatar__sound-bar:nth-child(2){animation:keeper-soundbar .8s ease-in-out .1s infinite}.keeper-avatar--speaking .keeper-avatar__sound-bar:nth-child(3){animation:keeper-soundbar .8s ease-in-out .2s infinite}.keeper-avatar--speaking .keeper-avatar__sound-bar:nth-child(4){animation:keeper-soundbar .8s ease-in-out .3s infinite}.keeper-avatar--speaking .keeper-avatar__sound-bar:nth-child(5){animation:keeper-soundbar .8s ease-in-out .15s infinite}@keyframes keeper-soundbar{0%,to{height:4px}50%{height:16px}}.keeper-avatar--happy .keeper-avatar__image{animation:keeper-happy-bounce .6s ease-in-out infinite;filter:brightness(1.15) saturate(1.2)}@keyframes keeper-happy-bounce{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-8px) scale(1.05)}50%{transform:translateY(-4px) scale(1.02)}}.keeper-avatar__sparkles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:3}.keeper-avatar__sparkle{height:6px;opacity:0;position:absolute;width:6px}.keeper-avatar__sparkle:after,.keeper-avatar__sparkle:before{background:#fbbf24;border-radius:1px;content:"";position:absolute}.keeper-avatar__sparkle:before{height:2px;left:0;top:2px;width:6px}.keeper-avatar__sparkle:after{height:6px;left:2px;top:0;width:2px}.keeper-avatar--happy .keeper-avatar__sparkle:first-child{animation:keeper-sparkle 1.2s ease-out 0s infinite;left:20%;top:-4px}.keeper-avatar--happy .keeper-avatar__sparkle:nth-child(2){animation:keeper-sparkle 1.2s ease-out .3s infinite;right:-4px;top:10%}.keeper-avatar--happy .keeper-avatar__sparkle:nth-child(3){animation:keeper-sparkle 1.2s ease-out .6s infinite;bottom:10%;left:-4px}.keeper-avatar--happy .keeper-avatar__sparkle:nth-child(4){animation:keeper-sparkle 1.2s ease-out .9s infinite;right:20%;top:-4px}@keyframes keeper-sparkle{0%{opacity:0;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(20deg)}to{opacity:0;transform:scale(0) rotate(45deg) translateY(-12px)}}.keeper-avatar--alert .keeper-avatar__image{animation:keeper-alert-shake .5s ease-in-out infinite;filter:brightness(1.05) hue-rotate(-15deg)}@keyframes keeper-alert-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.keeper-avatar__alert-glow{border-radius:50%;height:110%;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:110%;z-index:1}.keeper-avatar--alert .keeper-avatar__alert-glow{animation:keeper-alert-glow 1s ease-in-out infinite;box-shadow:0 0 20px #ef444480}@keyframes keeper-alert-glow{0%,to{opacity:.4}50%{opacity:.8}}.keeper-avatar__bubble{animation:keeper-bubble-in .3s ease-out;border-radius:12px;bottom:calc(100% + 12px);box-shadow:0 4px 16px #0000001f;color:#333;font-size:13px;line-height:1.4;max-width:240px;overflow:hidden;padding:8px 14px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:5}.keeper-avatar__bubble,.keeper-avatar__bubble:after{background:#fff;left:50%;position:absolute;transform:translateX(-50%)}.keeper-avatar__bubble:after{border-radius:2px;bottom:-6px;box-shadow:2px 2px 4px #0000000d;content:"";height:12px;transform:translateX(-50%) rotate(45deg);width:12px}@keyframes keeper-bubble-in{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.9)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}.keeper-avatar__glow-ring{border-radius:50%;height:calc(100% + 8px);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow .4s ease;width:calc(100% + 8px);z-index:0}.keeper-avatar--idle .keeper-avatar__glow-ring{box-shadow:0 0 12px #7442bf33}.keeper-avatar--listening .keeper-avatar__glow-ring{box-shadow:0 0 20px #3b82f666}.keeper-avatar--thinking .keeper-avatar__glow-ring{box-shadow:0 0 16px #7442bf59}.keeper-avatar--speaking .keeper-avatar__glow-ring{box-shadow:0 0 24px #7442bf73}.keeper-avatar--happy .keeper-avatar__glow-ring{box-shadow:0 0 20px #fbbf2466}.keeper-avatar--alert .keeper-avatar__glow-ring{box-shadow:0 0 20px #ef444480}:root{--brand-primary:#7442bf;--brand-primary-hover:#5e3399;--brand-primary-light:#7442bf0d;--brand-primary-muted:#7442bf1a;--brand-accent:#7a40f2;--brand-highlight:#7c3aed;--text-primary:#1a1a1a;--text-secondary:#555;--text-tertiary:#777;--text-muted:#999;--bg-page:#f8f9fa;--bg-surface:#fff;--bg-subtle:#fafafa;--bg-hover:#f5f5f5;--border-default:#e5e7eb;--border-subtle:#f0f0f0;--border-input:#e0e0e0;--border-hover:#d1d5db;--color-success:#22c55e;--color-warning:#ff9800;--color-error:#ef4444;--radius-sm:8px;--radius-md:10px;--radius-card:12px;--radius-card-lg:14px;--radius-input:12px;--duration-fast:0.2s;--duration-normal:0.3s;--ease-default:ease;--ease-smooth:cubic-bezier(0.4,0,0.2,1);--container-max:1280px;--container-max-xl:1500px;--font-primary:"Roboto","Helvetica","Arial",sans-serif;--font-mono:"Roboto Mono",monospace}.landing-root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--bg-page);color:#1a1a1a;color:var(--text-primary);font-family:Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-primary);min-height:100vh}.landing-bg-grid{background-image:linear-gradient(#c8c8c84d 1px,#0000 0),linear-gradient(90deg,#c8c8c84d 1px,#0000 0);background-size:40px 40px}.heading-xl{color:#1a1a1a;color:var(--text-primary);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.3}.heading-lg{font-size:1.5rem}.heading-lg,.heading-md{color:#1a1a1a;color:var(--text-primary);font-weight:700;line-height:1.3}.heading-md{font-size:1.05rem}.heading-sm{color:#1a1a1a;color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.4}.body-lg{font-size:.95rem;line-height:1.5}.body-lg,.body-md{color:#555;color:var(--text-secondary);font-weight:400}.body-md{font-size:.88rem;line-height:1.6}.body-sm{color:#555;color:var(--text-secondary);font-size:.8rem;font-weight:400;line-height:1.55}.caption{color:#999;color:var(--text-muted);font-size:.7rem;font-weight:400;line-height:1.4}@media (min-width:600px){.heading-xl{font-size:2rem}.heading-lg{font-size:1.65rem}}@media (min-width:900px){.heading-xl{font-size:2.5rem}.heading-lg{font-size:1.85rem}.heading-md{font-size:1.15rem}.heading-sm{font-size:1rem}.body-lg{font-size:1.05rem}.body-md{font-size:.95rem}.body-sm{font-size:.85rem}.caption{font-size:.75rem}}@media (min-width:1200px){.heading-xl{font-size:2.75rem}.heading-lg{font-size:2rem}}@media (min-width:1536px){.heading-xl{font-size:3rem}.heading-lg{font-size:2.1rem}.heading-md{font-size:1.25rem}.body-lg{font-size:1.1rem}}@media (min-width:2560px){.heading-xl{font-size:3.5rem}.heading-lg{font-size:2.4rem}.heading-md{font-size:1.4rem}.heading-sm{font-size:1.1rem}.body-lg{font-size:1.2rem}.body-md{font-size:1.05rem}.body-sm{font-size:.95rem}}.landing-btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-primary);font-size:.9rem;font-weight:600;gap:8px;justify-content:center;outline:none;text-transform:none;transition:all .2s ease;transition:all var(--duration-fast) var(--ease-default)}.landing-btn-primary{background-color:#7442bf;background-color:var(--brand-primary);color:#fff;padding:10px 24px}.landing-btn-primary:hover{background-color:#5e3399;background-color:var(--brand-primary-hover)}.landing-btn-secondary{background-color:initial;border:1px solid #7442bf;border:1px solid var(--brand-primary);color:#7442bf;color:var(--brand-primary);padding:10px 24px}.landing-btn-secondary:hover{background-color:#7442bf0d;background-color:var(--brand-primary-light)}.landing-btn-cta{background-color:#7a40f2;background-color:var(--brand-accent);border-radius:8px;border-radius:var(--radius-sm);color:#fff;font-size:1rem;padding:14px 32px}.landing-btn-cta:hover{background-color:#5e3399;background-color:var(--brand-primary-hover)}.landing-card{background:#fff;background:var(--bg-surface);border:1px solid #e5e7eb;border:1px solid var(--border-default);border-radius:12px;border-radius:var(--radius-card);padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--duration-normal) var(--ease-smooth)}.landing-card:hover{border-color:#d1d5db;border-color:var(--border-hover);box-shadow:0 4px 12px #0000000f}.landing-card-lift{transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--duration-normal) var(--ease-smooth)}.landing-card-lift:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-4px)}@media (min-width:900px){.landing-card{padding:32px}}.landing-input{background:#fafafa;background:var(--bg-subtle);border:1px solid #e0e0e0;border:1px solid var(--border-input);border-radius:12px;border-radius:var(--radius-input);box-sizing:border-box;color:#1a1a1a;color:var(--text-primary);font-family:Roboto,Helvetica,Arial,sans-serif;font-family:var(--font-primary);font-size:.95rem;outline:none;padding:12px 20px;transition:border-color .2s ease;transition:border-color var(--duration-fast) var(--ease-default);width:100%}.landing-input::placeholder{color:#999;color:var(--text-muted)}.landing-input:focus{border-color:#7a40f2;border-color:var(--brand-accent)}.landing-section{padding:48px 16px}.landing-section-lg{padding:64px 16px}@media (min-width:600px){.landing-section{padding:60px 24px}.landing-section-lg{padding:80px 24px}}@media (min-width:900px){.landing-section{padding:80px 24px}.landing-section-lg{padding:96px 24px}}@media (min-width:1536px){.landing-section{padding:80px 32px}.landing-section-lg{padding:96px 32px}}.landing-container{margin:0 auto;max-width:1280px;max-width:var(--container-max);padding:0 16px;width:100%}@media (min-width:600px){.landing-container{padding:0 24px}}@media (min-width:1536px){.landing-container{max-width:1500px;max-width:var(--container-max-xl);padding:0 32px}}.landing-grid-2,.landing-grid-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:600px){.landing-grid-2,.landing-grid-3{gap:20px;grid-template-columns:repeat(2,1fr)}}@media (min-width:900px){.landing-grid-3{gap:24px;grid-template-columns:repeat(3,1fr)}}@media (min-width:2560px){.landing-grid-2,.landing-grid-3{gap:32px}}.text-center{text-align:center}.text-brand{color:#7442bf;color:var(--brand-primary)}.text-accent{color:#7a40f2;color:var(--brand-accent)}.subtitle-max{max-width:540px}.subtitle-max-center{margin-left:auto;margin-right:auto;max-width:640px}.landing-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.landing-reveal.visible{opacity:1;transform:none}.landing-reveal:nth-child(2){transition-delay:.1s}.landing-reveal:nth-child(3){transition-delay:.2s}.landing-reveal:nth-child(4){transition-delay:.3s}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}