/* Diseño de conversación principal */
.chat-home { background: #100915; background-image: radial-gradient(ellipse at 80% -25%, rgba(143,47,105,.27), transparent 47%), radial-gradient(ellipse at 5% 70%, rgba(90,42,123,.12), transparent 48%); color: #f7f1ea; }
.chat-home :focus-visible { outline: 2px solid #ffa953; outline-offset: 3px; }
.site-header { border-bottom: 1px solid rgba(245,222,207,.1); background: rgba(15,7,19,.96); }
.site-header-inner { max-width: 1450px; padding: 11px 38px; margin: auto; display:flex; justify-content:space-between; align-items:center; gap: 20px; }
.brand { display:flex; gap:14px; align-items:center; color:inherit; text-decoration:none; min-width:0; }
.brand-logo { width:65px; height:65px; object-fit:cover; background:#fff; border-radius:50%; padding:2px; box-shadow:0 0 0 1px #914d72, 0 7px 27px #08030a; flex:none; }
.brand-copy { display:flex; flex-direction:column; }
.brand-copy strong { font-family:'Playfair Display',serif; font-size:25px; font-weight:700; line-height:1.2; letter-spacing:.01em; }
.brand-copy small { font-family:'Crimson Text',serif; font-size:15px; font-style:italic; color:#d6ae9e; }
.site-nav { display:flex; gap:28px; align-items:center; }
.site-nav a { color:#bfaebd; font-weight:600; font-size:13px; text-decoration:none; transition:color .2s; }
.site-nav a:hover, .site-nav a.current-link { color:#ffbb75; }
.main-shell { max-width:1450px; margin:auto; padding:32px 38px 48px; display:grid; grid-template-columns:minmax(0,1.9fr) minmax(290px,.83fr); gap:30px; align-items:start; }
.conversation-panel { min-width:0; }
.conversation-intro { display:flex; justify-content:space-between; margin-bottom:20px; }
.eyebrow { color:#e6b690; letter-spacing:.16em; font-size:10px; font-weight:700; text-transform:uppercase; }
.eyebrow-dot, .presence-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#cdae7b; vertical-align:middle; margin-right:6px; }
.conversation-intro h1 { font-family:'Playfair Display',serif; font-size:clamp(32px,3vw,44px); font-weight:700; line-height:1.25; margin:8px 0 6px; color:#fff9f2; }
.conversation-intro h1 em, .side-feature h2 em { color:#fbb06c; font-style:normal; }
.conversation-intro p { color:#bfaabd; font-size:13px; line-height:1.65; max-width:650px; }
.chat-home .chat-container { max-width:none; margin:0; height:min(73vh,760px); min-height:510px; border-radius:17px; background:#140e1a; border:1px solid #513348; box-shadow:0 28px 62px rgba(0,0,0,.35); }
.chat-home .chat-header { margin:0; padding:16px 22px; display:flex; align-items:center; text-align:left; background:linear-gradient(100deg,#211329,#1a111e); gap:13px; flex:none; }
.catrina-avatar { width:46px; height:46px; border-radius:50%; object-fit:cover; object-position:center 25%; border:1px solid #9f705d; background:#442141; }
.chat-identity { flex:1; min-width:0; }
.chat-identity h2 { color:#fff0d6; font-size:16px; font-family:'Playfair Display',serif; line-height:1.4; }
.chat-identity p { color:#c3b2bb; font-size:11px; }
.presence-dot { width:6px; height:6px; background:#79c49d; }
.poetry-toggle { display:flex; align-items:center; gap:10px; white-space:nowrap; color:#e6c5ab; font-size:11px; font-weight:600; cursor:pointer; }
.chat-home .switch { width:42px; height:23px; }
.chat-home .slider:before { width:17px; height:17px; }
.chat-home input:checked + .slider { background:linear-gradient(135deg,#be653b,#b45170); }
.chat-home input:checked + .slider:before { transform:translateX(19px); }
.chat-home .chat-messages { background:radial-gradient(circle at 55% 0,#1b1123,#110b16 75%); padding:25px; gap:16px; min-height:0; scroll-behavior:smooth; }
.chat-home .message { padding:12px 16px; max-width:83%; border-radius:13px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; animation:none; }
.chat-home .bot-message { background:#2a1a30; border:1px solid #493046; border-bottom-left-radius:3px; color:#f4e6ed; font-family:'Crimson Text',serif; font-style:normal; font-size:17px; }
.chat-home .user-message { background:#814047; border:1px solid #a55c51; border-bottom-right-radius:3px; font-weight:500; color:white; }
.message-play { display:inline-flex; gap:6px; align-items:center; margin-top:10px; color:#ffc18e; font:600 11px 'Inter',sans-serif; background:transparent; border:0; cursor:pointer; padding:0; }
.message-play:hover { color:white; }
.conversation-actions { display:flex; padding:12px 17px 7px; flex-wrap:wrap; gap:7px; border-top:1px solid #32213a; background:#18101d; }
.prompt-chip { background:#231726; border:1px solid #553c4c; border-radius:20px; color:#e4c7c6; padding:7px 10px; cursor:pointer; font:500 11px 'Inter',sans-serif; transition:.18s; }
.prompt-chip:hover { background:#3a2340; border-color:#a76c70; color:white; }
.chat-status { padding:0 17px; font-size:11px; min-height:0; color:#f6bf98; background:#18101d; }
.chat-status:not(:empty) { padding-block:6px; }
.chat-home .chat-input-area { padding:12px 15px; background:#18101d; gap:10px; border-top:0; }
.chat-home .input-wrapper { position:relative; gap:0; min-width:0; }
.chat-home #user-input { border-radius:10px; background:#100b15; border:1px solid #4b334b; font-size:13px; padding:12px 54px 12px 14px; min-height:46px; }
.chat-home #user-input::placeholder { color:#978595; }
.chat-home #mic-btn { width:42px; height:40px; position:absolute; right:3px; top:3px; background:transparent; border:0; border-radius:7px; color:#dcb59e; padding:10px; }
.chat-home #mic-btn svg { width:20px; height:20px; }
.chat-home #mic-btn.listening { color:#ffb9a2; background:rgba(180,70,70,.17); box-shadow:none; animation:none; }
.chat-home #send-btn { background:#d18550; color:#180e13; border-radius:10px; padding:0 18px; display:flex; align-items:center; gap:8px; font-size:12px; letter-spacing:0; text-transform:none; box-shadow:none; }
.chat-home #send-btn svg { width:16px; height:16px; }
.chat-home #send-btn:disabled { opacity:.5; cursor:wait; }
.chat-footerbar { padding:0 17px 12px; background:#18101d; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.chat-footerbar>span { color:#968494; font-size:10px; }
#voice-toggle { background:transparent; border:0; display:flex; align-items:center; gap:5px; cursor:pointer; color:#f0b98c; white-space:nowrap; font-size:10px; font-weight:600; }
#voice-toggle svg { width:16px; height:16px; }
#voice-toggle[aria-pressed="false"] { color:#a6989d; }
.info-sidebar { padding-top:8px; min-width:0; }
.side-feature { border:1px solid #463045; border-radius:14px; background:linear-gradient(145deg,#2c1830,#1c1123); padding:22px; overflow:hidden; }
.side-feature h2 { font-family:'Playfair Display',serif; font-size:29px; line-height:1.22; font-weight:700; margin:12px 0; }
.side-feature p { font-family:'Crimson Text',serif; font-size:17px; line-height:1.5; color:#d2b4c2; margin-bottom:16px; }
.side-feature img { width:100%; height:150px; object-fit:cover; object-position:center; border-radius:9px; opacity:.82; }
.explore-heading { display:flex; justify-content:space-between; align-items:center; font-family:'Playfair Display',serif; font-size:18px; margin:25px 0 11px; }
.explore-heading span { color:#e8a879; }
.explore-card { color:inherit; text-decoration:none; background:#1e1524; border:1px solid #3d2a3c; border-radius:11px; padding:11px; display:flex; align-items:center; gap:12px; margin-bottom:9px; transition:background .2s,border-color .2s; }
.explore-card:hover { background:#302037; border-color:#8c5a68; }
.explore-card>img, .documentary-icon { width:64px; height:64px; object-fit:cover; border-radius:8px; flex:none; }
.explore-card>span:nth-child(2) { min-width:0; flex:1; display:flex; flex-direction:column; }
.explore-card small { color:#c68d75; font-size:9px; letter-spacing:.08em; }
.explore-card strong { font-family:'Playfair Display',serif; font-size:16px; margin:2px 0; line-height:1.25; }
.explore-card span span { font-size:11px; color:#ae9eab; }
.explore-arrow { color:#d79b80; font-size:18px; }
.documentary-icon { display:grid; place-items:center; background:#4b2c3d; color:#e6b08c; font-size:16px; }
.documentary-section { max-width:1374px; margin:0 auto 50px; padding:22px 35px; border-top:1px solid #3b293b; display:flex; justify-content:space-between; gap:32px; align-items:start; }
.documentary-section h2 { font-family:'Playfair Display',serif; font-size:24px; margin:7px 0; }
.documentary-section p { color:#bdaab7; font-size:13px; }
.documentary-details { width:min(100%,420px); }
.documentary-details summary { cursor:pointer; background:#302039; color:#fbd0a3; font-size:13px; font-weight:600; border:1px solid #644258; border-radius:10px; padding:13px 17px; list-style:none; display:flex; justify-content:space-between; }
.documentary-details summary::-webkit-details-marker { display:none; }
.documentary-details[open] summary { border-radius:10px 10px 0 0; }
.documentary-details .video-wrapper { overflow:hidden; border-radius:0 0 10px 10px; }
.site-footer { border-top:1px solid #332439; padding:19px 24px; display:flex; gap:12px; align-items:center; justify-content:center; color:#aa99a7; background:#100b14; font-size:11px; }
.site-footer img { border-radius:50%; }
@media(max-width:1050px) { .main-shell { grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr); padding:26px 24px 38px; gap:19px; } .site-header-inner { padding:10px 24px; } .side-feature img { height:125px; } .side-feature h2 { font-size:24px; } }
@media(max-width:760px) { .site-header-inner { padding:10px 16px; } .brand-logo { width:52px; height:52px; } .brand-copy strong { font-size:20px; } .brand-copy small { font-size:12px; } .site-nav { gap:12px; } .site-nav a { font-size:11px; } .site-nav a.current-link { display:none; } .main-shell { display:flex; flex-direction:column; padding:19px 13px 32px; gap:36px; } .conversation-panel,.info-sidebar { width:100%; } .conversation-intro { margin:0 3px 16px; } .conversation-intro h1 { font-size:32px; } .conversation-intro p { font-size:12px; } .chat-home .chat-container { height:calc(100dvh - 228px); min-height:470px; max-height:710px; } .chat-home .chat-header { padding:12px 13px; gap:9px; } .catrina-avatar { width:40px; height:40px; } .chat-identity h2 { font-size:14px; } .chat-identity p { font-size:10px; } .poetry-toggle { gap:6px; font-size:10px; } .chat-home .chat-messages { padding:16px 12px; gap:12px; } .chat-home .message { max-width:95%; font-size:14px; } .chat-home .bot-message { font-size:16px; } .conversation-actions { padding:9px 10px 3px; } .prompt-chip { font-size:10px; } .chat-home .chat-input-area { padding:9px 10px; gap:7px; } .chat-home #send-btn { padding:0 12px; } .chat-home #send-btn svg { display:none; } .chat-footerbar { padding:0 11px 10px; } .chat-footerbar>span { max-width:60%; } .info-sidebar { padding:0; } .side-feature img { height:160px; } .documentary-section { margin:0 14px 28px; display:block; padding:24px 0; } .documentary-details { margin-top:18px; width:100%; } }
@media(max-width:380px) { .site-nav a { font-size:10px; } .brand-copy strong { font-size:18px; } .brand-logo { width:46px; height:46px; } .poetry-toggle { flex-direction:column; gap:4px; } .chat-footerbar>span { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .chat-home * { animation-duration:.01ms!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

.conversation-actions[hidden] { display:none; }
