
     
     /* 🚀 1. 모든 디자인 요소를 통제할 마법의 변수들 (완성본) */
        :root { 
            --main-color: #007aff; 
            --main-radius: 12px; 
            --btn-radius: 25px;
            --app-bg-gradient: linear-gradient(135deg, #e5efff 0%, #cadeff 100%); 
            --gray-light: #e5e5ea;

            /* 폰트 및 텍스트 컬러 */
            --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            --text-color: #333333; /* 👈 메인 제목, 아이콘, 푸터를 모두 책임짐! */
            
            /* 헤더 디자인 (크기 및 밑줄) */
            --header-padding: 15px; 
            --header-border: none; 
            
            /* 말풍선 디자인 (배경, 글자색, 꼬리 모양, 테두리, 그림자) */
            --bubble-ai-bg: #ffffff; 
            --bubble-ai-text: #000000; 
            --bubble-user-bg: #007aff; 
            --bubble-user-text: #ffffff; 
            --bubble-ai-radius: var(--main-radius) var(--main-radius) var(--main-radius) 2px; /* 기본 꼬리 (왼쪽 아래 뾰족) */
            --bubble-user-radius: var(--main-radius) var(--main-radius) 2px var(--main-radius); /* 기본 꼬리 (오른쪽 아래 뾰족) */
            --bubble-border: none;
            --bubble-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }

   
        
        /* 🚀 2. 변수가 적용되도록 뼈대 CSS 수정 */
        html, body {
            height: 100%; width: 100%; margin: 0; padding: 0;
            overflow: hidden; background-color: #e9ecef; box-sizing: border-box;
        }

        body { 
            font-family: var(--font-family); /* 👈 폰트 변수 적용! */
            padding: 12px; 
        }

        #app-container { 
            width: 100%; height: 100%; max-width: 480px; margin: 0 auto; 
            background: var(--app-bg-gradient); display: flex; flex-direction: column; 
            position: relative; box-shadow: 0 10px 40px rgba(0,0,0,0.15); 
            border-radius: var(--main-radius); overflow: hidden; border: none; 
        }

        header { 
            position: relative; background-color: rgba(255, 255, 255, 0.1); 
            backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); 
            padding: var(--header-padding); /* 👈 헤더 여백 변수 적용! */
            border-bottom: var(--header-border); /* 👈 헤더 밑줄 변수 적용! */
            display: flex; flex-direction: column; align-items: flex-start; 
            z-index: 10; flex-shrink: 0; 
        }

        .header-top { display: flex; align-items: center; width: 100%; justify-content: flex-start; gap: 12px; }
        .header-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
        .logo-img { width: 40px; height: 40px; border-radius: 8px; object-fit: cover; display: none; }
        .modal-google-logo { width: 40px; height: auto; object-fit: contain; }
        
        .bot-name { 
            font-weight: 700; font-size: 1.1rem; 
            color: var(--text-color); /* 👈 제목 컬러 변수 적용! */
        }
        
        .bot-name { min-width: 0; }
        .quick-actions-toggle {
            display: none;
            width: 52px;
            height: 52px;
            padding: 0;
            border: 1px solid rgba(255, 255, 255, 0.38);
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.46);
            color: var(--text-color);
            align-items: center;
            justify-content: center;
            flex-direction: column;
            cursor: pointer;
            flex-shrink: 0;
            box-shadow: 0 10px 22px rgba(31, 41, 55, 0.10);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            transition: transform 0.24s ease, background-color 0.24s ease, box-shadow 0.24s ease, border-radius 0.24s ease, border-color 0.24s ease;
        }
        .quick-actions-toggle:hover { transform: translateY(-1px); }
        .quick-actions-toggle .menu-line {
            display: block;
            height: 2.5px;
            border-radius: 999px;
            background: currentColor;
            transition: transform 0.24s ease, opacity 0.24s ease, width 0.24s ease;
        }
        .quick-actions-toggle .line-a,
        .quick-actions-toggle .line-b,
        .quick-actions-toggle .line-c {
            width: 20px;
        }
        .quick-actions-toggle .line-b,
        .quick-actions-toggle .line-c {
            margin-top: 5px;
        }
        body[data-quick-menu-shape="round"] .quick-actions-toggle {
            border-radius: 999px;
        }
        body[data-quick-menu-shape="soft-square"] .quick-actions-toggle {
            border-radius: 16px;
        }
        body[data-quick-menu-shape="square"] .quick-actions-toggle {
            border-radius: 8px;
        }
        body[data-quick-menu-shape="bare"] .quick-actions-toggle {
            background: transparent;
            border-color: transparent;
            box-shadow: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }
        body[data-quick-menu-icon="classic-three"] .quick-actions-toggle .line-a,
        body[data-quick-menu-icon="classic-three"] .quick-actions-toggle .line-b,
        body[data-quick-menu-icon="classic-three"] .quick-actions-toggle .line-c {
            width: 22px;
            height: 3px;
            transform: none;
        }
        body[data-quick-menu-icon="classic-three"] .quick-actions-toggle .line-b,
        body[data-quick-menu-icon="classic-three"] .quick-actions-toggle .line-c {
            margin-top: 6px;
        }
        body[data-quick-menu-icon="minimal-two"] .quick-actions-toggle .line-c,
        body[data-quick-menu-icon="offset-two"] .quick-actions-toggle .line-c {
            display: none;
        }
        body[data-quick-menu-icon="minimal-two"] .quick-actions-toggle .line-a,
        body[data-quick-menu-icon="minimal-two"] .quick-actions-toggle .line-b {
            width: 16px;
            transform: none;
        }
        body[data-quick-menu-icon="minimal-two"] .quick-actions-toggle .line-b {
            margin-top: 7px;
        }
        body[data-quick-menu-icon="offset-two"] .quick-actions-toggle .line-a {
            width: 11px;
            transform: translateX(-4px);
        }
        body[data-quick-menu-icon="offset-two"] .quick-actions-toggle .line-b {
            width: 18px;
            margin-top: 7px;
            transform: translateX(2px);
        }
        body[data-quick-menu-icon="pill-three"] .quick-actions-toggle .line-a,
        body[data-quick-menu-icon="pill-three"] .quick-actions-toggle .line-c {
            width: 28px;
            height: 5px;
        }
        body[data-quick-menu-icon="pill-three"] .quick-actions-toggle .line-b {
            width: 22px;
            height: 5px;
            margin-top: 7px;
        }
        body[data-quick-menu-icon="pill-three"] .quick-actions-toggle .line-c {
            margin-top: 7px;
        }
      .quick-actions { 
            display: flex; 
            gap: 8px; 
            margin-top: 12px; 
            width: 100%; 
            overflow-x: auto; 
            padding: 2px 2px 7px 2px; /* 상 우 하 좌 (좌우 2px 범퍼 추가) */
            box-sizing: border-box; /* 패딩이 width 100%를 넘지 않게 방어 */
            scrollbar-width: none; 
        }
       
        .quick-actions::-webkit-scrollbar { display: none; }
        .quick-actions[hidden],
        .quick-actions:empty {
            display: none !important;
            margin-top: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
        }
        .action-btn { background-color: rgba(255, 255, 255, 0.5); border: 1px solid rgba(0, 122, 255, 0.2); color: var(--main-color); padding: 6px 14px; border-radius: 20px; font-size: 0.82rem; font-weight: 600; white-space: nowrap; cursor: pointer; text-decoration: none; display: flex; align-items: center; gap: 4px; }
        
        /* 🚀 [수정] 세련된 하단 플로팅 알림창 (Toast Notification) */
        #notice-bar { 
            position: absolute; 
            bottom: 135px; /* 👈 입력창 바로 위쪽으로 띄움 */
            left: 50%; 
            transform: translateX(-50%); /* 완벽한 중앙 정렬 */
            z-index: 1000; 
            background-color: rgba(30, 41, 59, 0.95); /* 고급스러운 다크 네이비 */
            backdrop-filter: blur(10px); 
            -webkit-backdrop-filter: blur(10px); 
            color: #ffffff; 
            padding: 10px 20px; 
            font-size: 0.85rem; 
            font-weight: 500; 
            border-radius: 30px; /* 둥근 알약 모양 */
            box-shadow: 0 10px 25px rgba(0,0,0,0.15); 
            display: none; 
            width: max-content; 
            max-width: 85%; 
            text-align: center; 
            pointer-events: none; /* 유저 클릭이나 스크롤 방해 금지 */
        }
        
        /* 🎬 등장 & 퇴장 애니메이션 */
        @keyframes noticePop { 
            from { opacity: 0; transform: translate(-50%, 20px) scale(0.9); } 
            to { opacity: 1; transform: translate(-50%, 0) scale(1); } 
        }
        @keyframes noticeFadeOut { 
            from { opacity: 1; transform: translate(-50%, 0) scale(1); } 
            to { opacity: 0; transform: translate(-50%, 10px) scale(0.95); } 
        }
        #chat-window { flex: 1; padding: 20px; overflow-y: auto; background-color: transparent; display: flex; flex-direction: column; gap: 15px; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
        
        .message { max-width: 80%; padding: 12px 16px; font-size: 0.95rem; line-height: 1.5; position: relative; word-wrap: break-word; margin-bottom: 4px; }
        .message:last-child { margin-bottom: 0; }
        .message strong { font-weight: 700; color: inherit; }
        .message .inline-link-chip {
            display: inline-flex;
            align-items: center;
            max-width: 100%;
            margin: 0 0.16em;
            padding: 0.12em 0.58em 0.16em;
            border-radius: 999px;
            background: var(--action-chip-bg, rgba(255, 255, 255, 0.62));
            border: 1px solid var(--action-chip-border, rgba(0, 122, 255, 0.18));
            color: var(--action-chip-text, var(--main-color));
            text-decoration: none;
            font-size: 0.82em;
            font-weight: 700;
            line-height: 1.1;
            box-sizing: border-box;
            vertical-align: baseline;
            position: relative;
            top: -0.02em;
            box-shadow: 0 6px 14px rgba(15, 23, 42, 0.07);
            transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
        }
        .message .inline-link-chip:hover {
            transform: translateY(-1px);
            box-shadow: 0 10px 18px rgba(15, 23, 42, 0.1);
        }
        .message .inline-link-chip:active {
            transform: translateY(0);
        }
        .message .inline-link-chip-label {
            display: block;
            max-width: min(100%, 118px);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            word-break: normal;
        }
        .message.user .inline-link-chip {
            background: rgba(255, 255, 255, 0.18);
            border-color: rgba(255, 255, 255, 0.28);
            color: inherit;
            box-shadow: none;
        }
        body[class*="theme-glass_"] .message .inline-link-chip {
            backdrop-filter: blur(16px) saturate(1.08);
            -webkit-backdrop-filter: blur(16px) saturate(1.08);
        }
        body[class*="theme-neu_"] .message .inline-link-chip {
            background: var(--theme-outer-bg);
            color: var(--text-color);
            box-shadow:
                inset 4px 4px 8px rgba(201, 213, 228, 0.62),
                inset -4px -4px 8px rgba(255, 255, 255, 0.92),
                1px 1px 2px rgba(201, 213, 228, 0.14);
        }
        
        /* 🚀 말풍선 CSS 마법진 적용 */
        .message.ai { 
            align-self: flex-start; 
            background-color: var(--bubble-ai-bg); 
            color: var(--bubble-ai-text); 
            border-radius: var(--bubble-ai-radius); /* 👈 꼬리 모양 변수 */
            border: var(--bubble-border); /* 👈 테두리 변수 */
            box-shadow: var(--bubble-shadow); /* 👈 그림자 변수 */
            backdrop-filter: blur(5px); 
        }
        .message.user { 
            align-self: flex-end; 
            background-color: var(--bubble-user-bg); 
            color: var(--bubble-user-text); 
            border-radius: var(--bubble-user-radius); /* 👈 꼬리 모양 변수 */
            border: var(--bubble-border); /* 👈 테두리 변수 */
            box-shadow: var(--bubble-shadow); /* 👈 그림자 변수 */
        }
     
     .typing-indicator { display: flex; gap: 4px; padding: 5px 0; align-items: center; }
        .typing-indicator span { width: 6px; height: 6px; background-color: var(--text-color); border-radius: 50%; opacity: 0.3; animation: typing-bounce 0.7s infinite alternate; }
        .typing-indicator span:nth-child(2) { animation-delay: 0.15s; }
        .typing-indicator span:nth-child(3) { animation-delay: 0.3s; }
        @keyframes typing-bounce { from { opacity: 0.3; transform: translateY(0); } to { opacity: 1; transform: translateY(-4px); } }
        .biz-card { width: 100%; max-width: 250px; border-radius: 10px; margin-top: 8px; cursor: pointer; border: 1px solid rgba(0,0,0,0.05); }
        
      /* 🚀 [모바일 화면 삐져나감 완벽 해결] 입력창 전체 영역 재정의 */
        .input-area { 
            width: 100%; /* 💥 컨테이너가 화면을 100% 넘지 않게 고정 */
            box-sizing: border-box; /* 💥 패딩을 주어도 100%를 유지하도록 방어막 */
            padding: 12px 15px; 
            padding-bottom: calc(10px + env(safe-area-inset-bottom));
            background-color: rgba(255, 255, 255, 0.0); 
            backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); 
            display: flex; 
            flex-direction: column; 
            gap: 6px; 
            flex-shrink: 0; 
            align-items: center; 
            position: relative;
        }
        
        .input-row-container {
            display: flex;
            width: 100%;
            gap: 10px;
            align-items: center;
            box-sizing: border-box; /* 💥 이중 방어막 */
        }

        .input-wrapper { 
            flex: 1; 
            min-width: 0; /* 💥 [핵심] 모바일에서 flex 아이템이 화면을 뚫고 팽창하는 것 완벽 차단! */
            display: flex; 
            align-items: center; 
            background-color: rgba(255, 255, 255, 0.6); 
            border: 1px solid rgba(255,255,255, 0.6); 
            border-radius: var(--btn-radius); 
            padding: 5px 15px; 
            box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
            box-sizing: border-box;
            position: relative;
            overflow: hidden;
        }
        
        .composer-status {
            display: none;
            position: absolute;
            left: 49px;
            right: 15px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 0.9rem;
            color: var(--text-color);
            opacity: 0.72;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            pointer-events: none;
            align-items: center;
            gap: 6px;
        }

        .input-wrapper.status-pending .composer-status {
            display: flex;
        }

        .composer-status-text {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .composer-status-dots {
            display: inline-flex;
            gap: 3px;
            flex-shrink: 0;
            align-items: center;
        }

        .composer-status-dot {
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background-color: currentColor;
            opacity: 0.28;
            animation: typing-bounce 0.7s infinite alternate;
        }

        .composer-status-dot:nth-child(2) {
            animation-delay: 0.15s;
        }

        .composer-status-dot:nth-child(3) {
            animation-delay: 0.3s;
        }

        .input-wrapper.status-pending #user-input {
            opacity: 0;
            pointer-events: none;
        }

        #user-input { 
            flex: 1; 
            min-width: 0; /* 💥 [핵심] 텍스트 입력창이 강제로 뚱뚱해지는 것 차단! */
            width: 100%;
            border: none; background: transparent; padding: 12px 0 8px; font-size: 1rem; 
            line-height: 24px;
            outline: none; color: var(--text-color); resize: none; 
            height: 24px; max-height: 100px; overflow-y: hidden; font-family: inherit; 
            box-sizing: content-box; /* 💥 [핵심] "메시지를 입력하세요" 힌트 글자가 아래로 숨는 문제 복구! */
        }
        
        #send-btn { 
            flex-shrink: 0; background-color: var(--main-color); color: white; border: none; 
            /* 👇 글씨 대신 아이콘이 들어가므로 폭과 높이를 똑같이 맞추고 중앙 정렬! */
            width: 44px; height: 44px; padding: 0; display: flex; justify-content: center; align-items: center; 
            border-radius: var(--btn-radius); cursor: pointer; transition: opacity 0.3s ease; 
        }
        #send-btn:disabled { background-color: #cccccc; cursor: not-allowed; opacity: 0.7; }
        .fly-text { position: fixed; pointer-events: none; z-index: 10000; color: var(--main-color); font-weight: 500; font-size: 1rem; white-space: nowrap;  }
       
        /* =========================================
           ✨ [최신 AI 트렌드] Sentient Energy Orb 
           ========================================= */
/* =========================================
           ✨ 완벽한 유체 물방울 (Perfect Liquid Blob)
           ========================================= */
        .ai-icon-animation { 
            width: 24px; 
            height: 24px; 
            position: relative; 
            flex-shrink: 0; 
            margin-right: 10px; 
        }

        /* 1. 내부 하얀색 코어 (빛나는 진주 느낌) */
        .ai-icon-animation::before { 
            content: ''; 
            position: absolute; 
            z-index: 2; 
            width: 16px; 
            height: 16px; 
            top: 50%; 
            left: 50%; 
            transform: translate(-50%, -50%); 
            background: #ffffff; 
            border-radius: 50%; 
            box-shadow: 0 0 6px rgba(255, 255, 255, 0.9), inset 0 0 2px rgba(0,0,0,0.05); 
        }

        /* 2. 바깥쪽 유체 배경 */
        .ai-icon-animation::after { 
            content: ''; 
            position: absolute; 
            z-index: 1; 
            width: 100%; 
            height: 100%; 
            top: 0; 
            left: 0; 
            background: linear-gradient(135deg, hsl(154, 100%, 95%), hsl(308, 100%, 85%), var(--main-color)); 
            background-size: 200% 200%; 
            opacity: 0.9; 
            
            /* 모든 애니메이션이 충돌 없이 물 흐르듯 작동하도록 분리 */
            animation: 
                liquid-morph 4s ease-in-out infinite, 
                move-gradient 3s alternate ease-in-out infinite, 
                liquid-pulse 2s ease-in-out infinite alternate, 
                liquid-spin 7s linear infinite; 
        }

        /* --- 물방울 애니메이션 키프레임 --- */

        /* 💧 핵심! 50%를 기준으로 아주 살짝만(42~58%) 일그러지게 하여 뾰족함 완벽 제거 */
        @keyframes liquid-morph { 
            0%   { border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; } 
            25%  { border-radius: 58% 42% 54% 46% / 48% 56% 44% 52%; } 
            50%  { border-radius: 46% 54% 42% 58% / 56% 44% 52% 48%; } 
            75%  { border-radius: 52% 48% 58% 42% / 44% 52% 48% 56%; } 
            100% { border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%; } 
        }

        /* 색상이 물감처럼 섞이며 이동 */
        @keyframes move-gradient {
            0% { background-position: 0% 50%; }
            100% { background-position: 100% 50%; }
        }

        /* 호흡하듯 부드럽게 커졌다 작아짐 */
        @keyframes liquid-pulse { 
            0% { scale: 1.0; } 
            100% { scale: 0.88; } 
        }

        /* 유체가 전체적으로 천천히 회전 */
        @keyframes liquid-spin { 
            0% { rotate: 0deg; } 
            100% { rotate: 360deg; } 
        }
