@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;1,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-0:#050508;--bg-1:#0a0a12;--bg-2:#0f0f1e;--bg-3:#16162a;--bg-card:#ffffff0a;--bg-card-hover:#ffffff12;--purple-400:#a78bfa;--purple-500:#9b5cff;--purple-600:#7c3aed;--purple-glow:#9b5cff59;--pink-400:#f472b6;--pink-500:#ff6b9d;--pink-glow:#ff6b9d59;--white:#fafafa;--text-1:#fafafaf2;--text-2:#fafafaa6;--text-3:#fafafa59;--glass:#ffffff0d;--glass-border:#ffffff14;--glass-border-active:#9b5cff66;--glow-purple:0 0 20px #9b5cff66, 0 0 60px #9b5cff1a;--glow-pink:0 0 20px #ff6b9d66;--shadow-deep:0 25px 60px #000c, 0 8px 20px #0006;--bubble-char:#9b5cff1f;--bubble-char-border:#9b5cff33;--bubble-user:#ff6b9d1f;--bubble-user-border:#ff6b9d33;--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.5}html{width:100%;height:100dvh;overflow:hidden}body{background:var(--bg-0);width:100%;height:100%;color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}#app{background:var(--bg-0);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.phone-frame{background:var(--bg-1);width:100%;max-width:430px;height:100%;position:relative;overflow:hidden}.view-full{flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.ambient-purple{pointer-events:none;background:radial-gradient(circle,#9b5cff26 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute}.ambient-pink{pointer-events:none;background:radial-gradient(circle,#ff6b9d1a 0%,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute}.glass-panel{background:var(--glass);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);border-radius:24px}.btn-neon{border:1.5px solid var(--purple-500);color:var(--purple-400);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#9b5cff1a;border-radius:50px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:500;transition:all .3s;display:flex}.btn-neon:active{box-shadow:var(--glow-purple);background:#9b5cff33;transform:scale(.97)}.btn-solid{background:linear-gradient(135deg, var(--purple-500), var(--purple-600));color:#fff;border:none;box-shadow:0 4px 20px #9b5cff4d}.btn-solid:active{box-shadow:var(--glow-purple)}.btn-pink{border-color:var(--pink-500);color:var(--pink-400);background:#ff6b9d1a}.btn-pink:active{box-shadow:var(--glow-pink);background:#ff6b9d33}.input-field{background:var(--glass);border:1.5px solid var(--glass-border);width:100%;color:var(--text-1);-webkit-appearance:none;border-radius:14px;outline:none;padding:14px 18px;font-family:inherit;font-size:16px;transition:border-color .3s,box-shadow .3s}.input-field::placeholder{color:var(--text-3)}.input-field:focus{border-color:var(--glass-border-active);box-shadow:0 0 0 3px #9b5cff14}.otp-input{text-align:center;letter-spacing:12px;font-family:Inter,monospace;font-size:24px;font-weight:600}.chat-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;overflow:hidden auto}.chat-scroll::-webkit-scrollbar{display:none}.bubble{word-break:break-word;border-radius:18px;max-width:78%;padding:10px 14px;font-size:14.5px;line-height:1.55}.bubble-char{background:var(--bubble-char);border:1px solid var(--bubble-char-border);color:var(--text-1);border-bottom-left-radius:4px}.bubble-user{background:var(--bubble-user);border:1px solid var(--bubble-user-border);color:var(--text-1);border-bottom-right-radius:4px;margin-left:auto}.typing-dot{background:var(--purple-400);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@keyframes notif-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-enter-active,.fade-leave-active{transition:opacity .6s}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .5s cubic-bezier(.16,1,.3,1)}.slide-up-enter-from{opacity:0;transform:translateY(30px)}.slide-up-leave-active{transition:all .35s}.slide-up-leave-to{opacity:0;transform:translateY(-10px)}.status-bar{color:var(--text-2);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px 4px;font-size:12px;font-weight:600;display:flex}.neon-text{color:var(--purple-400);text-shadow:0 0 20px #a78bfa99}.neon-text-pink{color:var(--pink-400);text-shadow:0 0 20px #f472b699}.rain-overlay{pointer-events:none;opacity:.6;background:repeating-linear-gradient(90deg,#0000,#0000 2px,#9b5cff04 2px 3px) 0 0/100px 100%;animation:.8s linear infinite rain-fall;position:absolute;inset:0}@keyframes rain-fall{0%{background-position:0 -200px}to{background-position:-50px 0}}.scanlines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);position:absolute;inset:0}.emotion-bar{background:linear-gradient(90deg, var(--purple-500), var(--pink-500));border-radius:2px;height:3px;transition:width .8s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px #9b5cff80}.avatar-ring{background:linear-gradient(135deg, var(--purple-500), var(--pink-500));border-radius:50%;padding:2px;box-shadow:0 0 16px #9b5cff66}.online-dot{border:2px solid var(--bg-1);background:#34d399;border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite pulse-online;box-shadow:0 0 8px #34d39999}@keyframes pulse-online{0%,to{opacity:1}50%{opacity:.6}}.chat-input-bar{padding:10px 16px calc(10px + var(--safe-bottom));border-top:1px solid var(--glass-border);background:#0a0a12f2;flex-shrink:0}@keyframes ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2)}}.page-enter-active{transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}.page-leave-active{transition:opacity .4s}.page-enter-from{opacity:0;transform:scale(.98)translateY(8px)}.page-leave-to{opacity:0}.notif-card{border:1px solid var(--glass-border);border-left:3px solid var(--purple-500);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-deep);background:#0f0f1ef2;border-radius:16px;padding:14px 18px}.time-display{letter-spacing:-2px;color:var(--text-1);text-shadow:0 0 40px #9b5cff4d;font-family:Inter,system-ui;font-size:68px;font-weight:200}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.pwa-banner{z-index:9999;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));-webkit-backdrop-filter:blur(16px);background:#140c28fa;border-bottom:1px solid #9b5cff4d;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 24px #0006}.pwa-banner-icon{flex-shrink:0;font-size:24px}.pwa-banner-text{flex:1;overflow:hidden}.pwa-banner-title{color:#e2d9f3;font-size:14px;font-weight:600}.pwa-banner-sub{color:#9b8ec4;margin-top:1px;font-size:11px}.pwa-install-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#9b5cff,#7c3aed);border:none;border-radius:20px;flex-shrink:0;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600}.pwa-dismiss-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:16px}.pwa-update-bar{bottom:calc(16px + env(safe-area-inset-bottom));z-index:9999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e2d9f3;background:#140c28fa;border:1px solid #9b5cff66;border-radius:16px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 4px 24px #00000080}.pwa-update-bar button{color:#c084fc;cursor:pointer;background:#9b5cff33;border:1px solid #9b5cff66;border-radius:12px;padding:6px 14px;font-family:inherit;font-size:13px}.slide-down-enter-active,.slide-down-leave-active{transition:all .3s}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-100%)}.page-enter-active,.page-leave-active{transition:opacity .2s}.page-enter-from,.page-leave-to{opacity:0}
