/* Lo común, versión definitiva. Tokens heredados de la versión 1. */
:root{
  --paper:#f6f2ea; --paper-2:#efe9dd; --card:#fffdf8; --ink:#1e2422; --ink-2:#4b5450; --muted:#6f7873;
  --line:#ddd5c6; --market:#b07a22; --market-soft:#f3e4c9; --state:#3f6a99; --state-soft:#dbe5f0;
  --common:#3f7a5c; --common-soft:#d9ebe0; --mix:#7f5f94; --mix-soft:#e9e0ef; --warn:#9a5a1c; --warn-soft:#f6e3cf;
  --focus:#2f5d8a; --r:14px; --serif:"Fraunces",Georgia,serif; --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --w:880px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;line-height:1.14;text-wrap:balance;margin:0}
h2{font-size:clamp(29px,6vw,44px)}
h3{font-size:21px}
p{margin:0 0 .8em}
a{color:var(--state)}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 16px}
.chapter{padding:92px 0 64px;scroll-margin-top:56px}
.lead{font-size:19px;color:var(--ink-2);max-width:660px;margin-top:14px}
.small{font-size:14px;color:var(--muted)}
.narrow{max-width:680px}
.quote{font-family:var(--serif);font-size:clamp(21px,3.6vw,27px);line-height:1.35;border-left:3px solid var(--common);padding:2px 0 2px 18px;margin:30px 0;max-width:720px}
.hidden{display:none!important}
.mt{margin-top:22px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* movimiento */
.movement{padding:110px 0 10px}
.movement .n{font-family:var(--serif);font-size:15px;color:var(--muted)}
.movement h2{font-size:clamp(36px,8vw,60px);margin-top:4px}
.movement p{color:var(--ink-2);max-width:620px;margin-top:12px;font-size:18px}
.movement svg{width:100%;height:24px;margin-top:26px}

/* topbar */
.topbar{position:fixed;inset:0 0 auto 0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .3s}
.topbar.scrolled{border-bottom-color:var(--line)}
.topbar .in{display:flex;align-items:center;justify-content:space-between;height:52px;max-width:1180px;margin:0 auto;padding:0 16px}
.brand{font-family:var(--serif);font-weight:600;font-size:19px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:8px}
.brand svg{width:24px;height:24px}
.chap-btn{background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px}
.chap-btn span{color:var(--muted)}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--market),var(--state),var(--common))}
.chap-panel{position:fixed;z-index:60;top:60px;right:12px;left:12px;max-width:400px;margin-left:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 50px rgba(30,36,34,.16);padding:10px;max-height:calc(100vh - 80px);overflow:auto;opacity:0;transform:translateY(-6px);pointer-events:none;transition:.2s}
.chap-panel.open{opacity:1;transform:none;pointer-events:auto}
.chap-panel .mv{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--muted);padding:12px 10px 4px}
.chap-panel a{display:flex;gap:12px;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--ink);font-size:15px}
.chap-panel a b{font-weight:500;color:var(--muted);min-width:20px;font-variant-numeric:tabular-nums}
.chap-panel a:hover,.chap-panel a.active{background:var(--paper-2)}
.chap-panel a.active b{color:var(--common)}

/* reveal */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}

/* botones y chips */
.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:13px 24px;font-weight:600;font-size:16px;text-decoration:none;background:var(--ink);color:var(--paper);box-shadow:0 6px 18px rgba(30,36,34,.18);transition:background .2s}
.btn:hover{background:#2f3835}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost:hover{background:var(--paper-2)}
.btn.sm{padding:8px 16px;font-size:15px;box-shadow:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 15px;font-size:15px;transition:border-color .2s,background .2s,color .2s;min-height:40px}
.chip:hover{border-color:var(--ink-2)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.seg{display:inline-flex;flex-wrap:wrap;background:var(--paper-2);border-radius:18px;padding:4px;gap:2px}
.seg button{border:0;background:none;border-radius:999px;padding:7px 14px;font-size:15px;color:var(--ink-2);min-height:36px}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.1)}

