/* Refinement layer: existing theme colors and shell/viewport geometry remain authoritative. */
#messages .message{margin-block:0 24px;animation:roxy-arrive .16s ease-out both}
#messages .message-text{line-height:1.72;overflow-wrap:anywhere}
#messages .message-text p{margin-block:.65em}
#messages .message-text h2,#messages .message-text h3{line-height:1.3;letter-spacing:-.02em;margin-block:1.25em .5em}
#messages .message-text li+li{margin-top:.35em}
#messages .message-text pre{line-height:1.55;tab-size:2;max-width:100%;overscroll-behavior-x:contain}
#messages .message-text table{font-variant-numeric:tabular-nums}
#messages .message-link{text-underline-offset:3px}
#messages .code-block{border-radius:14px;overflow:hidden}
#messages .code-block-head{gap:10px;flex-wrap:wrap;padding:10px 14px}
#messages .message-actions :is(button,a.message-action),.code-block-actions button{transition:background-color .14s,opacity .14s;min-height:32px}
#chat-form{transition:border-color .16s,box-shadow .16s;border-radius:22px}
#prompt{line-height:1.55;scrollbar-width:thin}
#modes button,.history-item,.nav-link{transition:background-color .14s,color .14s}
#modes{min-width:0;overflow-x:auto;scrollbar-width:none}
button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent,#a78bfa);outline-offset:3px}
#dialog[open]{animation:roxy-arrive .16s ease-out}
.attachment-tile{animation:roxy-arrive .16s ease-out}
@keyframes roxy-arrive{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:760px){#messages .message{margin-bottom:20px}#messages .message-actions :is(button,a.message-action),.code-block-actions button{min-height:40px}#modes button[data-mode="auto"]{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){#messages .message,#dialog[open],.attachment-tile{animation:none}#chat-form,#modes button,.history-item,.nav-link,#messages .message-actions :is(button,a.message-action),.code-block-actions button{transition:none}}
body[data-motion="none"] #messages .message,body[data-motion="none"] #dialog[open],body[data-motion="none"] .attachment-tile{animation:none}

/* Manual controls stay inside a closed menu; routing has no visible tab or label. */
#composer-tools{position:relative;flex:0 0 auto}
#composer-tools>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:24px;color:var(--muted)}
#composer-tools>summary::-webkit-details-marker{display:none}
#composer-tools>summary:focus-visible{outline:2px solid var(--accent,#a78bfa);outline-offset:2px}
#composer-tools-panel{position:absolute;bottom:calc(100% + 10px);left:0;z-index:60;width:220px;max-height:min(420px,60dvh);overflow:auto;padding:10px;border:1px solid var(--border,#393342);border-radius:16px;background:var(--panel,#201c29);box-shadow:0 12px 40px #0005}
#composer-tools:not([open])>#composer-tools-panel{display:none}
#composer-tools-panel #modes,#composer-tools-panel #roxy-power-tools{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;overflow:visible}
#composer-tools-panel #modes button,#composer-tools-panel .roxy-power-tool{width:100%;min-height:42px;justify-content:flex-start;border-radius:9px}
#composer-tools-panel [hidden]{display:none!important}
#composer-tools-panel #roxy-power-tools{margin-top:8px;padding-top:8px;border-top:1px solid var(--border,#393342)}
#chat-form{overflow:visible}
#composer-tools-panel #modes.roxy-mode-tools{align-items:stretch!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:0!important}
#composer-tools-panel #modes.roxy-mode-tools button{min-height:42px!important;justify-content:flex-start!important;border-radius:9px!important;font-size:13px!important}
@media(max-width:760px){#composer-tools-panel{left:auto;right:0}}
/* Rounded rectangular manual controls; no circular Think/Web enclosure. */
#composer-tools-panel #roxy-power-tools{border:1px solid var(--border)!important;border-radius:12px!important;box-shadow:none!important;margin:8px 0 0!important;padding:5px!important;background:var(--raised)!important}
#composer-tools-panel .roxy-power-tool{border-radius:9px!important;min-height:40px!important;justify-content:flex-start!important}
#composer-tools-panel .roxy-power-tool:hover{background:var(--panel)!important}
#composer-tools-panel .roxy-power-icon,#composer-tools-panel .roxy-mode-icon{border-radius:7px!important;box-shadow:none!important}
/* Quiet composer focus and matching paper-plane / paperclip artwork. */
body[data-widgets=standard] #chat-form{border-radius:24px!important;transition:border-color .18s ease,box-shadow .18s ease!important}
body[data-widgets=standard] #chat-form:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)!important;transform:none!important}
#prompt:focus-visible{outline:none!important}
#send,#attach{display:grid!important;place-items:center;border-radius:12px!important;min-width:36px;min-height:36px}
#send .action-icon,#attach .action-icon{width:19px!important;height:19px!important;flex-basis:19px}
#send:hover:not(:disabled){transform:translateY(-1px)}
#send:active:not(:disabled){transform:scale(.96)}
/* One accessible icon row with smooth hover/focus labels, without separators. */
#messages .message-actions{gap:2px!important;flex-wrap:wrap!important;overflow:visible!important}
#messages .message-action-group{gap:2px!important;border:0!important;padding:0!important;margin:0!important}
#messages .message-action-group:before,#messages .message-action-group:after{display:none!important}
#messages .message-actions :is(button,a.message-action){position:relative;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;min-height:34px!important;padding:8px!important;border:0!important;border-radius:9px!important;margin:0!important;background:transparent!important;color:var(--muted)!important}
#messages .message-actions :is(button,a.message-action):hover,#messages .message-actions :is(button,a.message-action):focus-visible{background:var(--raised)!important;color:var(--text)!important}
#messages .message-actions .action-label-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[data-tooltip]{position:relative}
[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 7px);z-index:80;transform:translate(-50%,3px);padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:var(--raised);color:var(--text);font:12px/1.3 system-ui;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,transform .14s ease,visibility .14s}
[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:.18s}
@media(pointer:coarse){#messages .message-actions :is(button,a.message-action){width:40px!important;height:40px!important;min-height:40px!important}[data-tooltip]:hover:after{visibility:hidden;opacity:0}[data-tooltip]:focus-visible:after{visibility:visible;opacity:1}}
@media(prefers-reduced-motion:reduce){#chat-form,#send,[data-tooltip]:after{transition:none!important;transform:none}}

/* Generated image actions share the ordinary reply toolbar. */
.generated-image-card .message-actions{display:flex;gap:4px;align-items:center;margin-top:10px}
.generated-image-card .message-action{text-decoration:none;font-weight:400}
.image-details{display:block;color:var(--muted,#aaa);font-size:12px;line-height:1.5;margin-top:8px;max-width:560px}
.message-text math{font-size:1.05em;max-width:100%;overflow-x:auto}
.message-text math[display="block"]{padding:8px 0;text-align:left}
.profile-section .form-field{min-width:0}

/* Shared controls, aligned in every theme including Ivory. */
body[data-widgets=standard] #new-chat{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px}
body[data-widgets=standard] #new-chat .new-chat-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;position:static!important;flex:0 0 24px;width:24px;height:24px;margin:0!important;padding:0!important;line-height:1!important;transform:none!important;border:0!important;background:transparent!important}
#websites-nav{display:none!important}
.roxy-lab-options .language-picker{min-width:0;flex:1}
.roxy-lab-options .language-trigger{width:100%;min-height:44px;text-align:left}
.roxy-lab-options .language-panel{position:relative;inset:auto;max-height:260px;margin-top:8px}
body select{font:inherit;color:var(--text);background-color:var(--panel);border:1px solid var(--border);border-radius:10px;min-height:40px;padding:8px 32px 8px 12px;max-width:100%}
body select:focus-visible,.language-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Readable, consistent account settings; shared pickers replace native profile selects. */
body[data-widgets=standard] .profile-hero{padding-bottom:22px!important;gap:16px!important}
body[data-widgets=standard] .profile-hero-copy h3{font-size:20px!important}
body[data-widgets=standard] .profile-hero-copy p{font-size:12px!important}
body[data-widgets=standard] .profile-eyebrow{font-size:10px!important}
body[data-widgets=standard] .profile-status{font-size:11px!important;padding:5px 9px!important}
body[data-widgets=standard] .profile-section{padding:22px 0!important;gap:14px!important}
body[data-widgets=standard] .profile-section-head{font-size:12px!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--text)!important}
body[data-widgets=standard] .profile-field-grid{gap:16px!important;align-items:start!important}
body[data-widgets=standard] .profile-field>span,.profile-dialog-body .language-picker>span{font-size:12px!important;color:var(--muted)!important}
body[data-widgets=standard] .profile-detail-label,body[data-widgets=standard] .profile-detail-value{font-size:12px!important}
body[data-widgets=standard] .profile-detail-row{grid-template-columns:145px minmax(0,1fr)!important;min-height:40px!important}
body[data-widgets=standard] .profile-field input,body[data-widgets=standard] .profile-field textarea{font-size:14px!important;min-height:44px!important;padding:12px!important;border-radius:12px!important}
body[data-widgets=standard] .profile-field textarea{min-height:112px!important;line-height:1.6!important}
.profile-dialog-body .language-picker{margin:0!important;min-width:0}
.profile-dialog-body .language-trigger{min-height:46px!important;border-radius:12px!important;font-size:14px!important;background:var(--bg)!important;margin-top:8px!important}
.profile-dialog-body .language-panel{margin-top:8px;max-width:100%}
.profile-dialog-body .language-list button{min-height:44px;font-size:14px}
.profile-dialog-body .language-panel input{font-size:16px!important}
.profile-dialog-body .profile-hint,.profile-dialog-body .micro{font-size:12px!important;line-height:1.65!important;color:var(--muted)!important;margin:0!important}
.profile-instruction-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.profile-instruction-presets button{font-size:12px!important;padding:8px 12px!important;border-radius:10px!important;min-height:38px!important}
body[data-widgets=standard] .profile-shortcut{min-height:52px!important;padding:12px!important;border-radius:12px!important}
body[data-widgets=standard] .profile-shortcut-copy strong{font-size:13px!important}
.profile-actions{gap:10px!important;padding-top:20px!important}
.profile-actions button{min-height:44px!important;font-size:14px!important;padding:10px 22px!important;border-radius:12px!important}
/* Appearance uses spacious theme tiles and clear selected states. */
.luxury-control-group{margin-block:20px!important}
.luxury-control-group-head h3,.luxury-control-intro h3{font-size:16px!important;letter-spacing:-.01em!important}
.luxury-control-group-head p,.luxury-control-intro p,.theme-picker-intro p{font-size:12px!important;line-height:1.6!important}
.luxury-control-grid{gap:14px!important;align-items:start}
.luxury-quick-control{padding:16px!important;border-radius:14px!important;gap:12px!important}
.luxury-quick-control-head strong,.theme-picker-intro strong{font-size:14px!important}
.luxury-quick-current{font-size:11px!important}
.luxury-quick-copy{font-size:12px!important;line-height:1.6!important;min-height:0!important}
.luxury-quick-options{gap:8px!important}
.luxury-quick-option{font-size:13px!important;min-height:44px!important;padding:10px 12px!important;border-radius:10px!important;white-space:normal!important}
.luxury-quick-option[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}
.luxury-theme-swatch{width:22px!important;height:22px!important;flex-basis:22px!important;border-radius:7px!important}
.luxury-theme-option[data-value=graphite] .luxury-theme-swatch{background:linear-gradient(135deg,#262626 50%,#a3a3a3 50%)}
.luxury-theme-option[data-value=ivory] .luxury-theme-swatch{background:linear-gradient(135deg,#f6f3eb 50%,#997a50 50%)}
.luxury-theme-option[data-value=rose] .luxury-theme-swatch{background:linear-gradient(135deg,#271c22 50%,#df96af 50%)}
.luxury-theme-option[data-value=emerald] .luxury-theme-swatch{background:linear-gradient(135deg,#15251f 50%,#74bb9e 50%)}
.luxury-save-row .primary,.luxury-save-row .secondary{font-size:13px!important;min-height:44px!important;padding:10px 18px!important}
@media(max-width:600px){
 body[data-widgets=standard] .profile-field-grid{grid-template-columns:1fr!important}
 body[data-widgets=standard] .profile-field input,body[data-widgets=standard] .profile-field textarea{font-size:16px!important}
 body[data-widgets=standard] .profile-detail-row{grid-template-columns:120px minmax(0,1fr)!important}
 .profile-instruction-presets button{min-height:44px!important}
 .luxury-theme-option{min-width:0!important}
}
/* Compact, quiet generation states. Code is available on request, never forced open. */
.generation-status{display:flex;align-items:center;gap:10px;min-height:32px;margin:8px 0;color:var(--muted);font-size:14px;line-height:1.5}
.image-generation-status:before{content:'';width:18px;height:18px;border:1px solid var(--border);border-radius:5px;background:linear-gradient(135deg,var(--raised),var(--panel));flex:none}
.message[data-pending=true] .message-actions,.message[data-pending=true] .response-origin{display:none!important}
.website-code-progress{margin:10px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.website-code-progress>summary{cursor:pointer;padding:12px 16px;min-height:44px;font-size:13px;color:var(--muted)}
.website-code-progress[open]>summary{border-bottom:1px solid var(--border)}
.website-code-progress .message-text{max-height:460px;overflow:auto;padding:0 12px;overscroll-behavior:contain}
.image-prompt-suggestion{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--raised);font-size:14px;line-height:1.65}
.language-panel input[hidden]{display:none!important}
.message-text :is(h4,h5,h6){font-size:1em;font-weight:650;line-height:1.5;margin:18px 0 8px}

/* Keep long chat names clear of the independent menu hit area. */
#history .history-item{display:grid!important;grid-template-columns:minmax(0,1fr) 36px;column-gap:8px!important;align-items:center}
#history .history-open{min-width:0!important;width:100%;box-sizing:border-box;overflow:hidden}
#history .history-result-copy{min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
#history .history-title{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#history .history-menu-trigger{position:static!important;width:36px!important;min-width:36px;max-width:36px;box-sizing:border-box;margin:0!important;justify-self:end}