/*여기까지*/


        #loading-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,0.6); backdrop-filter: blur(15px); z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: opacity 0.5s ease; }
        .loader { border: 4px solid var(--gray-light); border-top: 4px solid var(--main-color); border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; margin-bottom: 20px; }
        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); display: none; justify-content: center; align-items: center; z-index: 1000; backdrop-filter: blur(5px); }
        .modal-content { background: rgba(255, 255, 255, 0.95); padding: 20px; border-radius: 20px; width: 90%; max-width: 350px; text-align: center; position: relative; box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
        .external-link-modal-content {
            width: min(320px, calc(100vw - 40px));
            max-width: 320px;
            margin-inline: 20px;
            padding: 24px 20px 18px;
            background: rgba(255, 255, 255, 0.96);
            color: #111827;
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-sizing: border-box;
        }
        .external-link-title {
            margin: 0;
            font-size: 0.98rem;
            line-height: 1.45;
            font-weight: 700;
            color: #111827;
        }
        .external-link-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 18px;
        }
        .external-link-btn {
            border: none;
            border-radius: 999px;
            padding: 11px 14px;
            font-size: 0.92rem;
            font-weight: 700;
            cursor: pointer;
            transition: transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
        }
        .external-link-btn:hover {
            transform: translateY(-1px);
        }
        .external-link-btn.secondary {
            background: rgba(15, 23, 42, 0.08);
            color: #111827;
        }
        .external-link-btn.primary {
            background: var(--main-color);
            color: #ffffff;
            box-shadow: 0 10px 20px rgba(15, 23, 42, 0.14);
        }
        .modal-img { width: 100%; border-radius: 8px; margin-bottom: 15px; }
        .close-modal { position: absolute; top: 10px; right: 10px; background: rgba(0,0,0,0.1); border: none; border-radius: 50%; width: 30px; height: 30px; cursor: pointer; }

      /* 🚀 [최종 수정] 캡챠 컨테이너 CSS */
   /* 🚀 [최종 수정] 캡챠 컨테이너: 투명 망토 전략 */
    .captcha-container { 
            position: fixed; 
            top: 50%; 
            left: 50%; 
            transform: translate(-50%, -50%); 
            z-index: 9999; 
            /* 배경색, 패딩, 투명도 다 없앱니다. 클라우드플레어가 알아서 그립니다! */
        }



        /* 🚀 [수정] 말풍선 내부 하단 프로모션 텍스트 (+아이콘 정렬) */
        .promo-loading-text {
            font-size: 0.75rem; 
            color: inherit;
            opacity: 0.8; /* 아이콘 선명도를 위해 투명도를 0.6 -> 0.8로 살짝 올림 */
            margin-top: 10px;
            padding-top: 8px;
            border-top: 1px dashed rgba(128, 128, 128, 0.25);
            font-weight: 500;
            line-height: 1.38;
            transition: all 0.5s ease;
            max-height: 50px;
            overflow: hidden;
            word-wrap: break-word;
            
            /* 💥 [핵심] 전구 아이콘과 텍스트를 나란히 중앙 정렬 */
            display: flex;
            align-items: center; 
            gap: 6px; 
        }
     /* ✅ [수정] 존재감을 최소화한 '스텔스' 법적 고지 */
    .chat-footer-legal {
            font-size: 0.65rem; 
            background-color: transparent; 
            box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
            
            color: var(--text-color) !important; /* 👈 메인 텍스트 컬러를 그대로 가져옴! 다크모드면 자동 흰색! */
            opacity: 0.7; /* 눈에 살짝 덜 띄도록 투명도 조절 */
            text-shadow: none; /* 다크모드일 때 하얀 글씨에 하얀 그림자가 생기면 번져보이므로 제거 */
            
            text-align: center; align-self: center; width: fit-content; max-width: 95%;
            margin-top: 6px; padding: 2px 0; letter-spacing: -0.01em;
        }

        .chat-footer-legal a {
            /* 링크도 튀지 않게 같은 톤 유지하되, 밑줄로 구분 */
            color: inherit !important; /* 부모 색상 상속 */
            text-decoration: underline;
            text-decoration-color: rgba(60, 60, 67, 0.3); /* 밑줄도 연하게 */
            font-weight: 500; /* 굵기 뺌 */
            cursor: pointer;
            margin-left: 2px;
            transition: color 0.2s;
        }
        
        /* 마우스 올렸을 때만 선명하게 (인터랙션) */
        .chat-footer-legal:hover {
            color: rgba(60, 60, 67, 0.9) !important;
            transition: color 0.2s ease;
        }
        
        /* .disclaimer-overlay {
            position: absolute; 
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 0, 0, 0.5);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            backdrop-filter: blur(2px);
        } */
        
        .disclaimer-content {
            background: white;
            width: 80%;
            max-width: 320px;
            border-radius: 16px;
            padding: 24px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
            position: relative;
            text-align: left;
            animation: fadeIn 0.2s ease-out;
        }
        
        @keyframes fadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

        .disclaimer-content h3 { margin: 0 0 15px 0; font-size: 1.1rem; color: #333; border-bottom: 1px solid #eee; padding-bottom: 10px; }
        .disclaimer-body p { font-size: 0.85rem; color: #555; line-height: 1.5; margin-bottom: 12px; }
        .disclaimer-body strong { color: #333; font-weight: 600; }
        .disclaimer-footer { font-size: 0.75rem; color: #aaa; text-align: center; margin-top: 15px; border-top: 1px solid #f5f5f5; padding-top: 10px; }
        
        .disclaimer-close { 
            position: absolute; top: 15px; right: 15px; 
            border: none; background: none; font-size: 1.5rem; 
            color: #999; cursor: pointer; line-height: 1; padding: 5px;
        }

        /* ✅ [수정] AI 뱃지를 헤더 우측으로 이동 */
        .ai-watermark-badge {
            position: absolute; 
            top: 12px;   /* 🟢 헤더 상단에서 12px 떨어짐 (위쪽으로 이동) */
            right: 15px; /* 우측 정렬 유지 */
            z-index: 20; 
            
            /* 디자인: 깔끔하고 전문적인 뱃지 */
            background-color: rgba(255, 255, 255, 0.25); 
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            
            padding: 4px 8px;
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.2);
            
            font-size: 0.6rem;
            font-weight: 600;
            color: rgba(50, 50, 50, 0.7); /* 기본적으로 진한 회색 */
            text-transform: uppercase;
            letter-spacing: 0.05em;
            pointer-events: none;
            
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .ai-watermark-badge svg {
            width: 10px;
            height: 10px;
            opacity: 0.7;
        }

        /* 부드러운 테마 컨테이너 */
/* ✅ [핵심 변경] 뒷배경이 은은하게 비치는 유리 효과 (Glassmorphism) */
/* =========================================
   ✅ [Final Compact] 슬림 & 글래스모피즘 스타일
   ========================================= */

/* 1. 배경: 흐릿한 유리 효과 (그대로 유지) */
.disclaimer-overlay {
    position: absolute; 
    top: 0; left: 0; width: 100%; height: 100%;
    
    /* 배경을 더 투명하게 해서 뒤가 잘 보이게 함 */
    background: rgba(255, 255, 255, 0.1); 
    backdrop-filter: blur(6px); /* 블러 강도 약간 조절 */
    -webkit-backdrop-filter: blur(6px);
    
    display: none;
    justify-content: center;
    align-items: center; /* 중앙 정렬 */
    z-index: 9999;
    
    animation: fadeInOverlay 0.3s ease-out forwards;
}

@keyframes fadeInOverlay {
    from { background: rgba(255, 255, 255, 0); backdrop-filter: blur(0px); }
    to { background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(1px); }
}

/* 2. 모달 컨테이너: 크기 대폭 축소 (슬림 버전) */
.disclaimer-content.soft-theme {
    /* 크기 및 여백 다이어트 */
    width: 85%;
    max-width: 320px; /* 가로폭 좁힘 */
    padding: 21px 20px; /* 내부 여백 줄임 */
    
    border-radius: 26px;
    border: 1px solid rgba(255, 255, 255, 0.5); /* 유리 테두리 */
    
    /* 배경을 95% 불투명하게 하여 가독성 확보하되 답답하지 않게 */
    background: rgba(255, 255, 255, 0.95);
    
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    text-align: left;
    
    /* 위치 보정 */
    position: relative;
    top: -20px; /* 시각적으로 살짝 위로 올려서 안정감 줌 */
}

/* 3. 헤더: 한 줄로 깔끔하게 */
.modal-header {
    display: flex;
    align-items: center;
    justify-content: center; /* 가운데 정렬 */
    gap: 8px;
    margin-bottom: 15px; /* 간격 축소 */
}
.modal-header .header-icon {
    font-size: 1.4rem; /* 아이콘 크기 축소 */
    display: block;
    margin-bottom: 0; /* 하단 여백 제거 */
    animation: wave 2s infinite;
}
.modal-header h3 {
    font-size: 1.1rem; /* 폰트 크기 축소 */
    color: #333;
    margin: 0;
    font-weight: 700;
}

/* 4. 본문 리스트: 회색 박스 제거 -> 깔끔한 텍스트 리스트로 변경 */
/* =========================================
   ✅ [Updated] 세련된 리스트 스타일
   ========================================= */

/* 4. 본문 리스트: 카드형 리스트 스타일 */
.disclaimer-body.compact-body {
    display: flex;
    flex-direction: column;
    gap: 12px; /* 항목 간 간격을 넉넉하게 */
    padding: 5px 0;
}

.compact-item {
    display: flex;
    align-items: center; /* 수직 중앙 정렬 */
    gap: 14px; /* 아이콘과 텍스트 사이 간격 */
    text-align: left;
}

/* 아이콘 꾸미기 (핵심: 이모지를 예쁜 원 안에 가두기) */
.compact-item .c-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;  /* 고정된 크기 */
    height: 38px; /* 고정된 크기 */
    border-radius: 20%; /* */
    background-color: #f2f4f7; /* 기본 연회색 배경 */
   
    flex-shrink: 0; /* 찌그러짐 방지 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* --- SVG 최적화 룰 추가 --- */
.compact-item .c-icon svg {
    display: block; /* 불필요한 공백 방지 */
    width: 24px;   /* 38px 원형 배경 안에 적절한 크기 */
    height: 24px;  /* 38px 원형 배경 안에 적절한 크기 */
}

/* 텍스트 타이포그래피 개선 */
.compact-item .c-text {
    display: flex;
    flex-direction: column; /* 제목과 내용 수직 배치 */
    font-size: 0.8rem;
    line-height: 1.3;
    color: #666; /* 설명은 연한 회색 */
}

.compact-item .c-text strong {
    font-size: 0.9rem; /* 제목은 약간 크게 */
    color: #111; /* 제목은 진한 검정 */
    font-weight: 600;
    margin-bottom: 2px; /* 제목과 설명 사이 간격 */
    letter-spacing: -0.01em; /* 자간을 살짝 좁혀서 세련되게 */
}

/* --- 각 항목별 미세 디자인 (아이콘 배경색) --- */

/* 1. AI: 연한 파랑 */
.compact-item:nth-child(1) .c-icon { background-color: #e3f2fd; }
/* 2. Fact: 연한 초록 */
.compact-item:nth-child(2) .c-icon { background-color: #e8f5e9; }
/* 3. Privacy: 연한 보라 */
.compact-item:nth-child(3) .c-icon { background-color: #f3e5f5; }

/* 4. 위기 상황 (Crisis): 강조 스타일 */
.compact-item.crisis {
    margin-top: 5px;
    background-color: #fff5f5; /* 전체 붉은 배경 */
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 0, 0, 0.05);
}

.compact-item.crisis .c-icon {
    background-color: #ffebee; /* 아이콘 배경도 붉게 */
    width: 32px; /* 위기 아이콘은 살짝 작게 */
    height: 32px;
    color: #d32f2f;
  
}
/* --- 위기 상황일 때 SVG 크기 조정 룰 추가 --- */
.compact-item.crisis .c-icon svg {
    width: 20px; /* 작아진 32px 원형 배경에 맞춰 아이콘 크기도 줄임 */
    height: 20px;
}
.compact-item.crisis .c-text {
    font-size: 0.75rem;
    color: #c62828; /* 텍스트도 붉은 톤 */
    font-weight: 500;
}


/* 5. 푸터 & 버튼 */
.disclaimer-footer.compact-footer {
    margin-top: 20px;
    text-align: center;
}

.agree-button.soft-btn.compact-btn {
    width: 100%;
    /* 그라데이션을 더 부드럽게 */
    background: linear-gradient(135deg, #007aff 0%, #0062cc 100%);
    border-radius: 14px;
    padding: 14px 0;
    font-size: 0.9rem;
    font-weight: 600;
    color: white;
    border: none;
    cursor: pointer;
    /* 그림자 효과로 떠있는 느낌 */
    box-shadow: 0 8px 20px rgba(0, 122, 255, 0.25);
    transition: transform 0.2s, box-shadow 0.2s;
}

.agree-button.soft-btn.compact-btn:active {
    transform: scale(0.98); /* 클릭 시 살짝 눌리는 효과 */
}

.legal-fine-print {
    font-size: 0.7rem;
    color: #999;
    margin-top: 12px;
    line-height: 1.4;
}
.legal-fine-print strong {
    font-weight: 600;
    color: #777;
}

/* 5. 푸터 & 버튼 */
.disclaimer-footer {
    margin-top: 15px;
    padding-top: 0;
    border: none;
    text-align: center;
}

.agree-button.soft-btn {
    width: 100%;
    background: linear-gradient(135deg, #007aff 0%, #005ecb 100%);
    border-radius: 12px; /* 버튼 둥글기 */
    padding: 10px 0; /* 버튼 높이 줄임 */
    font-size: 0.95rem;
    font-weight: 600;
    color: white;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 122, 255, 0.25);
    margin-top: 5px;
}
.agree-button.soft-btn:hover {
    transform: scale(1.02);
}

.legal-fine-print {
    font-size: 0.65rem; /* 법적 문구 아주 작게 */
    color: #999;
    margin-top: 10px;
    line-height: 1.3;
}

/* 애니메이션 */
@keyframes wave {
    0%, 60%, 100% { transform: rotate(0deg); }
    10%, 30% { transform: rotate(14deg); }
    20%, 40% { transform: rotate(-8deg); }
    50% { transform: rotate(10deg); }
}

/* ✅ [신규] 서비스 만료/홍보 화면 (Lock Screen) */
        #expired-promo-screen {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(255, 255, 255, 0.85); /* 배경 살짝 가림 */
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            z-index: 20000; /* 최상단 노출 */
            display: none; /* 기본 숨김 */
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 30px;
            box-sizing: border-box;
            animation: fadeIn 0.5s ease-out;
        }

        #paused-chat-screen {
            position: absolute;
            inset: 0;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 30px;
            box-sizing: border-box;
            background: var(--app-bg-gradient);
            z-index: 9500;
            overflow: hidden;
        }

        #private-chat-screen {
            position: fixed;
            inset: 0;
            display: none;
            align-items: center;
            justify-content: center;
            padding: clamp(18px, 5vw, 32px);
            box-sizing: border-box;
            background: linear-gradient(180deg, rgba(245, 247, 251, 0.99) 0%, rgba(239, 243, 249, 1) 100%);
            z-index: 9800;
            overflow: hidden;
        }

        #private-chat-screen::before {
            content: none;
        }

        #paused-chat-screen::before {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        .paused-chat-card {
            position: relative;
            z-index: 1;
            width: min(100%, 360px);
            padding: 34px 28px;
            border-radius: calc(var(--main-radius) + 12px);
            background: var(--composer-bg, rgba(255, 255, 255, 0.88));
            border: var(--bubble-border, 1px solid rgba(255, 255, 255, 0.22));
            box-shadow: var(--composer-shadow, 0 20px 48px rgba(15, 23, 42, 0.14));
            text-align: center;
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        .private-chat-card {
            width: min(100%, 420px);
            max-width: 420px;
            box-sizing: border-box;
            padding: clamp(28px, 4.8vw, 34px) clamp(20px, 4.5vw, 28px);
            background: rgba(255, 255, 255, 0.98);
            border: 1px solid rgba(15, 23, 42, 0.08);
            box-shadow: 0 18px 48px rgba(15, 23, 42, 0.12);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }

        .paused-chat-title {
            margin: 0;
            color: var(--text-color);
            font-size: 1.35rem;
            font-weight: 700;
            line-height: 1.3;
            letter-spacing: -0.03em;
        }

        .paused-chat-desc {
            margin: 14px 0 0;
            color: var(--text-color);
            opacity: 0.78;
            font-size: 0.95rem;
            line-height: 1.65;
            letter-spacing: -0.01em;
        }

        .private-chat-form {
            display: grid;
            gap: 10px;
            width: 100%;
            margin-top: 18px;
        }

        .private-chat-field,
        .private-chat-submit {
            width: 100%;
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
            font: inherit;
            border-radius: 16px;
        }

        .private-chat-field {
            border: 1px solid rgba(15, 23, 42, 0.10);
            padding: 14px 16px;
            background: rgba(255, 255, 255, 0.96);
            color: #111827;
            outline: none;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
        }

        .private-chat-field:focus {
            border-color: rgba(15, 23, 42, 0.22);
            box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.05);
        }

        .private-chat-submit {
            border: none;
            padding: 13px 16px;
            font-weight: 700;
            background: var(--main-color, #111827);
            color: #fff;
            cursor: pointer;
        }

        .private-chat-submit:disabled {
            opacity: 0.7;
            cursor: wait;
        }

        .private-chat-error {
            margin: 0;
            min-height: 1.2em;
            font-size: 0.86rem;
            line-height: 1.4;
            color: #b42318;
        }

        .promo-card {
            background: linear-gradient(145deg, #ffffff, #f0f0f0);
            padding: 40px 30px;
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.15);
            max-width: 340px;
            width: 100%;
            border: 1px solid rgba(255, 255, 255, 0.8);
        }

        .promo-icon {
            font-size: 3rem;
            margin-bottom: 20px;
            display: inline-block;
            animation: float 3s ease-in-out infinite;
        }

        .promo-title {
            font-size: 1.4rem;
            font-weight: 500;
            color: #333;
            margin: 0 0 10px 0;
            letter-spacing: -0.5px;
        }

        .promo-desc {
            font-size: 0.95rem;
            color: #666;
            line-height: 1.5;
            margin-bottom: 30px;
        }

        .promo-btn {
            background: linear-gradient(135deg, #007aff 0%, #005ecb 100%);
            color: white;
            text-decoration: none;
            padding: 14px 28px;
            border-radius: 30px;
            font-weight: 700;
            font-size: 1rem;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 10px 20px rgba(0, 122, 255, 0.3);
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .promo-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 15px 30px rgba(0, 122, 255, 0.4);
        }

        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0px); }
        }

        /* ✨ 고급형 타이핑 커서 */
/* .custom-cursor {
  display: inline-block;
  width: 2px;
  height: 1.1em;
  background-color: #007bff; 
  margin-left: 3px;
  vertical-align: middle;
  animation: blink2 0.8s step-end infinite;
}

@keyframes blink2 {
  from, to { background-color: transparent }
  50% { background-color: #007bff }
} */


/* ==================================================================
   ✨ [CSS 최종본] 명품 UX를 위한 Living Cursor & Ink Fade-in
   ================================================================== */
/* ==================================================================
   ✨ [수정] 명품 UX를 위한 Living Cursor & Fade-in Reveal
   ================================================================== */

/* ==================================================================
   ✨ [보존] 네온 커서 + [신규] 그라데이션 테일 효과
   ================================================================== */

/* ==================================================================
   ✨ [수정] 명품 UX를 위한 Living Cursor & Fade-in Reveal
   ================================================================== */

/* 1. 새로 나타나는 글자 전용 애니메이션 (잉크가 번지는 듯한 효과) */
.char-reveal {
    display: inline-block; /* 변환 효과를 위해 블록 속성 부여 */
    animation: textReveal 0.25s ease-out forwards;
    will-change: opacity, transform;
}

@keyframes textReveal {
    from {
        opacity: 0;
        transform: translateY(3px); /* 밑에서 살짝 올라오는 느낌 */
        filter: blur(1px); /* 아주 살짝 뿌연 상태에서 시작 */
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0px);
    }
}

/* 2. 네온 글로잉 커서 디자인 (호흡하는 애니메이션) */
.custom-cursor {
    display: inline-block;
    width: 1.5px;
    height: 1.1em;
    background-color: var(--main-color, #007bff);
    margin-left: 2px;
    vertical-align: middle;
    border-radius: 2px;
    box-shadow: 0 0 5px var(--main-color, #007bff);
    animation: livingCursor 1s ease-in-out infinite; 
}

@keyframes livingCursor {
    0%, 100% { opacity: 1; transform: scaleY(1); }
    50% { opacity: 0.2; transform: scaleY(0.8); }
}


        /* =========================================
           ✨ [Step 2] 마법의 CSS 테마 클래스 (Vibe Changer)
           ========================================= */

        /* -----------------------------------------
           [Theme 1] Modern iOS (theme-modern_light)
           - 토스/인스타그램 느낌의 플로팅 레이아웃, 중앙 정렬, 둥근 모서리
           ----------------------------------------- */
        .theme-modern_light {
            background-color: #f3f4f6; /* 바깥 배경은 은은한 회색 */
        }
        .theme-modern_light #app-container {
            background: #ffffff;
            box-shadow: 0 20px 40px rgba(0,0,0,0.08);
            border-radius: 30px;
            margin-top: 10px;
            height: calc(100% - 20px); /* 둥둥 떠있는 플로팅 효과 */
        }
        .theme-modern_light header {
            background: transparent;
            align-items: center; /* 로고와 이름을 중앙으로! */
            border-bottom: 1px solid #f3f4f6;
            box-shadow: none;
        }
        .theme-modern_light .header-top {
            flex-direction: column; /* 세로로 배치 */
            justify-content: center;
            gap: 8px;
        }
        .theme-modern_light .logo-img {
            border-radius: 50%; /* 로고를 완전 동그랗게 */
            width: 55px; height: 55px;
        }
        .theme-modern_light .quick-actions {
           
            justify-content: flex-start;
        }
        .theme-modern_light .quick-actions::before,
        .theme-modern_light .quick-actions::after {
            content: '';
            margin: auto;
        }
        .theme-modern_light .input-area {
            background: transparent;
            padding: 10px 20px 20px 20px;
            border: none;
        }
        .theme-modern_light .input-row-container {
            background: #f8fafc;
            border-radius: 30px;
            padding: 5px 5px 5px 15px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.05);
            border: 1px solid #e2e8f0;
        }
        .theme-modern_light .input-wrapper {
            background: transparent; box-shadow: none; border: none; padding: 0;
        }
        .theme-modern_light #send-btn {
            border-radius: 50%; /* 전송 버튼을 완전 동그랗게 */
            width: 44px; height: 44px; padding: 0;
            display: flex; justify-content: center; align-items: center;
        }
        .theme-modern_light .ai-watermark-badge { 
            top: 15px; right: 15px; background: #f1f5f9; color: #64748b; border:none; 
        }

        /* -----------------------------------------
           [Theme 2] Luxury Black (theme-luxury_dark)
           - 다크모드, 골드 포인트, 각진 디자인 (명품/법률/VIP 용)
           ----------------------------------------- */
        .theme-luxury_dark {
            background-color: #000000;
        }
        .theme-luxury_dark #app-container {
            background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
            border: 1px solid #333;
            border-radius: 0; /* 완전 각진 모서리 */
            box-shadow: none;
        }
        .theme-luxury_dark header {
            background: #111;
            border-bottom: 1px solid #eab308; /* 골드 라인 */
        }
        .theme-luxury_dark .bot-name {
            color: #eab308; /* 이름도 골드 */
            font-family: "Times New Roman", Times, serif; /* 럭셔리 폰트 */
            letter-spacing: 1px;
        }
        .theme-luxury_dark .action-btn {
            background-color: transparent;
            border: 1px solid #eab308;
            color: #eab308;
            border-radius: 4px; /* 각진 버튼 */
        }
        .theme-luxury_dark .message.ai {
            background: #222; color: #fff;
            border: 1px solid #444;
            border-radius: 8px 8px 8px 0; /* 한쪽 꼬리만 뾰족하게 */
        }
        .theme-luxury_dark .message.user {
            background: #eab308; color: #000;
            border-radius: 8px 8px 0 8px; /* 한쪽 꼬리만 뾰족하게 */
        }
        .theme-luxury_dark .input-area {
            background: #111; border-top: 1px solid #333;
        }
        .theme-luxury_dark .input-wrapper {
            background: #222; border: 1px solid #444; border-radius: 4px;
        }
        .theme-luxury_dark #user-input {
            color: #fff;
        }
        .theme-luxury_dark #send-btn {
            background-color: #eab308; color: #000; border-radius: 4px;
        }
        .theme-luxury_dark .ai-watermark-badge { 
            background: #222; color: #eab308; border: 1px solid #eab308; 
        }

