/* Forma 50+ · hoja de estilos
   Fuentes alojadas en el propio sitio (sin llamadas a Google Fonts, mejor para RGPD y velocidad). */
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-hyperlegible-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("fonts/atkinson-hyperlegible-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url("fonts/bricolage-grotesque-latin-800-normal.woff2") format("woff2");font-weight:800;font-display:swap}

:root{
  --bg:#F2F4F0; --surface:#FFFFFF; --ink:#1C2622; --muted:#56635E; --line:#D6DDD8;
  --pesas:#2F55C8; --cardio:#C9432A; --estira:#3A754A; --salud:#7A4FA8;
  --tint-pesas:#E6ECFB; --tint-cardio:#FBE9E4; --tint-estira:#E4F0E6; --tint-salud:#EFE8F7;
  --warn-bg:#FFF4D6; --warn-ink:#6B4E00;
  --display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible",Verdana,"Segoe UI",system-ui,sans-serif;
  --r:14px;
  --accent:var(--pesas); --tint:var(--tint-pesas);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#121815; --surface:#1A221E; --ink:#E7EDE9; --muted:#A3B0AA; --line:#2D3833;
    --pesas:#8CA6F2; --cardio:#F08066; --estira:#7DC08C; --salud:#B993E0;
    --tint-pesas:#1C2440; --tint-cardio:#3A211B; --tint-estira:#19301F; --tint-salud:#2A1F38;
    --warn-bg:#3A3015; --warn-ink:#F2D98A;
    color-scheme:dark;
  }
}
.theme-pesas{--accent:var(--pesas);--tint:var(--tint-pesas)}
.theme-cardio{--accent:var(--cardio);--tint:var(--tint-cardio)}
.theme-estira{--accent:var(--estira);--tint:var(--tint-estira)}
.theme-salud{--accent:var(--salud);--tint:var(--tint-salud)}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;margin:0}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
a{color:inherit}
h1,h2,h3{font-family:var(--display);line-height:1.12;text-wrap:balance;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--pesas);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:20}
.skip:focus{left:16px}

.bar{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px}
.logo{font-family:var(--display);font-weight:800;font-size:1.35rem;text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--cardio)}
.mainnav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.mainnav a{text-decoration:none;font-size:.95rem;padding:8px 12px;border-radius:999px;color:var(--muted)}
.mainnav a:hover{color:var(--ink);background:var(--surface)}
.mainnav a[aria-current="page"]{color:var(--ink);background:var(--surface);font-weight:700}

main{padding-block:28px 64px}
.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:20px}
.crumbs a{color:var(--muted)}

