/* Extend the existing Higgsfield chat composition: the conversation owns the viewport. */
:root {
  --chat-gap:12px;
  --image-dot-size:5px;
  --image-dot-gap:4px;
  --image-dot-duration:1.2s;
  --image-dot-delay:0.16s;
  --image-dot-lift:-4px;
  --image-dot-rest-opacity:.35;
  --chat-image-max-width:420px;
  --chat-pad:20px;
  --chat-page-pad:24px;
  --chat-history-width:240px;
  --chat-header-font:22px;
  --chat-text-font:16px;
  --chat-line-height:1.65;
  --chat-input-height:64px;
  --chat-input-max:160px;
  --chat-options-max:440px;
  --chat-popover-width:520px;
  --chat-popover-height:65%;
  --chat-popover-ratio:.65;
  --chat-jump-offset:16px;
  --chat-control-font:12px;
  --chat-reader-bottom:12px;
  --chat-greeting-font:22px;
  --chat-greeting-crown:52px;
  --chat-history-row-gap:4px;
  --chat-history-row-pad:8px;
  --chat-history-action-size:28px;
  --chat-history-icon-size:15px;
  --chat-history-title-size:14px;
  --chat-history-meta-size:11px;
  --chat-history-tooltip-width:340px;
  --chat-history-tooltip-pad:12px;
  --chat-history-tooltip-edge:24px;
  --chat-history-tooltip-layer:80;
  --chat-message-meta-gap:8px;
}
.conversation-group { margin:var(--chat-history-row-pad) 0 var(--chat-history-row-gap); }
.conversation-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; border:1px solid transparent; border-radius:var(--radius); margin-bottom:var(--chat-history-row-gap); }
.conversation-row.selected { background:var(--mint); border-color:var(--line); }
.conversation-row:hover { background:var(--canvas); }
.conversation-row.selected:hover { background:var(--mint); }
.conversation-row .conversation-item { min-width:0; align-self:stretch; margin:0; padding:var(--chat-history-row-pad); border:0; background:transparent; }
.conversation-item strong { font-size:var(--chat-history-title-size); line-height:1.5; }
.conversation-item .micro { font-size:var(--chat-history-meta-size); line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.conversation-actions { display:flex; flex-direction:column; padding:0 var(--chat-history-row-gap) 0 0; }
.conversation-actions .button { width:var(--chat-history-action-size); min-width:var(--chat-history-action-size); height:var(--chat-history-action-size); min-height:var(--chat-history-action-size); padding:0; color:var(--muted); }
.conversation-actions .ui-symbol { width:var(--chat-history-icon-size); height:var(--chat-history-icon-size); }
.conversation-actions [aria-pressed="true"] { color:var(--teal); font-weight:700; }
.history-tooltip { position:fixed; z-index:var(--chat-history-tooltip-layer); width:max-content; max-width:min(var(--chat-history-tooltip-width),calc(100vw - var(--chat-history-tooltip-edge))); max-height:calc(100dvh - var(--chat-history-tooltip-edge)); overflow:auto; margin:0; padding:var(--chat-history-tooltip-pad); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--ink); box-shadow:var(--shadow); font-size:var(--chat-history-title-size); line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.history-tooltip[hidden] { display:none; }
@media (pointer:coarse) {
  .conversation-actions { flex-direction:row; }
  .conversation-actions .button { width:var(--touch); min-width:var(--touch); height:var(--touch); min-height:var(--touch); }
}
body:has(#app[data-view="chat"]) { overflow:hidden; }
#app[data-view="chat"] .workspace {
  height:var(--visual-height); min-height:0; display:flex; flex-direction:column;
  padding:0 var(--chat-page-pad) var(--chat-reader-bottom);
}
#app[data-view="chat"] .preview-bar { flex:none; }
#app[data-view="chat"] .page-header { flex:none; padding:var(--chat-gap) 0; margin:0; }
#app[data-view="chat"] .page-header h1 { font-size:var(--chat-header-font); }
#app[data-view="chat"] .page-header .eyebrow,
#app[data-view="chat"] .page-header .muted,
#app[data-view="chat"] .header-actions [data-action="chat"],
#app[data-view="chat"] footer { display:none; }
#app[data-view="chat"] main { flex:1; min-height:0; }
#app[data-view="chat"] .point-receipts { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--chat-gap); padding:var(--chat-gap); margin:0 0 var(--chat-gap); }
#app[data-view="chat"] .point-receipts .panel-heading { display:contents; }
#app[data-view="chat"] .point-receipts .panel-heading>strong { display:none; }
#app[data-view="chat"] .point-receipts .panel-heading>.button { grid-column:2; grid-row:1; }
#app[data-view="chat"] .point-receipts ul { grid-column:1; grid-row:1; max-height:var(--chat-input-height); }
#app[data-view="chat"] .point-receipts li { padding:0; }
#app[data-view="chat"] .point-receipts li>span { display:none; }
#app[data-view="chat"] .conversation-layout {
  position:relative; height:100%; min-height:0; align-items:stretch;
  grid-template-columns:minmax(0,var(--chat-history-width)) minmax(0,1fr); gap:var(--chat-gap);
}
#app[data-view="chat"] .conversation-directory {
  margin:0; padding:var(--chat-gap); min-height:0; max-height:none; overflow:auto;
}
#app[data-view="chat"] .conversation-reader {
  display:flex; flex-direction:column; padding:0; margin:0; height:100%; min-height:0;
}
.chat-reading-area { position:relative; flex:1; min-height:0; }
#app[data-view="chat"] .chat-transcript {
  height:100%; max-height:none; margin:0; padding:var(--chat-pad);
  overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable;
  gap:var(--space-5); scroll-padding:var(--chat-pad);
}
#app[data-view="chat"] .chat-thread-heading { margin:0; flex:none; }
.chat-thread-heading h2 { font-size:var(--font-small); }
#app[data-view="chat"] .chat-message { flex:none; max-width:100%; }
#app[data-view="chat"] .chat-message.assistant { padding:0; border:0; background:transparent; }
#app[data-view="chat"] .chat-message.user { max-width:90%; }
.chat-message-heading { display:flex; align-items:center; justify-content:flex-start; gap:var(--chat-message-meta-gap); margin-bottom:var(--chat-message-meta-gap); }
.chat-message-heading time { margin:0; }
#app[data-view="chat"] .chat-message.user>p { margin-top:0; }
.chat-question-time { display:block; text-align:start; margin-top:var(--chat-message-meta-gap); }
#app[data-view="chat"] .chat-message p,
#app[data-view="chat"] .chat-markdown { font-size:var(--chat-text-font); line-height:var(--chat-line-height); }
#app[data-view="chat"] .chat-welcome { margin:auto 0; padding:var(--chat-pad) 0; }
.chat-health-summary { display:flex; gap:var(--chat-gap); align-items:center; margin-bottom:var(--space-5); }
.chat-health-summary>div { min-width:0; }
.chat-health-summary strong { display:block; font-size:var(--chat-greeting-font); font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
.chat-health-summary .crown-badge img { width:var(--chat-greeting-crown); height:var(--chat-greeting-crown); }
.chat-jump { position:absolute; bottom:var(--chat-jump-offset); right:var(--chat-pad); box-shadow:var(--shadow); }
.chat-dock { flex:none; position:relative; border-top:1px solid var(--line); padding:var(--chat-gap); }
#app[data-view="chat"] .chat-composer { margin:0; padding:0; border:0; }
.chat-entry { display:flex; align-items:flex-end; gap:var(--chat-gap); }
#app[data-view="chat"] .chat-composer textarea {
  min-height:var(--chat-input-height); height:var(--chat-input-height); max-height:var(--chat-input-max);
  resize:vertical; flex:1; min-width:0; font-size:var(--chat-text-font);
}
.chat-entry>.button { flex:none; min-height:var(--touch); }
.chat-composer-footer { display:flex; align-items:center; gap:var(--chat-gap); flex-wrap:wrap; }
.chat-options>summary { display:flex; align-items:center; gap:var(--chat-gap); min-height:var(--touch); font-size:var(--chat-control-font); color:var(--muted); cursor:pointer; }
.chat-options>summary::before { content:'+'; font-size:var(--chat-header-font); }
.chat-options[open]>summary::before { content:'−'; }
.chat-options-panel {
  position:absolute; left:0; right:0; bottom:100%; z-index:30;
  max-height:min(var(--chat-options-max),var(--visual-height) * var(--chat-popover-ratio)); overflow:auto;
  padding:var(--chat-pad); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow);
}
.chat-options-panel .chat-file-panel { margin-top:var(--chat-gap); }
.chat-options-panel .chat-file-panel>p { margin-top:var(--chat-gap); }
.chat-options-panel .chat-tools { margin:0; }
.chat-unavailable { margin:0; }
#app[data-view="chat"] .chat-composer-footer>.generated-images {
  padding:0; margin:0 0 0 auto; border:0; background:var(--surface); border-radius:var(--radius);
}
#app[data-view="chat"] .chat-composer-footer>.generated-images>summary { font-size:var(--chat-control-font); color:var(--muted); font-weight:600; }
#app[data-view="chat"] .chat-composer-footer>.generated-images[open] {
  position:absolute; right:var(--chat-gap); z-index:31; bottom:100%; width:min(var(--chat-popover-width),100% - var(--chat-gap) * 2);
  max-height:min(var(--chat-options-max),var(--visual-height) * var(--chat-popover-ratio)); overflow:auto;
  padding:var(--chat-pad); border:1px solid var(--line); box-shadow:var(--shadow);
}
.generated-images[open]>summary { padding-right:var(--touch); }
.image-panel-close { position:absolute; top:var(--chat-gap); right:var(--chat-gap); width:var(--touch); height:var(--touch); font-size:var(--chat-header-font); padding:0; }
:root[data-layout="tablet"] { --chat-history-width:190px; --chat-page-pad:16px; --chat-pad:16px; }
:root[data-layout="mobile"] { --chat-page-pad:8px; --chat-pad:14px; --chat-gap:8px; --chat-input-height:56px; --chat-greeting-font:18px; --chat-greeting-crown:44px; }
:root[data-layout="mobile"] #app[data-view="chat"] .workspace {
  padding:env(safe-area-inset-top) max(var(--chat-page-pad),env(safe-area-inset-right))
    calc(var(--mobile-nav) + env(safe-area-inset-bottom) + var(--chat-gap)) max(var(--chat-page-pad),env(safe-area-inset-left));
}
:root[data-layout="mobile"] #app[data-view="chat"] .page-header { align-items:center; flex-wrap:nowrap; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--chat-gap); overflow:visible; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory .panel-heading { margin:0; flex-wrap:nowrap; grid-column:1; grid-row:1; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory h2 { font-size:var(--font-small); }
:root[data-layout="mobile"] #app[data-view="chat"] .mobile-history-toggle { margin:0; width:auto; font-size:var(--chat-control-font); grid-column:2; grid-row:1; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory:not(.expanded)>.guest-chat-notice,
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory:not(.expanded)>.badge { display:none; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory.expanded { position:absolute; inset:0 0 auto; z-index:20; max-height:min(calc(var(--visual-height) * var(--chat-popover-ratio)),100%); overflow:auto; box-shadow:var(--shadow); }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory.expanded~.conversation-reader { grid-row:2; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory.expanded>.guest-chat-notice,
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory.expanded>.badge,
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory.expanded>.chat-history-body { grid-column:1/-1; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory>.badge { display:none; }
:root[data-layout="mobile"] #app[data-view="chat"] .chat-history-body { max-height:none; overflow:visible; margin:0; }
:root[data-layout="mobile"] #conversation-search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--chat-history-row-pad); margin-bottom:var(--chat-history-row-pad); }
:root[data-layout="mobile"] #conversation-search-form .button { width:auto; }
:root[data-layout="mobile"] .chat-shortcut { display:none; }
:root[data-layout="mobile"] .conversation-actions { flex-direction:row; }
:root[data-layout="mobile"] .conversation-actions .button { width:var(--touch); min-width:var(--touch); height:var(--touch); min-height:var(--touch); }
:root[data-layout="mobile"][data-keyboard="open"] #app[data-view="chat"] .workspace { padding-bottom:var(--chat-gap); }
:root[data-layout="mobile"][data-keyboard="open"] #app[data-view="chat"] .preview-bar,
:root[data-layout="mobile"][data-keyboard="open"] #app[data-view="chat"] .page-header,
:root[data-layout="mobile"][data-keyboard="open"] #app[data-view="chat"] .conversation-directory { display:none; }
:root[data-layout="mobile"][data-keyboard="open"] #app[data-view="chat"] .conversation-layout { grid-template-rows:minmax(0,1fr); }

.chat-generated-image{margin:0;display:grid;gap:var(--chat-gap);max-width:min(100%,var(--chat-image-max-width))}
.chat-generated-image img{display:block;width:100%;height:auto;aspect-ratio:auto;border-radius:var(--radius);object-fit:contain}
.chat-generated-image button{justify-self:start}
.chat-image-pending{display:flex;align-items:center;gap:var(--chat-gap);padding:var(--chat-gap);border-radius:var(--radius);background:var(--canvas)}

:root{--brand-checker-light:#d1d5db;--brand-checker-dark:#7c8593;--brand-checker-size:20px}
[data-kind="brand"]>img{background-color:var(--brand-checker-light);background-image:conic-gradient(var(--brand-checker-dark) 25%,transparent 0 50%,var(--brand-checker-dark) 0 75%,transparent 0);background-size:var(--brand-checker-size) var(--brand-checker-size)}

.waiting-dots{display:inline-flex;vertical-align:middle;align-items:center;gap:var(--image-dot-gap);flex:none;color:var(--teal)}
.waiting-dots>span{width:var(--image-dot-size);height:var(--image-dot-size);border-radius:50%;background:currentColor;animation:image-dot-wave var(--image-dot-duration) ease-in-out infinite}
.waiting-dots>span:nth-child(2){animation-delay:var(--image-dot-delay)}
.waiting-dots>span:nth-child(3){animation-delay:calc(var(--image-dot-delay) * 2)}
@keyframes image-dot-wave{0%,60%,100%{transform:translateY(0);opacity:var(--image-dot-rest-opacity)}30%{transform:translateY(var(--image-dot-lift));opacity:1}}
@media(prefers-reduced-motion:reduce){.waiting-dots>span{animation:none}}

:root{--image-viewer-width:94vw;--image-viewer-height:90dvh;--image-viewer-gap:12px;--image-viewer-pad:16px;--image-viewer-backdrop:#101923cc;--image-viewer-stage:#182129}
.image-preview-open{display:block!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;cursor:zoom-in;max-width:100%;border-radius:var(--radius)}
.image-preview-open:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.chat-generated-image .image-preview-open{width:100%;justify-self:stretch}
dialog.image-viewer{width:var(--image-viewer-width);max-width:var(--image-viewer-width);height:var(--image-viewer-height);max-height:var(--image-viewer-height);padding:var(--image-viewer-pad);background:var(--surface);color:var(--ink)}
dialog.image-viewer[open]{display:flex;flex-direction:column;gap:var(--image-viewer-gap)}
.image-viewer::backdrop{background:var(--image-viewer-backdrop)}
.image-viewer-header,.image-viewer-header>div,.image-viewer-toolbar{display:flex;align-items:center;gap:var(--image-viewer-gap);flex-wrap:wrap}
.image-viewer-header{justify-content:space-between;flex:none}
.image-viewer-toolbar{justify-content:center;flex:none}
.image-viewer-toolbar output{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums}
.image-viewer-stage{flex:1;min-height:0;min-width:0;overflow:auto;background:var(--image-viewer-stage);border-radius:var(--radius);overscroll-behavior:contain}
.image-viewer-stage img{display:block;max-width:none;max-height:none;margin:auto;object-fit:contain}
.chat-options-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--chat-gap)}
.chat-options-heading button{font-size:var(--chat-header-font);min-width:var(--touch)}

.image-viewer-hint{margin:0;flex:none}
.image-viewer-stage{touch-action:none;user-select:none}
.image-viewer-stage.is-pannable{cursor:grab}
.image-viewer-stage.is-dragging{cursor:grabbing}
.image-viewer-stage img{-webkit-user-drag:none}

.image-viewer button{min-width:var(--touch);min-height:var(--touch)}
.image-viewer-status{margin:0;flex:none;overflow-wrap:anywhere}
.image-viewer-status:empty{display:none}
/* Keep the image reachable even with reward notices on a short phone screen. */
:root{--chat-mobile-main-min-height:360px}
:root[data-layout="mobile"] #app[data-view="chat"] .workspace{overflow-y:auto;overscroll-behavior:contain}
:root[data-layout="mobile"] #app[data-view="chat"] main{flex:1 0 var(--chat-mobile-main-min-height)}
.image-viewer-stage{display:flex}
.image-viewer-stage img{flex:none}
/* Image studio: compact choices, predictable output, separate history. */
:root { --image-studio-width:620px; --image-studio-gap:12px; --image-studio-preview:30px; }
#app[data-view="chat"] .chat-composer-footer>.generated-images[open] { width:min(var(--image-studio-width),100% - var(--chat-gap) * 2); }
.image-studio-heading,.image-studio-output { display:flex; align-items:center; gap:var(--image-studio-gap); flex-wrap:wrap; }
.image-studio-heading { justify-content:space-between; }
.generated-images fieldset { border:0; padding:0; margin:0; min-width:0; }
.generated-images legend { font-weight:650; margin-bottom:8px; }
.image-ratio-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.image-ratio-card { position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; padding:12px 6px; border:1px solid var(--line); border-radius:12px; cursor:pointer; text-align:center; }
.image-ratio-card input { position:absolute; opacity:0; width:1px; height:1px; }
.image-ratio-card.selected { border-color:var(--teal); background:var(--mint); box-shadow:inset 0 0 0 1px var(--teal); }
.image-ratio-card:focus-within { outline:2px solid var(--teal); outline-offset:2px; }
.image-ratio-shape { width:32px; height:32px; flex:none; color:var(--muted); }
.image-ratio-shape rect { fill:none; stroke:currentColor; stroke-width:2; }
.image-ratio-card small { color:var(--muted); font-weight:400; font-size:11px; line-height:1.4; }
.image-studio-selects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--image-studio-gap); }
.image-studio-selects label { display:grid; gap:6px; min-width:0; }
.image-studio-selects select { width:100%; min-width:0; }
.image-studio-output { font-size:13px; padding:8px 12px; border-radius:10px; background:var(--canvas); }
.image-studio-output .button { margin-left:auto; font-size:12px; }
.image-studio-lettering,.image-studio-history { border-top:1px solid var(--line); padding-top:8px; }
.image-studio-lettering textarea { margin-top:6px; }
.image-studio-history { margin-top:16px; }
.image-reference-add { position:relative; overflow:hidden; margin-right:8px; }
.image-reference-add input { position:absolute; inset:0; width:100%; opacity:0; cursor:pointer; }
.image-reference-list { list-style:none; padding:0; display:grid; gap:8px; }
.image-reference-list li { display:flex; align-items:center; gap:8px; min-width:0; padding:6px; border:1px solid var(--line); border-radius:10px; }
.image-reference-list img { width:44px; height:44px; object-fit:cover; border-radius:6px; }
.image-reference-list li>div { min-width:0; flex:1; }
.image-reference-list span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.image-reference-list small { color:var(--muted); }
:root[data-layout="mobile"] .image-ratio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
:root[data-layout="mobile"] .image-studio-selects { grid-template-columns:minmax(0,1fr); }
#app[data-view="chat"] .chat-composer-footer>.generated-images[open] {
 position:fixed; top:24px; bottom:24px; right:24px; max-height:none; z-index:45; width:min(var(--image-studio-width),calc(100vw - 48px));
 box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain;
}
.generated-images[open]>.image-panel-close { position:sticky; float:right; top:0; margin-top:calc(-1 * var(--touch)); z-index:2; background:var(--surface); }
:root[data-layout="mobile"] #app[data-view="chat"] .chat-composer-footer>.generated-images[open] { top:max(8px,env(safe-area-inset-top)); right:8px; bottom:max(8px,env(safe-area-inset-bottom)); width:calc(100vw - 16px); }