/* ===================================================
           🎨 [Theme: Modern Gradient 전용 대공사] 
           =================================================== */
        .theme-modern_gradient { background: linear-gradient(135deg, #fdfbfb 0%, #ebedee 100%); }
        .theme-modern_gradient .message.user {
            background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
            color: #ffffff; border-radius: 20px 20px 0 20px; box-shadow: 0 4px 15px rgba(79, 172, 254, 0.3);
        }
        .theme-modern_gradient .message.ai {
            background-color: #ffffff; color: #333333; border-radius: 20px 20px 20px 0; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }
        .theme-modern_gradient header { background-color: transparent; border-bottom: none; padding: 20px 15px; }
        
        /* 🚀 입력창 오른쪽 이탈 방지 및 '알약 모양' 디자인 최적화 */
        .theme-modern_gradient .input-area { background: transparent; border: none; }
        .theme-modern_gradient .input-row-container {
            background-color: #ffffff; border-radius: 30px;
            padding: 6px 6px 6px 18px; /* 버튼 쪽 여백을 줄여서 알맞게 쏙! */
            box-shadow: 0 4px 15px rgba(0,0,0,0.05); border: 1px solid #eeeeee;
        }
        .theme-modern_gradient .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-modern_gradient #send-btn { border-radius: 25px; height: 42px; }


        /* ===================================================
           🎨 [Theme: Minimal Glass 전용 대공사] 
           =================================================== */
        .theme-minimal_glass { background-color: #f0f2f5; }
        .theme-minimal_glass .message.ai {
            background-color: rgba(255, 255, 255, 0.5); color: #333333;
            backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
            border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 4px 15px rgba(0,0,0,0.03);
        }
        .theme-minimal_glass .message.user {
            background-color: rgba(0, 0, 0, 0.7); color: #ffffff;
            backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
            border-radius: 15px; border: 1px solid rgba(0, 0, 0, 0.1);
        }
        .theme-minimal_glass header {
            background-color: rgba(255, 255, 255, 0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding: 15px 15px 8px;
        }
        .theme-minimal_glass .quick-actions { margin-top: 8px; padding-bottom: 2px; }
        .theme-minimal_glass #chat-window { padding-top: 14px; }
        
        /* 🚀 입력창 오른쪽 이탈 방지 및 '유리알' 디자인 최적화 */
        .theme-minimal_glass .input-area { background: transparent; border: none; }
        .theme-minimal_glass .input-row-container {
            background-color: rgba(255, 255, 255, 0.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 20px;
            padding: 6px 6px 6px 18px;
        }
        .theme-minimal_glass .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-minimal_glass #send-btn { border-radius: 15px; height: 42px; }


        /* ===================================================
           🎨 [Theme: Neutral Typo 전용 대공사] 
           =================================================== */
        .theme-neutral_typo { background-color: #f9f9f7; }
        .theme-neutral_typo .message { border-radius: 0; box-shadow: none; padding: 15px 20px; font-size: 1rem; line-height: 1.6; }
        .theme-neutral_typo .message.ai { background-color: #f0f0f0; color: #333333; }
        .theme-neutral_typo .message.user { background-color: #333333; color: #ffffff; }
        .theme-neutral_typo header { background-color: transparent; border-bottom: 1px solid #eeeeee; padding: 25px 15px; }
        
        /* 🚀 입력창 오른쪽 이탈 방지 및 '각진 박스' 디자인 최적화 */
        .theme-neutral_typo .input-area { background: transparent; border: none; }
        .theme-neutral_typo .input-row-container {
            background-color: #ffffff; border-radius: 0; border: 1px solid #eeeeee;
            padding: 6px 6px 6px 18px;
        }
        .theme-neutral_typo .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-neutral_typo #send-btn { border-radius: 0; height: 42px; }


        /* ===================================================
           🎨 [Theme: Large Text] 가독성 극대화 테마 
           - 큰 글씨, 시원한 여백, 뚜렷한 대비
           =================================================== */
        .theme-large_text { background-color: #f4f6f8; }
        
        /* 글자 크기 및 줄간격 대폭 확대 */
        .theme-large_text .message { 
            font-size: 1.2rem; /* 기본보다 훨씬 큼 */
            line-height: 1.7; 
            padding: 16px 22px; 
        }
        .theme-large_text #user-input { 
            font-size: 1.15rem; 
            padding: 14px 0; 
        }
        .theme-large_text .bot-name { 
            font-size: 1.35rem; 
            font-weight: 500; 
            letter-spacing: -0.5px;
        }
        .theme-large_text .action-btn { 
            font-size: 0.95rem; 
            padding: 10px 18px; 
        }
        
        /* 🚀 입력창 오른쪽 이탈 방지 규격 */
        .theme-large_text .input-area { background: transparent; border: none; }
        .theme-large_text .input-row-container {
            background-color: #ffffff; border-radius: 16px; border: 2px solid #e2e8f0;
            padding: 8px 8px 8px 18px; box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }
        .theme-large_text .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-large_text #send-btn { border-radius: 12px; height: 48px; font-size: 0.92rem; }


        /* ===================================================
           🎨 [Theme: Seamless Pastel] 심리스 파스텔 테마 
           - 헤더/본문 경계가 아예 없고 투명한 유리 느낌
           =================================================== */
        /* 배경이 전체를 감싸도록 설정 */
        .theme-seamless_pastel #app-container,
        .theme-seamless_pastel_menu #app-container,
        .theme-seamless_sunset #app-container,
        .theme-seamless_sunset_menu #app-container {
            /* 배경색은 JS의 THEME_MAP에서 주입됨 */
            box-shadow: 0 15px 35px rgba(255, 154, 158, 0.3); /* 은은한 핑크 그림자 */
            border: none;
        }
        
        /* 🚀 핵심: 헤더와 입력창의 배경/블러를 완전히 날려서 배경 그라데이션이 비치게 함 */
        .theme-seamless_pastel header,
        .theme-seamless_pastel .input-area,
        .theme-seamless_pastel_menu header,
        .theme-seamless_pastel_menu .input-area,
        .theme-seamless_sunset header,
        .theme-seamless_sunset .input-area,
        .theme-seamless_sunset_menu header,
        .theme-seamless_sunset_menu .input-area { 
            background-color: transparent !important; 
            backdrop-filter: none !important; 
            -webkit-backdrop-filter: none !important; 
            border: none; 
            box-shadow: none;
        }
        
        .theme-seamless_pastel .message.ai,
        .theme-seamless_pastel_menu .message.ai,
        .theme-seamless_sunset .message.ai,
        .theme-seamless_sunset_menu .message.ai {
            background-color: rgba(255, 255, 255, 0.6); /* 반투명 흰색 */
            backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 8px 20px rgba(0,0,0,0.04);
        }
        .theme-seamless_pastel .message.user,
        .theme-seamless_pastel_menu .message.user,
        .theme-seamless_sunset .message.user,
        .theme-seamless_sunset_menu .message.user {
            box-shadow: 0 8px 20px rgba(255, 117, 140, 0.2);
        }
        
        /* 입력창 디자인 */
        .theme-seamless_pastel .input-row-container,
        .theme-seamless_pastel_menu .input-row-container,
        .theme-seamless_sunset .input-row-container,
        .theme-seamless_sunset_menu .input-row-container {
            background-color: rgba(255, 255, 255, 0.5); 
            backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
            border-radius: 30px; border: 1px solid rgba(255, 255, 255, 0.6);
            padding: 6px 6px 6px 18px; box-shadow: 0 4px 15px rgba(0,0,0,0.03);
        }
        .theme-seamless_pastel .input-wrapper,
        .theme-seamless_pastel_menu .input-wrapper,
        .theme-seamless_sunset .input-wrapper,
        .theme-seamless_sunset_menu .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-seamless_pastel #send-btn,
        .theme-seamless_pastel_menu #send-btn,
        .theme-seamless_sunset #send-btn,
        .theme-seamless_sunset_menu #send-btn { border-radius: 25px; height: 42px; }
        body.quick-actions-collapsible.theme-seamless_pastel_menu .quick-actions-toggle,
        body.quick-actions-collapsible.theme-seamless_sunset_menu .quick-actions-toggle,
        body.quick-actions-collapsible.theme-neu_cloud_soft_menu .quick-actions-toggle,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .quick-actions-toggle,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .quick-actions-toggle {
            display: inline-flex;
        }
        body.quick-actions-collapsible.theme-seamless_pastel_menu .ai-watermark-badge,
        body.quick-actions-collapsible.theme-seamless_sunset_menu .ai-watermark-badge,
        body.quick-actions-collapsible.theme-neu_cloud_soft_menu .ai-watermark-badge,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .ai-watermark-badge,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .ai-watermark-badge {
            display: none;
        }
        body.quick-actions-collapsible.theme-seamless_pastel_menu .quick-actions,
        body.quick-actions-collapsible.theme-seamless_sunset_menu .quick-actions,
        body.quick-actions-collapsible.theme-neu_cloud_soft_menu .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .quick-actions {
            max-height: 58px;
            opacity: 1;
            transform: translateY(0);
            overflow-x: auto;
            overflow-y: visible;
            transition: max-height 0.32s ease, opacity 0.24s ease, transform 0.32s ease, margin-top 0.32s ease, padding-top 0.32s ease, padding-bottom 0.32s ease;
        }
        body.quick-actions-collapsible.theme-seamless_pastel_menu:not(.quick-actions-open) .quick-actions,
        body.quick-actions-collapsible.theme-seamless_sunset_menu:not(.quick-actions-open) .quick-actions,
        body.quick-actions-collapsible.theme-neu_cloud_soft_menu:not(.quick-actions-open) .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu:not(.quick-actions-open) .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure:not(.quick-actions-open) .quick-actions {
            max-height: 0;
            opacity: 0;
            transform: translateY(-8px);
            margin-top: 0;
            padding-top: 0;
            padding-bottom: 0;
            overflow: hidden;
            pointer-events: none;
        }
        body.quick-actions-collapsible.theme-seamless_pastel_menu:not(.quick-actions-open) header,
        body.quick-actions-collapsible.theme-seamless_sunset_menu:not(.quick-actions-open) header,
        body.quick-actions-collapsible.theme-neu_cloud_soft_menu:not(.quick-actions-open) header,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu:not(.quick-actions-open) header,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure:not(.quick-actions-open) header {
            padding-bottom: 14px;
        }
        body.quick-actions-open.theme-seamless_pastel_menu .quick-actions-toggle,
        body.quick-actions-open.theme-seamless_sunset_menu .quick-actions-toggle,
        body.quick-actions-open.theme-neu_cloud_soft_menu .quick-actions-toggle,
        body.quick-actions-open.theme-dynamic_splash_prism_menu .quick-actions-toggle,
        body.quick-actions-open.theme-dynamic_splash_prism_menu_pure .quick-actions-toggle {
            background: rgba(255, 255, 255, 0.58);
            box-shadow: 0 8px 18px rgba(31, 41, 55, 0.12);
        }
        body.theme-seamless_pastel_menu .quick-actions-toggle {
            color: #5b4f86;
        }
        body.theme-seamless_sunset_menu .quick-actions-toggle {
            color: #6a4b62;
        }
        body.theme-neu_cloud_soft_menu .quick-actions-toggle {
            color: #5f7697;
        }
        body.theme-dynamic_splash_prism_menu .quick-actions-toggle,
        body.theme-dynamic_splash_prism_menu_pure .quick-actions-toggle {
            color: #5f6d90;
            background: rgba(255, 255, 255, 0.28);
            border: 1px solid rgba(255, 255, 255, 0.34);
            backdrop-filter: blur(20px) saturate(1.18);
            -webkit-backdrop-filter: blur(20px) saturate(1.18);
            box-shadow: 0 12px 26px rgba(120, 138, 170, 0.18);
        }
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu header,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure header {
            position: relative;
            overflow: visible;
            z-index: 24;
        }
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .header-top,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .header-top {
            position: relative;
            z-index: 2;
        }
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .quick-actions {
            position: absolute;
            top: calc(100% + 10px);
            right: 18px;
            left: auto;
            width: min(228px, calc(100vw - 56px));
            max-height: none;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 8px;
            margin-top: 0;
            padding: 12px;
            overflow: visible;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.68);
            border: 1px solid rgba(255, 255, 255, 0.40);
            box-shadow: 0 22px 36px rgba(97, 113, 145, 0.18);
            backdrop-filter: blur(30px) saturate(1.20);
            -webkit-backdrop-filter: blur(30px) saturate(1.20);
            transform-origin: top right;
            z-index: 26;
            will-change: opacity, transform, clip-path, filter;
            transition:
                opacity 0.34s cubic-bezier(0.22, 0.8, 0.24, 1),
                transform 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                clip-path 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.68s cubic-bezier(0.16, 1, 0.3, 1);
        }
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu .quick-actions .action-btn,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure .quick-actions .action-btn {
            box-sizing: border-box;
            width: 100%;
            max-width: 100%;
            justify-content: flex-start;
            padding: 11px 14px;
            background: rgba(255, 255, 255, 0.74);
            border: 1px solid rgba(255, 255, 255, 0.46);
            box-shadow: 0 10px 18px rgba(140, 155, 187, 0.12);
            color: #566584;
        }
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu:not(.quick-actions-open) .quick-actions,
        body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_pure:not(.quick-actions-open) .quick-actions {
            max-height: none;
            opacity: 0;
            transform: translate3d(10px, -16px, 0) scale(0.88);
            clip-path: inset(0 0 100% 0 round 22px);
            filter: blur(8px);
            pointer-events: none;
            margin-top: 0;
            padding: 12px;
        }
        body.quick-actions-open.theme-dynamic_splash_prism_menu .quick-actions,
        body.quick-actions-open.theme-dynamic_splash_prism_menu_pure .quick-actions {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
            clip-path: inset(0 0 0 0 round 22px);
            filter: blur(0);
            pointer-events: auto;
        }

        .theme-editorial_dock {
            background: #e2e8f0;
        }

        .theme-editorial_dock #app-container {
            background: var(--app-bg-gradient);
            border: 1px solid rgba(15, 23, 42, 0.06);
            box-shadow: 0 26px 56px rgba(51, 65, 85, 0.16);
        }

        .theme-editorial_dock header {
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
        }

        .theme-editorial_dock .header-top {
            align-items: flex-start;
            gap: 10px;
        }

        .theme-editorial_dock .logo-img {
            width: 36px;
            height: 36px;
            border-radius: 12px;
            box-shadow: 0 10px 24px rgba(37, 99, 235, 0.14);
        }

        .theme-editorial_dock .bot-name {
            padding-top: 3px;
            color: var(--text-color);
            font-size: 1.03rem;
            font-weight: 800;
            letter-spacing: -0.035em;
        }

        .theme-editorial_dock .ai-watermark-badge {
            border: 1px solid rgba(37, 99, 235, 0.13);
            background: rgba(255, 255, 255, 0.72);
            color: #47617f;
            box-shadow: 0 10px 22px rgba(37, 99, 235, 0.08);
        }

        .theme-editorial_dock .quick-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 8px;
            width: 100%;
            margin-top: 12px;
            padding: 0;
            overflow: visible;
        }

        .theme-editorial_dock .quick-actions .action-btn {
            min-width: 0;
            justify-content: center;
            overflow: hidden;
            text-overflow: ellipsis;
            padding: 9px 11px;
            border-radius: 14px;
            background: rgba(255, 255, 255, 0.74);
            border-color: rgba(37, 99, 235, 0.10);
            color: #425f82;
            box-shadow: 0 10px 22px rgba(59, 130, 246, 0.07);
        }

        .theme-editorial_dock #chat-window {
            gap: 22px;
            padding: 12px 18px 18px;
        }

        .theme-editorial_dock .message {
            max-width: 82%;
        }

        .theme-editorial_dock .message.ai {
            border: 1px solid rgba(255, 255, 255, 0.74);
            color: #243449;
        }

.theme-editorial_dock .message.user {
    background: var(--bubble-user-bg);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

        .theme-editorial_dock .input-area {
            background: transparent;
            border-top: none;
            padding: 10px 18px calc(16px + env(safe-area-inset-bottom)) 18px;
        }

        .theme-editorial_dock .input-row-container {
            background: var(--composer-bg);
            border: 1px solid rgba(255, 255, 255, 0.86);
            border-radius: var(--composer-radius);
            box-shadow: var(--composer-shadow);
        }

        .theme-editorial_dock .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 0;
        }

        .theme-editorial_dock #send-btn {
            width: 44px;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: var(--send-shape-radius);
            background: var(--main-color);
            box-shadow: var(--send-shadow);
        }

        body.theme-editorial_dock[data-send-icon] .send-type {
            display: none;
        }

        body.theme-editorial_dock[data-send-icon="arrow"] .send-type.type-arrow {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        @media (max-width: 420px) {
            .theme-editorial_dock .quick-actions .action-btn {
                padding: 8px 9px;
                font-size: 0.76rem;
            }

            .theme-editorial_dock #chat-window {
                padding-left: 16px;
                padding-right: 16px;
            }
        }

        .theme-editorial_dock .input-row-container {
            padding: 8px 8px 8px 16px;
            gap: 8px;
        }

        .theme-editorial_dock .ai-icon-animation {
            margin-left: 2px;
            margin-right: 12px;
        }


        /* ===================================================
           🎨 [Theme: Silver Monochrome] 실버 그라데이션 테마 
           - #ececec 톤의 차분하고 프로페셔널한 느낌
           =================================================== */
        .theme-silver_monochrome { background-color: #d4d4d4; }
        .theme-silver_monochrome #app-container {
            border: 1px solid #d4d4d4; box-shadow: 0 10px 30px rgba(0,0,0,0.08);
        }
        .theme-silver_monochrome header { 
            background: rgba(245, 245, 245, 0.85); 
            border-bottom: 1px solid #d4d4d4; 
        }
        .theme-silver_monochrome .message.ai { 
            background-color: #ffffff; color: #333333; 
            border: 1px solid #e0e0e0; box-shadow: 0 2px 8px rgba(0,0,0,0.03);
        }
        .theme-silver_monochrome .message.user { 
            background-color: #555555; color: #ffffff; 
        }
        
        /* 입력창 디자인 */
        .theme-silver_monochrome .input-area { background: transparent; border: none; }
        .theme-silver_monochrome .input-row-container {
            background-color: #ffffff; border-radius: 12px; border: 1px solid #d4d4d4;
            padding: 6px 6px 6px 18px; box-shadow: 0 2px 10px rgba(0,0,0,0.02);
        }
        .theme-silver_monochrome .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 0; }
        .theme-silver_monochrome #send-btn { border-radius: 8px; height: 42px; background-color: #333333; }


        /* ===================================================
           🎨 [Theme: Edge to Edge] 화면 꽉 차는 네이티브 앱 테마 
           - 바디 패딩 제거, 컨테이너 라운드 제거, 시원한 개방감
           =================================================== */
        body.theme-edge_to_edge {
            padding: 0 !important; /* 💥 화면 테두리 여백 완벽 제거! (핵심) */
            background-color: #ffffff; /* 폰 상단/하단 빈 공간도 하얗게 */
        }
        .theme-edge_to_edge #app-container {
            max-width: 100%; /* 모바일에서 좌우 100% 꽉 차게 */
            border-radius: 0 !important; /* 컨테이너 둥근 모서리 완전 제거 */
            box-shadow: none !important; /* 그림자 제거 */
            border: none;
        }
        
        /* 헤더 & 입력창을 화면 끝에서 끝까지 시원하게 뻗게 함 */
        .theme-edge_to_edge header {
            background-color: #ffffff; 
            border-bottom: 1px solid #f0f0f0;
        }
        .theme-edge_to_edge .input-area {
            background-color: #ffffff;
            border-top: 1px solid #f0f0f0;
            padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) 20px;
        }
        .theme-edge_to_edge .input-row-container {
            background-color: #f4f5f7; border: none; border-radius: 25px;
            padding: 6px 6px 6px 20px; box-shadow: none;
        }
        /* 💥 여기에 방금 알려드린 코드를 넣으시면 됩니다! 💥 */
        .theme-edge_to_edge .input-wrapper { 
            background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; overflow: visible;
        }
        .theme-edge_to_edge .ai-icon-animation { margin-left: 2px; margin-right: 11px; }
        /* 꽉 찬 화면에 맞게 말풍선 여유 공간 늘리기 */
        .theme-edge_to_edge .message {
            max-width: 85%; /* 원래 80%였던 걸 화면이 넓어졌으니 더 길게! */
        }

/* 🚀 Edge to Edge 테마일 때만 글씨를 숨기고 아이콘을 켬! */
        .theme-edge_to_edge .send-text { display: none; }
        .theme-edge_to_edge .send-icon { display: flex; align-items: center; justify-content: center; }
    
    /* ===================================================
           🚀 [무한 확장형 전송 버튼 스위치 시스템]
           =================================================== */
           
        /* 1. 기본적으로 모든 전송 버튼 내용물은 숨김 */
        .send-type { display: none; }

        /* 2. [텍스트 버튼]을 쓰는 테마들 (클래식, 웜샌드, 커스텀 등) */
        body:not([class*="theme-"]) .send-type.type-text, /* 테마가 없을 때 */
        .theme-0101 .send-type.type-text,
        .theme-0201 .send-type.type-text,
        .theme-large_text .send-type.type-text,
        .theme-custom .send-type.type-text { 
            display: block; 
        }

        /* 3. [종이비행기 아이콘]을 쓰는 감성 테마들 */
        .theme-seamless_pastel .send-type.type-plane,
        .theme-seamless_sunset .send-type.type-plane,
        .theme-minimal_glass .send-type.type-plane { 
            display: flex; align-items: center; justify-content: center; 
        }

        /* 4. [엣지 화살표 아이콘]을 쓰는 시크한 테마들 */
        .theme-edge_to_edge .send-type.type-arrow,
        .theme-executive_slate .send-type.type-arrow,
        .theme-cobalt_enterprise .send-type.type-arrow,
        .theme-ivory_brief .send-type.type-arrow,
        .theme-luxury_dark .send-type.type-arrow,
        .theme-silver_monochrome .send-type.type-arrow,
        .theme-fullscreen_pastel .send-type.type-arrow,
        .theme-modern_light .send-type.type-arrow { 
            display: flex; align-items: center; justify-content: center; 
        }

        /* 5. [마법 반짝임 아이콘]을 쓰는 화려한 테마들 */
        .theme-modern_gradient .send-type.type-magic { 
            display: flex; align-items: center; justify-content: center; 
        }
        .theme-flat_signal .send-type.type-arrow,
        .theme-skeuo_atelier .send-type.type-plane,
        .theme-clay_bloom .send-type.type-magic {
            display: flex; align-items: center; justify-content: center;
        }

        body[class*="theme-glass_"][data-send-icon] .send-type,
        body[class*="theme-neu_"][data-send-icon] .send-type { display: none; }
        body[class*="theme-glass_"][data-send-icon="arrow"] .send-type.type-arrow,
        body[class*="theme-glass_"][data-send-icon="plane"] .send-type.type-plane,
        body[class*="theme-glass_"][data-send-icon="magic"] .send-type.type-magic,
        body[class*="theme-neu_"][data-send-icon="arrow"] .send-type.type-arrow,
        body[class*="theme-neu_"][data-send-icon="plane"] .send-type.type-plane,
        body[class*="theme-neu_"][data-send-icon="magic"] .send-type.type-magic {
            display: flex; align-items: center; justify-content: center;
        }

        /* 🎯 아이콘을 쓰는 테마들의 공통 규격 (버튼을 완벽한 44px 동그라미로 꽉 잡아줌!) */
        .theme-seamless_pastel #send-btn,
        .theme-minimal_glass #send-btn,
        .theme-edge_to_edge #send-btn,
        .theme-luxury_dark #send-btn,
        .theme-silver_monochrome #send-btn,
        .theme-modern_light #send-btn,
        .theme-modern_gradient #send-btn,
        .theme-fullscreen_pastel #send-btn,
        body[class*="theme-glass_"] #send-btn,
        body[class*="theme-neu_"] #send-btn {
            width: 44px; padding: 0;
            display: flex; justify-content: center; align-items: center;
        }


        /* ===================================================
           🎨 [Theme: Full Screen Pastel] 화면 꽉 차고 세련된 파스텔 테마 
           - 배경: #e1e8f6, 유저 말풍선: 화이트, 가로선 투명
           =================================================== */
        body.theme-fullscreen_pastel {
            padding: 0 !important; /* 화면 여백 완벽 제거 */
            background-color: #e1e8f6 !important; /* 폰 상하단 빈 공간도 배경색으로 통일 */
        }
        .theme-fullscreen_pastel #app-container {
            max-width: 100%; /* 좌우 100% 꽉 차게 */
            border-radius: 0 !important; /* 둥근 모서리 제거 */
            box-shadow: none !important; /* 그림자 제거 */
            border: none;
            background: #e1e8f6 !important; /* 메인 배경색 적용 */
        }
        
        /* 🚀 핵심: 헤더와 본문 사이 가로선 투명하게 처리 */
        .theme-fullscreen_pastel header {
            background-color: transparent !important; /* 배경색이 비치도록 */
            border-bottom: 1px solid transparent !important; /* 가로선 투명! */
            padding-top: calc(10px + env(safe-area-inset-top)); /* 모바일 상단 바 대응 */
        }
        
        /* 헤더 내 봇 이름 색상 (가독성을 위해 텍스트 컬러 상속) */
        .theme-fullscreen_pastel .bot-name { color: var(--text-color); }
        /* AI 뱃지 디자인 살짝 조정 */
        .theme-fullscreen_pastel .ai-watermark-badge { background: rgba(255,255,255,0.5); border:none; color: var(--text-color); opacity: 0.8; }

        /* 말풍선 디자인 조정 */
        .theme-fullscreen_pastel .message {
            max-width: 85%; /* 화면이 넓어졌으니 말풍선도 좀 더 넓게 */
            box-shadow: 0 2px 5px rgba(0,0,0,0.03); /* 아주 미세한 그림자 */
        }
        /* AI 말풍선은 약간 더 연한 회색으로 화이트 유저 말풍선과 구분 */
        .theme-fullscreen_pastel .message.ai { background-color: #f8fafc; border: 1px solid #f1f5f9; }

        /* 입력창 영역 가로선도 투명하게 처리 */
        .theme-fullscreen_pastel .input-area {
            background-color: transparent !important;
            border-top: 1px solid transparent !important; /* 입력창 가로선 투명! */
            padding: 12px 20px calc(12px + env(safe-area-inset-bottom)) 20px;
        }
        /* 입력 상자 디자인: 하얀색 알약 모양으로 배경과 대비 */
        .theme-fullscreen_pastel .input-row-container {
            background-color: #ffffff; border: 1px solid #e1e7f0; border-radius: 25px;
            padding: 6px 6px 6px 20px; box-shadow: 0 4px 12px rgba(0,0,0,0.03);
        }
        /* 입력창 내부 속껍데기 투명화 (필수!) */
        .theme-fullscreen_pastel .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; overflow: visible; }
        .theme-fullscreen_pastel .ai-icon-animation { margin-left: 2px; margin-right: 11px; }
        
        /* 전송 버튼 (아이콘 테마 스위치 규격에 맞춤) */
        .theme-fullscreen_pastel #send-btn { width: 44px; padding: 0; border-radius: 50%; }

        /* ===================================================
           🎨 [Theme: Dynamic Splash] 대화형 스플래시 테마 
           - 첫 화면은 거대한 오버랩 로고/텍스트, 말 걸면 정상화!
           =================================================== */
        body[class*="theme-dynamic_splash"] { background-color: var(--theme-outer-bg, #0f172a); } /* 딥 다크 네이비 배경 */
        body[class*="theme-dynamic_splash"] #app-container { background: var(--app-bg-gradient); border: none; }

        body.theme-dynamic_splash_daylight,
        body.theme-dynamic_splash_blush,
        body.theme-dynamic_splash_mintlight,
        body.theme-dynamic_splash_canvas,
        body.theme-dynamic_splash_bistro_noir,
        body.theme-dynamic_splash_grand_lobby,
        body.theme-dynamic_splash_horizon_guide {
            padding: 0 !important;
        }

        .theme-dynamic_splash_daylight #app-container,
        .theme-dynamic_splash_blush #app-container,
        .theme-dynamic_splash_mintlight #app-container,
        .theme-dynamic_splash_canvas #app-container,
        .theme-dynamic_splash_bistro_noir #app-container,
        .theme-dynamic_splash_grand_lobby #app-container,
        .theme-dynamic_splash_horizon_guide #app-container {
            max-width: 100%;
            border-radius: 0 !important;
            box-shadow: none !important;
        }

        .theme-dynamic_splash_bistro_noir #app-container,
        .theme-dynamic_splash_grand_lobby #app-container,
        .theme-dynamic_splash_horizon_guide #app-container {
            width: 100vw !important;
            height: 100dvh !important;
            min-height: 100dvh !important;
            max-width: none !important;
            margin: 0 !important;
        }

        body.theme-dynamic_splash_canvas {
            background: #efebe5 !important;
        }

        body.theme-dynamic_splash_horizon_guide {
            background: #dff2ff !important;
        }

        .theme-dynamic_splash_canvas #app-container {
            width: 100vw !important;
            height: 100dvh !important;
            min-height: 100dvh !important;
            max-width: none !important;
            margin: 0 !important;
        }

        /* Apply true edge-to-edge layout to every dynamic splash theme except framed variants. */
        body[class*="theme-dynamic_splash"]:not(.theme-dynamic_splash_softpulse_s):not(.theme-dynamic_splash_softpulse_rose_s):not(.theme-dynamic_splash_softpulse_sky_s):not(.theme-dynamic_splash_softpulse_rose_s_menu):not(.theme-dynamic_splash_softpulse_sky_s_menu):not(.theme-dynamic_splash_logo_halo_particles_lattice_s):not(.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s):not(.theme-dynamic_splash_logo_halo_particles_constellation_s):not(.theme-dynamic_splash_logo_halo_particles_prism_drift_s) {
            padding: 0 !important;
        }

        body[class*="theme-dynamic_splash"]:not(.theme-dynamic_splash_softpulse_s):not(.theme-dynamic_splash_softpulse_rose_s):not(.theme-dynamic_splash_softpulse_sky_s):not(.theme-dynamic_splash_softpulse_rose_s_menu):not(.theme-dynamic_splash_softpulse_sky_s_menu):not(.theme-dynamic_splash_logo_halo_particles_lattice_s):not(.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s):not(.theme-dynamic_splash_logo_halo_particles_constellation_s):not(.theme-dynamic_splash_logo_halo_particles_prism_drift_s) #app-container {
            width: 100vw !important;
            height: 100dvh !important;
            min-height: 100dvh !important;
            max-width: none !important;
            margin: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            border: none !important;
        }

        .theme-dynamic_splash_daylight:not(.chat-started) .message.ai:first-child,
        .theme-dynamic_splash_blush:not(.chat-started) .message.ai:first-child,
        .theme-dynamic_splash_mintlight:not(.chat-started) .message.ai:first-child,
        .theme-dynamic_splash_canvas:not(.chat-started) .message.ai:first-child {
            color: var(--splash-message-color, #334155) !important;
        }
        
        /* 1. 🚀 대화 시작 전: 헤더 완벽 숨김 */
        body[class*="theme-dynamic_splash"]:not(.chat-started) header {
            display: none !important;
        }

        /* 2. 🚀 대화 시작 전: 채팅창을 수직 중앙 정렬로 변경 */
        body[class*="theme-dynamic_splash"]:not(.chat-started) #chat-window {
            justify-content: center;
            align-items: center;
            overflow: hidden; /* 스플래시 상태에선 스크롤 막기 */
        }

        /* 3. 🚀 대화 시작 전: 첫인사 말풍선 파괴 -> 거대한 중앙 텍스트로 마법 변신! */