/* tipos de contenido */
.kind{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;vertical-align:2px;white-space:nowrap}
.kind.real{background:var(--state-soft);color:#284a70}
.kind.fic{background:var(--mix-soft);color:#5b3f6d}
.kind.aut{background:var(--common-soft);color:#2d5c43}
.kind.ed{background:var(--market-soft);color:#6e4b10}
.kind.open{background:var(--paper-2);color:var(--ink-2)}
.legend-kinds{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:18px}

/* glosario */
.term{background:none;border:0;padding:0;font:inherit;color:inherit;border-bottom:1.5px dotted var(--common);cursor:help}
.term:hover{color:var(--common)}
.pop{position:fixed;z-index:80;max-width:330px;background:var(--ink);color:var(--paper);border-radius:12px;padding:14px 16px;font-size:15px;line-height:1.5;box-shadow:0 14px 40px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .18s,transform .18s}
.pop.open{opacity:1;pointer-events:auto;transform:none}
.pop b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;margin-bottom:4px}
.pop em{display:block;font-style:normal;color:#c9d6cf;margin-top:8px}
@media (max-width:600px){.pop{left:12px!important;right:12px!important;top:auto!important;bottom:14px!important;max-width:none;width:auto!important}}

/* segunda capa */
details.deeper{margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:720px}
details.deeper summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.deeper summary::-webkit-details-marker{display:none}
details.deeper summary:after{content:"+";font-size:22px;font-weight:400;color:var(--muted);transition:transform .2s}
details.deeper[open] summary:after{transform:rotate(45deg)}
details.deeper .in{padding:0 0 16px;color:var(--ink-2);font-size:16px}
details.deeper .in p{margin-bottom:.7em}

/* panel */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
@media (min-width:700px){.panel{padding:28px}}

/* hero */
#inicio{min-height:100vh;display:flex;align-items:center;padding-top:80px}
.hero h1{font-size:clamp(40px,9vw,78px);max-width:900px}
.hero .lead{font-size:clamp(18px,2.6vw,22px);margin:22px 0 30px}
.hero .then{margin-top:56px;max-width:640px;color:var(--ink-2);font-size:16px;border-top:1px solid var(--line);padding-top:16px}
.hero .then b{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:19px;display:block;margin-top:4px;line-height:1.35}

/* de todos */
.opts{display:grid;gap:10px;margin-top:20px}
@media (min-width:700px){.opts{grid-template-columns:1fr 1fr}}
.opt{text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:14px 16px;transition:.2s;display:flex;flex-direction:column;gap:3px;min-height:56px}
.opt:hover{border-color:var(--ink-2)}
.opt strong{font-weight:600;font-size:17px}
.opt .dim{font-size:13px;font-weight:600;color:var(--c);display:none}
.opt .exp{font-size:15px;color:var(--ink-2);display:none}
.opt[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.revealed .opt{border-color:color-mix(in srgb,var(--c) 45%,var(--line))}
.revealed .opt[aria-pressed="true"]{background:color-mix(in srgb,var(--c) 8%,var(--card));border-color:var(--c);box-shadow:inset 0 0 0 1px var(--c)}
.revealed .opt .dim,.revealed .opt .exp{display:block}
.box-reveal{margin-top:24px}
.dims5{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:14px}
.dims5>div{background:var(--card);padding:12px 15px}
.dims5 b{display:block;font-size:13px;font-weight:600}
.dims5 span{font-size:15px;color:var(--ink-2)}
@media (min-width:640px){.dims5{grid-template-columns:1fr 1fr}.dims5>div:last-child{grid-column:1/-1}}
.c-prop{--c:var(--state)}.c-acc{--c:var(--market)}.c-dec{--c:var(--common)}.c-tra{--c:var(--mix)}.c-fin{--c:var(--warn)}
.dims5 .c-prop b{color:var(--state)}.dims5 .c-acc b{color:var(--market)}.dims5 .c-dec b{color:var(--common)}.dims5 .c-tra b{color:var(--mix)}.dims5 .c-fin b{color:var(--warn)}
.res-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}

/* matriz */
.plot{position:relative;height:400px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-top:14px;overflow:hidden}
.plot .area{position:absolute;left:44px;right:18px;top:20px;bottom:44px}
.plot .axx{position:absolute;left:44px;right:18px;bottom:16px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.plot .axy{position:absolute;left:8px;top:20px;bottom:44px;width:30px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;transition:opacity .5s}
.plot .axy span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;color:var(--muted);white-space:nowrap}
.plot .hline{position:absolute;left:0;right:0;top:50%;border-top:1.5px dashed var(--line)}
.plot .vline{position:absolute;top:0;bottom:0;left:50%;border-left:1px solid var(--line);opacity:.6}
.plot.one .axy{opacity:0}
.pdot{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:3px solid var(--dc);background:var(--dc);transition:left .9s cubic-bezier(.2,.7,.2,1),top .9s cubic-bezier(.2,.7,.2,1),transform .2s,background .4s;padding:0}
.plot.acc .pdot.a-pago{background:linear-gradient(90deg,var(--dc) 50%,var(--card) 50%)}
.plot.acc .pdot.a-miembros{background:var(--card)}
.pdot:hover,.pdot.sel{transform:scale(1.3)}
.pdot.sel{box-shadow:0 0 0 3px var(--ink)}
.pdot .lbl{position:absolute;left:16px;top:-2px;white-space:nowrap;font-size:12px;color:var(--ink-2);pointer-events:none;display:none}
@media (min-width:860px){.pdot .lbl{display:block}.plot{height:450px}}
.pinfo{min-height:4.8em;margin-top:12px;font-size:15px;color:var(--ink-2)}
.pinfo b{color:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted);margin-top:10px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-2px;border:2px solid var(--ink-2)}
.legend i.f{background:var(--ink-2)}.legend i.h{background:linear-gradient(90deg,var(--ink-2) 50%,transparent 50%)}

/* casa / relaciones */
.house-wrap{display:grid;gap:18px;margin-top:22px;align-items:start}
@media (min-width:820px){.house-wrap{grid-template-columns:260px 1fr}}
.house{width:100%;max-width:260px;margin:0 auto}
.house .badge{transition:opacity .4s}
.rel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rel-tabs .chip{border-radius:12px;text-align:left;min-height:52px}
.rel-out{margin-top:14px}
.rel-out dl{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0}
.rel-out dl div{background:var(--card);padding:11px 14px}
.rel-out dt{font-size:13px;font-weight:600;color:var(--muted)}
.rel-out dd{margin:0;font-size:15px}

/* toggle oportunidad / imperativo */
.duo{display:grid;gap:12px;margin-top:18px}
@media (min-width:700px){.duo{grid-template-columns:1fr 1fr}}
.duo .side{border-radius:var(--r);padding:18px 20px;background:var(--card);border:1px solid var(--line);transition:opacity .4s,border-color .4s}
.duo .side.dim{opacity:.45}
.duo .side h3{font-size:19px;margin-bottom:8px}
.duo .side ul{margin:0;padding-left:1.1em;font-size:15px;color:var(--ink-2)}

/* fábrica: presiones */
.factory{display:grid;gap:18px;margin-top:20px}
@media (min-width:820px){.factory{grid-template-columns:1fr 1fr}}
.ctrl h4{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--muted);margin:14px 0 8px}
.ctrl h4:first-child{margin-top:0}
.pressures{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pressures li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--paper);font-size:15px;transition:background .4s,opacity .4s}
.pressures li i{flex:none;width:10px;height:10px;border-radius:50%;margin-top:7px;background:var(--line);transition:background .4s}
.pressures li.on{background:var(--warn-soft)}
.pressures li.on i{background:var(--warn)}
.pressures li.off{opacity:.5;text-decoration:line-through}
.pressures li.new{background:var(--mix-soft)}
.pressures li.new i{background:var(--mix)}
.fact-msg{margin-top:12px;font-size:15px;color:var(--ink)}
.cmp{width:100%;border-collapse:collapse;font-size:15px;margin-top:10px}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:10px;border-bottom:1px solid var(--line)}
.cmp th{font-size:13px;color:var(--muted);font-weight:600}
.tw{overflow-x:auto}