#app[data-view="chat"] .chat-composer-footer>.generated-images[open]>summary { font-size:20px; font-weight:750; color:var(--ink); }
.image-studio-submit { position:sticky; bottom:0; z-index:3; background:var(--surface); padding:8px 0; }
.image-studio-submit .button { width:100%; }
/* Bring composer tools above the fixed phone navigation when focused/scrolled. */
:root[data-layout="mobile"] #app[data-view="chat"] .workspace { scroll-padding-bottom:calc(var(--mobile-nav) + var(--chat-gap)); }
:root[data-layout="mobile"] .chat-composer-footer>details>summary { scroll-margin-bottom:calc(var(--mobile-nav) + var(--touch)); }

/* Give translated mobile history controls equal space; keep the reader usable. */
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory .panel-heading h2 { display:none; }
:root[data-layout="mobile"] #app[data-view="chat"] .conversation-directory .panel-heading>.button { width:100%; }
:root[data-layout="mobile"] #app[data-view="chat"] .mobile-history-toggle { min-width:0; white-space:normal; }

/* Reading-first chat: one toolbar, one compact reward line, stable composer. */
:root {
 --chat-toolbar-gap:8px; --chat-toolbar-pad:4px; --chat-toolbar-title:18px;
 --chat-reward-pad:8px; --chat-reward-font:13px; --chat-reward-max-height:45dvh;
 --chat-composer-compact-height:56px; --chat-composer-inset:6px;
 --chat-reading-mobile-min:280px; --chat-message-gap:18px;
}
#app[data-view="chat"] .page-header { display:none; }
#app[data-view="chat"] .preview-bar { flex-wrap:nowrap; align-items:center; gap:var(--chat-toolbar-gap); min-height:var(--touch); padding-block:var(--chat-toolbar-pad); }
#app[data-view="chat"] .chat-toolbar-title { margin:0; font-size:var(--chat-toolbar-title); flex:none; }
#app[data-view="chat"] .preview-note { font-size:var(--chat-control-font); }
#app[data-view="chat"] .preview-bar select { min-height:var(--touch); }
.chat-toolbar-account { flex:none; }
.chat-toolbar-account .button { font-size:var(--chat-control-font); padding-inline:var(--chat-toolbar-gap); }
#app .chat-reward-bar { display:flex; flex:none; align-items:flex-start; gap:var(--chat-toolbar-gap); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:0 var(--chat-reward-pad); margin-bottom:var(--chat-toolbar-gap); }
.chat-reward-details { flex:1; min-width:0; }
.chat-reward-details>summary { display:flex; align-items:center; gap:var(--chat-toolbar-gap); min-height:var(--touch); padding-block:var(--chat-toolbar-pad); cursor:pointer; list-style:none; }
.chat-reward-details>summary::-webkit-details-marker { display:none; }
.chat-reward-headline { flex:1; min-width:0; font-size:var(--chat-reward-font); font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.chat-reward-disclosure { flex:none; font-size:var(--chat-control-font); color:var(--muted); display:flex; gap:var(--chat-toolbar-gap); align-items:center; }
.chat-reward-disclosure::after { content:''; width:var(--chat-toolbar-pad); height:var(--chat-toolbar-pad); border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }
.chat-reward-details[open] .chat-reward-disclosure::after { transform:rotate(225deg); }
.chat-reward-expanded { max-height:var(--chat-reward-max-height); overflow:auto; overscroll-behavior:contain; }
#app .chat-reward-expanded .point-celebration { margin:0; border:0; padding:var(--chat-reward-pad) 0; grid-template-columns:minmax(0,1fr); }
.chat-reward-shortcut { display:flex; align-items:center; gap:var(--chat-toolbar-gap); min-height:var(--touch); font-size:var(--chat-control-font); color:var(--teal); padding-block:var(--chat-toolbar-pad); }
.chat-reward-shortcut .ui-symbol { width:var(--chat-toolbar-title); height:var(--chat-toolbar-title); flex:none; }
#app[data-view="chat"] .chat-composer .chat-entry textarea { min-height:var(--chat-composer-compact-height); height:var(--chat-composer-compact-height); padding-block:var(--chat-toolbar-gap); }
#app[data-view="chat"] .chat-entry .chat-send { bottom:var(--chat-composer-inset); }
#app[data-view="chat"] .chat-dock { padding-block:var(--chat-composer-inset); }
#app[data-view="chat"] .chat-transcript { gap:var(--chat-message-gap); }
:root[data-layout="mobile"] #app[data-view="chat"] .preview-note { display:none; }
:root[data-layout="mobile"] #app[data-view="chat"] .preview-bar select { width:auto; min-width:0; max-width:45%; font-size:var(--chat-reward-font); }
:root[data-layout="mobile"] #app .chat-reward-bar { flex-wrap:wrap; gap:0; }
:root[data-layout="mobile"] .chat-reward-details { flex-basis:100%; }
:root[data-layout="mobile"] .chat-reward-shortcut { border-top:1px solid var(--line); width:100%; }
:root[data-layout="mobile"] #app[data-view="chat"] main { flex-basis:var(--chat-reading-mobile-min); }

.chat-evidence { display:flex; flex-wrap:wrap; align-items:flex-start; gap:0 var(--chat-gap); margin-top:var(--chat-toolbar-gap); }
.chat-evidence .chat-sources { border:0; margin:0; padding:0; }
.chat-evidence .chat-sources[open] { flex-basis:100%; }
.chat-evidence .chat-sources summary { gap:var(--chat-toolbar-gap); }
.chat-evidence .chat-sources summary::after { content:''; width:var(--chat-toolbar-pad); height:var(--chat-toolbar-pad); border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); }
.chat-evidence .chat-sources[open] summary::after { transform:rotate(225deg); }
