/* One modal scroll surface; the conversation itself always grows naturally. */
html:has(.sexgpt-dialog[open]){overflow:hidden}
.sexgpt-dialog{position:fixed;inset:0;width:min(860px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #ffffffeb;border-radius:28px;background:radial-gradient(ellipse at 4% 0,#eee1f7,transparent 55%),radial-gradient(ellipse at 100% 5%,#faeee5,transparent 45%),#fdfaff;color:#51365e;box-shadow:0 30px 100px #35213e38;scrollbar-width:thin;scrollbar-color:#cdb8db transparent;scroll-padding-top:104px}
.sexgpt-dialog::backdrop{background:#2f213b78;backdrop-filter:blur(8px)}
.sexgpt-modal-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 30px;background:#faf4fbeF;backdrop-filter:blur(18px);border-bottom:1px solid #e9dfee}
.sexgpt-modal-header h2{display:flex;align-items:center;gap:8px;margin:0;color:#745081;font:600 20px/1.2 var(--sans);letter-spacing:-.3px}
.sexgpt-modal-spark{font-size:30px;line-height:1;color:#a782b8}
.sexgpt-ai{padding:4px 6px;border:1px solid #decfe7;border-radius:6px;background:#fff9;color:#84658f;font:600 9px/1 var(--sans);letter-spacing:.5px}
.sexgpt-modal-header p{margin:5px 0 0 37px;color:#96809c;font:12px/1.4 var(--sans)}
.sexgpt-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:12px;border:1px solid #e7dcea;border-radius:50%;background:#fff9;color:#836a8e;cursor:pointer}
.sexgpt-close:hover{background:#fff;border-color:#bca2cb}
.sexgpt-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.sexgpt{padding:28px 32px 23px;min-width:0}
.sexgpt [hidden]{display:none!important}
.sexgpt-intro{margin:0 0 23px}
.sexgpt-intro h2{margin:0;font:italic 36px/1.1 Georgia,serif;letter-spacing:-1px;color:#66456f}
.sexgpt-intro>p{margin:11px 0 0;font-size:14px;line-height:1.6;color:#8a7194}
.sexgpt:has(.sexgpt-conversation:not([hidden])) .sexgpt-intro,.sexgpt[aria-busy=true] .sexgpt-composer{display:none}
.sexgpt-form{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:5px 6px 5px 17px;background:#fff;border:1px solid #e3d5eb;border-radius:18px;box-shadow:0 4px 22px #6b427505;transition:border-color .18s,box-shadow .18s}
.sexgpt-form:focus-within{border-color:#b08dc5;box-shadow:0 0 0 3px #b89bca20}
.sexgpt-form input{flex:1;min-width:0;width:100%;min-height:44px;padding:8px 0;margin:0;border:0;background:transparent;color:#51365e;font:16px/1.4 var(--sans);outline:none;box-shadow:none}
.sexgpt-form input::placeholder{color:#a18aad}
.sexgpt-send{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:44px;flex:none;padding:11px 17px;border:0;border-radius:12px;background:#78538a;color:#fff;font:13px/1.3 var(--sans);cursor:pointer;transition:background .18s}
.sexgpt-send:hover:not(:disabled){background:#654272}
.sexgpt button:disabled{cursor:default;opacity:.5}
.sexgpt-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.sexgpt-prompts button{min-height:40px;padding:9px 13px;border:1px solid #dfd0e8;border-radius:22px;background:#fff8;color:#79558b;font:12px/1.4 var(--sans);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.sexgpt-prompts button:hover:not(:disabled){background:#fff;border-color:#b395c4}
.sexgpt-privacy{margin:24px 0 0;padding-top:16px;border-top:1px solid #e7dced;font:11px/1.5 var(--sans);color:#94829c}
.sexgpt-unavailable{margin-top:12px;font-size:13px;color:#82658e}
.sexgpt-conversation{min-width:0}
.sexgpt-messages{display:flex;flex-direction:column;gap:18px;max-height:none;overflow:visible;margin:0;padding:0;list-style:none}
.sexgpt-message{max-width:90%;overflow-wrap:anywhere}
.sexgpt-message-label{display:block;margin-bottom:5px;font-size:11px;color:#99819f}
.sexgpt-message p{margin:0;font-size:15px;line-height:1.65;white-space:pre-wrap;color:#6e537b}
.sexgpt-message-user{align-self:flex-end;padding:13px 17px;background:#eadef0;border:1px solid #e0ceea;border-radius:18px 18px 5px 18px}
.sexgpt-message-assistant{max-width:100%;padding:2px 0 3px}
.sexgpt-status,.sexgpt-error{margin:18px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.sexgpt-status{display:flex;align-items:center;gap:9px;color:#8a659b}
.sexgpt[aria-busy=true] .sexgpt-status:before{content:'';width:13px;height:13px;border:2px solid #dbc8e5;border-top-color:#9471a8;border-radius:50%;animation:sexgpt-spin .8s linear infinite;flex:none}
.sexgpt-status:empty{display:none}.sexgpt-error{color:#995164}
.sexgpt-card-group{min-width:0;width:100%;margin:0 0 5px}
.sexgpt-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sexgpt-card{min-width:0;border:1px solid #e9dfef;border-radius:18px;background:#ffffffcf;overflow:hidden;transition:background .18s,border-color .18s}
.sexgpt-card:only-child{grid-column:1/-1}
.sexgpt-card>a{display:block;height:100%;padding:17px;color:inherit}
.sexgpt-card:hover{background:#fff;border-color:#c9b0d9}
.sexgpt-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sexgpt-card-title{flex:1;min-width:0}
.sexgpt-card-type{display:block;margin-bottom:4px;font-size:10px;line-height:1.4;font-weight:600;color:#a18aaa}
.sexgpt-card img{flex:none;width:54px;height:54px;object-fit:cover;border-radius:12px;background:#f1edf5}
.sexgpt-card[data-category=toys] img{object-fit:contain;padding:5px;background:#fff}
.sexgpt-card h3{margin:0;font-size:14px;line-height:1.4;font-weight:550;letter-spacing:-.2px;overflow-wrap:anywhere}
.sexgpt-card p{margin:0;font-size:13px;line-height:1.5;color:#897392;overflow-wrap:anywhere}
.sexgpt-followup{margin-top:26px}
.sexgpt-followup-hint{margin:0 0 10px;font-size:12px;line-height:1.5;color:#8a7194}
.sexgpt-conversation-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px}
.sexgpt-conversation-bar button{min-height:40px;padding:7px 0;border:0;background:none;color:#8b6b9a;font:12px/1.4 var(--sans);cursor:pointer;text-underline-offset:4px}
.sexgpt-conversation-bar button:hover{text-decoration:underline}
.sexgpt-dialog button:focus-visible,.sexgpt-dialog a:focus-visible{outline:2px solid #9868ad;outline-offset:3px}
@keyframes sexgpt-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){
 .sexgpt-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:23px;scroll-padding-top:93px}
 .sexgpt-modal-header{padding:15px 18px;gap:12px}.sexgpt-modal-header h2{font-size:18px}.sexgpt-modal-header p{font-size:11px}
 .sexgpt{padding:21px 19px 18px}.sexgpt-intro h2{font-size:31px}.sexgpt-intro>p{font-size:13px}
 .sexgpt-message{max-width:95%}.sexgpt-message p{font-size:14px}.sexgpt-message-user{padding:11px 14px}
 .sexgpt-cards{grid-template-columns:1fr;gap:10px}.sexgpt-card>a{padding:15px}.sexgpt-card img{width:48px;height:48px}
 .sexgpt-form{padding-left:13px;border-radius:15px}.sexgpt-send{padding:11px;border-radius:10px}.sexgpt-send>span{display:none}
 .sexgpt-prompts{gap:7px}.sexgpt-prompts button{font-size:11px;min-height:44px;padding:8px 11px}
 .sexgpt-followup{margin-top:21px}.sexgpt-privacy{margin-top:18px;font-size:10px;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){.sexgpt-form,.sexgpt-send,.sexgpt-prompts button,.sexgpt-card{transition:none}.sexgpt[aria-busy=true] .sexgpt-status:before{animation:none}}
