/* Rose assistant widget (assistant.js) */
.rose{--rose-dark:#10241c;--rose-gold:#cfb47b;--rose-paper:#f5f2ea;position:fixed;inset-block-end:22px;inset-inline-end:22px;z-index:120;font-family:Arial,Tahoma,sans-serif;color:#20201c}
.rose svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.rose button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.rose-avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3dfae,#c9a865 60%,#a8864a);color:#2a2214;font-family:Georgia,serif;font-size:16px;box-shadow:inset 0 0 0 1px #fff6,0 2px 8px #0003}
.rose-avatar-lg{width:64px;height:64px;font-size:28px}
.rose-launch{display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:40px;background:var(--rose-dark)!important;color:#f3ead3!important;border:1px solid #cfb47b66!important;box-shadow:0 14px 34px #0e1d1659;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s}
html[dir=rtl] .rose-launch{padding:8px 8px 8px 18px}
.rose-launch:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0e1d1670}
.rose.is-open .rose-launch{display:none}
.rose-panel{position:fixed;inset-block:16px;inset-inline-end:16px;width:min(400px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--rose-paper);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #0b17124d;animation:rose-in .3s ease-out}
.rose-panel[hidden]{display:none}
@keyframes rose-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rose-view{flex:1;display:flex;flex-direction:column;min-height:0}
.rose-view[hidden]{display:none}
.rose-head{display:flex;align-items:center;gap:16px;padding:30px 24px;background:linear-gradient(160deg,#1e3a2f,var(--rose-dark));color:#f3efe4}
.rose-head h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:28px;letter-spacing:-.3px}
html[dir=rtl] .rose-head h2{font-family:inherit;font-weight:600}
.rose-head p{margin:6px 0 0;font-size:14px;line-height:1.5;color:#bfd0c3}
.rose-x{display:grid;place-items:center;width:42px;height:42px;margin-inline-start:auto;border-radius:50%;border:1px solid #ffffff2e!important;color:#f3efe4!important;flex-shrink:0}
.rose-x:hover{background:#ffffff14!important}
.rose-body{flex:1;overflow-y:auto;padding:22px}
/* Start card: language, then chat or voice call (each opens the ElevenLabs agent for that language). */
.rose-start{padding:18px 18px 10px;margin-bottom:16px}
.rose-start h3{margin:0 0 4px;font-family:Georgia,serif;font-weight:400;font-size:21px;color:#14261d}
html[dir=rtl] .rose-start h3{font-family:inherit;font-weight:600}
.rose-start .rose-label{margin:14px 0 8px}
.rose-langs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:12px;background:#f1ece0}
.rose-langs button{min-height:44px;border-radius:9px;font-size:15px;font-weight:600;color:#5d5a52}
.rose-langs button[aria-pressed=true]{background:#fff!important;color:#14261d;box-shadow:0 1px 4px #2a2a1f26}
.rose-mode{display:flex!important;align-items:center;gap:14px;width:100%;min-height:64px;padding:14px;margin-bottom:8px;border:1px solid #e2dccd!important;border-radius:14px;background:#fff!important;text-align:start}
.rose-mode:hover{background:#faf7f0!important;border-color:#cfb47b!important}
.rose-mode>svg:first-child{width:24px;height:24px;color:#846939}
.rose-mode>span{flex:1;display:flex;flex-direction:column;gap:3px}
.rose-mode b{font-size:16px}
.rose-mode small{font-size:13px;color:#7a766b;line-height:1.4}
.rose-card{display:block;width:100%;background:#fff;border:1px solid #e2dccd;border-radius:16px;box-shadow:0 6px 18px #2a2a1f0d}
.rose-chev{width:16px!important;height:16px!important;color:#8a857a}
.rose-menu{padding:6px 0}
.rose-label{margin:14px 22px 6px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#846939}
html[dir=rtl] .rose-label{font-size:13px;letter-spacing:0}
.rose-menu a,.rose-menu button{display:flex;align-items:center;gap:14px;width:100%;padding:15px 22px;border-top:1px solid #eee9de!important;color:#20201c;text-decoration:none;text-align:start;font-size:15px}
.rose-menu a:first-of-type{border-top:0!important}
.rose-menu a>svg:first-child,.rose-menu button>svg:first-child{color:#846939}
.rose-menu a span,.rose-menu button span{flex:1}
.rose-menu a:hover,.rose-menu button:hover{background:#faf7f0!important}
.rose-foot{margin:18px 6px 0;font-size:12.5px;line-height:1.6;color:#7a766b;text-align:center}
.rose button:focus-visible,.rose a:focus-visible{outline:2px solid var(--rose-gold);outline-offset:2px}
@media(max-width:520px){.rose{inset-block-end:14px;inset-inline-end:14px}.rose-panel{inset:8px;width:auto}.rose-head{padding:22px 18px}.rose-avatar-lg{width:52px;height:52px;font-size:23px}}
@media(prefers-reduced-motion:reduce){.rose-panel{animation:none}.rose-launch{transition:none}}
/* Rose's portrait inside the gold ring */
.rose-avatar{overflow:hidden;padding:2px;background:linear-gradient(140deg,#f3dfae,#b08e52)}
.rose-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.rose-launch .rose-avatar{width:40px;height:40px}
/* The fixed launcher covers the bottom ~80px of the screen; end the footer above it so the last row (e.g. Privacy) stays clickable. */
.site-footer{padding-bottom:92px}
/* Phones: the launcher shows only Rose's avatar; the label stays for screen readers. */
@media(max-width:520px){.rose-launch,html[dir=rtl] .rose-launch{padding:6px;gap:0}.rose-launch>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rose-launch .rose-avatar{width:46px;height:46px}}
/* Phones: launcher sits tight in the corner, clear of the iOS home bar. */
@media(max-width:520px){.rose{inset-block-end:max(10px,env(safe-area-inset-bottom));inset-inline-end:10px}}
/* Open panel: a full-height sheet flush with the screen edge on desktop; the whole screen on phones. */
.rose-panel{inset-block:0;inset-inline-end:0;width:min(420px,100vw);height:100dvh;border-radius:0;border-start-start-radius:18px;border-end-start-radius:18px}
@media(max-width:520px){.rose-panel{inset:0;width:100%;height:100dvh;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}}
/* Desktop/tablet launcher: compact two-line pill with an online dot. Phones (≤520px) keep the avatar-only button above. */
@media(min-width:521px){
.rose-launch{position:relative;gap:9px;padding:5px 16px 5px 5px;border-radius:30px;background:linear-gradient(135deg,#173328,#0e2019)!important;border-color:#cfb47b4d!important;box-shadow:0 8px 22px #0e1d1638;font-size:12.5px;font-weight:600;letter-spacing:.2px}
html[dir=rtl] .rose-launch{padding:5px 5px 5px 16px;letter-spacing:0}
.rose-launch:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0e1d164d}
.rose-launch .rose-avatar{width:32px;height:32px}
.rose-launch:before{content:'';position:absolute;inset-block-end:5px;inset-inline-start:29px;width:7px;height:7px;border-radius:50%;background:#5fd394;border:2px solid #10241c;z-index:1}
.rose-launch>span:last-child{display:grid;gap:1px;line-height:1.2;text-align:start}
.rose-launch>span:last-child:after{content:'Online · ask anything';font-size:10px;font-weight:400;letter-spacing:0;color:#a9c3ae}
html[lang=ar] .rose-launch>span:last-child:after{content:'متصلة · اسألني أي شيء'}
}

/* Coming soon (no ElevenLabs agent id set, see assistant.js): the launcher says "Coming soon" and opens this view. */
.rose-soon-body{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:24px 22px 26px;text-align:start}
.rose-soon-badge{align-self:flex-start;flex:none;padding:4px 11px;border-radius:20px;background:#cfb47b2e;color:#7a5c25;font-size:11.5px;font-weight:700;letter-spacing:.3px}
.rose-soon-body h3{margin:2px 0 0;font-size:19px;line-height:1.3;color:#14261d}
.rose-soon-body p{margin:0;font-size:14px;line-height:1.6;color:#4b5249}
.rose-soon-cta{flex:none;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;padding:13px 16px;border-radius:12px;background:#d5b97f;color:#13241b!important;font-weight:700;font-size:14px;text-decoration:none!important}
.rose-soon-cta:hover{background:#e0c793}
.rose-soon-wa{flex:none;display:flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:12px;border:1px solid #1f4a3540;color:#1f4a35!important;font-weight:600;font-size:14px;text-decoration:none!important}
.rose-soon-wa:hover{background:#1f4a350d}
.rose-soon-cta:focus-visible,.rose-soon-wa:focus-visible{outline:2px solid #b8955a;outline-offset:2px}
@media(min-width:521px){.rose-soon-mode .rose-launch>span:last-child:after{content:'Coming soon'}html[lang=ar] .rose-soon-mode .rose-launch>span:last-child:after{content:'قريباً'}.rose-soon-mode .rose-launch:before{background:#d5b97f}}

/* Small header (chat, call), back button */
.rose-head-sm{padding:16px 18px;gap:12px}
.rose-head-sm h2{font-size:21px}
.rose-who{flex:1;min-width:0}
.rose-state{margin:2px 0 0!important;font-size:12.5px!important;color:#a9c3ae!important}
.rose-back{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff2e!important;color:#f3efe4!important;flex-shrink:0}
.rose-back:hover{background:#ffffff14!important}
html[dir=rtl] .rose-back svg,html[dir=rtl] .rose-chev{transform:scaleX(-1)}
.rose-note{margin:6px 2px 4px;font-size:12px;color:#8a857a}
.rose-mode-call>svg:first-child{color:#0f6b46}
.rose-help{display:grid;gap:8px;margin-top:10px}

/* Chat */
.rose-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:20px}
.rose-msg{max-width:84%;padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.rose-rose{align-self:flex-start;background:#fff;border:1px solid #e2dccd;border-end-start-radius:4px}
.rose-me{align-self:flex-end;background:var(--rose-dark);color:#f3efe4;border-end-end-radius:4px}
.rose-typing{color:#8a857a;font-style:italic}
.rose-msg .rose-help{white-space:normal}
.rose-input{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid #e2dccd;background:#fff}
.rose-input input{flex:1;min-width:0;min-height:44px;padding:10px 14px;border:1px solid #ddd6c6;border-radius:24px;font:inherit;font-size:16px;background:var(--rose-paper)}
.rose-input input:focus{outline:2px solid var(--rose-gold);outline-offset:1px}
.rose-input input:disabled{opacity:.6}
.rose-send{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;flex-shrink:0;background:var(--rose-dark)!important;color:#f3ead3!important}
.rose-send:disabled{opacity:.45;cursor:default}
html[dir=rtl] .rose-send svg{transform:scaleX(-1)}

/* Voice call: Rose's portrait with an aura that follows her voice (--out) and a ring that follows the caller's (--in). */
.rose-call{background:radial-gradient(120% 70% at 50% 30%,#1f4535 0%,#10241c 55%,#0a1712 100%);color:#f3efe4}
.rose-call-top{display:flex;align-items:center;gap:12px;padding:16px 18px}
.rose-timer{flex:1;text-align:center;font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:1px;color:#a9c3ae}
.rose-call[data-phase=connecting] .rose-timer,.rose-call[data-phase=error] .rose-timer{visibility:hidden}
.rose-stage{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:8px 24px 16px;text-align:center}
.rose-voice{position:relative;display:grid;place-items:center;width:calc(100% + 32px);margin:18px -16px 22px;flex-shrink:0}
.rose-wave{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rose-orb{--out:0;--in:0;position:relative;z-index:1;display:grid;place-items:center;width:220px;height:220px;flex-shrink:0}
.rose-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none}
.rose-ring-1{inset:34px;box-shadow:0 0 0 calc(2px + var(--in) * 10px) #5fd39459;transition:box-shadow .08s linear}
.rose-ring-2{inset:20px;background:radial-gradient(circle,#cfb47b00 55%,#cfb47b40 70%,#cfb47b00 72%);transform:scale(calc(1 + var(--out) * .18));transition:transform .08s linear}
.rose-ring-3{background:radial-gradient(circle,#cfb47b33 0%,#cfb47b14 45%,#cfb47b00 70%);transform:scale(calc(.85 + var(--out) * .35));opacity:calc(.35 + var(--out) * .65);transition:transform .08s linear,opacity .08s linear}
.rose-avatar-xl{position:relative;width:152px;height:152px;padding:3px;box-shadow:0 18px 50px #0008}
.rose-call[data-phase=connecting] .rose-ring-3{animation:rose-breathe 1.6s ease-in-out infinite}
.rose-call[data-phase=ended] .rose-orb,.rose-call[data-phase=error] .rose-orb{filter:saturate(.6);opacity:.85}
@keyframes rose-breathe{0%,100%{transform:scale(.85);opacity:.35}50%{transform:scale(1.05);opacity:.8}}
.rose-stage h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:30px}
html[dir=rtl] .rose-stage h2{font-family:inherit;font-weight:600}
.rose-call-state{margin:6px 0 0;min-height:22px;font-size:14.5px;color:#cfe0d3}
.rose-call[data-phase=speaking] .rose-call-state{color:var(--rose-gold)}
.rose-captions{width:100%;margin-top:18px;display:flex;flex-direction:column;gap:8px}
.rose-cap{margin:0;padding:9px 13px;border-radius:12px;font-size:14px;line-height:1.5;text-align:start;animation:rose-in .25s ease-out}
.rose-cap-rose{background:#ffffff12;color:#f3efe4}
.rose-cap-me{background:#cfb47b1f;color:#e9dcbd;align-self:flex-end;max-width:88%}
.rose-cap:not(:last-child){opacity:.6}
.rose-after{width:100%;display:grid;gap:10px;margin-top:20px}
.rose-after[hidden]{display:none}
.rose-after p{margin:0 0 4px;font-size:15px;line-height:1.6;color:#e7e1d2}
.rose-again,.rose-switch{min-height:46px;border-radius:12px!important;font-weight:600!important}
.rose-again{border:1px solid #cfb47b80!important;color:#f3ead3!important}
.rose-switch{color:#a9c3ae!important;text-decoration:underline}
.rose-controls{display:flex;justify-content:center;gap:28px;padding:18px 0 max(26px,env(safe-area-inset-bottom))}
.rose-controls[hidden]{display:none}
.rose-mute,.rose-end{display:grid;place-items:center;width:64px;height:64px;border-radius:50%}
.rose-mute{background:#ffffff1a!important;color:#f3efe4!important}
.rose-mute[aria-pressed=true]{background:#f3efe4!important;color:#10241c!important}
.rose-end{background:#d64545!important;color:#fff!important;box-shadow:0 10px 26px #d6454566}
.rose-end:hover{background:#c23a3a!important}
.rose-mute svg,.rose-end svg{width:26px;height:26px}
.rose-end svg{fill:currentColor;stroke:none}
.rose-call .rose-x,.rose-call .rose-back{border-color:#ffffff2e!important}
/* Launcher while a call runs with the panel closed */
.rose.is-live .rose-launch:before{background:#d64545;animation:rose-pulse 1.4s ease-in-out infinite}
@media(min-width:521px){.rose.is-live .rose-launch>span:last-child:after{content:attr(data-live)}}
@keyframes rose-pulse{50%{box-shadow:0 0 0 5px #d6454533}}
@media(max-width:520px){.rose-voice{margin:8px -16px 16px}.rose-orb{width:190px;height:190px}.rose-avatar-xl{width:132px;height:132px}}
@media(prefers-reduced-motion:reduce){.rose-ring,.rose-cap{transition:none!important;animation:none!important}.rose.is-live .rose-launch:before{animation:none}}
