/* Mobile refinements, deliberately scoped to retain r74's visual language. */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }
body { overflow-wrap: break-word; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #e2b65b; outline-offset: 3px;
}
.main, .fs-panel, .profile-card > *, .ex-row-main, .r67-library-info { min-width: 0; }
.r75-load-more { margin: 12px 0 20px; min-height: 44px; }
.auth-note, .auth-err, .auth-ok { overflow-wrap: anywhere; }
.r75-boot-actions { display: grid; gap: 10px; margin-top: 16px; }
.r75-initial-load { position: fixed; inset: 0; z-index: 12000; display: grid; place-items: center; padding: 24px; background: #0a0906; text-align: center; }
.lock-screen { z-index: 14000; }
.import-page { max-width: 900px; margin: auto; padding: 24px 16px calc(30px + env(safe-area-inset-bottom)); }
.import-page h1 { font-size: clamp(26px,6vw,38px); }
.import-toolbar { display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.import-row { padding: 14px 0; border-bottom: 1px solid #ffffff1c; }
.import-row label { display: flex; align-items: flex-start; gap: 12px; }
.import-row input[type=checkbox] { width: 22px; height: 22px; flex: 0 0 22px; }
.import-row small { display: block; color: #b7b3ab; margin-top: 4px; }
.import-row select { width: 100%; margin-top: 10px; }
.import-status { padding: 14px; border: 1px solid #b39151; border-radius: 12px; }
@supports (content-visibility: auto) {
  #exResults > .ex-row, #aeResults > .ex-row { content-visibility: auto; contain-intrinsic-size: auto 100px; }
}
@media (max-width: 760px) {
  input, select, textarea { font-size: 16px !important; }
  .auth-screen { min-height: 100svh; padding-bottom: max(24px,env(safe-area-inset-bottom)); }
  .mobile-nav { padding-bottom: env(safe-area-inset-bottom); }
  .modal-card { max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
  .round-btn, .back-btn, .cc-btn, .pw-eye { min-width: 44px; min-height: 44px; }
  .ex-name, .profile-name, .rtile .rname { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Keep selection actions within reach even with hundreds of members. */
.modal-card:has(.subject-picker){overflow:hidden;max-height:calc(100dvh - 24px)}
.subject-picker{display:flex;flex-direction:column;max-height:calc(100dvh - 80px);min-height:0}
.subject-picker> :not(#subPickerResults){flex-shrink:0}
#subPickerResults{overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;-webkit-overflow-scrolling:touch}
.subject-picker-footer{padding:12px 0 max(2px,env(safe-area-inset-bottom));background:var(--surface,#fff)}
.dt-stepper input{width:80px;min-width:0;padding:6px;text-align:center;font-size:26px;font-weight:800;background:transparent;color:inherit;border:1px solid #777;border-radius:8px;appearance:textfield}
.dt-stepper input::-webkit-inner-spin-button{appearance:none}
