:root{--primary: #c97b94;--primary-dark: #b86b84;--purple: #b794c4;--pink: #e8a0b5;--bg: #faf8f9;--card: #ffffff;--text: #2d1f24;--text-muted: #7d6b72;--success: #22c55e;--border: rgba(180, 160, 180, .2);--nav-height: 56px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0);--pastel-tender: #f7e7d8;--pastel-pink-chalk: #f3a2bd;--pastel-sea-breeze: #c9dae7;--pastel-lilac: #b6b1d9;--pastel-bg: linear-gradient(165deg, #f7e7d8 0%, #f3e8ef 25%, #e8eef5 50%, #e5e4f0 75%, #b6b1d9 100%);--pastel-bg-motion-1: #f7e7d8;--pastel-bg-motion-2: #c9dae7;--pastel-bg-motion-3: #e5e4f0;--pastel-bg-motion-4: #f3a2bd;--gradient-primary: linear-gradient(135deg, #f7e7d8 0%, #f3a2bd 40%, #c9dae7 70%, #b6b1d9 100%);--hero-gradient: #ffffff;--hero-gradient-subtle: linear-gradient(135deg, #faf5f2 0%, #f8f0f5 50%, #f0f5fa 100%);--avatar-gradient: linear-gradient(135deg, #b6b1d9 0%, #c9dae7 50%, #f3a2bd 100%);--accent-gradient: #ffffff;--accent-gradient-soft: #ffffff;--accent-solid: #f3a2bd;--font-serif: "DM Serif Display", Georgia, serif;--font-sans: "Figtree", system-ui, sans-serif;--radius-card: 20px;--radius-pill: 999px;--shadow-soft: 0 2px 16px rgba(140, 120, 150, .06);--shadow-card: 0 4px 24px rgba(140, 120, 150, .06);--shadow-elevated: 0 8px 32px rgba(140, 120, 150, .08);--space-xs: 6px;--space-sm: 12px;--space-md: 20px;--space-lg: 28px;--space-xl: 40px}@keyframes landing-wave{0%,to{background-position:0% 0%}25%{background-position:0% 40%}50%{background-position:0% 70%}75%{background-position:0% 40%}}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;background-color:#e5e4f0}body{margin:0;font-family:var(--font-sans);background-color:#e5e4f0;background:var(--pastel-bg);color:var(--text);min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--safe-bottom));overscroll-behavior-y:none}body.no-bottom-nav{padding-bottom:0}button,a,[role=button],input,select,textarea{min-height:44px}input,select,textarea{font-size:16px}.app-shell{max-width:900px;margin:0 auto;min-height:calc(100dvh - var(--nav-height) - var(--safe-bottom))}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(180,160,180,.15);display:flex;justify-content:space-around;align-items:center;z-index:100;max-width:900px;margin:0 auto;box-shadow:0 -2px 20px #8c78960a;-webkit-transform:translateZ(0);transform:translateZ(0)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);text-decoration:none;font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.02em;min-height:44px;padding:0 14px;transition:color .2s}.bottom-nav__icon{display:flex;align-items:center;justify-content:center;color:inherit}.bottom-nav__label{white-space:nowrap}.bottom-nav a.active{color:var(--text);font-weight:600}.bottom-nav a.active .bottom-nav__icon{color:var(--text)}.card{background:#fff;border-radius:var(--radius-card);border:none;padding:var(--space-md);box-shadow:var(--shadow-card)}.hero-card{background:#fff;border-radius:var(--radius-card);padding:var(--space-lg);box-shadow:var(--shadow-card);border:1px solid rgba(200,190,200,.2)}.float-card{background:#fff;border-radius:var(--radius-card);padding:var(--space-md);box-shadow:var(--shadow-card);border:1px solid rgba(200,190,200,.15)}.headline-serif{font-family:var(--font-sans);font-weight:600;letter-spacing:-.01em}.pill{border-radius:var(--radius-pill);padding:10px 20px;font-size:14px;font-weight:500;border:none;background:#b4a0b41f;color:var(--text)}.pill--active{background:#fff;color:var(--text);box-shadow:0 1px 4px #00000014;border:1px solid var(--border)}.search-frosted{width:100%;padding:14px 18px;border-radius:var(--radius-card);border:none;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-soft);font-size:16px;font-family:var(--font-sans)}.card-list-item{padding:14px 0;border-bottom:1px solid rgba(180,160,180,.12)}.card-list-item:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:12px;font-size:18px;font-weight:600;font-family:var(--font-sans);border:none;cursor:pointer;text-decoration:none}.btn-primary{background:#fff;color:var(--text);box-shadow:var(--shadow-soft);font-weight:600;border:1px solid var(--border)}.btn-pink{background:#fff;color:var(--text);font-weight:600;border:1px solid var(--border)}.ui-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ui-button--icon-only{font-size:28px!important}.ui-button__icon{font-size:inherit!important;line-height:1}.ui-button__icon svg{width:28px;height:28px;display:block;flex-shrink:0}.toggle-wrap{display:inline-flex;align-items:center;gap:8px}.toggle-wrap input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:48px;height:28px;min-height:28px;border-radius:14px;background:var(--border);cursor:pointer;position:relative;transition:background .2s}.toggle-wrap input:checked{background:var(--avatar-gradient)}.toggle-wrap input:after{content:"";position:absolute;width:24px;height:24px;border-radius:12px;background:#fff;top:2px;left:2px;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle-wrap input:checked:after{transform:translate(20px)}.logo-gradient{background:var(--avatar-gradient);box-shadow:var(--shadow-soft)}.logo-circle{background:#fff;border-radius:50%;box-shadow:var(--shadow-soft);overflow:hidden}.loading-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;font-size:18px;color:var(--text-muted)}.landing{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:24px;padding-top:max(24px,var(--safe-top));background:var(--pastel-bg)}.landing--motion{background:linear-gradient(165deg,#f7e7d8,#f5dfe4 12%,#f3a2bd,#e8b8c8 38%,#c9dae7,#c1d2e2 62%,#b6b1d9,#c5c0dc 88%,#f7e7d8);background-size:100% 300%;background-position:0% 0%;animation:landing-wave 9s ease-in-out infinite}.landing__inner{max-width:400px;width:100%;margin:0 auto}.landing__card{background:transparent;border-radius:var(--radius-card);padding:32px 24px}.landing__brand{display:flex;flex-direction:row;align-items:center;gap:14px;margin-bottom:28px}.landing__logo{width:52px;height:52px;min-width:52px;border-radius:50%;background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-soft);overflow:hidden}.landing__brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.landing__title{font-family:var(--font-sans);font-size:28px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em}.landing__tagline{font-family:var(--font-sans);font-size:14px;color:var(--text-muted);margin:0;font-weight:400}.landing__tabs{display:flex;gap:0;margin-bottom:20px;background:#0000000f;border-radius:12px;padding:4px;border:none}.landing__tab{flex:1;padding:12px 16px;border:none;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;font-family:var(--font-sans)}.landing__tab--active{background:#fff;color:var(--text);font-weight:700;box-shadow:0 1px 4px #0000001a;border-bottom:2px solid var(--primary, #8b5cf6);outline:none}.landing__tab--active:focus-visible{outline:2px solid var(--primary, #8b5cf6);outline-offset:2px}.landing__form{display:flex;flex-direction:column}.landing__input{width:100%;background:var(--card)!important;border:1px solid var(--border);border-radius:12px;padding:14px 16px;font-size:16px;margin-bottom:14px;font-family:var(--font-sans)}.landing__input-wrap{position:relative;margin-bottom:0}.landing__input-wrap .landing__input{margin-bottom:14px;padding-right:44px}.landing__input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none;opacity:.7}.landing__submit{width:auto;align-self:center;margin-top:6px;margin-bottom:14px;padding:12px 24px;min-height:44px;font-family:var(--font-sans);font-weight:600;font-size:16px;background:transparent;border:2px solid #ffffff;color:var(--text)}.landing__links{display:flex;flex-direction:column;align-items:center;gap:2px}.landing__link{background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;padding:0;text-decoration:none;font:inherit;font-family:var(--font-sans)}.landing__link--muted{color:var(--text-muted);font-size:13px}.landing__error{color:#dc2626;font-size:13px;margin-bottom:12px;font-family:var(--font-sans)}@keyframes insights-wave-dot{0%,to{transform:translateY(0)}25%{transform:translateY(-8px)}50%{transform:translateY(0)}75%{transform:translateY(8px)}}.insights-wave-loader{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 16px;min-height:80px}.insights-wave-loader__dot{width:10px;height:10px;border-radius:50%;background:var(--avatar-gradient);box-shadow:0 0 12px #b6b1d966;animation:insights-wave-dot 1.2s ease-in-out infinite}.insights-wave-loader__dot:nth-child(1){animation-delay:0s}.insights-wave-loader__dot:nth-child(2){animation-delay:.15s}.insights-wave-loader__dot:nth-child(3){animation-delay:.3s}.insights-wave-loader__dot:nth-child(4){animation-delay:.45s}.insights-wave-loader__dot:nth-child(5){animation-delay:.6s}.insights-wave-loader__dot:nth-child(6){animation-delay:.75s}.insights-wave-loader__dot:nth-child(7){animation-delay:.9s}@keyframes insights-voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.insights-dropdown-wrap:focus-within .insights-dropdown-arrow{transform:translateY(-50%) rotate(180deg)}.insights-category-item:hover:not(:disabled){background:#b6b1d914}.insights-voice-btn:hover:not(:disabled){filter:brightness(1.06)}.insights-voice-btn:active:not(:disabled){transform:scale(.96)}.insights-page textarea::placeholder{color:var(--text-muted)}@media(min-width:768px){body{padding-bottom:0}.bottom-nav{max-width:900px;left:50%;transform:translate3d(-50%,0,0);border-radius:16px 16px 0 0;box-shadow:0 -2px 10px #0000000f}}
