:root{--bg-1: #fdf8f5;--bg-2: #f0edfb;--card: #ffffff;--text: #4b4660;--muted: #a49eb4;--accent: #8b7fe8;--accent-hover: #7a6ee0;--accent-soft: #efeafc;--coral: #f4a79d;--line: #ece8f3;--shadow: 0 12px 34px rgba(96, 80, 150, .1);--shadow-sm: 0 4px 14px rgba(96, 80, 150, .07);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(165deg,var(--bg-1) 0%,var(--bg-2) 100%);background-attachment:fixed;color:var(--text);font-family:"ui-rounded",SF Pro Rounded,-apple-system,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.center{min-height:100%;display:grid;place-items:center;padding:24px}.card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:36px 30px;text-align:center;box-shadow:var(--shadow)}.wordmark{font-size:25px;font-weight:700;margin:0 0 8px;letter-spacing:-.01em;background:linear-gradient(100deg,var(--accent),var(--coral));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.wordmark.small{font-size:16px;font-weight:700}.emoji{font-size:40px;line-height:1;display:block;margin-bottom:10px}.sub{color:var(--muted);margin:0 0 24px;font-size:15px}.notice{color:var(--text);background:var(--accent-soft);border-radius:16px;padding:16px;font-size:15px}.error{color:#e07a72;font-size:13.5px;margin-top:14px}.price{margin:8px 0 22px}.price .amount{font-size:38px;font-weight:800;color:var(--text)}.price .per{color:var(--muted);margin-left:4px}.btn{width:100%;padding:14px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-family:inherit;font-size:15.5px;font-weight:600;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,background .15s ease;box-shadow:var(--shadow-sm)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn.primary,.btn.google,.btn.send{background:linear-gradient(100deg,var(--accent),#9b8ff0);border-color:transparent;color:#fff}.btn.primary:hover,.btn.google:hover,.btn.send:hover{background:linear-gradient(100deg,var(--accent-hover),#8f82ec)}.or{display:flex;align-items:center;gap:12px;color:var(--muted);margin:18px 0;font-size:13px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.magic{display:grid;gap:12px}.magic input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fbfaff;color:var(--text);font-family:inherit;font-size:15.5px}.magic input::placeholder{color:var(--muted)}.magic input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.link{background:none;border:none;color:var(--muted);cursor:pointer;margin-top:18px;font-size:13.5px;font-family:inherit}.link:hover{color:var(--accent)}.pulse{color:var(--accent);animation:pulse 1.5s ease-in-out infinite;font-size:26px}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.chat{display:flex;flex-direction:column;height:100%;max-width:680px;margin:0 auto}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chat-header .link{margin:0}.messages{flex:1;overflow-y:auto;padding:22px 18px;display:flex;flex-direction:column;gap:14px}.empty{margin:auto;color:var(--muted);text-align:center;font-size:15.5px}.bubble{max-width:80%;padding:13px 17px;border-radius:22px;white-space:pre-wrap;word-wrap:break-word;font-size:15.5px;line-height:1.55;box-shadow:var(--shadow-sm)}.bubble.user{align-self:flex-end;background:linear-gradient(100deg,var(--accent),#9b8ff0);color:#fff;border-bottom-right-radius:7px}.bubble.assistant{align-self:flex-start;background:#fff;color:var(--text);border:1px solid var(--line);border-bottom-left-radius:7px}.mode-bar{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px 18px 0;scrollbar-width:none}.mode-bar::-webkit-scrollbar{display:none}.mode-pill{flex:0 0 auto;cursor:pointer;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font:inherit;font-size:13px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.mode-pill:hover{color:var(--text)}.mode-pill.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.composer-wrap{border-top:1px solid var(--line);background:#fff9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.composer{display:flex;gap:10px;align-items:flex-end}.clip{flex:0 0 auto;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fbfaff;font-size:18px;cursor:pointer;transition:background .15s}.clip:hover{background:var(--accent-soft)}.clip:disabled{opacity:.5;cursor:default}.pending{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 10px}.pending-item{position:relative}.pending-item img{width:56px;height:56px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.pending-file{display:inline-flex;align-items:center;height:56px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:#fbfaff;color:var(--muted);font-size:13px;max-width:160px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pending-x{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:999px;border:none;background:var(--text);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}.atts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.atts:last-child{margin-bottom:0}.att-img{max-width:220px;max-height:260px;border-radius:14px;display:block}.att-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;background:#ffffff40;border:1px solid rgba(255,255,255,.4);color:inherit;text-decoration:none;font-size:14px}.bubble.assistant .att-chip{background:#fbfaff;border-color:var(--line)}.bubble-text{white-space:pre-wrap}.replay{margin-top:6px;border:none;background:none;cursor:pointer;font-size:15px;opacity:.55;padding:0}.replay:hover{opacity:1}.mic{flex:0 0 auto;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fbfaff;font-size:18px;cursor:pointer;touch-action:none;transition:background .15s,transform .1s}.mic:hover{background:var(--accent-soft)}.mic:disabled{opacity:.5;cursor:default}.mic.rec{background:#f4a79d;border-color:transparent;color:#fff;transform:scale(1.08);animation:micpulse 1.1s ease-in-out infinite}@keyframes micpulse{0%,to{box-shadow:0 0 #f4a79d80}50%{box-shadow:0 0 0 10px #f4a79d00}}.recording-bar{display:flex;align-items:center;gap:8px;padding:0 0 10px;color:var(--muted);font-size:13.5px}.rec-dot{width:9px;height:9px;border-radius:999px;background:#f4776b;animation:pulse 1s ease-in-out infinite}.mic-error{max-width:720px;margin:0 auto;width:100%;padding:10px 18px;color:#c56b60;font-size:13.5px;text-align:center}.header-actions{display:flex;gap:16px;align-items:center}.intro-dots{display:flex;gap:7px;justify-content:center;margin-bottom:18px}.intro-dots span{width:7px;height:7px;border-radius:999px;background:var(--line);transition:background .2s}.intro-dots span.on{background:var(--accent)}.chips{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px}.chip{padding:13px 16px;border-radius:14px;border:1px solid var(--line);background:#fbfaff;color:var(--text);font-family:inherit;font-size:15px;cursor:pointer;text-align:left;transition:background .15s,transform .06s}.chip:hover{background:var(--accent-soft);transform:translateY(-1px)}.chip:disabled{opacity:.5}.profile-screen{display:flex;flex-direction:column;height:100%;max-width:680px;margin:0 auto}.profile-body{flex:1;overflow-y:auto;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}.pf-label{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 8px}.pf-label:first-of-type{margin-top:0}.pf-input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--text);font:inherit;font-size:15.5px}.pf-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.pf-goal{margin:0;font-size:16px;color:var(--text)}.pf-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:none}.pf-chips{display:flex;flex-wrap:wrap;gap:8px}.pf-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 8px 7px 13px;border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:14px}.pf-chip button{border:none;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1}.pf-chip button:hover{color:var(--text)}.pf-facts{display:flex;flex-direction:column;gap:10px}.pf-fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px 15px;box-shadow:var(--shadow-sm)}.pf-fact-k{font-size:12.5px;color:var(--muted);text-transform:capitalize;margin-bottom:3px}.pf-fact-v{font-size:15.5px;color:var(--text)}.pf-fact-actions{display:flex;gap:14px;margin-top:8px}.pf-fact-actions button{border:none;background:none;color:var(--accent);cursor:pointer;font-size:13px;padding:0}.pf-fact-actions button:last-child{color:var(--muted)}.pf-fact-actions button:hover{text-decoration:underline}.pf-add{display:flex;gap:8px;margin-top:10px;align-items:stretch}.pf-add.pf-add-fact{flex-wrap:wrap}.pf-add .pf-input{flex:1;min-width:0}.pf-add-btn{flex:none;padding:0 18px;border-radius:14px;border:none;background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.pf-add-btn:disabled{opacity:.4;cursor:default}.pf-add-fact .pf-input{flex:1 1 100%}.pf-add-fact .pf-add-btn{flex:1 1 100%;padding:11px 18px}.pf-fact-edit{display:flex;flex-direction:column;gap:8px}.pf-edit-k{font-size:14px}.pf-error{font-size:12.5px;color:#c0405a}.pf-note{margin-top:26px;font-size:12.5px;color:var(--muted);text-align:center}.composer textarea{flex:1;resize:none;max-height:160px;padding:13px 16px;border-radius:20px;border:1px solid var(--line);background:#fbfaff;color:var(--text);font:inherit;font-size:15.5px}.composer textarea::placeholder{color:var(--muted)}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.btn.send{width:auto;padding:13px 22px}
