/* ==========================================================================
   model-picker.css — окно выбора нейросети на главной (017, 08.11.2026), стиль «Закат».
   Заменяет блоки MODEL CATALOG / .mc-card из css/tool-redesign.css (≈ 830 строк) и акценты из
   css/home-redesign.css. Карточка — css/mk-card.css (.mk-card--pick). Разметка окна — index.html
   (#modelCatalog), логика — js/model-selector.js. Собирается из tmp/fi-mod/css/m-*.css.
   ПК: окно 1080 px, сетка 3–4 колонки. Телефон (≤ 640 px): лист во весь экран, карточки — строки.
   ========================================================================== */
body.model-catalog-open{overflow:hidden}
.model-catalog{
  --pk-line:rgba(148,163,184,.14);--pk-line-2:rgba(148,163,184,.26);--pk-text:#f1f5f9;--pk-text-2:#cbd5e1;--pk-text-3:#94a3b8;--pk-text-4:#7c8aa0;
  --pk-pink:#f472b6;--pk-cta:linear-gradient(120deg,#db2777 0%,#ea580c 70%,#d97706 100%);
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(12px,3vw,36px);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--pk-text-2)}
.model-catalog[hidden]{display:none}
.model-catalog__overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(244,114,182,.16),transparent 60%),rgba(5,8,16,.76);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .2s ease}
.model-catalog.is-open .model-catalog__overlay{opacity:1}
.model-catalog__panel{position:relative;display:flex;flex-direction:column;width:min(1080px,100%);max-height:min(860px,calc(100dvh - 48px));
  border-radius:26px;overflow:hidden;border:1px solid var(--pk-line-2);
  background:radial-gradient(700px 360px at 10% 0%,rgba(251,113,133,.14),transparent 65%),radial-gradient(600px 300px at 100% 100%,rgba(245,158,11,.1),transparent 60%),
    linear-gradient(180deg,rgba(15,20,36,.98),rgba(10,14,26,.98));
  box-shadow:0 40px 100px -30px rgba(0,0,0,.9),0 0 120px -40px rgba(236,72,153,.45);
  transform:translateY(14px) scale(.985);opacity:0;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.model-catalog.is-open .model-catalog__panel{transform:none;opacity:1}

/* шапка */
.model-catalog__header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px 12px}
.model-catalog__heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;min-width:0}
.model-catalog__title{margin:0;font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-.02em;color:var(--pk-text)}
.model-catalog__subtitle{margin:0;font-size:13px;color:var(--pk-text-4)}
.model-catalog__close{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;cursor:pointer;color:var(--pk-text-2);
  background:rgba(255,255,255,.04);border:1px solid var(--pk-line-2);transition:color .2s,border-color .2s,background .2s}