/* quién trabaja */
.work{display:grid;gap:18px;margin-top:20px}
@media (min-width:860px){.work{grid-template-columns:280px 1fr}}
.toggles{display:flex;flex-direction:column;gap:8px}
.tg{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font-size:15px;transition:.2s}
.tg .sw{flex:none;width:34px;height:20px;border-radius:20px;background:var(--line);position:relative;margin-top:2px;transition:.2s}
.tg .sw:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.tg[aria-pressed="true"]{border-color:var(--common)}
.tg[aria-pressed="true"] .sw{background:var(--common)}
.tg[aria-pressed="true"] .sw:after{left:16px}
.tg small{display:block;color:var(--muted);font-size:13px}
.bars{display:flex;flex-direction:column;gap:14px}
.person{font-size:15px}
.person .top{display:flex;justify-content:space-between;gap:10px}
.person .top span{color:var(--muted);font-variant-numeric:tabular-nums}
.stack{display:flex;height:22px;border-radius:6px;overflow:hidden;background:var(--paper-2);margin-top:5px}
.stack i{height:100%;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.t-pago{background:var(--state)}.t-dom{background:var(--market)}.t-cui{background:#d59a8f}.t-vol{background:var(--common)}.t-pub{background:#7aa2c9}
.wlegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ink-2);margin-top:4px}
.wlegend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.reading{margin-top:14px;font-size:16px;background:var(--paper);border-radius:10px;padding:12px 14px}
.rules{font-size:13px;color:var(--muted);margin-top:10px}
.rules summary{cursor:pointer;font-weight:600}
.rules ul{margin:6px 0 0;padding-left:1.1em}

