html.cv-studio-v3:has(.studio-chat),
html.cv-studio-v3:has(.studio-chat) body {min-width:0;}
html.cv-studio-v3:has(.studio-chat) #cvV3App {position:fixed!important;inset:0;}
#cvV3App .shell:has(.studio-chat) {height:100dvh;min-height:0;overflow:hidden;}
#cvV3App .studio-chat {
  height:100dvh;min-height:0;
  --chat-gutter:clamp(12px,3vw,44px);--chat-width:760px;
}
#cvV3App .studio-chat .chat-area {height:100%;min-height:0;background:#111110;}
#cvV3App .studio-chat .chat-top {
  flex:none;position:relative;z-index:3;gap:12px;
  padding:13px var(--chat-gutter);min-height:62px;
  border-color:#302b23;background:#141311;
}
#cvV3App .studio-chat .chat-top > .model-menu {width:auto;min-width:0;max-width:300px;flex:0 1 260px;}
#cvV3App .studio-chat .chat-top .model-select {
  width:100%;min-height:36px;padding:6px 9px;border-color:#514533;background:#201c16;
}
#cvV3App .studio-chat .model-select .model-title {flex:1;min-width:0;}
#cvV3App .studio-chat .model-select strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#cvV3App .studio-chat .model-option-name {overflow-wrap:anywhere;}
#cvV3App .studio-chat .model-list {max-height:min(320px,55dvh);}
#cvV3App .studio-chat .chat-toolbar-actions {display:flex;gap:7px;flex:none;}
#cvV3App .studio-chat .chat-top .chat-history-menu {width:auto;}
#cvV3App .studio-chat :is(.chat-history-menu summary,.chat-new,.chat-attach) {
  display:flex;align-items:center;justify-content:center;gap:6px;min-height:36px;
  padding:6px 10px;border:1px solid #494033;border-radius:8px;
  background:#201c16;color:#e4d6bb;line-height:1.35;white-space:nowrap;
}
#cvV3App .studio-chat :is(.chat-history-menu summary,.chat-new,.chat-attach):hover {background:#2c251a;border-color:#8e7349;}
#cvV3App .studio-chat .chat-history-menu summary {cursor:pointer;list-style:none;}
#cvV3App .studio-chat .chat-history-menu summary::-webkit-details-marker {display:none;}
#cvV3App .studio-chat .chat-history-menu summary:focus-visible {outline:2px solid var(--gold);outline-offset:3px;}
#cvV3App .studio-chat :is(.chat-history-menu summary,.chat-new,.chat-attach) .icon {width:15px;height:15px;flex:none;color:#e3c477;}
#cvV3App .studio-chat .chat-history-popover {
  inset:calc(100% + 8px) 0 auto auto;width:min(252px,calc(100dvw - 132px));
  max-height:min(320px,57dvh);overflow:auto;padding:8px;
}
#cvV3App .studio-chat .chat-history-popover h2 {padding:5px 6px 7px;color:#f0e4cf;font-size:13px;font-weight:600;}
#cvV3App .studio-chat .chat-history-popover p {padding:4px 6px;color:#b9afa0;font-size:12px;line-height:1.5;}
#cvV3App .studio-chat .chat-history-item {
  width:100%;display:flex;align-items:center;gap:8px;min-height:38px;padding:6px;
  border-radius:6px;color:#ded3bf;text-align:left;font-size:12px;
}
#cvV3App .studio-chat .chat-history-item:hover {background:#342a1d;}
#cvV3App .studio-chat .chat-history-item .icon {width:14px;height:14px;flex:none;color:#c3a36d;}
#cvV3App .studio-chat .chat-history-item span:not(.icon) {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

