:root{--ink: #120d0a;--ink-2: #19120c;--surface: #211912;--surface-2: #2a2018;--plum: #241522;--eggplant: #301d31;--gold: #c8a24c;--champagne: #e7cf8e;--brass: #8a6a2e;--amber: #d98f57;--paper: #f2e9d9;--paper-dim: #cdbfa6;--muted: #93876d;--line: rgba(200, 162, 76, .16);--line-soft: rgba(200, 162, 76, .09);--shadow: 0 14px 50px rgba(0, 0, 0, .5);--shadow-soft: 0 6px 22px rgba(0, 0, 0, .35);--serif: "Fraunces", "Hoefler Text", Georgia, serif;--sans: "Mulish", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.shell{position:relative;display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;isolation:isolate;background:radial-gradient(135% 55% at 50% -8%,rgba(216,143,87,.16),transparent 60%),radial-gradient(120% 70% at 50% 0%,var(--ink-2) 0%,var(--ink) 55%,#0c0806 100%),radial-gradient(90% 60% at 80% 110%,rgba(48,29,49,.5),transparent 70%)}.ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(46% 30% at 50% 4%,rgba(231,207,142,.12),transparent 70%);animation:breathe-glow 7s ease-in-out infinite}@keyframes breathe-glow{0%,to{opacity:.55}50%{opacity:1}}.constellations{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.5}.constellations line{stroke:var(--champagne);stroke-width:.5;opacity:.22}.constellations circle{fill:var(--champagne);opacity:.5}.constellations .twinkle{animation:twinkle 4s ease-in-out infinite}.constellations .twinkle:nth-child(odd){animation-delay:1.4s}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.8}}.header{flex:0 0 auto;padding:calc(env(safe-area-inset-top) + 14px) 20px 13px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(18,13,10,.92),rgba(18,13,10,.4) 80%,transparent);z-index:5}.sigil{width:42px;height:42px;border-radius:50%;flex:0 0 auto;position:relative;background:radial-gradient(circle at 38% 32%,#fff3da 0%,var(--champagne) 22%,var(--gold) 52%,#6f521f 100%);box-shadow:0 0 22px #d88f5766,inset 0 0 8px #fff0d280;animation:ember 5.5s ease-in-out infinite}@keyframes ember{0%,to{box-shadow:0 0 18px #d88f5752,inset 0 0 8px #fff0d273}50%{box-shadow:0 0 30px #e7cf8e8c,inset 0 0 10px #fff0d2b3}}.sigil:after{content:"";position:absolute;right:-7px;top:8px;width:22px;height:2px;background:linear-gradient(90deg,var(--champagne),transparent);border-radius:2px;opacity:.7}.header .id{display:flex;flex-direction:column;line-height:1.15}.header .name{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.3px;color:var(--paper)}.header .status{font-size:11.5px;color:var(--muted);margin-top:2px;letter-spacing:.2px;display:flex;align-items:center;gap:5px}.header .status .dot{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 6px var(--amber);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.disclaimer{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 16px;font-size:11px;line-height:1.3;color:var(--muted);border-bottom:1px solid var(--line-soft);background:#120d0a73}.disclaimer .manage{background:none;border:none;color:var(--gold-soft);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;opacity:.85}.disclaimer .note{color:var(--amber)}.feed{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:20px 16px 10px;display:flex;flex-direction:column;gap:11px}.feed::-webkit-scrollbar{width:0}.row{display:flex}.row.estela{justify-content:flex-start}.row.user{justify-content:flex-end}.bubble{max-width:82%;padding:12px 16px;line-height:1.5;font-size:15.5px;word-wrap:break-word;white-space:pre-wrap;position:relative}.bubble.estela{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:19px 19px 19px 6px;box-shadow:var(--shadow-soft);color:var(--paper)}.bubble.user{background:linear-gradient(180deg,#3b2c1b,#322413);border:1px solid rgba(216,143,87,.22);border-radius:19px 19px 6px;box-shadow:var(--shadow-soft);color:#f6eeda}.bubble.estela.voice{font-family:var(--serif);font-size:17.5px;line-height:1.45;font-weight:400;letter-spacing:.2px}.bubble.estela .star{color:var(--champagne);opacity:.6}.typing{display:inline-flex;gap:6px;align-items:center;padding:15px 17px}.typing span{width:6px;height:6px;border-radius:50%;background:var(--champagne);opacity:.5;animation:breathe 1.4s ease-in-out infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes breathe{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.composer{flex:0 0 auto;padding:11px 15px calc(env(safe-area-inset-bottom) + 13px);border-top:1px solid var(--line-soft);background:linear-gradient(0deg,rgba(18,13,10,.97),rgba(18,13,10,.7) 70%,transparent);display:flex;flex-direction:column;gap:10px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{border:1px solid rgba(200,162,76,.45);color:var(--champagne);background:#c8a24c0a;padding:11px 16px;border-radius:999px;font:500 14.5px var(--sans);min-height:44px;cursor:pointer;transition:background .18s,transform .1s,border-color .18s}.chip:active{transform:scale(.96);background:#c8a24c29;border-color:var(--champagne)}.inputbar{display:flex;gap:10px;align-items:flex-end}.inputbar textarea{flex:1;resize:none;max-height:120px;min-height:46px;background:var(--surface);border:1px solid var(--line);color:var(--paper);border-radius:23px;padding:12px 17px;font:400 15.5px/1.4 var(--sans);outline:none;box-shadow:inset 0 1px 2px #0000004d;transition:border-color .18s}.inputbar textarea:focus{border-color:#c8a24c66}.inputbar textarea::placeholder{color:var(--muted)}.send{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:radial-gradient(circle at 38% 30%,var(--champagne),var(--gold) 55%,#8a6a2e 100%);color:#20160a;font-size:17px;display:grid;place-items:center;box-shadow:0 4px 14px #c8a24c4d;transition:transform .1s,opacity .15s}.send:active{transform:scale(.92)}.send:disabled{opacity:.35;box-shadow:none}.picker{display:flex;gap:10px;align-items:center}.picker input{flex:1;background:var(--surface);border:1px solid var(--line);color:var(--paper);border-radius:23px;padding:12px 17px;font:400 15.5px var(--sans);min-height:46px;outline:none;color-scheme:dark;box-shadow:inset 0 1px 2px #0000004d}.picker input:focus{border-color:#c8a24c66}.picker .skip{background:none;border:none;color:var(--muted);font-size:13.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:9px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#080503a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;max-width:480px;margin:0 auto;background:radial-gradient(120% 60% at 50% 0%,rgba(216,143,87,.14),transparent 60%),linear-gradient(180deg,var(--surface-2),var(--surface));border-top:1px solid var(--line);border-radius:28px 28px 0 0;padding:13px 24px calc(env(safe-area-inset-bottom) + 26px);box-shadow:0 -18px 54px #0000008c}.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:4px auto 20px}.sheet .eyebrow{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.sheet h2{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.18;margin:0 0 10px;letter-spacing:.2px}.sheet p{color:var(--paper-dim);margin:0 0 18px;line-height:1.5;font-size:15px}.divider{display:flex;align-items:center;gap:10px;margin:2px 0 18px;color:var(--gold);opacity:.7}.divider:before,.divider:after{content:"";height:1px;flex:1;background:var(--line)}.sheet .price{font-family:var(--serif);font-size:33px;color:var(--champagne);margin-bottom:18px;letter-spacing:.3px}.sheet .price small{font-family:var(--sans);font-size:13.5px;color:var(--muted);letter-spacing:0}.btn-primary{width:100%;min-height:54px;border:none;border-radius:16px;cursor:pointer;background:linear-gradient(165deg,var(--champagne),var(--gold) 55%,#a9842f);color:#20160a;font:600 16.5px var(--sans);letter-spacing:.2px;box-shadow:0 10px 26px #c8a24c47;transition:transform .1s}.btn-primary:active{transform:scale(.98)}.btn-ghost{width:100%;margin-top:11px;background:none;border:none;color:var(--muted);font-size:14px;padding:12px;cursor:pointer}.sheet .reassure{margin-top:15px;font-size:12.5px;color:var(--muted);text-align:center;line-height:1.45}.syn-entry{width:100%;margin-bottom:9px;cursor:pointer;min-height:44px;background:#c8a24c14;border:1px solid rgba(200,162,76,.4);color:var(--champagne);border-radius:14px;padding:11px;font:600 14px var(--sans);transition:transform .1s,background .15s}.syn-entry:active{transform:scale(.98);background:#c8a24c29}.syn-form{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}.syn-form input{background:var(--surface);border:1px solid var(--line);color:var(--paper);border-radius:14px;padding:12px 15px;font:400 15px var(--sans);min-height:46px;outline:none;color-scheme:dark}.syn-form input:focus{border-color:#c8a24c66}.syn-wrap{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.syn-card{width:100%;max-width:440px;background:radial-gradient(120% 60% at 50% 0%,rgba(216,143,87,.14),transparent 60%),linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:24px;padding:26px 24px calc(env(safe-area-inset-bottom) + 24px);box-shadow:var(--shadow)}.syn-eyebrow{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:16px}.syn-names{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px}.syn-names>span{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-size:21px;color:var(--paper)}.syn-names small{font-family:var(--sans);font-size:12px;color:var(--muted);margin-top:2px}.syn-heart{font-size:22px}.syn-headline{font-family:var(--serif);font-size:18px;line-height:1.4;text-align:center;color:var(--champagne);margin-bottom:16px}.syn-aspects{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:18px}.syn-asp{font-size:11.5px;color:var(--paper-dim);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.syn-reading{font-size:14.5px;line-height:1.55;color:var(--paper)}.syn-reading p{margin:0 0 12px}.syn-reading strong{color:var(--champagne);font-weight:600}.syn-cta{display:block;text-align:center;margin-top:14px;color:var(--champagne);font-size:14px;text-decoration:none;padding:8px}.syn-foot{text-align:center;font-size:11px;color:var(--muted);margin-top:12px}.syn-loading{text-align:center;color:var(--paper-dim);font-family:var(--serif);font-size:18px;line-height:1.5;padding:30px 0}.syn-orbits{width:64px;height:64px;margin:0 auto 8px;position:relative}.syn-orbits span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1.4s linear infinite}.syn-orbits span:nth-child(2){top:14px;right:14px;bottom:14px;left:14px;animation-duration:1s;animation-direction:reverse}@keyframes spin{to{transform:rotate(360deg)}}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:radial-gradient(60% 40% at 50% 42%,rgba(216,143,87,.12),transparent 70%),var(--ink)}.intro .mark{text-align:center}.intro .word{font-family:var(--serif);font-size:46px;font-weight:500;color:var(--paper);letter-spacing:1px;position:relative}.intro .comet{display:block;height:2px;width:0;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--champagne),transparent);animation:comet 1.6s ease forwards}@keyframes comet{to{width:130px}}.intro .tagline{margin-top:16px;font-size:14px;color:var(--paper-dim);letter-spacing:.3px;font-style:italic;font-family:var(--serif);opacity:0;animation:fade-in .9s ease .5s forwards}@keyframes fade-in{to{opacity:.9}}