body[class*="theme-dynamic_splash"]:not(.chat-started) .message.ai:first-child {
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            font-size: 1.28rem; /* ?? ? ?? */
            color: var(--splash-message-color, #ffffff) !important;
            font-weight: 500;
            text-align: center;
            line-height: 1.38;
            max-width: 78%;
            align-self: center;
            margin-left: auto;
            margin-right: auto;
            position: relative;
            z-index: 2;
           animation: fadeInSplash 2.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
        }
        @keyframes fadeInSplash { from { opacity: 0; transform: translateY(50px); } to { opacity: 1; transform: translateY(0); } }

        /* 4. 🚀 대화 시작 전: 텍스트 뒤에 뿌연 로고 이미지 깔기 (가상 요소) */
        body[class*="theme-dynamic_splash"]:not(.chat-started) .message.ai:first-child::before {
            content: "";
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%);
            width: 128px; height: 128px;
            background-image: var(--splash-logo-url); /* JS??? ?????*/
            background-size: cover;
            background-position: center;
            filter: blur(15px); /* ??????????*/
            opacity: 0.45; /* ??????? ?????*/
            z-index: -1;
            border-radius: 50%;
            pointer-events: none;
        }

        /* 스플래시 상태에선 비즈니스 명함(이미지) 숨김 */
        body[class*="theme-dynamic_splash"]:not(.chat-started) .message.ai:first-child .biz-card {
            display: none;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) #app-container {
            position: relative;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) header {
            display: flex !important;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 14;
            padding: calc(14px + env(safe-area-inset-top)) 18px 10px !important;
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) .header-top {
            width: auto;
            gap: 0;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) .bot-name,
        body.theme-dynamic_splash_canvas:not(.chat-started) .ai-watermark-badge,
        body.theme-dynamic_splash_canvas:not(.chat-started) #quick-actions {
            display: none !important;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) .logo-img {
            display: block !important;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            box-shadow: 0 10px 22px rgba(47, 41, 38, 0.08);
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) #chat-window {
            padding-top: 0;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) .message.ai:first-child {
            max-width: 66%;
            font-size: 1.14rem;
            font-weight: 500;
            line-height: 1.32;
            letter-spacing: -0.02em;
            text-shadow: none;
        }

        body.theme-dynamic_splash_canvas:not(.chat-started) .message.ai:first-child::before {
            content: none !important;
        }

        body.theme-dynamic_splash_aura {
            background: #b2c0d1 !important;
            padding: 16px !important;
        }

        .theme-dynamic_splash_aura #app-container {
            position: relative;
            max-width: 480px !important;
            border-radius: 34px !important;
            box-shadow: 0 24px 60px rgba(88, 102, 128, 0.16) !important;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) header {
            display: flex !important;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 14;
            padding: calc(16px + env(safe-area-inset-top)) 18px 10px !important;
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) .header-top {
            width: auto;
            gap: 0;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) .bot-name,
        body.theme-dynamic_splash_aura:not(.chat-started) .ai-watermark-badge,
        body.theme-dynamic_splash_aura:not(.chat-started) #quick-actions {
            display: none !important;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) .logo-img {
            display: block !important;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            box-shadow: 0 12px 24px rgba(118, 127, 164, 0.14);
        }

        body.theme-dynamic_splash_aura:not(.chat-started) #chat-window {
            position: relative;
            justify-content: flex-start;
            align-items: center;
            overflow: hidden;
            padding-top: 88px;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) #chat-window::before {
            content: "";
            position: absolute;
            top: 18%;
            left: 50%;
            width: 142px;
            height: 142px;
            transform: translateX(-50%);
            border-radius: 50%;
            background:
                radial-gradient(circle at 28% 24%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.48) 18%, rgba(255, 255, 255, 0.14) 34%, transparent 54%),
                radial-gradient(circle at 72% 72%, rgba(172, 190, 255, 0.46) 0%, rgba(172, 190, 255, 0.16) 42%, transparent 68%),
                linear-gradient(150deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.10) 28%, rgba(176, 191, 255, 0.26) 56%, rgba(218, 205, 255, 0.18) 72%, rgba(255, 255, 255, 0.28) 100%);
            border: 1px solid rgba(255, 255, 255, 0.62);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.74),
                inset -18px -16px 28px rgba(174, 193, 255, 0.06),
                0 18px 36px rgba(137, 154, 190, 0.20);
            backdrop-filter: blur(16px) saturate(1.22);
            -webkit-backdrop-filter: blur(16px) saturate(1.22);
            opacity: 0.98;
            animation: auraOrbFloat 8.4s ease-in-out infinite alternate;
            z-index: 1;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) #chat-window::after {
            content: "";
            position: absolute;
            top: 21.4%;
            left: 50%;
            width: 88px;
            height: 70px;
            transform: translateX(-50%);
            border-radius: 48% 52% 58% 42% / 42% 40% 60% 58%;
            background:
                radial-gradient(circle at 26% 34%, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.24) 24%, transparent 54%),
                linear-gradient(135deg, rgba(255, 255, 255, 0.30) 0%, rgba(201, 214, 255, 0.22) 24%, rgba(129, 151, 255, 0.48) 50%, rgba(255, 214, 189, 0.32) 76%, rgba(255, 255, 255, 0.24) 100%);
            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.64),
                0 8px 18px rgba(150, 164, 219, 0.28);
            filter: blur(2.5px) saturate(1.14);
            opacity: 0.92;
            animation: auraLiquidWave 7.8s ease-in-out infinite alternate;
            z-index: 2;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) .message.ai:first-child {
            margin-top: 194px;
            max-width: 70%;
            font-size: 1.18rem;
            font-weight: 600;
            line-height: 1.28;
            letter-spacing: -0.03em;
            text-shadow: none;
            color: var(--splash-message-color, #4a4660) !important;
        }

        body.theme-dynamic_splash_aura:not(.chat-started) .message.ai:first-child::before {
            content: none !important;
        }

        #splash-orb-stage {
            display: none;
        }

        #splash-orb-stage span {
            position: absolute;
            inset: 0;
            display: block;
        }

        body.theme-dynamic_splash_prism {
            background: #d7e0eb !important;
            padding: 16px !important;
        }

        .theme-dynamic_splash_prism #app-container {
            position: relative;
            max-width: 480px !important;
            border-radius: 36px !important;
            box-shadow: 0 26px 70px rgba(96, 112, 140, 0.18) !important;
            overflow: hidden;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) header {
            display: flex !important;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 14;
            padding: calc(16px + env(safe-area-inset-top)) 18px 10px !important;
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) .header-top {
            width: auto;
            gap: 0;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) .bot-name,
        body.theme-dynamic_splash_prism:not(.chat-started) .ai-watermark-badge,
        body.theme-dynamic_splash_prism:not(.chat-started) #quick-actions {
            display: none !important;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) .logo-img {
            display: block !important;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            box-shadow: 0 12px 24px rgba(124, 139, 170, 0.16);
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #chat-window {
            position: relative;
            justify-content: flex-start;
            align-items: center;
            overflow: hidden;
            padding-top: 92px;
            isolation: isolate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage {
            display: block;
            position: absolute;
            top: 18.2%;
            left: 50%;
            width: 172px;
            height: 172px;
            transform: translateX(-50%);
            pointer-events: none;
            z-index: 1;
            filter: saturate(1.22);
            animation: prismOrbFloat 2.6s ease-in-out infinite alternate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-shell {
            border-radius: 50%;
            background:
                radial-gradient(circle at 31% 26%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.54) 12%, rgba(255, 255, 255, 0.12) 34%, transparent 58%),
                linear-gradient(145deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.18));
            border: 1px solid rgba(255, 255, 255, 0.70);
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.80),
                inset 0 -14px 30px rgba(173, 185, 213, 0.14),
                0 28px 56px rgba(101, 118, 150, 0.18);
            backdrop-filter: blur(18px) saturate(145%);
            -webkit-backdrop-filter: blur(18px) saturate(145%);
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-ribbon {
            mix-blend-mode: screen;
            opacity: 0.96;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
            inset: 16% 12% 18% 14%;
            border-radius: 58% 42% 62% 38% / 38% 58% 42% 62%;
            background: conic-gradient(from 118deg at 48% 50%, rgba(255,255,255,0.03), rgba(120,171,255,0.28), rgba(141,106,255,0.74), rgba(255,186,128,0.48), rgba(255,255,255,0.05), rgba(120,171,255,0.28));
            filter: blur(7px);
            animation: prismRibbonA 1.55s ease-in-out infinite alternate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
            inset: 22% 18% 22% 18%;
            border-radius: 38% 62% 44% 56% / 56% 34% 66% 44%;
            background: linear-gradient(140deg, rgba(255,255,255,0.06) 0%, rgba(255,214,168,0.36) 24%, rgba(120,198,255,0.58) 58%, rgba(164,137,255,0.36) 100%);
            filter: blur(9px);
            animation: prismRibbonB 1.2s ease-in-out infinite alternate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
            inset: 30% 24% 24% 22%;
            border-radius: 46% 54% 58% 42% / 40% 46% 54% 60%;
            background: radial-gradient(circle at 32% 42%, rgba(255,255,255,0.07), rgba(164,190,255,0.36) 24%, rgba(172,145,255,0.60) 52%, rgba(255,255,255,0.03) 76%);
            filter: blur(5px);
            animation: prismRibbonC 1.45s ease-in-out infinite alternate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-glow {
            inset: -16%;
            border-radius: 50%;
            background: radial-gradient(circle at 50% 50%, rgba(173, 197, 255, 0.36) 0%, rgba(173, 197, 255, 0.14) 26%, rgba(255, 192, 173, 0.14) 40%, transparent 68%);
            filter: blur(20px);
            opacity: 0.98;
            animation: prismGlowPulse 1.7s ease-in-out infinite;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) #splash-orb-stage .orb-glint {
            inset: auto;
            width: 40px;
            height: 40px;
            top: 16%;
            left: 19%;
            border-radius: 50%;
            background: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.54) 36%, rgba(255,255,255,0.02) 74%);
            filter: blur(5px);
            opacity: 0.92;
            animation: prismGlintShift 0.95s ease-in-out infinite alternate;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) .message.ai:first-child {
            margin-top: 212px;
            max-width: 72%;
            font-size: 1.16rem;
            font-weight: 500;
            line-height: 1.3;
            letter-spacing: -0.03em;
            text-shadow: none;
            color: var(--splash-message-color, #505a70) !important;
        }

        body.theme-dynamic_splash_prism:not(.chat-started) .message.ai:first-child::before,
        body.theme-dynamic_splash_prism:not(.chat-started) .message.ai:first-child::after {
            content: none !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"] {
            background: #d7e0eb !important;
            padding: 16px !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"] #app-container {
            position: relative;
            max-width: 480px !important;
            border-radius: 36px !important;
            border: 1px solid rgba(255, 255, 255, 0.28) !important;
            box-shadow: 0 28px 70px rgba(96, 112, 140, 0.20) !important;
            overflow: hidden;
        }

        body[class*="theme-dynamic_splash_prism_menu"] header {
            background: rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(22px) saturate(1.18);
            -webkit-backdrop-filter: blur(22px) saturate(1.18);
            border-bottom: 1px solid rgba(255, 255, 255, 0.24);
            box-shadow: 0 10px 24px rgba(255, 255, 255, 0.06);
        }

        body[class*="theme-dynamic_splash_prism_menu"] .ai-watermark-badge,
        body[class*="theme-dynamic_splash_prism_menu"] .action-btn {
            background: rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(18px) saturate(1.08);
            -webkit-backdrop-filter: blur(18px) saturate(1.08);
            border: 1px solid rgba(255, 255, 255, 0.24);
            color: #5c6784;
        }

        body[class*="theme-dynamic_splash_prism_menu"] .message.ai,
        body[class*="theme-dynamic_splash_prism_menu"] .message.user {
            backdrop-filter: blur(20px) saturate(1.12);
            -webkit-backdrop-filter: blur(20px) saturate(1.12);
        }

        body[class*="theme-dynamic_splash_prism_menu"] .message.ai {
            background: rgba(255, 255, 255, 0.42);
            border: 1px solid rgba(255, 255, 255, 0.28);
            color: #3b4760;
            box-shadow: 0 10px 24px rgba(102, 118, 146, 0.08);
        }

        body[class*="theme-dynamic_splash_prism_menu"] .message.user {
            background: linear-gradient(135deg, rgba(98, 118, 160, 0.42) 0%, rgba(84, 102, 146, 0.28) 56%, rgba(255, 255, 255, 0.12) 100%);
            border: 1px solid rgba(255, 255, 255, 0.24);
            color: #fbfdff;
            text-shadow: 0 1px 2px rgba(24, 34, 60, 0.34), 0 0 10px rgba(36, 58, 92, 0.10);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 14px 28px rgba(108, 122, 154, 0.14);
        }

        body[class*="theme-dynamic_splash_prism_menu"] .input-area {
            background: transparent;
            border: none;
        }

        body[class*="theme-dynamic_splash_prism_menu"] .input-row-container {
            background: rgba(255, 255, 255, 0.82);
            backdrop-filter: blur(24px) saturate(1.16);
            -webkit-backdrop-filter: blur(24px) saturate(1.16);
            border: 1px solid rgba(255, 255, 255, 0.24);
            border-radius: var(--composer-radius);
            padding: 8px 8px 8px 18px;
            box-shadow: var(--composer-shadow);
        }

        body[class*="theme-dynamic_splash_prism_menu"] .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }

        body[class*="theme-dynamic_splash_prism_menu"] #send-btn {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 100%), var(--main-color);
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) header {
            display: flex !important;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 14;
            padding: calc(16px + env(safe-area-inset-top)) 18px 10px !important;
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .header-top {
            width: 100%;
            gap: 0;
            justify-content: space-between;
            align-items: center;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .bot-name,
        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .ai-watermark-badge {
            display: none !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .logo-img {
            display: block !important;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            box-shadow: 0 12px 24px rgba(124, 139, 170, 0.16);
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .quick-actions-toggle {
            display: inline-flex !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #chat-window {
            position: relative;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            padding-top: 0;
            isolation: isolate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage {
            display: block;
            position: absolute;
            top: 18.2%;
            left: 50%;
            width: 172px;
            height: 172px;
            transform: translateX(-50%);
            pointer-events: none;
            z-index: 1;
            overflow: hidden;
            border-radius: 50%;
            filter: saturate(1.16);
            animation: prismOrbFloat 2.6s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-shell {
            border-radius: 50%;
            background:
                radial-gradient(circle at 31% 26%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.54) 12%, rgba(255, 255, 255, 0.12) 34%, transparent 58%),
                linear-gradient(145deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.18));
            border: 1px solid rgba(255, 255, 255, 0.70);
            box-shadow:
                inset 0 1px 1px rgba(255, 255, 255, 0.80),
                inset 0 -8px 16px rgba(173, 185, 213, 0.06);
            backdrop-filter: blur(18px) saturate(138%);
            -webkit-backdrop-filter: blur(18px) saturate(138%);
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-ribbon {
            mix-blend-mode: screen;
            opacity: 0.9;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
            inset: 16% 12% 18% 14%;
            border-radius: 58% 42% 62% 38% / 38% 58% 42% 62%;
            background: conic-gradient(from 118deg at 48% 50%, rgba(255,255,255,0.03), rgba(140,189,255,0.24), rgba(154,131,255,0.54), rgba(255,202,150,0.34), rgba(255,255,255,0.05), rgba(140,189,255,0.24));
            filter: blur(7px);
            animation: prismRibbonA 1.55s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
            inset: 22% 18% 22% 18%;
            border-radius: 38% 62% 44% 56% / 56% 34% 66% 44%;
            background: linear-gradient(140deg, rgba(255,255,255,0.06) 0%, rgba(255,224,190,0.24) 24%, rgba(148,206,255,0.42) 58%, rgba(178,163,255,0.28) 100%);
            filter: blur(9px);
            animation: prismRibbonB 1.2s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
            inset: 30% 24% 24% 22%;
            border-radius: 46% 54% 58% 42% / 40% 46% 54% 60%;
            background: radial-gradient(circle at 32% 42%, rgba(255,255,255,0.07), rgba(164,190,255,0.28) 24%, rgba(172,145,255,0.44) 52%, rgba(255,255,255,0.03) 76%);
            filter: blur(5px);
            animation: prismRibbonC 1.45s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-glow {
            display: none;
            inset: -10%;
            border-radius: 50%;
            background: radial-gradient(circle at 50% 34%, rgba(173, 197, 255, 0.18) 0%, rgba(173, 197, 255, 0.07) 22%, rgba(255, 210, 190, 0.05) 32%, transparent 56%);
            filter: blur(15px);
            opacity: 0.62;
            animation: prismGlowPulse 1.7s ease-in-out infinite;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) #splash-orb-stage .orb-glint {
            inset: auto;
            width: 40px;
            height: 40px;
            top: 16%;
            left: 19%;
            border-radius: 50%;
            background: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.54) 36%, rgba(255,255,255,0.02) 74%);
            filter: blur(5px);
            opacity: 0.92;
            animation: prismGlintShift 0.95s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .message.ai:first-child {
            margin-top: 220px;
            max-width: 72%;
            font-size: 1.16rem;
            font-weight: 500;
            line-height: 1.3;
            letter-spacing: -0.03em;
            text-shadow: none;
            color: var(--splash-message-color, #56627d) !important;
        }

        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .message.ai:first-child::before,
        body[class*="theme-dynamic_splash_prism_menu"]:not(.chat-started) .message.ai:first-child::after {
            content: none !important;
        }

        body.theme-dynamic_splash_prism_menu_pure:not(.chat-started) header {
            display: none !important;
        }

        body.theme-dynamic_splash_prism_menu_pure:not(.chat-started) #chat-window {
            padding-top: 54px;
        }

        body.theme-dynamic_splash_prism_menu_pure:not(.chat-started) #splash-orb-stage {
            top: 8.4%;
        }

        body.theme-dynamic_splash_prism_menu_pure:not(.chat-started) .message.ai:first-child {
            margin-top: 154px;
        }

        body.theme-dynamic_splash_softpulse,
        body.theme-dynamic_splash_softpulse_s {
            --softpulse-page-bg: #dde6f1;
            --softpulse-container-shadow: 0 24px 56px rgba(145, 160, 186, 0.16);
            --softpulse-framed-shadow: 0 28px 68px rgba(145, 160, 186, 0.22), 0 1px 0 rgba(255, 255, 255, 0.7) inset;
            --softpulse-card-border: 1px solid rgba(255, 255, 255, 0.44);
            --softpulse-logo-shadow: 8px 8px 16px rgba(192, 204, 220, 0.78), -8px -8px 16px rgba(255, 255, 255, 0.96);
            --softpulse-shell-bg: linear-gradient(145deg, #f4f8fd 0%, #d8e3f1 100%);
            --softpulse-shell-shadow: inset 8px 8px 18px rgba(196, 208, 223, 0.56), inset -8px -8px 18px rgba(255, 255, 255, 0.94), 14px 18px 34px rgba(194, 206, 222, 0.82), -12px -12px 28px rgba(255, 255, 255, 0.95);
            --softpulse-ribbon-a-bg: linear-gradient(145deg, rgba(246, 250, 255, 0.98), rgba(211, 223, 239, 0.92));
            --softpulse-ribbon-a-shadow: inset 6px 6px 12px rgba(194, 206, 222, 0.56), inset -6px -6px 12px rgba(255, 255, 255, 0.90);
            --softpulse-ribbon-b-bg: linear-gradient(160deg, rgba(255, 255, 255, 0.78), rgba(198, 212, 232, 0.86));
            --softpulse-ribbon-b-shadow: inset 4px 4px 10px rgba(191, 205, 223, 0.54), inset -4px -4px 10px rgba(255, 255, 255, 0.84);
            --softpulse-ribbon-c-bg: radial-gradient(circle at 42% 40%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.38) 34%, transparent 72%);
            --softpulse-glow-bg: radial-gradient(circle at 50% 50%, rgba(245, 249, 255, 0.56) 0%, rgba(245, 249, 255, 0.18) 28%, transparent 66%);
            --softpulse-glint-bg: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.48) 42%, rgba(255,255,255,0.02) 74%);
            --softpulse-message-shadow: 8px 8px 18px rgba(198, 210, 226, 0.82), -8px -8px 18px rgba(255, 255, 255, 0.94);
            --softpulse-chip-shadow: 7px 7px 16px rgba(197, 209, 224, 0.80), -7px -7px 16px rgba(255, 255, 255, 0.96);
            --softpulse-send-bg: linear-gradient(145deg, #9cb0ce 0%, #8da2c3 100%);
        }

        body.theme-dynamic_splash_softpulse_rose,
        body.theme-dynamic_splash_softpulse_rose_s,
        body.theme-dynamic_splash_softpulse_rose_s_menu {
            --softpulse-page-bg: #f4e5ee;
            --softpulse-container-shadow: 0 24px 56px rgba(199, 148, 177, 0.18);
            --softpulse-framed-shadow: 0 28px 68px rgba(199, 148, 177, 0.24), 0 1px 0 rgba(255, 255, 255, 0.76) inset;
            --softpulse-card-border: 1px solid rgba(255, 255, 255, 0.52);
            --softpulse-logo-shadow: 8px 8px 16px rgba(224, 188, 208, 0.76), -8px -8px 16px rgba(255, 250, 253, 0.96);
            --softpulse-shell-bg: linear-gradient(145deg, #fff6fb 0%, #f0dce8 100%);
            --softpulse-shell-shadow: inset 8px 8px 18px rgba(225, 191, 210, 0.56), inset -8px -8px 18px rgba(255, 252, 253, 0.96), 14px 18px 34px rgba(223, 186, 207, 0.82), -12px -12px 28px rgba(255, 250, 253, 0.96);
            --softpulse-ribbon-a-bg: linear-gradient(145deg, rgba(255, 248, 252, 0.99), rgba(238, 210, 227, 0.94));
            --softpulse-ribbon-a-shadow: inset 6px 6px 12px rgba(223, 186, 207, 0.56), inset -6px -6px 12px rgba(255, 250, 253, 0.92);
            --softpulse-ribbon-b-bg: linear-gradient(160deg, rgba(255, 255, 255, 0.82), rgba(226, 186, 209, 0.88));
            --softpulse-ribbon-b-shadow: inset 4px 4px 10px rgba(219, 178, 201, 0.54), inset -4px -4px 10px rgba(255, 246, 251, 0.88);
            --softpulse-ribbon-c-bg: radial-gradient(circle at 42% 40%, rgba(255, 255, 255, 0.97) 0%, rgba(255, 219, 236, 0.46) 34%, transparent 72%);
            --softpulse-glow-bg: radial-gradient(circle at 50% 50%, rgba(255, 238, 246, 0.58) 0%, rgba(255, 210, 232, 0.20) 28%, transparent 66%);
            --softpulse-glint-bg: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.94) 0%, rgba(255,223,239,0.54) 42%, rgba(255,255,255,0.02) 74%);
            --softpulse-message-shadow: 8px 8px 18px rgba(226, 188, 208, 0.82), -8px -8px 18px rgba(255, 249, 252, 0.95);
            --softpulse-chip-shadow: 7px 7px 16px rgba(221, 184, 204, 0.80), -7px -7px 16px rgba(255, 250, 253, 0.98);
            --softpulse-send-bg: linear-gradient(145deg, #d6a8c3 0%, #c791b2 100%);
        }

        body.theme-dynamic_splash_softpulse_sky,
        body.theme-dynamic_splash_softpulse_sky_s,
        body.theme-dynamic_splash_softpulse_sky_s_menu {
            --softpulse-page-bg: #dff1fb;
            --softpulse-container-shadow: 0 24px 56px rgba(129, 183, 211, 0.18);
            --softpulse-framed-shadow: 0 28px 68px rgba(129, 183, 211, 0.24), 0 1px 0 rgba(255, 255, 255, 0.76) inset;
            --softpulse-card-border: 1px solid rgba(255, 255, 255, 0.5);
            --softpulse-logo-shadow: 8px 8px 16px rgba(184, 217, 234, 0.76), -8px -8px 16px rgba(248, 253, 255, 0.98);
            --softpulse-shell-bg: linear-gradient(145deg, #f4fdff 0%, #d8eef8 100%);
            --softpulse-shell-shadow: inset 8px 8px 18px rgba(184, 217, 234, 0.56), inset -8px -8px 18px rgba(249, 253, 255, 0.96), 14px 18px 34px rgba(174, 210, 229, 0.82), -12px -12px 28px rgba(249, 253, 255, 0.98);
            --softpulse-ribbon-a-bg: linear-gradient(145deg, rgba(246, 253, 255, 0.99), rgba(207, 234, 245, 0.94));
            --softpulse-ribbon-a-shadow: inset 6px 6px 12px rgba(179, 212, 230, 0.56), inset -6px -6px 12px rgba(250, 254, 255, 0.92);
            --softpulse-ribbon-b-bg: linear-gradient(160deg, rgba(255, 255, 255, 0.82), rgba(185, 224, 241, 0.88));
            --softpulse-ribbon-b-shadow: inset 4px 4px 10px rgba(170, 207, 226, 0.54), inset -4px -4px 10px rgba(246, 252, 255, 0.88);
            --softpulse-ribbon-c-bg: radial-gradient(circle at 42% 40%, rgba(255, 255, 255, 0.97) 0%, rgba(217, 243, 253, 0.48) 34%, transparent 72%);
            --softpulse-glow-bg: radial-gradient(circle at 50% 50%, rgba(235, 249, 255, 0.58) 0%, rgba(193, 231, 246, 0.20) 28%, transparent 66%);
            --softpulse-glint-bg: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.94) 0%, rgba(219,242,250,0.56) 42%, rgba(255,255,255,0.02) 74%);
            --softpulse-message-shadow: 8px 8px 18px rgba(182, 214, 232, 0.82), -8px -8px 18px rgba(248, 253, 255, 0.96);
            --softpulse-chip-shadow: 7px 7px 16px rgba(177, 209, 227, 0.80), -7px -7px 16px rgba(249, 253, 255, 0.98);
            --softpulse-send-bg: linear-gradient(145deg, #94cae1 0%, #79b7d4 100%);
        }

        body[class*="theme-dynamic_splash_softpulse"] {
            background: var(--softpulse-page-bg, #dde6f1) !important;
            padding: 16px !important;
        }

        body.theme-dynamic_splash_softpulse_s,
        body.theme-dynamic_splash_softpulse_rose_s,
        body.theme-dynamic_splash_softpulse_sky_s,
        body.theme-dynamic_splash_softpulse_rose_s_menu,
        body.theme-dynamic_splash_softpulse_sky_s_menu {
            padding: 18px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }

        body[class*="theme-dynamic_splash_softpulse"] #app-container {
            position: relative;
            max-width: 480px !important;
            border-radius: 34px !important;
            box-shadow: var(--softpulse-container-shadow, 0 24px 56px rgba(145, 160, 186, 0.16)) !important;
            overflow: hidden;
        }

        body.theme-dynamic_splash_softpulse_s #app-container,
        body.theme-dynamic_splash_softpulse_rose_s #app-container,
        body.theme-dynamic_splash_softpulse_sky_s #app-container,
        body.theme-dynamic_splash_softpulse_rose_s_menu #app-container,
        body.theme-dynamic_splash_softpulse_sky_s_menu #app-container {
            width: min(456px, calc(100vw - 36px)) !important;
            height: min(860px, calc(100dvh - 36px)) !important;
            min-height: min(860px, calc(100dvh - 36px)) !important;
            max-width: 456px !important;
            margin: 0 auto !important;
            border-radius: 40px !important;
            border: var(--softpulse-card-border, 1px solid rgba(255, 255, 255, 0.44)) !important;
            box-shadow: var(--softpulse-framed-shadow, 0 28px 68px rgba(145, 160, 186, 0.22), 0 1px 0 rgba(255, 255, 255, 0.7) inset) !important;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) header {
            display: flex !important;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            z-index: 14;
            padding: calc(16px + env(safe-area-inset-top)) 18px 10px !important;
            background: transparent !important;
            border-bottom: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .header-top {
            width: auto;
            gap: 0;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .bot-name,
        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .ai-watermark-badge,
        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #quick-actions {
            display: none !important;
        }

        body[class*="theme-dynamic_splash_softpulse"][class*="_menu"]:not(.chat-started) .header-top {
            width: 100%;
            justify-content: space-between;
            align-items: center;
        }

        body[class*="theme-dynamic_splash_softpulse"][class*="_menu"]:not(.chat-started) .quick-actions-toggle {
            display: inline-flex !important;
            color: var(--text-color);
            background: rgba(255, 255, 255, 0.42);
            border: 1px solid rgba(255, 255, 255, 0.50);
            box-shadow: 0 12px 26px rgba(161, 176, 198, 0.16);
            backdrop-filter: blur(22px) saturate(1.12);
            -webkit-backdrop-filter: blur(22px) saturate(1.12);
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] .quick-actions-toggle {
            display: inline-flex;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] .ai-watermark-badge {
            display: none;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] #quick-actions {
            display: flex !important;
            max-height: 58px;
            opacity: 1;
            transform: translateY(0);
            overflow-x: auto;
            overflow-y: visible;
            transition: max-height 0.32s ease, opacity 0.24s ease, transform 0.32s ease, margin-top 0.32s ease, padding-top 0.32s ease, padding-bottom 0.32s ease;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"]:not(.quick-actions-open) #quick-actions {
            max-height: none;
            opacity: 0;
            transform: translate3d(10px, -16px, 0) scale(0.88);
            clip-path: inset(0 0 100% 0 round 22px);
            filter: blur(8px);
            pointer-events: none;
            margin-top: 0;
            padding: 12px;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"]:not(.quick-actions-open) header {
            padding-bottom: 14px;
        }

        body.quick-actions-open[class*="theme-dynamic_splash_softpulse"][class*="_menu"] .quick-actions-toggle {
            background: rgba(255, 255, 255, 0.58);
            box-shadow: 0 8px 18px rgba(31, 41, 55, 0.12);
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] header {
            position: relative;
            overflow: visible;
            z-index: 24;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] .header-top {
            position: relative;
            z-index: 2;
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] #quick-actions {
            position: absolute;
            top: calc(100% + 10px);
            right: 18px;
            left: auto;
            width: min(228px, calc(100vw - 56px));
            max-height: none;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 8px;
            margin-top: 0;
            padding: 12px;
            overflow: visible;
            border-radius: 22px;
            background: rgba(255, 255, 255, 0.72);
            border: 1px solid rgba(255, 255, 255, 0.48);
            box-shadow: 0 22px 36px rgba(150, 166, 190, 0.18);
            backdrop-filter: blur(30px) saturate(1.18);
            -webkit-backdrop-filter: blur(30px) saturate(1.18);
            transform-origin: top right;
            z-index: 26;
            will-change: opacity, transform, clip-path, filter;
            transition:
                opacity 0.34s cubic-bezier(0.22, 0.8, 0.24, 1),
                transform 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                clip-path 0.68s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.68s cubic-bezier(0.16, 1, 0.3, 1);
        }

        body.quick-actions-collapsible[class*="theme-dynamic_splash_softpulse"][class*="_menu"] #quick-actions .action-btn {
            box-sizing: border-box;
            width: 100%;
            max-width: 100%;
            justify-content: flex-start;
            padding: 11px 14px;
            background: rgba(255, 255, 255, 0.78);
            border: 1px solid rgba(255, 255, 255, 0.54);
            box-shadow: 0 10px 18px rgba(173, 186, 205, 0.12);
            color: var(--text-color);
        }

        body.quick-actions-open[class*="theme-dynamic_splash_softpulse"][class*="_menu"] #quick-actions {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
            clip-path: inset(0 0 0 0 round 22px);
            filter: blur(0);
            pointer-events: auto;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .logo-img {
            display: block !important;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            box-shadow: var(--softpulse-logo-shadow, 8px 8px 16px rgba(192, 204, 220, 0.78), -8px -8px 16px rgba(255, 255, 255, 0.96));
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) {
            --softpulse-orb-size: clamp(128px, 36vw, 156px);
            --softpulse-orb-top: clamp(72px, 14svh, 116px);
            --softpulse-copy-gap: clamp(26px, 6svh, 44px);
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #chat-window {
            position: relative;
            justify-content: flex-start;
            align-items: center;
            overflow: hidden;
            padding-top: calc(var(--softpulse-orb-top) + var(--softpulse-orb-size) + var(--softpulse-copy-gap));
            isolation: isolate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage {
            display: block;
            position: absolute;
            top: var(--softpulse-orb-top);
            left: 50%;
            width: var(--softpulse-orb-size);
            height: var(--softpulse-orb-size);
            transform: translateX(-50%);
            pointer-events: none;
            z-index: 1;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-shell {
            border-radius: 42% 58% 50% 50% / 52% 46% 54% 48%;
            background: var(--softpulse-shell-bg, linear-gradient(145deg, #f4f8fd 0%, #d8e3f1 100%));
            box-shadow: var(--softpulse-shell-shadow, inset 8px 8px 18px rgba(196, 208, 223, 0.56), inset -8px -8px 18px rgba(255, 255, 255, 0.94), 14px 18px 34px rgba(194, 206, 222, 0.82), -12px -12px 28px rgba(255, 255, 255, 0.95));
            animation: softPulseFloat 3.2s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
            inset: 16% 18% 20% 18%;
            border-radius: 50%;
            background: var(--softpulse-ribbon-a-bg, linear-gradient(145deg, rgba(246, 250, 255, 0.98), rgba(211, 223, 239, 0.92)));
            box-shadow: var(--softpulse-ribbon-a-shadow, inset 6px 6px 12px rgba(194, 206, 222, 0.56), inset -6px -6px 12px rgba(255, 255, 255, 0.90));
            animation: softPulseInnerA 2.05s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
            inset: 28% 24% 24% 24%;
            border-radius: 54% 46% 58% 42% / 44% 54% 46% 56%;
            background: var(--softpulse-ribbon-b-bg, linear-gradient(160deg, rgba(255, 255, 255, 0.78), rgba(198, 212, 232, 0.86)));
            box-shadow: var(--softpulse-ribbon-b-shadow, inset 4px 4px 10px rgba(191, 205, 223, 0.54), inset -4px -4px 10px rgba(255, 255, 255, 0.84));
            animation: softPulseInnerB 1.65s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
            inset: 12% 10% 34% 34%;
            border-radius: 50%;
            background: var(--softpulse-ribbon-c-bg, radial-gradient(circle at 42% 40%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.38) 34%, transparent 72%));
            filter: blur(2px);
            opacity: 0.92;
            animation: softPulseHighlight 1.5s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-glow {
            inset: -8%;
            border-radius: 50%;
            background: var(--softpulse-glow-bg, radial-gradient(circle at 50% 50%, rgba(245, 249, 255, 0.56) 0%, rgba(245, 249, 255, 0.18) 28%, transparent 66%));
            filter: blur(14px);
            animation: softPulseGlow 2.2s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) #splash-orb-stage .orb-glint {
            inset: auto;
            width: 34px;
            height: 34px;
            top: 18%;
            left: 22%;
            border-radius: 50%;
            background: var(--softpulse-glint-bg, radial-gradient(circle at 40% 40%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.48) 42%, rgba(255,255,255,0.02) 74%));
            filter: blur(4px);
            opacity: 0.9;
            animation: softPulseGlint 1.25s ease-in-out infinite alternate;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .message.ai:first-child {
            margin-top: 8px;
            max-width: 70%;
            font-size: 1.16rem;
            font-weight: 500;
            line-height: 1.3;
            letter-spacing: -0.03em;
            text-shadow: none;
            color: var(--splash-message-color, #607490) !important;
        }

        body.theme-dynamic_splash_softpulse_rose_s_menu:not(.chat-started) .message.ai:first-child,
        body.theme-dynamic_splash_softpulse_sky_s_menu:not(.chat-started) .message.ai:first-child {
            margin-top: -4px;
        }

        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .message.ai:first-child::before,
        body[class*="theme-dynamic_splash_softpulse"]:not(.chat-started) .message.ai:first-child::after {
            content: none !important;
        }

        body[class*="theme-dynamic_splash_softpulse"] .message.ai,
        body[class*="theme-dynamic_splash_softpulse"] .message.user,
        body[class*="theme-dynamic_splash_softpulse"] .action-btn,
        body[class*="theme-dynamic_splash_softpulse"] .ai-watermark-badge,
        body[class*="theme-dynamic_splash_softpulse"] #send-btn {
            border: none !important;
        }

        body[class*="theme-dynamic_splash_softpulse"] .message.ai,
        body[class*="theme-dynamic_splash_softpulse"] .message.user {
            box-shadow: var(--softpulse-message-shadow, 8px 8px 18px rgba(198, 210, 226, 0.82), -8px -8px 18px rgba(255, 255, 255, 0.94)) !important;
        }

        body[class*="theme-dynamic_splash_softpulse"] .action-btn,
        body[class*="theme-dynamic_splash_softpulse"] .ai-watermark-badge {
            box-shadow: var(--softpulse-chip-shadow, 7px 7px 16px rgba(197, 209, 224, 0.80), -7px -7px 16px rgba(255, 255, 255, 0.96)) !important;
        }

        body[class*="theme-dynamic_splash_softpulse"] #send-btn {
            background: var(--softpulse-send-bg, linear-gradient(145deg, #9cb0ce 0%, #8da2c3 100%)) !important;
        }

        body[class*="theme-dynamic_splash_softpulse"].chat-started header {
            padding-bottom: 0 !important;
            margin-bottom: -6px;
            overflow: visible;
        }

        body[class*="theme-dynamic_splash_softpulse"].chat-started .quick-actions {
            margin-top: 8px;
            margin-bottom: 0;
            padding-bottom: 12px;
            overflow: visible;
            position: relative;
            z-index: 2;
        }

        body[class*="theme-dynamic_splash_softpulse"].chat-started #chat-window {
            margin-top: -8px;
            padding-top: 20px;
        }

        body[class*="theme-dynamic_splash_softpulse"].chat-started .action-btn {
            position: relative;
            z-index: 2;
        }

        /* Keep animated splash themes edge-to-edge with no outer frame. */
        body.theme-dynamic_splash_aura,
        body.theme-dynamic_splash_prism,
        body.theme-dynamic_splash_softpulse,
        body.theme-dynamic_splash_softpulse_rose,
        body.theme-dynamic_splash_softpulse_sky,
        body[class*="theme-dynamic_splash_prism_menu"] {
            padding: 0 !important;
        }

        .theme-dynamic_splash_aura #app-container,
        .theme-dynamic_splash_prism #app-container,
        .theme-dynamic_splash_softpulse #app-container,
        .theme-dynamic_splash_softpulse_rose #app-container,
        .theme-dynamic_splash_softpulse_sky #app-container,
        body[class*="theme-dynamic_splash_prism_menu"] #app-container {
            width: 100vw !important;
            height: 100dvh !important;
            min-height: 100dvh !important;
            max-width: none !important;
            margin: 0 !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            border: none !important;
        }

        @keyframes auraOrbFloat {
            from { transform: translateX(-50%) translateY(0px) scale(1); }
            to { transform: translateX(-50%) translateY(8px) scale(1.04); }
        }

        @keyframes auraLiquidWave {
            0% {
                transform: translateX(-50%) translateY(0px) rotate(-8deg) scale(1);
                border-radius: 48% 52% 58% 42% / 42% 40% 60% 58%;
                opacity: 0.82;
            }
            50% {
                transform: translateX(-50%) translateY(4px) rotate(5deg) scale(1.07);
                border-radius: 56% 44% 52% 48% / 50% 46% 54% 50%;
                opacity: 0.92;
            }
            100% {
                transform: translateX(-50%) translateY(-2px) rotate(11deg) scale(0.98);
                border-radius: 42% 58% 46% 54% / 52% 58% 42% 48%;
                opacity: 0.86;
            }
        }

        /* --- 🎬 대화 시작 후 (chat-started 클래스 붙은 뒤) 정상 복구 애니메이션 --- */
        @keyframes prismOrbFloat {
            from { transform: translateX(-50%) translateY(0px) rotate(-2deg) scale(1); }
            to { transform: translateX(-50%) translateY(10px) rotate(2deg) scale(1.03); }
        }

        @keyframes prismRibbonA {
            0% {
                transform: rotate(-10deg) scale(1) translate(-2px, 0);
                border-radius: 58% 42% 62% 38% / 38% 58% 42% 62%;
                filter: blur(8px) saturate(1.08);
            }
            100% {
                transform: rotate(16deg) scale(1.08) translate(6px, 4px);
                border-radius: 44% 56% 38% 62% / 58% 38% 62% 42%;
                filter: blur(10px) saturate(1.18);
            }
        }

        @keyframes prismRibbonB {
            0% {
                transform: rotate(18deg) scale(1.02) translate(2px, -3px);
                border-radius: 38% 62% 44% 56% / 56% 34% 66% 44%;
            }
            100% {
                transform: rotate(-22deg) scale(0.96) translate(-4px, 5px);
                border-radius: 62% 38% 58% 42% / 42% 63% 37% 58%;
            }
        }

        @keyframes prismRibbonC {
            0% { transform: rotate(-22deg) scale(0.96); opacity: 0.72; }
            100% { transform: rotate(28deg) scale(1.08); opacity: 0.95; }
        }

        @keyframes prismGlowPulse {
            0%, 100% { transform: scale(0.94); opacity: 0.72; }
            50% { transform: scale(1.02); opacity: 0.96; }
        }

        @keyframes prismGlintShift {
            from { transform: translate(0, 0) scale(1); opacity: 0.76; }
            to { transform: translate(6px, 5px) scale(1.14); opacity: 0.98; }
        }

        @keyframes softPulseFloat {
            from { transform: translate3d(0, 0, 0) rotate(-5deg) scale(1); }
            to { transform: translate3d(0, 8px, 0) rotate(5deg) scale(1.03); }
        }

        @keyframes softPulseInnerA {
            from { transform: translate3d(-2px, -2px, 0) scale(0.98); }
            to { transform: translate3d(5px, 4px, 0) scale(1.04); }
        }

        @keyframes softPulseInnerB {
            from { transform: translate3d(0, 0, 0) rotate(-8deg); }
            to { transform: translate3d(-4px, 5px, 0) rotate(8deg); }
        }

        @keyframes softPulseHighlight {
            from { transform: translate3d(0, 0, 0) scale(0.96); opacity: 0.82; }
            to { transform: translate3d(6px, 4px, 0) scale(1.08); opacity: 1; }
        }

        @keyframes softPulseGlow {
            from { transform: scale(0.96); opacity: 0.72; }
            to { transform: scale(1.05); opacity: 0.94; }
        }

        @keyframes softPulseGlint {
            from { transform: translate3d(0, 0, 0) scale(1); opacity: 0.76; }
            to { transform: translate3d(7px, 4px, 0) scale(1.16); opacity: 0.98; }
        }

        body[class*="theme-dynamic_splash"].chat-started header,
        body[class*="theme-funky_"].chat-started header {
            animation: slideDownHeader 0.5s ease forwards;
        }
        @keyframes slideDownHeader { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
        
        /* 5. 정상 상태 말풍선 & 입력창 디자인 (고급스러운 다크 모드) */
        body[class*="theme-dynamic_splash"] .message.ai,
        body[class*="theme-funky_"] .message.ai { background-color: var(--bubble-ai-bg); color: var(--text-color); border: var(--bubble-border); }
        body[class*="theme-dynamic_splash"] .message.user,
        body[class*="theme-funky_"] .message.user { color: var(--bubble-user-text); }
        body[class*="theme-dynamic_splash"] .message.user { background-color: var(--bubble-user-bg); }
        body[class*="theme-funky_"] .message.user { background: var(--bubble-user-bg); }
        body[class*="theme-dynamic_splash"] .bot-name,
        body[class*="theme-funky_"] .bot-name { color: var(--text-color); }
        body[class*="theme-dynamic_splash"] header,
        body[class*="theme-funky_"] header { 
            background-color: transparent !important; 
            border-bottom: none !important;
        }
        body[class*="theme-dynamic_splash"] .input-area,
        body[class*="theme-funky_"] .input-area { background: transparent; border: none; }
        body[class*="theme-dynamic_splash"] .input-row-container,
        body[class*="theme-funky_"] .input-row-container {
            background: var(--composer-bg, var(--bubble-ai-bg));
            border: var(--bubble-border);
            border-radius: var(--composer-radius, 25px);
            padding: var(--composer-padding, 6px 6px 6px 20px);
            box-shadow: var(--composer-shadow, 0 16px 36px rgba(15, 23, 42, 0.18));
        }
        body[class*="theme-dynamic_splash"] #user-input,
        body[class*="theme-funky_"] #user-input { color: var(--text-color); }
        body[class*="theme-dynamic_splash"] #user-input::placeholder,
        body[class*="theme-funky_"] #user-input::placeholder { color: var(--composer-placeholder, rgba(248, 250, 252, 0.72)); }
        body[class*="theme-dynamic_splash"] .input-wrapper,
        body[class*="theme-funky_"] .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; overflow: visible; }
        body[class*="theme-dynamic_splash"] .ai-icon-animation,
        body[class*="theme-funky_"] .ai-icon-animation { margin-left: 2px; margin-right: 11px; }

        /* 무한 확장 버튼 스위치 연동 (엣지 화살표 사용) */
        body[class*="theme-dynamic_splash"] .send-type.type-arrow,
        body[class*="theme-funky_"] .send-type.type-arrow { display: flex; align-items: center; justify-content: center; }
        body[class*="theme-dynamic_splash"] #send-btn,
        body[class*="theme-funky_"] #send-btn {
            width: 44px;
            padding: 0;
            border-radius: var(--send-shape-radius, 50%);
            background-color: var(--main-color);
            color: var(--send-icon-color, #ffffff);
            display: flex;
            justify-content: center;
            align-items: center;
            box-shadow: var(--send-shadow, 0 12px 28px rgba(0, 0, 0, 0.22));
        }
        body[class*="theme-dynamic_splash"][data-send-icon] .send-type,
        body[class*="theme-funky_"][data-send-icon] .send-type { display: none; }
        body[class*="theme-dynamic_splash"][data-send-icon="arrow"] .send-type.type-arrow,
        body[class*="theme-dynamic_splash"][data-send-icon="plane"] .send-type.type-plane,
        body[class*="theme-dynamic_splash"][data-send-icon="magic"] .send-type.type-magic,
        body[class*="theme-funky_"][data-send-icon="arrow"] .send-type.type-arrow,
        body[class*="theme-funky_"][data-send-icon="plane"] .send-type.type-plane,
        body[class*="theme-funky_"][data-send-icon="magic"] .send-type.type-magic {
            display: flex;
            align-items: center;
            justify-content: center;
        }
     body[class*="theme-dynamic_splash"] .action-btn,
     body[class*="theme-funky_"] .action-btn {
            background: var(--action-chip-bg, rgba(255, 255, 255, 0.08));
            border: 1px solid var(--action-chip-border, rgba(255, 255, 255, 0.14));
            color: var(--action-chip-text, #ffffff);
        }
        .theme-executive_slate { background-color: #0f172a; }
        .theme-executive_slate #app-container { background: linear-gradient(180deg, #0b1220 0%, #111827 100%); border: none; }
        .theme-executive_slate header {
            background: rgba(9, 14, 24, 0.76);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            border-bottom: 1px solid rgba(148, 163, 184, 0.12);
        }
        .theme-executive_slate .bot-name { color: #f8fafc; }
        .theme-executive_slate .ai-watermark-badge {
            background: rgba(255, 255, 255, 0.06);
            border-color: rgba(148, 163, 184, 0.12);
            color: #cbd5e1;
        }
        .theme-executive_slate .action-btn {
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(148, 163, 184, 0.14);
            color: #dbeafe;
        }
        .theme-executive_slate .message.ai { color: #e2e8f0; }

        .theme-midnight_ink {
            background-color: #050505;
        }
        .theme-midnight_ink #app-container {
            background: var(--app-bg-gradient);
            border: 1px solid rgba(177, 151, 123, 0.18);
            box-shadow: 0 22px 48px rgba(0, 0, 0, 0.38);
        }
        .theme-midnight_ink header {
            background: rgba(8, 8, 8, 0.78);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(177, 151, 123, 0.12);
        }
        .theme-midnight_ink .bot-name {
            color: #f4e6d0;
            letter-spacing: 0.02em;
        }
        .theme-midnight_ink .ai-watermark-badge {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(185, 28, 28, 0.22);
            color: #d7c0a1;
        }
        .theme-midnight_ink .action-btn {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(185, 28, 28, 0.24);
            color: #f1dcc3;
        }
        .theme-midnight_ink .message.ai {
            color: #2d2219;
        }
        .theme-midnight_ink .message.user {
            color: #fff7f2;
        }
        .theme-midnight_ink #user-input {
            color: #f3e7d6;
        }
        .theme-midnight_ink #user-input::placeholder {
            color: rgba(241, 220, 195, 0.46);
        }
        .theme-executive_slate .input-area { background: transparent; border: none; }
        .theme-executive_slate .input-row-container {
            background: rgba(15, 23, 42, 0.78);
            border: 1px solid rgba(148, 163, 184, 0.16);
            border-radius: 20px;
            padding: 6px 6px 6px 18px;
            box-shadow: 0 18px 30px rgba(2, 8, 23, 0.22);
        }
        .theme-executive_slate .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; }
        .theme-executive_slate #user-input { color: #f8fafc; }
        .theme-executive_slate #user-input::placeholder { color: rgba(226, 232, 240, 0.72); }
        .theme-executive_slate #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 14px;
            background-color: #4f8cff;
        }

        .theme-cobalt_enterprise { background: linear-gradient(180deg, #f5f9ff 0%, #edf4ff 100%); }
        .theme-cobalt_enterprise #app-container { background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%); }
        .theme-cobalt_enterprise header {
            background: rgba(255, 255, 255, 0.82);
            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
            border-bottom: 1px solid #dbe7ff;
        }
        .theme-cobalt_enterprise .action-btn {
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(37, 99, 235, 0.12);
            color: #1d4ed8;
        }
        .theme-cobalt_enterprise .input-area { background: transparent; border: none; }
        .theme-cobalt_enterprise .input-row-container {
            background: rgba(255, 255, 255, 0.94);
            border: 1px solid rgba(37, 99, 235, 0.14);
            border-radius: 20px;
            padding: 6px 6px 6px 18px;
            box-shadow: 0 18px 30px rgba(37, 99, 235, 0.08);
        }
        .theme-cobalt_enterprise .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; }
        .theme-cobalt_enterprise #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 14px;
            background-color: #2563eb;
        }

        .theme-ivory_brief { background: #f8f6f1; }
        .theme-ivory_brief #app-container { background: linear-gradient(180deg, #f8f6f1 0%, #efe9dd 100%); }
        .theme-ivory_brief header {
            background: rgba(248, 246, 241, 0.92);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(47, 79, 117, 0.12);
        }
        .theme-ivory_brief .action-btn {
            background: rgba(255, 255, 255, 0.84);
            border: 1px solid rgba(47, 79, 117, 0.12);
            color: #375271;
        }
        .theme-ivory_brief .message.ai { color: #243041; }
        .theme-ivory_brief .input-area { background: transparent; border: none; }
        .theme-ivory_brief .input-row-container {
            background: rgba(255, 253, 248, 0.94);
            border: 1px solid rgba(47, 79, 117, 0.16);
            border-radius: 16px;
            padding: 6px 6px 6px 18px;
            box-shadow: 0 16px 30px rgba(100, 116, 139, 0.12);
        }
        .theme-ivory_brief .input-wrapper { background: transparent; border: none; box-shadow: none; padding: 1px 0 1px 2px; }
        .theme-ivory_brief #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 12px;
            background-color: #2f4f75;
        }
        .theme-clay_bloom {
            background: #f7edf1;
        }
        .theme-clay_bloom #app-container {
            background: linear-gradient(180deg, #fff4ef 0%, #fde8ef 54%, #f8e8ff 100%);
            border: none;
            border-radius: 34px;
            box-shadow: 20px 20px 42px rgba(242, 188, 197, 0.44), -14px -14px 30px rgba(255, 255, 255, 0.92);
        }
        .theme-clay_bloom header {
            background: transparent;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border-bottom: none;
            box-shadow: none;
            padding-bottom: 0;
            margin-bottom: 0;
            overflow: visible;
        }
        .theme-clay_bloom .bot-name,
        .theme-clay_bloom .message.ai {
            color: #5c4250;
        }
        .theme-clay_bloom .logo-img,
        .theme-clay_bloom .ai-watermark-badge,
        .theme-clay_bloom .action-btn,
        .theme-clay_bloom .message.ai,
        .theme-clay_bloom .message.user,
        .theme-clay_bloom .input-row-container,
        .theme-clay_bloom #send-btn {
            border: none;
            box-shadow: 10px 10px 22px rgba(241, 184, 193, 0.48), -8px -8px 20px rgba(255, 255, 255, 0.88);
        }
        .theme-clay_bloom .ai-watermark-badge,
        .theme-clay_bloom .action-btn {
            background: rgba(255, 239, 236, 0.7);
            color: #8d5f6b;
            border: 1px solid rgba(255, 255, 255, 0.68);
            box-shadow: 0 2px 6px rgba(211, 149, 168, 0.06);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
        }
        .theme-clay_bloom .quick-actions {
            margin-top: 8px;
            margin-bottom: 0;
            padding: 0 0 8px;
            gap: 10px;
            overflow-x: auto;
            overflow-y: visible;
            position: relative;
            z-index: 1;
        }
        .theme-clay_bloom #chat-window {
            background: transparent;
            margin-top: 0;
            padding-top: 16px;
            position: relative;
            z-index: 0;
        }
        .theme-clay_bloom .message.ai {
            background: #ffe7df;
        }
        .theme-clay_bloom .message.user {
            background: linear-gradient(135deg, #ff8798 0%, #ff9fb1 100%);
            color: #fffafc;
        }
        .theme-clay_bloom .input-area {
            background: transparent;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border: none;
            box-shadow: none;
        }
        .theme-clay_bloom .action-btn {
            position: relative;
            z-index: 1;
        }
        .theme-clay_bloom .input-row-container {
            background: #ffe9e5;
            padding: 8px 8px 8px 18px;
        }
        .theme-clay_bloom .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }
        .theme-clay_bloom #user-input {
            color: #5c4250;
        }
        .theme-clay_bloom #user-input::placeholder {
            color: rgba(122, 82, 96, 0.54);
        }
        .theme-clay_bloom #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 20px;
            background: linear-gradient(135deg, #ff95a4 0%, #ff7d8c 100%);
        }
        .theme-flat_signal {
            background: #ffe96b;
        }
        .theme-flat_signal #app-container {
            background: linear-gradient(180deg, #fff8d6 0%, #ffe169 100%);
            border: 3px solid #111827;
            border-radius: 10px;
            box-shadow: none;
        }
        .theme-flat_signal header {
            background: transparent;
            border-bottom: 2px solid #111827;
            box-shadow: none;
        }
        .theme-flat_signal .bot-name,
        .theme-flat_signal .message.ai {
            color: #111827;
        }
        .theme-flat_signal .ai-watermark-badge,
        .theme-flat_signal .action-btn {
            background: #fff3b8;
            border: 2px solid #111827;
            color: #111827;
            box-shadow: none;
            border-radius: 999px;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .theme-flat_signal .quick-actions {
            margin-top: 10px;
            padding: 2px 0 10px;
            gap: 8px;
        }
        .theme-flat_signal .message.ai,
        .theme-flat_signal .message.user {
            box-shadow: none;
            border: 2px solid #111827;
        }
        .theme-flat_signal .message.ai {
            background: #fff6cf;
        }
        .theme-flat_signal .message.user {
            background: #111827;
            color: #f9fafb;
        }
        .theme-flat_signal .input-area {
            background: transparent;
            border: none;
        }
        .theme-flat_signal .input-row-container {
            background: #fff7d2;
            border: 2px solid #111827;
            border-radius: 10px;
            box-shadow: none;
            padding: 7px 7px 7px 16px;
        }
        .theme-flat_signal .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }
        .theme-flat_signal #user-input {
            color: #111827;
        }
        .theme-flat_signal #user-input::placeholder {
            color: rgba(31, 41, 55, 0.56);
        }
        .theme-flat_signal #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 10px;
            background: #111827;
            box-shadow: none;
        }
        .theme-skeuo_atelier {
            background: #ceb18d;
        }
        .theme-skeuo_atelier #app-container {
            background: linear-gradient(180deg, #dfc6a2 0%, #c9aa83 100%);
            border: 1px solid rgba(95, 60, 37, 0.22);
            border-radius: 24px;
            box-shadow: 0 24px 42px rgba(88, 61, 41, 0.22), inset 0 1px 0 rgba(255, 247, 235, 0.58);
        }
        .theme-skeuo_atelier header {
            background: linear-gradient(180deg, rgba(109, 74, 49, 0.18) 0%, rgba(255, 243, 226, 0.08) 100%);
            border-bottom: 1px solid rgba(95, 60, 37, 0.14);
            box-shadow: inset 0 1px 0 rgba(255, 247, 235, 0.52);
        }
        .theme-skeuo_atelier .bot-name,
        .theme-skeuo_atelier .message.ai {
            color: #4b311f;
        }
        .theme-skeuo_atelier .logo-img {
            box-shadow: 0 10px 18px rgba(99, 69, 47, 0.18);
        }
        .theme-skeuo_atelier .ai-watermark-badge,
        .theme-skeuo_atelier .action-btn {
            background: linear-gradient(180deg, #f0dfc8 0%, #e3cfb5 100%);
            border: 1px solid rgba(126, 93, 63, 0.18);
            color: #674931;
            box-shadow: inset 0 1px 0 rgba(255, 246, 232, 0.76), 0 6px 14px rgba(120, 87, 57, 0.10);
        }
        .theme-skeuo_atelier .quick-actions {
            margin-top: 10px;
            padding: 2px 0 10px;
            gap: 10px;
        }
        .theme-skeuo_atelier .message.ai {
            background: linear-gradient(180deg, #f7eddc 0%, #efe0c9 100%);
            box-shadow: inset 0 1px 0 rgba(255, 246, 232, 0.76), 0 10px 18px rgba(120, 87, 57, 0.12);
        }
        .theme-skeuo_atelier .message.user {
            background: linear-gradient(180deg, #794b2f 0%, #6b4128 100%);
            color: #fff8ef;
            box-shadow: inset 0 1px 0 rgba(255, 244, 229, 0.10), 0 12px 20px rgba(90, 61, 41, 0.18);
        }
        .theme-skeuo_atelier .input-area {
            background: transparent;
            border: none;
        }
        .theme-skeuo_atelier .input-row-container {
            background: linear-gradient(180deg, #f4e6d3 0%, #ecdac2 100%);
            border: 1px solid rgba(126, 93, 63, 0.18);
            border-radius: 18px;
            padding: 7px 7px 7px 17px;
            box-shadow: inset 0 1px 0 rgba(255, 246, 232, 0.76), 0 10px 20px rgba(120, 87, 57, 0.12);
        }
        .theme-skeuo_atelier .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }
        .theme-skeuo_atelier #user-input {
            color: #4b311f;
        }
        .theme-skeuo_atelier #user-input::placeholder {
            color: rgba(89, 62, 43, 0.54);
        }
        .theme-skeuo_atelier #send-btn {
            width: 44px;
            padding: 0;
            border-radius: 14px;
            background: linear-gradient(180deg, #7a4b2f 0%, #5e3a24 100%);
            box-shadow: 0 10px 18px rgba(90,61,41,0.22);
        }
        body[class*="theme-glass_"] {
            background: var(--theme-outer-bg);
        }
        body[class*="theme-glass_"] #app-container {
            background: var(--app-bg-gradient);
            border: 1px solid rgba(255, 255, 255, 0.26);
            box-shadow: 0 28px 58px rgba(86, 108, 140, 0.16);
            overflow: hidden;
        }
        body[class*="theme-glass_"] header {
            background: rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(22px) saturate(1.18);
            -webkit-backdrop-filter: blur(22px) saturate(1.18);
            border-bottom: 1px solid rgba(255, 255, 255, 0.22);
            box-shadow: 0 10px 24px rgba(255, 255, 255, 0.06);
        }
        body[class*="theme-glass_"] .bot-name,
        body[class*="theme-glass_"] .message.ai {
            color: var(--text-color);
        }
        body[class*="theme-glass_"] .ai-watermark-badge,
        body[class*="theme-glass_"] .action-btn {
            background: rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(18px) saturate(1.08);
            -webkit-backdrop-filter: blur(18px) saturate(1.08);
            border: 1px solid rgba(255, 255, 255, 0.24);
            color: var(--action-chip-text);
        }
        body[class*="theme-glass_"] .message.ai,
        body[class*="theme-glass_"] .message.user {
            backdrop-filter: blur(20px) saturate(1.12);
            -webkit-backdrop-filter: blur(20px) saturate(1.12);
        }
        body[class*="theme-glass_"] .input-area {
            background: transparent;
            border: none;
        }
        body[class*="theme-glass_"] .input-row-container {
            background: var(--composer-bg);
            backdrop-filter: blur(24px) saturate(1.16);
            -webkit-backdrop-filter: blur(24px) saturate(1.16);
            border: 1px solid rgba(255, 255, 255, 0.24);
            border-radius: var(--composer-radius);
            padding: 8px 8px 8px 18px;
            box-shadow: var(--composer-shadow);
        }
        body[class*="theme-glass_"] .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }
        body[class*="theme-glass_"] #send-btn {
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 100%), var(--main-color);
        }
        .theme-glass_polar_mist .logo-img {
            border-radius: 50%;
            box-shadow: 0 12px 24px rgba(111, 144, 199, 0.18);
        }
        .theme-glass_polar_mist header {
            padding: 18px 16px 8px;
        }
        .theme-glass_polar_mist .quick-actions {
            margin-top: 8px;
            padding-bottom: 2px;
        }
        .theme-glass_polar_mist #chat-window {
            padding-top: 14px;
        }
        .theme-glass_polar_mist .message.ai { color: #2e4660; }
        .theme-glass_polar_mist .message.user {
            background: linear-gradient(135deg, rgba(84, 120, 186, 0.96) 0%, rgba(111, 144, 199, 0.95) 58%, rgba(144, 172, 224, 0.94) 100%);
            border: 1px solid rgba(255, 255, 255, 0.18);
            color: #f8fbff;
            text-shadow: 0 1px 2px rgba(27, 49, 82, 0.26);
            box-shadow: 0 12px 24px rgba(92, 123, 176, 0.18);
        }
        .theme-glass_sunset_lens #app-container {
            border-radius: 34px;
            box-shadow: 0 28px 60px rgba(218, 146, 130, 0.22);
        }
        .theme-glass_sunset_lens header {
            background: transparent;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border-bottom: none;
            box-shadow: none;
            position: relative;
            z-index: 10;
            padding: 18px 16px 0;
            overflow: visible;
        }
        .theme-glass_sunset_lens header::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -16px;
            height: 28px;
            pointer-events: none;
            background: linear-gradient(180deg, rgba(255, 238, 228, 0.72) 0%, rgba(255, 238, 228, 0.36) 42%, rgba(255, 238, 228, 0) 100%);
        }
        .theme-glass_sunset_lens .ai-watermark-badge,
        .theme-glass_sunset_lens .action-btn {
            background: rgba(255, 255, 255, 0.14);
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            border-color: rgba(255, 255, 255, 0.24);
            box-shadow: none;
            color: #6e4d59;
        }
        .theme-glass_sunset_lens .quick-actions {
            margin-top: 6px;
            margin-bottom: -10px;
            padding-bottom: 8px;
            overflow: visible;
            position: relative;
            z-index: 2;
        }
        .theme-glass_sunset_lens #chat-window {
            margin-top: -10px;
            padding-top: 22px;
        }
        .theme-glass_sunset_lens #chat-window .message.ai:first-child {
            margin-top: -8px;
        }
        .theme-glass_sunset_lens .message.ai { color: #5d404a; }
        .theme-glass_sunset_lens .message.user {
            background: linear-gradient(135deg, rgba(228, 112, 118, 0.95) 0%, rgba(242, 131, 118, 0.95) 52%, rgba(255, 180, 125, 0.94) 100%);
            border: 1px solid rgba(255, 255, 255, 0.16);
            color: #fff8f5;
            text-shadow: 0 1px 2px rgba(109, 56, 59, 0.22);
            box-shadow: 0 12px 24px rgba(220, 142, 129, 0.18);
        }
        .theme-glass_noir_refraction #app-container {
            border-color: rgba(255, 255, 255, 0.10);
            box-shadow: 0 30px 66px rgba(2, 6, 18, 0.52);
        }
        .theme-glass_noir_refraction header {
            background: rgba(10, 15, 26, 0.42);
            border-bottom-color: rgba(255, 255, 255, 0.08);
        }
        .theme-glass_noir_refraction .ai-watermark-badge,
        .theme-glass_noir_refraction .action-btn {
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(112, 184, 255, 0.14);
            color: #dbe8ff;
        }
        .theme-glass_noir_refraction .message.ai { color: #dce8ff; }
        .theme-glass_noir_refraction .message.user {
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: #f8fbff;
        }
        .theme-glass_twilight_veil #app-container {
            border-radius: 34px;
            box-shadow: 0 30px 62px rgba(97, 110, 154, 0.18);
        }
        .theme-glass_twilight_veil header {
            background: linear-gradient(180deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.13) 100%);
        }
        .theme-glass_twilight_veil .ai-watermark-badge,
        .theme-glass_twilight_veil .action-btn {
            background: rgba(255, 255, 255, 0.24);
            border-color: rgba(255, 255, 255, 0.28);
            color: #4d597f;
        }
        .theme-glass_twilight_veil .message.ai { color: #33435f; }
        .theme-glass_twilight_veil .message.user {
            background:
                linear-gradient(135deg, rgba(96, 111, 180, 0.78) 0%, rgba(69, 82, 142, 0.74) 58%, rgba(56, 67, 120, 0.72) 100%);
            border: 1px solid rgba(255, 255, 255, 0.20);
            color: #fbfdff;
            text-shadow: 0 1px 2px rgba(15, 20, 42, 0.42), 0 0 10px rgba(20, 28, 66, 0.10);
            box-shadow: 0 14px 28px rgba(74, 88, 136, 0.20);
        }
        .theme-glass_azure_veil #app-container {
            border-radius: 34px;
            box-shadow: 0 30px 62px rgba(118, 148, 192, 0.16);
        }
        .theme-glass_azure_veil header {
            background: linear-gradient(180deg, rgba(255,255,255,0.26) 0%, rgba(255,255,255,0.15) 100%);
        }
        .theme-glass_azure_veil .ai-watermark-badge,
        .theme-glass_azure_veil .action-btn {
            background: rgba(255, 255, 255, 0.26);
            border-color: rgba(255, 255, 255, 0.30);
            color: #567193;
        }
        .theme-glass_azure_veil .message.ai { color: #35506f; }
        .theme-glass_azure_veil .message.user {
            background:
                linear-gradient(135deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.14) 52%, rgba(255, 255, 255, 0.10) 100%);
            border: 1px solid rgba(255, 255, 255, 0.34);
            color: #f8fbff;
            text-shadow: 0 1px 2px rgba(24, 41, 66, 0.42), 0 0 10px rgba(36, 58, 92, 0.10);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.24), 0 16px 30px rgba(121, 152, 199, 0.10);
        }
        body[class*="theme-neu_"] {
            background: var(--theme-outer-bg);
        }
        body[class*="theme-neu_"] #app-container {
            background: var(--app-bg-gradient);
            border: none;
            box-shadow: 24px 24px 48px rgba(196, 208, 223, 0.28), -18px -18px 36px rgba(255, 255, 255, 0.94);
        }
        body[class*="theme-neu_"] header {
            background: transparent;
            border-bottom: none;
            box-shadow: none;
        }
        body[class*="theme-neu_"] .logo-img,
        body[class*="theme-neu_"] .ai-watermark-badge,
        body[class*="theme-neu_"] .action-btn,
        body[class*="theme-neu_"] .message.ai,
        body[class*="theme-neu_"] .message.user,
        body[class*="theme-neu_"] .input-row-container,
        body[class*="theme-neu_"] #send-btn {
            border: none;
        }
        body[class*="theme-neu_"] .bot-name,
        body[class*="theme-neu_"] .message.ai,
        body[class*="theme-neu_"] .message.user,
        body[class*="theme-neu_"] .ai-watermark-badge,
        body[class*="theme-neu_"] .action-btn {
            color: var(--text-color);
        }
        body[class*="theme-neu_"] .ai-watermark-badge,
        body[class*="theme-neu_"] .action-btn {
            background: var(--theme-outer-bg);
            box-shadow: 8px 8px 18px rgba(201, 213, 228, 0.82), -8px -8px 18px rgba(255, 255, 255, 0.98);
        }
        body[class*="theme-neu_"] .quick-actions {
            margin-top: 10px;
            padding: 4px 0 10px;
            gap: 10px;
            overflow: visible;
        }
        body[class*="theme-neu_"] .quick-actions .action-btn {
            background: var(--theme-outer-bg);
            box-shadow:
                inset 4px 4px 8px rgba(201, 213, 228, 0.62),
                inset -4px -4px 8px rgba(255, 255, 255, 0.92),
                1px 1px 2px rgba(201, 213, 228, 0.14);
        }
        body[class*="theme-neu_"] .message.ai,
        body[class*="theme-neu_"] .message.user {
            background: var(--bubble-ai-bg);
            box-shadow: var(--bubble-shadow);
        }
        body[class*="theme-neu_"] .message.user {
            background: var(--bubble-user-bg);
        }
        body[class*="theme-neu_"] .input-area {
            background: transparent;
            border: none;
        }
        body[class*="theme-neu_"] #chat-window {
            gap: 30px;
        }
        body[class*="theme-neu_"] .input-row-container {
            background: var(--composer-bg);
            border-radius: var(--composer-radius);
            padding: 8px 8px 8px 18px;
            box-shadow: var(--composer-shadow);
        }
        body[class*="theme-neu_"] .input-wrapper {
            background: transparent;
            border: none;
            box-shadow: none;
            padding: 1px 0 1px 2px;
        }
        body[class*="theme-neu_"] #send-btn {
            background: var(--theme-outer-bg);
            box-shadow: var(--send-shadow);
        }
        .theme-neu_cloud_soft #app-container {
            border-radius: 30px;
        }
        .theme-neu_cloud_soft .message.user {
            box-shadow: inset 5px 5px 12px rgba(196, 208, 223, 0.56), inset -5px -5px 12px rgba(255,255,255,0.84), 8px 8px 18px rgba(198, 209, 223, 0.55), -8px -8px 18px rgba(255,255,255,0.92);
        }
        .theme-neu_cloud_soft .quick-actions .action-btn {
            box-shadow:
                inset 4px 4px 8px rgba(196, 208, 223, 0.66),
                inset -4px -4px 8px rgba(255, 255, 255, 0.96),
                1px 1px 2px rgba(196, 208, 223, 0.12);
        }
        .theme-neu_pearl_focus #app-container {
            border-radius: 30px;
            box-shadow: 24px 24px 48px rgba(197, 210, 226, 0.28), -18px -18px 36px rgba(255, 255, 255, 0.96);
        }
        .theme-neu_pearl_focus .message.user {
            box-shadow: inset 5px 5px 12px rgba(197, 210, 226, 0.54), inset -5px -5px 12px rgba(255,255,255,0.88), 8px 8px 18px rgba(199, 211, 226, 0.54), -8px -8px 18px rgba(255,255,255,0.94);
        }
        .theme-neu_pearl_focus .quick-actions .action-btn {
            box-shadow:
                inset 4px 4px 8px rgba(197, 210, 226, 0.64),
                inset -4px -4px 8px rgba(255, 255, 255, 0.97),
                1px 1px 2px rgba(197, 210, 226, 0.12);
        }
        .theme-neu_stone_press #app-container {
            border-radius: 24px;
            box-shadow: 24px 24px 44px rgba(195, 181, 165, 0.30), -18px -18px 34px rgba(255, 248, 240, 0.94);
        }
        .theme-neu_stone_press .ai-watermark-badge,
        .theme-neu_stone_press .action-btn {
            box-shadow: 7px 7px 16px rgba(205, 193, 178, 0.74), -7px -7px 14px rgba(255, 250, 242, 0.90);
        }
        .theme-neu_stone_press .message.user {
            box-shadow: inset 5px 5px 10px rgba(205, 193, 178, 0.68), inset -5px -5px 10px rgba(255, 248, 240, 0.80), 8px 8px 18px rgba(205, 193, 178, 0.62), -8px -8px 18px rgba(255,249,240,0.84);
        }
        .theme-neu_stone_press .quick-actions .action-btn {
            box-shadow:
                inset 4px 4px 8px rgba(205, 193, 178, 0.74),
                inset -4px -4px 8px rgba(255, 249, 240, 0.94),
                1px 1px 2px rgba(205, 193, 178, 0.16);
        }
        .theme-neu_candy_dock #app-container {
            border-radius: 34px;
            box-shadow: 22px 22px 44px rgba(214, 198, 236, 0.34), -18px -18px 34px rgba(255, 248, 255, 0.96);
        }
        .theme-neu_candy_dock .action-btn {
            color: #7a5db1;
        }
        .theme-neu_candy_dock .message.user {
            box-shadow: inset 5px 5px 12px rgba(214, 198, 236, 0.66), inset -5px -5px 12px rgba(255,247,255,0.84), 8px 8px 18px rgba(214, 198, 236, 0.66), -8px -8px 18px rgba(255,247,255,0.92);
        }
        .theme-neu_candy_dock .quick-actions .action-btn {
            box-shadow:
                inset 4px 4px 8px rgba(214, 198, 236, 0.76),
                inset -4px -4px 8px rgba(255, 247, 255, 0.96),
                1px 1px 2px rgba(214, 198, 236, 0.18);
        }
    /* ==================================================================
           ✨ [추가] AI 말풍선 고급스러운 등장 (Elegant Pop)
           ================================================================== */
   /* ==================================================================
           ✨ [수정] AI 말풍선 아래에서 스르륵 등장 (Slide & Fade Up)
           ================================================================== */
        .elegant-bubble-enter {
            animation: elegantSlideUp 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
            will-change: transform, opacity;
        }

        @keyframes elegantSlideUp {
            0% { 
                opacity: 0; 
                transform: translateY(20px); /* 👈 아래에서 20px 띄워놓고 시작 */
            }
            100% { 
                opacity: 1; 
                transform: translateY(0); /* 👈 제자리로 스르륵 올라옴 */
            }
        }
        /* ==================================================================
           ✨ [신규] 유저 말풍선 스르륵 등장 (User Message Pop)
           ================================================================== */
        .user-bubble-enter {
            opacity: 0; /* 0.1초 대기하는 동안 완전히 숨겨둠 */
            /* 0.1s 딜레이 후 0.4초 동안 부드럽게(cubic-bezier) 튀어오름 */
            animation: userMessagePop 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) 1.0s forwards;
            will-change: transform, opacity;
        }

        @keyframes userMessagePop {
            0% { 
                opacity: 0; 
                transform: translateY(15px) scale(0.98); /* 살짝 아래서 + 아주 미세하게 작게 시작 */
            }
            100% { 
                opacity: 1; 
                transform: translateY(0) scale(1); /* 제자리로 안착! */
            }
        }

        /* ==================================================================
           ✨ [신규] 리치 미디어 (유튜브, 틱톡, 스포티파이 등) 임베드 스타일
           ================================================================== */
     /* ==================================================================
           ✨ [고도화] 테마 카멜레온 리치 미디어 (유튜브, 틱톡, 스포티파이 등)
           ================================================================== */
        .media-embed {
            margin-top: 12px;
            margin-bottom: 4px;
            width: 100%;
            max-width: 100%;
            
            /* 💥 핵심 1: 하드코딩 버리고 테마의 '메인 둥글기'를 상속받음! 
               말풍선 껍데기보다 아주 살짝(-20%) 덜 둥글어야 안에 예쁘게 쏙 들어갑니다. */
            border-radius: calc(var(--main-radius) * 0.8); 
            
            /* 💥 핵심 2: 테마별 말풍선 테두리와 그림자 라인을 그대로 물려받음! */
            border: 1px solid rgba(128, 128, 128, 0.2); /* 은은한 범용 테두리 */
            box-shadow: var(--bubble-shadow); 
            
            overflow: hidden;
            background-color: rgba(128, 128, 128, 0.1); /* 다크/라이트 모두 어울리는 로딩 배경 */
            transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
        }

        /* 각진 테마(럭셔리 다크, 뉴트럴 타이포, 엣지투엣지)에서는 예외 없이 완전 직각(0px)으로 꽉 잡아줍니다! */
        .theme-luxury_dark .media-embed,
        .theme-neutral_typo .media-embed,
        .theme-edge_to_edge .media-embed {
            border-radius: 0 !important;
            border: var(--bubble-border); /* 럭셔리 다크의 골드 테두리 등을 흡수 */
        }

        .media-embed:hover {
            transform: translateY(-3px); /* 마우스 올렸을 때 살짝 뜨는 인터랙션 */
            box-shadow: 0 10px 25px rgba(0,0,0,0.15);
        }

        .media-embed iframe {
            display: block;
            width: 100%;
            border: none;
            /* 부모(.media-embed)의 둥글기를 iframe이 100% 똑같이 따라가게 만듦 */
            border-radius: inherit; 
        }

        /* 📏 각 매체별 황금 비율 설정 (유지) */
       /* 📏 각 매체별 황금 비율 설정 */
        .media-embed.yt-embed iframe { aspect-ratio: 16 / 9; height: auto; min-height: 200px; }
        
        /* 🚀 [수정] 틱톡은 상하단 UI가 많으므로 높이를 넉넉하게 600px 이상으로 고정합니다 */
        .media-embed.tiktok-embed iframe { 
            width: 100%;
            height: 630px; /* 틱톡 캡션과 하단 바가 잘리지 않는 최적의 높이 */
        max-height: none !important; /* 👈 모바일 화면에 맞춰 강제로 찌그러지는 족쇄 완벽 파괴! */
        }
        
        .media-embed.spotify-embed iframe { height: 152px; }
        .media-embed.calendly-embed iframe { height: 400px; background: #ffffff; }

.disclaimer-body.compact-body {
    gap: 15px;
}

.compact-item .c-text {
    font-size: 0.7rem;
}

.compact-item .c-text strong {
    font-size: 0.8rem;
}

        /* 🚀 프로모션 광고 팝업 배경 선명하게 (블러 제거, 투명도 조절) */
#promo-modal.modal-overlay {
    background: rgba(0, 0, 0, 0.3); /* 기존 0.5보다 조금 더 투명하게 */
    backdrop-filter: none !important; /* 뿌연 유리 효과 완전 제거 */
    -webkit-backdrop-filter: none !important;
}

