/* Model detail only. Charlie's shared palette and shell remain the source. */
.charlie-model-detail .model-layout { gap:36px clamp(28px,4vw,64px); }
.charlie-model-detail .model-record-slot { padding:0 0 28px; }
.charlie-model-detail .record { padding:0; }
.charlie-model-detail .crumbs { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0; }
.charlie-model-detail .crumbs>* { margin:0;padding:0;font:inherit; }
.charlie-model-detail .crumbs>span:last-child { overflow-wrap:anywhere; }
.charlie-model-detail .m-title { margin-top:14px; }
.charlie-model-detail .m-title>div:last-child { min-width:0; }
.charlie-model-detail .rec-title { font-size:clamp(1.9rem,1.4rem + 1.6vw,2.9rem);line-height:1.12;margin:4px 0 0;overflow-wrap:anywhere; }
.charlie-model-detail .rec-chips { margin-top:16px; }
/* Keep the unresolved-license warning above the legacy style layer. */
.charlie-model-detail .rec-chips .unknown-license-chip { background:repeating-linear-gradient(-45deg,var(--bg-soft) 0 5px,var(--line) 5px 6px);border-color:var(--line-strong);color:var(--ink); }
.charlie-model-detail .model-download-panel { gap:16px; }
.charlie-model-detail .model-download-status p { margin-top:12px; }
.charlie-model-detail .model-download-price { font-size:1.6rem;font-weight:800; }
.charlie-model-detail .model-download-panel .btn { width:100%; }
.charlie-model-detail .model-app-action .hb-open-app { display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius);background:var(--ink);color:var(--bg);font:700 1rem var(--font);text-decoration:none;text-align:center; }
.charlie-model-detail .model-app-action .hb-open-app__note { display:block;font-size:.875rem;line-height:1.5;color:var(--ink-2);margin-top:8px; }
.charlie-model-detail .model-download-panel progress { width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:var(--bg-sunk);accent-color:var(--accent); }
.charlie-model-detail .model-download-panel progress::-webkit-progress-bar { background:var(--bg-sunk); }
.charlie-model-detail .model-download-panel progress::-webkit-progress-value { background:var(--accent);border-radius:99px; }
.charlie-model-detail .model-download-panel progress::-moz-progress-bar { background:var(--accent); }
.charlie-model-detail .model-download-options-body,.charlie-model-detail .model-download-options>div { display:grid;gap:14px;min-width:0; }
.charlie-model-detail .model-download-options>div { padding:16px; }
.charlie-model-detail .model-download-options .dl-pick { padding:0;border:0;background:none; }
.charlie-model-detail .model-download-options .browser-download-actions { padding:0 16px 16px; }
.charlie-model-detail .model-download-footnote { display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px;font-size:.875rem;line-height:1.5; }
.charlie-model-detail .disclose>summary { display:flex;justify-content:space-between;text-align:left;gap:12px; }
.charlie-model-detail .disclose>summary::marker { content:''; }
.charlie-model-detail .disclose>summary::-webkit-details-marker { display:none; }
.charlie-model-detail .disclose>summary::before { content:none; }
.charlie-model-detail .model-source-tools { display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;overflow-wrap:anywhere; }
.charlie-model-detail .model-source-tools code { min-width:0;overflow-wrap:anywhere; }
.charlie-model-detail .model-detail-tools { display:flex;gap:12px;flex-wrap:wrap;margin:24px 0; }
.charlie-model-detail .model-extra-tools { margin-top:12px; }
.charlie-model-detail .model-extra-tools>div,.charlie-model-detail .model-extra-tools>section { padding:20px; }
.charlie-model-detail .model-fit-section .card { padding:20px; }
.charlie-model-detail .model-fit-section .card p { margin:0 0 16px; }
.charlie-model-detail .charlie-file-row { min-width:0; }
.charlie-model-detail .charlie-file-row code { overflow-wrap:anywhere; }
.charlie-model-detail .model-content .subtabs { margin-bottom:24px; }
.charlie-model-detail .model-content .model-tab { flex-shrink:0; }
@media(max-width:980px) {
  .charlie-model-detail .model-layout { gap:28px; }
}
@media(max-width:480px) {
  .charlie-model-detail .m-title { align-items:flex-start;gap:12px; }
  .charlie-model-detail .m-title .avatar { width:48px;height:48px;border-radius:12px;font-size:1rem; }
  .charlie-model-detail .model-download-panel { padding:20px; }
}

.charlie-model-detail .record .hb-open-app__desktop { margin-top: 12px; }
.charlie-model-detail .selected-file-links > summary::before { content: none; }

@media (max-width: 600px) {
  .charlie-model-detail [data-proof-receipt] .model-proof-sentence { display:none; }
  .charlie-model-detail .model-content .subtabs { flex-wrap:nowrap;overflow-x:auto;max-width:100%; }
  .charlie-model-detail .model-content .subtabs .model-tab { white-space:nowrap; }
}

/* Reserve the existing four-line unknown-availability message while it refreshes. */
.charlie-model-detail .model-download-options-body > .dl-status { min-block-size: 6.2em; }
/* Until DM Sans arrives, set the title in a fallback sized to DM Sans' advance widths so
   the first painted heading is already as large as the final one; the web-font swap then
   no longer produces a later, larger paint (it delayed LCP to the font's arrival time). */
@font-face { font-family:"DM Sans Title Fallback"; src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans"); size-adjust:113%; }
.charlie-model-detail .rec-title, .charlie-model-detail .model-download-options-body > .dl-status { font-family:"DM Sans","DM Sans Title Fallback","Helvetica Neue",Arial,sans-serif; }
