/* Reviewed Mochi chat, 7 October. Loaded after the common app/appearance styles.
   All colours inherit the six installed palettes. Shell/navigation stays outside. */
.jv-chat-page{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;overflow:hidden}
.jv-chat-page .jv-chat-frame{flex:1;min-height:0;height:auto;width:100%}
.jv-chat-page .jv-transcript-wrap{min-height:0;height:100%}
.jv-chat-page-header{height:84px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 31px;gap:10px}
.jv-chat-identity{display:flex;align-items:center;gap:11px;padding:7px 9px;border:0;border-radius:12px;background:transparent;text-align:left;min-width:0;color:var(--jv-text)}
.jv-chat-identity>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}
.jv-chat-identity strong{font-size:18px;font-weight:600}
.jv-chat-identity small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px;color:var(--jv-text-muted)}
.jv-chat-identity>.jv-icon{width:13px;height:13px;flex:none}
.jv-chat-header-actions{display:flex;align-items:center;gap:5px;flex:none}
.jv-chat-page-header .jv-icon-button{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.jv-chat-needs{position:relative}
.jv-chat-request-count{position:absolute;top:0;right:0;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;background:var(--jv-btn);color:var(--jv-on-btn);border-radius:50%;font-size:10px}
.jv-chat-page .jv-transcript{padding:20px max(28px,calc((100% - 740px)/2)) 26px;gap:0;min-height:0;overscroll-behavior:contain}
.jv-chat-page .jv-msg{margin:0 0 33px;width:100%;max-width:100%;overflow-wrap:anywhere;flex-shrink:0}
.jv-chat-page .jv-msg[data-role="owner"]{width:auto;max-width:90%;padding-left:40px}
.jv-chat-page .jv-msg[data-role="owner"]>.jv-bubble{border-radius:18px 18px 5px 18px;padding:15px 21px;font-size:16px;line-height:1.6;white-space:pre-wrap}
.jv-chat-page .jv-msg[data-role="owner"]>.jv-bubble:empty{display:none}
.jv-chat-page .jv-msg[data-role="jarvis"]{padding-left:46px}
.jv-chat-page .jv-msg[data-role="jarvis"]>.jv-bubble{font-size:16px;line-height:1.85;white-space:pre-wrap;width:100%;color:var(--jv-text)}
.jv-chat-message-name{font-size:14px;font-weight:600;margin:7px 0 13px;display:block}
.jv-chat-reply-actions{display:flex;align-items:center;gap:3px;margin-left:-7px;margin-top:8px;flex-wrap:wrap}
.jv-chat-reply-actions .jv-icon-button{width:33px;height:33px;min-height:33px;min-width:33px;padding:8px}
.jv-chat-reply-actions .jv-icon{width:16px;height:16px}
.jv-chat-page .jv-claims{max-width:100%;flex-wrap:wrap}
.jv-chat-page .jv-files{max-width:100%}
.jv-chat-page .jv-file-name{overflow:hidden;text-overflow:ellipsis}
.jv-chat-first-view{flex:1;min-height:130px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding-bottom:34px}
.jv-chat-page[data-chat-empty="true"] .jv-transcript{padding-bottom:0}
.jv-chat-page .jv-chat-composer-region{flex:none;padding:8px 28px max(22px,env(safe-area-inset-bottom));min-width:0;max-height:65%;overflow-y:auto;overflow-x:clip}
.jv-chat-page[data-chat-empty="true"] .jv-chat-composer-region{padding-bottom:clamp(50px,16dvh,170px);max-height:75%}
.jv-app .jv-chat-page .jv-composer{width:100%;max-width:740px;margin:0 auto;display:block;padding:15px 13px 10px;border:1px solid var(--jv-input-border);border-radius:20px;background:var(--jv-surface);box-shadow:0 4px 14px color-mix(in srgb,var(--jv-text) 3%,transparent)}
.jv-app .jv-chat-page .jv-composer:focus-within{border-color:var(--jv-accent);box-shadow:0 0 0 1px var(--jv-accent)}
.jv-chat-page .jv-composer-input{display:block;resize:vertical;min-height:61px;max-height:160px;width:100%;border:0;outline:none;background:transparent;padding:3px 7px;font-size:16px!important;line-height:1.6}
.jv-chat-page .jv-composer-input::placeholder{color:var(--jv-text-muted)}
.jv-chat-page .jv-composer-actions{display:flex;align-items:center;gap:3px}
.jv-chat-page .jv-composer-actions>.jv-icon-button,.jv-chat-page .jv-add-anchor>.jv-icon-button{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:10px}
.jv-chat-page .jv-send{width:37px;height:37px;min-width:37px;min-height:37px;margin-left:3px;border-radius:50%;padding:8px}
.jv-chat-page .jv-send:disabled{background:var(--jv-surface-3)!important;color:var(--jv-text-muted)!important;opacity:1}
.jv-chat-page .jv-send .jv-icon{width:20px;height:20px}
.jv-chat-page .jv-composer-note{max-width:740px;margin:9px auto 0;font-size:11px;line-height:1.5;text-align:center;color:var(--jv-text-muted)}
.jv-chat-page .jv-chat-connection{width:100%;max-width:740px;margin:0 auto 10px}
.jv-chat-send-notice,.jv-chat-recovery{width:100%;max-width:740px;margin:0 auto 12px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.jv-chat-recovery{padding:12px 15px;border:1px solid var(--jv-border-strong);border-radius:12px;background:var(--jv-surface-2)}
.jv-chat-recovery p{margin:0 0 9px}.jv-chat-recovery details{margin-bottom:12px}.jv-chat-recovery pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:160px;overflow:auto}
.jv-chat-page .jv-voice-help{margin-top:4px;font-size:11px}
.jv-chat-page .jv-mochi-activity{max-width:100%;flex-shrink:0}
.jv-chat-page .jv-add-menu{position:fixed;left:auto;bottom:auto;transform:translateY(calc(-100% - 8px));max-width:calc(100vw - 40px);animation:none}
.jv-chat-page-panel{color:var(--jv-text);background:var(--jv-surface);border:1px solid var(--jv-border-strong);border-radius:20px;padding:0;width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 46px);overflow:auto;box-shadow:var(--jv-shadow)}
.jv-chat-page-panel::backdrop{background:rgb(0 0 0 / .34);backdrop-filter:blur(3px)}
.jv-chat-panel-head{position:sticky;top:0;background:var(--jv-surface);z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 23px 17px;border-bottom:1px solid var(--jv-border)}
.jv-chat-panel-head h2{font-size:23px;margin:0;overflow-wrap:anywhere}
.jv-chat-panel-body{padding:24px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.jv-chat-panel-body h3{font-size:18px;font-weight:590;margin:0 0 12px}
.jv-chat-panel-body p{margin:0 0 16px}
.jv-chat-panel-body hr{border:0;border-top:1px solid var(--jv-border);margin:22px 0}
.jv-chat-profile-identity{display:flex;align-items:center;gap:19px}
.jv-chat-profile-identity p{font-size:13px;color:var(--jv-text-muted)}
.jv-chat-panel-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.jv-chat-panel-links a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.jv-chat-facts{display:grid;grid-template-columns:1fr 1.45fr;gap:12px;font-size:13px;line-height:1.6}
.jv-chat-facts dt{color:var(--jv-text-muted)}
.jv-chat-facts dd{margin:0;overflow-wrap:anywhere}
.jv-chat-facts dd button{display:block;margin-top:6px}
.jv-chat-action-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:18px;text-align:left;padding:15px 4px;border:0;border-bottom:1px solid var(--jv-border);background:transparent;line-height:1.5;color:var(--jv-text);text-decoration:none}
.jv-chat-action-row strong{font-weight:560}
.jv-chat-action-row small{display:block;margin-top:4px;font-size:12px;color:var(--jv-text-muted)}
.jv-chat-action-row>.jv-icon{width:17px;height:17px;flex:none;color:var(--jv-text-muted)}
.jv-chat-notice{border-left:3px solid var(--jv-border-strong);background:var(--jv-surface-2);color:var(--jv-on-muted,var(--jv-text-muted));padding:12px 15px;font-size:13px;line-height:1.65;border-radius:0 8px 8px 0;margin:16px 0}
.jv-chat-caption{font-size:12px;line-height:1.6;color:var(--jv-text-muted)}
/* Connections (DC64): the owner's model and thinking choice on the profile; two native selects, one Save. */
.jv-model-chooser{display:grid;gap:10px;margin-top:12px}
.jv-model-chooser p{margin:0;font-size:13px;line-height:1.55}
.jv-model-chooser-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jv-model-chooser-fields label{display:grid;gap:4px;font-size:12px;color:var(--jv-text-muted);min-width:0}
.jv-model-chooser-fields select{width:100%;min-width:0;color:var(--jv-text);background:var(--jv-bg)}
.jv-model-chooser-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:480px){.jv-model-chooser-fields{grid-template-columns:1fr}}
.jv-chat-page-panel .jv-model-group h4{font-size:13px;text-transform:capitalize}
.jv-chat-page-panel .jv-model-group ul{padding-left:20px;font-size:12px}
.jv-chat-page :is(button,a):focus-visible,.jv-chat-page-panel :is(button,a,summary):focus-visible{outline:2px solid var(--jv-accent);outline-offset:4px}
@media(min-width:1500px){.jv-chat-page .jv-transcript{padding-inline:max(28px,calc((100% - 790px)/2))}.jv-app .jv-chat-page .jv-composer,.jv-chat-page .jv-chat-connection,.jv-chat-page .jv-composer-note{max-width:790px}.jv-chat-page-header{padding-inline:45px}}
@media(max-width:760px){
  .jv-chat-page-header{height:72px;padding:0 9px;gap:0;border-bottom:1px solid var(--jv-border)}
  .jv-chat-identity{gap:6px;padding:5px;flex:1;min-width:0}.jv-chat-identity>.jv-mochi{width:35px!important;height:35px!important}.jv-chat-identity strong{font-size:16px}.jv-chat-identity small{font-size:10px;max-width:136px}.jv-chat-identity>.jv-icon{display:none}
  .jv-chat-header-actions{gap:0}.jv-chat-page-header .jv-icon-button{width:36px;min-width:36px;height:40px;min-height:40px}
  .jv-chat-page .jv-transcript{padding:20px 15px}.jv-chat-page .jv-msg{margin-bottom:27px}.jv-chat-page .jv-msg[data-role="jarvis"]{padding-left:35px}.jv-chat-page .jv-msg[data-role="jarvis"]>.jv-mochi{width:27px!important;height:27px!important}.jv-chat-message-name{margin-top:3px;font-size:13px}
  .jv-chat-page .jv-msg[data-role="jarvis"]>.jv-bubble{font-size:14px;line-height:1.8}.jv-chat-page .jv-msg[data-role="owner"]{padding-left:18px;max-width:96%}.jv-chat-page .jv-msg[data-role="owner"]>.jv-bubble{font-size:14px;padding:12px 15px}
  .jv-chat-first-view{min-height:110px;padding-bottom:20px}.jv-chat-first-view>.jv-mochi{width:95px!important;height:95px!important}
  .jv-chat-page .jv-chat-composer-region{padding:7px 12px max(13px,env(safe-area-inset-bottom))}.jv-chat-page[data-chat-empty="true"] .jv-chat-composer-region{padding-bottom:clamp(34px,12dvh,105px)}
  .jv-app .jv-chat-page .jv-composer{border-radius:17px;padding:12px 9px 8px}.jv-chat-page .jv-composer-input{min-height:52px}.jv-chat-page .jv-composer-note{font-size:10px}
  .jv-chat-page-panel{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:17px}.jv-chat-panel-head{padding:16px 17px 13px}.jv-chat-panel-head h2{font-size:21px}.jv-chat-panel-body{padding:19px}.jv-chat-profile-identity{gap:14px}.jv-chat-profile-identity>.jv-mochi{width:62px!important;height:62px!important}.jv-chat-facts{grid-template-columns:1fr 1.3fr;font-size:12px}
}
@media(max-height:600px){.jv-chat-page[data-chat-empty="true"] .jv-chat-composer-region{padding-bottom:13px}.jv-chat-first-view{min-height:64px;padding-bottom:10px}.jv-chat-first-view>.jv-mochi{width:64px!important;height:64px!important}}
@media(prefers-reduced-motion:reduce){.jv-chat-page *,.jv-chat-page-panel *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