/* respuestas */
.alts-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-top:20px;scrollbar-width:thin}
.alts-tabs .chip{white-space:nowrap;flex:none}
.alt-panel{margin-top:12px}
.alt-panel h3{font-size:clamp(23px,4vw,28px)}
.alt-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:14px}
@media (min-width:700px){.alt-grid{grid-template-columns:1fr 1fr}}
.alt-grid>div{background:var(--card);padding:13px 15px;font-size:15px}
.alt-grid b{display:block;font-size:13px;color:var(--muted);margin-bottom:3px}
.alt-case{margin-top:12px;font-size:15px;border-left:3px solid var(--state);padding:4px 0 4px 14px}

/* comunidad */
.vote{display:grid;gap:18px;margin-top:20px}
@media (min-width:860px){.vote{grid-template-columns:1fr 1fr}}
.voices{display:flex;flex-direction:column;gap:8px}
.voice{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:10px 13px;font-size:15px}
.voice .sw{grid-row:1/3;width:34px;height:20px;border-radius:20px;background:var(--line);position:relative;margin-top:2px;transition:.2s}
.voice .sw:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.voice[aria-pressed="true"]{border-color:var(--common)}
.voice[aria-pressed="true"] .sw{background:var(--common)}
.voice[aria-pressed="true"] .sw:after{left:16px}
.voice small{color:var(--muted);font-size:13px}
.props{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.prop{border-radius:12px;padding:12px 14px;background:var(--paper);border:1.5px solid transparent;transition:.3s}
.prop.win{border-color:var(--common);background:var(--common-soft)}
.prop b{display:block}
.prop .cnt{font-size:13px;color:var(--muted)}
.vres{margin-top:12px;font-size:16px}

/* tensiones */
.tension{border-top:1px solid var(--line);padding:6px 0}
.tension:last-child{border-bottom:1px solid var(--line)}
.tension>button{width:100%;text-align:left;background:none;border:0;padding:14px 0;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.tension>button h3{font-size:20px}
.tension .tog{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);position:relative;margin-top:2px;transition:.3s}
.tension .tog:before,.tension .tog:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--ink-2);transform:translate(-50%,-50%);transition:.3s}
.tension .tog:after{transform:translate(-50%,-50%) rotate(90deg)}
.tension.open .tog{background:var(--ink);border-color:var(--ink)}
.tension.open .tog:before,.tension.open .tog:after{background:var(--paper)}
.tension.open .tog:after{transform:translate(-50%,-50%) rotate(0)}
.tension .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.tension.open .body{grid-template-rows:1fr}
.tension .body>div{overflow:hidden}
.sides{display:grid;gap:10px;padding-bottom:16px}
@media (min-width:700px){.sides{grid-template-columns:1fr 1fr}}
.sides>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15px}
.sides h4{font-size:17px;margin:4px 0 6px}
.sides .openq{grid-column:1/-1;background:var(--paper-2);border:0}

