/* Shared Rackfy experience: existing brand, task navigation and readable content. */
body.rackfy-app-experience {
  --rk-page-gap: 24px;
  --rk-control-radius: 14px;
  --rk-motion-fast: 140ms;
  --rk-motion-page: 180ms;
  --rk-motion-ease: cubic-bezier(.2, .8, .2, 1);
  --glass-blur: blur(20px) saturate(110%);
}
#rk-first-access-guide { position: fixed; z-index: 10020; right: 18px; bottom: calc(var(--rk-tabbar-height, 64px) + 12px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))); width: min(360px, calc(100vw - 32px)); max-height: min(70dvh, calc(100dvh - var(--rk-tabbar-height, 64px) - 28px)); overflow-y: auto; padding: 16px; color: #e5eee9; background: #101917; border: 1px solid #53665d; border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.45); }
#rk-first-access-guide[hidden] { display: none; }
.rk-first-access-missing { margin-top: 10px !important; color: #f6d38a !important; }
#rk-first-access-guide h2 { margin: 10px 0 6px; font-size: 17px; line-height: 1.3; font-weight: 700; }
#rk-first-access-guide p { margin: 0; color: #b9c8c0; font-size: 13px; line-height: 1.55; }
.rk-first-access-head { display: flex; align-items: center; justify-content: space-between; color: #b7e87a; font-size: 11px; font-weight: 700; }
.rk-first-access-head button { min-width: 32px; min-height: 32px; color: #b9c8c0; font-size: 22px; line-height: 1; }
.rk-first-access-actions { display: flex; gap: 8px; margin-top: 14px; }
.rk-first-access-actions button { min-height: 42px; border-radius: 9px; padding: 9px 12px; font-size: 12px; font-weight: 700; }
.rk-first-access-primary { flex: 1; color: #0b120e; background: #b7e87a; }
.rk-first-access-secondary { color: #d2ddd7; border: 1px solid #53665d; background: transparent; }
.rk-first-access-check { display: flex; gap: 8px; align-items: center; margin-top: 12px; color: #9eafa6; font-size: 11px; }
.rk-first-access-status { min-height: 1.2em; margin-top: 8px !important; color: #f6d38a !important; }
.rk-first-access-actions button:focus-visible, #rk-first-access-guide [data-guide-close]:focus-visible { outline: 3px solid #fff !important; outline-offset: 2px; }
.rk-first-access-target { outline: 3px solid #b7e87a !important; outline-offset: 4px !important; scroll-margin: 100px; }
@media (prefers-reduced-motion: reduce) { #rk-first-access-guide *, .rk-first-access-target { scroll-behavior: auto !important; transition: none !important; } }
.rk-ui-icon { width: 24px; height: 24px; flex: 0 0 auto; display: block; }
.rk-inline-icon { display: inline-flex; flex: 0 0 auto; align-items: center; }
.rk-inline-icon .rk-ui-icon { width: 18px; height: 18px; }
.rk-small-icon .rk-ui-icon { width: 10px; height: 10px; }
.rk-payment-icon .rk-ui-icon { width: 26px; height: 26px; }
.rk-ai-copy { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.rk-ai-copy > * + * { margin-top: 12px; }
.rk-ai-copy h3 { font-size: 16px; line-height: 1.4; font-weight: 650; }
.rk-ai-copy ul, .rk-ai-copy ol { padding-left: 22px; }
.rk-ai-copy ul { list-style: disc; }
.rk-ai-copy ol { list-style: decimal; }
.rk-ai-copy li + li { margin-top: 6px; }
.rk-ai-table { max-width: 100%; overflow-x: auto; }
.rk-ai-table table { min-width: 100%; border-collapse: collapse; }
.rk-ai-table :is(th, td) { padding: 10px 12px; border: 1px solid var(--color-border); text-align: left; vertical-align: top; }
.rk-ai-table th { font-weight: 650; }
.rk-entry-delete { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; border-radius: 10px; }
.rk-entry-delete .rk-ui-icon { width: 18px; height: 18px; }
#schedule-tab-content .group:has(> .rk-entry-delete) { padding-right: 48px; min-height: 56px; }
@media (max-width: 480px) {
  #schedule-tabs nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; overflow: visible; }
  #schedule-tabs button { min-width: 0; min-height: 56px; margin-inline: 0; padding: 8px 2px; font-size: 12px; white-space: normal; }
  #schedule-tabs button > span { min-width: 0; flex-direction: column; justify-content: center; gap: 4px; line-height: 1.3; }
  #schedule-tabs button svg { flex-shrink: 0; }
}
.rk-task-icon { color: var(--color-text-secondary); }
.rk-hub, .rk-home-links { max-width: 64rem; margin: 0 auto; }
.rk-hub { padding: 8px 0 24px; }
.rk-hub > header { margin-bottom: 24px; }
.rk-hub h1 { font-size: clamp(1.65rem, 4vw, 2.1rem); line-height: 1.18; font-weight: 750; letter-spacing: -.035em; }
.rk-hub > header p { max-width: 38rem; margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--color-text-secondary); }
.rk-tool-list { border-top: 1px solid var(--color-border); }
.rk-tool-row {
  display: flex; align-items: center; gap: 16px; width: 100%; min-width: 0;
  min-height: 86px; padding: 18px 4px; border-bottom: 1px solid var(--color-border);
  color: var(--color-text-primary); text-align: left; background: transparent;
  transition: background-color var(--rk-motion-fast) var(--rk-motion-ease), color var(--rk-motion-fast) var(--rk-motion-ease);
}
.rk-tool-row > .rk-ui-icon:last-child, .rk-tool-row > [data-rk-icon]:last-child { margin-left: auto; color: var(--color-text-secondary); }
.rk-tool-row .rk-row-copy { min-width: 0; flex: 1; }
.rk-row-copy strong { display: block; font-size: 16px; line-height: 1.35; font-weight: 650; overflow-wrap: anywhere; }
.rk-row-copy small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--color-text-secondary); overflow-wrap: anywhere; }
.rk-row-copy .rk-module-name { font-weight: 400; font-size: 12px; color: var(--color-text-secondary); margin-left: 5px; }
.rk-tool-row:active { background: var(--accent-tint); }
.rk-tool-row:focus-visible, .rk-task-card:focus-visible, .rk-desktop-destination:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.rk-hub-note { margin-top: 24px; font-size: 13px; line-height: 1.6; color: var(--color-text-secondary); max-width: 38rem; }
.rk-back-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 12px; color: var(--color-text-secondary); font-size: 14px; }
.rk-back-link .rk-ui-icon { width: 18px; height: 18px; }
.rk-desktop-destination { color: var(--color-text-secondary); min-height: 44px; padding: 10px 9px; border-radius: 10px; font-size: 14px; font-weight: 550; white-space: nowrap; }
.rk-desktop-destination.is-active { color: var(--color-accent); background: var(--accent-tint); }
.rk-primary-link.is-active { color: var(--color-accent); }
body.rackfy-app-experience .home-browse-stack { gap: 28px; }
body.rackfy-app-experience .rackfy-mobile-home { display: flex; flex-direction: column; gap: 24px; }
body.rackfy-app-experience .rackfy-mobile-home > * + * { margin-top: 0 !important; }
body.rackfy-app-experience .rackfy-mobile-home > .rk-home-intro {
  padding: 22px 24px !important; border-radius: 18px !important;
  box-shadow: none !important; margin: 0 !important;
}
/* A real court gives the home its setting. Reading surfaces stay opaque enough
   to keep contrast independent of the photograph and its responsive crop. */
body.rackfy-app-experience #forum-section {
  position: relative;
  isolation: isolate;
}
body.rackfy-app-experience #forum-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  top: -48px;
  inset-inline: calc((100% - 100vw) / 2);
  height: 580px;
  background-image:
    linear-gradient(180deg, rgba(5, 7, 6, .64) 0%, rgba(5, 7, 6, .7) 36%, rgba(5, 7, 6, .9) 80%, #050706 100%),
    linear-gradient(90deg, rgba(5, 7, 6, .28), transparent 48%, rgba(5, 7, 6, .16)),
    url('/images/court-home.webp');
  background-size: cover;
  background-position: center 58%;
  background-repeat: no-repeat;
}
body.rackfy-app-experience #forum-section .rk-home-intro {
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  padding-inline: 0 !important;
}
body.rackfy-app-experience #forum-section .rk-home-intro > p:first-child {
  color: #d5e0da !important;
}
body.rackfy-app-experience #forum-section .rk-home-intro > p:nth-of-type(2) {
  color: #d5e0da !important;
  max-width: 32rem;
}
body.rackfy-app-experience #forum-section .rk-task-card {
  background: #0e1412;
  border-color: #303c36;
}
body.rackfy-app-experience #forum-section .rk-task-card .rk-ui-icon { color: #b7d873; }
body.rackfy-app-experience #forum-section .rk-home-intro h1 { font-size: clamp(1.45rem, 5.5vw, 2rem) !important; line-height: 1.2 !important; font-weight: 750; letter-spacing: -.035em; margin-bottom: 0 !important; }
body.rackfy-app-experience .rk-home-intro > p:first-child { font-size: 13px !important; text-transform: none; font-weight: 550; letter-spacing: 0; margin-bottom: 8px !important; }
body.rackfy-app-experience .rk-home-intro > p:nth-of-type(2) { font-size: 14px !important; line-height: 1.55 !important; margin-top: 10px !important; max-width: 38rem; color: var(--color-text-secondary); }
body.rackfy-app-experience #home-plan-chip { display: none !important; }
.rk-home-heading { font-size: 18px; line-height: 1.35; font-weight: 650; margin-bottom: 14px; letter-spacing: -.015em; }
.rk-task-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rk-task-card {
  min-width: 0; min-height: 130px; padding: 18px; border: 1px solid var(--color-border);
  border-radius: 16px; text-align: left; background: var(--color-bg-secondary); color: var(--color-text-primary);
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  transition: background-color var(--rk-motion-fast) var(--rk-motion-ease), border-color var(--rk-motion-fast) var(--rk-motion-ease);
}
.rk-task-card .rk-ui-icon { color: var(--color-accent); width: 24px; height: 24px; }
.rk-task-card strong { max-width: 100%; font-size: 16px; line-height: 1.35; font-weight: 650; overflow-wrap: break-word; }
.rk-task-card small { max-width: 100%; font-size: 13px; line-height: 1.45; color: var(--color-text-secondary); overflow-wrap: break-word; }
.rk-task-card:active { border-color: var(--color-accent); background: var(--accent-tint); }
.rk-task-card .rk-lock { display: none; }
.rk-task-card.is-locked .rk-lock { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: var(--color-text-secondary); }
.rk-task-card .rk-lock svg { width: 12px; height: 12px; }
.rk-home-links { width: 100%; }
.rk-home-links .rk-tool-row { min-height: 76px; }
body.rackfy-app-experience .section-animate { animation: rk-page-in var(--rk-motion-page) var(--rk-motion-ease); }
@keyframes rk-page-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
body.rackfy-app-experience .mood-btn { min-height: 62px; font-size: 14px; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
body.rackfy-app-experience .mood-btn .rk-mood-value { font-size: 18px; font-weight: 650; line-height: 1; }
body.rackfy-app-experience .mood-btn > span:last-child { color: var(--color-text-secondary); font-size: 12px; overflow-wrap: anywhere; }
body.rackfy-app-experience main :is(input, select, textarea) { max-width: 100%; }
body.rackfy-app-experience main :is(h1, h2, h3, h4, p, label) { overflow-wrap: break-word; }
body.rackfy-app-experience main .grid > * { min-width: 0; }
body.rackfy-app-experience .rk-ui-icon + span { min-width: 0; }
body.platform-native.rackfy-app-experience .rk-hub { margin-inline: 20px; }
body.platform-native.rackfy-app-experience #mobile-menu .rk-menu-avatar { width: 40px !important; height: 40px !important; }
body.platform-native.rackfy-app-experience #mobile-menu :is(.rackfy-goat-badge, .rackfy-goat-member-pill) { display: none; }
body.platform-native.rackfy-app-experience #mobile-menu .rackfy-avatar-wrapper { box-shadow: none !important; border: 0 !important; background: transparent !important; }
body.platform-native.rackfy-app-experience #mobile-menu .rk-menu-plan { color: var(--color-accent) !important; }
body.platform-native.rackfy-app-experience #mobile-menu .rk-menu-manage {
  min-height: 44px; background: transparent !important; border: 1px solid var(--color-border) !important;
  color: var(--color-text-secondary) !important; box-shadow: none !important; border-radius: 12px;
}
body.platform-native.rackfy-app-experience .rackfy-mobile-home > .rk-home-intro { margin-inline: 20px !important; padding: 20px !important; }
body.platform-native.rackfy-app-experience #forum-section .rk-home-intro { margin-inline: 20px !important; padding: 18px 0 !important; }
body.platform-native.rackfy-app-experience .rk-home-tasks,
body.platform-native.rackfy-app-experience .rk-home-links { padding: 0 20px !important; }
body.platform-native.rackfy-app-experience .rk-task-card { padding: 16px; min-height: 130px; }
body.platform-native.rackfy-app-experience .rackfy-mobile-home { gap: 24px; }
@media (max-width: 767px) {
  body.rackfy-app-experience #forum-section::before {
    top: -32px;
    height: 550px;
    background-position: 62% center;
  }
}
body.platform-native.rackfy-app-experience .home-browse-stack { gap: 28px; }
body.platform-native.rackfy-app-experience #home-routine-content,
body.platform-native.rackfy-app-experience #onboarding-checklist { margin-inline: 20px; }
body.rackfy-app-experience #routine-hub-section #home-routine-content { margin: 28px 0 0; }
body.rackfy-app-experience #routine-hub-section #home-routine-content > section { padding: 20px; border-radius: 16px; }
body.rackfy-app-experience :is(#finder-results, #shoe-finder-results) > :is(h2, h3) { font-size: 1.3rem; line-height: 1.35; }
body.rackfy-app-experience #finder-results > .bg-gradient-to-br { padding: 18px; }
body.rackfy-app-experience #finder-section .rk-sec-head { text-align: left; margin-bottom: 20px; }
body.rackfy-app-experience #finder-section .rk-sec-title { font-size: clamp(1.65rem, 4vw, 2.1rem); line-height: 1.2; margin-bottom: 8px; }
body.rackfy-app-experience #finder-section .rk-eyebrow { display: none; }
body.rackfy-app-experience #finder-subtitle { font-size: 14px; line-height: 1.55; min-height: 0; }
body.rackfy-app-experience #finder-section nav[aria-label="Tipo de equipamento"] { justify-content: flex-start; gap: 24px; padding-inline: 0; }
body.rackfy-app-experience #finder-section nav[aria-label="Tipo de equipamento"] button { min-height: 44px; padding: 10px 0; }
body.rackfy-app-experience #finder-section #tab-compare-rackets { display: none !important; }
body.rackfy-app-experience #finder-section :is(#compare-racket-results, #compare-racket-results-1, #compare-racket-results-2) {
  background: #0b1512 !important;
}
body.platform-native.rackfy-app-experience #finder-section .rk-sec-head {
  text-align: left !important; padding: 0 20px !important; margin-bottom: 20px !important;
}
body.platform-native.rackfy-app-experience #finder-section .rk-sec-title {
  text-align: left !important; font-size: 1.65rem !important; margin-bottom: 8px !important;
}
body.platform-native.rackfy-app-experience #finder-subtitle {
  text-align: left !important; font-size: 14px !important; line-height: 1.55 !important;
}
body.platform-native.rackfy-app-experience #finder-section nav[aria-label="Tipo de equipamento"] { padding-inline: 20px; }
body.rackfy-app-experience #ball-guide-root > div > section:first-child {
  background: transparent; border: 0; border-radius: 0; box-shadow: none; padding: 8px 0 0;
}
body.rackfy-app-experience #ball-guide-root > div > section:first-child > .absolute { display: none; }
body.rackfy-app-experience #ball-guide-root > div > section:first-child h2 {
  font-size: clamp(1.65rem, 4vw, 2.1rem); line-height: 1.2; margin-top: 8px;
}
body.rackfy-app-experience #ball-guide-root > div > section:first-child p { font-size: 14px; line-height: 1.55; }
@media (hover: hover) {
  .rk-tool-row:hover { background: var(--accent-tint); }
  .rk-task-card:hover { border-color: var(--color-accent); }
}
@media (min-width: 768px) {
  .rk-task-grid { max-width: 48rem; }
  .rk-hub .rk-tool-list { max-width: 48rem; }
}
@media (max-width: 380px) {
  #forum-section .rk-task-grid { gap: 10px; }
  body.rackfy-app-experience #forum-section .rk-task-card { padding: 12px; }
  #forum-section .rk-task-card strong { font-size: 15px; }
}
@media (max-width: 359px) {
  .rk-task-card { padding: 13px !important; }
  body.platform-native.rackfy-app-experience .rk-hub { margin-inline: 16px; }
  body.rackfy-app-experience #mood-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.rackfy-app-experience #mood-selector > button:last-child { grid-column: 1 / -1; }
  body.rackfy-app-experience .rk-post-actions { display: grid; grid-template-columns: minmax(0, 1fr); padding: 12px; gap: 8px; flex-shrink: 0; }
  body.rackfy-app-experience .rk-post-actions > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
  body.rackfy-app-experience .rk-post-actions button { min-width: 0; max-width: none; min-height: 44px; font-size: 14px; padding: 10px; white-space: normal; }
  body.rackfy-app-experience .rk-calendar-day > div:first-child { flex-direction: column; align-items: flex-start; gap: 4px; }
}
@media (max-width: 319px) {
  .rk-task-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.rackfy-app-experience .section-animate { animation: none !important; }
  body.rackfy-app-experience :is(.rk-task-card, .rk-tool-row) { transition: none !important; }
}
.care-history-row[hidden] {
  display: none !important;
}
.care-history-row > button,
.care-history-row > .care-history-more > summary {
  min-height: 44px;
  padding-block: 10px;
}
.schedule-match-actions button { min-height: 44px; }
@media (max-width: 600px) {
  .schedule-match-actions { align-items: stretch; }
  .schedule-match-actions > button { order: 2; flex-basis: 100%; }
  .schedule-match-primary-actions { flex-basis: 100%; }
  .schedule-match-primary-actions > button { min-width: 0; max-width: none; padding-inline: 12px; }
  .schedule-match-primary-actions > [data-match-live-coach] { flex-basis: 100%; }
}
.care-history-row { min-width: 0; align-items: flex-start; }
.care-history-row > button { min-width: 0; overflow-wrap: anywhere; }
.care-history-row > .care-history-more { flex: 0 0 auto; min-width: 44px; }
.care-history-row:has(> .care-history-more[open]) { flex-wrap: wrap; }
.care-history-row:has(> .care-history-more[open]) > button { flex: 1 1 calc(100% - 52px); }
.care-history-row:has(> .care-history-more[open]) > .care-history-more { flex-basis: 100%; }
.care-history-actions { min-width: 0; max-width: 100%; }
.care-history-actions button { min-height: 44px; padding: 10px; white-space: normal; }
.care-welcome-suggestions button { min-height: 44px; }
/* Resposta do CARE: conclusão e "Próximo passo" visíveis, "Detalhes" recolhido (R2-D02). */
.care-reply-details { margin-top: 0.5rem; }
.care-reply-details > summary {
  display: flex;
  align-items: center;
  min-height: 44px;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  color: var(--color-accent, #a3e635);
}
.care-reply-details > summary::-webkit-details-marker { display: none; }
.care-reply-details > summary::after { content: "\25BE"; margin-left: 0.5rem; font-size: 0.75em; }
.care-reply-details[open] > summary::after { content: "\25B4"; }
.care-reply-details-body { padding-top: 0.25rem; min-width: 0; overflow-wrap: anywhere; }
#care-history-panel { min-width: 0; max-width: 100%; }
#care-history-panel:not(.hidden) {
  display: block;
  flex: 0 0 auto; /* não cede altura ao chat longo; rola por dentro */
  min-height: 0;
  max-height: calc(var(--care-viewport-height, 100dvh) * 0.38); /* acompanha o teclado */
  overflow-y: auto;
  overscroll-behavior: contain;
}
#care-conversation-list { min-width: 0; max-height: none; overflow: visible; }
body.rackfy-app-experience #ai-chat-box { min-height: 0; flex: 1 1 auto; overflow-y: auto; }
body.rackfy-app-experience #ai-chat-form input { flex: 1 1 auto; min-width: 0; }
body.rackfy-app-experience #ai-chat-submit-btn { flex: 0 0 auto; min-width: 80px; min-height: 44px; }
body.rackfy-app-experience .care-chat-bubble-assistant {
  background: #101917 !important;
  border: 1px solid #34453b;
  color: #e5eee9;
}
body.rackfy-app-experience .care-welcome-suggestions { margin-top: 14px; }
body.rackfy-app-experience .care-welcome-suggestions .ai-topic-btn {
  background: #18231f !important;
  border-color: #53665d !important;
  color: #b7e87a !important;
  box-shadow: none !important;
}
body.rackfy-app-experience .care-welcome-suggestions .ai-topic-btn:active {
  background: #22332c !important;
}
#ai-modal-header {
  display: grid;
  grid-template-columns: 44px minmax(min-content, 1fr) max-content;
  align-items: center;
  gap: 8px;
}
#ai-modal-header > button {
  grid-column: 1;
  grid-row: 1;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
}
#ai-modal-header > div:first-of-type {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
#ai-modal-header > div:first-of-type h3 {
  min-width: 0;
  white-space: nowrap;
  overflow-wrap: normal;
}
#ai-modal-header > div:last-of-type {
  grid-column: 3;
  grid-row: 1;
  min-width: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
