/* ---- Repaso: paso Planifica hoy ---- */
.pl-hoy{background:var(--olive-bg);border-color:transparent}
/* 2.7.11: el anclaje del repaso lo hace rwAnclaAplica; el del navegador (donde lo hay) se apaga para no sumar los dos */
#view-repaso{overflow-anchor:none}
.pl-hoyh{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--olive-ink);padding:6px 0 4px}
.pl-recoh{font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--amber);padding:6px 0 4px;display:flex;align-items:center;gap:7px}
.pl-recoh .glyph{font-size:15px}
.pl-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--border-soft)}
.pl-row:last-child{border-bottom:none}
.pl-row.tap{cursor:pointer}
/* 2.7.1: el título baja de línea en vez de cortarse con «…»; en el móvil no se podía leer entero */
.pl-t{flex:1;min-width:0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.pl-dot{width:9px;height:9px;border-radius:999px;flex:0 0 auto}
.pl-date{font-size:11.5px;color:var(--faint);white-space:nowrap}
.pl-rm{border:none;background:none;color:var(--faint);cursor:pointer;padding:4px}
.pl-rm .glyph{font-size:13px}
.pl-empty{color:var(--faint);font-size:13px;padding:8px 0}
.pl-sec{font-family:var(--font-head);font-weight:700;font-size:12px;color:var(--faint);margin:4px 2px 7px;text-transform:uppercase;letter-spacing:.04em}
.pl-pk{flex:0 0 auto;width:23px;height:23px;border-radius:999px;border:2px solid var(--border);display:grid;place-items:center;color:transparent}
.pl-pk .glyph{font-size:12px;stroke-width:3}
.pl-pk.on{background:var(--olive);border-color:var(--olive);color:#fff}
.pl-obj{display:flex;align-items:center;gap:11px;padding:11px 0;cursor:pointer;border-bottom:1px solid var(--border-soft)}
.pl-objn{flex:1;font-family:var(--font-head);font-weight:700;font-size:14px}
.pl-chev{color:var(--faint);transition:.2s;display:inline-flex}
.pl-chev .glyph{font-size:15px}
.pl-obj.open .pl-chev{transform:rotate(90deg)}
.pl-obj.open{border-bottom:none}
.pl-hito{padding-left:20px}
.pl-hic{color:var(--olive);font-size:13px;flex:0 0 auto}
/* 2.5.7: en «Planifica hoy» solo elige el círculo (y su margen de 10 px), no la fila entera */
.pl-obj .pl-pk,.pl-row .pl-pk{cursor:pointer}
.pl-cnt{font-size:12px;color:var(--faint)}
.rev-card>.pl-obj:last-child{border-bottom:none}

/* ---- 2.8.17: resumen de la semana, «Lo que viene», foco y «Tus semanas» ----
   El resumen va a pantalla completa en el móvil y como tarjeta de historia en el ordenador. */
.wr-dos{display:flex;gap:8px;margin-top:13px}
.wr-dos .btn{flex:1}
/* SOLO PARA DESARROLLO (9-oct-2026): «Empezar de cero» del semanal, discreto, debajo de los dos botones */
.wr-cero{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:10px;padding:6px;border:0;background:transparent;font:600 12.5px var(--font-body);color:var(--muted);cursor:pointer}
.wr-cero .glyph{font-size:13px}
.wr-cero:hover{color:var(--text)}
/* ---- el resumen (2.8.26): pantallas tipo historias que avanzan solas ----
   A pantalla completa en el móvil y como tarjeta en el ordenador. Tres fondos: el normal, oliva
   (tareas) y carbón (portada, también en el tema oscuro). Las tintas de cada fondo van en variables
   (--ink, --acc…) para que el mismo HTML sirva en los tres. --d es el retardo de entrada de cada cosa. */
html.wr-abierto{overflow:hidden}
.wr-ov{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;align-items:center;justify-content:center;animation:wr-fade .25s ease both}
@keyframes wr-fade{from{opacity:0}}
.wr-box{position:relative;width:100%;height:100%;display:flex;flex-direction:column;padding:calc(12px + env(safe-area-inset-top)) 24px calc(26px + env(safe-area-inset-bottom));overflow:hidden;background:var(--bg);
  --ink:var(--text);--ink2:var(--muted);--ink3:var(--faint);--acc:var(--olive);--acc2:var(--olive-ink);--trk:var(--surface-3);--card:var(--surface);--cardb:var(--border);--on-acc:#fff}
:root[data-theme="dark"] .wr-box{--on-acc:#17191A}
/* el fondo de la pantalla anterior queda en la caja; el nuevo entra en la cortina */
.wr-box.oliva,.wr-wipe.oliva{background:var(--olive)}
.wr-box.carbon,.wr-wipe.carbon{background:#17191A}
.wr-box.es-oliva{--ink:#FBF8F1;--ink2:rgba(251,248,241,.8);--ink3:rgba(251,248,241,.62);--acc:#FBF8F1;--acc2:rgba(23,25,26,.55);--trk:rgba(251,248,241,.24);--card:rgba(251,248,241,.13);--cardb:rgba(251,248,241,.22);--on-acc:var(--olive)}
:root[data-theme="dark"] .wr-box.es-oliva{--ink:#17191A;--ink2:rgba(23,25,26,.8);--ink3:rgba(23,25,26,.62);--acc:#17191A;--acc2:rgba(23,25,26,.5);--trk:rgba(23,25,26,.2);--card:rgba(23,25,26,.1);--cardb:rgba(23,25,26,.2);--on-acc:var(--olive)}
.wr-box.es-carbon{--ink:#F1EFEA;--ink2:rgba(241,239,234,.78);--ink3:rgba(241,239,234,.55);--acc:#9DBE86;--acc2:#C9DEBA;--trk:rgba(241,239,234,.14);--card:rgba(241,239,234,.08);--cardb:rgba(241,239,234,.16);--on-acc:#17191A}
.wr-wipe{position:absolute;inset:0;z-index:0;background:var(--bg);border-radius:inherit;animation:wr-wipe .42s cubic-bezier(.7,0,.2,1) both}
.wr-wipe.quieta{animation:none}
@keyframes wr-wipe{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
/* las barras de tiempo */
.wr-bars{display:flex;gap:4px;position:relative;z-index:3}
.wr-bars span{flex:1;height:3px;border-radius:2px;background:var(--trk);position:relative;overflow:hidden}
.wr-bars span.on{background:var(--acc)}
.wr-bars span i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--acc);animation:wr-fill linear both}
.wr-bars span i.full{width:100%;animation:none}
@keyframes wr-fill{from{width:0}to{width:100%}}
.wr-box.pausa .wr-bars span i,.wr-box.pausa .wr-c *,.wr-box.pausa .wr-forma{animation-play-state:paused}
.wr-top{display:flex;justify-content:space-between;align-items:center;margin-top:10px;position:relative;z-index:3}
.wr-k0{font:700 12px var(--font-head);letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}
.wr-x{border:none;background:none;color:var(--ink2);padding:6px;margin-right:-6px;cursor:pointer;display:grid;place-items:center}
.wr-x .glyph{font-size:18px}
.wr-tap{position:absolute;top:64px;bottom:0;z-index:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.wr-prev{left:0;width:30%}
.wr-next{right:0;width:70%}
.wr-slide{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;pointer-events:none;padding:10px 2px 0}
.wr-slide button{pointer-events:auto}
.wr-pausa{position:absolute;top:calc(42px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);font:700 11px var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);opacity:0;pointer-events:none;z-index:4;transition:opacity .2s}
.wr-box.pausa .wr-pausa{opacity:1}
.wr-hint{position:absolute;bottom:calc(12px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font:600 12px var(--font-body);color:var(--ink3);z-index:3;animation:wr-up .5s 1.4s both;pointer-events:none}
.wr-arr{display:none}
/* las formas de fondo (agenda y foco) */
.wr-forma{position:absolute;z-index:1;pointer-events:none}
.wr-franja{left:0;right:0;top:112px;height:150px;background:var(--acc);opacity:.18;transform-origin:left;animation:wr-franja .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes wr-franja{from{transform:scaleX(0)}to{transform:none}}
.wr-circulo{left:-80px;top:120px;width:300px;height:300px;border-radius:50%;background:var(--acc);opacity:.14;animation:wr-sol 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes wr-sol{from{transform:translateY(160px)}to{transform:none}}
@media(min-width:700px){
  .wr-ov{background:rgba(23,25,26,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .wr-box{width:420px;height:min(800px,calc(100vh - 48px));border-radius:28px;border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:16px 30px 30px}
  .wr-arr{display:grid;place-items:center;width:46px;height:46px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;margin:0 18px;box-shadow:var(--shadow)}
  .wr-arr:disabled{opacity:0;pointer-events:none}
  .wr-arr .glyph{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.wr-ov *,.wr-ov *::after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ---- los movimientos ---- */
@keyframes wr-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes wr-word{from{opacity:0;transform:translateY(.55em)}to{opacity:1;transform:none}}
@keyframes wr-pop{0%{transform:scale(1);opacity:1}40%{transform:scale(1.07);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes wr-grow{from{transform:scaleY(0)}to{transform:none}}
@keyframes wr-growx{from{transform:scaleX(0)}to{transform:none}}
@keyframes wr-chip{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes wr-spring{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}
@keyframes wr-stamp{0%{opacity:0;transform:scale(1.9) rotate(-14deg)}65%{opacity:1;transform:scale(.9) rotate(2deg)}100%{opacity:1;transform:none}}
@keyframes wr-ring{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--off)}}
@keyframes wr-ring2{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--off2)}}
@keyframes wr-seg{from{stroke-dasharray:0 var(--c)}to{stroke-dasharray:var(--len) var(--c)}}
@keyframes wr-flip{from{opacity:0;transform:perspective(900px) rotateY(-80deg) translateX(-12px)}to{opacity:1;transform:none}}
@keyframes wr-shine{from{transform:translateX(-160%) skewX(-18deg)}to{transform:translateX(420%) skewX(-18deg)}}
@keyframes wr-strike{to{transform:scaleX(1)}}
@keyframes wr-fade-ink{to{color:var(--ink3);font-weight:500}}
@keyframes wr-fillp{to{background:var(--acc)}}
/* anillos */
.wr-ring{display:block}
.wr-ring .tr{fill:none;stroke:var(--trk)}
.wr-ring .pr{fill:none;stroke:var(--acc);stroke-linecap:round;animation:wr-ring var(--dur) cubic-bezier(.25,.9,.25,1) var(--d) both}
.wr-ring .pr2{fill:none;stroke:var(--acc2);stroke-linecap:round;animation:wr-ring2 1s cubic-bezier(.25,.9,.25,1) var(--d2) both}
.wr-ring .sg{fill:none;animation:wr-seg .85s cubic-bezier(.25,.9,.25,1) var(--d) both}
.wr-aro{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}
.wr-aro>*{grid-area:1/1}

/* ---- el contenido de cada pantalla ---- */
.wr-c{position:relative}
.wr-c>*{animation:wr-up .5s cubic-bezier(.2,.8,.2,1) var(--d,0s) both}
.wr-c .w{display:inline-block;animation:wr-word .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d,0s) + var(--i,0)*55ms)}
.wr-c .w.acc{color:var(--acc)}
.wr-k{font:700 12.5px var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.wr-box.es-oliva .wr-k{color:var(--ink2)}
.wr-linea{height:2px;width:100%;background:var(--acc);transform-origin:left;animation:wr-growx .9s cubic-bezier(.2,.8,.2,1) var(--d) both;margin:4px 0 18px}
.wr-date{font:700 clamp(60px,18vw,78px)/.92 var(--font-head);letter-spacing:-.05em;color:var(--ink)}
.wr-n{font:700 clamp(118px,34vw,156px)/.86 var(--font-head);letter-spacing:-.06em;color:var(--acc);font-variant-numeric:tabular-nums;--d:.3s;transform-origin:left bottom}
.wr-n.pop{animation:wr-pop .34s cubic-bezier(.2,.8,.2,1) both}
.wr-big{font:700 clamp(52px,16vw,66px)/.95 var(--font-head);letter-spacing:-.04em;color:var(--acc)}
.wr-h{font:700 27px/1.15 var(--font-head);letter-spacing:-.02em;color:var(--ink);margin-top:16px}
.wr-h-xl{font-size:34px;line-height:1.08;margin-top:0}
.wr-s{font-size:15.5px;line-height:1.45;color:var(--ink2);margin-top:10px}
.wr-s b{color:var(--ink)}
/* columnas: semanas o días. Suben con rebote, una detrás de otra */
.wr-cols{display:flex;align-items:flex-end;gap:10px;margin-top:30px}
.wr-days{gap:7px}
.wr-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.wr-col b{font:700 13px var(--font-head);color:var(--ink3);margin-bottom:6px;min-height:16px;animation:wr-up .4s cubic-bezier(.2,.8,.2,1) calc(var(--d) + .3s) both}
.wr-col i{display:block;width:100%;border-radius:8px 8px 4px 4px;background:var(--trk);transform-origin:bottom;animation:wr-grow .62s cubic-bezier(.2,.9,.3,1.25) var(--d) both}
.wr-col.on i{background:var(--acc);animation-timing-function:cubic-bezier(.2,.9,.3,1.4)}
.wr-col.on b,.wr-col.on small{color:var(--acc);font-weight:700}
.wr-col small{font-size:11px;color:var(--ink3);margin-top:7px;white-space:nowrap}
/* proyectos: la rueda y su leyenda */
.wr-donut{display:grid;place-items:center;margin:0 auto 14px}
.wr-donut>*{grid-area:1/1}
.wr-centro{text-align:center}
.wr-centro .pn{font:700 21px/1.1 var(--font-head);letter-spacing:-.02em;max-width:124px;overflow-wrap:anywhere;color:var(--ink)}
.wr-centro .l{font:600 12.5px var(--font-body);color:var(--ink2);margin-top:6px;letter-spacing:.04em}
.wr-leg{margin-top:18px;display:flex;flex-direction:column;gap:9px}
.wr-leg div{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);animation:wr-spring .5s cubic-bezier(.34,1.45,.64,1) var(--d) both}
.wr-leg span:not(.pl-dot){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-leg b{font-family:var(--font-head)}
/* objetivos: anillos concéntricos y leyenda al lado (debajo, en pantallas estrechas) */
.wr-conc{display:flex;align-items:center;gap:16px}
.wr-aros{position:relative;width:230px;height:230px;display:grid;place-items:center;flex:0 0 auto}
.wr-aros>span{grid-area:1/1;display:grid;place-items:center}
.wr-ck{grid-area:1/1;align-self:start;justify-self:center;margin-top:-5px;width:26px;height:26px;border-radius:50%;background:var(--acc);color:var(--on-acc);display:grid;place-items:center}
.wr-ck i{display:grid;place-items:center;animation:wr-stamp .5s cubic-bezier(.2,.8,.2,1) var(--d) both}
.wr-ck .glyph{font-size:14px;stroke-width:3}
.wr-cleg{flex:1;min-width:0;display:flex;flex-direction:column;gap:9px}
.wr-cleg div{display:flex;flex-direction:column;gap:2px;font-size:12.5px;animation:wr-up .45s var(--d) both}
.wr-cleg i{width:28px;height:5px;border-radius:3px;background:var(--acc)}
.wr-cleg span{font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink)}
.wr-cleg b{font:700 12px var(--font-head);color:var(--acc)}
@media(max-width:420px){.wr-conc{flex-direction:column;align-items:flex-start}.wr-aros{width:200px;height:200px;align-self:center}.wr-cleg{flex-direction:row;flex-wrap:wrap;gap:8px 14px}.wr-cleg div{flex:0 0 calc(50% - 7px)}}
/* agenda: la semana en rejilla, con cada cita a su hora (.wr-week es la lista «Tus semanas» de la portada) */
.wr-rejilla{display:flex;gap:6px;margin-top:22px;height:200px}
.wr-rejilla .wr-wcol{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.wr-rejilla .wr-wcol small{font:700 11px var(--font-head);color:var(--ink3);text-align:center}
.wr-rejilla .wr-wday{flex:1;position:relative;border-radius:8px;background:var(--card);border:1px solid var(--cardb)}
.wr-rejilla .wr-wday i{position:absolute;left:3px;right:3px;border-radius:4px;background:var(--acc);transform-origin:top;animation:wr-grow .45s cubic-bezier(.2,.8,.2,1) var(--d) both}
.wr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.wr-chips span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:99px;background:var(--card);border:1px solid var(--cardb);font-size:13.5px;font-weight:600;color:var(--ink);animation:wr-chip .5s cubic-bezier(.34,1.5,.64,1) var(--d) both}
.wr-chips .glyph{font-size:15px;color:var(--acc)}
.wr-chips b{font-family:var(--font-head);color:var(--acc)}
/* notas: la lista de verdad; las procesadas se tachan una a una y su punto se rellena */
.wr-notas{margin-top:16px;display:flex;flex-direction:column}
.wr-nota{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:13.5px;line-height:1.3;color:var(--ink);min-width:0;animation:wr-up .35s cubic-bezier(.2,.8,.2,1) var(--d) both}
.wr-nota .pt{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--acc);flex:0 0 auto}
.wr-nota.done .pt{animation:wr-fillp .25s var(--d2) forwards}
.wr-nota .t{position:relative;display:inline-block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.wr-nota.mas .t{color:var(--ink3);font-weight:500}
.wr-nota .strk{position:absolute;left:0;right:0;top:54%;height:2px;margin-top:-1px;background:var(--ink3);border-radius:1px;transform:scaleX(0);transform-origin:left}
.wr-nota.done .strk{animation:wr-strike .3s cubic-bezier(.2,.8,.2,1) var(--d2) forwards}
.wr-nota.done .x{animation:wr-fade-ink .3s var(--d2) forwards}
/* récords: giran al entrar y les cruza un brillo */
.wr-list{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.wr-rec{position:relative;overflow:hidden;display:flex;gap:14px;align-items:center;padding:15px 16px;background:var(--card);border:1px solid var(--cardb);border-radius:18px;color:var(--ink);transform-origin:left center;animation:wr-flip .7s cubic-bezier(.2,.8,.2,1) var(--d) both}
.wr-rec::after{content:"";position:absolute;top:-30%;bottom:-30%;width:30%;left:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:translateX(-160%) skewX(-18deg);animation:wr-shine .9s ease-in-out calc(var(--d) + .6s) both;pointer-events:none}
:root[data-theme="dark"] .wr-rec::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent)}
.wr-rec .ic{width:42px;height:42px;border-radius:50%;background:var(--olive-bg);color:var(--olive);display:grid;place-items:center;flex:0 0 auto}
.wr-rec .ic .glyph{font-size:20px}
.wr-rec b{font:700 17px var(--font-head);display:block;letter-spacing:-.01em}
.wr-rec small{color:var(--ink2);font-size:13.5px;line-height:1.35;display:block;margin-top:2px}
/* el foco: la frase palabra a palabra, sus objetivos con un anillo, y la pregunta */
.wr-cita{font:700 32px/1.1 var(--font-head);letter-spacing:-.02em;overflow-wrap:anywhere;color:var(--ink)}
.wr-cita.larga{font-size:25px;line-height:1.18}
.wr-cita .wr-fo-q.c{display:inline-block;animation:wr-up .3s var(--d) both}
.wr-fobjs{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.wr-fo-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--card);border:1px solid var(--cardb);border-radius:14px;animation:wr-spring .5s cubic-bezier(.34,1.45,.64,1) calc(var(--d) + .1s) both}
.wr-fo-row+.wr-fo-row{animation-delay:calc(var(--d) + .25s)}
.wr-fo-row .m{flex:1;min-width:0}
.wr-fo-row .t{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.wr-fo-row .s{font-size:12.5px;color:var(--ink2);margin-top:2px}
.wr-q{font:700 17px var(--font-head);margin-top:26px;color:var(--ink)}
.wr-ans{display:flex;gap:8px;margin-top:12px}
.wr-ans button{flex:1;padding:13px 8px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);font:700 14.5px var(--font-head);color:var(--text);cursor:pointer;transition:transform .25s cubic-bezier(.34,1.5,.64,1),background .15s,color .15s,border-color .15s;animation:wr-up .4s cubic-bezier(.2,.8,.2,1) var(--d) both}
.wr-ans button.on{background:var(--olive);border-color:var(--olive);color:#fff;transform:scale(1.04)}
.wr-ans.ro button{flex:0 0 auto;padding:10px 18px}
.wr-go{margin-top:26px;width:100%}
.wr-c>div>.wr-go{animation:none}

/* ---- asistente: «Lo que viene» ---- */
.wr-day{font:700 12px var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:16px 2px 7px}
.wr-vcard{padding:4px 16px;margin-bottom:6px}
.wr-vh{font:700 12px var(--font-head);color:var(--faint);width:62px;flex:0 0 auto;font-variant-numeric:tabular-nums}
.wr-vrow .pl-hic{color:var(--faint)}

/* ---- asistente: «Foco de la semana» (2.8.22): una caja y, plegado, enlazar objetivos ---- */
.wr-fo-tit{margin-bottom:14px}
.wr-fo-caja{padding:6px 6px 2px}
.wr-fo-caja:focus-within{border-color:var(--olive-soft)}
.wr-fo-caja textarea{display:block;width:100%;border:0;border-radius:12px;padding:14px;font:600 19px/1.4 var(--font-head);letter-spacing:-.01em;background:transparent;color:var(--text);resize:none;-webkit-appearance:none;appearance:none}
.wr-fo-caja textarea:focus{outline:none}
.wr-fo-caja textarea::placeholder{color:var(--faint);font-weight:500}
.wr-fo-sel{margin:0 8px;border-top:1px solid var(--border-soft)}
.wr-fo-sel .wr-fo-of+.wr-fo-of{border-top:1px solid var(--border-soft)}
.wr-fo-x{border:0;background:transparent;color:var(--faint);cursor:pointer;display:grid;place-items:center;padding:4px;margin-left:2px}
.wr-fo-x .glyph{font-size:13px}
.wr-fo-add{display:flex;align-items:center;gap:8px;width:calc(100% - 16px);margin:0 8px;border:0;border-top:1px solid var(--border-soft);background:transparent;padding:13px 4px;font:600 13.5px var(--font-body);color:var(--muted);cursor:pointer;text-align:left}
.wr-fo-add .glyph{font-size:15px;color:var(--olive)}
.wr-fo-add>span{margin-left:auto;display:inline-flex;transition:transform .15s}
.wr-fo-add>span .glyph{color:var(--muted);font-size:14px}
.wr-fo-add>span.up{transform:rotate(180deg)}
.wr-fo-lista{margin:0 8px 8px;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.wr-fo-lista button{display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;padding:12px 14px;font:600 14px var(--font-body);color:var(--text);cursor:pointer;text-align:left}
.wr-fo-lista button:last-child{border-bottom:0}
.wr-fo-lista .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wr-fo-lista .p{font:700 12.5px var(--font-head);color:var(--olive)}
.wr-fo-ck{width:20px;height:20px;border-radius:99px;border:1.5px solid var(--border);display:grid;place-items:center;flex:0 0 auto;color:transparent}
.wr-fo-ck .glyph{font-size:11px;stroke-width:3}
.wr-fo-lista button.on .wr-fo-ck{background:var(--olive);border-color:var(--olive);color:#fff}

/* un objetivo enlazado al foco, para mirar: punto, nombre, barra y % */
.wr-fo-of{display:flex;align-items:center;gap:9px;padding:10px 4px;min-width:0}
.wr-fo-of .n{font:600 13.5px var(--font-body);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wr-fo-of .b{flex:1;min-width:40px;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}
.wr-fo-of .b i{display:block;height:100%;background:var(--olive);border-radius:3px}
.wr-fo-of .p{font:700 12.5px var(--font-head);color:var(--olive);font-variant-numeric:tabular-nums}
/* las comillas de la frase, en verde; la frase, en su color */
.wr-fo-q{font:700 22px/0 var(--font-head);color:var(--olive);vertical-align:-6px;margin-right:4px}
.wr-fo-q.c{margin:0 0 0 4px}

/* resumen: «Tu foco · ¿Lo conseguiste?», la racha bajo los botones (2.8.25) */
/* 2.8.25: bajo «¿Lo conseguiste?», el récord del foco al responder «Sí» */
.wr-fo-racha{margin-top:12px;font:700 14px var(--font-head);color:var(--olive)}
.wr-fo-racha:empty{display:none}

/* ---- portada: «Tus semanas» ---- */
.wr-week{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--border-soft);cursor:pointer}
.wr-week:last-child{border-bottom:none}
.wr-week .d{font:700 14px var(--font-head);width:124px;flex:0 0 auto}
.wr-week .d small{display:flex;align-items:center;gap:4px;font:600 11.5px var(--font-body);color:var(--olive);margin-top:2px}
.wr-week .d small .glyph{font-size:11px;stroke-width:3}
.wr-week .bar{flex:1;height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.wr-week .bar i{display:block;height:100%;background:var(--olive-soft);border-radius:4px}
.wr-week .m{font-size:12.5px;color:var(--muted);white-space:nowrap;width:62px;text-align:right}
.wr-week .chev{color:var(--faint);display:inline-flex}
.wr-week .chev .glyph{font-size:14px}
/* portada del Repaso: el foco arriba */
.wr-foco-ban{padding:15px 17px 11px;margin-bottom:16px}
.wr-foco-k{display:flex;align-items:center;gap:6px;font:700 10.5px var(--font-head);letter-spacing:.09em;text-transform:uppercase;color:var(--olive);margin-bottom:6px}
.wr-foco-k .glyph{font-size:13px}
.wr-foco-t{font:600 17px/1.35 var(--font-head);letter-spacing:-.01em;color:var(--text);padding-bottom:4px}
.wr-foco-ban .wr-fo-of{border-top:1px solid var(--border-soft);margin-top:8px;padding:11px 0 3px}
.wr-foco-ban .wr-fo-of+.wr-fo-of{margin-top:0}

/* ---- Diario: «Foco de la semana», apartado propio sin tarjeta (2.8.22) ---- */
.hy-fo{border-bottom:1px solid var(--border-soft);padding:8px 2px 14px}
.hy-fo-top{display:flex;align-items:center;gap:12px}
.hy-fo-top[role=button]{cursor:pointer}
.hy-fo-t{flex:1;min-width:0;font:600 17px/1.35 var(--font-head);letter-spacing:-.01em;color:var(--text);overflow-wrap:anywhere}
.hy-fo-chev{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;color:var(--muted)}
.hy-fo-chev .glyph{font-size:14px;transition:transform .18s}
.hy-fo.open .hy-fo-chev .glyph{transform:rotate(90deg)}
.hy-fo-objs{margin-top:12px}
.hy-fo-objs .wr-fo-of{border-top:1px solid var(--border-soft);padding:11px 0 3px}

/* ---- 2.8.17: «Limpia lo que arrastras», cada tarea se despliega al tocarla ---- */
.wr-arr-card{padding:4px 16px}
.wr-arrastra{cursor:pointer}
.wr-arrastra .pill{flex:0 0 auto}
.wr-arrastra.open{border-bottom:none}
.wr-arrastra.open .pl-chev{transform:rotate(90deg)}
.wr-arr-acc{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 11px 20px;border-bottom:1px solid var(--border-soft)}
.wr-arr-card>.wr-arr-acc:last-child,.wr-arr-card>.wr-arrastra:last-child{border-bottom:none}

/* ---- 2.8.17: pantalla de objetivos del semanal (el más cerca, importantes y el resto plegado) ---- */
.ro-title{font-size:26px;letter-spacing:-.02em;margin-bottom:16px}
.ro-ring{position:relative;display:inline-grid;place-items:center;flex:0 0 auto}
.ro-ring>svg{position:absolute;inset:0;width:100%;height:100%}
.ro-ring .ring .pr{stroke:var(--olive)}
.ro-ring .v{position:relative;font-family:var(--font-head);font-weight:700;letter-spacing:-.02em;color:var(--text)}
.ro-ring .v small{font-size:.6em;margin-left:1px;color:var(--muted)}
.rev-card.ro-hero{display:flex;align-items:center;gap:22px;padding:20px 22px;cursor:pointer;background:var(--olive-bg);border-color:transparent}
.ro-hero-t{flex:1;min-width:0}
.ro-hero-t .k{font:700 11px var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--olive-ink)}
.ro-hero-t .t{display:flex;align-items:center;gap:8px;font:700 20px/1.2 var(--font-head);letter-spacing:-.01em;margin-top:6px}
.ro-hero-t .f{font-size:15px;color:var(--muted);margin-top:6px}
.ro-hero-t .f b{font:700 22px var(--font-head);color:var(--olive-ink)}
.ro-sec{display:flex;align-items:center;gap:7px;font:700 12.5px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:6px 2px 8px}
.ro-sec .glyph{font-size:14px}
.ro-sec span{font-size:11px;background:var(--surface-2);color:var(--muted);border-radius:99px;padding:1px 7px;letter-spacing:0}
.ro-dos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.rev-card.ro-med{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;margin-bottom:0}
.ro-med .m,.ro-row .m{flex:1;min-width:0}
.ro-med .t,.ro-row .t{display:flex;align-items:center;gap:7px;font-size:14.5px;font-weight:600;min-width:0}
.ro-med .t{line-height:1.25;align-items:flex-start}
.ro-med .t .pl-dot{margin-top:5px}
.ro-row .t span:not(.pl-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ro-med .s,.ro-row .s{font-size:13px;color:var(--muted);margin-top:3px}
.ro-hero .imp-star,.ro-med .imp-star{flex:0 0 auto}
.ro-mas{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;border:1px dashed var(--border);background:none;border-radius:var(--radius);padding:12px;font:700 13.5px var(--font-head);color:var(--muted);cursor:pointer;margin-bottom:14px}
.ro-mas span{display:inline-flex;transition:.2s}
.ro-mas span.up{transform:rotate(180deg)}
.rev-card.ro-list{padding:2px 16px}
.ro-row{display:flex;align-items:center;gap:13px;padding:10px 0;border-bottom:1px solid var(--border-soft);cursor:pointer}
.ro-row:last-child{border-bottom:none}
[data-abre]:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:8px}
@media(max-width:560px){.ro-dos{grid-template-columns:1fr}.rev-card.ro-hero{gap:16px;padding:16px}.ro-hero .ro-ring{width:92px!important;height:92px!important}.ro-hero .ro-ring .v{font-size:24px!important}}