#cvV3App .studio-chat .chat-main {display:flex;flex:1;flex-direction:column;min-height:0;}
#cvV3App .studio-chat .chat-main-empty {
  justify-content:safe center;overflow:auto;padding-block:24px;
  background:radial-gradient(ellipse at 50% 45%,#1d1912 0%,#111110 68%);
}
#cvV3App .studio-chat .chat-thread {min-height:0;padding:26px var(--chat-gutter) 12px;scrollbar-width:thin;}
#cvV3App .studio-chat .chat-main-empty .chat-thread {flex:none;overflow:visible;padding-block:0;}
#cvV3App .studio-chat .chat-messages {max-width:var(--chat-width);margin-inline:auto;}
#cvV3App .studio-chat .chat-welcome {margin:0 auto 22px;text-align:center;}
#cvV3App .studio-chat .chat-welcome h1 {
  margin:0;color:#f6ede0;font-size:clamp(30px,4.1vw,55px);line-height:1.08;
  font-weight:620;letter-spacing:-.038em;
}
#cvV3App .studio-chat .chat-message {
  width:fit-content;max-width:100%;margin:0 0 22px;padding:0;
  color:#ece4d7;white-space:normal;overflow-wrap:anywhere;line-height:1.65;
}
#cvV3App .studio-chat .chat-message.user {
  max-width:min(80%,620px);margin-left:auto;padding:11px 15px;
  border:1px solid #4c3e2b;border-radius:13px 13px 4px 13px;background:#2a2318;
}
#cvV3App .studio-chat .chat-message-copy {white-space:pre-wrap;}
#cvV3App .studio-chat .chat-message header {display:flex;align-items:center;gap:8px;margin-bottom:7px;color:#e1c38a;font-size:12px;}
#cvV3App .studio-chat .chat-message header strong {font-weight:600;}
#cvV3App .studio-chat .chat-message header .icon {width:14px;height:14px;flex:none;}
#cvV3App .studio-chat .chat-message header span:last-child {color:#b9ad9b;white-space:nowrap;}
#cvV3App .studio-chat .chat-file {display:flex;align-items:center;gap:5px;margin-top:5px;color:#c5b38e;font-size:11px;}
#cvV3App .studio-chat .chat-pending {display:flex;align-items:center;gap:8px;color:#bfb198;font-size:13px;}
#cvV3App .studio-chat .chat-pending .icon {width:16px;height:16px;color:#e3c477;}

#cvV3App .studio-chat .chat-compose {
  flex:none;width:calc(100% - 2 * var(--chat-gutter));max-width:var(--chat-width);margin:8px auto 12px;
}
#cvV3App .studio-chat .chat-main-empty .chat-compose {margin-block:0;}
#cvV3App .studio-chat .chat-compose form {
  background:#1d1a15;border:1px solid #5a4a32;border-radius:14px;padding:10px 12px;
  box-shadow:0 8px 26px #0004;
}
#cvV3App .studio-chat .chat-compose form:focus-within {border-color:#ba995e;}
#cvV3App .studio-chat .chat-compose textarea {
  display:block;width:100%;min-width:0;min-height:46px;max-height:30dvh;padding:6px;
  color:#f3ece0;font-size:15px;line-height:1.5;resize:none;field-sizing:content;outline:none!important;
}
#cvV3App .studio-chat .chat-compose textarea::placeholder {color:#a79b88;}
#cvV3App .studio-chat .chat-compose footer {margin-top:7px;}
#cvV3App .studio-chat .chat-attach {min-height:34px;padding:5px 9px;font-size:12px;}
#cvV3App .studio-chat .send-button {
  display:grid;place-items:center;width:37px;height:37px;padding:0;
  border-radius:8px;background:#e3c477;color:#1f170b;
}
#cvV3App .studio-chat .send-button:not(:disabled):hover {background:#f6d995;}
#cvV3App .studio-chat .send-button .icon {width:18px;height:18px;}
#cvV3App .studio-chat .chat-files {display:flex;flex-wrap:wrap;gap:5px;max-height:72px;overflow:auto;padding:4px 2px;}
#cvV3App .studio-chat .chat-files button {
  display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:5px 7px;
  border:1px solid #5a4a32;border-radius:6px;background:#30271a;color:#e4d1aa;font-size:11px;
}
#cvV3App .studio-chat .chat-files button span:not(.icon) {min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
#cvV3App .studio-chat :is(.chat-file,.chat-files button) .icon {width:13px;height:13px;flex:none;}
#cvV3App .studio-chat .chat-starters {display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px;}
#cvV3App .studio-chat .chat-starters button {
  padding:6px 9px;border:1px solid #453b2c;border-radius:7px;background:#1b1813;
  color:#c9bda8;font-size:12px;line-height:1.4;
}
#cvV3App .studio-chat .chat-starters button:hover {border-color:#94774a;color:#f0dfbb;}
@media (max-width:610px) {
  #cvV3App .studio-chat .chat-top {gap:6px;padding-block:9px;min-height:54px;}
  #cvV3App .studio-chat .chat-toolbar-actions :is(summary,.chat-new)>span:not(.icon) {display:none;}
  #cvV3App .studio-chat .chat-toolbar-actions {gap:4px;}
  #cvV3App .studio-chat :is(.chat-history-menu summary,.chat-new) {width:33px;padding:5px;}
  #cvV3App .studio-chat .chat-message.user {max-width:94%;}
}