#ai-modal-header > div:last-of-type > button {
  min-width: 44px;
  min-height: 44px;
  white-space: nowrap;
  overflow-wrap: normal;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media (max-width: 600px) {
  #ai-modal-header {
    grid-template-columns: 44px min-content minmax(0, 1fr);
  }
  #ai-modal-header > div:last-of-type {
    align-items: stretch;
  }
  #ai-modal-header h3 > svg,
  #ai-modal-header .care-history-label {
    display: none;
  }
  #ai-modal-header #care-history-toggle { width: 44px; padding-inline: 8px; flex-shrink: 0; }
  #ai-modal-header #care-header-new-conversation { white-space: normal; }
}
.care-history-row > .care-history-more > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  padding-inline: 8px;
  cursor: pointer;
}
#care-new-conversation {
  color: #112015;
}
body.rackfy-app-experience #profile-section > div > div:first-child > div:last-child,
body.rackfy-app-experience #profile-section .rk-profile-identity {
  min-width: 0;
  max-width: 100%;
}
body.rackfy-app-experience #profile-section .rk-profile-identity :is(h2, p) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.rackfy-app-experience #profile-section .grid.grid-cols-2 .truncate {
  white-space: normal;
  overflow: visible;
  overflow-wrap: break-word;
}
.catalog-string-image { width: 72px; height: 88px; }
body.rackfy-app-experience #setup-lab-section .absolute[id$="-results"] {
  background: #101917 !important;
  border-color: #34453b !important;
}

