/* Shared touch sizing; page modules retain their own layouts and state. */
@media (max-width: 900px) {
    .login-card input, .learn-search input, .callsigns-page input,
    .callsigns-page select, .situation-toolbar .selector-field select,
    .language-switch select, .learn-language-select select { font-size: 16px; }
    .language-switch select { appearance: none; font: inherit; font-size: 16px; }
    .login-page { min-height: 100svh; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
    .login-card input { font-size: 16px; }
    .auth-tabs button { min-height: 44px; }
    .learn-search button, .sidebar-link { min-height: 44px; }
    .learn-search { min-height: 48px; }
    .site-header.public-header.nav-enhanced .site-menu-toggle { min-height: 44px; }
    .public-header .language-switch, .language-switch-floating { min-height: 44px; min-width: 64px; }
    .public-header .nav-english-links a { min-height: 44px; white-space: normal; }
    .callsigns-page button, .callsign-tabs a, .directory-pagination a,
    .practice-panel .text-action { min-height: 44px; }
    .directory-pagination a, .practice-panel .text-action { display: inline-flex; align-items: center; }
    .callsign-shell { padding-bottom: max(25px, env(safe-area-inset-bottom)); }
    #home-feedback { max-height: calc(100dvh - 32px); overflow-y: auto; padding: 20px; }
    #home-feedback button, footer button { min-height: 44px; }
    #home-feedback input, #home-feedback textarea { font-size: 16px; }
    #home-feedback fieldset label { display: inline-flex; align-items: center; min-height: 44px; }
    .practice-page .picker-dialog { overflow-y: auto; }
    .practice-page .sheet-heading { position: sticky; top: -24px; z-index: 1; background: #fafafc; padding: 8px 0; }
}
@media (max-width: 900px) {
    main .example-tabs button { min-height: 44px; }
    main .card-vocabulary.card-vocabulary { margin-left: 12px; margin-right: 12px; }
    main .card-vocabulary .mini-word { grid-template-columns: minmax(0,1fr) 44px 144px; padding: 9px 4px; gap: 4px; }
    main .card-vocabulary .practice-controls { grid-template-columns: 44px 44px 48px; gap: 4px; width: 144px; }
    main .card-vocabulary .practice-score { width: 48px; font-size: 11px; }
    main .card-vocabulary .mini-word .word-audio,
    main .card-vocabulary .mini-word .practice-mic { width: 44px; height: 44px; }
    main .phrase-card.phrase-card { grid-template-columns: 24px minmax(0,1fr); }
    main .phrase-card .practice-controls { grid-template-columns: 44px 44px 58px; gap: 4px; width: 154px; }
    main .phrase-card .practice-controls { grid-column: 2; grid-row: 2; justify-self: end; }
    main .phrase-card.phrase-card > .icon-play { grid-column: 1; grid-row: 2; }
    main .phrase-card .practice-score { width: 58px; }
    main .phrase-card .practice-mic, main .phrase-card.phrase-card > .icon-play { width: 44px; height: 44px; }
}
@media (max-width: 600px) {
    .hero { background: linear-gradient(180deg, #f7fafcf5, #f7fafccc), url('/static/images/atc-hero-v2-social.jpg') 64% center / cover no-repeat; }
    .hero .mobile-simulator-hint { max-width: 34em; color: #37465a; }
}

@media (max-width: 360px) {
    main .card-vocabulary.card-vocabulary { margin-left: 0; margin-right: 0; }
    main .card-vocabulary .mini-word { padding-left: 0; padding-right: 0; }
}
