:root{--paper:#f5eddf;--ink:#172f42;--green:#184b3c;--olive:#56713e;--line:#d7cebd;--card:#fffaf1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,sans-serif}header,main,footer{max-width:1200px;margin:auto;padding:20px clamp(16px,5vw,64px)}header,nav,.bar,.brand,footer{display:flex;align-items:center;gap:18px}header,footer,.bar{justify-content:space-between}.brand{text-decoration:none;font:bold 25px Georgia;gap:10px}.brand small,.ey{display:block;font:bold 11px/1.5 system-ui;letter-spacing:.14em;text-transform:uppercase}.logo{display:grid;display:block;text-align:center;background:var(--green);color:#fff;border-radius:12px;padding:5px 10px;font:italic 34px Georgia;letter-spacing:-6px;padding-right:15px}.logo span{color:#cfddac}nav{gap:4px}a{color:inherit}nav a,.btn,button,select{font:600 16px/1.4 system-ui;text-decoration:none;border-radius:9px;padding:11px 16px}nav a[aria-current]{background:#e3e5d4;color:var(--green)}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #a26d15;outline-offset:3px}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;background:white;z-index:4}.hero{background:var(--green);color:#fff8e9;border-radius:22px;padding:clamp(24px,4vw,52px);position:relative;overflow:hidden;isolation:isolate}.hero>div:first-child{max-width:67%}.art{position:absolute;right:-2%;bottom:-12%;width:40%;height:125%;z-index:-1}.hero .ey{color:#d6e6aa}.ey{color:var(--olive)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.12}h1{font-size:clamp(36px,5vw,65px);letter-spacing:-.045em;margin:10px 0 14px}h2{font-size:clamp(27px,3vw,39px);letter-spacing:-.035em}h3{font-size:24px}.hero p{max-width:540px}.btn,button{display:inline-block;background:var(--green);border:0;color:white;cursor:pointer}.hero .btn{background:#dce8b6;color:#193a2e;margin-top:20px}.bar,.section{margin:28px 0 14px}.bar{gap:12px;flex-wrap:wrap}.box,.phase,.lesson,details{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px}.phase,.lesson{text-decoration:none;display:block}.phase:hover,.lesson:hover{border-color:var(--olive);background:#fffff7}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.phase strong{display:block;font:normal 24px Georgia;margin:12px 0 6px}.phase small,.meta{color:#49584b;font-size:15px}.progress{margin-top:16px}.progress progress{width:100%;height:12px;accent-color:var(--olive)}.chips,.actions,.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chip{padding:4px 10px;border-radius:30px;background:#e7ead9;color:#294b35;font-size:14px}.lessons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:12px}.lesson h3{margin:10px 0}.lesson small{color:var(--olive);font-weight:700}.back{display:inline-block;margin-bottom:15px}.filters{margin:18px 0}.filters label{flex:1;min-width:145px;font-size:15px;font-weight:650}select{display:block;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--line)}.sub{color:#4b594e;margin:8px 0}.actions{margin-top:18px}.actions a{font-weight:650}.player{width:100%;max-height:68vh;aspect-ratio:16/9;background:#14283b;border-radius:15px;display:block;margin:18px 0}.dayrow{display:flex;gap:14px;align-items:center;padding:12px 0;text-decoration:none;border-top:1px solid var(--line)}.dayrow span:last-child{margin-left:auto}.dayrow:hover{text-decoration:underline}.badge{display:inline-grid;place-items:center;min-width:40px;height:40px;border-radius:50%;background:#e7ead9;color:var(--green);font-weight:700}summary{cursor:pointer;font-weight:bold;padding:5px}details{margin:12px 0}footer{margin-top:25px;border-top:1px solid var(--line);font-size:14px;color:#49584b}.route-title{margin-top:18px}button.secondary{background:#e5e8da;color:var(--green)}@media(max-width:820px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){header{align-items:flex-start;flex-direction:column;gap:10px}nav{width:100%;justify-content:space-between}main{padding-top:8px}.hero>div:first-child{max-width:100%}.hero .art{opacity:.18;width:65%}.grid{grid-template-columns:1fr 1fr}.phase{padding:13px}.phase strong{font-size:21px}footer{align-items:start;flex-direction:column;gap:3px}}
.at-home header nav{display:none}.at-home header{padding-bottom:10px}.at-home main{padding-top:5px}.today{max-width:940px;margin:auto}.today h1{font-size:clamp(29px,4.3vw,49px);margin:3px 0 12px}.day-label{color:var(--green);font-size:clamp(19px,2.3vw,25px);font-weight:730}.watch{position:relative;background:#172f42;border-radius:16px;overflow:hidden;margin:12px 0}.watch .player{margin:0;max-height:65vh}.play-large{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fffaf1;color:#173f34;border:3px solid #174b39;border-radius:999px;box-shadow:0 3px 20px #0005;padding:13px 23px;white-space:nowrap;font-size:clamp(18px,2.5vw,26px)}.play-large span{padding-right:4px}.play-large[hidden]{display:none}.finish,.more a{font-size:19px;padding:13px 18px}.more{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.more a{background:#fffaf1;border-radius:10px;color:var(--green);font-weight:600}.play-status:not(:empty){margin:12px 0}.at-home footer{margin-top:10px}@media(max-width:560px){.at-home header{padding-top:12px}.today .finish{width:100%}.more a{padding:11px}.more{margin-top:14px}}
.prep{font-size:clamp(18px,2vw,22px);color:#244535;margin:8px 0}.celebrate{max-width:700px;margin:20px auto;background:#fffaf1;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,6vw,64px)}.celebrate p{font-size:22px;margin:15px 0 24px}.checkmark{background:#dce8b6;color:#184b3c;display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;font:bold 34px system-ui}.celebrate .btn{font-size:20px}
.watch .play-large{top:auto;bottom:13%;transform:translateX(-50%)}

/* Escala de lectura para las clases, el plan y la biblioteca. */
body { font-size: 1.375rem; line-height: 1.55; }
.brand { font-size: 1.875rem; }
.brand small, .ey { font-size: 1.0625rem; letter-spacing: .045em; }
h1 { font-size: clamp(2.5rem, 5.6vw, 4.5rem); letter-spacing: -.025em; }
.today h1 { font-size: clamp(2.375rem, 4.8vw, 3.75rem); line-height: 1.15; }
h2 { font-size: clamp(2rem, 3.5vw, 2.875rem); }
h3, .phase strong { font-size: 1.875rem; }
.day-label, .prep, .celebrate p { font-size: clamp(1.4375rem, 2.4vw, 1.75rem); }
small, .phase small, .meta, .chip, footer, .filters label { font-size: 1.1875rem; }
nav a, .btn, button, select, .finish, .more a, .celebrate .btn { font-size: 1.375rem; }
.watch .play-large { font-size: clamp(1.5rem, 3vw, 2rem); max-width: 96%; white-space: normal; line-height: 1.2; }
nav { flex-wrap: wrap; }
.filters label { min-width: min(100%, 210px); }
.dayrow > span { min-width: 0; overflow-wrap: break-word; }
@media (max-width: 560px) {
  nav a { padding: .5em .35em; }
  .watch .play-large { width: max-content; padding: .5em .7em; }
  .more a { width: 100%; text-align: center; }
  .filters label { flex-basis: 100%; }
  .dayrow { gap: 8px; }
}