/* Reflow own iOS Home at accessibility zoom; preserve the chosen text size. */
@media (max-width: 240px) {
  body.platform-ios.rackfy-app-experience #forum-section .rk-home-tasks,
  body.platform-ios.rackfy-app-experience #forum-section .rk-home-links { padding-inline: 8px !important; }
  body.platform-ios.rackfy-app-experience #forum-section .rk-task-card { padding: 8px 6px !important; }
  body.platform-ios.rackfy-app-experience #forum-section .rk-tool-row {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px;
  }
  body.platform-ios.rackfy-app-experience #forum-section .rk-tool-row > .rk-row-copy {
    grid-column: 1 / -1; grid-row: 2; width: 100%;
  }
  body.platform-ios.rackfy-app-experience #forum-section .rk-tool-row > :last-child {
    grid-column: 2; grid-row: 1;
  }
}

/* Closed off-canvas navigation must also leave the accessibility tree. */
#mobile-menu.-translate-x-full {
  visibility: hidden;
  pointer-events: none;
}

/* Descubra: botão "Usar …" da dica de origem do valor (R2-C03). Alvo de toque de 44 px dentro do texto da dica. */
.finder-prefill-switch {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-inline: 4px;
  color: #a3e635;
  font-weight: 600;
  text-decoration: underline;
}

