.representative { min-width:0; border:1px solid #424535; background:var(--panel); border-radius:12px; overflow:hidden; scroll-margin-top:110px; }
.rep-header { display:flex; align-items:center; gap:15px; padding:25px 26px 22px; }
.rep-brand-mark { width:50px; height:50px; flex-shrink:0; display:grid; place-items:center; border:1px solid #d5b87538; border-radius:6px; background:#d5b87505; }
.rep-brand-mark img { display:block; width:42px; height:42px; }
.rep-identity { min-width:0; }
.dynamic-home .rep-identity h2 { font-size:24px; font-weight:400; font-family:Georgia,"Times New Roman",serif; letter-spacing:-.035em; text-wrap:nowrap; }
.rep-identity h2>span { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:9px; font-weight:400; color:var(--muted); letter-spacing:.03em; margin-left:7px; }
.rep-identity p { font-size:10px; margin-top:7px; color:var(--muted); }
.rep-presence { display:inline-block; width:5px; height:5px; background:var(--gold); border-radius:50%; margin-right:6px; }
.rep-reset { display:grid; place-items:center; margin-left:auto; border:1px solid transparent; border-radius:4px; width:36px; height:36px; min-width:36px; background:transparent; color:var(--muted); font-size:20px; transition:background .2s,color .2s,border-color .2s; }
.rep-reset:hover { background:#d5b87508; color:var(--gold); border-color:var(--line); }
.rep-modes { display:flex; gap:24px; margin:0 26px; border-bottom:1px solid var(--line); }
.rep-modes button { flex:1; background:transparent; border:0; border-bottom:1px solid transparent; margin-bottom:-1px; color:var(--muted); font-size:11px; min-height:43px; border-radius:0; padding:9px 0 13px; text-align:left; transition:border-color .2s,color .2s; }
.rep-modes button[aria-pressed="true"] { border-bottom-color:var(--gold); color:var(--cream); }
.rep-modes button:hover { color:var(--gold); }
.rep-modes button>span { margin-left:7px; }
.rep-context { display:flex; align-items:start; justify-content:space-between; gap:15px; padding:17px 26px 4px; }
#rep-context-label { font-size:10px; color:var(--muted); line-height:1.6; max-width:300px; }
.rep-provider { font-size:8px; color:var(--gold); white-space:nowrap; border:1px solid #d5b87533; border-radius:3px; padding:2px 5px; margin-top:1px; }
.rep-messages { height:236px; overflow-y:auto; padding:23px 26px 16px; display:flex; flex-direction:column; gap:17px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#555b48 transparent; }
.rep-message { max-width:92%; width:fit-content; flex-shrink:0; animation:rep-message-in .25s ease-out; }
.rep-author { display:block; color:var(--muted); font-size:8px; letter-spacing:.09em; margin:0 1px 7px; }
.rep-message p { font-size:13px; line-height:1.75; color:var(--cream); white-space:pre-wrap; overflow-wrap:anywhere; }
.rep-message.from-emma p { background:#22271e; border:1px solid var(--line); border-radius:0 6px 6px; padding:14px 17px; }
.rep-message.from-user { align-self:flex-end; max-width:86%; }
.rep-message.from-user p { background:#2d3024; color:var(--cream); border:1px solid #d5b87544; border-radius:6px 0 6px 6px; padding:11px 16px; font-size:12px; }
.rep-message.from-user .rep-author { text-align:right; }
.rep-typing { display:flex; align-items:center; gap:7px; padding:13px 16px; background:#22271e; border:1px solid var(--line); border-radius:0 6px 6px; width:fit-content; flex-shrink:0; }
.rep-typing span { width:4px; height:4px; border-radius:50%; background:var(--gold); animation:rep-dot 1s ease-in-out infinite; }
.rep-typing span:nth-child(2) { animation-delay:.15s; }
.rep-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes rep-dot { 0%,80%,100% { opacity:.4; translate:0 0; } 40% { opacity:1; translate:0 -3px; } }
@keyframes rep-message-in { from { opacity:0; translate:0 7px; } to { opacity:1; translate:0 0; } }
.rep-suggestions { display:flex; flex-wrap:wrap; gap:7px; padding:5px 26px 16px; min-height:56px; }
.rep-suggestions button { border:1px solid #434a39; color:#d3d6c9; background:transparent; border-radius:4px; padding:8px 11px; min-height:34px; font-size:10px; text-align:left; transition:background .2s,border-color .2s,color .2s; }
.rep-suggestions button:hover:not(:disabled) { background:#d5b87509; border-color:#d5b87577; color:var(--gold); }
.rep-suggestions button:disabled { opacity:.45; cursor:default; }
.rep-composer { display:flex; align-items:flex-end; margin:0 26px; padding:7px 7px 7px 15px; background:var(--bg); border:1px solid #48503e; border-radius:6px; transition:border-color .2s,box-shadow .2s; }
.rep-composer:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px #d5b8750b; }
.dynamic-home .rep-composer textarea { min-height:38px; height:38px; max-height:85px; border:0; border-radius:0; background:transparent; padding:9px 8px 8px 0; color:var(--cream); font-size:12px; line-height:1.6; resize:none; box-shadow:none; outline:0; }
.rep-composer textarea::placeholder { color:#a2aa95; }
.rep-composer button { display:grid; place-items:center; width:36px; height:36px; margin-bottom:1px; border:0; border-radius:4px; background:var(--gold); color:var(--bg); flex-shrink:0; transition:opacity .2s,background .2s; }
.rep-composer button:disabled { opacity:.3; cursor:default; }
.rep-composer button:hover:not(:disabled) { background:#f0dba8; }
.rep-composer svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rep-footer { display:flex; align-items:center; gap:10px; padding:12px 26px 17px; }
.rep-footer p { font-size:9px; line-height:1.6; color:#a2aa95; }
#rep-count { font-size:9px; color:var(--gold); margin-left:auto; white-space:nowrap; }
.rep-lead { margin:0 26px 17px; padding:14px; border:1px solid #d5b87555; background:#d5b87506; border-radius:6px; animation:rep-message-in .3s ease-out; }
.rep-lead-top { display:flex; justify-content:space-between; gap:12px; color:var(--cream); font-size:10px; }
.rep-lead-top i { margin-right:6px; color:var(--gold); font-style:normal; }
#rep-lead-stage { color:var(--gold); font-size:9px; }
.rep-lead dl { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:12px; margin:12px 0 0; }
.rep-lead dt { font-size:8px; color:var(--muted); }
.rep-lead dd { margin:4px 0 0; font-size:10px; color:var(--cream); overflow-wrap:anywhere; }
.rep-lead a { display:inline-flex; align-items:center; gap:12px; color:var(--gold); font-size:10px; padding-top:12px; margin-top:12px; border-top:1px solid var(--line); width:100%; }
.rep-followup { display:flex; flex-direction:column; gap:4px; margin:0 26px 16px; border-left:1px solid var(--gold); padding:2px 0 2px 12px; }
.rep-followup a { color:var(--gold); font-size:12px; }
.rep-followup a>span { margin-left:10px; }
.rep-followup>span { color:var(--muted); font-size:10px; }
.rep-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rep-no-js { padding:0 26px 22px; font-size:12px; }
.rep-no-js a { color:var(--gold); text-decoration:underline; }
@media (max-width:1100px) {
 .rep-header { padding-inline:21px; }
 .rep-modes { margin-inline:21px; }
 .rep-messages { padding-inline:21px; }
 .rep-context { padding-inline:21px; }
 .rep-suggestions { padding-inline:21px; }
 .rep-modes button { font-size:10px; }
 .rep-messages { height:260px; }
 .rep-message p { font-size:12px; }
}
@media (max-width:900px) {
 .rep-header { padding:20px 18px 16px; gap:11px; }
 .rep-context { padding-inline:18px; gap:8px; }
 .rep-provider { font-size:7px; }
 .rep-modes { margin-inline:16px; }
 .rep-modes { gap:14px; }
 .rep-modes button { font-size:9px; }
 .rep-modes button>span { display:none; }
 .rep-composer { margin-inline:15px; }
}
@media (max-width:760px) {
 .representative { max-width:550px; width:100%; margin-inline:auto; border-radius:10px; scroll-margin-top:88px; }
 .rep-header { padding:22px 19px 18px; gap:14px; }
 .rep-modes { margin-inline:18px; }
 .rep-modes button { font-size:10px; min-height:39px; }
 .rep-context { padding-inline:20px; }
 #rep-context-label { font-size:9px; }
 .rep-messages { height:245px; padding-inline:20px; }
 .rep-message { max-width:94%; }
 .rep-suggestions { padding-inline:20px; gap:7px; }
 .rep-suggestions button { min-height:38px; font-size:10px; }
 .rep-composer { margin-inline:16px; }
 .dynamic-home .rep-composer textarea { font-size:16px; padding-top:7px; }
 .rep-footer { padding-inline:20px; }
 .rep-footer p { font-size:9px; }
 .rep-lead,.rep-followup { margin-inline:20px; }
 .dynamic-home .mobile-cta.at-representative { display:none; }
}
@media (max-width:374px) {
 .rep-brand-mark { width:44px; height:44px; }
 .rep-brand-mark img { width:38px; height:38px; }
 .rep-header { gap:10px; padding-inline:16px; }
 .dynamic-home .rep-identity h2 { font-size:21px; }
 .rep-identity h2>span { font-size:8px; }
 .rep-identity p { font-size:9px; }
 .rep-modes { margin-inline:12px; }
 .rep-modes button { font-size:9px; }
 .rep-context,.rep-messages,.rep-suggestions { padding-inline:16px; }
 .rep-composer { margin-inline:12px; }
 .rep-messages { height:260px; }
 .rep-lead,.rep-followup { margin-inline:16px; }
}
@media (prefers-reduced-motion:reduce) {
 .representative * { animation:none!important; transition:none!important; }
}