.theme-glass_center_stage {
    background: #dfe9f5;
}

.theme-glass_center_stage #app-container {
    background: var(--app-bg-gradient);
    border: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow: 0 28px 58px rgba(56, 79, 112, 0.18);
}

.theme-glass_center_stage header {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 22px 18px 12px !important;
}

.theme-glass_center_stage .header-top {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 82px;
    text-align: center;
}

.theme-glass_center_stage .logo-img {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    box-shadow: 0 14px 26px rgba(14, 165, 233, 0.16);
}

.theme-glass_center_stage .bot-name {
    color: var(--text-color);
    font-size: 1.08rem;
    font-weight: 760;
    letter-spacing: -0.035em;
    max-width: min(78%, 260px);
    text-align: center;
}

.theme-glass_center_stage .header-actions {
    position: absolute;
    top: 0;
    right: 0;
}

.theme-glass_center_stage .ai-watermark-badge {
    border: 1px solid rgba(15, 118, 110, 0.10);
    background: rgba(255, 255, 255, 0.58);
    color: rgba(51, 72, 93, 0.76);
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.08);
}

.theme-glass_center_stage .quick-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin-top: 12px;
    padding: 0 2px;
    overflow: visible;
}

.theme-glass_center_stage .quick-actions .action-btn {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 46%;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 999px;
    color: #37546d;
    background: rgba(255, 255, 255, 0.54);
    border: 1px solid rgba(255, 255, 255, 0.48);
    box-shadow: 0 10px 24px rgba(71, 85, 105, 0.08);
}

