/* generated by tools/build-mobile-floor.py
   Phone readability floor: every label the design draws below 10px
   is re-declared at a readable size for viewports up to 1024px.
   Desktop and ultrawide are untouched. */

@media (max-width: 1024px) {
  .ai-strip-kicker { font-size: 10px !important } /* was 8px · v81-ai.css */
  .authority-inspect small { font-size: 10px !important } /* was 7.5px · v73-polish.css */
  .authority-links a { font-size: 10px !important } /* was 8px · v52.css */
  .authority-links-label { font-size: 10px !important } /* was 8px · v73-polish.css */
  .authority-stats small { font-size: 10px !important } /* was 7px · v52.css */
  .back-button, .text-button { font-size: 10px !important } /* was 9px · v52.css */
  .brand b { font-size: 10px !important } /* was 9px · v52.css */
  .brand small { font-size: 9.5px !important } /* was 6px · v52.css */
  .brand.brand--master small { font-size: 9px !important } /* was 5.5px · v69-brand.css */
  .brief-fields span, .verify-dialog label span { font-size: 10px !important } /* was 8px · v52.css */
  .briefing-console__head { font-size: 10px !important } /* was 9px · v68-content.css */
  .briefing-slot__copy small { font-size: 10px !important } /* was 8px · v68-content.css */
  .build-marker { font-size: 8.5px !important } /* was 5px · v52.css */
  .catalog-lock span { font-size: 10px !important } /* was 7px · v52.css */
  .chip-instruction { font-size: 10px !important } /* was 7px · v52.css */
  .chip-next { font-size: 10px !important } /* was 8px · v53-chip.css */
  .chip-v53-readout > small { font-size: 9.5px !important } /* was 6px · v53-chip.css */
  .chip-v53-readout > span { font-size: 9.5px !important } /* was 6px · v53-chip.css */
  .commissioning-rail button span { font-size: 10px !important } /* was 7px · v52.css */
  .control-parameters button b { font-size: 10px !important } /* was 9px · v53-chip.css */
  .control-parameters button span { font-size: 9.5px !important } /* was 6px · v53-chip.css */
  .core-field small { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .cov-boards i { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .cov-go { font-size: 10px !important } /* was 9px · v73-polish.css */
  .coverage-filters button i { font-size: 10px !important } /* was 9.5px · v73-polish.css */
  .coverage-legend b { font-size: 10px !important } /* was 9px · v73-polish.css */
  .deck-cover-inner em { font-size: 10px !important } /* was 8px · v70-social.css */
  .deck-cover-inner span { font-size: 10px !important } /* was 9px · v70-social.css */
  .deck-lang-copy small { font-size: 10px !important } /* was 7px · v70-social.css */
  .deck-side-head { font-size: 10px !important } /* was 8px · v70-social.css */
  .door-assurance span { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .door-index { font-size: 10px !important } /* was 9px · v52.css */
  .door-index i { font-size: 10px !important } /* was 8px · v73-polish.css */
  .eco-card b { font-size: 10px !important } /* was 8px · v52.css */
  .eco-card small { font-size: 10px !important } /* was 8px · v52.css */
  .faq-contact span { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .faq-portal-cap { font-size: 10px !important } /* was 8px · v73-polish.css */
  .faq-portal-num::before { font-size: 10px !important } /* was 9px · v76-boss.css */
  .finder-boardhint small { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .finder-contract li b { font-size: 10px !important } /* was 7px · v53-finder.css */
  .finder-contract li small { font-size: 9.5px !important } /* was 6px · v53-finder.css */
  .finder-contract-status { font-size: 9.5px !important } /* was 6px · v53-finder.css */
  .finder-model-chips b { font-size: 10px !important } /* was 9.5px · v71-oldmine.css */
  .finder-resolver-panel .resolver-option small { font-size: 10px !important } /* was 9.5px · v79-boss.css */
  .finder-resolver-panel .resolver-options:has(> *:nth-child(5)) .resolver-option small { font-size: 10px !important } /* was 8.6px · v79-boss.css */
  .finder-safety b { font-size: 10px !important } /* was 7px · v53-finder.css */
  .finder-safety p { font-size: 10px !important } /* was 9px · v53-finder.css */
  .finder-search > b { font-size: 10px !important } /* was 8px · v53-finder.css */
  .finder-search span { font-size: 9.5px !important } /* was 6px · v53-finder.css */
  .finder-support a { font-size: 10px !important } /* was 7px · v53-finder.css */
  .fl-row i { font-size: 10px !important } /* was 9px · v76-boss.css */
  .fleet-command .button--gold { font-size: 10px !important } /* was 9.5px · v79-boss.css */
  .fleet-command small { font-size: 10px !important } /* was 7px · v52.css */
  .fleet-gate b, .fleet-gate small { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .fleet-scale small { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .fleet-story article b { font-size: 10px !important } /* was 9.5px · v79-boss.css */
  .fleet-story small { font-size: 10px !important } /* was 8px · v73-polish.css */
  .floating-contacts__button { font-size: 10px !important } /* was 8px · v54-foundation.css */
  .footer-bottom { font-size: 10px !important } /* was 7px · v52.css */
  .footer-brand span { font-size: 10px !important } /* was 6.5px · v79-boss.css */
  .footer-grid small { font-size: 10px !important } /* was 7px · v52.css */
  .front-label { font-size: 9.5px !important } /* was 6px · v52.css */
  .fw-labels span { font-size: 10px !important } /* was 7.5px · v74-scenes.css */
  .gate { font-size: 10px !important } /* was 9px · v52.css */
  .global-axis { font-size: 9.5px !important } /* was 6px · v53-globe.css */
  .global-region b, .global-region small { font-size: 10px !important } /* was 7px · v53-globe.css */
  .hero--v53 .hero-actions .button { font-size: 10px !important } /* was 8px · v53-globe.css */
  .hero-proof small { font-size: 8.5px !important } /* was 5px · v52.css */
  .hero-route-contract i, .hero-route-contract b, .hero-route-contract em { font-size: 10px !important } /* was 7px · v53-globe.css */
  .identity-core b, .identity-core small { font-size: 10px !important } /* was 7px · v53-journey.css */
  .identity-node { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .kinetic-instrument { font-size: 10px !important } /* was 7px · v53-kinetic.css */
  .language summary { font-size: 10px !important } /* was 9px · v52.css */
  .li-fea small { font-size: 10px !important } /* was 8px · v70-social.css */
  .match-path small, .verify-circuit small { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .mobile-actions button, .mobile-actions a { font-size: 10px !important } /* was 7px · v52.css */
  .model-actions span { font-size: 10px !important } /* was 9px · v52.css */
  .model-caption em { font-size: 10px !important } /* was 7px · v53-kinetic.css */
  .model-caption small { font-size: 10px !important } /* was 7px · v53-kinetic.css */
  .oneminer-note { font-size: 10px !important } /* was 9px · v73-polish.css */
  .oneminer-proof small { font-size: 10px !important } /* was 8px · v73-polish.css */
  .oneminer-unit figcaption { font-size: 10px !important } /* was 8px · v73-polish.css */
  .op-arrow span { font-size: 10px !important } /* was 7.5px · v73-polish.css */
  .passport code { font-size: 10px !important } /* was 9px · v52.css */
  .passport dt { font-size: 10px !important } /* was 7px · v52.css */
  .paths-fleet__caption { font-size: 10px !important } /* was 8px · v69-acts.css */
  .paths-node b { font-size: 10px !important } /* was 7.5px · v70-social.css */
  .paths-node small { font-size: 10px !important } /* was 9px · v79-boss.css */
  .paths-slot small { font-size: 10px !important } /* was 9px · v69-acts.css */
  .paths-solo figcaption { font-size: 10px !important } /* was 8px · v69-acts.css */
  .profile-legend span { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .resolver-option small { font-size: 10px !important } /* was 9px · v52.css */
  .resolver-steps span { font-size: 10px !important } /* was 8.5px · v73-polish.css */
  .resolver-steps span.is-active { font-size: 10px !important } /* was 9px · v77-mobile.css */
  .resolver-steps span::before { font-size: 10px !important } /* was 7.5px · v73-polish.css */
  .resolver-steps span:not(.is-active)::before { font-size: 10px !important } /* was 7.5px · v77-mobile.css */
  .ritual-signal span { font-size: 10px !important } /* was 9px · v69-acts.css */
  .ritual-stamp { font-size: 10px !important } /* was 9px · v69-acts.css */
  .rollout-stages em { font-size: 10px !important } /* was 8px · v53-journey.css */
  .rollout-stages span { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .route-continuity span, .route-continuity b { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .route-door > b { font-size: 10px !important } /* was 9px · v52.css */
  .route-guides p { font-size: 10px !important } /* was 9px · v73-polish.css */
  .safe-foot span { font-size: 10px !important } /* was 9px · v73-polish.css */
  .safe-gatehint { font-size: 10px !important } /* was 9px · v74-scenes.css */
  .sample-note { font-size: 10px !important } /* was 8px · v52.css */
  .scroll-cue span { font-size: 10px !important } /* was 7px · v52.css */
  .site-menu > nav a i { font-size: 10px !important } /* was 9px · v84-about.css */
  .site-menu > summary { font-size: 10px !important } /* was 9px · v84-about.css */
  .site-nav a { font-size: 10px !important } /* was 8px · v69-brand.css */
  .slot-chips span { font-size: 10px !important } /* was 7px · v69-acts.css */
  .source-verified { font-size: 10px !important } /* was 9px · v69-act05.css */
  .stack-action { font-size: 10px !important } /* was 7px · v53-journey.css */
  .stack-card > span { font-size: 10px !important } /* was 9px · v52.css */
  .stack-card small { font-size: 10px !important } /* was 9px · v52.css */
  .stack-visual > em { font-size: 9.5px !important } /* was 6px · v53-journey.css */
  .v69-typelogo b { font-size: 9px !important } /* was 5.5px · v69-chain.css */
  .vault-meta small { font-size: 10px !important } /* was 9px · v69-act05.css */
  .vault-notes small { font-size: 10px !important } /* was 9px · v69-act05.css */
  .vault-row .fw-model small { font-size: 10px !important } /* was 9.5px · v69-act05.css */
  .vault-search span { font-size: 10px !important } /* was 9px · v69-act05.css */
}

/* touch targets and code blocks, phone only */
@media (max-width: 1024px) {
  .button, .btn, .ai-btn, .mobile-actions button, .mobile-actions a {
    min-height: 44px !important;
    line-height: 1.25 !important;
    padding-block: 10px !important;
  }
  /* v79 shrank these CTAs to half their area for the ultrawide layout.
     On a phone the same zoom turns 10px type into 7px and a 44px target
     into 31px, so the zoom is released here and only here. */
  .paths-slot--one .button--gold, .oneminer-actions .button--gold { zoom: 1 !important; }
  pre code, .protocol { white-space: pre-wrap; word-break: break-word; }
  pre { overflow-x: auto; }
}

/* планшет и телефон: пальцем в ссылку, а не в пиксель.
   Строки таблиц уже выше 44px, поэтому подъём цели ничего не двигает. */
@media (max-width: 1024px) {
  .fw-get, .stack-action, .finder-model-chip, .text-button, .engineer-link,
  .kit-support, .deck-lang, .resolver-option, .route-guides a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* 73 хеш-чипов в таблице: 44px раздули бы её вдвое, 40px уже палец */
  .fw-sha { min-height: 40px; display: inline-flex; align-items: center; }
  .vault-search input, .coverage-filters button, .safe-foot-cta,
  .floating-contacts__button, .vault-families button,
  .footer-legal a, .faq-contact a, .li-sisters a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* короткое слово в кнопке (ar, zh, ja) даёт узкую цель - держим ширину */
  .finder-model-chip, .vault-families button, .coverage-filters button {
    min-width: 44px;
  }
  .finder-model-chip { justify-content: center; }
  /* плотные списки: с 01.08 цель полная, 44px - палец не выбирает соседнюю строку */
  .footer-grid a, .deck-langs a, .authority-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .resolver-steps span { min-height: 40px; display: inline-flex; align-items: center; }
  .contact-line a, .social-links a, .eco-card a, .kit-tools a, .kit-guides a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* переключатель языка - главный элемент десятиязычной версии,
     ему полная цель обязательна, а 7px подписи саппорта под пол не попали */
  .language nav a { min-height: 44px; display: flex; align-items: center; }
  .finder-support a {
    font-size: 10px !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: inherit;
  }
}

/* Декоративные кольца сцен нарисованы шире секции. На десктопе они
   попадают в поля, на узком экране вылезают за вьюпорт и дают боковой
   скролл - у длинных языков (de, ru) заметнее всего. Режем по X: clip,
   а не hidden, чтобы не сделать секцию скролл-контейнером по Y. */
@media (max-width: 1024px) {
  .fw-vault, .authority, .commissioning, #act-paths, #fleet, #models {
    overflow-x: clip;
  }
}