/* A single compact composer, with attachments above and controls below. */
#cvV3App .chat-page-title {font-size:14px;font-weight:500;color:#c6c0b6;}
#cvV3App .studio-chat .chat-compose form,
#cvV3App .studio-chat .chat-compose form:focus-within {background:#202020;border:1px solid #3d3b37;border-radius:24px;padding:12px 14px;box-shadow:none;}
#cvV3App .studio-chat .chat-compose textarea {background:transparent!important;border:0!important;padding:5px 7px;min-height:38px;max-height:200px;line-height:26px;font-size:16px;}
#cvV3App .studio-chat .chat-compose footer {display:flex;align-items:center;gap:8px;margin-top:7px;position:relative;}
#cvV3App .studio-chat .chat-compose footer>.model-menu {width:auto;max-width:240px;min-width:0;margin:0;}
#cvV3App .studio-chat .chat-compose .model-select {min-height:34px;max-width:100%;padding:5px 7px;border:0;background:transparent;font-size:12px;}
#cvV3App .studio-chat .chat-compose .model-title strong {font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#cvV3App .studio-chat .chat-compose .model-select .model-title small {display:none;}
#cvV3App .studio-chat .chat-compose .model-menu-popover {top:auto;bottom:calc(100% + 14px);left:0;width:320px;}
#cvV3App .studio-chat .chat-attach {display:inline-flex;gap:5px;align-items:center;justify-content:center;min-width:34px;height:34px;padding:6px;border:0;border-radius:50%;background:transparent;}
#cvV3App .studio-chat .chat-attach .icon {width:21px;height:21px;color:#ebe6dd;}
#cvV3App .studio-chat .chat-attachment-count {font-size:11px;font-variant-numeric:tabular-nums;color:#d8c9a4;}
#cvV3App .studio-chat .send-button {flex:none;margin-left:auto;width:36px;height:36px;border-radius:50%;}
#cvV3App .studio-chat .chat-files {gap:9px;flex-wrap:nowrap;max-height:none;overflow:auto;padding:2px 2px 12px;}
#cvV3App .studio-chat .chat-attachment {position:relative;display:flex;align-items:center;gap:10px;flex:none;width:190px;height:68px;padding:12px 30px 12px 12px;border:1px solid #49453e;border-radius:12px;background:#292824;}
#cvV3App .studio-chat .chat-attachment>span:not(.icon) {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;}
#cvV3App .studio-chat .chat-attachment.is-image {width:76px;height:76px;padding:0;overflow:hidden;}
#cvV3App .studio-chat .chat-attachment img {width:100%;height:100%;object-fit:cover;}
#cvV3App .studio-chat .chat-attachment button {position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;min-width:0;padding:4px;border:0;border-radius:50%;background:#171717e8;color:#fff;}
#cvV3App .studio-chat .chat-attachment button .icon {width:13px;height:13px;}
#cvV3App .studio-chat .chat-parameters {position:relative;}
#cvV3App .studio-chat .chat-parameters summary {display:flex;align-items:center;gap:6px;padding:7px;min-height:34px;cursor:pointer;list-style:none;color:#c9c1b4;font-size:12px;}
#cvV3App .studio-chat .chat-parameters summary::-webkit-details-marker {display:none;}
#cvV3App .studio-chat .chat-parameters .icon {width:15px;height:15px;}
#cvV3App .studio-chat .chat-parameters section {position:absolute;bottom:calc(100% + 14px);left:0;z-index:8;width:240px;padding:16px;border:1px solid #504735;border-radius:12px;background:#201e19;box-shadow:0 12px 32px #0006;}
#cvV3App .studio-chat .chat-parameters label {display:block;font-size:13px;margin-bottom:10px;}
#cvV3App .studio-chat .chat-parameters select {width:100%;padding:8px;border:1px solid #565046;border-radius:7px;background:#2a2721;color:#f4ead7;}
#cvV3App .studio-chat .chat-parameters p {margin-top:12px;color:#bcb2a1;font-size:12px;line-height:1.5;}
#cvV3App .studio-chat .chat-compose form.has-file-drag {border-style:dashed;}
@media(max-width:1060px){#cvV3App .studio-chat .chat-parameters summary>span:not(.icon){display:none;}}