.theme-glass_center_stage #chat-window {
    gap: 20px;
    padding: 16px 20px 18px;
}

.theme-glass_center_stage .message {
    max-width: 84%;
}

.theme-glass_center_stage .message.ai {
    color: #233447;
    background: rgba(255, 255, 255, 0.48);
    border-color: rgba(255, 255, 255, 0.44);
}

.theme-glass_center_stage .message.user {
    color: #ffffff;
    background: var(--bubble-user-bg);
    border: 1px solid rgba(255, 255, 255, 0.22);
}

.theme-glass_center_stage .input-area {
    background: transparent;
    border-top: none;
    padding: 10px 18px calc(16px + env(safe-area-inset-bottom)) 18px;
}

.theme-glass_center_stage .input-row-container {
    background: var(--composer-bg);
    border: 1px solid rgba(255, 255, 255, 0.54);
    border-radius: var(--composer-radius);
    padding: 8px 8px 8px 16px;
    box-shadow: var(--composer-shadow);
    gap: 8px;
}

.theme-glass_center_stage .input-wrapper {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 1px 0 1px 2px;
    overflow: visible;
}

.theme-glass_center_stage .ai-icon-animation {
    width: 22px;
    height: 22px;
    margin-left: 2px;
    margin-right: 12px;
}

.theme-glass_center_stage #send-btn {
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: var(--send-shape-radius);
    background: var(--main-color);
    box-shadow: var(--send-shadow);
}

body.theme-glass_center_stage[data-send-icon] .send-type {
    display: none;
}

body.theme-glass_center_stage[data-send-icon="arrow"] .send-type.type-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 420px) {
    .theme-glass_center_stage header {
        padding: 19px 15px 10px !important;
    }

    .theme-glass_center_stage .header-top {
        min-height: 76px;
    }

    .theme-glass_center_stage .bot-name {
        max-width: 68%;
        font-size: 1rem;
    }

    .theme-glass_center_stage .quick-actions .action-btn {
        max-width: 48%;
        padding: 8px 10px;
        font-size: 0.76rem;
    }
}

.theme-funky_neon_diner {
    background: #070816;
}

.theme-funky_neon_diner #app-container {
    background: var(--app-bg-gradient);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 28px 70px rgba(5, 7, 20, 0.46);
}

.theme-funky_neon_diner header {
    padding: 16px 14px 10px !important;
}

.theme-funky_neon_diner .header-top {
    position: relative;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 24px;
    background: rgba(8, 9, 24, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.32);
}

