@import"https://fonts.googleapis.com/css2?family=Petit+Formal+Script&family=Ubuntu+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{color-scheme:light;--bg-0: #f2ead4;--bg-1: #ece0c2;--glass: rgba(255, 253, 244, .6);--glass-2: rgba(255, 253, 244, .86);--glass-ai: rgba(164, 52, 43, .065);--edge: rgba(37, 52, 88, .18);--edge-hi: rgba(37, 52, 88, .32);--edge-ai: rgba(164, 52, 43, .35);--text: #223257;--text-2: #48517a;--muted: #8a7d5e;--faint: #ad9f7c;--accent: #a4342b;--accent-2: #c24f3f;--accent-dim: rgba(164, 52, 43, .55);--glow: rgba(164, 52, 43, .22);--glow-soft: rgba(164, 52, 43, .12);--amber: #93691c;--danger: #a4342b;--r-lg: 3px;--r-md: 3px;--r-sm: 2px;--r-tuck: 0px;--shadow: 0 3px 10px rgba(60, 45, 20, .16);--inset-hi: inset 0 1px 0 rgba(255, 255, 255, .55);--ease: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--font: "Ubuntu Sans", -apple-system, "Segoe UI", sans-serif;--font-script: "Petit Formal Script", "Segoe Script", cursive;font-family:var(--font)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}.app{position:relative;height:100%;max-inline-size:48rem;margin-inline:auto;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-color:var(--bg-0);background-image:radial-gradient(9% 6% at 83% 12%,rgba(34,50,87,.06),transparent 70%),radial-gradient(5% 4% at 86.5% 15%,rgba(34,50,87,.05),transparent 70%),radial-gradient(7% 5% at 10% 60%,rgba(34,50,87,.05),transparent 70%),radial-gradient(4% 3% at 13% 64%,rgba(34,50,87,.045),transparent 70%),radial-gradient(12% 8% at 72% 88%,rgba(34,50,87,.045),transparent 70%),repeating-linear-gradient(180deg,transparent 0 8px,rgba(84,104,168,.04) 8px 10px,transparent 10px 22px,rgba(84,104,168,.04) 22px 24px,transparent 24px 62px),repeating-linear-gradient(-65deg,transparent 0 15px,rgba(84,104,168,.04) 15px 17.5px)}.topbar{position:relative;z-index:20;flex:none;block-size:68px;display:flex;align-items:center;gap:.9rem;padding-inline:clamp(16px,4vw,28px);background:linear-gradient(180deg,#f2ead4d9 40%,#f2ead400)}.brand{block-size:34px;inline-size:auto;filter:drop-shadow(.5px 1px .5px rgba(34,50,87,.25))}.user-menu{margin-inline-start:auto}.logout-btn{flex:none;inline-size:34px;block-size:34px;padding:0;border-radius:50%;border:1px solid var(--edge-hi);background:var(--glass-2);overflow:hidden;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.logout-btn:hover,.logout-btn[aria-expanded=true]{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--glow-soft)}.logout-btn .avatar{inline-size:100%;block-size:100%;object-fit:cover;display:block}.logout-btn .avatar-fallback{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;font:700 .85rem/1 var(--font);color:var(--accent-2)}.user-menu-panel{position:fixed;z-index:1000;inline-size:16rem;padding:.5rem;border-radius:var(--r-md);border:1px solid var(--edge-hi);background:var(--glass-2);box-shadow:var(--inset-hi),var(--shadow);animation:msg-in .16s var(--ease) both}@media(max-width:560px){.user-menu-panel{inset-inline:12px!important;inline-size:auto!important}}.user-menu-name{padding:.4rem .6rem .5rem;margin-block-end:.3rem;border-block-end:1px solid var(--edge);font-size:.78rem;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-item{display:block;inline-size:100%;padding:.5rem .6rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font:600 .85rem/1 var(--font);text-align:start;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.user-menu-item:hover{background:var(--glass);color:var(--accent-2)}.user-menu-item.user-menu-danger:hover{background:#a4342b1a;color:var(--danger)}.user-menu-item.user-menu-newsession{display:flex;align-items:center;gap:.5rem;color:var(--accent);margin-block-end:.35rem;padding-block-end:.6rem;border-block-end:1px solid var(--edge)}.user-menu-item.user-menu-newsession:hover{background:var(--glass-ai);color:var(--accent-2)}.user-menu-item.user-menu-newsession svg{flex:none}.user-menu-loading{padding:.5rem .6rem;font-size:.82rem;color:var(--muted)}.user-menu-sessions{max-block-size:14rem;overflow-y:auto}.user-menu-session{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.user-menu-session-row{display:flex;align-items:center}.user-menu-session-row .user-menu-session{flex:1;min-inline-size:0}.user-menu-rename-btn{flex:none;display:grid;place-items:center;inline-size:26px;block-size:26px;padding:0;border:none;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.user-menu-rename-btn:hover{background:var(--glass);color:var(--accent-2)}.user-menu-delete-btn:hover{background:#a4342b1a;color:var(--danger)}.user-menu-session-input{inline-size:100%;padding:.5rem .6rem;border:1px solid var(--accent-dim);border-radius:var(--r-sm);background:var(--glass);color:var(--text);font:600 .85rem/1 var(--font)}.user-menu-session-input:focus{outline:none;box-shadow:0 0 0 2px var(--glow-soft)}.user-menu-divider{border-block-start:1px solid var(--edge);margin-block:.35rem}.signin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:2rem;text-align:center}.signin-msg{color:var(--text-2);font-size:.95rem;max-inline-size:26rem}.whatsapp-btn{display:inline-flex;align-items:center;gap:.7rem;padding:.65rem 1.3rem;border-radius:999px;background:var(--glass-2);border:1px solid var(--edge-hi);color:var(--text);font:600 .92rem/1 var(--font);text-decoration:none;box-shadow:var(--inset-hi),var(--shadow);transition:transform .12s var(--ease),box-shadow .25s var(--ease),border-color .2s var(--ease)}.whatsapp-btn:hover{transform:translateY(-1px);border-color:var(--accent-dim);box-shadow:var(--inset-hi),var(--shadow),0 0 0 3px var(--glow-soft)}.whatsapp-btn:active{transform:scale(.97)}.google-btn{display:inline-flex;align-items:center;gap:.7rem;padding:.65rem 1.3rem;border-radius:999px;background:#fff;border:1px solid #dadce0;color:#1f1f1f;font:600 .92rem/1 "PT Serif",Georgia,serif;text-decoration:none;box-shadow:0 1px 2px #00000040;transition:transform .12s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease)}.google-btn:hover{transform:translateY(-1px);background:#f8f9fa;box-shadow:0 2px 6px #0000004d}.google-btn:active{transform:scale(.97)}.chat{flex:1;min-height:0;display:flex;flex-direction:column}.slots{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.85rem clamp(16px,4vw,28px);border-block-end:1px solid var(--edge)}.chip{position:relative;display:inline-flex;flex-direction:column;justify-content:center;gap:2px;min-block-size:3.2rem;padding:.42rem .8rem;border-radius:var(--r-sm);background:var(--glass);border:1px solid var(--edge);box-shadow:var(--inset-hi);transition:border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}.chip b{font-size:.6rem;line-height:1;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.chip>span{font-size:.86rem;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;color:var(--faint);transition:color .3s var(--ease)}.chip.filled{border-color:var(--accent-dim);box-shadow:var(--inset-hi);animation:chip-pop .42s var(--ease)}.chip.filled>span{color:var(--accent-2)}@keyframes chip-pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}to{transform:scale(1)}}.status{margin-inline-start:auto;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.status-confirming{color:var(--amber)}.status-ready{color:var(--accent)}.lang{margin-inline-start:auto;padding:.34rem .55rem;border-radius:var(--r-sm);border:1px solid var(--edge);background:var(--glass);color:var(--text-2);font:700 .68rem/1 var(--font);letter-spacing:.14em;cursor:pointer;box-shadow:var(--inset-hi);transition:border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.lang:hover,.lang:focus{outline:none;border-color:var(--accent-dim);color:var(--accent-2);box-shadow:var(--inset-hi),0 0 0 3px var(--glow-soft)}.lang option{background:var(--bg-1);color:var(--text)}.messages{flex:1;min-height:0;overflow-y:auto;padding:1.4rem clamp(16px,4vw,28px);display:flex;flex-direction:column;gap:.7rem;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.bubble{max-inline-size:82%;padding:.72rem .95rem;border-radius:var(--r-lg);line-height:1.35;white-space:pre-wrap;word-break:break-word;border:1px solid var(--edge);background:var(--glass-2);box-shadow:var(--inset-hi),var(--shadow);animation:msg-in .42s var(--ease) both}@keyframes msg-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.bubble.assistant{align-self:flex-start;border-end-start-radius:0;background:var(--glass-ai);border-color:var(--edge-ai);color:var(--text);font-size:.98rem;letter-spacing:-.003em}.bubble.user{align-self:flex-end;max-inline-size:76%;border-end-end-radius:0;background:var(--glass-2);border-color:var(--edge-hi);color:var(--text);font-size:.88rem;font-weight:500}.bubble.error{align-self:center;max-inline-size:90%;border-color:#a4342b66;background:#a4342b14;color:var(--danger);box-shadow:none;font-size:.9rem}.bubble.typing{display:inline-flex;gap:6px;align-self:flex-start;padding:.85rem 1rem}.bubble.typing span{inline-size:7px;block-size:7px;border-radius:50%;background:var(--accent);animation:glow-dot 1.3s var(--ease-soft) infinite}.bubble.typing span:nth-child(2){animation-delay:.16s}.bubble.typing span:nth-child(3){animation-delay:.32s}@keyframes glow-dot{0%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chart{align-self:stretch;margin-block:.25rem;padding:.95rem 1.05rem 1.05rem;border-radius:var(--r-lg);border:1px solid var(--edge-ai);background:var(--glass-ai);box-shadow:var(--inset-hi),var(--shadow);animation:msg-in .45s var(--ease) both}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-block-end:.6rem;margin-block-end:.65rem;border-block-end:1px solid var(--edge)}.chart-title{font-size:.98rem;font-weight:700;color:var(--text)}.chart-sub{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.chart-angles{display:flex;gap:1.2rem;flex-wrap:wrap;padding-block-end:.6rem;margin-block-end:.55rem;border-block-end:1px solid var(--edge);font-size:.84rem;color:var(--text-2)}.chart-angles b{margin-inline-end:.4rem;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.chart-grid{display:flex;flex-direction:column}.chart-row{display:grid;grid-template-columns:1.9rem 1fr;align-items:baseline;padding-block:.34rem}.chart-row+.chart-row{border-block-start:1px solid rgba(37,52,88,.08)}.glyph{color:var(--accent-2);line-height:1}.chart-row .pl{font-size:1.12rem}.chart-row .pos{display:inline-flex;align-items:baseline;gap:.45rem;font-size:.9rem;font-variant-numeric:tabular-nums;color:var(--text-2)}.chart-row .pos .glyph{font-size:1.02rem}.chart-row .rx{color:var(--amber);font-size:.8rem}.chart-angles .glyph{margin-inline-start:.15rem;font-size:.98rem}.chart-note{margin:.75rem 0 0;font-size:.74rem;line-height:1.45;color:var(--muted)}.chart-box{display:flex;flex-wrap:wrap;align-content:center;gap:.34rem .62rem;min-block-size:3.2rem;max-inline-size:13rem;padding:.42rem .75rem;border-radius:var(--r-sm);border:1px solid var(--accent-dim);background:var(--glass);box-shadow:var(--inset-hi);color:var(--text-2)}.chart-box .cp{display:inline-flex;align-items:baseline;line-height:1;gap:.04rem;white-space:nowrap}.chart-box .glyph{font-size:.92rem}.chart-box .rx{color:var(--amber);font-size:.72rem;margin-inline-start:.05rem}.analyze-btn{align-self:flex-start;padding:.6rem 1.15rem;border-radius:var(--r-md);border:1px solid var(--edge-ai);background:var(--glass-ai);color:var(--accent);font:700 .86rem/1 var(--font);letter-spacing:.02em;cursor:pointer;box-shadow:var(--inset-hi);transition:transform .12s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);animation:msg-in .42s var(--ease) both}.analyze-btn:hover{transform:translateY(-1px);border-color:var(--accent-dim);box-shadow:var(--inset-hi),0 0 0 3px var(--glow-soft)}.analyze-btn:active{transform:scale(.97)}.reading .reading-section+.reading-section{margin-block-start:.75rem}.reading-label{margin-block-end:.35rem;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.reading-list{margin:0;padding-inline-start:1.1rem;display:flex;flex-direction:column;gap:.28rem}.reading-list li{font-size:.9rem;line-height:1.5;color:var(--text-2)}.reading-list li::marker{color:var(--accent-dim)}.composer{flex:none;display:flex;gap:.6rem;align-items:flex-end;padding:.9rem clamp(16px,4vw,28px) calc(.9rem + env(safe-area-inset-bottom));background:linear-gradient(0deg,#f2ead4eb 45%,#f2ead400)}.composer textarea{flex:1;resize:none;overflow-y:hidden;block-size:auto;padding:.7rem .95rem;border-radius:var(--r-md);border:1px solid var(--edge);background:var(--glass-2);box-shadow:var(--inset-hi);color:var(--text);caret-color:var(--accent);font:500 .95rem/1.45 var(--font);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.composer textarea::placeholder{color:var(--muted)}.composer textarea:focus{outline:none;border-color:var(--accent-dim);box-shadow:var(--inset-hi),0 0 0 3px var(--glow-soft)}.composer button{flex:none;display:grid;place-items:center;inline-size:46px;block-size:46px;border-radius:50%;border:1px solid var(--edge-hi);background:var(--glass-2);color:var(--text-2);line-height:1;cursor:pointer;transition:transform .12s var(--ease),box-shadow .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}.composer button:not(:disabled){color:#fdf6e3;background:linear-gradient(160deg,var(--accent-2),var(--accent));border-color:transparent;box-shadow:var(--shadow)}.composer button:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow),0 0 0 3px var(--glow-soft)}.composer button:not(:disabled):active{transform:scale(.94)}.composer button:disabled{opacity:.6;cursor:default}@media(prefers-reduced-motion:reduce){.bubble,.chip.filled,.bubble.typing span{animation:none}.composer button,.composer textarea,.chip{transition:none}}
