
/* Layout: impreso de 1867. Una sola apariencia (papel e imprenta), a propósito, en cualquier tema.
   Índice con puntos guía como biblioteca; lector como pliego con cabezal, folio y notas al pie. */
:root{
  --paper:#E4D6B6; --paper-2:#D9C9A4; --paper-3:#EDE2C8;
  --ink:#2A1E14; --ink-2:#5E4C38; --ink-3:#8A7458;
  --rubric:#8A2B1D; --brass:#8C6A2A;
  --f-display:"Libre Bodoni", "Bodoni 72", Didot, Georgia, serif;
  --f-body:"Old Standard TT", "Times New Roman", Georgia, serif;
  color-scheme:light;
}
html,body{height:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.58;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
/* grano del papel */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;mix-blend-mode:multiply;opacity:.5;
  background:
   radial-gradient(ellipse at center,transparent 55%,rgba(110,80,40,.28) 100%),
   url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .34  0 0 0 0 .2  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.08;text-wrap:balance;margin:0}
.sc{font-variant:small-caps;letter-spacing:.08em}
.label{font-family:var(--f-body);font-variant:small-caps;letter-spacing:.12em;font-size:.95rem;color:var(--ink-2)}
.rubric{color:var(--rubric)}
.rule{border:0;height:4px;border-top:1.5px solid var(--ink);border-bottom:.6px solid var(--ink);margin:14px 0}
.rule.thin{height:0;border-bottom:0;border-top:.8px solid var(--ink-2)}
.orn{text-align:center;color:var(--ink-2);font-size:1.1rem;letter-spacing:.6em;margin:18px 0}
.ink-rough{filter:url(#rough)}

/* Shell */
.app{display:grid;grid-template-columns:1fr;min-height:100%}
.rail{display:none}
main{min-width:0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px calc(96px + env(safe-area-inset-bottom,0px))}
.wrap{max-width:980px;margin:0 auto}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);background:var(--paper-3);border-top:3px double var(--ink);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
.tab{display:flex;flex-direction:column;align-items:center;gap:0;padding:7px 0 5px;font-variant:small-caps;letter-spacing:.1em;font-size:.95rem;color:var(--ink-2);text-decoration:none}
.tab .g{font-family:var(--f-display);font-size:1.25rem;line-height:1;display:inline-flex}.tab .g svg{display:block;width:1.5rem;height:1.5rem}
.tab[aria-current="page"]{color:var(--rubric)}
@media (min-width:900px){
  .app{grid-template-columns:230px 1fr}
  .tabbar{display:none}
  .rail{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:30px 20px;border-right:3px double var(--ink);background:var(--paper-3)}
  .rail .tab{flex-direction:row;gap:12px;justify-content:flex-start;padding:9px 6px;font-size:1.08rem;border-bottom:.6px solid var(--ink-3)}
  .rail .brand{margin-bottom:26px;text-align:center}
  main{padding-block:34px 48px}
}
.brand .t{font-family:var(--f-display);font-size:1.75rem;line-height:1;font-weight:600;letter-spacing:.02em}
.brand .s{font-variant:small-caps;letter-spacing:.16em;font-size:.86rem;color:var(--ink-2)}

/* Portada / índice */
.titlepage{text-align:center;max-width:640px;margin:0 auto 6px}
.titlepage .pre{font-variant:small-caps;letter-spacing:.22em;font-size:.95rem;color:var(--ink-2)}
.titlepage h1{font-size:clamp(2.6rem,10vw,4.4rem);font-weight:600;letter-spacing:.03em;margin:4px 0 0}
.titlepage .sub{font-style:italic;font-size:1.1rem;margin:4px 0}
.titlepage .imp{font-variant:small-caps;letter-spacing:.14em;font-size:.88rem;color:var(--ink-2);margin-top:8px}
.plate{position:relative;border:1.5px solid var(--ink);outline:.6px solid var(--ink);outline-offset:4px;background:var(--ink);overflow:hidden;margin:22px auto 8px;max-width:680px}
.plate svg,.plate canvas{display:block;width:100%;height:auto}
.plate-cap{text-align:center;font-style:italic;font-size:.92rem;color:var(--ink-2);max-width:680px;margin:6px auto 0}
.plate-cap .sc{font-style:normal}
.lead-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0 6px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-variant:small-caps;letter-spacing:.12em;font-size:1.05rem;border:1.5px solid var(--ink);text-decoration:none;background:var(--paper-3)}
.btn-primary{background:var(--ink);color:var(--paper-3)}
.btn[disabled]{opacity:.3;cursor:default}