/* ============================================================
 *  Fonte grande do Android (N-AND-10..13, 19/10).
 *  O WebView do Android aumenta o texto por textZoom sem encolher a largura CSS,
 *  então as media queries de tela estreita do iOS não disparam. text-scale.mjs
 *  marca o <html> com rk-text-zoom e rk-text-zoom-wN quando a largura dividida
 *  pela escala do texto fica ≤ N px. Palavras curtas nunca quebram no meio:
 *  a tela reorganiza (uma coluna, rótulo curto) antes disso.
 * ============================================================ */
/* Home: mesmos ajustes do iPhone estreito; uma coluna quando "Equipamento" não cabe
 * (≤ 300 px efetivos, perto do ≤ 319 px do iPhone; fonte 1.3 em 411 dp continua em 2 colunas). */
html.rk-text-zoom-w380 #forum-section .rk-task-grid { gap: 10px; }
html.rk-text-zoom-w380 body.rackfy-app-experience #forum-section .rk-task-card { padding: 12px; }
html.rk-text-zoom-w380 #forum-section .rk-task-card strong { font-size: 15px; }
html.rk-text-zoom-w300 .rk-task-grid { grid-template-columns: minmax(0, 1fr); }
html.rk-text-zoom .rk-task-card :is(strong, small) { hyphens: manual; -webkit-hyphens: manual; }