.kicker{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.k-pesas{color:var(--pesas)} .k-cardio{color:var(--cardio)} .k-estira{color:var(--estira)} .k-salud{color:var(--salud)}

/* Portada */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;padding-block:8px 40px}
.hero h1{font-size:clamp(2.2rem,5vw,3.9rem);font-weight:800;letter-spacing:-.03em}
.hero h1 em{font-style:normal;color:var(--cardio)}
.hero .lead{font-size:1.2rem;color:var(--muted);max-width:36ch;margin-top:20px}
.week{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.week h2{font-size:.95rem;font-family:var(--body);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px}
.day{display:flex;flex-direction:column;gap:4px;text-align:center}
.day b{font-family:var(--display);font-size:1rem}
.chip{display:block;height:22px;border-radius:5px}
.chip.p{background:var(--pesas)} .chip.c{background:var(--cardio)} .chip.e{background:var(--estira)} .chip.x{border:1.5px dashed var(--line)}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:.88rem;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.sw-p{background:var(--pesas)} .sw-c{background:var(--cardio)} .sw-e{background:var(--estira)}
.week .note{font-size:.88rem;color:var(--muted);margin-top:12px}

.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.door{display:flex;flex-direction:column;gap:12px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;min-width:0;transition:transform .15s ease,border-color .15s ease}
.door:hover{transform:translateY(-3px)}
.d-pesas:hover{border-color:var(--pesas)} .d-cardio:hover{border-color:var(--cardio)} .d-estira:hover{border-color:var(--estira)}
.door h2{font-size:2rem;letter-spacing:-.02em}
.door p{color:var(--muted)}
.door .ladder{display:flex;gap:6px;margin-top:auto;padding-top:8px}
.door .ladder span{flex:1;font-size:.8rem;text-align:center;padding:6px 0;border-radius:6px;font-weight:700}
.d-pesas .ladder span{background:var(--tint-pesas);color:var(--pesas)}
.d-cardio .ladder span{background:var(--tint-cardio);color:var(--cardio)}
.d-estira .ladder span{background:var(--tint-estira);color:var(--estira)}
.go{font-weight:700}

.band{margin-top:16px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:var(--tint-salud);border-radius:var(--r);padding:24px;text-decoration:none}
.band h2{font-size:1.6rem}
.band p{color:var(--muted)}
.band .go{color:var(--salud);white-space:nowrap}

.how{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.how h3{font-size:1.15rem;margin-bottom:6px}
.how p{color:var(--muted);font-size:1rem}

/* Cabecera de sección */
.phead{display:grid;gap:12px;padding-bottom:24px;border-bottom:4px solid var(--accent)}
.phead .kicker{color:var(--accent)}
.phead h1{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.03em}
.phead p{color:var(--muted);max-width:62ch;font-size:1.1rem}

/* Lista de niveles en la página de sección */
.lvl-list{display:grid;gap:14px;margin-top:28px}
.lvl-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none}
.lvl-card:hover{border-color:var(--accent)}
.lvl-card .n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--surface);font-family:var(--display);font-weight:800;font-size:1.3rem}
.lvl-card h2{font-size:1.5rem}
.lvl-card h2 small{font-family:var(--body);font-weight:400;font-size:.95rem;color:var(--muted);margin-left:8px}
.lvl-card p{margin-top:4px}
.lvl-card b{color:var(--accent)}
.lvl-card .meta{color:var(--muted);font-size:.95rem;font-variant-numeric:tabular-nums}
.lvl-card .go{color:var(--accent);white-space:nowrap}

/* Página de nivel */
.levels{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.levels a{font-weight:700;text-decoration:none;border:2px solid var(--line);background:var(--surface);padding:12px 20px;border-radius:999px;display:flex;gap:10px;align-items:center;min-height:52px}
.levels .n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--line);font-size:.85rem;font-family:var(--display)}
.levels a[aria-current="page"]{border-color:var(--accent);background:var(--tint)}
.levels a[aria-current="page"] .n{background:var(--accent);color:var(--surface)}

