/* Shared typography, interaction and loading standards. */
html { letter-spacing: normal; scrollbar-gutter: stable; }
:root { --page-gutter: clamp(.75rem, 2.5vw, 2rem); --surface-padding: clamp(1rem, 2.5vw, 2rem); --control-gap: .75rem; }
body { padding-left: max(var(--page-gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--page-gutter), env(safe-area-inset-right, 0px)); }
.container { padding-inline: var(--surface-padding); }
.box { padding: var(--surface-padding); }
.field-row > div, .responsive-two-col > div, .task-card-title-group { min-width: 0; }
.size-grid-container { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); }
.size-row { min-width: 0; }
.size-row input { min-width: 0; }
.upload-btn-label, label:has(input[type="checkbox"]) { min-height: 2.9375rem; align-content: center; }
[hidden] { display: none !important; }
body { min-height: 100dvh; }
button, a, [role="button"], summary { touch-action: manipulation; }
button, [role="button"] { user-select: none; -webkit-tap-highlight-color: transparent; }
button, .nav-tab, .btn-site-link, summary { min-height: 2.9375rem; }
button { min-width: 2.9375rem; }
button, input, textarea, select { max-width: 100%; }
input, textarea, select { font-weight: 400; }
p, label, li { line-height: 1.6; overflow-wrap: anywhere; }
h1, h2, h3, h4 { line-height: 1.3; overflow-wrap: anywhere; }
:focus-visible { outline: .125rem solid #004e98; outline-offset: .1875rem; }
#loading-screen { display: none; }
img { max-width: 100%; }
.activity-cover-img, .product-thumb, .shirt-preview, .poll-opt-thumb, .img-preview-thumb, .comment-img-attachment { height: auto !important; object-fit: contain !important; }
.tab-pane, .section { will-change: auto; }
.section.active, .tab-pane.active { animation-duration: 160ms; animation-fill-mode: none; }
.data-skeleton { display: grid; gap: 1rem; }
.skeleton-card { padding: 1.25rem; border: 1px solid #e2e8f0; border-radius: 1rem; min-height: 8rem; background: #fff; }
.skeleton-line { height: 1rem; margin-bottom: 1rem; border-radius: .25rem; background: #e2e8f0; }
.skeleton-line:nth-child(2) { width: 75%; }
.skeleton-line:last-child { width: 50%; margin-bottom: 0; }
.data-status { font-size: .875rem; line-height: 1.6; color: #64748b; min-height: 1.5rem; }
.data-status button { margin-inline-start: .5rem; }
.pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem; margin: 1rem 0; }
.pager button { width: auto; margin: 0; }
.poll-bar-bg { width: 100% !important; transform-origin: left; transition: transform 160ms ease !important; }
.poll-progress-fill { transform-origin: left; transition: transform 160ms ease !important; }
.table-wrapper, .table-container { max-width: 100%; }
.container { transition: none; }
.poll-option-card:hover { transform: translateY(-.125rem); }
.size-progress-fill { transition: transform 160ms ease; }
.size-card { min-height: 8rem; }
.skeleton-size-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; }
.skeleton-size-card .skeleton-line { width: 65%; margin: 0; }
#size_summary_badge { display: inline-flex; align-items: center; min-height: 2.875rem; }
img[role="button"] { min-width: 2.9375rem; }
@media (max-width: 639px) {
  body { padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px)); }
  input, textarea, select { font-size: 16px !important; }
}
@media (pointer: coarse) { input, textarea, select { font-size: 16px !important; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
