:root{--bg:#1a2235;--ink:#2a2e3a;--ink-soft:#8a8fa0;--accent:#6ca8e8;--accent-2:#b79be8;--in-bg:#fff;--out-ink:#fff;--header-bg:#ffffffb8;--time:#fffc;--font-body:"Inter", sans-serif;--font-script:"Great Vibes", cursive;--font-arabic:"Amiri", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background:var(--bg);width:100%;height:100dvh;font-family:var(--font-body);color:var(--ink);overflow:hidden}#app{width:100%;max-width:460px;height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 8px 60px #0006}.journey-canvas{z-index:0;position:absolute;inset:0;width:100%!important;height:100%!important}.chat-header{z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(1.3);border-bottom:1px solid #0000000f;align-items:center;gap:10px;height:58px;padding:0 12px;display:flex;position:absolute;top:0;left:0;right:0}.chat-back{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.chat-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:flex}.chat-avatar svg{width:22px;height:22px}.chat-id{flex:1;min-width:0}.chat-name{color:#20242e;white-space:nowrap;text-overflow:ellipsis;font-size:.96rem;font-weight:600;overflow:hidden}.chat-status{color:var(--accent);font-size:.72rem}.chat-status.typing{color:var(--accent-2);font-style:italic}.chat-menu{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px}.chat-progress{z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(16px);gap:3px;padding:5px 12px;display:flex;position:absolute;top:58px;left:0;right:0}.chat-seg{cursor:pointer;background:#0000001a;border-radius:2px;flex:1;height:3px;transition:background-color .3s}.chat-seg.done{background:var(--accent)}.chat-seg.active{background:var(--accent-2)}.thread{z-index:10;scrollbar-width:none;scroll-behavior:smooth;flex-direction:column;gap:8px;padding:16px 12px 8px;display:flex;position:absolute;inset:71px 0 64px;overflow-y:auto}.thread::-webkit-scrollbar{display:none}.chat-group{flex-direction:column;gap:8px;display:none}.chat-group.revealed{display:flex}.chat-daysep{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000002e;border-radius:999px;align-self:center;margin:4px 0;padding:4px 12px;font-size:.68rem}.chat-daysep-to{letter-spacing:.02em;background:#00000047}.chat-daysep-to .cm-guest{font-weight:700}.typing-ind{background:var(--in-bg);border-radius:16px 16px 16px 4px;align-self:flex-start;padding:12px 16px;display:none;box-shadow:0 2px 8px #00000014}.typing-ind.out{border-radius:16px 16px 4px;align-self:flex-end}.typing-ind.show{gap:4px;display:inline-flex}.typing-ind span{background:var(--ink-soft);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite cm-bounce}.typing-ind span:nth-child(2){animation-delay:.18s}.typing-ind span:nth-child(3){animation-delay:.36s}@keyframes cm-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-input{z-index:30;height:64px;padding:0 12px calc(0px + env(safe-area-inset-bottom,0px));background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(1.3);border-top:1px solid #0000000f;align-items:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.chat-fakefield{height:42px;font-family:var(--font-body);color:var(--ink-soft);cursor:pointer;background:#fff;border:none;border-radius:21px;flex:1;align-items:center;padding:0 18px;font-size:.9rem;display:flex}.chat-send{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:19px;transition:transform .2s;display:flex;box-shadow:0 6px 18px #6ca8e873}.chat-send:hover{transform:scale(1.06)}.chat-send.done{box-shadow:none;background:#b7c0d0}.msg{opacity:0;max-width:82%;display:none}.msg.show{opacity:1;display:block}.msg.in{align-self:flex-start}.msg.out{align-self:flex-end}.msg.wide{align-self:stretch;max-width:92%}.bubble{word-wrap:break-word;border-radius:18px;padding:10px 14px;font-size:.9rem;line-height:1.5;position:relative;box-shadow:0 2px 10px #0000001a}.in .bubble{background:var(--in-bg);color:var(--ink);border-bottom-left-radius:5px}.out .bubble{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--out-ink);border-bottom-right-radius:5px}.meta{text-align:right;opacity:.85;margin-top:4px;font-size:.64rem;display:block}.in .meta{color:var(--ink-soft)}.out .meta{color:var(--time)}.tick{letter-spacing:-2px;margin-left:3px}.cm-greet{font-family:var(--font-script);font-size:2.1rem;line-height:1.2}.cm-names{font-family:var(--font-script);font-size:2.6rem;line-height:1.15}.cm-h{font-size:1rem;font-weight:700}.cm-strong{font-weight:600}.cm-sub{opacity:.9;font-size:.8rem}.cm-arabic{font-family:var(--font-arabic);margin:4px 0;font-size:1.3rem;line-height:1.9;display:block}.cm-italic{font-style:italic}.out .cm-soft,.out .cm-sub{color:#ffffffe0}.in .cm-soft{color:var(--ink-soft)}.sticker{text-align:center;padding:4px;box-shadow:none!important;background:0 0!important}.card{text-align:left;background:#ffffff29;border:1px solid #ffffff4d;border-radius:12px;margin-top:8px;padding:12px}.in .card{background:#6ca8e814;border-color:#6ca8e833}.card-row{align-items:center;gap:10px;display:flex}.card-row+.card-row{border-top:1px solid #ffffff40;margin-top:8px;padding-top:8px}.in .card-row+.card-row{border-top-color:#00000014}.card-date{text-align:center;background:#ffffff40;border-radius:9px;flex-shrink:0;width:50px;padding:6px 0}.in .card-date{background:#6ca8e826}.card-date b{font-size:1.3rem;line-height:1;display:block}.card-date small{text-transform:uppercase;letter-spacing:.05em;font-size:.58rem}.profile{align-items:center;gap:12px;display:flex}.profile img{object-fit:cover;border:2px solid #fff9;border-radius:50%;width:56px;height:56px}.profile .pph{background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;display:flex}.profile .pph svg{color:#fff;opacity:.92;width:30px;height:30px}.cm-btn{color:#fff;font-family:var(--font-body);cursor:pointer;background:#ffffff38;border:1px solid #fff6;border-radius:999px;align-items:center;gap:6px;margin-top:10px;padding:9px 16px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.in .cm-btn{background:var(--accent);color:#fff;border:none}.cm-copy{cursor:pointer}.cm-swatches{gap:10px;margin-top:8px;display:flex}.cm-swatch{border:2px solid #ffffffb3;border-radius:50%;width:34px;height:34px}.cm-cd{gap:8px;margin-top:8px;display:flex}.cm-cd>div{text-align:center;background:#fff3;border-radius:10px;flex:1;padding:8px 0}.cm-cd b{font-size:1.25rem;line-height:1;display:block}.cm-cd small{text-transform:uppercase;letter-spacing:.06em;opacity:.9;font-size:.56rem}.cm-media{aspect-ratio:16/9;background:#000;border-radius:12px;width:100%;margin-top:8px;position:relative;overflow:hidden}.cm-media iframe{border:0;width:100%;height:100%;display:block}.cm-media-empty{color:#fff;justify-content:center;align-items:center;height:100%;font-size:1.6rem;display:flex}.cm-media-empty .cm-ico-lg{fill:currentColor;width:38px;height:38px}.cm-tap{z-index:2;cursor:pointer;color:#fff;width:100%;height:100%;font-family:var(--font-body);background:radial-gradient(circle at 50% 42%,#14182680,#0a0c16cc);border:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:absolute;inset:0}.cm-tap .cm-tap-play{background:#ffffff2e;border:1.5px solid #ffffff8c;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding-left:3px;font-size:1.05rem;display:flex}.cm-tap .cm-tap-label{letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.cm-tap.hide{display:none}.cm-ico{vertical-align:-.16em;fill:currentColor;flex-shrink:0;width:1.05em;height:1.05em}.cm-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.cm-grid img,.cm-grid svg{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%;display:block}.cm-list{flex-direction:column;gap:7px;margin-top:4px;display:flex}.cm-line{gap:10px;display:flex}.cm-time-col{opacity:.9;flex-shrink:0;min-width:44px;font-weight:700}.form-msg{align-self:flex-start;max-width:88%}.form-msg .bubble{color:var(--ink);background:#fff;border-bottom-left-radius:5px;width:100%}.cm-form{flex-direction:column;gap:9px;margin-top:6px;display:flex}.cm-honeypot{opacity:0;width:0;height:0;position:absolute;left:-9999px}.cm-label{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.cm-input{width:100%;color:var(--ink);font-family:var(--font-body);background:#f6f8fc;border:1px solid #e2e6ef;border-radius:12px;padding:10px 12px;font-size:.88rem}.cm-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #6ca8e826}.cm-chips{gap:8px;display:flex}.cm-chip{flex:1}.cm-chip input{opacity:0;position:absolute}.cm-chip span{text-align:center;cursor:pointer;border:1px solid #e2e6ef;border-radius:12px;padding:9px;font-size:.84rem;transition:all .2s;display:block}.cm-chip input:checked+span{background:var(--accent);color:#fff;border-color:var(--accent)}.cm-submit{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#fff;cursor:pointer;border:none;border-radius:12px;padding:11px;font-size:.88rem;font-weight:600}.cm-feedback{text-align:center;min-height:1em;color:var(--ink-soft);font-size:.74rem}.cm-feedback[data-state=ok]{color:#3e9e6e;font-weight:600}.cm-feedback[data-state=err]{color:#d8607a}.cm-feed{scrollbar-width:none;flex-direction:column;gap:7px;max-height:34dvh;margin-top:8px;display:flex;overflow-y:auto}.cm-feed::-webkit-scrollbar{display:none}.cm-wish{background:#f2f5fb;border-radius:12px 12px 12px 4px;padding:8px 11px}.cm-wish .nm{color:var(--accent);font-size:.82rem;font-weight:600}.cm-wish .ms{color:var(--ink);font-size:.84rem}.cm-wish .tm{color:var(--ink-soft);margin-top:2px;font-size:.62rem}@media (height<=680px){.cm-names{font-size:2.1rem}.thread{top:71px;bottom:60px}}
