/* Shared controls, not page-specific copies. Brand tokens come from theme.css. */
.section-switcher:is(.learning-choice,.learning-nav) {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px;
  width:100%; max-width:520px; margin:0 0 20px; padding:4px;
  border:1px solid var(--rugym-border); border-radius:18px; background:var(--rugym-surface);
}
.section-switcher:is(.learning-choice,.learning-nav) a {
  display:flex; align-items:center; justify-content:center; gap:8px;
  min-width:0; min-height:48px; padding:8px 10px; border:0; border-radius:14px;
  background:none; color:var(--rugym-muted); font-size:.875rem; font-weight:650;
  line-height:1.4; text-align:center; text-decoration:none; overflow-wrap:normal;
  transition:background-color .15s ease,color .15s ease;
}
.section-switcher:is(.learning-choice,.learning-nav) a > i { flex:0 0 18px; margin:0; font-size:1.0625rem; }
.section-switcher a > span { min-width:0; overflow-wrap:anywhere; }
.section-switcher:is(.learning-choice,.learning-nav) a:hover { background:var(--rugym-bg); color:var(--rugym-ink); }
.section-switcher:is(.learning-choice,.learning-nav) a.active { background:var(--rugym-primary-soft); color:var(--rugym-primary); }
.section-switcher a:focus-visible,.plan-range:focus-visible { outline:3px solid var(--rugym-primary); outline-offset:3px; }

.learning-plan-fields > .plan-range-field { align-content:start; gap:0; }
.plan-range-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:32px; }
.plan-range-heading > span { min-width:0; }
.plan-range-heading output { flex:none; color:var(--rugym-primary); font-size:1.25rem; font-weight:750; font-variant-numeric:tabular-nums; }
.plan-range { display:block; width:100%; height:44px; min-height:44px; margin:4px 0 0; padding:0; border:0; border-radius:8px; background:transparent; appearance:none; cursor:ew-resize; touch-action:pan-y; }
.plan-range::-webkit-slider-runnable-track { height:6px; border-radius:6px; background:var(--rugym-border); }
.plan-range::-moz-range-track { height:6px; border-radius:6px; background:var(--rugym-border); }
.plan-range::-webkit-slider-thumb { width:24px; height:24px; margin-top:-9px; border:3px solid var(--rugym-surface); border-radius:50%; background:var(--rugym-primary); appearance:none; box-shadow:0 0 0 1px var(--rugym-primary); }
.plan-range::-moz-range-thumb { width:24px; height:24px; border:3px solid var(--rugym-surface); border-radius:50%; background:var(--rugym-primary); box-sizing:border-box; box-shadow:0 0 0 1px var(--rugym-primary); }
.plan-range-scale { display:flex; justify-content:space-between; color:var(--rugym-muted); font-size:.8125rem; font-weight:500; font-variant-numeric:tabular-nums; }

/* Full project footer lives on public project pages; this is the quiet app variant. */
.app-project-footer { padding:16px 0 24px; color:var(--rugym-muted); }
.app-project-footer > .container-xl { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 24px; }
.app-project-footer span { color:var(--rugym-muted); }
.app-project-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px 20px; width:auto; }
.app-project-footer a { min-height:44px; color:var(--rugym-muted); font-size:.8125rem; font-weight:550; }
.app-project-footer a:hover { color:var(--rugym-primary); }
.app-project-footer a:focus-visible { outline:3px solid var(--rugym-primary); outline-offset:3px; }
.cookie-notice { position:fixed; z-index:1080; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); width:min(440px,calc(100% - 40px)); padding:20px; border:1px solid var(--rugym-border); border-radius:22px; background:var(--rugym-surface); color:var(--rugym-ink); box-shadow:0 8px 32px #21163120; }
.cookie-notice strong { display:block; font-size:1rem; font-weight:700; }
.cookie-notice p { margin:8px 0 0; font-size:.875rem; line-height:1.6; color:var(--rugym-muted); }
.cookie-notice a:not(.btn) { color:var(--rugym-primary); text-decoration:underline; text-underline-offset:3px; }
.cookie-notice form { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cookie-notice form > .btn { flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; min-height:44px; font-size:.875rem; }
.cookie-notice p.cookie-notice-error { color:var(--rugym-red); }
.cookie-notice :focus-visible { outline:3px solid var(--rugym-primary); outline-offset:3px; }
@media(max-width:991.98px) {
  .is-authenticated .app-project-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom)); }
  .is-authenticated:not(.player-body) .cookie-notice { bottom:calc(88px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 116px - env(safe-area-inset-bottom)); overflow-y:auto; }
}
@media(max-width:575.98px) {
  .app-project-footer > .container-xl { flex-direction:column; align-items:stretch; gap:4px; }
  .app-project-footer nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
  .cookie-notice { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); width:calc(100% - 28px); max-height:calc(100dvh - 28px); overflow-y:auto; padding:18px; }
}

@media(max-width:575.98px) {
  .learning-plan-fields:has(.plan-range-field) { grid-template-columns:minmax(0,1fr); gap:20px; }
  .plan-range-heading { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) { .section-switcher a { transition:none; } }