/* Villa Mezcla */
.villa-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:22px}
.scenes{display:flex;gap:6px;flex-wrap:wrap}
.scenes button{border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:8px 14px;font-size:15px;text-align:left;min-height:48px}
.scenes button small{display:block;font-size:12px;color:var(--muted)}
.scenes button[aria-selected="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.scenes button[aria-selected="true"] small{color:#c9d6cf}
.villa{display:grid;gap:18px;margin-top:14px}
@media (min-width:980px){.villa{grid-template-columns:1.05fr .95fr}}
.scene-intro{font-size:16px;color:var(--ink-2)}
.choices{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.choice{text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:12px 14px;transition:.2s}
.choice b{display:block;font-size:16px}
.choice small{color:var(--muted);font-size:14px}
.choice[aria-pressed="true"]{border-color:var(--common);background:color-mix(in srgb,var(--common) 7%,var(--card));box-shadow:inset 0 0 0 1px var(--common)}
.cons{margin-top:14px;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cons>div{background:var(--card);padding:11px 14px;font-size:15px}
.cons b{display:block;font-size:13px;font-weight:600;margin-bottom:2px}
.cons .k1 b{color:var(--common)}.cons .k2 b{color:var(--warn)}.cons .k3 b{color:var(--state)}.cons .k4 b{color:var(--mix)}.cons .k5 b{color:var(--ink)}
.cons .k5{background:var(--paper-2)}
.city{align-self:start}
@media (min-width:980px){.city{position:sticky;top:64px}}
.city h3{font-size:19px}
.meter{margin-top:12px}
.meter .top{display:flex;justify-content:space-between;font-size:14px}
.meter .bar{height:10px;border-radius:10px;background:var(--paper-2);overflow:hidden;margin-top:4px;position:relative}
.meter .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--state);transition:width .6s}
.meter .bar i.over{background:var(--warn)}
.meter .bar s{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);text-decoration:none}
.links{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.links div{font-size:14px;padding:9px 12px;border-radius:10px;background:var(--mix-soft)}
.links div.warn{background:var(--warn-soft)}
.links div b{display:block;font-size:13px}
.whodec{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.villa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.compare{margin-top:20px}
.compare table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.compare th,.compare td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--line)}
.compare th{font-weight:600;background:var(--paper-2)}
.compare .tw{border:1px solid var(--line);border-radius:12px;background:var(--card)}

/* cierre y biblioteca */
.qs{list-style:none;padding:0;margin:20px 0 0;counter-reset:q}
.qs li{counter-increment:q;padding:12px 0 12px 40px;position:relative;border-top:1px solid var(--line);font-size:17px}
.qs li:before{content:counter(q);position:absolute;left:0;top:12px;width:26px;height:26px;border-radius:50%;background:var(--common-soft);color:var(--common);font-weight:600;font-size:14px;text-align:center;line-height:26px}
.lib{margin-top:26px;display:grid;gap:12px}
@media (min-width:760px){.lib{grid-template-columns:1fr 1fr}}
.lib section{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.lib h3{font-size:19px;margin-bottom:6px}
.lib ul{list-style:none;margin:0;padding:0}
.lib li{padding:7px 0;border-top:1px solid var(--line);font-size:15px}
.lib li:first-child{border-top:0}
.lib li i{color:var(--ink-2)}
.lvl{font-size:12px;font-weight:600;border-radius:999px;padding:1px 8px;margin-left:4px;white-space:nowrap}
.lvl.i{background:var(--common-soft);color:#2d5c43}.lvl.a{background:var(--paper-2);color:var(--ink-2)}
.eds{font-size:15px;margin-top:20px}
.ednote{background:var(--paper-2);border-radius:var(--r);padding:18px 20px;font-size:15px;color:var(--ink-2);margin-top:30px}
.ednote b{color:var(--ink)}
footer{padding:40px 0 60px;font-size:14px;color:var(--muted)}

@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