.model-catalog__close:hover{color:#fff;border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.1)}
.model-catalog__close svg{width:18px;height:18px}

/* строка: поиск · «Без регистрации» · сортировка */
.model-catalog__controls{display:flex;align-items:center;gap:8px;padding:0 22px}
.model-catalog__search{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:13px;
  background:#111a2e;border:1px solid var(--pk-line-2);transition:border-color .2s,box-shadow .2s}
.model-catalog__search:focus-within{border-color:rgba(251,113,133,.55);box-shadow:0 0 0 3px rgba(251,113,133,.1)}
.model-catalog__search svg{width:16px;height:16px;flex:none;color:var(--pk-text-4)}
.model-catalog__search-input{flex:1;min-width:0;height:100%;padding:0;font:inherit;font-size:15px;color:var(--pk-text);background:none;border:0;outline:none}
.model-catalog__search-input::placeholder{color:var(--pk-text-4)}
.model-catalog__free{flex:none;display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 14px 0 10px;border-radius:13px;cursor:pointer;white-space:nowrap;
  font:inherit;font-size:14px;font-weight:650;color:var(--pk-text-2);background:rgba(255,255,255,.03);border:1px solid var(--pk-line);transition:all .2s}
.model-catalog__knob{position:relative;width:32px;height:18px;border-radius:999px;background:rgba(148,163,184,.3);transition:background .2s}
.model-catalog__knob::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}
.model-catalog__free[aria-pressed="true"]{color:#d1fae5;border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.08)}
.model-catalog__free[aria-pressed="true"] .model-catalog__knob{background:#10b981}
.model-catalog__free[aria-pressed="true"] .model-catalog__knob::after{transform:translateX(14px)}
.model-catalog__sort{position:relative;flex:none;display:inline-flex;align-items:center}
.model-catalog__sort select{appearance:none;-webkit-appearance:none;height:44px;padding:0 34px 0 14px;border-radius:13px;cursor:pointer;font:inherit;font-size:14px;font-weight:600;
  color:var(--pk-text-2);background:rgba(255,255,255,.03);border:1px solid var(--pk-line)}
.model-catalog__sort select:hover,.model-catalog__sort select:focus{border-color:rgba(251,113,133,.5);outline:none}
.model-catalog__sort select option{color:#0f172a}
.model-catalog__sort > svg{position:absolute;right:11px;width:15px;height:15px;color:var(--pk-text-4);pointer-events:none}
/* список «Закат» (js/mk-select.js, база — css/mk-card.css): та же высота, что у поиска; меню — у правого края окна */
.model-catalog__sort .mk-select__btn{width:166px;height:44px;border-radius:13px;border-color:var(--pk-line)}
.model-catalog__sort .mk-select__menu{left:auto;right:0;min-width:250px}

/* вкладки задач (та же разметка, что на /models — .mp-tab) */
.model-catalog__tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:12px 22px 2px}
.model-catalog__tabs::-webkit-scrollbar{display:none}
.mpk-tab{flex:none;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:12px;cursor:pointer;white-space:nowrap;
  font:inherit;font-size:13.5px;font-weight:650;color:var(--pk-text-3);background:rgba(255,255,255,.03);border:1px solid var(--pk-line);transition:color .2s,background .2s,border-color .2s}
.mpk-tab:hover{color:var(--pk-text);border-color:var(--pk-line-2)}
.mpk-tab[aria-selected="true"]{color:#fff;background:linear-gradient(120deg,rgba(219,39,119,.34),rgba(234,88,12,.26));border-color:rgba(251,113,133,.55)}
.mpk-tab .mp-tab__n{font-size:12px;font-weight:700;color:var(--pk-text-4)}
.mpk-tab[aria-selected="true"] .mp-tab__n{color:#fecdd3}
.mpk-tab[hidden]{display:none}

/* «Недавние» */
.mpk-recent{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 22px 0}
.mpk-recent::-webkit-scrollbar{display:none}
.mpk-recent[hidden]{display:none}
.mpk-recent__t{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pk-text-4)}
.mpk-recent__i{flex:none;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;border-radius:11px;cursor:pointer;font:inherit;font-size:13px;font-weight:650;
  color:var(--pk-text);background:rgba(255,255,255,.04);border:1px solid var(--pk-line-2);transition:border-color .2s,background .2s}
.mpk-recent__i:hover{border-color:rgba(251,113,133,.5);background:rgba(251,113,133,.08)}
.mpk-recent__i img{width:40px;height:28px;border-radius:7px;object-fit:cover}
.mpk-recent__i b{font-weight:700;font-size:12px;color:#fde68a}

/* сетка карточек (прокручивается внутри окна) */
/* grid-auto-rows:max-content — у карточки overflow:hidden (минимум высоты = 0), и сетка фиксированной высоты
   иначе сжимает ряды под себя (карточки схлопывались до 30 px) */
.model-catalog__grid{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  grid-auto-rows:max-content;align-content:start;gap:14px;padding:14px 22px 22px;scrollbar-width:thin;scrollbar-color:rgba(244,114,182,.4) transparent}
.model-catalog__grid::-webkit-scrollbar{width:8px}
.model-catalog__grid::-webkit-scrollbar-thumb{background:rgba(244,114,182,.35);border-radius:8px}
.model-catalog__empty{padding:40px 22px;text-align:center;color:var(--pk-text-3)}
.model-catalog__empty[hidden]{display:none}
.model-catalog__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-top:1px solid var(--pk-line);background:rgba(8,11,22,.6);font-size:13px;color:var(--pk-text-4)}
.model-catalog__foot a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--pk-pink);text-decoration:none}
.model-catalog__foot a svg{width:14px;height:14px;transition:transform .2s}
.model-catalog__foot a:hover svg{transform:translateX(3px)}

/* карточка в окне: компактнее, вся — кнопка */
.mk-card--pick{cursor:pointer;padding:0;width:100%;-webkit-appearance:none;appearance:none}
.mk-card--pick .mk-card__body{padding:12px 14px 14px;gap:5px}
.mk-card--pick .mk-card__name{font-size:15.5px}
.mk-card--pick .mk-card__desc{font-size:13.5px;min-height:2.9em}
.mk-card--pick .mk-card__facts li{height:24px;font-size:11.5px}
.mk-card__lock{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;font-size:12.5px;font-weight:650;color:var(--pk-text-3)}
.mk-card__lock svg{width:13px;height:13px;color:var(--pk-pink)}
.mk-card--pick.is-locked .mk-card__media img{filter:saturate(.85)}

/* знакомство перед первой генерацией (007) */
.mc-intro{display:flex;align-items:center;gap:12px;margin:0 22px 4px;padding:12px 12px 12px 14px;border-radius:16px;border:1px solid transparent;
  background:linear-gradient(135deg,rgba(40,20,38,.96),rgba(18,20,36,.96)) padding-box,linear-gradient(135deg,rgba(251,113,133,.75),rgba(244,114,182,.3) 50%,rgba(245,158,11,.7)) border-box;
  box-shadow:0 14px 34px -20px rgba(244,114,182,.9);animation:mcIntroIn .35s cubic-bezier(.2,.8,.2,1)}
.mc-intro[hidden]{display:none}
@keyframes mcIntroIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mc-intro__ic{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;color:#fff;background:var(--pk-cta)}
.mc-intro__ic svg{width:18px;height:18px}
.mc-intro__txt{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--pk-text-2)}
.mc-intro__txt b{color:#fff;font-weight:700}
.mc-intro__txt em{font-style:normal;font-weight:700;color:#fecdd3}
.mc-intro__go{display:inline-flex;align-items:center;gap:7px;flex:none;height:40px;padding:0 16px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-size:13.5px;font-weight:700;
  color:#fff;white-space:nowrap;background:var(--pk-cta);box-shadow:0 10px 24px -10px rgba(236,72,153,.95),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s,filter .2s}
.mc-intro__go:hover{transform:translateY(-1px);filter:brightness(1.08)}
.mc-intro__go svg{width:15px;height:15px}
.model-catalog :focus-visible{outline:2px solid #fecdd3;outline-offset:2px}
.model-catalog__search-input:focus-visible{outline:0} /* рамку рисует .model-catalog__search:focus-within */
/* фиксированные зоны окна не сжимаются — прокручивается только сетка */
.model-catalog__header,.model-catalog__controls,.model-catalog__tabs,.mpk-recent,.mc-intro,.model-catalog__empty,.model-catalog__foot{flex:none}
.mk-card--pick .mk-card__media{width:100%}

/* --- кнопка текущей модели в генераторе: метка «Без регистрации» / цена вместо Pro/Premium --- */
.model-trigger__badge[data-badge="free"]{color:#d1fae5!important;background:rgba(6,78,59,.72)!important;border:1px solid rgba(52,211,153,.5)!important;box-shadow:none!important}
.model-trigger__badge[data-badge="price"]{color:#fde68a!important;background:rgba(245,158,11,.1)!important;border:1px solid rgba(245,158,11,.35)!important;box-shadow:none!important;
  font-variant-numeric:tabular-nums}

/* --- телефон: лист во весь экран, карточки — строки (миниатюра слева) --- */
@media (max-width:640px){
  .model-catalog{padding:0;align-items:stretch}
  .model-catalog__panel{width:100%;max-height:none;height:100%;border-radius:0;border:0;transform:translateY(24px)}
  .model-catalog__header{padding:14px 14px 10px}
  .model-catalog__title{font-size:19px}
  .model-catalog__controls{flex-wrap:wrap;padding:0 14px}
  .model-catalog__search{flex:1 1 100%;height:44px}
  .model-catalog__free{flex:1 1 auto;justify-content:center}
  .model-catalog__sort{flex:1 1 auto}
  .model-catalog__sort select,.model-catalog__sort .mk-select__btn{width:100%}
  .model-catalog__sort .mk-select__menu{min-width:100%}
  .model-catalog__tabs{padding:10px 14px 2px}
  .mpk-recent{padding:10px 14px 0}
  .model-catalog__grid{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 14px 18px}
  .mc-intro{flex-wrap:wrap;gap:10px;margin:0 14px 4px;padding:11px 12px}
  .mc-intro__txt{font-size:12.5px;flex-basis:calc(100% - 44px)}
  .mc-intro__go{width:100%;justify-content:center;height:42px}
  .model-catalog__foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}

  /* карточка-строка: картинка 112×70 слева (16:10 — как сама миниатюра, видна целиком, без обрезки),
     справа название, цена, одна строка описания. Раньше картинка тянулась на всю высоту строки (96×88) и обрезалась. */
  .mk-card--pick{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:0;border-radius:16px;padding:0 0 0 9px}
  .mk-card--pick:hover{transform:none}
  .mk-card--pick .mk-card__media{grid-row:1 / span 2;align-self:center;width:112px;height:auto;aspect-ratio:16/10;border-radius:10px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  .mk-card--pick .mk-card__media img{object-position:center}
  .mk-card--pick .mk-card__media::after{display:none}
  .mk-card--pick .mk-card__type{display:none}
  /* строка: метка «Без регистрации» — текстом вместо разработчика (на миниатюре 96 px не помещается) */
  .mk-card--pick .mk-card__free{display:none}
  .mk-card--pick.is-free .mk-card__by > span:first-child{display:none}
  .mk-card--pick.is-free .mk-card__by::before{content:"Без регистрации";font-weight:700;color:#6ee7b7}
  .mk-card--pick .mk-card__tick{top:5px;right:auto;left:5px;width:20px;height:20px}
  .mk-card--pick .mk-card__tick svg{width:11px;height:11px}
  .mk-card--pick .mk-card__body{padding:10px 12px;gap:3px;min-height:88px;justify-content:center}
  .mk-card--pick .mk-card__head{align-items:center;gap:8px}
  /* «Без регистрации» + скорость — в одну строку на 390 px (на 320 px перенос допустим) */
  .mk-card--pick .mk-card__by{column-gap:8px;font-size:12px}
  .mk-card--pick .mk-card__name{font-size:15px}
  .mk-card--pick .mk-card__price{height:24px;padding:0 8px;font-size:12.5px}
  .mk-card--pick .mk-card__desc{min-height:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mk-card--pick .mk-card__facts{display:none}
  .mk-card--pick .mk-card__lock{margin:2px 0 0;font-size:12px}
  .model-catalog__foot > span{display:none}
  .model-catalog__foot{justify-content:center}
}
/* 320–380 px: картинка 104×65 — тексту справа остаётся ≥ 160 px; «Без регистрации» и сортировка — в одну строку */
@media (max-width:380px){
  .model-catalog__controls{gap:6px}
  .model-catalog__free{flex:1 1 0;min-width:0;gap:7px;padding:0 10px 0 8px;font-size:13px}
  .model-catalog__knob{width:28px;height:16px}
  .model-catalog__knob::after{width:12px;height:12px}
  .model-catalog__free[aria-pressed="true"] .model-catalog__knob::after{transform:translateX(12px)}
  .model-catalog__sort{flex:1 1 0;min-width:0}
  .model-catalog__sort .mk-select__btn{gap:6px;padding:0 10px 0 12px;font-size:13.5px}
  .mk-card--pick{padding-left:8px}
  .mk-card--pick .mk-card__media{width:104px}
  .mk-card--pick .mk-card__body{padding:9px 10px}
  /* длинное название + «от 140 кр.» не помещаются рядом — цена второй строкой, название переносится по словам (не по буквам) */
  .mk-card--pick .mk-card__head{flex-wrap:wrap;row-gap:4px}
  .mk-card--pick .mk-card__name{flex:1 1 auto;overflow-wrap:break-word}
}
@media (hover:none){
  .mk-card:hover{transform:none;box-shadow:none}
  .mk-card:hover .mk-card__media img{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .model-catalog__panel,.model-catalog__overlay,.mc-intro{transition:none;animation:none}
}