.toc{max-width:680px;margin:30px auto 0}
.toc h2{text-align:center;font-size:1.6rem;font-weight:600;letter-spacing:.06em}
.toc .tomo{text-align:center;font-variant:small-caps;letter-spacing:.18em;color:var(--ink-2);margin-top:26px}
.toc ol{list-style:none;padding:0;margin:8px 0 0}
.entry{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;width:100%;text-align:left;padding:10px 0;border-bottom:.6px dotted var(--ink-3)}
.entry .n{font-family:var(--f-display);font-style:italic;color:var(--ink-2);min-width:2.2em}
.entry .tt{min-width:0}
.entry .tt b{font-family:var(--f-display);font-weight:600;font-size:1.22rem}
.entry .tt span{display:block;font-size:.92rem;color:var(--ink-2);font-style:italic;line-height:1.35}
.entry .st{font-variant:small-caps;letter-spacing:.1em;font-size:.9rem;white-space:nowrap}
.entry .st.free{color:var(--rubric)}
.entry .st.lock{color:var(--ink-3)}
.prog{height:2px;background:var(--paper-2);margin:-6px 0 14px}.prog i{display:block;height:100%;background:var(--rubric)}
.pgbtn{justify-self:center;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);background:var(--paper-3);border-left:3px double var(--ink);padding:22px 18px calc(18px + env(safe-area-inset-bottom,0px));overflow-y:auto;box-shadow:-10px 0 30px rgba(0,0,0,.18)}
.drawer h2{font-size:1.7rem;margin:2px 0 0}
.drawer .close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--ink)}
.pglist{list-style:none;margin:0;padding:0}
.pglist a{display:grid;grid-template-columns:26px 54px 1fr;gap:10px;align-items:center;padding:7px 4px;border-bottom:.6px dotted var(--ink-3);text-decoration:none;color:var(--ink)}
.pglist a[aria-current]{background:var(--paper-2);outline:1px solid var(--rubric)}
.pglist .pn{font-family:var(--f-display);text-align:right;color:var(--ink-2);font-variant-numeric:lining-nums}
.pglist .pt{width:54px;height:38px;border:.8px solid var(--ink);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--paper-2)}
.pglist .pt img{width:100%;height:100%;object-fit:cover}
.pglist .pt i{font-style:normal;color:var(--rubric);font-size:1.1rem}
.pglist .px{font-size:1.02rem;line-height:1.25}
.gridf{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.gridf .fcard{padding:8px}.gridf .fcard h3{font-size:1.12rem;line-height:1.15}.gridf .fcard p{font-size:.86rem}.gridf .fcard .label{font-size:.72rem}
@media (min-width:760px){.gridf{grid-template-columns:repeat(3,1fr);gap:16px}.gridf .fcard{padding:12px}.gridf .fcard h3{font-size:1.3rem}}
.runhead>*{white-space:nowrap}.runhead span:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
.rnav .btn{white-space:nowrap;padding-inline:12px}
.fcard .thumb{position:relative}
.flags{display:inline-flex;gap:4px;vertical-align:middle}
.flags svg{width:24px;height:16px;display:block;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.flags.on-thumb{position:absolute;top:6px;left:6px;background:rgba(244,236,214,.85);padding:3px;border:.6px solid var(--ink-3)}
.fcard .thumb .flags.on-thumb svg{width:21px;height:14px}
.flag-label .flags{margin-left:6px;transform:translateY(-1px)}
.topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;gap:12px;margin:-18px -16px 16px;padding:10px 16px;background:var(--paper-3);border-bottom:3px double var(--ink);box-shadow:0 2px 8px rgba(40,25,10,.08)}
.tb-back{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border:1.5px solid var(--ink);background:var(--paper);text-decoration:none;font-variant:small-caps;letter-spacing:.1em;font-size:1.05rem;white-space:nowrap;max-width:60%;overflow:hidden;text-overflow:ellipsis}
.tb-back .ar{font-size:1.5rem;line-height:.8;font-family:var(--f-display)}
.tb-back:hover{background:var(--ink);color:var(--paper-3)}
.brand-home{display:block;text-decoration:none;color:inherit;border-radius:2px;transition:opacity .2s}.brand-home:hover{opacity:.72}.brand-home:focus-visible{outline:2px solid var(--rubric);outline-offset:4px}
.brand .by span{display:block;white-space:nowrap}
.ways{max-width:760px;margin:20px auto 24px}
@media (min-width:900px){.ways{max-width:840px}.ways-g{gap:16px}.way b{font-size:1.5rem}.way .wd{font-size:.97rem}}
.ways-h{text-align:center;font-variant:small-caps;letter-spacing:.18em;color:var(--ink-2);margin-bottom:12px}
.ways-g{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.way{display:flex;flex-direction:column;align-items:stretch;text-align:center;text-decoration:none;color:inherit;font:inherit;background:var(--paper-3);border:1.5px solid var(--ink);padding:8px 8px 12px;box-shadow:0 2px 8px rgba(42,30,20,.2);cursor:pointer;transition:transform .2s,box-shadow .2s}
.way:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(42,30,20,.25)}
.way:focus-visible{outline:2px solid var(--rubric);outline-offset:3px}
.way .wi{display:block;aspect-ratio:4/3;overflow:hidden;border:.8px solid var(--ink-2);background:var(--paper-2)}
.way .wi img{width:100%;height:100%;object-fit:cover;display:block}
@media (hover:hover) and (pointer:fine){
.fcard{transition:transform .2s,box-shadow .2s}.fcard:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(42,30,20,.25)}
.fcard .thumb{overflow:hidden}.fcard .thumb>:first-child{transition:transform .45s ease}.fcard:hover .thumb>:first-child{transform:scale(1.07)}
.gfig .frame{overflow:hidden}.gfig img{transition:transform .6s ease}.gfig .frame:hover img{transform:scale(1.02)}}
#view.wide{max-width:1180px}
.gsub{font-style:italic;color:var(--ink-2);margin:6px auto 0;max-width:34em}
.gjump{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:6px 0 10px}
.gsec{margin-top:44px}
.gsec-h{text-align:center;margin-bottom:18px}.gsec-h h2{margin:2px 0 0;font-size:clamp(1.7rem,5vw,2.4rem)}.gsec-h .gmeta{display:block;font-style:italic;color:var(--ink-2);font-size:.95rem}
.gfig{width:fit-content;max-width:100%;margin:0 auto 34px}.gfig .frame{padding:0}.gfig img{width:auto;max-width:100%;height:auto;max-height:92vh;display:block;margin:0 auto}
.gtit{text-decoration:none;color:inherit}.gtit span{color:var(--rubric);font-size:.8em}.gtit:hover{color:var(--rubric)}
@media (max-width:700px){.gfig{max-width:none;width:auto;margin-inline:-14px}.gfig .gcap{padding-inline:14px}}
.gfig .gcap{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap;margin-top:8px;font-size:.88rem;line-height:1.4;font-style:italic;color:var(--ink-2);text-align:left}
.gread{font-style:normal;font-variant:small-caps;letter-spacing:.1em;white-space:nowrap;color:var(--rubric);text-decoration:none}.gread:hover{text-decoration:underline}
.wi{position:relative}.wi img.wcy{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}.wi img.wcy.on{opacity:1}
.way b{font-family:var(--f-display);font-weight:600;font-size:1.35rem;line-height:1.1;margin-top:10px}
.way .wd{font-size:.88rem;font-style:italic;color:var(--ink-2);line-height:1.3;margin-top:4px}
@media (max-width:520px){.ways{margin:14px auto 18px}.ways-g{gap:8px}.way{padding:5px 5px 9px}.way b{font-size:1.02rem;margin-top:7px}.way .wd{font-size:.72rem}}
.ac-err{display:block;margin-top:4px;font-size:.78rem;color:var(--ink-3);font-family:ui-monospace,monospace;word-break:break-word}
.ac-back{display:block;text-align:center;margin-top:14px;font-variant:small-caps;letter-spacing:.1em;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.ac-back:hover{color:var(--rubric)}
.hdr-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:12px}
.hdr-tools .ac-chip{margin-top:0}
.snd-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 10px;border:1px solid var(--ink-3);border-radius:999px;font-variant:small-caps;letter-spacing:.1em;font-size:.92rem;color:var(--ink-2);background:var(--paper-3);cursor:pointer}
.snd-btn[aria-pressed="false"]{opacity:.7}.snd-btn:hover{background:var(--ink);color:var(--paper-3)}
.rail-snd{padding-top:6px}.rail-snd .snd-btn{border:0;background:transparent;padding:6px 4px;font-size:1rem}
:root.night{--paper:#1a140f;--paper-2:#2a2018;--paper-3:#221a13;--ink:#EADDC2;--ink-2:#C4B18F;--ink-3:#8E7B5D;--rubric:#E0735C;--brass:#CFA75E;color-scheme:dark}
.night body::after{mix-blend-mode:soft-light;opacity:.35}
.night .sheet-page{box-shadow:0 1px 0 #000,0 16px 34px rgba(0,0,0,.5)}
.night .rnav{background:rgba(26,20,15,.96)}
.night .sp-card{background:rgba(26,20,15,.94)}
.night .flags.on-thumb,.night .zbtn,.night .ba-l{background:rgba(26,20,15,.85)}
.night .tmap-wrap,.night .frame,.night .fig .frame{background:#EDE2C8}
.night .way,.night .ac-chip,.night .snd-btn,.night .btn{background:var(--paper-3)}
.night .btn-primary{background:var(--ink);color:#1a140f}
.night .ac-g svg{background:#fff}
.night .entry .ethumb,.night .ethumb{border-color:var(--ink-3)}
.night img{filter:brightness(.94)}
.thm-btn{display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 10px;border:1px solid var(--ink-3);border-radius:999px;font-variant:small-caps;letter-spacing:.1em;font-size:.92rem;color:var(--ink-2);background:var(--paper-3);cursor:pointer}
.thm-btn:hover{background:var(--ink);color:var(--paper-3)}
.rail-snd .thm-btn{border:0;background:transparent;padding:6px 4px;font-size:1rem}
.topbar .thm-btn{margin-left:auto;padding:6px 8px;border-radius:50%}.topbar .thm-btn span{display:none}
.shr-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;padding:0;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer}
.shr-ico:hover,.shr-pill:hover{background:var(--paper-2)}
.shr-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 10px;border:1px solid var(--ink-3);border-radius:999px;font:inherit;font-variant:small-caps;letter-spacing:.1em;font-size:.92rem;color:var(--ink-2);background:var(--paper-3);cursor:pointer}
.shr-btn{cursor:pointer;font:inherit;font-variant:small-caps;letter-spacing:.12em;font-size:1.05rem;color:var(--ink)}
.shr{position:relative;width:min(440px,100vw);max-height:92vh;overflow-y:auto;background:var(--paper-3);border:3px double var(--ink);padding:22px 20px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 10px 40px rgba(0,0,0,.3);color:var(--ink)}
.shr-t{margin:4px 0 2px;padding-right:30px;font-size:1.35rem;line-height:1.2}
.shr-d{margin:0 0 14px;font-style:italic;color:var(--ink-2)}
.shr-g{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.shr-g .btn{cursor:pointer;font-family:inherit;color:var(--ink)}
.shr-c{display:flex;gap:8px}
.shr-c input{flex:1;min-width:0;font:inherit;font-size:.88rem;padding:8px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink)}
.shr-c .btn{cursor:pointer;font-family:inherit}
.titlepage .sub3d{margin-top:8px;font-variant:small-caps;letter-spacing:.12em;font-size:.95rem;color:var(--rubric)}
.chip.chip3d{border-color:var(--rubric);color:var(--rubric)}.chip.chip3d[aria-selected="true"]{background:var(--rubric);color:var(--paper-3)}
.fcard .b3d{position:absolute;right:6px;bottom:6px;top:auto;left:auto;padding:3px 9px;background:var(--rubric);color:#F4ECD6;font:700 .9rem/1.2 var(--f-display);letter-spacing:.06em;border:1px solid rgba(244,236,214,.7);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.tabbar .g{position:relative}
.tabbar .tab{min-width:0;font-size:clamp(.66rem,2.75vw,.95rem);letter-spacing:.03em}.tabbar .tab>span:last-child{max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}.t3d{position:absolute;top:-4px;right:-16px;font:700 .58rem/1 var(--f-display);font-style:normal;letter-spacing:.02em;background:var(--rubric);color:#F4ECD6;padding:2px 3px;border-radius:2px}
.legal{text-align:center;margin-top:10px}.legal a{color:var(--ink-2)}
.tb-home .hi{display:inline-flex}.tb-home .hi svg{width:1.35em;height:1.35em}
.cover-lead{text-align:center;font-size:1.12rem;line-height:1.5;max-width:520px;margin:14px auto 0}
.cover-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 4px}
.titlepage .h1-brand{font-size:clamp(3rem,13vw,5.2rem);letter-spacing:.04em;line-height:.98;margin:6px 0 2px}
.titlepage .byline{font-style:italic;font-size:1.02rem;color:var(--ink-2);margin-top:6px}
.titlepage .byline+.imp{margin-top:6px}
.titlepage .tagline{font-family:var(--f-display);font-style:italic;font-size:clamp(1.15rem,4.2vw,1.45rem);color:var(--rubric);margin:10px 0 2px}
.tb-title{flex:1;min-width:0;text-align:right;font-variant:small-caps;letter-spacing:.12em;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
.rnav .btn.off{opacity:.35;pointer-events:none}.rnav #prev[hidden]{display:none}
.rnav{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom,0px));z-index:14;background:rgba(240,230,205,.96);padding:8px;border:.6px solid var(--ink-3);box-shadow:0 -2px 10px rgba(40,25,10,.10)}
@media (min-width:900px){.rnav{bottom:12px}}
.entry .st.soon{color:var(--ink-3);font-style:italic}
.titlepage h1.h1-long{font-size:clamp(1.9rem,7.6vw,3.3rem);line-height:1.05}
.langs{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-variant:small-caps;letter-spacing:.14em;font-size:.92rem;color:var(--ink-3)}
.langs button{background:none;border:0;padding:4px 6px;font:inherit;color:var(--ink-2);cursor:pointer;letter-spacing:.14em}
.langs button[aria-current]{color:var(--rubric);text-decoration:underline;text-underline-offset:3px}
.lang-pick{display:grid;gap:12px;max-width:420px;margin:26px auto 0}
.lang-pick.row{grid-template-columns:repeat(3,1fr);max-width:none;margin:8px 0 0}
.lang-pick.row .btn{padding-inline:6px}
.lang-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px}
.lang-btn b{font-family:var(--f-display);font-size:1.5rem;font-weight:500;letter-spacing:.02em}
.lang-btn span{font-style:italic;font-size:.95rem;color:var(--ink-2)}
.ac-chip{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 14px 6px 10px;border:1px solid var(--ink-3);border-radius:999px;font-variant:small-caps;letter-spacing:.1em;font-size:.92rem;text-decoration:none;color:var(--ink-2);background:var(--paper-3)}
.ac-chip svg{width:18px;height:18px}.ac-chip.on{border-color:var(--rubric);color:var(--rubric)}
.ac-chip:hover{background:var(--ink);color:var(--paper-3)}
.rail{box-sizing:border-box;overflow-y:auto}.rail-acct{margin-top:auto;padding-top:10px}.rail-acct .tab{border-bottom:0;border-top:.6px solid var(--ink-3)}
.ac-nudge{display:grid;gap:6px;justify-items:center;text-align:center;margin:22px auto 0;max-width:460px;padding:16px 18px;border:1.5px dashed var(--ink-3);background:var(--paper-3)}
.ac-nudge span{font-style:italic;color:var(--ink-2)}.ac-nudge .btn{margin-top:6px}
.acct .ac-list{margin:10px 0 18px;padding-left:1.2em}.acct .ac-list li{margin:4px 0}
.acct .ac-g{width:100%;gap:12px;text-transform:none}.acct .ac-g svg{background:#fff;padding:3px;border-radius:2px;width:24px;height:24px}
.ac-or{display:flex;align-items:center;gap:12px;margin:16px 0 10px;font-style:italic;color:var(--ink-2)}.ac-or::before,.ac-or::after{content:"";flex:1;border-top:1px solid var(--ink-3)}
.ac-mail{display:flex;gap:8px;flex-wrap:wrap}.ac-mail input{flex:1 1 200px;min-width:0;padding:10px 12px;font:inherit;border:1.5px solid var(--ink);background:var(--paper-3);color:var(--ink)}
.ac-mail .btn{flex:0 0 auto}
.ac-msg{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--rubric);background:var(--paper-3)}
.ac-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0 6px;cursor:pointer}.ac-check input{margin-top:5px;width:18px;height:18px;accent-color:var(--rubric)}
.ac-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 6px}
.ac-st{font-style:italic;color:var(--ink-2);min-height:1.4em}
.ac-del{margin-top:6px;border-color:var(--rubric);color:var(--rubric);background:transparent}
body.splash .tabbar,body.splash .rail{display:none}
body.splash .app{grid-template-columns:1fr}
body.splash #view{max-width:760px;margin-inline:auto;width:100%}
.sp-bg{position:fixed;inset:0;z-index:0;overflow:hidden;background:#2a2118}
.sp-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 2.4s ease}
.sp-bg img.on{opacity:1;animation:spkb 16s ease-out forwards}
@keyframes spkb{from{transform:scale(1.04)}to{transform:scale(1.15)}}
.sp-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(42,30,20,.08) 0%,rgba(42,30,20,.5) 75%,rgba(42,30,20,.72) 100%)}
.sp-card{position:relative;z-index:1;max-width:520px;margin:max(5vh,24px) auto 0;padding:30px 26px 24px;background:rgba(237,226,200,.95);border:3px double var(--ink);box-shadow:0 18px 50px rgba(20,12,4,.45)}
.sp-card .titlepage{margin-top:0}
.sp-card .lang-pick{margin-top:22px}
.sp-cap{position:fixed;z-index:1;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));font-variant:small-caps;letter-spacing:.16em;font-size:.85rem;color:var(--paper-3);text-shadow:0 1px 4px rgba(0,0,0,.7);transition:opacity .8s}
@media (max-width:520px){body.splash main{padding-block:0}body.splash #view{box-sizing:border-box;padding-block:18px 0;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
 .sp-card{padding:18px 14px 14px;margin:0 0 calc(40px + env(safe-area-inset-bottom,0px))}
 .sp-card .titlepage .pre{font-size:.78rem;letter-spacing:.14em}.sp-card .titlepage h1{font-size:2.5rem}
 .sp-card .lang-pick{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.sp-card .lang-btn{padding:12px 4px}.sp-card .lang-btn b{font-size:1.12rem}.sp-card .lang-btn span{display:none}
 .sp-card .fine{margin-top:12px!important;font-size:.8rem}
 .sp-card{margin-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.sp-cap{left:16px;text-align:center;bottom:auto;top:calc(14px + env(safe-area-inset-top,0px))}}
@media (prefers-reduced-motion:reduce){.sp-bg img.on{animation:none}.sp-bg img{transition:opacity 1s}}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px auto 4px;max-width:760px}
[hidden]{display:none!important}
.tleg{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;max-width:640px;margin:10px auto 0;padding:10px 12px;border:.8px solid var(--ink-2);background:var(--paper-3);font-size:.9rem}
.tleg span{display:inline-flex;align-items:center;gap:6px}.tleg svg{width:26px;height:14px;flex:none}.tleg svg[viewBox^="-7"]{width:15px;height:15px}

.b3d{position:absolute;right:6px;top:6px;background:#2A1E14;color:#F4ECD6;font-family:var(--f-display);font-size:.78rem;letter-spacing:.06em;padding:2px 6px;border:.8px solid #F4ECD6}
.v3tabs{margin:10px auto 10px}
.vitrina{touch-action:none}

.ba-w{position:relative;overflow:hidden;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.ba-img{display:block;width:100%;height:auto;pointer-events:none}
.ba-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba-top .ba-img{width:100%;height:100%;object-fit:cover}
.ba-h{position:absolute;top:0;bottom:0;left:var(--p);width:0;border-left:2px solid #F4ECD6;box-shadow:0 0 0 1px rgba(42,30,20,.55);outline:none}
.ba-h span{position:absolute;top:50%;left:-21px;width:42px;height:42px;margin-top:-21px;border-radius:50%;background:#F4ECD6;border:1.5px solid #2A1E14;display:grid;place-items:center;font-family:var(--f-display);font-size:1.05rem;color:#2A1E14;letter-spacing:-.05em}
.ba-h:focus-visible span{outline:3px solid var(--rubric);outline-offset:2px}
.ba-l{position:absolute;top:8px;padding:2px 9px;background:rgba(244,236,214,.92);border:.8px solid var(--ink-2);font-variant:small-caps;letter-spacing:.08em;font-size:.86rem;color:var(--ink);pointer-events:none}
.ba-l1{left:8px}.ba-l2{right:8px}

.tmap-wrap{position:relative;max-width:640px;margin:8px auto 0;border:3px double var(--ink);background:#EDE2C8}
.tmap{display:block;width:100%;height:auto;touch-action:manipulation}
.tmap .mk{cursor:pointer}.tmap .mk:focus{outline:none}.tmap .mk:focus-visible circle.ring,.tmap .mk:hover circle.ring{stroke:var(--rubric);stroke-width:2.4}
.tmap .mk.sel circle.ring{stroke:var(--rubric);stroke-width:3}
.tviews{margin:12px auto 0}
.mpop{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(74px + env(safe-area-inset-bottom));z-index:30;width:min(94vw,520px);background:var(--paper-3);border:.8px solid var(--ink);box-shadow:0 8px 28px rgba(42,30,20,.35);display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px;animation:popin .25s ease-out}
@media (min-width:900px){.mpop{bottom:24px;left:calc(50% + 130px)}}
@keyframes popin{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
.mpop img{width:110px;height:82px;object-fit:cover;border:.8px solid var(--ink-2)}
.mpop .label{font-size:.78rem}.mpop h3{margin:2px 0;font-size:1.25rem;line-height:1.1}.mpop p{margin:0 0 8px;font-size:.9rem;color:var(--ink-2);font-style:italic;line-height:1.3}
.mpop .btn{padding:6px 12px;font-size:.92rem}.mpop .mx{position:absolute;top:2px;right:4px;border:0;background:none;font-size:1.3rem;color:var(--ink-2);cursor:pointer;padding:4px 8px}
.mpop.ctx{grid-template-columns:1fr}
.idx-map{display:flex;justify-content:center;margin:10px 0 0}

.entry{grid-template-columns:auto 1fr auto;align-items:center}
.ethumb{width:76px;height:57px;object-fit:cover;border:.8px solid var(--ink-2);box-shadow:0 1px 2px rgba(42,30,20,.25);display:block}
.entry .tt .n{display:block;font-size:.82rem;min-width:0;font-variant:small-caps;font-style:normal;letter-spacing:.12em;color:var(--ink-3)}
.eprog{display:block;height:3px;background:rgba(42,30,20,.12);margin-top:6px;max-width:180px}.eprog i{display:block;height:100%;background:var(--rubric)}
.toc .entry{grid-template-columns:auto 1fr;column-gap:16px;row-gap:2px;align-items:center;padding:14px 0}
.toc .ethumb{grid-row:span 2;width:168px;height:118px;border:1px solid var(--ink);box-shadow:0 2px 6px rgba(42,30,20,.28);transition:transform .25s}
.toc .entry:hover .ethumb{transform:scale(1.03)}
.toc .entry .tt{align-self:end}
.toc .entry .tt b{display:block;font-size:1.7rem;line-height:1.05;letter-spacing:.01em;margin:2px 0 4px}
.toc .entry .tt span{font-size:1rem}
.toc .entry .st{grid-column:2;align-self:start;justify-self:start;font-size:.85rem}
@media (max-width:520px){.toc .ethumb{width:118px;height:88px}.toc .entry{column-gap:12px;padding:12px 0}.toc .entry .tt b{font-size:1.38rem}.toc .entry .tt span{font-size:.9rem}}
@media (max-width:360px){.toc .ethumb{width:100px;height:76px}}
body.noscroll{overflow:hidden}
.zoomable .frame{position:relative;cursor:zoom-in}
.zbtn{position:absolute;right:6px;top:6px;width:34px;height:34px;display:grid;place-items:center;background:rgba(244,236,214,.9);border:.8px solid var(--ink-2);color:var(--ink);cursor:pointer;padding:0;z-index:2}
.zbtn svg{width:17px;height:17px}.zbtn:hover,.zbtn:focus-visible{background:var(--ink);color:var(--paper-3)}
.mv-btn{display:flex;align-items:center;gap:4px;margin:8px auto 2px;font:inherit;font-variant:small-caps;letter-spacing:.08em;font-size:.92rem;padding:6px 11px;background:rgba(244,236,214,.94);border:.8px solid var(--ink-2);color:var(--ink);cursor:pointer}
.mv-btn span{color:var(--rubric);margin-right:3px}.mv-btn.on{opacity:.55}.mv-btn:hover{background:var(--ink);color:var(--paper-3)}.mv-btn:hover span{color:var(--paper-3)}
.zoom{position:fixed;inset:0;z-index:60;background:rgba(30,22,15,.94);display:flex;flex-direction:column;color:#F4ECD6;touch-action:none}
.zoom-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;touch-action:none}
.zoom.zoomed .zoom-stage{cursor:grab}
.zoom-c{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none}
.zoom-c img{display:block;max-width:94vw;max-height:72vh;width:auto;height:auto;box-shadow:0 6px 30px rgba(0,0,0,.5)}
.zoom-c svg{display:block;background:#EDE2C8;box-shadow:0 6px 30px rgba(0,0,0,.5)}
.zoom-bar{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;display:flex;gap:6px;z-index:2}
.zoom-bar button{min-width:44px;height:44px;padding:0 10px;font:inherit;font-size:1.25rem;background:rgba(244,236,214,.95);color:#2A1E14;border:0;cursor:pointer}
.zoom-bar button[data-z="fit"]{font-size:.9rem;font-variant:small-caps;letter-spacing:.08em}
.zoom-bar .zoom-x{background:#8A2B1D;color:#F4ECD6}
.zoom-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:88px;padding:0;border:0;background:rgba(20,14,9,.28);color:#F4ECD6;font:400 2.6rem/1 var(--f-display);opacity:.55;cursor:pointer;transition:opacity .2s,background .2s}
.zoom-nav:hover,.zoom-nav:focus-visible{opacity:1;background:rgba(20,14,9,.55)}
.zprev{left:max(6px,env(safe-area-inset-left))}.zoom-cap .gread{margin-left:12px;color:#E9C9A0;display:inline-block}.znext{right:max(6px,env(safe-area-inset-right))}
.zoom-count{position:absolute;top:max(18px,env(safe-area-inset-top));left:16px;z-index:2;font-variant:small-caps;letter-spacing:.12em;font-size:.9rem;color:#B9AD93}
@media (max-width:700px){.zoom-nav{width:38px;height:64px;font-size:2rem;opacity:.45}}
.zoom-cap{padding:10px 18px 2px;font-style:italic;font-size:.95rem;text-align:center;max-width:760px;margin:0 auto;color:#E9DFC6}
.zoom-hint{margin:2px auto calc(10px + env(safe-area-inset-bottom));font-size:.8rem;color:#B9AD93;text-align:center;padding:0 16px}
.anim .pg-i .ic{opacity:0;transform:scale(.3);transition:opacity .35s,transform .35s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(var(--i,0)*28ms)}
.anim.in .pg-i .ic{opacity:1;transform:none}
.anim use[href="#i-mini"]{opacity:0;transition:opacity .25s;transition-delay:calc(var(--i,0)*12ms)}
.anim.in use[href="#i-mini"]{opacity:1}
.anim.stats .stat{opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}.anim.stats.in .stat{opacity:1;transform:none}
.anim.stats.in .stat:nth-child(2){transition-delay:.12s}.anim.stats.in .stat:nth-child(3){transition-delay:.24s}.anim.stats.in .stat:nth-child(4){transition-delay:.36s}
.about h2{font-size:1.3rem;margin-top:22px}.about .cite{border-left:3px solid var(--rubric);padding:6px 12px;background:var(--paper-3)}
.about .langs{justify-content:center;margin:18px 0 6px}

.search{display:flex;align-items:center;gap:8px;max-width:560px;margin:16px auto 8px;border:.8px solid var(--ink-2);background:var(--paper-3);padding:8px 12px}
.search svg{width:18px;height:18px;color:var(--ink-2);flex:none}
.search input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:max(16px,1.02rem);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--ink-3);font-style:italic}
.search:focus-within{outline:2px solid var(--rubric);outline-offset:1px}
.search-n{font-variant:small-caps;letter-spacing:.06em;font-size:.85rem;color:var(--ink-3);white-space:nowrap}
.chips.ctry{margin-top:8px}.chips-l{align-self:center;font-variant:small-caps;letter-spacing:.14em;color:var(--ink-3);font-size:.9rem;margin-right:2px}
button.chip{font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.chip .flags svg{width:18px;height:12px}
.hits{list-style:none;padding:0;margin:6px 0 12px}.hit{display:block;padding:10px 4px;border-bottom:.6px dotted var(--ink-3);text-decoration:none;color:var(--ink)}
.hit b{display:block;font-weight:600;line-height:1.25}.hit span{display:block;font-size:.92rem;color:var(--ink-2);margin-top:2px}
.hit:hover b,.hit:focus b{color:var(--rubric)}#hits .tomo small{font-size:.8em;color:var(--ink-3)}
mark{background:rgba(160,40,30,.16);color:inherit;padding:0 1px}
.chip{border:.8px solid var(--ink-2);padding:5px 12px;font-variant:small-caps;letter-spacing:.1em;font-size:.98rem;text-decoration:none;color:var(--ink);background:var(--paper-3)}
.chip small{font-size:.8em;color:var(--ink-3);margin-left:2px}
.chip[aria-selected]{background:var(--ink);color:var(--paper-3)}
.chip[aria-selected] small{color:var(--paper-2)}
.fsec{font-size:1.35rem;font-weight:600;letter-spacing:.06em;font-variant:small-caps;text-align:center;margin:30px 0 12px;border-bottom:.6px solid var(--ink-3);padding-bottom:6px}
.fcard .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fcard .thumb.top img{object-position:50% 18%}
.plan.on{grid-template-columns:1fr auto;cursor:default}
.plan.on .n{color:var(--rubric)}
.aviso .lnk{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}


/* Lector: pliego */
.sheet-page{max-width:700px;margin:0 auto;background:var(--paper-3);border:.6px solid var(--ink-3);box-shadow:0 1px 0 var(--paper-2),0 14px 30px rgba(60,40,15,.18);padding:22px clamp(18px,5vw,54px) 18px}
.runhead{display:flex;justify-content:space-between;gap:10px;font-variant:small-caps;letter-spacing:.14em;font-size:.86rem;color:var(--ink-2);border-bottom:.6px solid var(--ink-2);padding-bottom:6px;margin-bottom:22px}
.runhead a{text-decoration:none}
.page{min-height:46vh}
.page h2{font-size:clamp(1.9rem,6.4vw,2.7rem);margin:6px 0 16px}
.page p{margin:0 0 14px;max-width:62ch;text-align:justify;hyphens:auto}
.page .lead::first-letter{font-family:var(--f-display);float:left;font-size:3.6em;line-height:.82;padding:6px 8px 0 0;color:var(--rubric)}
.mark{display:inline-flex;align-items:baseline;gap:6px;font-variant:small-caps;letter-spacing:.12em;font-size:.92rem;color:var(--ink-2)}
.mark .sym{font-family:var(--f-display);font-size:1.15rem;color:var(--rubric)}
.note{border-top:.6px solid var(--ink-2);border-bottom:.6px solid var(--ink-2);padding:8px 2px;font-size:.93rem;margin:18px 0;max-width:62ch}
.note .sc{color:var(--rubric);margin-right:6px}
.fig{margin:18px 0 6px;text-align:center}
.fig .frame{border:1.5px solid var(--ink);outline:.6px solid var(--ink);outline-offset:3px;background:var(--paper-3);padding:6px}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{font-size:.88rem;color:var(--ink-2);font-style:italic;margin-top:8px}
.foot{margin-top:22px;border-top:.6px solid var(--ink-2);padding-top:8px;font-size:.8rem;color:var(--ink-2);line-height:1.4}
.folio{text-align:center;font-family:var(--f-display);font-style:italic;color:var(--ink-2);margin-top:10px}
.rnav{display:flex;justify-content:space-between;gap:10px;max-width:700px;margin:16px auto 0}
.srclist{padding-left:18px;margin:0 0 14px}
.srclist li{margin-bottom:8px;font-size:.95rem}
.legend{display:grid;gap:10px;margin:14px 0}
.legend div{display:grid;grid-template-columns:2.2em 1fr;gap:8px;align-items:baseline}
.legend .sym{font-family:var(--f-display);font-size:1.5rem;color:var(--rubric);text-align:center}
.legend b{font-variant:small-caps;letter-spacing:.08em;font-weight:400}

/* Fichas */
.grid3{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.fcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--paper-3);border:.6px solid var(--ink-3);padding:12px}
.fcard .thumb{border:1.2px solid var(--ink);aspect-ratio:16/10;max-width:100%;overflow:hidden;background:var(--paper-2)}
.fcard .thumb svg{width:100%;height:100%;display:block}
.fcard h3{font-size:1.4rem;font-weight:600}
.fcard p{margin:0;font-size:.95rem;color:var(--ink-2)}
.fcard .st{font-variant:small-caps;letter-spacing:.1em;font-size:.92rem}
.ficha{max-width:720px;margin:0 auto}
.ficha h1{font-size:clamp(2.2rem,7vw,3.2rem);font-weight:600;margin:4px 0 6px}
.ficha h2{font-size:1.45rem;margin:26px 0 8px;font-weight:600}
.ficha p{max-width:64ch}
.specs{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:14px 0;font-size:.98rem}
.specs dt{font-variant:small-caps;letter-spacing:.1em;color:var(--ink-2)}
.specs dd{margin:0}
@media (max-width:560px){.specs{grid-template-columns:1fr;gap:0}.specs dt{margin-top:8px;font-size:.88rem}.specs dd{padding-bottom:6px;border-bottom:.6px dotted var(--ink-3)}
 .rnav{gap:6px;padding:6px}.rnav .btn{padding:9px 10px;font-size:.95rem;letter-spacing:.06em}}
.steps{counter-reset:s;list-style:none;padding:0;margin:10px 0;display:grid;gap:6px}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.4em 1fr;gap:8px;align-items:baseline}
.steps li::before{content:counter(s,upper-roman) ".";font-family:var(--f-display);color:var(--rubric);text-align:right}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0}
.sw{border:.6px solid var(--ink-2);background:var(--paper-3)}
.sw i{display:block;height:46px;border-bottom:.6px solid var(--ink-2)}
.sw span{display:block;padding:6px 8px;font-size:.88rem;line-height:1.3}
.gate{position:relative;margin-top:10px}
.gate .blur{filter:blur(4px);opacity:.45;pointer-events:none;user-select:none}
.gate .over{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:16px;background:linear-gradient(to bottom,transparent,var(--paper) 50%)}
.gate .over p{margin:0;max-width:34ch;font-style:italic}

/* Vitrina 3D */
.vitrina{position:relative;border:1.5px solid var(--ink);outline:.6px solid var(--ink);outline-offset:4px;background:radial-gradient(ellipse at 50% 40%,#F1E7CF,#CDBA92 80%);aspect-ratio:4/3;max-width:100%;overflow:hidden;touch-action:none;margin:18px 0 6px}
.vitrina canvas{display:block;width:100%;height:100%;cursor:grab}
.vitrina .hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-variant:small-caps;letter-spacing:.12em;font-size:.86rem;color:var(--ink-2);pointer-events:none}
.vitrina .fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-style:italic;color:var(--ink-2)}

/* Cronología */
.tl{list-style:none;margin:0 auto;padding:0;max-width:680px}
.tl li{display:grid;grid-template-columns:7.2em 1fr;gap:14px;padding:12px 0;border-bottom:.6px dotted var(--ink-3)}
.tl .d{font-variant:small-caps;letter-spacing:.06em;color:var(--ink-2);text-align:right;font-variant-numeric:oldstyle-nums}
.tl h3{font-size:1.25rem;font-weight:600}
.tl p{margin:2px 0 0;font-size:.95rem;color:var(--ink-2)}
.tl li.hot h3{color:var(--rubric)}
.tl .lnk{display:inline-block;margin-top:4px;font-variant:small-caps;letter-spacing:.1em;font-size:.9rem;color:var(--rubric)}
@media (max-width:460px){.tl li{grid-template-columns:1fr;gap:2px}.tl .d{text-align:left}}

/* Cuenta / instituciones / aviso */
.panel{border:.6px solid var(--ink-2);background:var(--paper-3);padding:16px 18px;margin:0 auto 14px;max-width:680px}
.panel h2{font-size:1.4rem;margin:2px 0 6px;font-weight:600}
.panel p{margin:0 0 10px;color:var(--ink-2)}
.switch{display:flex;align-items:center;justify-content:space-between;gap:16px}
.switch input{width:22px;height:22px;accent-color:var(--rubric)}
.form{display:grid;gap:12px;max-width:520px}
.form label{display:grid;gap:4px;font-variant:small-caps;letter-spacing:.1em;color:var(--ink-2)}
.form input,.form select{font:inherit;font-variant:normal;letter-spacing:0;color:var(--ink);background:var(--paper-3);border:0;border-bottom:1px solid var(--ink);padding:8px 2px;font-size:1rem}
.feature{display:grid;gap:8px;margin:12px 0 16px;padding:0;list-style:none}
.feature li{display:grid;grid-template-columns:1.4em 1fr;gap:6px}
.feature li::before{content:"☞";color:var(--rubric)}
.scrim{position:fixed;inset:0;z-index:40;background:rgba(42,30,20,.55);display:flex;align-items:flex-end;justify-content:center}
@media (min-width:700px){.scrim{align-items:center}}
.aviso{position:relative;width:100%;max-width:500px;max-height:92vh;overflow:auto;background:var(--paper-3);border:3px double var(--ink);padding:20px max(18px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));text-align:center}
.aviso h2{font-size:1.9rem;font-weight:600;letter-spacing:.04em;margin:2px 0}
.plans{display:grid;gap:0;margin:10px 0 14px;text-align:left}
.plan{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:baseline;padding:11px 4px;border-bottom:.6px dotted var(--ink-3);cursor:pointer}
.plan input{accent-color:var(--rubric);width:16px;height:16px;margin:0;align-self:center}
.plan .n{font-variant:small-caps;letter-spacing:.1em;font-size:1.05rem}
.plan .d{display:block;font-size:.86rem;color:var(--ink-2);font-style:italic}
.plan .p{font-family:var(--f-display);font-size:1.25rem;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.plan:has(input:checked) .n{color:var(--rubric)}
.fine{font-size:.82rem;color:var(--ink-2);margin:10px 0 0;font-style:italic}
.close{position:absolute;right:8px;top:4px;padding:6px 10px;font-size:1.5rem;line-height:1;color:var(--ink-2)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:70;background:var(--ink);color:var(--paper-3);padding:9px 16px;font-size:.92rem;max-width:calc(100% - 32px)}
@media (min-width:900px){.toast{bottom:28px}}
.bcard{border:3px double var(--ink);background:var(--paper);padding:14px 14px 10px;margin:6px 0 10px}
.bc-top{text-align:center;border-bottom:.6px solid var(--ink-2);padding-bottom:8px;margin-bottom:10px}
.bc-top h3{font-size:1.45rem;font-weight:600;margin-top:2px}
.bc-gen{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0 0 12px;font-size:.95rem}
.bc-gen dt{font-variant:small-caps;letter-spacing:.1em;color:var(--ink-2)}.bc-gen dd{margin:0}
.bc-forces{border-top:.6px solid var(--ink-2);border-bottom:.6px solid var(--ink-2);padding:10px 0;margin-bottom:10px}
.fbar{display:grid;grid-template-columns:1fr;gap:3px;margin-bottom:8px}
.fbar .fl{font-variant:small-caps;letter-spacing:.08em;font-size:.92rem}
.fbar.py .fl{color:var(--rubric)}.fbar.al .fl{color:#24426C}
.fbar .ft{display:flex;height:12px;border:.6px solid var(--ink-2);background:var(--paper-3)}
.fbar.py .ft i{background:#8A2B1D}.fbar.al .ft i{background:#24426C}
.fbar .ft i.rng{background:repeating-linear-gradient(45deg,currentColor 0 1.5px,transparent 1.5px 4px)}
.fbar.py .ft i.rng{color:#8A2B1D}.fbar.al .ft i.rng{color:#24426C}
.fbar .fn{font-family:var(--f-display);font-size:1.05rem;font-variant-numeric:lining-nums}
.picto{display:grid;grid-template-columns:1fr;gap:14px}
.ps-h{font-family:var(--f-display);font-weight:600;font-size:1.1rem;padding-bottom:4px;margin-bottom:6px;border-bottom:3px solid}
.ps.py .ps-h{color:var(--rubric);border-color:#8A2B1D}.ps.al .ps-h{color:#24426C;border-color:#24426C}
.pg{margin-bottom:8px}
.pg-l{display:flex;justify-content:space-between;gap:10px;font-variant:small-caps;letter-spacing:.08em;font-size:.9rem;color:var(--ink-2)}
.pg-l b{font-family:var(--f-display);font-variant:normal;letter-spacing:0;font-weight:500;color:var(--ink);font-size:1rem}
.pg-i{display:flex;flex-wrap:wrap;gap:2px 3px;margin-top:3px}
.ic{width:24px;height:24px;flex:none}
.ps.py .ic{color:#8A2B1D;fill:#8A2B1D}.ps.al .ic{color:#24426C;fill:#24426C}
.ic.q{opacity:.28}
.pkey{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.84rem;font-style:italic;color:var(--ink-2)}
.pkey span{display:inline-flex;align-items:center;gap:4px}
.pkey .ic{width:18px;height:18px;fill:var(--ink)}
@media (min-width:640px){.picto{grid-template-columns:1fr 1.4fr}}
.bct{width:100%;border-collapse:collapse;font-size:.93rem;table-layout:fixed}
.bct thead th{font-family:var(--f-display);font-weight:600;font-size:1.05rem;padding:6px 6px;border-bottom:1.5px solid var(--ink);text-align:left;vertical-align:bottom}
.bct thead th.py{color:var(--rubric);border-top:4px solid #8A2B1D}.bct thead th.al{color:#24426C;border-top:4px solid #24426C}
.bct tr.lab th{font-variant:small-caps;letter-spacing:.12em;font-weight:400;color:var(--ink-2);text-align:left;padding:10px 6px 2px;font-size:.88rem}
.bct td{vertical-align:top;padding:2px 6px 8px;border-bottom:.6px dotted var(--ink-3);line-height:1.4}
.bct td:first-child{border-right:.6px solid var(--ink-3)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}
.stat{border-top:4px solid #8A2B1D;background:var(--paper);padding:8px 10px}
.stat.al{border-top-color:#24426C}
.stat b{display:block;font-family:var(--f-display);font-size:1.9rem;line-height:1.05;font-variant-numeric:lining-nums}
.stat.py b{color:var(--rubric)}.stat.al b{color:#24426C}
.stat span{font-variant:small-caps;letter-spacing:.08em;font-size:.88rem;color:var(--ink-2)}
.cover-rot{aspect-ratio:4/3;max-width:680px;background:var(--paper-2);cursor:pointer}
.cover-rot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.cover-rot img.on{opacity:1}
.rot-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;padding:0 0 4px;background:rgba(237,226,200,.9);border:1.5px solid var(--ink);color:var(--ink);font-family:var(--f-display);font-size:1.9rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(20,12,4,.3);cursor:pointer;transition:background .2s,color .2s}
.rot-arr:hover{background:var(--ink);color:var(--paper-3)}.rot-arr:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}
.rot-prev{left:10px}.rot-next{right:10px}
@media (max-width:520px){.rot-arr{width:40px;height:40px;font-size:1.7rem}.rot-prev{left:6px}.rot-next{right:6px}}
.wk .ink-rough{filter:none}
.rot-dots{display:flex;justify-content:center;gap:8px;margin:8px 0 0}
.rot-dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--ink-2);padding:0;background:transparent}
.rot-dots button[aria-current="true"]{background:var(--rubric);border-color:var(--rubric)}
.fig-portrait{max-width:360px;margin-inline:auto}
.cine{margin:22px 0 4px;padding:14px 16px;border:3px double var(--ink);background:var(--paper);text-align:center}
.cine h3{font-size:1.5rem;font-weight:600;margin:2px 0 6px}
.cine p{text-align:center;margin:0 auto 12px;font-style:italic;max-width:44ch}
.demo{display:inline-block;font-variant:small-caps;letter-spacing:.12em;font-size:.82rem;color:var(--rubric);border:.8px solid var(--rubric);padding:0 8px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