/* Barra de abas: rótulo curto "Equip." e texto contido na própria aba. Largura total só em
 * tela estreita de fato (tablet com fonte grande mantém a barra normal). */
html.rk-text-zoom-w380 #rackfy-tab-bar [data-tab="equipment"] .rtb-label-full { display: none; }
html.rk-text-zoom-w380 #rackfy-tab-bar [data-tab="equipment"] .rtb-label-compact { display: inline; }
html.rk-text-zoom-w340 body.rackfy-app-experience #rackfy-tab-bar,
html.rk-text-zoom-w340 body.rackfy-app-experience #rackfy-tab-bar.rtb-mini { width: calc(100vw - 32px); }
html.rk-text-zoom body.rackfy-app-experience #rackfy-tab-bar .rtb-label {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: -0.01em;
}
html.rk-text-zoom-w260 body.rackfy-app-experience #rackfy-tab-bar .rtb-label { font-size: 9px; }

/* Agenda: uma aba por linha (como o iPhone na fonte máxima), dias da semana
 * menores e o número do dia acima do "+". Só ≤ 300 px efetivos: a fonte 1.3 em
 * 411 dp mantém a Agenda aprovada antes. */
html.rk-text-zoom-w300 #schedule-tabs nav { grid-template-columns: minmax(0, 1fr); }
html.rk-text-zoom-w300 #schedule-tabs button { min-height: 44px; padding: 6px 4px; text-align: left; }
html.rk-text-zoom-w300 #schedule-tabs button > span { flex-direction: row; justify-content: flex-start; gap: 6px; }
html.rk-text-zoom-w300 #schedule-section .grid.grid-cols-7.mb-2 > div { font-size: 10px; letter-spacing: 0; padding-inline: 0; }
html.rk-text-zoom-w300 body.rackfy-app-experience .rk-calendar-day > div:first-child { flex-direction: column; align-items: flex-start; gap: 4px; }

/* Descubra: cartões de corda em uma coluna antes de o nome partir ("Gamm/a") e o
 * "Adicionar" vazar do botão (N-AND-R02, 360 dp + fonte 2.0). */
html.rk-text-zoom-w300 .finder-string-grid { grid-template-columns: minmax(0, 1fr); }

/* Perfil: Nível/Raquete/Frequência em uma coluna antes de "Intermediário" quebrar. */
html.rk-text-zoom-w300 body.rackfy-app-experience #profile-section .grid.grid-cols-2 { grid-template-columns: minmax(0, 1fr); }

/* Descubra: o título "Escolher equipamento" (1.65rem no app) partia "equipament/o" em 360 dp + fonte 2.0 (N-AND-R03). */
html.rk-text-zoom-w300 body.platform-native.rackfy-app-experience #finder-section .rk-sec-title { font-size: 1.25rem !important; overflow-wrap: normal; hyphens: none; }
