/* Content-first conversation layout: calm answers, compact controls, one scroll pane. */
body.numerology-page .cat-chat-head{min-height:68px;padding:10px 22px;background:rgba(255,250,247,.96);border-bottom:1px solid #efdce3}.numerology-page .cat-title>b{font-size:15px}.numerology-page .cat-title small{font-size:10px}.numerology-page #chatMessages{padding:max(28px,4vh) max(24px,calc((100% - 800px)/2)) 34px!important;scroll-padding-bottom:36px}
.numerology-page .chat-row{margin:0 0 30px;animation:bubbleIn .2s ease both}.numerology-page .chat-row.user{justify-content:flex-end}.numerology-page .chat-row.user .chat-bubble{max-width:min(78%,620px);padding:10px 14px;border-radius:20px 20px 6px 20px;background:#4b3540;color:#fff;font-size:15px;line-height:1.5;box-shadow:none}.numerology-page .chat-row.bot{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;column-gap:12px;width:100%}.numerology-page .chat-row.bot .mini-cat{grid-column:1;width:30px;height:30px;flex-basis:30px;animation:none}.numerology-page .chat-row.bot>.chat-bubble{grid-column:2;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#3d3036;font-size:16px;line-height:1.65;box-shadow:none}.numerology-page .chat-row.bot>.chat-bubble strong{color:inherit;font-weight:800}.numerology-page .chat-row.bot>.chat-bubble p{margin:0 0 12px}.numerology-page .chat-row.bot>.chat-bubble h3{margin:20px 0 8px;font-size:21px}.numerology-page .chat-row.bot>.chat-bubble ul{padding-left:21px}.message-actions{grid-column:2;display:flex;align-items:center;gap:19px;margin-top:12px;color:#8d7a82}.message-actions button{width:24px;height:26px;padding:0;border:0;background:transparent;color:inherit;font:700 15px/1 system-ui;cursor:pointer;opacity:.78}.message-actions button:hover,.message-actions button.selected{color:#d3487f;opacity:1}.thinking-row .message-actions{display:none}.thinking-row .thinking-bubble{padding:6px 0;background:transparent}.tool-running .chat-bubble:before{width:11px;height:11px}
.chat-row.bot>.cat-share-card{grid-column:2;width:min(440px,100%);margin:18px 0 0;padding:17px;border:0;border-radius:18px;background:#fff4f7;box-shadow:none}.cat-share-card h3{font-size:20px}.cat-score-grid{gap:6px}.cat-score-grid div{padding:9px;background:rgba(255,255,255,.68)}.cat-card-actions{gap:12px;margin-top:13px}.cat-card-actions button{padding:5px 0;border:0;background:transparent;color:#8b5269;font-size:10px}.cat-card-actions button:before{content:"↗ ";font-weight:900}.cat-card-actions button:nth-child(2):before{content:"↓ "}.cat-card-actions button:nth-child(3):before{content:"⌁ "}
.cat-tool-launcher{display:none!important}.numerology-page #chatComposer{min-height:58px!important;width:min(800px,calc(100% - 48px))!important;margin:8px auto max(10px,env(safe-area-inset-bottom))!important;padding:7px 8px 7px 9px;border:1px solid #e6cfd8;border-radius:28px;box-shadow:none;background:#fff}.numerology-page #chatComposer textarea{font-size:16px!important;padding:9px 5px!important}.numerology-page #chatComposer button{width:43px;height:43px;border-radius:50%}.numerology-page #chatComposer .composer-plus{border:0;background:#f6edf1;color:#5f4852;font-size:22px}.composer-action-menu{position:absolute;z-index:50;left:0;bottom:68px;width:180px;padding:7px;border:1px solid #ead3dc;border-radius:15px;background:#fff;box-shadow:0 16px 38px rgba(67,35,48,.16)}.composer-action-menu[hidden]{display:none}.composer-action-menu button{display:flex!important;align-items:center;gap:10px;width:100%!important;height:40px!important;padding:0 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#543943!important;font:700 12px/1.2 system-ui!important;text-align:left}.composer-action-menu button:hover{background:#fff0f5!important}.composer-action-menu button span{font-size:16px}.return-to-bottom{position:absolute;z-index:40;left:50%;bottom:86px;display:grid;width:34px;height:34px;place-items:center;border:1px solid #e6ccd6;border-radius:50%;background:#fff;color:#684b57;box-shadow:0 5px 16px rgba(70,38,50,.12);cursor:pointer;transform:translateX(-50%)}.return-to-bottom[hidden]{display:none}.cat-safety{align-self:center!important;min-height:0!important;margin:0 0 max(5px,env(safe-area-inset-bottom))!important;padding:0!important;color:#9a8990;font-size:8px}.cat-safety summary{cursor:pointer;text-align:center}.cat-safety span{display:block;max-width:520px;padding:5px 12px;text-align:center}
.cat-app-surface{width:min(800px,calc(100% - 48px));margin:5px auto 0;padding:8px 11px;border:0;border-radius:13px;background:#fff3f7;box-shadow:none}.cat-app-mode-icon{width:28px;height:28px;flex-basis:28px;font-size:15px}.cat-app-surface-head b{font-size:11px}.cat-app-surface-head small{font-size:9px}.cat-app-quick-actions{margin-top:7px;padding-left:38px}.cat-app-quick-actions button{padding:6px 9px;font-size:9px}
body.numerology-page .thread-sidebar{grid-template-rows:max-content max-content max-content max-content max-content minmax(0,1fr) max-content!important;padding:16px 12px;background:#fffaf3}.drawer-cat-apps{display:grid;grid-template-columns:28px 1fr;gap:1px 8px;align-items:center;width:100%;padding:9px 10px;border:0;border-radius:11px;background:transparent;color:#503842;text-align:left;cursor:pointer}.drawer-cat-apps>span{grid-row:1/3}.drawer-cat-apps b{font-size:11px}.drawer-cat-apps small{color:#917b84;font-size:8px}.drawer-cat-apps:hover{background:#fff}.thread-section-label{margin:7px 8px 0;color:#9a828b;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.thread-item{border:0;border-radius:9px}.thread-item.active{border:0;background:#f8e9ef;box-shadow:none}.thread-select{padding-block:9px}.drawer-footer{padding-top:8px;border-top:1px solid #eee0e5}.drawer-footer a{display:flex;align-items:center;gap:9px;padding:8px;color:#543b45;text-decoration:none}.drawer-footer a>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#efd6df;color:#d3487f}.drawer-footer b,.drawer-footer small{display:block}.drawer-footer b{font-size:10px}.drawer-footer small{margin-top:2px;color:#937d85;font-size:8px}
html[data-theme="dark"] .numerology-page .chat-row.bot>.chat-bubble{color:#f5e9ee}html[data-theme="dark"] .numerology-page #chatComposer,html[data-theme="dark"] .composer-action-menu{background:#2a2225;border-color:#654551}html[data-theme="dark"] .composer-action-menu button{color:#f4e8ed!important}html[data-theme="dark"] .chat-row.bot>.cat-share-card{background:#32272b}
@media(max-width:820px){body.numerology-page .cat-chat-head{min-height:64px;padding:8px 14px}.numerology-page #chatMessages{padding:22px 20px 26px!important}.numerology-page .chat-row{margin-bottom:28px}.numerology-page .chat-row.bot{grid-template-columns:30px minmax(0,1fr);column-gap:11px}.numerology-page .chat-row.bot>.chat-bubble{font-size:16px}.numerology-page #chatComposer{width:calc(100% - 24px)!important;margin:7px auto max(7px,env(safe-area-inset-bottom))!important}.cat-app-surface{width:calc(100% - 24px);margin-top:4px}.cat-app-surface-head small{max-width:260px}.chat-row.bot>.cat-share-card{width:100%}.thread-sidebar{transition:transform .24s ease!important}.thread-scrim{backdrop-filter:none!important}.cat-safety span{max-width:340px}.return-to-bottom{bottom:80px}}
body.numerology-page .thread-sidebar{grid-template-rows:max-content max-content max-content max-content max-content max-content minmax(0,1fr) max-content!important}
.composer-action-menu{width:230px;max-height:min(420px,60vh);overflow:auto}.composer-cat-app-list{margin-top:5px;padding-top:5px;border-top:1px solid #f0e1e7}.composer-cat-app-item>div,.drawer-cat-app-item>div{min-width:0}.composer-cat-app-item b,.composer-cat-app-item small,.drawer-cat-app-item b,.drawer-cat-app-item small{display:block}.composer-cat-app-item small,.drawer-cat-app-item small{margin-top:2px;color:#927b84;font-size:8px;font-weight:500;white-space:normal}.drawer-cat-app-list{display:grid;gap:3px;padding:0 4px 6px}.drawer-cat-app-list[hidden]{display:none}.drawer-cat-app-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px;border:0;border-radius:10px;background:transparent;color:#503842;text-align:left;cursor:pointer}.drawer-cat-app-item:hover{background:#fff}.drawer-cat-app-item>span{font-size:17px}.drawer-cat-app-item b{font-size:10px}.message-actions{display:none!important}
.numerology-page .cat-app-surface{display:flex;width:max-content;max-width:calc(100% - 24px);align-items:center;gap:4px;margin:5px auto 0;padding:3px 5px 3px 10px;border:1px solid #ead3dc;border-radius:999px;background:#fff;box-shadow:none;color:#573d47;font-size:10px;font-weight:800}.numerology-page .cat-app-surface[hidden]{display:none}.numerology-page .cat-app-surface .cat-app-close{width:22px;height:22px;flex-basis:22px;border-radius:50%;font-size:16px}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 5px}.sidebar-brand-row .numerology-brand{min-width:0;padding:8px 2px 10px}.sidebar-brand-row #closeThreads{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#73545f;cursor:pointer}.sidebar-brand-row #closeThreads:hover{border-color:#e9bdcc;background:#fff}.sidebar-brand-row #closeThreads svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ui-icon{display:grid!important;width:20px!important;height:20px!important;flex:0 0 20px;place-items:center}.ui-icon svg,.return-to-bottom svg,.cat-app-close svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.composer-action-menu .ui-icon{width:19px!important;height:19px!important}.composer-cat-app-item .mode-icon,.drawer-cat-app-item .mode-icon{width:22px!important;height:22px!important;padding:3px;border-radius:7px;background:#f8edf2;color:#765360}.drawer-cat-apps>.ui-icon{grid-row:1/3;color:#9e6279}.drawer-footer a>.ui-icon{width:28px!important;height:28px!important;padding:6px}.return-to-bottom svg{width:18px;height:18px}.numerology-page #chatComposer .composer-plus svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}.numerology-page .cat-app-surface>span{display:flex;align-items:center;gap:6px}.numerology-page .cat-app-surface>span .ui-icon{width:16px!important;height:16px!important}.numerology-page .cat-app-surface .cat-app-close svg{width:14px;height:14px}.numerology-page .cat-title small{max-width:none!important;margin-left:4px;padding-left:2px;overflow:visible!important;text-overflow:clip!important}.numerology-page .cat-title small i{margin-right:2px}
body.numerology-page .thread-sidebar{display:flex!important;flex-direction:column!important}.thread-sidebar .thread-list{flex:1 1 0}.thread-section-label,.drawer-cat-app-list,.drawer-cat-apps,.thread-search,.new-feng-chat,.sidebar-brand-row,.drawer-footer{flex:0 0 auto}

/* Final pink system: one warm rose palette, consistent geometry and mobile-safe labels. */
body.numerology-page{--cat-pink:#e83f7d;--cat-pink-deep:#a83260;--cat-ink:#432c37;--cat-muted:#8f7480;--cat-line:#efc9d7;--cat-soft:#fff0f5;--cat-softer:#fff8fa;background:#fff8fa;color:var(--cat-ink)}
body.numerology-page .cat-chat{background:#fffbfc}body.numerology-page .cat-chat-head{background:linear-gradient(100deg,#fff5f8,#ffeaf2);border-color:var(--cat-line)}body.numerology-page .thread-sidebar{background:linear-gradient(180deg,#fff7fa,#fff1f6);border-color:var(--cat-line)!important}body.numerology-page .new-feng-chat{border-color:#d93470;background:linear-gradient(135deg,#a83260,#d83b75);box-shadow:0 8px 22px rgba(168,50,96,.16)}body.numerology-page .thread-search,body.numerology-page #chatComposer,body.numerology-page .composer-action-menu{border-color:var(--cat-line);background:#fff}body.numerology-page .thread-item.active{background:#fde7f0}body.numerology-page .thread-item.active .thread-more{background:#fbdce8;color:var(--cat-pink-deep)}body.numerology-page #sendChat{background:var(--cat-pink)}body.numerology-page #sendChat:hover{background:#d52f6d}body.numerology-page #chatComposer .composer-plus{background:var(--cat-soft);color:var(--cat-pink-deep)}body.numerology-page .voice-input{border-color:var(--cat-line);color:#8a5d70}body.numerology-page .numerology-profile{border-color:#edb9cd;background:linear-gradient(145deg,#fff8fa,#ffeaf2)}body.numerology-page .core-number{border-color:#efd0dc;background:#fff}body.numerology-page .core-number strong{color:var(--cat-pink)}body.numerology-page .drawer-cat-app-item:hover,body.numerology-page .composer-action-menu button:hover{background:var(--cat-soft)!important}
.drawer-user-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#f8d8e5,#f1bfd3);color:#a83260;font-size:12px}.drawer-user-avatar img{grid-area:1/1;width:100%;height:100%;object-fit:cover}.drawer-user-avatar b{grid-area:1/1}.drawer-footer a{gap:10px!important}.composer-action-menu button{align-items:center!important}.composer-action-menu .composer-cat-app-item{display:grid!important;grid-template-columns:30px minmax(0,1fr);height:auto!important;min-height:38px!important;padding:6px 9px!important}.composer-action-menu .composer-cat-app-item .mode-icon{align-self:center;margin:0!important}.composer-cat-app-item b{line-height:1.2}.numerology-page .cat-app-surface{white-space:nowrap;max-width:none}.numerology-page .cat-app-surface>span,.numerology-page .cat-app-surface>span b{white-space:nowrap}.numerology-page .cat-app-surface>span b{display:block}.numerology-page .cat-safety{display:block!important;width:100%;max-width:none;margin:0!important;padding:2px 8px max(7px,env(safe-area-inset-bottom))!important;color:var(--cat-muted);font-size:clamp(7px,1.8vw,9px);line-height:1.25!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip}
@media(max-width:430px){.composer-action-menu{left:0;width:min(258px,calc(100vw - 48px));padding:7px}.composer-action-menu>button{display:grid!important;grid-template-columns:30px minmax(0,1fr);align-items:center!important}.composer-action-menu .ui-icon{justify-self:center}.numerology-page .cat-app-surface{max-width:calc(100% - 32px);font-size:9px}.numerology-page .cat-safety{font-size:8px;letter-spacing:-.035em}}

/* Messenger-like incoming bubbles; streaming never drags the transcript viewport. */
.numerology-page .chat-row.bot{grid-template-columns:32px minmax(0,1fr);align-items:end}.numerology-page .chat-row.bot>.chat-bubble{grid-column:2;width:max-content;min-width:0;max-width:min(78%,680px);padding:10px 14px;border:0;border-radius:19px 19px 19px 6px;background:#f3a0c6;color:#33232b;font-size:15px;line-height:1.5;box-shadow:none}.numerology-page .chat-row.bot>.chat-bubble.ai-answer-text{min-width:0}.numerology-page .chat-row.bot>.chat-bubble p:last-child{margin-bottom:0}.numerology-page .chat-row.bot>.chat-bubble h3:first-child{margin-top:0}.numerology-page #chatMessages{overflow-x:hidden;overflow-anchor:none;scroll-behavior:auto}
@media(max-width:820px){.numerology-page .chat-row.bot>.chat-bubble{max-width:86%;padding:9px 13px;font-size:15px}.numerology-page .chat-row.bot{grid-template-columns:30px minmax(0,1fr)}}

/* Quiet history control and compact account identity. */
.numerology-page .history-toggle{width:auto;margin:7px auto 14px;padding:2px 4px;border:0!important;background:transparent!important;box-shadow:none!important;color:#8d5d70;font-size:11px;font-weight:750}.numerology-page .history-toggle:hover{color:#c23870;text-decoration:underline}.numerology-page .drawer-footer a{gap:8px!important;padding:6px!important}.numerology-page .drawer-footer b{font-size:9px}.numerology-page .drawer-footer small{font-size:7px}.numerology-page .drawer-user-avatar{box-sizing:border-box;width:30px!important;height:30px!important;aspect-ratio:1;flex:0 0 30px!important;padding:2px;overflow:hidden;border:1px solid rgba(211,72,127,.16);border-radius:50%!important;background:rgba(239,214,223,.42)!important}.numerology-page .drawer-user-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.numerology-page .drawer-user-avatar img[hidden],.numerology-page .drawer-user-avatar b[hidden]{display:none!important}.numerology-page .drawer-user-avatar b{width:100%;height:100%;place-content:center;border-radius:50%;background:transparent}

/* Messenger-style message groups, reply, reactions and long-press actions. */
.numerology-page .chat-row{position:relative}.numerology-page .chat-row.message-group{margin-bottom:3px;animation-delay:var(--bubble-delay,0ms)}.numerology-page .chat-row.message-group.group-last{margin-bottom:16px}.numerology-page .chat-row.bot.group-middle>.chat-bubble{border-radius:7px 19px 19px 7px}.numerology-page .chat-row.bot.group-last>.chat-bubble{border-radius:7px 19px 19px 19px}.message-more{align-self:center;width:25px;height:25px;border:0;border-radius:50%;background:transparent;color:#a37d8c;font-size:10px;opacity:0;cursor:pointer}.chat-row:hover .message-more,.message-more:focus-visible{opacity:1}.message-reaction{position:absolute;right:8px;bottom:-11px;z-index:2;padding:1px 5px;border:1px solid #fff;border-radius:999px;background:#fff;font-size:14px;box-shadow:0 2px 7px rgba(66,30,45,.16)}.chat-row.user .message-reaction{right:4px}.message-quote{grid-column:2;display:block;max-width:min(72%,600px);margin:0 0 3px;padding:6px 10px;border:0;border-left:3px solid #d4477e;border-radius:8px;background:#f7e8ee;color:#72505e;font:inherit;font-size:11px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row.user .message-quote{margin-left:auto;background:#eadce2}.chat-uploaded-image{display:block;width:min(280px,66vw);max-height:360px;border-radius:14px;object-fit:cover}.message-menu-open .numerology-shell{filter:brightness(.72)}.message-selected{z-index:90;filter:none!important}.message-selected>.chat-bubble{outline:2px solid rgba(232,63,125,.38)}.message-action-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(40,28,34,.22);padding:18px}.message-action-panel{width:min(360px,calc(100vw - 32px));display:grid;gap:10px}.message-reaction-bar{display:flex;justify-content:space-around;padding:10px;border-radius:999px;background:#fff;box-shadow:0 12px 36px rgba(38,22,29,.2)}.message-reaction-bar button{border:0;background:transparent;font-size:25px;cursor:pointer}.message-action-menu{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(38,22,29,.2)}.message-action-menu button{display:block;width:100%;padding:14px 17px;border:0;border-bottom:1px solid #f1e1e7;background:#fff;color:#432c36;font:inherit;font-size:14px;font-weight:700;text-align:left}.message-action-menu button:last-child{border:0}.composer-reply-preview{order:-1;flex:0 0 100%;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-left:3px solid #d4477e;background:#fff1f6;color:#674652}.composer-reply-preview span,.composer-reply-preview b,.composer-reply-preview small{display:block}.composer-reply-preview small{max-width:65vw;margin-top:2px;overflow:hidden;color:#90717d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.composer-reply-preview>button{width:26px!important;height:26px!important;border-radius:50%!important;background:transparent!important;color:#76535f!important}.numerology-page #chatComposer:has(.composer-reply-preview){flex-wrap:wrap;overflow:hidden}.message-flash>.chat-bubble{animation:messageFlash .9s ease}.chat-row{touch-action:pan-y;-webkit-user-select:none;user-select:none}.chat-bubble p,.chat-bubble li{-webkit-user-select:text;user-select:text}@keyframes messageFlash{50%{filter:brightness(.88)}}
@media(max-width:820px){.message-more{display:none}.message-action-overlay{align-items:end}.message-action-panel{margin-bottom:max(82px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.chat-row.message-group,.message-flash>.chat-bubble{animation:none!important}}
.numerology-page .chat-row.user:has(.message-quote){flex-wrap:wrap}.numerology-page .chat-row.user:has(.message-quote) .message-quote{width:78%;max-width:600px;margin-left:22%;flex:0 0 78%}
.numerology-page .message-more{position:absolute;top:50%;right:3%;transform:translateY(-50%)}.numerology-page .chat-row.user .message-more{right:auto;left:3%}.numerology-page .chat-row.bot:has(.message-quote) .mini-cat{grid-column:1;grid-row:1/3}@media(hover:none){.numerology-page .chat-bubble p,.numerology-page .chat-bubble li{-webkit-user-select:none;user-select:none}}
.numerology-page .chat-bubble{-webkit-touch-callout:none}.numerology-page .chat-row.long-pressing,.numerology-page .chat-row.long-pressing *{-webkit-user-select:none!important;user-select:none!important}

/* Real page initialization: keep chat atomic until account, history, apps and usage are ready. */
body.numerology-page.numerology-booting{overflow:hidden}
.numerology-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:#fff9f7;opacity:1;visibility:visible;transition:opacity .26s ease,visibility 0s linear 0s}
.numerology-loader-content{display:grid;width:100%;justify-items:center;gap:16px;color:#65414e;text-align:center}
.cat-loader-stage{position:relative;width:min(900px,100%);height:230px;overflow:hidden}
.cat-loader-flight{position:absolute;left:0;top:50%;width:clamp(150px,13vw,190px);transform:translate3d(0,-50%,0);will-change:transform}
.cat-loader-frame{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 20px rgba(180,116,91,.13))}
.numerology-loader p{margin:0;font-size:15px;font-weight:650;letter-spacing:.01em}
.numerology-loader p:empty{display:none}
.numerology-loader button{min-width:112px;min-height:42px;padding:9px 20px;border:1px solid #d9acbb;border-radius:999px;background:#fff;color:#8f3f60;font:inherit;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 6px 18px rgba(104,57,74,.08)}
.numerology-loader button:hover{background:#fff0f5}
.numerology-page .numerology-chat-app{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.numerology-page.numerology-ready .numerology-chat-app{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}
.numerology-page.numerology-ready .numerology-loader{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s ease,visibility 0s linear .26s}
.numerology-page.numerology-boot-error .cat-loader-flight,.numerology-page.numerology-loader-fallback .cat-loader-flight{left:50%;top:50%;transform:translate(-50%,-50%)!important}
.numerology-page.numerology-boot-error .cat-loader-frame{content:url('/assets/compass-cat/loader/fly_02.webp?v=3')}
.numerology-page.numerology-loader-fallback .cat-loader-frame{content:url('/assets/compass-cards/compass-loader.webp?v=20260914-clean-v3');animation:numerologyCompassTurn 2.7s linear infinite}
@keyframes numerologyCompassTurn{to{transform:rotate(1turn)}}
@media(max-width:600px){.cat-loader-stage{height:190px}.cat-loader-flight{width:clamp(110px,36vw,145px)}.numerology-loader-content{gap:14px}.numerology-loader p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cat-loader-flight{left:50%;top:50%;transform:translate(-50%,-50%)!important}.cat-loader-frame{content:url('/assets/compass-cat/loader/fly_02.webp?v=3');animation:none!important}.numerology-loader,.numerology-page .numerology-chat-app{transition:none!important}}

/* Compass Cat theme spans the whole chat shell, with an orientation-specific artwork. */
body.numerology-page{--compass-chat-theme:url('/assets/compass-cards/compass-chat-bg-desktop.webp');background:#fbf4ec var(--compass-chat-theme) center center/cover no-repeat fixed}
body.numerology-page .numerology-chat-app{background:transparent var(--compass-chat-theme) center center/cover no-repeat}
body.numerology-page .cat-chat{background:rgba(255,251,248,.24)}
body.numerology-page #chatMessages{background:transparent}
body.numerology-page .cat-chat-head{background:rgba(255,248,246,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.numerology-page .thread-sidebar{background:rgba(255,249,245,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body.numerology-page .numerology-loader{background:#fbf4ec var(--compass-chat-theme) center center/cover no-repeat}
.cat-room-status{position:relative;flex:0 0 auto;margin:10px 14px 0;padding:11px 13px;border:1px solid rgba(111,75,89,.16);border-radius:14px;background:rgba(255,251,248,.92);color:#513541;box-shadow:0 5px 18px rgba(83,48,61,.06)}
.cat-room-status[hidden]{display:none}.cat-room-status[data-state="NO_CURRENT_ROOM"],.cat-room-status[data-state="CURRENT_ROOM_UNSCORED"],.cat-room-status[data-state="CURRENT_ROOM_SCORE_STALE"]{border-color:#e8c7a8;background:#fff9ee}
.cat-room-status-content{display:flex;align-items:center;gap:11px}.cat-room-status-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#f5e5dc;font-size:15px}.cat-room-status-copy{min-width:0;flex:1}.cat-room-status-copy b,.cat-room-status-copy small{display:block}.cat-room-status-copy b{font-size:13px}.cat-room-status-copy small{margin-top:2px;color:#775e68;font-size:11px;line-height:1.35}.cat-room-status a{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#744359;color:#fff;font-size:11px;font-weight:750;text-decoration:none}.cat-room-status details{min-width:0;flex:1}.cat-room-status details summary{cursor:pointer;list-style:none}.cat-room-status details summary::-webkit-details-marker{display:none}.cat-room-status-success{display:block;margin-top:3px;font-size:11px;color:#745e67}.cat-room-status-success strong{color:#513541}
@media(max-width:600px){.cat-room-status{margin:8px 9px 0;padding:9px 10px}.cat-room-status-content{gap:8px}.cat-room-status a{padding:6px 8px}}
@media(max-width:820px){body.numerology-page{--compass-chat-theme:url('/assets/compass-cards/compass-chat-bg-mobile.webp');background-position:center top}body.numerology-page .numerology-chat-app,body.numerology-page .numerology-loader{background-position:center top}}

/* Keep the chatbot artwork as a quiet texture beneath every interactive surface. */
body.numerology-page{background:#fbf6ed}
body.numerology-page .numerology-chat-app{background:linear-gradient(rgba(255,250,240,.78),rgba(255,250,240,.78)),var(--compass-chat-theme) center center/cover no-repeat}
@media(max-width:820px){body.numerology-page .numerology-chat-app{background-position:center top,center top}}

/* Mobile game presentation uses the real chat viewport between header and composer. */
@media(max-width:820px){
 .numerology-page #chatMessages.compass-entering .compass-rich-row{animation:ccModeEnter .3s ease both}
 .numerology-page #chatMessages.compass-game-mode{display:block!important;overflow:hidden!important;padding:6px 8px!important;scrollbar-width:none}
 .numerology-page #chatMessages.compass-game-mode::-webkit-scrollbar{display:none}
 .numerology-page #chatMessages.compass-game-mode>:not(.compass-rich-row){display:none!important}
 .numerology-page #chatMessages.compass-game-mode .compass-rich-row,.numerology-page #chatMessages.compass-game-mode .compass-rich-row>.compass-game-host{width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;margin:0!important}
 .numerology-page #chatMessages.compass-game-mode .compass-rich-row{display:block!important}
 .numerology-page #chatMessages.compass-game-mode .cc-scene{height:100%!important;max-height:100%!important;margin:0}
 .numerology-page .compass-game-active #catAppSurface{display:none!important}
 .numerology-page .compass-game-active #chatComposer{min-height:50px!important;margin-top:4px!important;margin-bottom:4px!important;padding-block:3px!important}
 .numerology-page .compass-game-active #chatComposer button{width:39px;height:39px}.numerology-page .compass-game-active #chatComposer textarea{padding-block:7px!important}
 @keyframes ccModeEnter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* New-chat landing state: the Cat starts centered, then becomes a normal transcript. */
.numerology-page #chatMessages:not(:has(.chat-row.user)){display:grid;align-content:center;justify-items:center;padding-bottom:12vh}.numerology-page #chatMessages:not(:has(.chat-row.user)) .chat-row.bot{width:max-content;max-width:min(620px,90%);margin-inline:auto}.numerology-page #chatMessages:has(.chat-row.user){display:block}
.numerology-page #chatMessages:not(:has(.chat-row.user)) .chat-bubble{max-width:none;white-space:nowrap}.numerology-page #chatMessages:not(:has(.chat-row.user)) .compass-rich-row,.numerology-page #chatMessages:not(:has(.chat-row.user)) .compass-transition{width:100%;max-width:100%;min-width:0}.numerology-page #chatMessages:not(:has(.chat-row.user)) .compass-transition{display:grid;grid-template-columns:32px minmax(0,1fr)}.numerology-page #chatMessages:not(:has(.chat-row.user)) .compass-transition>.chat-bubble{width:fit-content;max-width:min(78%,680px);white-space:normal;overflow-wrap:anywhere}

.chat-bubble pre{max-width:100%;overflow-x:auto;white-space:pre;padding:12px;border-radius:10px;background:#302830;color:#fff;font-size:13px;line-height:1.5}.chat-bubble code{font-family:monospace;overflow-wrap:anywhere}.chat-bubble :not(pre)>code{padding:2px 4px;background:#ffffff45;border-radius:4px}.chat-bubble blockquote{margin:8px 0;padding-left:12px;border-left:3px solid currentColor}

/* Completed readings scroll in one bounded body, including on iOS Safari. */
.numerology-page .cc-scene.cc-completed{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.numerology-page .cc-completed>.cc-head,.numerology-page .cc-completed>.cc-status,.numerology-page .cc-completed>.cc-summary{flex:0 0 auto}
.numerology-page .cc-completed>.cc-summary:empty{display:none}
.numerology-page .cc-completed>.cc-body{flex:1 1 0;min-height:0;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;padding-bottom:24px}
.numerology-page .cc-completed .cc-result,.numerology-page .cc-completed .cc-result.is-expanded{height:auto!important;min-height:0;overflow:visible!important}
.numerology-page .cc-exit,.numerology-page .cc-result-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:48px!important;padding:12px 20px!important;border:2px solid #744359!important;border-radius:14px!important;font-family:system-ui,-apple-system,sans-serif!important;font-size:17px!important;line-height:1.2!important;font-weight:800!important;cursor:pointer;touch-action:manipulation}
.numerology-page .cc-exit{background:#744359!important;color:#fff!important;box-shadow:0 4px 12px #74435924}
.numerology-page .cc-result-toggle{background:#fff9f4!important;color:#744359!important;margin:12px 0!important}
.numerology-page .cc-exit:focus-visible,.numerology-page .cc-result-toggle:focus-visible{outline:3px solid #da9fbc;outline-offset:3px}
.numerology-page .cc-scene.cc-inactive{height:auto!important;max-height:none!important}
.numerology-page .cc-inactive>.cc-body{flex:0 0 auto;overflow:visible!important}
.numerology-page .cc-inactive .cc-exit{display:none!important}

/* Theme control lives with the Cat header, and the late dark layer wins over artwork/light defaults. */
.cat-theme-switch{display:flex;align-items:center;gap:3px;margin-left:auto;padding:3px;border:1px solid rgba(168,50,96,.2);border-radius:999px;background:rgba(255,255,255,.64);box-shadow:0 3px 12px rgba(91,43,62,.07)}
.cat-theme-switch button{min-width:48px;height:28px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#795361;font:750 10px/1 system-ui;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}
.cat-theme-switch button.active{background:#d83b75;color:#fff;box-shadow:0 3px 9px rgba(168,50,96,.22)}
.cat-theme-switch button:focus-visible{outline:2px solid #e83f7d;outline-offset:2px}

html[data-theme="dark"] body.numerology-page{--cat-ink:#f8edf2;--cat-muted:#c9aeb9;--cat-line:#68404f;--cat-soft:#3a2730;--cat-softer:#241a1f;background:#171216;color:var(--cat-ink)}
html[data-theme="dark"] body.numerology-page .numerology-chat-app{background:linear-gradient(rgba(20,13,17,.88),rgba(20,13,17,.88)),var(--compass-chat-theme) center center/cover no-repeat}
html[data-theme="dark"] body.numerology-page .cat-chat{background:rgba(25,17,21,.55)}
html[data-theme="dark"] body.numerology-page .cat-chat-head{background:linear-gradient(100deg,rgba(49,27,37,.96),rgba(35,24,31,.96));border-color:#68404f;color:#fff}
html[data-theme="dark"] body.numerology-page .thread-sidebar{background:linear-gradient(180deg,rgba(38,25,31,.97),rgba(29,20,25,.97));border-color:#593744!important;color:#f8edf2}
html[data-theme="dark"] .numerology-page .numerology-brand,html[data-theme="dark"] .numerology-page .thread-select,html[data-theme="dark"] .numerology-page .drawer-cat-apps,html[data-theme="dark"] .numerology-page .drawer-cat-app-item,html[data-theme="dark"] .numerology-page .drawer-footer a{color:#f8edf2}
html[data-theme="dark"] .numerology-page .drawer-cat-apps small,html[data-theme="dark"] .numerology-page .drawer-cat-app-item small,html[data-theme="dark"] .numerology-page .thread-select small,html[data-theme="dark"] .numerology-page .thread-section-label,html[data-theme="dark"] .numerology-page .drawer-footer small{color:#c3a5b1}
html[data-theme="dark"] body.numerology-page .thread-search,html[data-theme="dark"] body.numerology-page #chatComposer,html[data-theme="dark"] body.numerology-page .composer-action-menu{background:#2b2025;border-color:#68404f;color:#f8edf2}
html[data-theme="dark"] .numerology-page .thread-search input,html[data-theme="dark"] .numerology-page #chatComposer textarea{color:#fff}
html[data-theme="dark"] .numerology-page .thread-search input::placeholder,html[data-theme="dark"] .numerology-page #chatComposer textarea::placeholder{color:#aa909a}
html[data-theme="dark"] body.numerology-page .thread-item.active,html[data-theme="dark"] body.numerology-page .thread-item:hover{background:#402a34}
html[data-theme="dark"] .numerology-page .drawer-cat-apps:hover,html[data-theme="dark"] .numerology-page .drawer-cat-app-item:hover,html[data-theme="dark"] .numerology-page .composer-action-menu button:hover{background:#402a34!important}
html[data-theme="dark"] .numerology-page .drawer-footer{border-color:#543541}
html[data-theme="dark"] .numerology-page .cat-room-status{background:rgba(44,31,36,.96);border-color:#704657;color:#f8edf2}
html[data-theme="dark"] .numerology-page .cat-room-status[data-state="NO_CURRENT_ROOM"],html[data-theme="dark"] .numerology-page .cat-room-status[data-state="CURRENT_ROOM_UNSCORED"],html[data-theme="dark"] .numerology-page .cat-room-status[data-state="CURRENT_ROOM_SCORE_STALE"]{background:#30251f;border-color:#765039}
html[data-theme="dark"] .numerology-page .cat-room-status-copy small{color:#c8b1ba}
html[data-theme="dark"] .numerology-page .cat-room-status-icon{background:#49313a}
html[data-theme="dark"] .numerology-page .chat-row.bot>.chat-bubble{background:#71364f;color:#fff}
html[data-theme="dark"] .numerology-page .chat-row.user .chat-bubble{background:#4a3440;color:#fff}
html[data-theme="dark"] .numerology-page #chatComposer .composer-plus{background:#49313a;color:#ff91b6}
html[data-theme="dark"] .numerology-page .voice-input{border-color:#68404f;color:#d8b6c3}
html[data-theme="dark"] .numerology-page .cat-app-surface{background:#302329;border-color:#68404f;color:#f8edf2}
html[data-theme="dark"] .cat-theme-switch{background:rgba(23,15,19,.72);border-color:#704657}
html[data-theme="dark"] .cat-theme-switch button{color:#cdb2bd}
html[data-theme="dark"] .cat-theme-switch button.active{background:#e0447d;color:#fff}
html[data-theme="dark"] .numerology-loader{background:#171216!important;color:#f8edf2}
@media(max-width:520px){.cat-theme-switch{gap:2px}.cat-theme-switch button{min-width:40px;padding:0 7px;font-size:9px}.numerology-page .cat-title{min-width:0}.numerology-page .cat-title b{white-space:nowrap}}
