.rose-ai-root{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;font-family:"Source Sans 3",Arial,sans-serif;color:#24342b;line-height:1.45;--rose-ai-green:#294936;--rose-ai-gold:#e5be72}
.rose-ai-root *{box-sizing:border-box}
.rose-ai-root [hidden]{display:none!important}
.rose-ai-root button{cursor:pointer;font-family:inherit}
.rose-ai-root button:disabled{cursor:wait;opacity:.55}
.rose-ai-launcher{display:flex;align-items:center;gap:10px;min-height:66px;border:1px solid rgba(229,190,114,.45);border-radius:22px;padding:3px 20px 3px 6px;background:#294936;color:#fff8e9;box-shadow:0 8px 28px rgba(24,47,33,.25);text-align:left;transition:transform .18s,box-shadow .18s}
.rose-ai-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(24,47,33,.3)}
.rose-ai-avatar{width:56px;height:56px;flex:0 0 56px;object-fit:contain}
.rose-ai-launcher-copy{display:grid;gap:3px}
.rose-ai-launcher-copy strong{font-size:16px;font-weight:600;line-height:1.15}
.rose-ai-launcher-copy>span{font-size:12px;color:#e3eadc}
.rose-ai-launcher:focus-visible,.rose-ai-panel :focus-visible{outline:3px solid #efa84a;outline-offset:3px}
.rose-ai-panel{position:absolute;right:0;bottom:80px;width:min(408px,calc(100vw - 40px));height:min(690px,calc(100dvh - 124px));min-height:260px;display:flex;flex-direction:column;background:#fffdf9;border:1px solid rgba(36,52,43,.14);border-radius:24px;box-shadow:0 20px 65px rgba(24,47,33,.24);overflow:hidden}
.rose-ai-head{display:flex;align-items:center;gap:8px;flex:none;padding:14px 12px;background:linear-gradient(135deg,#294936,#203c2d);color:#fff8e9}
.rose-ai-identity{flex:1;min-width:0}
.rose-ai-head h2{margin:0;font:500 23px/1.12 "Fraunces",Georgia,serif;letter-spacing:-.025em}
.rose-ai-identity p{margin:5px 0 0;color:#e3eadc;font-size:11px;line-height:1.4}
.rose-ai-head-actions{display:flex;gap:2px}
.rose-ai-close,.rose-ai-reset{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#fff8e9;font:400 28px/1 Arial,sans-serif}
.rose-ai-reset{font-size:24px}
.rose-ai-close:hover,.rose-ai-reset:hover{background:rgba(255,255,255,.1)}
.rose-ai-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:20px 18px;background:radial-gradient(ellipse at 100% 0,#eaf0e4 0,transparent 48%),#fffdf9}
.rose-ai-welcome{text-align:center}
.rose-ai-welcome>img{display:block;width:108px;height:78px;object-fit:contain;margin:0 auto 14px}
.rose-ai-welcome h3{margin:0;font:500 25px/1.15 "Fraunces",Georgia,serif;letter-spacing:-.025em}
.rose-ai-welcome>p{max-width:320px;margin:10px auto 20px;color:#536158;font-size:15px;line-height:1.5}
.rose-ai-quick-actions{display:grid;gap:9px;text-align:left}
.rose-ai-quick-actions button{display:flex;align-items:center;gap:12px;width:100%;min-height:65px;padding:12px;border:1px solid #d8dfd2;border-radius:15px;background:rgba(255,255,255,.85);color:#24342b;text-align:left;transition:border-color .18s,background .18s}
.rose-ai-quick-actions button:hover{background:#eef3e9;border-color:#91a18a}
.rose-ai-action-icon{display:grid;place-items:center;flex:0 0 36px;min-height:36px;border-radius:11px;background:#f7eedb;color:#5d4723;font-size:23px;font-weight:500}
.rose-ai-quick-actions strong{display:block;font-size:15px;font-weight:600}
.rose-ai-quick-actions small{display:block;margin-top:3px;color:#5d695e;font-size:12px;line-height:1.35}
.rose-ai-browse{min-height:44px;margin-top:12px;padding:8px;border:0;background:transparent;color:#355342;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.rose-ai-log{display:flex;flex-direction:column;gap:16px}
.rose-ai-message-row{display:flex;align-items:flex-end;gap:7px;min-width:0}
.rose-ai-message-row.user{justify-content:flex-end}
.rose-ai-message-avatar{width:30px;height:30px;flex:0 0 30px;background:#294936;border-radius:10px;padding:1px}
.rose-ai-msg{margin:0;max-width:calc(100% - 37px);padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.55;border-radius:17px;user-select:text}
.rose-ai-msg.user{background:#294936;color:#fff8e9;border-bottom-right-radius:5px}
.rose-ai-msg.assistant{background:#eef2e8;color:#24342b;border-bottom-left-radius:5px}
.rose-ai-starters{margin:16px 0 4px}
.rose-ai-topics{display:flex;gap:4px;margin-bottom:10px}
.rose-ai-topics button{flex:1;min-height:44px;padding:0 8px;border:0;border-radius:11px;background:transparent;color:#536158;font-size:13px;font-weight:600}
.rose-ai-topics button[aria-selected="true"]{background:#e7eddf;color:#24342b}
.rose-ai-questions{display:grid;gap:4px}
.rose-ai-questions button{min-height:44px;border:0;border-bottom:1px solid rgba(36,52,43,.1);background:transparent;color:#24342b;padding:10px 4px;text-align:left;font-size:14px;line-height:1.4}
.rose-ai-status{margin:14px 0 0;padding:11px 12px;border-radius:12px;background:#fff2de;color:#61471d;font-size:14px;line-height:1.45}
.rose-ai-status.is-thinking{background:transparent;color:#536158}
.rose-ai-status.is-thinking::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#6f8d76;box-shadow:10px 0 0 #9faf95,20px 0 0 #d0d9c8;vertical-align:middle;animation:rose-ai-think 1.2s ease-in-out infinite;margin-right:30px}
.rose-ai-compose{display:flex;align-items:flex-end;gap:8px;flex:none;margin:0;padding:12px 14px 8px;border-top:1px solid #e4e9dd;background:#fffdf9}
.rose-ai-compose textarea{flex:1;min-width:0;min-height:48px;max-height:112px;resize:none;border:1px solid #c8d2c0;border-radius:15px;padding:12px;font:400 16px/1.45 "Source Sans 3",Arial,sans-serif;color:#24342b;background:#fff;overflow:auto}
.rose-ai-compose textarea::placeholder{color:#647060}
.rose-ai-compose button{display:grid;place-items:center;flex:0 0 48px;min-height:48px;border:0;border-radius:15px;background:#294936;color:#fff8e9;font:400 26px/1 Arial,sans-serif}
.rose-ai-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;flex:none;padding:2px 16px 13px;background:#fffdf9;color:#647060;font-size:10px;line-height:1.5}
.rose-ai-foot a{display:inline-flex;align-items:center;min-height:32px;color:#355342;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:600}
.rose-ai-extra{display:grid;gap:9px;margin-top:14px}
.rose-ai-extra:empty{display:none}
.rose-ai-extra h3{margin:0;font:500 22px/1.2 "Fraunces",Georgia,serif;color:#24342b;letter-spacing:-.02em}
.rose-ai-extra form,.rose-ai-floor-fields{display:grid;gap:12px;min-width:0}
.rose-ai-extra form{padding:16px;background:#fff;border:1px solid #d8dfd2;border-radius:16px}
.rose-ai-extra label{display:grid;gap:6px;color:#355342;font-size:13px;font-weight:600;line-height:1.45}
.rose-ai-extra input:not([type="checkbox"]),.rose-ai-extra select{width:100%;min-width:0;min-height:48px;border:1px solid #c8d2c0;border-radius:11px;padding:9px 11px;font:400 16px/1.4 "Source Sans 3",Arial,sans-serif;color:#24342b;background:#fff}
.rose-ai-extra input[type="file"]{font-size:13px}
.rose-ai-extra .rose-ai-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;color:#536158}
.rose-ai-check input[type="checkbox"]{flex:none;appearance:auto;width:20px;height:20px;min-height:20px;margin:0;accent-color:#355342}
.rose-ai-extra button,.rose-ai-choice{min-height:46px;border:0;border-radius:12px;background:#294936;color:#fff8e9;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.35}
.rose-ai-choices{display:flex;flex-wrap:wrap;gap:7px}
.rose-ai-choice.secondary,.rose-ai-link,.rose-ai-more,.rose-ai-extra button.rose-ai-secondary{background:#fff;color:#355342;border:1px solid #c8d2c0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:12px;font:600 14px/1.3 "Source Sans 3",Arial,sans-serif}
.rose-ai-more{justify-self:start}
.rose-ai-note{margin:0;color:#536158;font-size:13px;line-height:1.5;font-weight:400}
body:has(.studio-app) .rose-ai-root{left:12px;right:auto;bottom:calc(76px + env(safe-area-inset-bottom));z-index:16}
body:has(.studio-app) .rose-ai-panel{left:0;right:auto;height:min(690px,calc(100dvh - 176px))}
@keyframes rose-ai-think{50%{opacity:.35}}
@media(max-width:700px){
  .rose-ai-root{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
  .rose-ai-launcher{gap:5px;min-height:60px;padding:2px 14px 2px 4px;border-radius:20px}
  .rose-ai-launcher .rose-ai-avatar{width:50px;height:50px;flex-basis:50px}
  .rose-ai-launcher-copy strong{font-size:14px}
  .rose-ai-launcher-copy>span{font-size:11px}
  .rose-ai-root.is-open .rose-ai-launcher{visibility:hidden}
  .rose-ai-panel,body:has(.studio-app) .rose-ai-panel{position:fixed;left:10px;right:10px;width:auto;bottom:calc(10px + env(safe-area-inset-bottom) + var(--rose-ai-keyboard-offset,0px));height:min(700px,calc(var(--rose-ai-viewport,100dvh) - 20px - env(safe-area-inset-bottom)));min-height:180px;border-radius:22px}
  .rose-ai-head{padding:10px 8px;gap:6px}
  .rose-ai-head .rose-ai-avatar{width:48px;height:48px;flex-basis:48px}
  .rose-ai-head h2{font-size:22px}
  .rose-ai-identity p{font-size:10px}
  .rose-ai-body{padding:18px 14px}
}
@media(prefers-reduced-motion:reduce){.rose-ai-launcher{transition:none}.rose-ai-status.is-thinking::before{animation:none}}

.rose-ai-photo-preview{display:block;max-width:100%;max-height:180px;border-radius:12px;object-fit:contain;margin:12px auto}
.rose-ai-insight-consent{margin-top:16px;text-align:left;font-size:12px;color:#536158}
