/* Tyanka — мобильная версия. Подключается поверх основного стиля и меняет только телефоны (до 760px).
   Компьютерная версия сайта остаётся как есть. */

:root{--tabbar-h:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}

/* Элементы, которые добавляет mobile.js. На компьютере скрыты. */
.m-tabbar,.m-sheet-bg,.m-install{display:none}
.m-share-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.m-share-row .btn{padding:10px 18px;font-size:14px}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%}
  body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}

  /* iOS увеличивает страницу при фокусе на поле с шрифтом меньше 16px */
  select,textarea,input[type=text],input[type=email],input[type=password]{font-size:16px}
  select.mini{font-size:15px;padding:9px 10px}

  .btn{min-height:44px}

  /* ---------- Верхняя панель ---------- */
  nav{gap:10px;padding:10px 14px;padding-top:calc(10px + var(--safe-t))}
  .logo{font-size:21px}
  nav .guest-only.btn{padding:9px 14px;font-size:14px;min-height:40px}
  body.logged nav .menu-btn,body.logged nav .logout{display:none}
  .balance{padding:6px 10px;font-size:13.5px;gap:4px;cursor:pointer}
  .balance .btn{display:none}
  .balance::after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border-radius:6px;background:var(--grad);color:#fff;font-weight:800;font-size:14px;line-height:1}
  .demo-banner{font-size:12px;padding:6px 12px}

  /* ---------- Лендинг ---------- */
  .hero{padding:48px 18px 36px}
  .hero p{font-size:16px}
  .section{padding:36px 16px}
  .section h2{font-size:25px}
  .card{padding:18px}
  .cta{padding:44px 18px}
  footer{padding:24px 16px calc(24px + var(--safe-b))}

  /* ---------- Приложение: боковое меню уходит, появляется нижнее ---------- */
  .app.active{display:block;min-height:auto}
  .sidebar{display:none}
  .main{padding:18px 14px calc(var(--tabbar-h) + var(--safe-b) + 24px);overflow:visible}
  .main h2{font-size:22px;margin-bottom:14px}
  body.in-app footer{display:none}

  .m-tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;
    height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);
    background:rgba(20,20,22,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-top:1px solid var(--border)}
  body.logged.in-app .m-tabbar{display:flex}
  .m-tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    background:none;color:var(--muted);font-size:11px;font-weight:600;padding:6px 0;position:relative}
  .m-tabbar button .i{font-size:21px;line-height:1;filter:grayscale(1) opacity(.75);transition:.15s}
  .m-tabbar button.active{color:var(--text)}
  .m-tabbar button.active .i{filter:none;transform:translateY(-1px)}
  .m-tabbar button.active::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--grad)}
  .m-tabbar .create .i{width:44px;height:30px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:17px;filter:none}

  /* ---------- Создать ---------- */
  .tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:4px}
  .tabs button{border:none;background:transparent;padding:10px 0;font-size:14.5px}
  .tabs button.active{border-radius:9px}
  label{margin:14px 0 6px}
  textarea{min-height:120px}
  .hint{font-size:12.5px;line-height:1.55}
  .params-row{gap:10px}
  .pl{flex:1 1 140px;justify-content:space-between}
  .rs-label{min-width:0;flex:1 1 100%}
  .elems{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-14px;padding-right:14px;scrollbar-width:none}
  .elems::-webkit-scrollbar{display:none}
  .elem{flex-shrink:0}

  /* Кнопка «Сгенерировать» закреплена над нижним меню */
  .gen-footer{position:sticky;bottom:calc(var(--tabbar-h) + var(--safe-b));z-index:20;margin:16px -14px 0;padding:10px 14px;
    background:rgba(20,20,22,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);flex-wrap:nowrap}
  .gen-footer .btn{flex:1;max-width:220px}
  .cost{font-size:13.5px;line-height:1.3}
  .result-box{min-height:180px;margin-top:18px;scroll-margin-top:80px}
  .result-box img,.result-box video{max-height:70vh}

  /* ---------- Шаблоны, галерея, доска ---------- */
  .tpl-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .tpl .head{height:96px;font-size:32px}
  .tpl .body{padding:10px 11px}
  .tpl .body b{font-size:13.5px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .g-item .media{height:auto;aspect-ratio:1/1}
  .g-item .meta{padding:8px 10px;font-size:11.5px}
  .g-item .meta b{font-size:12.5px}
  .pin-btn{padding:7px 10px;font-size:15px}
  .g-item a.pin-btn[download]{right:50px!important}
  .pick-grid{grid-template-columns:repeat(3,1fr)}
  .pick-img{height:100px}

  /* ---------- Элементы, ассистент, тарифы ---------- */
  .upload-row>div{min-width:100%}
  .upload-row .btn{width:100%}
  .plans{grid-template-columns:1fr;gap:12px}
  .plan{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;text-align:left;padding:16px 16px 16px 18px}
  .plan h3{grid-column:1;font-size:14px;color:var(--muted);font-weight:600}
  .plan .tokens{grid-column:1;font-size:25px;margin:0;line-height:1.2}
  .plan .bonus{grid-column:1;margin:2px 0 0}
  .plan .rub{grid-column:2;grid-row:1;margin:0;text-align:center;font-weight:600;color:var(--text)}
  .plan .btn{grid-column:2;grid-row:2 / span 2;min-width:104px}
  .plan.pop::before{left:auto;right:16px;transform:none}
  .chat{padding:14px}

  /* ---------- Окна выезжают снизу ---------- */
  .modal-bg{align-items:flex-end}
  .modal{width:100%;max-width:none;border-radius:20px 20px 0 0;border-bottom:none;padding:26px 20px calc(22px + var(--safe-b));
    animation:m-up .25s ease-out;max-height:92vh;overflow-y:auto}
  .modal::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--border);margin:-12px auto 16px}
  .modal-legal{width:100%;max-height:92vh;padding:0}
  .modal-legal::before{margin:10px auto 0}
  .modal-legal .lg-head{padding:14px 18px}
  .modal-legal .lg-body{padding:16px 18px calc(24px + var(--safe-b))}

  .toast{bottom:calc(var(--tabbar-h) + var(--safe-b) + 14px)}

  /* ---------- Таблицы в «Обучении» прокручиваются вбок ---------- */
  .lrn .ltab{display:block;overflow-x:auto;white-space:normal}
  .lrn .ltab th,.lrn .ltab td{min-width:110px}

  /* ---------- Лист «Ещё» ---------- */
  .m-sheet-bg{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.6);display:none;align-items:flex-end}
  .m-sheet-bg.open{display:flex}
  .m-sheet{width:100%;background:var(--bg2);border-radius:20px 20px 0 0;border-top:1px solid var(--border);
    padding:10px 14px calc(16px + var(--safe-b));animation:m-up .25s ease-out;max-height:88vh;overflow-y:auto}
  .m-sheet .grip{width:40px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 14px}
  .m-sheet .acc{display:flex;align-items:center;gap:12px;padding:4px 6px 14px;border-bottom:1px solid var(--border);margin-bottom:8px}
  .m-sheet .acc .av{width:42px;height:42px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff;flex-shrink:0}
  .m-sheet .acc .em{font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .m-sheet .acc .bl{color:var(--muted);font-size:13px}
  .m-sheet .acc .bl b{color:#ffd166}
  .m-sheet .acc .btn{margin-left:auto;padding:8px 14px;font-size:13.5px;min-height:38px;flex-shrink:0}
  .m-sheet .item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 8px;background:none;color:var(--text);font-size:16px;font-weight:600;text-align:left;border-radius:12px}
  .m-sheet .item:active{background:var(--bg3)}
  .m-sheet .item .i{width:34px;height:34px;border-radius:10px;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
  .m-sheet .item small{display:block;color:var(--muted);font-weight:400;font-size:12.5px}
  .m-sheet .item.danger{color:#f87171}
  .m-sheet .sep{height:1px;background:var(--border);margin:6px 0}

  /* ---------- Плашка «Установить приложение» ---------- */
  .m-install{display:none;align-items:center;gap:12px;margin:12px 14px 0;padding:12px;background:var(--bg2);border:1px solid var(--border);border-radius:16px}
  .m-install.show{display:flex}
  .m-install img{width:42px;height:42px;border-radius:11px;flex-shrink:0}
  .m-install .t{flex:1;min-width:0;font-size:13px;color:var(--muted);line-height:1.35}
  .m-install .t b{display:block;color:var(--text);font-size:14.5px}
  .m-install .btn{padding:8px 14px;font-size:14px;min-height:38px}
  .m-install .x{background:none;color:var(--muted);font-size:20px;padding:4px 6px;line-height:1}
  .m-ios-steps{counter-reset:s;margin:6px 0 4px}
  .m-ios-steps p{counter-increment:s;display:flex;gap:12px;align-items:center;padding:10px 0;font-size:15px;line-height:1.4}
  .m-ios-steps p::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}
  .m-ios-steps .ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--bg3);vertical-align:middle;margin:0 2px}
}

/* В установленном приложении (без адресной строки) — немного плотнее */
@media (display-mode: standalone) and (max-width:760px){
  .demo-banner{padding-top:calc(6px + var(--safe-t))}
  body.demo nav{padding-top:10px}
}

@keyframes m-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
