/* Provider/model selection inherits every existing DeepILM theme. */
.provider-picker-native { display: none !important; }
.provider-model-picker { min-width: 0; margin: 7px 0 13px; font-family: var(--font-ui, Inter, sans-serif); }
.provider-picker-inline-providers,.provider-picker-providers { display: flex; flex-wrap: wrap; gap: 8px; }
.provider-picker-inline-providers { margin-bottom: 9px; }
.provider-model-picker button,.provider-picker-dialog button { font: inherit; color: var(--ink); cursor: pointer; touch-action: manipulation; }
.provider-model-picker button:focus-visible,.provider-picker-dialog button:focus-visible,.provider-picker-dialog input:focus-visible,.provider-picker-dialog select:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.provider-picker-provider { min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; border: 1px solid var(--line); border-radius: 12px; padding: 7px 10px; background: var(--surface-2); font-size: 12px !important; line-height: 1.3; }
.provider-picker-provider[aria-pressed="true"] { background: var(--brand-soft); border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); }
.provider-picker-provider:hover,.provider-picker-trigger:hover,.provider-picker-card:hover { border-color: var(--brand); }
.provider-picker-logo { position: relative; display: inline-grid; place-items: center; width: 29px; height: 29px; flex: 0 0 29px; border-radius: 8px; background: #fff; color: #202126; overflow: hidden; }
.provider-picker-logo img { width: 23px; height: 23px; display: block; object-fit: contain; position: absolute; inset: 3px; }
.provider-picker-monogram { font-weight: 700; font-size: 15px; }
.provider-picker-logo.provider-picker-deepilm { background: var(--brand-soft); }
.provider-picker-brand-symbol { display: block; width: 24px; height: 24px; }
.provider-picker-trigger { width: 100%; min-height: 65px; display: flex; align-items: center; gap: 11px; text-align: start; padding: 11px 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
.provider-picker-trigger > .provider-picker-logo { width: 34px; height: 34px; flex-basis: 34px; }
.provider-picker-trigger > .provider-picker-logo img { inset: 5px; width: 24px; height: 24px; }
.provider-picker-copy { display: grid; gap: 5px; min-width: 0; flex: 1; }
.provider-picker-copy strong { font-size: 14px; font-weight: 650; line-height: 1.4; overflow-wrap: anywhere; }
.provider-picker-copy small { color: var(--muted); font-size: 12px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.provider-picker-chevron { font-size: 22px; color: var(--muted); flex-shrink: 0; }
.provider-model-picker button:disabled,.provider-picker-dialog button:disabled { cursor: not-allowed; opacity: .65; }
.provider-picker-dialog { width: min(860px, calc(100vw - 32px)); max-height: min(88dvh, 880px); box-sizing: border-box; padding: 26px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); box-shadow: var(--shadow); font-family: var(--font-ui, Inter, sans-serif); overflow: auto; }
.provider-picker-dialog::backdrop { background: #000a; backdrop-filter: blur(6px); }
.provider-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.provider-picker-eyebrow { display: block; margin-bottom: 8px; color: var(--brand-text); font-size: 11px; font-weight: 700; letter-spacing: .11em; }
.provider-picker-head h2 { margin: 0; color: var(--ink); font: 650 clamp(21px, 3vw, 29px)/1.22 var(--font-ui, Inter, sans-serif); letter-spacing: -.025em; }
.provider-picker-close { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface-2); font-size: 27px !important; }
.provider-picker-intro { color: var(--muted); font-size: 14px; line-height: 1.65; margin: 13px 0 20px; }
.provider-picker-providers { margin-bottom: 20px; }
.provider-picker-count { display: grid; place-items: center; min-width: 20px; height: 20px; padding: 0 3px; font-size: 11px; color: var(--muted); background: var(--surface); border-radius: 5px; }
.provider-picker-search-label { display: block; margin: 0 0 14px; font-size: 12px; color: var(--muted); }
.provider-picker-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .65fr); gap: 16px; }
.provider-picker-sort-label { display: block; min-width: 0; font-size: 12px; color: var(--muted); }
.provider-picker-sort { display: block; box-sizing: border-box; width: 100%; min-height: 46px; margin-top: 7px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); color: var(--ink); font: 400 16px/1.4 var(--font-ui, Inter, sans-serif); }
.provider-picker-sort-help { margin: 0 0 12px; font-size: 12px; line-height: 1.6; color: var(--muted); }
.provider-picker-price-group { grid-column: 1 / -1; margin: 12px 0 0; font-size: 14px; color: var(--brand); }
.provider-picker-added, .provider-picker-released { color: var(--muted); }
@media (max-width: 600px) { .provider-picker-toolbar { grid-template-columns: 1fr; gap: 0; } .provider-picker-sort-label { margin-bottom: 14px; } }
.provider-picker-search { display: block; box-sizing: border-box; width: 100%; min-height: 46px; margin-top: 7px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 13px; background: var(--surface-2); color: var(--ink); font: 400 16px/1.4 var(--font-ui, Inter, sans-serif); }
.provider-picker-status { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 10px 0 15px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.provider-picker-retry { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-2); }
.provider-picker-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.provider-picker-card { display: flex; flex-direction: column; align-items: stretch; gap: 13px; min-height: 150px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; text-align: start; background: var(--surface-2); transition: border-color 160ms ease, background 160ms ease; }
.provider-picker-card[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-soft); }
.provider-picker-card-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.provider-picker-card-title { display: grid; gap: 5px; min-width: 0; flex: 1; }
.provider-picker-card-title small { color: var(--muted); font-size: 11px; }
.provider-picker-card-title strong { font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.provider-picker-selected { font-size: 10px; line-height: 1.4; color: var(--brand-text); border: 1px solid var(--line); border-radius: 6px; padding: 4px 6px; }
.provider-picker-description { color: var(--muted); font-size: 12px; line-height: 1.5; }
.provider-picker-prices { display: grid; gap: 8px; padding-top: 12px; margin-top: auto; border-top: 1px solid var(--hair, var(--line)); }
.provider-picker-price-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; font-size: 12px; line-height: 1.5; }
.provider-picker-price-row > span { color: var(--muted); }
.provider-picker-price-row strong { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.provider-picker-unavailable { color: var(--muted); font-size: 12px; }
.provider-picker-no-results { grid-column: 1 / -1; padding: 25px 15px; text-align: center; color: var(--muted); line-height: 1.6; }
.provider-picker-foot { padding-top: 16px; margin: 16px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.6; }
.provider-atelier-choice { padding: 17px 20px 7px; border-top: 1px solid var(--line); }
.provider-atelier-choice > label { font-size: 13px; color: var(--muted); }
.provider-atelier-choice .provider-picker-trigger { max-width: 650px; }
.chat-mode .provider-model-picker { grid-column: 1 / -1; }
.chain-field > .provider-model-picker { width: 100%; }
@media (max-width: 600px) {
  .provider-picker-dialog { width: calc(100vw - 20px); max-height: 92dvh; padding: 18px 15px; border-radius: 19px; }
  .provider-picker-results { grid-template-columns: 1fr; }
  .provider-picker-card { min-height: 130px; }
  .provider-picker-providers { gap: 7px; }
  .provider-picker-inline-providers { gap: 7px; }
  .provider-picker-provider { font-size: 12px !important; padding: 7px 8px; }
  .provider-picker-head { gap: 12px; }
  .provider-picker-copy small { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .provider-picker-card { transition: none; } }
.provider-picker-current { margin-top:8px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.provider-picker-current[hidden] { display:none; }
.provider-picker-current .provider-picker-description { display:-webkit-box; margin:0; max-height:3.2em; overflow:hidden; font-size:13px; line-height:1.6; color:var(--ink); -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2; }
.provider-picker-io { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.provider-picker-rate-disclosure { margin-top:9px; border-top:1px solid var(--line); }
.provider-picker-rate-toggle { position:relative; display:flex; align-items:center; min-height:44px; box-sizing:border-box; padding:8px 30px 8px 0; color:var(--brand-text); font-size:12px; font-weight:650; cursor:pointer; list-style:none; }
.provider-picker-rate-toggle::-webkit-details-marker { display:none; }
.provider-picker-rate-toggle::after { content:'⌄'; position:absolute; inset-inline-end:3px; font-size:18px; line-height:1; transition:transform 160ms ease; }
.provider-picker-rate-disclosure[open] .provider-picker-rate-toggle::after { transform:rotate(180deg); }
.provider-picker-rate-toggle:focus-visible { outline:3px solid var(--brand); outline-offset:3px; border-radius:6px; }
.provider-picker-current-prices { padding:2px 0 7px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 20px; }
.provider-picker-current-prices .provider-picker-rate-title { grid-column:1/-1; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; font-weight:650; }
.provider-picker-current-prices .provider-picker-price-row { gap:9px; align-items:start; padding:0; border:0; font-size:12px; }
.provider-picker-current-prices .provider-picker-price-amount { white-space:normal; text-align:end; font-variant-numeric:tabular-nums; }
.provider-picker-rate-note { grid-column:1/-1; color:var(--muted); font-size:10px; line-height:1.5; }
@media(max-width:1050px) { .provider-picker-current-prices { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .provider-picker-rate-toggle::after { transition:none; } }

/* Spacious foreground catalogue, with the workshop visible around its backdrop. */
html:has(.provider-picker-dialog[open]) {overflow:hidden}
.provider-picker-dialog[open] {
  position:fixed;inset:0;margin:auto;width:min(1320px,calc(100% - 80px));max-width:none;height:min(900px,calc(100dvh - 80px));max-height:none;
  display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:20px;
  padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));
  overflow:hidden;background:var(--ui-surface,var(--surface));
}
.provider-picker-dialog .provider-picker-head {flex:0 0 auto;gap:12px;align-items:center;margin-bottom:14px}
.provider-picker-dialog .provider-picker-eyebrow {font-size:10px;margin-bottom:4px;letter-spacing:.08em}
.provider-picker-dialog .provider-picker-head h2 {font-size:23px;line-height:1.25}
.provider-picker-dialog .provider-picker-toolbar {
  flex:0 0 auto;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:10px 12px;
}
.provider-picker-dialog .provider-picker-search-label {margin:0;min-width:0}
.provider-picker-dialog :is(.provider-picker-provider-label,.provider-picker-sort-label,.provider-picker-duration-label) {min-width:0;margin:0;font-size:11px;color:var(--ui-text-muted)}
.provider-picker-dialog :is(.provider-picker-sort,.provider-picker-providers,.provider-picker-search,.provider-picker-duration) {
  display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;
  margin:5px 0 0;padding:10px 12px;font-size:14px;line-height:1.4;
}
.provider-picker-dialog :is(.provider-picker-providers,.provider-picker-sort,.provider-picker-duration) {display:flex;flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
@supports (appearance:base-select) {
  .provider-picker-dialog select > .provider-picker-filter-trigger {
    display:flex;align-items:center;flex:1 1 0;min-width:0;min-height:0;width:auto;height:auto;
    gap:10px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;
  }
  .provider-picker-filter-trigger selectedcontent {display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
}
.provider-picker-dialog .provider-picker-sort-help {flex:0 0 auto;margin:8px 0 0;font-size:11px;line-height:1.4}
.provider-picker-dialog .provider-picker-status {flex:0 0 auto;margin:10px 0 8px;min-height:18px;font-size:11px}
.provider-picker-body {flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin;scrollbar-color:var(--ui-control-border) transparent}
.provider-picker-dialog .provider-picker-results {grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;align-items:start}
.provider-picker-item {min-width:0;border:1px solid var(--ui-divider);border-radius:12px;background:var(--ui-surface-raised);overflow:hidden}
.provider-picker-item[data-selected=true] {border-color:var(--ui-action);background:color-mix(in srgb,var(--ui-action) 8%,var(--ui-surface))}
.provider-picker-item > .provider-picker-card {
  display:flex;box-sizing:border-box;width:100%;height:auto;min-height:0;gap:10px;padding:13px 14px;
  border:0;border-radius:0;background:transparent;color:var(--ui-text);box-shadow:none;
}
.provider-picker-item > .provider-picker-card:hover {background:color-mix(in srgb,var(--ui-action) 5%,transparent)}
.provider-picker-item > .provider-picker-card:focus-visible {outline-offset:-3px}
.provider-picker-item .provider-picker-card-head {flex-wrap:nowrap;gap:10px;width:100%}
.provider-picker-item .provider-picker-card-title {gap:3px}
.provider-picker-item .provider-picker-card-title strong {font-size:14px;line-height:1.4}
.provider-picker-item .provider-picker-card-title small {font-size:11px}
.provider-picker-item .provider-picker-selected {flex:0 0 22px;display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--ui-action);color:var(--ui-on-action);font-size:13px}
.provider-picker-item .provider-picker-description {display:-webkit-box;max-height:3em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;font-size:12px;line-height:1.5;text-align:start}
.provider-picker-item .provider-picker-prices {gap:5px;padding-top:9px;margin:0;width:100%}
.provider-picker-item .provider-picker-price-row {flex-wrap:nowrap;align-items:baseline;gap:12px;font-size:11px;line-height:1.5}
.provider-picker-item .provider-picker-price-row > span:first-child {flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.provider-picker-item .provider-picker-price-row > :last-child {flex:0 1 48%;min-width:0;overflow-wrap:anywhere;text-align:end}
.provider-picker-item .provider-picker-price-amount {display:grid;gap:2px}
.provider-picker-extra-rates {color:var(--ui-text-muted);font-size:10px}
.provider-picker-model-details {border-top:1px solid var(--ui-divider)}
.provider-picker-more {display:flex;align-items:center;justify-content:space-between;gap:10px;box-sizing:border-box;min-height:44px;padding:10px 14px;list-style:none;color:var(--ui-link);font-size:12px;font-weight:600;cursor:pointer}
.provider-picker-more::-webkit-details-marker {display:none}
.provider-picker-more::after {content:'+';font-size:18px;line-height:1}
.provider-picker-model-details[open]>.provider-picker-more::after {content:'−'}
.provider-picker-more:hover {background:var(--ui-surface)}
.provider-picker-more:focus-visible {outline-offset:-3px!important}
.provider-picker-detail-body {padding:0 14px 14px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.provider-picker-detail-body p {margin:0 0 10px;color:var(--ui-text-muted)}
.provider-picker-full-prices {display:grid;gap:10px;padding:10px 0;border-top:1px solid var(--ui-divider)}
.provider-picker-billing {margin-top:14px;font-size:11px;color:var(--ui-text-muted)}
.provider-picker-billing>summary {min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer}
.provider-picker-billing>summary::before {content:'+'}
.provider-picker-billing[open]>summary::before {content:'−'}
.provider-picker-billing .provider-picker-foot {margin:0;padding-top:8px;font-size:11px}
.provider-zdr-badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px!important;font-weight:600;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-text-muted);border-bottom:1px dotted var(--ui-control-border);padding-block:2px}
.provider-zdr-badge svg{width:13px;height:13px;flex:none}
.provider-zdr-badge[data-active=true]{color:var(--success,#87c991)}
.provider-zdr-badge[data-active=false]{color:var(--danger,#ef8f86)}
.provider-picker-card-title .provider-zdr-badge{margin-top:5px}
.provider-picker-privacy{margin:5px 0 0;padding-inline-start:12px}
.provider-picker-privacy>summary{display:flex;align-items:center;min-height:36px;cursor:pointer;list-style:none;width:fit-content}
.provider-picker-privacy>summary::-webkit-details-marker{display:none}
.provider-picker-privacy>summary:focus-visible{outline:2px solid var(--ui-action);outline-offset:2px;border-radius:4px}
.provider-picker-privacy p{font-size:12px;line-height:1.6;color:var(--ui-text-muted);margin:4px 0 12px;max-width:54ch}
@media(max-width:600px) {
  .provider-picker-dialog[open] {width:calc(100% - 16px);height:calc(100dvh - 24px);border-radius:16px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .provider-picker-dialog .provider-picker-head h2 {font-size:19px}
  .provider-picker-dialog .provider-picker-eyebrow {display:none}
  .provider-picker-dialog .provider-picker-toolbar {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .provider-picker-dialog .provider-picker-search-label {grid-column:1/-1}
}
@media(max-height:550px) {
  .provider-picker-dialog .provider-picker-head {margin-bottom:8px}
  .provider-picker-dialog .provider-picker-eyebrow {display:none}
}

.provider-picker-duration-label[hidden]{display:none!important}
@media(min-width:761px){.provider-picker-dialog .provider-picker-toolbar:has(.provider-picker-duration-label:not([hidden])){grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr))}}
