/* Small replacements for utility classes. All styles are ordinary browser CSS. */
.aona-app { min-height:100vh; width:100%; -webkit-font-smoothing:antialiased; }
#results { display:contents; }
.category-nav { touch-action:pan-x; }
.category-button { min-height:44px; }
.category-button > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.category-count { display:inline-flex!important; align-items:center; justify-content:center; min-width:20px; height:20px; margin-left:auto; padding:0 6px; border-radius:999px; font-size:11px; font-weight:700; background:#e5edff; color:#173eaa; }
.aona-dark .category-count { background:#203756; color:#ccddff; }
.gc-card-avatar[data-action],.gc-card-copy h3 { cursor:pointer; }
.gc-card-down svg { fill:currentColor; }
.avatar--custom { border-radius:50%; }
.sort-option:focus-visible,.category-select-option:focus-visible { background:var(--action-soft); outline-offset:-2px; }
.gc-card-copy h3:hover { text-decoration:underline; }
.cards-list { grid-template-columns:minmax(0,1fr); }
.saved-list { display:flex; flex-direction:column; gap:12px; }
.compare-choices { display:flex; flex-wrap:wrap; gap:8px; }
.compare-choice { display:inline-flex; align-items:center; gap:8px; max-width:100%; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:12px; }
.compare-choice span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:140px; }
.compare-choice[aria-pressed=true] { background:var(--action-primary); color:var(--action-primary-text); }
.saved-compare-header h4 { margin:4px 0; font:700 16px/1.2 'Fraunces',serif; }
.saved-compare-header > div { min-width:0; overflow-wrap:anywhere; }
.compare-handle,.compare-hint { font-size:11px; color:var(--muted); }
.saved-compare-tags { display:flex; flex-wrap:wrap; gap:4px; }
.saved-compare-card > .saved-tray-join-btn { justify-content:center; }
.saved-tray-item-stats { flex-wrap:wrap; }
.saved-tray-confirm-banner { flex-wrap:wrap; }
.footer-note a { display:inline-flex; align-items:center; gap:6px; }
.vanilla-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:100; display:flex; align-items:center; gap:16px; width:max-content; max-width:calc(100vw - 32px); padding:12px 18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); box-shadow:0 12px 40px #07173830; font-size:13px; }
.vanilla-toast button { min-width:44px; min-height:44px; }
.avatar-upload-preview { width:60px; height:60px; }
.avatar-upload-hint { max-width:220px; }
@media(prefers-reduced-motion:reduce) { .saved-tray-backdrop,.saved-tray-drawer { animation:none; } }
