.login-page{isolation:isolate;background:#101016;place-items:center;min-height:100dvh;padding:32px 20px 64px;display:grid;position:relative;overflow:hidden}.login-glow{filter:blur(100px);opacity:.22;z-index:-1;pointer-events:none;border-radius:50%;width:340px;height:340px;position:absolute}.login-glow-one{background:#7c3aed;top:-140px;left:-100px}.login-glow-two{background:#4f46e5;bottom:-140px;right:-120px}.login-card{background:#191822f0;border:1px solid #2d2939;border-radius:28px;width:100%;max-width:440px;padding:36px;box-shadow:0 24px 100px #00000040}.brand-mark{color:#fff;background:linear-gradient(135deg,#a78bfa,#7c3aed);border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:34px;font-size:32px;font-weight:800;display:grid}.eyebrow{color:#a78bfa;letter-spacing:2.5px;margin-bottom:14px;font-size:10px;font-weight:700}.login-card h1{letter-spacing:-1.8px;margin-bottom:16px;font-size:clamp(32px,6vw,43px);line-height:1.13}.login-card h1 span{color:#a78bfa}.login-description{color:#aaa8b8;margin-bottom:28px;font-size:14px;line-height:1.8}.login-preview{background:#211e2b;border:1px solid #363143;border-radius:17px;align-items:center;gap:14px;margin-bottom:24px;padding:16px;display:flex}.preview-avatar{color:#c4b5fd;background:#39304e;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.login-preview strong{font-size:12px}.login-preview p{color:#aaa8b8;margin-top:5px;font-size:11px}.google-button{color:#20202a;cursor:pointer;background:#f8f7fb;border:none;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;padding:15px;font-size:13px;font-weight:700;transition:transform .18s,background .18s;display:flex}.google-button:hover{background:#eae7f2;transform:translateY(-2px)}.google-g{color:#4285f4;font-size:19px;font-weight:800}.button-arrow{margin-left:auto;font-size:18px}.login-note{color:#777485;text-align:center;margin-top:22px;font-size:10px;line-height:1.7}.login-footer{color:#777485;letter-spacing:2px;font-size:9px;position:absolute;bottom:22px}.login-footer span{color:#a78bfa}@media (width<=480px){.login-card{border-radius:23px;padding:26px 22px}.login-page{padding-inline:16px}}.onboarding-page{background:radial-gradient(at 50% 0,#33224b 0%,#0000 48%),#101016;min-height:100dvh;padding:24px 20px 48px}.onboarding-top{color:#aaa8b8;letter-spacing:1.5px;align-items:center;gap:12px;max-width:900px;margin:0 auto 36px;font-size:10px;font-weight:700;display:flex}.brand-mark.small{border-radius:11px;width:35px;height:35px;margin:0;font-size:24px}.step-label{color:#a78bfa;margin-left:auto}.onboarding-card{background:#191821;border:1px solid #302b3b;border-radius:25px;width:100%;max-width:490px;margin:0 auto;padding:34px;box-shadow:0 25px 80px #00000030}.section-icon{color:#c4b5fd;background:#302544;border-radius:15px;place-items:center;width:46px;height:46px;margin-bottom:26px;font-size:24px;display:grid}.onboarding-card .eyebrow{margin-bottom:12px}.onboarding-card h1{letter-spacing:-1px;margin-bottom:12px;font-size:clamp(27px,5vw,35px);line-height:1.2}.onboarding-card h1 span{color:#a78bfa}.form-description{color:#aaa8b8;margin-bottom:30px;font-size:13px;line-height:1.8}.field-label{color:#e7e5ef;margin:20px 0 9px;font-size:12px;font-weight:600;display:block}.harmai-input{color:#f5f3ff;width:100%;min-height:48px;font:inherit;background:#121119;border:1px solid #383444;border-radius:12px;outline:none;padding:13px 14px;font-size:13px;transition:border-color .16s,box-shadow .16s}.harmai-input::placeholder{color:#777485}.harmai-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf620}.personality-input{resize:vertical;min-height:105px;line-height:1.7}.choice-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice-card{color:#c8c5d4;cursor:pointer;background:#121119;border:1px solid #383444;border-radius:12px;align-items:center;gap:10px;min-height:54px;padding:12px;font-size:12px;transition:all .16s;display:flex}.choice-card span{color:#a78bfa;font-size:19px}.choice-card:hover{border-color:#75609d}.choice-card.selected{color:#fff;background:#302442;border-color:#9b7af7;box-shadow:inset 0 0 0 1px #9b7af7}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(110deg,#8b5cf6,#7044df);border:0;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:49px;margin-top:28px;padding:14px;font-size:13px;font-weight:700;transition:filter .16s,transform .16s;display:flex}.primary-button:hover{filter:brightness(1.12);transform:translateY(-1px)}.primary-button span{font-size:18px}.step-caption{text-align:center;color:#777485;margin-top:16px;font-size:11px}.text-button{color:#aaa8b8;cursor:pointer;background:0 0;border:0;margin:15px auto 0;padding:8px 14px;font-size:12px;display:block}.text-button:hover{color:#c4b5fd}@media (width<=480px){.onboarding-page{padding:18px 14px 32px}.onboarding-top{margin-bottom:24px;font-size:9px}.onboarding-card{border-radius:21px;padding:25px 20px}}.chat-page{background:#101016;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.chat-header{background:#15141c;border-bottom:1px solid #282632;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:14px 28px;display:flex}.chat-character{align-items:center;gap:12px;min-width:0;display:flex}.character-avatar,.message-avatar{color:#fff;background:linear-gradient(135deg,#a78bfa,#6d3edb);flex-shrink:0;place-items:center;font-weight:700;display:grid}.character-avatar{border-radius:15px;width:43px;height:43px}.character-details{flex-direction:column;gap:5px;display:flex}.character-details strong{font-size:14px}.character-details span{color:#a6a2b3;align-items:center;gap:6px;font-size:11px;display:flex}.character-details i{background:#9c83f7;border-radius:50%;width:6px;height:6px}.header-icon{color:#c9c5d7;cursor:pointer;background:#201e29;border:1px solid #35313f;border-radius:13px;width:40px;height:40px;font-size:24px}.chat-messages{scrollbar-color:#42394f transparent;flex-direction:column;flex:1;align-items:stretch;gap:22px;min-height:0;padding:32px max(24px,50% - 410px);display:flex;overflow-y:auto}.chat-date{color:#777485;letter-spacing:2px;align-self:center;margin:4px 0 18px;font-size:9px;font-weight:700}.message-row{align-items:flex-start;gap:11px;max-width:85%;display:flex}.user-row{justify-content:flex-end;align-self:flex-end}.message-avatar{border-radius:11px;width:31px;height:31px;font-size:12px}.message-bubble{color:#e7e5ef;overflow-wrap:anywhere;white-space:pre-wrap;background:#211e2b;border:1px solid #302b3b;border-radius:5px 17px 17px;padding:13px 16px;font-size:13px;line-height:1.85}.message-bubble.user{color:#fff;background:#7044c5;border-color:#7044c5;border-radius:17px 5px 17px 17px}.chat-hint{color:#777485;text-align:center;align-self:center;margin-top:18px;font-size:11px}.chat-footer{background:#15141c;border-top:1px solid #282632;width:100%;padding:14px 24px 12px;position:relative}.chat-composer{background:#201e29;border:1px solid #3a3447;border-radius:18px;align-items:center;gap:11px;max-width:820px;margin:0 auto;padding:8px;transition:border-color .16s;display:flex}.chat-composer:focus-within{border-color:#8b5cf6}.plus-button,.send-button{cursor:pointer;border:0;border-radius:12px;flex-shrink:0;place-items:center;width:39px;height:39px;font-size:23px;transition:all .16s;display:grid}.plus-button{color:#c4b5fd;background:#302a3d}.plus-button:hover,.plus-button.active{background:#493365}.chat-composer input{color:#f5f3ff;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:13px}.chat-composer input::placeholder{color:#777485}.send-button{color:#fff;background:#8b5cf6;font-size:21px}.send-button:disabled{color:#777485;cursor:not-allowed;background:#36313f}.chat-disclaimer{color:#777485;text-align:center;margin-top:10px;font-size:9px}.plus-popover{background:#211e2b;border:1px solid #3a3447;border-radius:16px;width:min(290px,100vw - 32px);padding:8px;animation:.15s ease-out menu-appear;position:absolute;bottom:calc(100% + 8px);left:max(24px,50% - 410px);box-shadow:0 18px 55px #00000060}.plus-popover button{color:#c4b5fd;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;padding:13px;display:flex}.plus-popover button:hover{background:#30283e}.plus-popover button>span:first-child{font-size:23px}.plus-popover button div{flex-direction:column;flex:1;gap:5px;display:flex}.plus-popover strong{color:#f5f3ff;font-size:12px}.plus-popover small{color:#a6a2b3;font-size:10px}.menu-arrow{color:#aaa8b8}@keyframes menu-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.chat-header{min-height:67px;padding:11px 15px}.chat-messages{gap:18px;padding:25px 15px}.message-row{max-width:94%}.chat-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.plus-popover{left:12px}}.memory-page{color:#f5f3ff;background:radial-gradient(at 50% 0,#2d2040 0%,#0000 45%),#101016;min-height:100dvh}.memory-header{background:#15141c;border-bottom:1px solid #282632;justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:14px max(20px,50% - 380px);display:flex}.memory-back{color:#c4b5fd;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;font-size:13px;display:flex}.memory-brand{color:#f5f3ff;letter-spacing:2px;font-size:10px;font-weight:800}.memory-brand span{color:#a78bfa}.memory-content{max-width:650px;margin:0 auto;padding:45px 22px 60px}.memory-icon{color:#c4b5fd;background:#292034;border:1px solid #45365b;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:25px;font-size:25px;display:grid}.memory-content .eyebrow{margin-bottom:12px}.memory-content h1{letter-spacing:-1.5px;font-size:clamp(32px,6vw,42px)}.memory-content h1 span{color:#a78bfa}.memory-description{color:#aaa8b8;margin:13px 0 30px;font-size:13px;line-height:1.8}.memory-section{background:#191821;border:1px solid #302b3b;border-radius:18px;margin-top:16px;padding:21px}.memory-section-title{align-items:center;gap:12px;margin-bottom:19px;display:flex}.memory-section-icon{color:#c4b5fd;background:#302442;border-radius:13px;place-items:center;width:39px;height:39px;font-size:20px;display:grid}.memory-section-title h2{margin-bottom:5px;font-size:13px}.memory-section-title p{color:#9692a5;font-size:11px}.memory-detail{border-top:1px solid #2b2835;justify-content:space-between;align-items:flex-start;gap:20px;padding:13px 0;font-size:12px;display:flex}.memory-detail>span{color:#9692a5;flex-shrink:0}.memory-detail strong{color:#e7e5ef;text-align:right;overflow-wrap:anywhere;max-width:70%;font-weight:500;line-height:1.7}.memory-empty{text-align:center;border:1px dashed #3a3447;border-radius:13px;flex-direction:column;align-items:center;gap:9px;padding:27px 12px;display:flex}.memory-empty>span{color:#a78bfa;font-size:26px}.memory-empty strong{font-size:12px}.memory-empty p{color:#9692a5;max-width:280px;font-size:11px;line-height:1.7}.memory-footnote{color:#777485;text-align:center;margin-top:24px;font-size:10px;line-height:1.7}@media (width<=480px){.memory-header{padding-inline:15px}.memory-content{padding:32px 15px 45px}.memory-section{padding:17px}.memory-brand{font-size:9px}}:root{color:#f5f3ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--harmai-bg:#101016;--harmai-surface:#191821;--harmai-purple:#8b5cf6;--harmai-purple-light:#c4b5fd;--harmai-text:#f5f3ff;--harmai-muted:#aaa8b8;--harmai-border:#302b3b;background:#101016;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--harmai-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}body,button,input,textarea{font-family:inherit}button,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #a78bfa}button{-webkit-appearance:none}::selection{color:#fff;background:#8b5cf655}#root{min-height:100dvh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
