:root{
  --bg:#f8fafc;--fg:#0f172a;--muted:#475569;--card:#ffffff;--line:#e2e8f0;
  --accent:#a16207;--link:#1d4ed8;
  --cheap:#15803d;--mid:#b45309;--exp:#b91c1c;
  --cheap-bg:#dcfce7;--mid-bg:#fef3c7;--exp-bg:#fee2e2;
  --radius:14px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#0f172a;--fg:#e2e8f0;--muted:#94a3b8;--card:#1e293b;--line:#334155;
  --accent:#facc15;--link:#93c5fd;
  --cheap:#4ade80;--mid:#fbbf24;--exp:#f87171;
  --cheap-bg:#14532d;--mid-bg:#713f12;--exp-bg:#7f1d1d;color-scheme:dark}}
:root[data-theme=dark]{
  --bg:#0f172a;--fg:#e2e8f0;--muted:#94a3b8;--card:#1e293b;--line:#334155;
  --accent:#facc15;--link:#93c5fd;
  --cheap:#4ade80;--mid:#fbbf24;--exp:#f87171;
  --cheap-bg:#14532d;--mid-bg:#713f12;--exp-bg:#7f1d1d;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--link)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:9}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.top-row{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{display:flex;gap:8px;align-items:center;text-decoration:none;color:var(--fg);font-weight:700}
.brand img{border-radius:8px}.brand span{line-height:1.1}.brand small{display:block;font-weight:400;color:var(--muted);font-size:.75rem}
.top-actions{display:flex;gap:8px;align-items:center}
.icon-btn,.btn{min-height:44px;min-width:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit;cursor:pointer}
.btn{padding:0 14px;font-weight:600}.btn-small{min-height:40px;font-size:.9rem}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.disclaimer{font-size:.85rem;color:var(--muted);margin:12px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 16px}
h1{font-size:1.25rem;margin:0 0 8px}h2{font-size:1.15rem;margin:0 0 8px}
.muted{color:var(--muted)}.small{font-size:.9rem}
.now-box{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline}
.now-price{font-size:2.6rem;font-weight:800;line-height:1.1}
.now-price small{font-size:1rem;font-weight:600;color:var(--muted)}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;font-size:.85rem}
.lvl-cheap{background:var(--cheap-bg);color:var(--cheap)}.lvl-mid{background:var(--mid-bg);color:var(--mid)}.lvl-exp{background:var(--exp-bg);color:var(--exp)}
:root[data-theme=dark] .lvl-cheap,:root[data-theme=dark] .lvl-mid,:root[data-theme=dark] .lvl-exp{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .lvl-cheap,:root:not([data-theme=light]) .lvl-mid,:root:not([data-theme=light]) .lvl-exp{color:#fff}}
.now-meta{flex-basis:100%;margin:0;font-size:.95rem}
.day-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.tabs{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.tabs button{min-height:40px;padding:0 16px;border:0;background:transparent;color:var(--fg);font:inherit;font-weight:600;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--fg);color:var(--bg)}
.tabs button:disabled{opacity:.5;cursor:not-allowed}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}
.stat{border-radius:10px;padding:8px;text-align:center}
.stat b{display:block;font-size:1.1rem}.stat span{font-size:.8rem}
.chart{display:flex;align-items:flex-end;gap:2px;height:140px;margin:8px 0 4px;padding-bottom:18px;position:relative}
.bar{flex:1;border-radius:3px 3px 0 0;position:relative;min-height:2px}
.bar.cheap{background:var(--cheap)}.bar.mid{background:var(--mid)}.bar.exp{background:var(--exp)}
.bar.current{outline:2px solid var(--fg);outline-offset:1px}
.bar i{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:.6rem;font-style:normal;color:var(--muted)}
.table-wrap summary{cursor:pointer;font-weight:600;padding:8px 0;min-height:44px;display:flex;align-items:center}
.ptable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ptable th,.ptable td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}
.ptable tr.current td{font-weight:800}
.ptable tr.is-min td:first-child::after{content:" ▼ más barata";color:var(--cheap);font-size:.8rem}
.ptable tr.is-max td:first-child::after{content:" ▲ más cara";color:var(--exp);font-size:.8rem}
.appl-list,.aff-list{list-style:none;margin:0;padding:0}
.appl{display:grid;grid-template-columns:40px 1fr auto;gap:4px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.appl:last-child{border:0}
.appl .ic{font-size:1.6rem;text-align:center}
.appl h3{margin:0;font-size:1rem}.appl p{margin:0;font-size:.85rem;color:var(--muted)}
.appl .cost{text-align:right;font-weight:800}.appl .cost small{display:block;font-weight:400;font-size:.75rem;color:var(--muted)}
.aff-list li{padding:10px 0;border-bottom:1px solid var(--line)}
.aff-list a{font-weight:700}
.content p,.content li{max-width:65ch}
.ad-slot:empty{display:none}
.ad-slot{margin:16px 0;min-height:100px}
.ad-slot::before{content:"Publicidad";display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.foot{border-top:1px solid var(--line);padding:16px 0 calc(24px + env(safe-area-inset-bottom));font-size:.9rem}
.error{color:var(--exp)}
.offline-banner{background:var(--mid-bg);color:var(--fg);padding:8px 12px;border-radius:10px;margin:8px 0;font-size:.9rem}
@media (prefers-reduced-motion:no-preference){.bar{transition:height .3s}}

/* Reserva de espacio para evitar saltos de diseño (CLS) */
.now-box{min-height:150px}
.stats{min-height:62px}
.day-date{margin:8px 0 0;min-height:1.5em}
.appl{min-height:96px}
