/* Rioski's FIT — web adaptation of the Liquid Glass navigation layer.
   Content stays opaque. Brand colors are supplied by /brand/theme.css.
   Solid surfaces are the baseline; blur is a progressive enhancement. */
:root {
  --font-titulo:Inter,system-ui,sans-serif;
  --fundo:#f2f5fa;
  --texto:#182435;
  --texto-secundario:#445266;
  --texto-fraco:#59687b;
  --borda:#e4e9f0;
  --raio-sm:14px;
  --raio:24px;
  --raio-lg:30px;
  --glass-surface:#f8fafd;
  --glass-edge:rgba(255,255,255,.9);
  --glass-shadow:0 12px 40px rgba(28,47,75,.09),inset 0 1px 0 rgba(255,255,255,.95);
  --sombra-sm:0 4px 20px rgba(28,47,75,.035);
  --sombra-md:0 16px 44px rgba(28,47,75,.12);
}
html { scroll-padding-top:100px; scroll-padding-bottom:110px; }
body {
  background:radial-gradient(ellipse at 85% 0%,var(--cor-primaria-suave),transparent 52%),var(--fundo);
  background-attachment:fixed;
  font-size:15px;
}
h1,h2,h3,h4 { letter-spacing:-.035em; font-weight:650; }
h1 { font-size:32px; line-height:1.15; }
h2 { font-size:21px; }
.brand-name { font-family:Sora,var(--font); font-size:16px; }
.brand-sub { font-size:12px; }
.brand-mark { border:0; border-radius:16px; }
.sidebar,.topbar,.mobile-dock,.sb-panel,.table-menu,.toast-stack .notice {
  background:var(--glass-surface);
  border:1px solid var(--glass-edge);
  box-shadow:var(--glass-shadow);
}
@supports ((backdrop-filter:blur(24px)) or (-webkit-backdrop-filter:blur(24px))) {
  :root { --glass-surface:rgba(248,250,253,.82); }
  .sidebar,.topbar,.mobile-dock,.sb-panel,.table-menu,.toast-stack .notice {
    -webkit-backdrop-filter:blur(24px) saturate(150%);
    backdrop-filter:blur(24px) saturate(150%);
  }
}
.sidebar { inset:12px auto 12px 12px; border-radius:28px; padding-top:env(safe-area-inset-top); }
.sidebar-brand { padding:22px 16px; border-bottom:0; }
.sidebar-nav { padding:0 10px 12px; }
.nav-label { font-size:11px; text-transform:none; letter-spacing:0; padding:8px 14px 12px; }
.nav-item { border-radius:15px; padding:11px 14px; min-height:46px; margin-bottom:5px; }
.nav-item:hover { background:rgba(255,255,255,.72); }
.nav-item.ativo { background:var(--cor-primaria-suave); box-shadow:inset 0 0 0 1px rgba(255,255,255,.75); }
.sidebar-footer { padding:12px 12px calc(10px + env(safe-area-inset-bottom)); }
.btn-home-side { background:var(--cor-primaria-suave); color:var(--cor-primaria-escura); border-radius:14px; box-shadow:none; }
.btn-home-side:hover { color:var(--cor-primaria-escura); transform:none; }
.user-box { gap:5px; }
.user-name { font-size:12px; }
.user-role { font-size:11px; }
.user-info { min-height:44px; display:flex; justify-content:center; flex-direction:column; }
.avatar { background:var(--cor-primaria-escura); }
.appearance-setting { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 4px; font-size:12px; color:var(--texto-secundario); cursor:pointer; }
.appearance-setting input { width:22px; height:22px; accent-color:var(--cor-primaria-escura); flex-shrink:0; }
.topbar { top:calc(10px + env(safe-area-inset-top)); margin:calc(10px + env(safe-area-inset-top)) 16px 0; min-height:60px; padding:8px 10px; border-radius:999px; }
.topbar-title { font-size:16px; font-weight:650; padding-left:6px; white-space:normal; overflow-wrap:anywhere; }
.topbar .btn { min-height:44px; }
.topbar .btn-icon { border:0; background:transparent; }
.topbar-actions .btn { padding:10px 14px; font-size:12px; }
.page { max-width:1240px; gap:24px; padding:28px max(20px,env(safe-area-inset-right)) calc(126px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }
.flash-stack:empty { display:none; }
.page-intro { gap:9px; }
.page-intro h1 { font-size:36px; }
.page-intro p { font-size:15px; line-height:1.6; }
.eyebrow { font-size:12px; text-transform:none; letter-spacing:0; font-weight:600; }
.card { padding:22px; gap:16px; border-color:rgba(228,233,240,.8); }
.card-header h2,.card-header h3 { font-size:18px; }
.grid { gap:20px; }
.table-card { border-radius:24px; }
.table-header { padding:18px 20px; }
.table-header h2,.table-header h3 { font-size:17px; }
th { text-transform:none; letter-spacing:0; font-size:12px; background:var(--fundo); }
th,td { padding:15px 20px; }
.table-scroll { border-radius:0 0 24px 24px; }
.btn { min-height:44px; padding:11px 18px; border-radius:999px; font-size:14px; font-weight:600; }
.btn-primary { background:var(--cor-primaria-escura); border-color:transparent; box-shadow:0 4px 12px rgba(28,47,75,.12),inset 0 1px 0 rgba(255,255,255,.18); }
.btn-primary:hover { background:var(--cor-primaria-escura); filter:brightness(1.08); border-color:transparent; }
.btn-secondary { background:var(--fundo); border-color:transparent; color:var(--cor-primaria-escura); }
.btn-icon,.icon-btn { border-radius:50%; }
.actions { gap:10px; }
.badge { padding:6px 10px; font-size:12px; font-weight:600; border-radius:999px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:600; }
.field label,.field-label { font-size:13px; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),textarea,.input,.sb-display {
  min-height:48px; font-size:16px; border-color:var(--borda); border-radius:14px; padding:12px 14px; background:#fbfcfe;
}
input:focus,textarea:focus { outline:2px solid var(--cor-primaria-escura); outline-offset:2px; box-shadow:none; }
.field small { font-size:12px; line-height:1.55; }
.sb-panel { border-radius:18px; }
.sb-opt { padding:13px 16px; }
.notice { border-radius:18px; padding:16px; }
.hero { position:relative; overflow:hidden; flex-direction:row; background:linear-gradient(125deg,var(--cor-primaria-suave),#fff); padding:28px; gap:24px; border:0; }
.hero-copy { position:relative; z-index:1; max-width:620px; }
.hero h2 { font-size:32px; font-weight:650; max-width:20ch; margin:12px 0; }
.hero p { color:var(--texto-secundario); max-width:42ch; margin:0; }
.hero .badge { background:rgba(255,255,255,.8); }
.hero-emblem { position:absolute; right:24px; top:24px; display:grid; place-items:center; width:144px; height:144px; color:var(--cor-primaria-escura); border-radius:42px; background:var(--cor-primaria-suave); transform:rotate(-12deg); font-size:76px; opacity:.35; }
.hero>.btn { align-self:flex-end; z-index:1; flex-shrink:0; }
.kpi-grid { gap:12px; }
.kpi:has(>.lbl) { padding:18px; border-radius:24px; grid-template-columns:1fr; row-gap:8px; align-content:start; }
.kpi::before { display:none; }
.kpi:has(>.lbl)>i { grid-column:1; grid-row:1; width:32px; height:32px; border-radius:10px; background:var(--cor-primaria-suave); font-size:20px; }
.kpi:has(>.lbl)>.lbl { grid-column:1; grid-row:2; font-size:12px; text-transform:none; letter-spacing:0; min-height:0; line-height:1.4; }
.kpi:has(>.lbl)>strong { grid-column:1; grid-row:3; font-size:32px; font-weight:650; line-height:1.15; }
.kpi strong small { font-size:13px; font-weight:500; margin-left:5px; }
.kpi:has(>.lbl)>.disc { grid-column:1; grid-row:4; font-size:11px; font-style:normal; min-height:0; }
.agenda-row { padding:14px 0; font-size:14px; }
.agenda-row:last-child,.history-preview:last-child { border-bottom:0; }
.agenda-row strong { background:var(--cor-primaria-suave); color:var(--cor-primaria-escura); border-radius:10px; padding:6px 10px; font-weight:600; }
.history-preview { gap:5px; padding:16px 0; }
.history-preview strong { font-size:14px; font-weight:600; }
.history-preview .muted { font-size:12px; }
.workout-card { gap:18px; }
.workout-card .card-header>i { font-size:24px; color:var(--cor-primaria-escura); background:var(--cor-primaria-suave); padding:12px; border-radius:16px; }
.workout-card h2 { font-size:24px; line-height:1.25; }
.workout-preview { list-style:none; padding:0; margin:0 0 6px; }
.workout-preview li { position:relative; border-bottom:1px solid var(--borda); padding:10px 0 10px 18px; font-size:14px; line-height:1.5; }
.workout-preview li:last-child { border:0; }
.workout-preview li::before { content:''; width:5px; height:5px; position:absolute; left:0; top:19px; background:var(--cor-primaria); border-radius:50%; }
.workout-card .actions { padding-top:4px; }
.workout-card .actions form { flex:1; }
.workout-card .actions form .btn { width:100%; }
.timer { font-family:Inter,system-ui,sans-serif; font-size:64px; font-weight:600; letter-spacing:-.055em; line-height:1.25; }
.timer-card { padding:28px 22px; align-items:center; }
#session-state { display:flex; flex-direction:column; gap:20px; }
.rest-banner { top:86px; background:var(--cor-primaria-suave); border-radius:20px; box-shadow:var(--sombra-sm); }
.rest-banner strong { font-variant-numeric:tabular-nums; font-size:24px; margin-left:auto; }
.exercise-session .card-header { align-items:flex-start; }
.exercise-session .card-header h2 { font-size:24px; margin:6px 0; }
.previous { border-radius:16px; padding:16px; }
.plan-row { border-radius:20px; padding:20px; }
.calendar-day { border-radius:14px; }
.rating-summary { gap:40px; }
.rating-summary strong { font-weight:600; font-size:36px; }
.chart-card { gap:18px; }
.photo-grid img { border-radius:18px; }
.upload-area { border-radius:20px; }
dialog.modal,dialog.modal.modal-md,dialog.modal:not(.modal-sm):not(.modal-lg) { border:1px solid white; width:min(560px,calc(100vw - 24px)); max-width:560px; border-radius:30px; box-shadow:0 32px 100px rgba(28,47,75,.2); }
.modal-header { padding:20px 24px; }
.modal-header h2 { font-size:21px; }
.modal-body { padding:24px; max-height:70dvh; }
.modal::backdrop { background:rgba(24,36,53,.32); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.auth-shell { min-height:100dvh; display:grid; place-items:center; padding:0; background:radial-gradient(ellipse at 85% 0%,var(--cor-primaria-suave),transparent 65%),var(--fundo); }
.auth-shell .page { max-width:480px; flex:none; padding:40px 20px; gap:22px; }
.auth-shell .flash-stack:empty { display:none; }
.login-card { padding:32px; gap:24px; border-radius:32px; box-shadow:0 20px 80px rgba(28,47,75,.08); }
.auth-card .login-brand { justify-content:flex-start; margin:0; }
.login-brand .brand-mark { width:52px; height:52px; font-size:30px; }
.login-brand .brand-name { font-size:19px; }
.login-intro h1 { font-size:32px; line-height:1.18; margin-bottom:12px; }
.login-intro p { margin:0; line-height:1.6; }
.login-form { display:flex; flex-direction:column; gap:18px; }
.login-form .btn { width:100%; min-height:50px; }
.login-footer { font-size:12px; text-align:center; line-height:1.6; margin:0; }
.login-footer i { vertical-align:middle; margin-right:4px; }
.mobile-dock { position:fixed; z-index:45; left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right)); bottom:calc(12px + env(safe-area-inset-bottom)); display:flex; align-items:center; padding:6px; gap:2px; border-radius:999px; }
.dock-item { flex:1; min-width:0; min-height:56px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:7px 2px; border:0; border-radius:999px; background:transparent; color:var(--texto-secundario); font-size:10px; line-height:1.2; font-weight:600; text-decoration:none; }
.dock-item i { font-size:23px; }
.dock-item.ativo { color:var(--cor-primaria-escura); background:var(--cor-primaria-suave); }
.dock-item:hover { text-decoration:none; background:var(--cor-primaria-suave); }
.toast-stack { bottom:calc(96px + env(safe-area-inset-bottom)); }
.app-main:has(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,textarea:focus) .mobile-dock { visibility:hidden; pointer-events:none; }
@media(min-width:721px) {
  .kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(min-width:881px) {
  .sidebar { width:calc(var(--sidebar-width) - 12px); box-shadow:var(--glass-shadow); }
  .app-main { margin-left:calc(var(--sidebar-width) + 8px); }
  .sidebar-resize { right:-10px; }
  .topbar { margin:20px 28px 0; top:16px; padding:10px 18px; min-height:64px; }
  .topbar-title { font-size:18px; }
  .page { padding:34px 28px 56px; gap:26px; }
  .page-intro h1 { font-size:42px; }
  .hero { padding:32px; min-height:210px; }
  .hero-emblem { right:200px; width:160px; height:160px; font-size:90px; }
  .hero h2 { font-size:36px; }
  .mobile-dock { display:none; }
  .toast-stack { bottom:24px; }
  .grid:not(.workout-grid):not(.chart-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:880px) {
  .hero { padding:24px; flex-direction:column; }
  .hero h2 { font-size:30px; padding-right:16px; }
  .hero p { max-width:28ch; }
  .hero-emblem { right:-20px; top:8px; width:120px; height:120px; font-size:65px; opacity:.17; }
  .hero>.btn { width:100%; min-height:48px; }
  .card-header { flex-wrap:wrap; }
  .page-intro h1 { font-size:34px; }
  .rest-banner { top:84px; }
  .btn { min-height:44px; }
  .login-card { padding:26px 22px; }
  .login-intro h1 { font-size:30px; }
}
@media(max-width:360px) {
  .topbar { margin-left:10px; margin-right:10px; }
  .topbar-title { font-size:14px; }
  .topbar-actions .btn { font-size:11px; padding:10px; }
  .page { padding-left:16px; padding-right:16px; }
  .dock-item { font-size:9px; }
}
/* Explicit preference works even in browsers without the OS media query. */
html.reduce-transparency { --glass-surface:#f8fafd; }
html.reduce-transparency :is(.sidebar,.topbar,.mobile-dock,.sb-panel,.table-menu,.toast-stack .notice,.drawer-backdrop),html.reduce-transparency .modal::backdrop {
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
@media(prefers-reduced-transparency:reduce) {
  :root { --glass-surface:#f8fafd; }
  .sidebar,.topbar,.mobile-dock,.sb-panel,.table-menu,.toast-stack .notice,.drawer-backdrop,.modal::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media(prefers-contrast:more) {
  :root { --glass-surface:#fff; --glass-edge:#59687b; --borda:#59687b; --texto-fraco:#344154; }
  .sidebar,.topbar,.mobile-dock,.sb-panel,.table-menu,.toast-stack .notice { -webkit-backdrop-filter:none; backdrop-filter:none; }
  .card,.kpi { border-color:var(--borda); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
@media print {
  .mobile-dock,.appearance-setting { display:none!important; }
  body { background:white; }
  .page { padding:0; }
}

/* First access is a focused task, with the rest of the app inert behind it. */
.password-control { display:block; position:relative; width:100%; min-width:0; }
.person-row,.quick-row { display:flex; align-items:center; gap:14px; min-height:76px; padding:16px 0; border-bottom:1px solid var(--borda); color:var(--texto); }
.person-row:last-child,.quick-row:last-of-type { border-bottom:0; }
.person-row:hover,.quick-row:hover { text-decoration:none; color:var(--cor-primaria-escura); }
.person-row strong,.quick-row strong { display:block; font-size:14px; font-weight:600; }
.person-row small,.quick-row small { display:block; color:var(--texto-fraco); margin-top:4px; overflow-wrap:anywhere; }
.person-avatar { width:44px; height:44px; background:var(--cor-primaria-suave); color:var(--cor-primaria-escura); overflow:hidden; }
.avatar img { width:100%; height:100%; object-fit:cover; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--texto-fraco); flex-shrink:0; }
.status-dot.active { background:var(--verde-escuro); }
.quick-icon { width:44px; height:44px; border-radius:15px; display:grid; place-items:center; background:var(--cor-primaria-suave); color:var(--cor-primaria-escura); font-size:23px; flex-shrink:0; }
.admin-quick { background:linear-gradient(140deg,#fff,var(--cor-primaria-suave)); }
.optional-security summary,.login-factor summary { cursor:pointer; min-height:44px; padding:10px 0; color:var(--cor-primaria-escura); font-size:13px; }
.optional-security .card { padding:12px 0; border:0; box-shadow:none; }
.student-hero { min-height:290px; isolation:isolate; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right 35%; z-index:-2; }
.student-hero::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(245,249,255,.97) 0%,rgba(245,249,255,.91) 37%,rgba(245,249,255,.18) 78%); }
.student-hero .hero-copy { max-width:55%; }
.student-hero>.btn { position:absolute; left:32px; bottom:26px; }
.student-hero .hero-copy { align-self:flex-start; padding-bottom:66px; }
.student-hero h2 { font-size:34px; }
.login-card:has(.login-cover) { overflow:hidden; }
.login-cover { width:calc(100% + 64px); max-width:none; margin:-32px -32px 0; height:180px; object-fit:cover; object-position:center 32%; }
.login-factor { border-top:1px solid var(--borda); }
.login-factor .field { margin:8px 0; }
.factor-card{max-width:520px;margin:auto;text-align:center;align-items:stretch;padding:34px 28px}.factor-icon{width:56px;height:56px;margin:0 auto 2px;display:grid;place-items:center;border-radius:18px;background:var(--cor-primaria-suave);color:var(--cor-primaria-escura);font-size:30px}.factor-card h1{font-size:30px;text-align:left}.factor-subtitle{text-align:left;color:var(--texto-secundario);margin:0}.factor-divider{display:flex;align-items:center;gap:14px;color:var(--texto-fraco);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin:10px 0}.factor-divider::before,.factor-divider::after{content:"";height:1px;background:var(--borda);flex:1}.factor-digits{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:8px auto 6px;max-width:420px}.factor-digits input{height:58px!important;min-height:58px!important;padding:0!important;text-align:center;font-size:25px!important;font-weight:700;border:2px solid var(--cor-primaria-escura)!important;border-radius:10px!important}.factor-help{color:var(--texto-fraco);font-size:13px;margin:4px auto 0;max-width:390px}.factor-back{justify-content:center}
.btn-google { width:100%; background:#fff; color:var(--texto); border-color:var(--borda-forte); min-height:50px; font-weight:500; }
.google-mark { font-size:21px; font-family:Arial,sans-serif; font-weight:700; color:#4285f4; }
.login-divider { display:flex; gap:12px; align-items:center; font-size:12px; color:var(--texto-fraco); }
.login-divider::before,.login-divider::after { content:''; height:1px; flex:1; background:var(--borda); }
@media(max-width:880px) {
  .student-hero { min-height:330px; }
  .student-hero .hero-copy { max-width:83%; }
  .student-hero h2 { font-size:29px; }
  .student-hero::before { background:linear-gradient(90deg,rgba(245,249,255,.96),rgba(245,249,255,.83) 50%,rgba(245,249,255,.14)); }
  .student-hero>.btn { left:24px; right:24px; width:auto; bottom:24px; }
  .hero-photo { object-position:65% center; }
  .login-cover { width:calc(100% + 44px); margin:-26px -22px 0; height:155px; }
  .admin-overview .card { padding:20px; }
}
.password-control input { padding-right:54px!important; }
.password-toggle { position:absolute; right:3px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border:0; border-radius:12px; background:transparent; color:var(--texto-secundario); font-size:22px; }
.password-toggle:hover,.password-toggle[aria-pressed=true] { color:var(--cor-primaria-escura); background:var(--cor-primaria-suave); }
.setup-background { min-height:65vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; text-align:center; }
.setup-background>i { color:var(--cor-primaria-escura); font-size:80px; }
.setup-background h2 { font-size:32px; }
.setup-dialog::backdrop { background:rgba(24,36,53,.4); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.setup-dialog .modal-header { align-items:center; }
.setup-dialog .modal-header h1 { font-size:26px; margin-top:6px; }
.setup-dialog .modal-header h1:focus { outline:none; }
.setup-dialog .modal-header form { margin:0; }
.setup-content { display:flex; flex-direction:column; gap:18px; }
.setup-content .flash-stack:not(:has(*)) { display:none; }
.setup-content .grid { grid-template-columns:minmax(0,1fr)!important; }
.setup-content .card { box-shadow:none; border:0; padding:0; border-radius:0; }
.setup-content .card h2 { font-size:20px; }
.setup-content .actions .btn-primary { width:100%; }
.setup-optional { border-top:1px solid var(--borda); border-bottom:1px solid var(--borda); }
.setup-optional summary { cursor:pointer; padding:14px 0; min-height:48px; font-size:13px; font-weight:600; }
.setup-optional .stack { padding-bottom:16px; }
@media(max-width:880px) {
  .setup-dialog .modal-header { padding:20px; }
  .setup-dialog .modal-body { padding:20px; max-height:68dvh; }
}
@media(prefers-reduced-transparency:reduce) { .setup-dialog::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; } }

/* Exercise demonstrations: motion starts only on an explicit tap. */
.movement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.movement-card{display:flex;flex-direction:column;gap:14px}.movement-card h2{font-size:18px}.movement-card form{margin-top:auto}.movement-card .btn{width:100%}.movement-demo{margin:12px 0;display:flex;flex-direction:column;align-items:center;gap:10px}.movement-player{display:flex;flex-direction:column;align-items:center;gap:12px}.movement-player img{width:180px;height:180px;border-radius:18px;background:#fff;object-fit:contain}.movement-demo figcaption{display:flex;flex-direction:column;text-align:center;gap:4px;font-size:13px}.movement-demo figcaption small{color:var(--text-muted,#59697a)}.movement-details{margin:14px 0;border:1px solid var(--border,#dce5ee);border-radius:18px;padding:0 16px}.movement-details summary{padding:14px 0;font-weight:600;cursor:pointer;min-height:44px}.movement-thumb{flex:none;border-radius:10px;object-fit:contain;background:white}.workout-preview li{display:flex;align-items:center;gap:10px}.media-credit{display:block;font-size:11px;line-height:1.5;margin:8px 0 16px}.library-search{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.library-search .field{flex:1;min-width:180px}.library-search select{width:100%;min-height:48px;border:1px solid #dce5ee;border-radius:12px;background:#fff;padding:10px;font:inherit;color:inherit}.library-banner{display:flex;align-items:center;gap:15px;text-decoration:none;color:inherit;margin:20px 0}.library-banner>i{font-size:28px;color:#1676dd}.library-banner>span{flex:1}.library-banner small,.exercise-card-link small{display:block;color:#65768a;margin-top:4px}.personal-exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.exercise-card-link{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none}.exercise-card-link img{border-radius:16px;object-fit:contain;background:white;flex:none}.exercise-card-link .text-link{display:block;font-size:13px;margin-top:10px}.personal-exercise-card{padding:18px}.personal-exercise-card .media-credit{margin-bottom:0}.exercise-placeholder{width:90px;height:90px;display:grid;place-items:center;background:#eaf3fc;border-radius:16px;flex:none;color:#2580d8;font-size:32px}.exercise-demonstration .card-header{flex-wrap:wrap;gap:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0}
@media(max-width:600px){.movement-grid,.personal-exercise-grid{grid-template-columns:1fr}.library-search{display:block}.library-search .btn{width:100%;margin-top:10px}.exercise-demonstration .card-header .btn{width:100%}}

.library-filter summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;color:#246bad}.library-intro{margin-bottom:18px}.movement-card .movement-demo figcaption strong{display:none}@media(max-width:600px){.library-intro h1{font-size:29px}.library-intro p{font-size:14px}.library-search{padding:18px}.library-search .field{margin-bottom:0}.library-search .btn{margin-top:4px}.movement-card{padding:18px}.movement-grid{gap:14px}}