.sheet{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.col{min-width:0}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fact{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-width:0}
.fact small{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.fact strong{font-family:var(--display);font-size:1.25rem;font-variant-numeric:tabular-nums}
.start{margin-top:16px;background:var(--tint);border-radius:10px;padding:14px 18px}
.start b{color:var(--accent)}
.routine{margin-top:24px}
.routine h2{font-size:1.5rem;margin-bottom:12px}
.exlist{list-style:none;margin:0;padding:0}
.ex{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:4px 14px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
.ex.has-thumb{grid-template-columns:2rem 104px minmax(0,1fr) auto;align-items:center}
.ex:last-child{border-bottom:1px solid var(--line)}
.ex .i{font-family:var(--display);font-weight:700;color:var(--accent);font-size:1.1rem;font-variant-numeric:tabular-nums}
.ex-txt{min-width:0;display:grid;gap:4px}
.ex h3{font-family:var(--body);font-size:1.08rem;font-weight:700}
.ex .dose{font-family:var(--display);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.ex p{color:var(--muted);font-size:1rem}
.thumb{display:block;width:104px;border-radius:10px;overflow:hidden;border:2px solid transparent;transition:border-color .15s ease,transform .15s ease;cursor:zoom-in}
.thumb img{display:block;width:100%;height:auto}
.thumb:hover{border-color:var(--accent);transform:scale(1.03)}
.exdlg{border:none;border-radius:16px;padding:20px;max-width:min(520px,calc(100vw - 32px));background:var(--surface);color:var(--ink)}
.exdlg::backdrop{background:rgba(18,24,21,.6)}
.exdlg img{width:100%;height:auto;border-radius:12px;display:block}
.exdlg h3{font-size:1.4rem;margin-top:14px}
.exdlg .d{font-family:var(--display);font-weight:700;color:var(--accent);margin-top:4px}
.exdlg .h{color:var(--muted);margin-top:6px}
.exdlg form{position:absolute;right:12px;top:10px}
.exdlg .x{font:inherit;font-size:1.6rem;line-height:1;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.exdlg{position:fixed}
.pdf-btn{display:flex;gap:14px;align-items:center;text-decoration:none;background:var(--accent);color:#fff;border-radius:var(--r);padding:16px 18px}
.pdf-btn svg{width:30px;height:30px;flex:none}
.pdf-btn b{display:block;font-size:1.02rem}
.pdf-btn small{display:block;opacity:.88;font-size:.85rem;line-height:1.35;margin-top:2px}
.pdf-btn:hover{filter:brightness(1.08)}
.side{display:grid;gap:16px;position:sticky;top:84px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.box h2{font-size:1.1rem;margin-bottom:10px}
.box ul{margin:0;padding-left:1.1em;display:grid;gap:6px;font-size:1rem}
.box.next{border-color:var(--accent)}
.box.next h2{color:var(--accent)}
.nextlvl{display:inline-block;margin-top:14px;font-weight:700;color:var(--accent)}
.rpe{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin:10px 0 6px}
.rpe span{height:14px;border-radius:3px;background:var(--line)}
.rpe span.on{background:var(--accent)}
.rpe-l{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}

.warn{margin-top:32px;background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;padding:14px 18px;font-size:.98rem}

/* Salud */
.targets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.target{border-left:4px solid var(--c);padding:6px 0 6px 16px}
.t-c{--c:var(--cardio)} .t-p{--c:var(--pesas)} .t-e{--c:var(--estira)}
.target strong{display:block;font-family:var(--display);font-size:1.7rem;font-variant-numeric:tabular-nums}
.target span{color:var(--muted);font-size:.98rem}
.tips{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.tip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;min-width:0}
.tip h2{font-size:1.3rem;margin-bottom:8px}
.tip p{color:var(--muted);font-size:1rem}
.tip ul{margin:10px 0 0;padding-left:1.1em;font-size:1rem;display:grid;gap:4px}
.stop{margin-top:16px;border:2px solid var(--cardio);border-radius:var(--r);padding:22px}
.stop h2{color:var(--cardio);font-size:1.3rem;margin-bottom:8px}
.stop ul{margin:0 0 10px;padding-left:1.1em;display:grid;gap:4px}
.stop p{color:var(--muted)}

/* Páginas legales */
.legal{max-width:68ch;display:grid;gap:14px}
.legal h1{font-size:2.2rem}
.legal h2{font-size:1.3rem;margin-top:12px}
.legal ul{margin:0;padding-left:1.1em}
.tpl{background:var(--warn-bg);color:var(--warn-ink);padding:10px 14px;border-radius:8px;font-size:.95rem}

footer{border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:.9rem}
footer .wrap{display:grid;gap:8px}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:28px}
  .doors,.how,.tips,.targets{grid-template-columns:1fr}
  .band{grid-template-columns:1fr;gap:10px}
  .sheet{grid-template-columns:1fr}
  .side{position:static}
  .lvl-card{grid-template-columns:auto minmax(0,1fr)}
  .lvl-card .go{grid-column:2}
}
@media (max-width:520px){
  body{font-size:17px}
  .facts{grid-template-columns:1fr 1fr}
  .ex{grid-template-columns:1.8rem minmax(0,1fr)}
  .ex .dose{grid-column:2;text-align:left;white-space:normal}
  .ex.has-thumb{grid-template-columns:76px minmax(0,1fr);align-items:start}
  .ex.has-thumb .i{display:none}
  .ex.has-thumb .thumb{width:76px;grid-row:span 2}
  .ex.has-thumb .dose{grid-column:2}
  .bar nav{margin-left:0;width:100%}
  .mainnav a{padding:6px 10px}
  .levels a{flex:1;justify-content:center;padding:10px 12px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Artículos */
.c-prevenir{--accent:var(--pesas);--tint:var(--tint-pesas)}
.c-recuperar{--accent:var(--cardio);--tint:var(--tint-cardio)}
.c-salud{--accent:var(--estira);--tint:var(--tint-estira)}
.home-arts{margin-top:48px}
.home-arts-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.home-arts-head h2{font-size:1.8rem;letter-spacing:-.02em}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.art-card{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:20px;text-decoration:none;min-width:0}
.art-card:hover{border-color:var(--accent)}
.art-card .kicker{color:var(--accent);font-size:.78rem}
.art-card h3{font-size:1.2rem}
.art-card p{color:var(--muted);font-size:.95rem}
.art-card .mins{margin-top:auto;font-size:.85rem;color:var(--muted)}
.cat-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.cat-nav a{text-decoration:none;font-weight:700;padding:10px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.art-sec{margin-top:40px}
.art-sec h2{font-size:1.7rem}
.art-sec .sub{color:var(--muted);margin:4px 0 16px}

.post-head{display:grid;gap:12px;max-width:820px;padding-bottom:24px;border-bottom:4px solid var(--accent)}
.post-head .kicker{color:var(--accent)}
.post-head h1{font-size:clamp(2rem,4.2vw,3rem);letter-spacing:-.025em}
.post-head .lead{font-size:1.2rem;color:var(--ink)}
.post-head .meta{color:var(--muted);font-size:.92rem}
.post-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;margin-top:28px;align-items:start}
.post-body{max-width:68ch;display:grid;gap:16px}
.post-body h2{font-size:1.45rem;margin-top:16px;scroll-margin-top:90px}
.post-body ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.post-body .warn{margin-top:4px}
.sources{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.sources h2{font-size:1.1rem;margin:0 0 8px}
.sources ul{font-size:.92rem}
.sources a{color:var(--muted);word-break:break-word}
.disclaimer{font-size:.9rem;color:var(--muted);font-style:italic}
.post-side{display:grid;gap:16px;position:sticky;top:84px}
.toc,.rel{margin:0;padding-left:1.2em;display:grid;gap:6px;font-size:.95rem}
.toc a,.rel a{color:var(--ink)}
@media (max-width:860px){
  .art-grid{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .post-side{position:static;order:-1}
  .post-side .box:last-child{display:none}
}
@media (min-width:861px) and (max-width:1000px){.art-grid{grid-template-columns:repeat(2,1fr)}}

/* Selector de idioma */
.lang{position:relative}
.lang summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:700;font-size:.92rem}
.lang summary::-webkit-details-marker{display:none}
.lang summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);margin-left:2px}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:160px;z-index:30}
.lang li a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;text-decoration:none}
.lang li a:hover{background:var(--bg)}
.lang li a[aria-current="true"]{font-weight:700}
.flag{width:24px;height:16px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
@media (max-width:520px){
  .bar .wrap{row-gap:8px}
  .lang{order:2;margin-left:auto}
  .mainnav{order:3;margin-left:0;width:100%}
  .lang summary{padding:5px 10px}
}

/* =====================================================================
   Capa "Apple design" (skill apple-design de Emil Kowalski)
   Respuesta inmediata al pulsar · cabecera translúcida con efecto de borde
   al hacer scroll · profundidad con sombras en lugar de bordes sólidos ·
   tipografía con tracking según tamaño · accesibilidad de movimiento,
   transparencia y contraste.
   ===================================================================== */
:root{
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-sheet:cubic-bezier(.32,.72,0,1);
  --bar-bg:rgba(242,244,240,.72);
  --edge:rgba(28,38,34,.08);
  --shadow-sm:0 0 0 1px rgba(28,38,34,.07),0 1px 2px rgba(28,38,34,.05);
  --shadow-md:0 0 0 1px rgba(28,38,34,.06),0 2px 4px rgba(28,38,34,.04),0 8px 24px rgba(28,38,34,.06);
  --shadow-lg:0 0 0 1px rgba(28,38,34,.06),0 12px 32px rgba(28,38,34,.12),0 32px 64px rgba(28,38,34,.10);
}
@media (prefers-color-scheme: dark){
  :root{
    --bar-bg:rgba(18,24,21,.68);
    --edge:rgba(0,0,0,.35);
    --shadow-sm:0 0 0 1px rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.3);
    --shadow-md:0 0 0 1px rgba(255,255,255,.07),0 2px 4px rgba(0,0,0,.25),0 8px 24px rgba(0,0,0,.3);
    --shadow-lg:0 0 0 1px rgba(255,255,255,.08),0 12px 32px rgba(0,0,0,.45),0 32px 64px rgba(0,0,0,.4);
  }
}

/* Cabecera: material translúcido; el contenido pasa por debajo */
.bar{background:var(--bar-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:none}
.bar::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;pointer-events:none;
  background:linear-gradient(var(--edge),transparent);opacity:0;transition:opacity .2s var(--ease-out)}
.bar.scrolled::after{opacity:1}
.mainnav a{font-weight:500;letter-spacing:-.005em}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.bar{background:var(--bg)}}

/* Profundidad: sombras semitransparentes en lugar de bordes sólidos */
.door,.lvl-card,.art-card,.tip,.fact,.box,.week{border-color:transparent;box-shadow:var(--shadow-sm)}
.box.next{box-shadow:0 0 0 1.5px var(--accent)}
.art-card{border-top:4px solid var(--accent)}
.door,.lvl-card,.art-card{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}
@media (hover:hover){
  .door:hover,.lvl-card:hover,.art-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
  .lvl-card:hover,.d-pesas:hover,.d-cardio:hover,.d-estira:hover{border-color:transparent}
}

/* Respuesta: feedback al presionar, inmediato */
.door,.lvl-card,.art-card,.pdf-btn,.thumb,.levels a,.cat-nav a,.lang summary,.mainnav a,.nextlvl,.exdlg .x{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.door:active,.lvl-card:active,.art-card:active{transform:scale(.985);transition-duration:.1s}
.pdf-btn,.levels a,.cat-nav a,.lang summary,.mainnav a,.exdlg .x{transition:transform .1s var(--ease-out),background-color .2s var(--ease-out),border-color .2s var(--ease-out)}
.pdf-btn:active,.levels a:active,.cat-nav a:active,.lang summary:active,.mainnav a:active,.exdlg .x:active{transform:scale(.97)}
.thumb{transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.thumb:active{transform:scale(.96)}
@media (hover:hover){.thumb:hover{border-color:transparent;transform:scale(1.04);box-shadow:var(--shadow-md)}}
.pdf-btn{box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}

/* Menú de idioma: superficie sólida (nunca translúcida sobre translúcida), anclada a su botón */
.lang ul{transform-origin:top right;box-shadow:var(--shadow-lg);border-color:transparent}

/* Vista ampliada del ejercicio: hoja con escrim que oscurece para enfocar */
.exdlg{box-shadow:var(--shadow-lg);will-change:transform}
.exdlg::backdrop{background:rgba(12,16,14,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.exdlg .grab{display:none;width:40px;height:5px;border-radius:3px;background:var(--line);margin:-6px auto 12px}
@media (pointer:coarse){.exdlg .grab{display:block}}

/* Tipografía: tracking según tamaño, interlineado inverso al tamaño */
.hero h1{line-height:1.04;letter-spacing:-.035em}
.phead h1,.post-head h1{line-height:1.06;letter-spacing:-.03em}
.door h2,.home-arts-head h2,.art-sec h2{letter-spacing:-.022em}
.routine h2,.post-body h2,.tip h2,.lvl-card h2{letter-spacing:-.012em;line-height:1.2}
.art-card h3,.ex h3{letter-spacing:-.005em}
.kicker,.fact small,.week h2{letter-spacing:.09em}
.post-body p,.post-body li{line-height:1.7}
html{font-size:100%}

/* Accesibilidad */
@media (prefers-reduced-transparency:reduce){
  .bar{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .exdlg::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(12,16,14,.7)}
}
@media (prefers-contrast:more){
  .bar{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--ink)}
  .door,.lvl-card,.art-card,.tip,.fact,.box,.week{box-shadow:0 0 0 1.5px var(--ink)}
}
@media (prefers-reduced-motion:reduce){
  .door:hover,.lvl-card:hover,.art-card:hover,.thumb:hover{transform:none}
  .door:active,.lvl-card:active,.art-card:active,.thumb:active,.pdf-btn:active,.levels a:active{transform:none}
}