.theme-funky_neon_diner .logo-img {
    width: 42px;
    height: 42px;
    border-radius: 15px;
    box-shadow: 0 0 0 3px rgba(0, 245, 212, 0.14), 0 12px 26px rgba(0, 245, 212, 0.20);
}

.theme-funky_neon_diner .bot-name {
    color: #f8fbff;
    font-size: 1.02rem;
    font-weight: 860;
    letter-spacing: -0.035em;
}

.theme-funky_neon_diner .ai-watermark-badge {
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(248, 251, 255, 0.78);
}

.theme-funky_neon_diner .quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding: 0 2px;
}

.theme-funky_neon_diner .quick-actions .action-btn {
    flex: 1 1 calc(50% - 8px);
    min-width: 0;
    justify-content: center;
    padding: 9px 11px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.13);
    color: #f8fbff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 12px 24px rgba(0, 0, 0, 0.20);
}

.theme-funky_neon_diner .quick-actions .action-btn:nth-child(3n + 1) {
    color: #00f5d4;
}

.theme-funky_neon_diner .quick-actions .action-btn:nth-child(3n + 2) {
    color: #ffbe0b;
}

.theme-funky_neon_diner #chat-window {
    gap: 22px;
    padding: 16px 18px 18px;
}

.theme-funky_neon_diner .message {
    max-width: 84%;
}

.theme-funky_neon_diner .message.ai {
    background: rgba(255, 255, 255, 0.92);
    color: #161827 !important;
    border: 1px solid rgba(255, 255, 255, 0.72);
}

.theme-funky_neon_diner .message.user {
    background: var(--bubble-user-bg);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 14px 28px rgba(255, 0, 110, 0.26);
}

.theme-funky_neon_diner .input-area {
    padding: 10px 16px calc(16px + env(safe-area-inset-bottom)) 16px;
}

.theme-funky_neon_diner .input-row-container {
    padding: 10px 9px 10px 19px;
    gap: 9px;
    border: 1px solid rgba(0, 245, 212, 0.25);
}

.theme-funky_neon_diner .ai-icon-animation {
    width: 23px;
    height: 23px;
    margin-left: 4px;
    margin-right: 12px;
}

.theme-funky_neon_diner #send-btn {
    width: 44px;
    height: 44px;
}

.theme-glass_cosmic_pop {
    background: #15112a;
}

.theme-glass_cosmic_pop #app-container {
    background: var(--app-bg-gradient);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 30px 72px rgba(15, 10, 38, 0.42);
}

.theme-glass_cosmic_pop header {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 20px 16px 10px !important;
}

.theme-glass_cosmic_pop .header-top {
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    gap: 8px;
    text-align: center;
}

.theme-glass_cosmic_pop .logo-img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(255, 255, 255, 0.06), 0 16px 34px rgba(139, 92, 246, 0.34);
}

.theme-glass_cosmic_pop .bot-name {
    max-width: min(78%, 270px);
    color: #ffffff;
    font-size: 1.08rem;
    font-weight: 780;
    letter-spacing: -0.04em;
    text-align: center;
}

.theme-glass_cosmic_pop .header-actions {
    position: absolute;
    top: 0;
    right: 0;
}

.theme-glass_cosmic_pop .ai-watermark-badge {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.70);
}

.theme-glass_cosmic_pop .quick-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    padding: 0 4px;
}

.theme-glass_cosmic_pop .quick-actions .action-btn {
    flex: 0 1 auto;
    max-width: 46%;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.theme-glass_cosmic_pop #chat-window {
    gap: 20px;
    padding: 16px 20px 18px;
}

.theme-glass_cosmic_pop .message {
    max-width: 84%;
}

.theme-glass_cosmic_pop .message.ai {
    background: rgba(255, 255, 255, 0.13);
    color: #f8fafc;
    border-color: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.theme-glass_cosmic_pop .message.user {
    background: var(--bubble-user-bg);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.theme-glass_cosmic_pop .input-area {
    background: transparent;
    border-top: none;
    padding: 10px 18px calc(16px + env(safe-area-inset-bottom)) 18px;
}

.theme-glass_cosmic_pop .input-row-container {
    background: var(--composer-bg);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--composer-radius);
    padding: 9px 9px 9px 18px;
    gap: 9px;
    box-shadow: var(--composer-shadow);
}

.theme-glass_cosmic_pop .input-wrapper {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 1px 0 1px 2px;
    overflow: visible;
}

.theme-glass_cosmic_pop #user-input {
    color: #ffffff;
}

.theme-glass_cosmic_pop #user-input::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.theme-glass_cosmic_pop .ai-icon-animation {
    width: 22px;
    height: 22px;
    margin-left: 3px;
    margin-right: 12px;
}

.theme-glass_cosmic_pop #send-btn {
    width: 43px;
    height: 43px;
    padding: 0;
    border-radius: var(--send-shape-radius);
    background: var(--main-color);
    box-shadow: var(--send-shadow);
}

body.theme-glass_cosmic_pop[data-send-icon] .send-type {
    display: none;
}

body.theme-glass_cosmic_pop[data-send-icon="magic"] .send-type.type-magic {
    display: flex;
    align-items: center;
    justify-content: center;
}

.theme-funky_street_poster {
    background: #ebe5d8;
}

.theme-funky_street_poster #app-container {
    background: var(--app-bg-gradient);
    border: 1px solid rgba(17, 24, 39, 0.10);
    box-shadow: 0 28px 58px rgba(45, 35, 25, 0.18);
}

.theme-funky_street_poster header {
    padding: 18px 15px 9px !important;
}

.theme-funky_street_poster .header-top {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(17, 24, 39, 0.10);
}

.theme-funky_street_poster .logo-img {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    box-shadow: 7px 7px 0 rgba(251, 113, 133, 0.24);
}

.theme-funky_street_poster .bot-name {
    color: #111827;
    font-size: 1.03rem;
    font-weight: 900;
    letter-spacing: -0.045em;
    text-align: center;
}

.theme-funky_street_poster .ai-watermark-badge {
    background: #111827;
    color: #fff7ed;
    border: none;
    box-shadow: 5px 5px 0 rgba(251, 113, 133, 0.24);
}

.theme-funky_street_poster .quick-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 12px;
    padding: 0;
}

.theme-funky_street_poster .quick-actions .action-btn {
    min-width: 0;
    justify-content: center;
    padding: 8px 7px;
    border-radius: 10px;
    background: rgba(255, 247, 237, 0.78);
    border: 1px solid rgba(17, 24, 39, 0.12);
    color: #111827;
    box-shadow: 4px 4px 0 rgba(17, 24, 39, 0.08);
}

.theme-funky_street_poster #chat-window {
    gap: 24px;
    padding: 16px 18px 18px;
}

.theme-funky_street_poster .message {
    max-width: 84%;
}

.theme-funky_street_poster .message.ai {
    background: rgba(255, 247, 237, 0.86);
    color: #1f2937;
    border: 1px solid rgba(17, 24, 39, 0.10);
    box-shadow: 7px 7px 0 rgba(17, 24, 39, 0.05);
}

.theme-funky_street_poster .message.user {
    background: var(--bubble-user-bg);
    color: #fff7ed;
    border: 1px solid rgba(17, 24, 39, 0.14);
    box-shadow: 7px 7px 0 rgba(251, 113, 133, 0.24);
}

.theme-funky_street_poster .input-area {
    padding: 10px 16px calc(16px + env(safe-area-inset-bottom)) 16px;
}

.theme-funky_street_poster .input-row-container {
    padding: 9px 9px 9px 18px;
    gap: 9px;
    border: 1px solid rgba(17, 24, 39, 0.12);
    box-shadow: 7px 7px 0 rgba(17, 24, 39, 0.08);
}

.theme-funky_street_poster .ai-icon-animation {
    width: 23px;
    height: 23px;
    margin-left: 3px;
    margin-right: 12px;
}

.theme-funky_street_poster #send-btn {
    width: 43px;
    height: 43px;
}

@media (max-width: 420px) {
    .theme-funky_neon_diner .header-top,
    .theme-funky_street_poster .header-top {
        gap: 8px;
    }

    .theme-funky_street_poster .header-top {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .theme-funky_street_poster .quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-glass_cosmic_pop .bot-name {
        max-width: 68%;
        font-size: 1rem;
    }

    .theme-glass_cosmic_pop .quick-actions .action-btn {
        max-width: 48%;
        font-size: 0.76rem;
    }
}

/* Award-style geometric splash menu themes */
body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] .quick-actions-toggle {
    display: inline-flex;
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] .ai-watermark-badge {
    display: none;
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] header {
    position: relative;
    overflow: visible;
    z-index: 24;
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] .header-top {
    position: relative;
    z-index: 2;
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] .quick-actions {
    position: absolute;
    top: calc(100% + 10px);
    right: 18px;
    left: auto;
    width: min(228px, calc(100vw - 56px));
    max-height: none;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    margin-top: 0;
    padding: 12px;
    overflow: visible;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(255, 255, 255, 0.40);
    box-shadow: 0 22px 36px rgba(97, 113, 145, 0.18);
    backdrop-filter: blur(30px) saturate(1.20);
    -webkit-backdrop-filter: blur(30px) saturate(1.20);
    transform-origin: top right;
    z-index: 26;
    will-change: opacity, transform, clip-path, filter;
    transition:
        opacity 0.34s cubic-bezier(0.22, 0.8, 0.24, 1),
        transform 0.68s cubic-bezier(0.16, 1, 0.3, 1),
        clip-path 0.68s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.68s cubic-bezier(0.16, 1, 0.3, 1);
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"] .quick-actions .action-btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    padding: 11px 14px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.46);
    box-shadow: 0 10px 18px rgba(140, 155, 187, 0.12);
    color: var(--action-chip-text, #566584);
}

body.quick-actions-collapsible[class*="theme-dynamic_splash_prism_menu"]:not(.quick-actions-open) .quick-actions {
    opacity: 0;
    transform: translate3d(10px, -16px, 0) scale(0.88);
    clip-path: inset(0 0 100% 0 round 22px);
    filter: blur(8px);
    pointer-events: none;
}

body.quick-actions-open[class*="theme-dynamic_splash_prism_menu"] .quick-actions {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    clip-path: inset(0 0 0 0 round 22px);
    filter: blur(0);
    pointer-events: auto;
}

body.theme-dynamic_splash_prism_menu_aurora {
    background: #e3edf8 !important;
}

body.theme-dynamic_splash_prism_menu_aurora #app-container {
    border-color: rgba(255, 255, 255, 0.58) !important;
    box-shadow: 0 30px 70px rgba(105, 132, 180, 0.20) !important;
}

body.theme-dynamic_splash_prism_menu_aurora .quick-actions-toggle {
    color: #526184;
    background: rgba(255, 255, 255, 0.42);
    border: 1px solid rgba(255, 255, 255, 0.54);
    box-shadow: 0 14px 28px rgba(120, 140, 190, 0.18);
}

body.theme-dynamic_splash_prism_menu_aurora .quick-actions-toggle .line-a {
    display: block;
    width: 16px;
    height: 3px;
    transform: translateX(-2px);
}

body.theme-dynamic_splash_prism_menu_aurora .quick-actions-toggle .line-b {
    display: block;
    width: 22px;
    height: 3px;
    margin-top: 7px;
    transform: translateX(2px);
}

body.theme-dynamic_splash_prism_menu_aurora .quick-actions-toggle .line-c {
    display: none;
}

body.theme-dynamic_splash_prism_menu_aurora.quick-actions-open .quick-actions-toggle {
    background: rgba(255, 255, 255, 0.74);
}

body.theme-dynamic_splash_prism_menu_aurora .quick-actions {
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 24px 44px rgba(106, 126, 174, 0.18);
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage {
    top: 16%;
    width: 188px;
    height: 188px;
    overflow: visible;
    border-radius: 34% 66% 44% 56% / 48% 36% 64% 52%;
    filter: saturate(1.22);
    animation: awardGeometryFloat 3.2s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 38% 62% 48% 52% / 42% 38% 62% 58%;
    background:
        radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.34) 18%, transparent 42%),
        conic-gradient(from 130deg at 52% 50%, rgba(121, 201, 255, 0.30), rgba(148, 132, 255, 0.62), rgba(255, 169, 213, 0.46), rgba(255, 242, 177, 0.34), rgba(121, 201, 255, 0.30));
    border: 1px solid rgba(255, 255, 255, 0.74);
    box-shadow:
        inset 0 1px 2px rgba(255, 255, 255, 0.94),
        inset 0 -18px 30px rgba(116, 143, 194, 0.12),
        0 28px 62px rgba(124, 140, 255, 0.22);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    animation: awardAuroraTurn 7.5s linear infinite;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-ribbon {
    mix-blend-mode: screen;
    opacity: 0.95;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
    inset: 24% 2% 36% 3%;
    border-radius: 999px;
    background: linear-gradient(92deg, rgba(255,255,255,0.08), rgba(117,206,255,0.64), rgba(255,255,255,0.18), rgba(255,171,216,0.58));
    filter: blur(6px);
    transform: rotate(-21deg);
    animation: awardRibbonSweep 1.9s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
    inset: 40% 2% 26% 4%;
    border-radius: 999px;
    background: linear-gradient(95deg, rgba(255,235,169,0.46), rgba(154,139,255,0.62), rgba(133,216,255,0.36));
    filter: blur(7px);
    transform: rotate(24deg);
    animation: awardRibbonSweep 1.45s ease-in-out infinite alternate-reverse;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
    inset: 10% 28% 52% 34%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.16) 45%, transparent 72%);
    filter: blur(2px);
    opacity: 0.82;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-glow {
    display: block;
    inset: -20%;
    border-radius: 46%;
    background: radial-gradient(circle at 50% 50%, rgba(142, 165, 255, 0.20) 0%, rgba(255, 182, 218, 0.14) 30%, transparent 62%);
    filter: blur(18px);
    opacity: 0.85;
    animation: awardGlowPulse 2s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) #splash-orb-stage .orb-glint {
    top: 13%;
    left: 24%;
    width: 34px;
    height: 34px;
    background: radial-gradient(circle, rgba(255,255,255,0.96), rgba(255,255,255,0.14) 68%, transparent 76%);
    filter: blur(3px);
}

body.theme-dynamic_splash_prism_menu_aurora:not(.chat-started) .message.ai:first-child {
    margin-top: 224px;
    max-width: 76%;
    font-size: 1.12rem;
    letter-spacing: -0.035em;
}

body[class*="theme-dynamic_splash_logo_halo"] {
    background: #dce8f5 !important;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #chat-window {
    justify-content: flex-start;
    align-items: center;
    padding-top: 96px;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage {
    display: block;
    position: absolute;
    top: 15.5%;
    left: 50%;
    width: 176px;
    height: 176px;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 2;
    overflow: visible;
    filter: saturate(1.12);
    animation: logoHaloFloat 4.2s ease-in-out infinite alternate;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-shell {
    inset: 38px;
    border-radius: 28px;
    background-image:
        linear-gradient(145deg, rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.08)),
        var(--splash-logo-url);
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    border: 1px solid rgba(255, 255, 255, 0.78);
    box-shadow:
        0 24px 54px rgba(99, 126, 172, 0.22),
        0 0 0 11px rgba(255, 255, 255, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.74);
    overflow: hidden;
    animation: logoHaloBreath 2.6s ease-in-out infinite alternate;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-glow {
    display: block;
    inset: -10%;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.54) 0%, rgba(145, 166, 199, 0.20) 36%, transparent 68%),
        conic-gradient(from 110deg, rgba(125, 185, 255, 0.00), rgba(125, 185, 255, 0.28), rgba(242, 172, 220, 0.20), rgba(255, 236, 184, 0.22), rgba(125, 185, 255, 0.00));
    filter: blur(14px);
    opacity: 0.92;
    animation: logoHaloTurn 8s linear infinite;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
    inset: 13px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-top-color: rgba(120, 168, 255, 0.44);
    border-right-color: rgba(244, 174, 221, 0.34);
    filter: drop-shadow(0 10px 18px rgba(113, 139, 184, 0.12));
    animation: logoHaloTurn 7.4s linear infinite;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
    inset: auto;
    top: 26px;
    left: 34px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow:
        74px -16px 0 rgba(135, 188, 255, 0.74),
        108px 44px 0 rgba(255, 189, 226, 0.72),
        18px 118px 0 rgba(255, 236, 179, 0.78),
        -10px 72px 0 rgba(158, 170, 255, 0.66);
    filter: blur(0.2px) drop-shadow(0 8px 13px rgba(97, 121, 168, 0.22));
    animation: logoParticlesDrift 3.8s ease-in-out infinite alternate;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
    inset: auto;
    right: 34px;
    top: 42px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: rgba(125, 185, 255, 0.70);
    box-shadow:
        -92px 18px 0 rgba(255, 255, 255, 0.78),
        -62px 92px 0 rgba(242, 172, 220, 0.62),
        12px 90px 0 rgba(255, 241, 190, 0.72);
    filter: blur(0.4px);
    animation: logoParticlesDrift 4.6s ease-in-out infinite alternate-reverse;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-glint {
    top: 40px;
    left: 54px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.18) 60%, transparent 76%);
    filter: blur(3px);
    opacity: 0.74;
    animation: logoGlintPulse 2.8s ease-in-out infinite alternate;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) .message.ai:first-child {
    margin-top: 216px;
    max-width: 74%;
    font-size: 1.13rem;
    font-weight: 560;
    letter-spacing: -0.03em;
    color: var(--splash-message-color, #53647f) !important;
    text-shadow: none;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) .message.ai:first-child::before {
    content: none !important;
}

@keyframes logoHaloFloat {
    from { transform: translateX(-50%) translateY(0) scale(0.98); }
    to { transform: translateX(-50%) translateY(-8px) scale(1.02); }
}

@keyframes logoHaloBreath {
    from { transform: scale(0.97); box-shadow: 0 22px 48px rgba(99, 126, 172, 0.18), 0 0 0 10px rgba(255, 255, 255, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.72); }
    to { transform: scale(1.03); box-shadow: 0 28px 62px rgba(99, 126, 172, 0.26), 0 0 0 14px rgba(255, 255, 255, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.82); }
}

@keyframes logoHaloTurn {
    to { transform: rotate(360deg); }
}

@keyframes logoParticlesDrift {
    from { transform: translate3d(-2px, 2px, 0) scale(0.96); opacity: 0.72; }
    to { transform: translate3d(4px, -5px, 0) scale(1.08); opacity: 1; }
}

@keyframes logoGlintPulse {
    from { transform: scale(0.86); opacity: 0.42; }
    to { transform: scale(1.12); opacity: 0.82; }
}

body.theme-dynamic_splash_logo_halo_clean:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body.theme-dynamic_splash_logo_halo_clean:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
    display: none;
}

body.theme-dynamic_splash_logo_halo_clean:not(.chat-started) #splash-orb-stage .orb-glow {
    opacity: 0.74;
    filter: blur(16px);
}

body.theme-dynamic_splash_logo_halo_noir {
    background: #111524 !important;
}

body.theme-dynamic_splash_logo_halo_noir #app-container {
    border-color: rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 34px 72px rgba(8, 12, 24, 0.42) !important;
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage {
    filter: saturate(1.04);
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-shell {
    border-color: rgba(255, 255, 255, 0.30);
    background-image:
        linear-gradient(145deg, rgba(20, 26, 48, 0.18), rgba(255, 255, 255, 0.04)),
        var(--splash-logo-url);
    box-shadow:
        0 26px 58px rgba(2, 7, 22, 0.42),
        0 0 0 10px rgba(116, 141, 255, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(173, 190, 255, 0.28) 0%, rgba(86, 111, 202, 0.18) 34%, transparent 68%),
        conic-gradient(from 80deg, rgba(95, 220, 255, 0), rgba(95, 220, 255, 0.16), rgba(151, 112, 255, 0.20), rgba(42, 58, 119, 0.10), rgba(95, 220, 255, 0));
    opacity: 0.78;
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
    border-color: rgba(255, 255, 255, 0.22);
    border-top-color: rgba(126, 163, 255, 0.36);
    border-right-color: rgba(108, 225, 255, 0.18);
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
    display: none;
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-glint {
    background: radial-gradient(circle, rgba(177, 207, 255, 0.78) 0%, rgba(177, 207, 255, 0.16) 62%, transparent 78%);
    opacity: 0.54;
}

body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage {
    animation: none;
    filter: none;
}

body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-shell {
    animation: none;
    box-shadow:
        0 18px 42px rgba(82, 95, 122, 0.14),
        0 0 0 9px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-glow,
body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-ribbon-a,
body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-ribbon-c,
body.theme-dynamic_splash_logo_halo_plain:not(.chat-started) #splash-orb-stage .orb-glint {
    display: none;
}

body.theme-dynamic_splash_logo_halo_plain_particles {
    background: #dbe9e7 !important;
}

body.theme-dynamic_splash_logo_halo_plain_particles #app-container {
    position: relative;
    overflow: hidden;
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #app-container::before {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.24) 20%, transparent 38%),
        radial-gradient(circle at 84% 14%, rgba(116, 194, 205, 0.23) 0%, transparent 34%),
        radial-gradient(circle at 54% 88%, rgba(248, 211, 157, 0.18) 0%, transparent 40%),
        radial-gradient(circle at 8% 76%, rgba(116, 149, 189, 0.14) 0%, transparent 34%);
    filter: blur(2px);
    transform: translateZ(0);
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #app-container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.30;
    background-image:
        radial-gradient(circle at 14% 24%, rgba(52, 107, 117, 0.22) 0 2px, transparent 3px),
        radial-gradient(circle at 30% 10%, rgba(219, 165, 94, 0.17) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 68% 18%, rgba(255, 255, 255, 0.44) 0 2px, transparent 3px),
        radial-gradient(circle at 86% 32%, rgba(52, 107, 117, 0.16) 0 2.5px, transparent 3.5px),
        radial-gradient(circle at 24% 58%, rgba(52, 107, 117, 0.16) 0 2.5px, transparent 3.5px),
        radial-gradient(circle at 76% 62%, rgba(255, 255, 255, 0.34) 0 2px, transparent 3px),
        radial-gradient(circle at 44% 82%, rgba(219, 165, 94, 0.15) 0 1.5px, transparent 2.5px);
    transform: translateZ(0);
}

@media (min-width: 720px) {
    body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #app-container::after {
        opacity: 0.46;
        background-image:
            radial-gradient(circle at 9% 18%, rgba(52, 107, 117, 0.28) 0 3px, transparent 4px),
            radial-gradient(circle at 18% 62%, rgba(255, 255, 255, 0.48) 0 2.5px, transparent 3.5px),
            radial-gradient(circle at 28% 10%, rgba(219, 165, 94, 0.24) 0 2px, transparent 3px),
            radial-gradient(circle at 44% 30%, rgba(52, 107, 117, 0.22) 0 2.5px, transparent 3.5px),
            radial-gradient(circle at 61% 74%, rgba(255, 255, 255, 0.42) 0 2.5px, transparent 3.5px),
            radial-gradient(circle at 74% 17%, rgba(52, 107, 117, 0.22) 0 3px, transparent 4px),
            radial-gradient(circle at 88% 38%, rgba(219, 165, 94, 0.20) 0 2px, transparent 3px),
            radial-gradient(circle at 90% 78%, rgba(52, 107, 117, 0.20) 0 2.5px, transparent 3.5px);
    }
}

.logo-particle-canvas {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started):not(.reveal-consent-pending) .logo-particle-canvas {
    display: block;
    opacity: 1;
}

@media (min-width: 720px) {
    body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started):not(.reveal-consent-pending) .logo-particle-canvas {
        opacity: 1;
    }
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) header,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #notice-bar,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #chat-window,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) .input-area {
    position: relative;
    z-index: 2;
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage {
    position: absolute;
    animation: none;
    filter: none;
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-shell {
    animation: none;
    box-shadow:
        0 20px 44px rgba(52, 107, 117, 0.15),
        0 0 0 10px rgba(255, 255, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.70);
}

body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-glow,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-ribbon-a,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-ribbon-c,
body.theme-dynamic_splash_logo_halo_plain_particles:not(.chat-started) #splash-orb-stage .orb-glint {
    display: none;
}

body[class*="theme-dynamic_splash_logo_halo"] .message.user {
    background: var(--bubble-user-bg) !important;
    color: var(--bubble-user-text) !important;
}

body.theme-dynamic_splash_logo_halo_plain .message.user {
    background: #52637f !important;
    color: #ffffff !important;
}

body.theme-dynamic_splash_logo_halo_plain_particles .message.user {
    background: #346b75 !important;
    color: #ffffff !important;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"] {
    background: var(--theme-outer-bg, #e4edf3) !important;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"] #app-container {
    position: relative;
    overflow: hidden;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #app-container::before {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: 0;
    pointer-events: none;
    background: var(--app-bg-gradient);
    filter: blur(1.5px) saturate(1.06);
    transform: translateZ(0);
}

body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started):not(.reveal-consent-pending) .logo-particle-canvas {
    display: block;
    opacity: 1;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) header,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #notice-bar,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #chat-window,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) .input-area {
    position: relative;
    z-index: 2;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage {
    position: absolute;
    animation: none;
    filter: none;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage .orb-glow,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage .orb-ribbon-a,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage .orb-ribbon-c,
body[class*="theme-dynamic_splash_logo_halo_particles_"]:not(.chat-started) #splash-orb-stage .orb-glint {
    display: none;
}

body[class*="theme-dynamic_splash_logo_halo_particles_"] .message.user {
    background: var(--bubble-user-bg) !important;
    color: var(--bubble-user-text) !important;
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh:not(.chat-started) #app-container::before {
    filter: blur(1px) saturate(1.18);
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s:not(.chat-started) #app-container::before {
    filter: blur(1px) saturate(1.18);
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh:not(.chat-started) .message.ai:first-child {
    color: #e8f5ff !important;
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s:not(.chat-started) .message.ai:first-child {
    color: #e8f5ff !important;
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh .chat-footer-legal,
body.theme-dynamic_splash_logo_halo_particles_deep_bokeh .chat-footer-legal a,
body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s .chat-footer-legal,
body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s .chat-footer-legal a {
    color: rgba(232, 245, 255, 0.62) !important;
}

body.theme-dynamic_splash_logo_halo_particles_lattice_s,
body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s,
body.theme-dynamic_splash_logo_halo_particles_constellation_s,
body.theme-dynamic_splash_logo_halo_particles_prism_drift_s {
    padding: clamp(12px, 3vw, 28px) !important;
}

body.theme-dynamic_splash_logo_halo_particles_lattice_s #app-container,
body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s #app-container,
body.theme-dynamic_splash_logo_halo_particles_constellation_s #app-container,
body.theme-dynamic_splash_logo_halo_particles_prism_drift_s #app-container {
    max-width: min(456px, calc(100vw - 24px));
    height: min(860px, calc(100dvh - 24px));
    max-height: calc(100dvh - 24px);
    border-radius: var(--main-radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    box-shadow: 0 22px 54px rgba(31, 54, 77, 0.18) !important;
}

body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s #app-container {
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 26px 62px rgba(0, 0, 0, 0.36) !important;
}

@media (max-width: 540px) {
    body.theme-dynamic_splash_logo_halo_particles_lattice_s,
    body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s,
    body.theme-dynamic_splash_logo_halo_particles_constellation_s,
    body.theme-dynamic_splash_logo_halo_particles_prism_drift_s {
        padding: 10px !important;
    }

    body.theme-dynamic_splash_logo_halo_particles_lattice_s #app-container,
    body.theme-dynamic_splash_logo_halo_particles_deep_bokeh_s #app-container,
    body.theme-dynamic_splash_logo_halo_particles_constellation_s #app-container,
    body.theme-dynamic_splash_logo_halo_particles_prism_drift_s #app-container {
        height: calc(100dvh - 20px);
        max-height: calc(100dvh - 20px);
    }
}

body.theme-dynamic_splash_logo_halo_particles_lattice:not(.chat-started) #app-container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.16;
    background-image:
        linear-gradient(rgba(24, 59, 78, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(24, 59, 78, 0.12) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: radial-gradient(circle at 50% 40%, black 0%, transparent 78%);
}

body.theme-dynamic_splash_logo_halo_particles_prism_drift:not(.chat-started) #app-container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.26;
    background:
        linear-gradient(116deg, transparent 8%, rgba(78, 132, 255, 0.14) 22%, transparent 38%),
        linear-gradient(62deg, transparent 22%, rgba(242, 130, 194, 0.12) 42%, transparent 62%);
}

body.theme-dynamic_splash_logo_halo_particles_capital_grid:not(.chat-started) #app-container::after,
body.theme-dynamic_splash_logo_halo_particles_chamber_signal:not(.chat-started) #app-container::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.12;
    background-image:
        linear-gradient(rgba(29, 53, 87, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(29, 53, 87, 0.10) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(circle at 50% 38%, black 0%, transparent 78%);
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) header .logo-img {
    opacity: 0;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) header .bot-name,
body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) header .header-actions {
    animation: logoMarkRevealHeader 0.72s ease-out 2.86s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #chat-window {
    padding-top: 78px;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage {
    top: 20px;
    left: 16px;
    width: 40px;
    height: 40px;
    transform: translate3d(calc(50vw - 36px), calc(50vh - 40px), 0) scale(4.3);
    transform-origin: center center;
    filter: none;
    will-change: transform;
    animation: logoMarkRevealDock 1.38s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-shell {
    inset: 0;
    border-radius: 8px;
    box-shadow:
        0 28px 72px rgba(82, 95, 122, 0.22),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.76);
    will-change: box-shadow;
    animation: logoMarkRevealShell 1.38s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-glow {
    display: block;
    inset: -24%;
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.68) 0%, rgba(132, 158, 202, 0.19) 36%, transparent 70%),
        conic-gradient(from 140deg, rgba(124, 185, 255, 0.00), rgba(124, 185, 255, 0.22), rgba(235, 176, 223, 0.18), rgba(255, 237, 188, 0.18), rgba(124, 185, 255, 0.00));
    filter: blur(18px);
    opacity: 0.82;
    animation: logoMarkRevealGlow 1.28s ease-out 1.48s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-ribbon-a,
body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-ribbon-b,
body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-ribbon-c,
body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) #splash-orb-stage .orb-glint {
    display: none;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) .message.ai:first-child {
    margin-top: 118px;
    animation: logoMarkRevealBubble 0.78s cubic-bezier(0.2, 0.8, 0.2, 1) 2.62s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"]:not(.chat-started) .input-area {
    animation: logoMarkRevealComposer 0.74s cubic-bezier(0.2, 0.8, 0.2, 1) 2.78s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) header .bot-name,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) header .header-actions,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) #splash-orb-stage,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) #splash-orb-stage .orb-shell,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) #splash-orb-stage .orb-glow,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) .message.ai:first-child,
body[class*="theme-dynamic_splash_logo_halo_reveal"].reveal-consent-pending:not(.chat-started) .input-area {
    animation-play-state: paused !important;
}

@keyframes logoMarkRevealDock {
    0%, 20% {
        transform: translate3d(calc(50vw - 36px), calc(50vh - 40px), 0) scale(4.3);
    }
    84% {
        transform: translate3d(0.8px, 0.8px, 0) scale(1.03);
    }
    100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes logoMarkRevealShell {
    0%, 20% {
        box-shadow:
            0 7px 18px rgba(82, 95, 122, 0.24),
            0 0 0 3.6px rgba(255, 255, 255, 0.20),
            inset 0 1px 0 rgba(255, 255, 255, 0.78);
    }
    84% {
        box-shadow:
            0 5px 13px rgba(82, 95, 122, 0.08),
            0 0 0 0 rgba(255, 255, 255, 0),
            inset 0 1px 0 rgba(255, 255, 255, 0.64);
    }
    100% {
        box-shadow:
            0 4px 10px rgba(82, 95, 122, 0.06),
            0 0 0 0 rgba(255, 255, 255, 0),
            inset 0 1px 0 rgba(255, 255, 255, 0.58);
    }
}

body.theme-dynamic_splash_logo_halo_reveal_sky:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(56, 132, 216, 0.20),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.theme-dynamic_splash_logo_halo_reveal_sky:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.70) 0%, rgba(96, 178, 255, 0.24) 36%, transparent 70%),
        conic-gradient(from 140deg, rgba(70, 165, 255, 0.00), rgba(70, 165, 255, 0.26), rgba(105, 219, 255, 0.18), rgba(186, 223, 255, 0.20), rgba(70, 165, 255, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_rose:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(201, 106, 122, 0.19),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.theme-dynamic_splash_logo_halo_reveal_rose:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.70) 0%, rgba(243, 148, 168, 0.22) 36%, transparent 70%),
        conic-gradient(from 140deg, rgba(230, 112, 133, 0.00), rgba(230, 112, 133, 0.24), rgba(255, 190, 136, 0.20), rgba(255, 224, 196, 0.20), rgba(230, 112, 133, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_wall_street:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(16, 47, 79, 0.20),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.theme-dynamic_splash_logo_halo_reveal_wall_street:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.74) 0%, rgba(16, 47, 79, 0.20) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(16, 47, 79, 0.00), rgba(16, 47, 79, 0.26), rgba(195, 154, 86, 0.22), rgba(236, 226, 202, 0.20), rgba(16, 47, 79, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_madison:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(23, 61, 53, 0.19),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.theme-dynamic_splash_logo_halo_reveal_madison:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.74) 0%, rgba(23, 61, 53, 0.20) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(23, 61, 53, 0.00), rgba(23, 61, 53, 0.24), rgba(185, 143, 90, 0.22), rgba(245, 238, 220, 0.20), rgba(23, 61, 53, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_steel_shop:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(49, 72, 95, 0.20),
        0 0 0 14px rgba(255, 255, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

body.theme-dynamic_splash_logo_halo_reveal_steel_shop:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.68) 0%, rgba(49, 72, 95, 0.20) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(49, 72, 95, 0.00), rgba(49, 72, 95, 0.24), rgba(239, 133, 62, 0.22), rgba(211, 224, 233, 0.18), rgba(49, 72, 95, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_blue_collar:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow:
        0 28px 72px rgba(36, 91, 122, 0.20),
        0 0 0 14px rgba(255, 255, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

body.theme-dynamic_splash_logo_halo_reveal_blue_collar:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.68) 0%, rgba(36, 91, 122, 0.20) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(36, 91, 122, 0.00), rgba(36, 91, 122, 0.24), rgba(247, 191, 80, 0.22), rgba(214, 232, 224, 0.18), rgba(36, 91, 122, 0.00));
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    overflow: visible;
    border-radius: 12px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.80), rgba(232, 240, 246, 0.46));
    box-shadow:
        0 28px 72px rgba(39, 66, 92, 0.20),
        0 0 0 14px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78);
    transform-origin: center center;
    animation:
        logoMarkRevealShell 1.38s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both,
        bizCardMotionShellOut 1.38s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 62px;
    height: 36px;
    border-radius: 7px;
    transform: translate(-50%, -50%);
    background-image:
        linear-gradient(145deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.02)),
        var(--splash-logo-url);
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow:
        0 16px 38px rgba(20, 34, 50, 0.22),
        0 0 0 1px rgba(39, 66, 92, 0.08);
    transform-origin: center center;
    will-change: transform, opacity;
    animation: bizCardMotionCardOut 1.38s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border-radius: 3px;
    background-image:
        linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.00)),
        var(--splash-card-url);
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.72) 0%, rgba(39, 66, 92, 0.18) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(39, 66, 92, 0.00), rgba(39, 66, 92, 0.22), rgba(210, 183, 132, 0.20), rgba(132, 178, 214, 0.18), rgba(39, 66, 92, 0.00));
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_heritage:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 10px;
    border-color: rgba(28, 48, 73, 0.18);
    box-shadow:
        0 26px 58px rgba(28, 48, 73, 0.18),
        0 0 0 12px rgba(255, 255, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_heritage.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    background: #fbf6eb;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_heritage.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border-color: rgba(28, 48, 73, 0.16);
    box-shadow:
        0 16px 36px rgba(28, 48, 73, 0.20),
        0 0 0 1px rgba(185, 143, 82, 0.12);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_heritage:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.72) 0%, rgba(28, 48, 73, 0.16) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(28, 48, 73, 0.00), rgba(28, 48, 73, 0.18), rgba(185, 143, 82, 0.16), rgba(28, 48, 73, 0.00));
    opacity: 0.72;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_executive:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 10px;
    border-color: rgba(35, 38, 45, 0.16);
    box-shadow:
        0 28px 64px rgba(35, 38, 45, 0.20),
        0 0 0 12px rgba(255, 255, 255, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_executive.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    background: #f5f1e8;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_executive.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border-color: rgba(35, 38, 45, 0.18);
    box-shadow:
        0 18px 40px rgba(35, 38, 45, 0.22),
        0 0 0 1px rgba(146, 113, 66, 0.12);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_executive:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.74) 0%, rgba(35, 38, 45, 0.14) 35%, transparent 70%),
        conic-gradient(from 140deg, rgba(35, 38, 45, 0.00), rgba(35, 38, 45, 0.18), rgba(146, 113, 66, 0.14), rgba(35, 38, 45, 0.00));
    opacity: 0.68;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_ledger:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 8px;
    border-color: rgba(55, 74, 92, 0.16);
    background-image:
        linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.00)),
        var(--splash-logo-url);
    box-shadow:
        0 22px 46px rgba(55, 74, 92, 0.14),
        0 0 0 10px rgba(255, 255, 255, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_ledger.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    background: #ffffff;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_ledger.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border-color: rgba(55, 74, 92, 0.14);
    box-shadow:
        0 14px 30px rgba(55, 74, 92, 0.16),
        0 0 0 1px rgba(55, 74, 92, 0.06);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_ledger:not(.chat-started) #splash-orb-stage .orb-glow {
    display: none;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 10px;
    border-color: rgba(232, 211, 168, 0.22);
    background-image:
        linear-gradient(145deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.00)),
        var(--splash-logo-url);
    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.36),
        0 0 0 11px rgba(232, 211, 168, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    background: #111318;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border-color: rgba(232, 211, 168, 0.26);
    box-shadow:
        0 20px 44px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(232, 211, 168, 0.12);
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(232, 211, 168, 0.24) 0%, rgba(232, 211, 168, 0.10) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(232, 211, 168, 0.00), rgba(232, 211, 168, 0.18), rgba(255, 255, 255, 0.08), rgba(232, 211, 168, 0.00));
    opacity: 0.70;
}

body[class*="theme-dynamic_splash_logo_halo"]:not(.chat-started) #splash-orb-stage .orb-shell {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-image: var(--splash-logo-url) !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
}

body.theme-dynamic_splash_logo_halo_noir:not(.chat-started) #splash-orb-stage .orb-shell,
body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir:not(.chat-started) #splash-orb-stage .orb-shell {
    box-shadow: none !important;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    border: 0 !important;
    outline: 0 !important;
    background-image: var(--splash-card-url) !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 16px 38px rgba(20, 34, 50, 0.16) !important;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_noir.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.28) !important;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_white:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.78) 0%, rgba(40, 71, 97, 0.12) 34%, transparent 70%),
        conic-gradient(from 140deg, rgba(40, 71, 97, 0.00), rgba(40, 71, 97, 0.14), rgba(180, 204, 228, 0.18), rgba(255, 255, 255, 0.24), rgba(40, 71, 97, 0.00));
    opacity: 0.62;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_porcelain:not(.chat-started) #splash-orb-stage .orb-glow {
    background:
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.78) 0%, rgba(90, 96, 88, 0.10) 35%, transparent 70%),
        conic-gradient(from 140deg, rgba(90, 96, 88, 0.00), rgba(90, 96, 88, 0.12), rgba(210, 190, 150, 0.18), rgba(255, 255, 255, 0.22), rgba(90, 96, 88, 0.00));
    opacity: 0.58;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_white.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    box-shadow: 0 16px 34px rgba(40, 71, 97, 0.13) !important;
}

body.theme-dynamic_splash_logo_halo_reveal_biz_card_porcelain.splash-has-business-card:not(.chat-started) #splash-orb-stage .orb-shell::before {
    box-shadow: 0 16px 34px rgba(90, 79, 58, 0.12) !important;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) header {
    display: flex !important;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 18;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) .header-top {
    width: 100%;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) #quick-actions {
    display: none !important;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) .ai-watermark-badge {
    display: none !important;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"]:not(.chat-started) header .logo-img {
    opacity: 0;
    animation: bizCardMotionHeaderLogoIn 0.48s cubic-bezier(0.2, 0.8, 0.2, 1) 2.68s both;
}

body[class*="theme-dynamic_splash_logo_halo_reveal_biz_card"].reveal-consent-pending:not(.chat-started) header .logo-img {
    animation-play-state: paused !important;
}

@keyframes bizCardMotionShellOut {
    0%, 72% {
        opacity: 1;
        transform: scale(1);
    }
    86% {
        opacity: 0.58;
        transform: scale(0.82);
    }
    100% {
        opacity: 0;
        transform: scale(0.28);
    }
}

@keyframes bizCardMotionCardOut {
    0%, 62% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    86% {
        opacity: 0.5;
        transform: translate(-50%, -50%) scale(0.72);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.22);
    }
}

@keyframes bizCardMotionHeaderLogoIn {
    0% {
        opacity: 0;
        transform: scale(0.74);
        filter: blur(6px);
    }
    100% {
        opacity: 1;
        transform: scale(1);
        filter: blur(0);
    }
}

@keyframes logoMarkRevealGlow {
    0% {
        opacity: 0.94;
        transform: scale(0.96) rotate(0deg);
    }
    72% {
        opacity: 0.58;
        transform: scale(1.12) rotate(72deg);
    }
    100% {
        opacity: 0;
        transform: scale(0.72) rotate(92deg);
    }
}

@keyframes logoMarkRevealHeader {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes logoMarkRevealBubble {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes logoMarkRevealComposer {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.theme-dynamic_splash_prism_menu_obsidian {
    background: #0c0d12 !important;
}

body.theme-dynamic_splash_prism_menu_obsidian #app-container {
    border-color: rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 34px 76px rgba(0, 0, 0, 0.44) !important;
}

body.theme-dynamic_splash_prism_menu_obsidian header {
    background: rgba(255, 255, 255, 0.06);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.theme-dynamic_splash_prism_menu_obsidian .message.ai {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.12);
    color: #f7efe0;
}

body.theme-dynamic_splash_prism_menu_obsidian .message.user {
    background: linear-gradient(135deg, #f7c95f 0%, #ff8a64 100%) !important;
    border-color: rgba(255, 236, 188, 0.32);
    color: #191511 !important;
    text-shadow: none;
}

body.theme-dynamic_splash_prism_menu_obsidian .input-row-container {
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(255, 255, 255, 0.14);
}

body.theme-dynamic_splash_prism_menu_obsidian .input-wrapper {
    color: #f7efe0;
}

body.theme-dynamic_splash_prism_menu_obsidian #user-input,
body.theme-dynamic_splash_prism_menu_obsidian #user-input::placeholder {
    color: rgba(247, 239, 224, 0.70);
}

body.theme-dynamic_splash_prism_menu_obsidian .quick-actions-toggle {
    color: #f8efd9;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.30);
}

body.theme-dynamic_splash_prism_menu_obsidian.quick-actions-open .quick-actions-toggle {
    background: rgba(246, 198, 91, 0.18);
}

body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_obsidian .quick-actions {
    background: rgba(22, 23, 31, 0.86);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 28px 48px rgba(0, 0, 0, 0.42);
}

body.quick-actions-collapsible.theme-dynamic_splash_prism_menu_obsidian .quick-actions .action-btn {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: #f8efd9;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 12px 22px rgba(0, 0, 0, 0.26);
}

body.quick-actions-collapsible.theme-glass_luxe_menu .quick-actions-toggle,
body.quick-actions-collapsible.theme-glass_terracotta_menu .quick-actions-toggle,
body.quick-actions-collapsible.theme-funky_signal_menu .quick-actions-toggle {
    display: inline-flex;
}

body.quick-actions-collapsible.theme-glass_luxe_menu .ai-watermark-badge,
body.quick-actions-collapsible.theme-glass_terracotta_menu .ai-watermark-badge,
body.quick-actions-collapsible.theme-funky_signal_menu .ai-watermark-badge {
    display: none;
}

body.quick-actions-collapsible.theme-glass_luxe_menu header,
body.quick-actions-collapsible.theme-glass_terracotta_menu header,
body.quick-actions-collapsible.theme-funky_signal_menu header {
    position: relative;
    overflow: visible;
    z-index: 24;
}

body.quick-actions-collapsible.theme-glass_luxe_menu .header-top,
body.quick-actions-collapsible.theme-glass_terracotta_menu .header-top,
body.quick-actions-collapsible.theme-funky_signal_menu .header-top {
    position: relative;
    z-index: 2;
}

body.quick-actions-collapsible.theme-glass_luxe_menu .quick-actions,
body.quick-actions-collapsible.theme-glass_terracotta_menu .quick-actions,
body.quick-actions-collapsible.theme-funky_signal_menu .quick-actions {
    position: absolute;
    top: calc(100% + 10px);
    right: 18px;
    left: auto;
    z-index: 30;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: min(230px, calc(100vw - 48px));
    max-height: none;
    padding: 10px;
    overflow: visible;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 24px;
    backdrop-filter: blur(22px) saturate(1.2);
    -webkit-backdrop-filter: blur(22px) saturate(1.2);
    transform-origin: top right;
    transition: opacity 0.26s ease, transform 0.32s ease, clip-path 0.32s ease, filter 0.32s ease;
}

body.quick-actions-collapsible.theme-glass_luxe_menu .quick-actions .action-btn,
body.quick-actions-collapsible.theme-glass_terracotta_menu .quick-actions .action-btn,
body.quick-actions-collapsible.theme-funky_signal_menu .quick-actions .action-btn {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 16px;
    font-size: 13px;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

body.quick-actions-collapsible.theme-glass_luxe_menu:not(.quick-actions-open) .quick-actions,
body.quick-actions-collapsible.theme-glass_terracotta_menu:not(.quick-actions-open) .quick-actions,
body.quick-actions-collapsible.theme-funky_signal_menu:not(.quick-actions-open) .quick-actions {
    opacity: 0;
    transform: translate3d(10px, -14px, 0) scale(0.90);
    clip-path: inset(0 0 100% 0 round 22px);
    filter: blur(7px);
    pointer-events: none;
}

body.quick-actions-open.theme-glass_luxe_menu .quick-actions,
body.quick-actions-open.theme-glass_terracotta_menu .quick-actions,
body.quick-actions-open.theme-funky_signal_menu .quick-actions {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    clip-path: inset(0 0 0 0 round 22px);
    filter: blur(0);
}

body.theme-glass_luxe_menu .quick-actions-toggle {
    color: #405174;
    background: rgba(255, 255, 255, 0.48);
    border-color: rgba(255, 255, 255, 0.48);
    box-shadow: 0 14px 28px rgba(95, 111, 149, 0.16);
}

body.theme-glass_luxe_menu.quick-actions-open .quick-actions-toggle {
    background: rgba(255, 255, 255, 0.72);
}

body.quick-actions-collapsible.theme-glass_luxe_menu .quick-actions {
    background: rgba(246, 249, 253, 0.72);
    box-shadow: 0 28px 50px rgba(95, 111, 149, 0.20);
}

body.quick-actions-collapsible.theme-glass_luxe_menu .quick-actions .action-btn {
    color: #405174;
    background: rgba(255, 255, 255, 0.54);
    border-color: rgba(255, 255, 255, 0.56);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

body.theme-glass_terracotta_menu .quick-actions-toggle {
    color: #7f5139;
    background: rgba(255, 250, 244, 0.52);
    border-color: rgba(255, 255, 255, 0.50);
    box-shadow: 0 14px 28px rgba(183, 99, 66, 0.15);
}

body.theme-glass_terracotta_menu.quick-actions-open .quick-actions-toggle {
    background: rgba(255, 250, 244, 0.76);
}

body.quick-actions-collapsible.theme-glass_terracotta_menu .quick-actions {
    background: rgba(255, 248, 241, 0.74);
    box-shadow: 0 28px 48px rgba(183, 99, 66, 0.20);
}

body.quick-actions-collapsible.theme-glass_terracotta_menu .quick-actions .action-btn {
    color: #754f3d;
    background: rgba(255, 252, 248, 0.58);
    border-color: rgba(183, 99, 66, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

body.theme-funky_signal_menu .quick-actions-toggle {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(20, 184, 166, 0.92) 0%, rgba(59, 130, 246, 0.90) 100%);
    border-color: rgba(255, 255, 255, 0.46);
    box-shadow: 0 14px 28px rgba(20, 184, 166, 0.20);
}

body.theme-funky_signal_menu.quick-actions-open .quick-actions-toggle {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.95) 0%, rgba(20, 184, 166, 0.95) 100%);
}

body.quick-actions-collapsible.theme-funky_signal_menu .quick-actions {
    background: rgba(240, 255, 251, 0.80);
    box-shadow: 0 28px 48px rgba(20, 184, 166, 0.22);
}

body.quick-actions-collapsible.theme-funky_signal_menu .quick-actions .action-btn {
    color: #285c64;
    background: rgba(255, 255, 255, 0.70);
    border-color: rgba(20, 184, 166, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage {
    top: 16.2%;
    width: 176px;
    height: 176px;
    overflow: visible;
    border-radius: 32px;
    filter: saturate(1.18);
    animation: awardGeometryFloat 2.9s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-shell {
    border-radius: 30px;
    clip-path: none;
    background:
        radial-gradient(circle at 32% 24%, rgba(255, 255, 255, 0.30) 0%, transparent 28%),
        conic-gradient(from 35deg at 50% 50%, rgba(246,198,91,0.20), rgba(255,122,89,0.58), rgba(132,92,255,0.44), rgba(246,198,91,0.66), rgba(246,198,91,0.20));
    border: 1px solid rgba(246, 198, 91, 0.26);
    box-shadow:
        inset 0 1px 1px rgba(255,255,255,0.24),
        inset 0 -18px 34px rgba(0,0,0,0.24),
        0 28px 58px rgba(246, 198, 91, 0.16);
    transform: rotate(45deg);
    animation: awardObsidianTurn 8s linear infinite;
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-ribbon-a {
    inset: 22% 0 39% 0;
    border-radius: 999px;
    background: linear-gradient(95deg, transparent 0%, rgba(246,198,91,0.78) 30%, rgba(255,255,255,0.22) 50%, rgba(255,122,89,0.56) 72%, transparent 100%);
    filter: blur(5px);
    transform: rotate(-18deg);
    animation: awardRibbonSweep 1.8s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-ribbon-b {
    inset: 42% -2% 28% 2%;
    border-radius: 999px;
    background: linear-gradient(92deg, transparent 0%, rgba(132,92,255,0.56) 30%, rgba(246,198,91,0.62) 72%, transparent 100%);
    filter: blur(7px);
    transform: rotate(22deg);
    animation: awardRibbonSweep 1.35s ease-in-out infinite alternate-reverse;
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-ribbon-c {
    inset: 20% 34% 46% 38%;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255,255,255,0.54) 0%, rgba(246,198,91,0.20) 50%, transparent 75%);
    filter: blur(3px);
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-glow {
    display: block;
    inset: -22%;
    border-radius: 42px;
    background: radial-gradient(circle at 50% 50%, rgba(246, 198, 91, 0.18) 0%, rgba(132, 92, 255, 0.13) 34%, transparent 66%);
    filter: blur(22px);
    opacity: 0.9;
    animation: awardGlowPulse 1.7s ease-in-out infinite alternate;
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) #splash-orb-stage .orb-glint {
    top: 15%;
    left: 24%;
    width: 30px;
    height: 30px;
    background: radial-gradient(circle, rgba(255,255,255,0.62), rgba(246,198,91,0.18) 58%, transparent 76%);
    filter: blur(3px);
}

body.theme-dynamic_splash_prism_menu_obsidian:not(.chat-started) .message.ai:first-child {
    margin-top: 218px;
    max-width: 76%;
    font-size: 1.1rem;
    letter-spacing: -0.035em;
    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.30);
}

@keyframes awardGeometryFloat {
    from {
        transform: translateX(-50%) translateY(0) scale(1);
    }
    to {
        transform: translateX(-50%) translateY(-10px) scale(1.02);
    }
}

@keyframes awardAuroraTurn {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes awardObsidianTurn {
    from {
        transform: rotate(45deg);
    }
    to {
        transform: rotate(405deg);
    }
}

@keyframes awardRibbonSweep {
    from {
        opacity: 0.74;
        translate: -5px 0;
    }
    to {
        opacity: 1;
        translate: 6px 0;
    }
}

@keyframes awardGlowPulse {
    from {
        opacity: 0.58;
        transform: scale(0.94);
    }
    to {
        opacity: 0.92;
        transform: scale(1.08);
    }
}
