:root{--ink:#eee2c8;--muted:#c0ad87;--gold:#b99855;--deep:#0a0706;--panel:rgba(12,8,6,.92);--violet:#9e76ff}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050403;color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,a{font:inherit}.archive{height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden}.forge-return{position:fixed;z-index:30;top:max(14px,env(safe-area-inset-top));left:16px;color:var(--ink);text-decoration:none;padding:.7rem 1rem;border:1px solid rgba(185,152,85,.65);background:rgba(8,5,4,.78);backdrop-filter:blur(8px);border-radius:2px}.forge-return:hover,.forge-return:focus-visible{background:rgba(65,39,20,.9);outline:2px solid var(--gold);outline-offset:2px}.archive__header{text-align:center;padding:1.1rem 5rem .7rem;background:linear-gradient(#090604,rgba(9,6,4,.72));position:relative;z-index:3}.archive__header h1{margin:.08rem 0;font-size:clamp(1.7rem,4vw,3.1rem);font-weight:500;letter-spacing:.08em}.archive__header p{margin:.2rem 0;color:var(--muted)}.archive__eyebrow{letter-spacing:.22em!important;font-size:.78rem}.scene{position:relative;min-height:0;overflow:hidden;background:#080604;isolation:isolate;display:grid;place-items:center}.scene__stage{position:relative;overflow:hidden;background:#080604;flex:none}.scene picture,.scene img{display:block;width:100%;height:100%}.scene img{object-fit:contain;object-position:center;transition:opacity .35s ease,transform .9s cubic-bezier(.2,.75,.2,1)}.scene.is-changing img{opacity:.2;transform:scale(1.025)}.scene__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.14),transparent 22%,transparent 78%,rgba(0,0,0,.14)),linear-gradient(0deg,rgba(0,0,0,.34),transparent 28%);pointer-events:none}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid rgba(196,164,99,.75);background:rgba(9,6,4,.65);color:var(--ink);padding:.55rem .75rem;min-width:150px;max-width:240px;text-align:left;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.65),0 0 24px rgba(180,130,65,.14);backdrop-filter:blur(5px);opacity:.28;transition:opacity .2s,transform .2s,box-shadow .2s}.hotspot::before{content:'';display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);margin-right:.45rem}.hotspot span{display:block;font-size:.75rem;color:var(--muted);margin-top:.2rem}.hotspot:hover,.hotspot:focus-visible{opacity:1;transform:translate(-50%,-50%) scale(1.04);box-shadow:0 0 0 1px #000,0 0 34px rgba(185,152,85,.45);outline:none}.scene-nav{position:absolute;z-index:4;border:1px solid rgba(185,152,85,.65);background:rgba(8,5,4,.7);color:var(--ink);cursor:pointer;backdrop-filter:blur(6px)}.scene-nav:hover,.scene-nav:focus-visible{background:rgba(71,43,20,.9);outline:2px solid var(--gold)}.scene-nav--left,.scene-nav--right{top:50%;transform:translateY(-50%);width:48px;height:72px;font-size:2rem}.scene-nav--left{left:12px}.scene-nav--right{right:12px}.scene-nav--back,.scene-nav--center{left:50%;bottom:14px;transform:translateX(-50%);padding:.75rem 1.15rem}.view-tabs{display:flex;justify-content:center;gap:.35rem;padding:.65rem;background:#090604;border-top:1px solid rgba(185,152,85,.25)}.view-tabs button{border:1px solid rgba(185,152,85,.38);background:#140e0a;color:var(--muted);padding:.6rem .9rem;cursor:pointer}.view-tabs button[aria-current=true]{color:var(--ink);border-color:var(--gold);background:#2b1b10}.archive__hint{text-align:center;margin:0;padding:.6rem 1rem 1rem;background:#090604;color:var(--muted);font-size:.9rem}.document{width:min(760px,calc(100vw - 2rem));max-height:min(82vh,820px);border:1px solid var(--gold);background:radial-gradient(circle at top,#2b2117 0,#150e0a 42%,#0c0806 100%);color:var(--ink);padding:clamp(1.3rem,4vw,3rem);box-shadow:0 30px 100px #000}.document::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}.document__close{position:absolute;right:.65rem;top:.55rem;border:0;background:transparent;color:var(--ink);font-size:2rem;cursor:pointer}.document__kicker{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem}.document h2{font-size:clamp(1.8rem,5vw,3rem);font-weight:500;margin:.35rem 0 1rem}.document p{line-height:1.7;color:#dccdae}.document ul{line-height:1.8;color:#dccdae}.document__ornament{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin-bottom:1.2rem}
@media(max-width:760px){.archive__header{padding:3.8rem .75rem .35rem}.archive__header h1{font-size:clamp(1.35rem,7vw,2rem)}.archive__header p{font-size:.8rem}.forge-return{font-size:.76rem;padding:.55rem .7rem}.scene img{object-position:center}.hotspot{min-width:0;width:44px;height:44px;padding:0;border-radius:50%;font-size:0;opacity:.7}.hotspot::before{margin:0;width:.7rem;height:.7rem}.hotspot span{display:none}.scene-nav--left,.scene-nav--right{width:42px;height:58px}.view-tabs{overflow:auto;justify-content:flex-start}.view-tabs button{white-space:nowrap}.archive__hint{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media (max-height:760px){
  .archive__header{padding:.45rem 5rem .3rem}
  .archive__header h1{font-size:1.45rem}
  .archive__header p{margin:.05rem 0;font-size:.72rem}
  .archive__eyebrow{font-size:.65rem}
  .view-tabs{padding:.35rem}
  .view-tabs button{padding:.42rem .7rem;font-size:.82rem}
  .archive__hint{padding:.32rem .75rem .45rem;font-size:.75rem}
  .forge-return{top:8px;padding:.45rem .65rem;font-size:.74rem}
}
@media (max-height:620px){
  .archive__hint{display:none}
  .archive__header{padding:.25rem 4.5rem}
  .archive__header h1{font-size:1.15rem}
  .archive__eyebrow,#viewTitle{display:none}
  .view-tabs{padding:.25rem}
  .view-tabs button{padding:.32rem .55rem;font-size:.74rem}
}

/* v0.13 — composizioni responsive dedicate */
.scene__stage[data-layout="desktop"]{aspect-ratio:16/9}
.scene__stage[data-layout="tablet"]{aspect-ratio:4/3}
.scene__stage[data-layout="mobile"]{aspect-ratio:9/16}
.scene__stage picture{position:absolute;inset:0}
.scene__stage picture img{width:100%;height:100%;object-fit:cover}
.scene__stage[data-layout="mobile"] .hotspot{
  width:48px;height:48px;min-width:48px;max-width:48px;
  border-radius:50%;padding:0;font-size:0;opacity:.82;
  display:grid;place-items:center;
}
.scene__stage[data-layout="mobile"] .hotspot::before{margin:0;width:.8rem;height:.8rem}
.scene__stage[data-layout="mobile"] .hotspot span{display:none}
.scene__stage[data-layout="mobile"] .scene-nav--left,
.scene__stage[data-layout="mobile"] .scene-nav--right{
  top:auto;bottom:14px;transform:none;width:48px;height:48px;border-radius:50%;
}
.scene__stage[data-layout="mobile"] .scene-nav--left{left:14px}
.scene__stage[data-layout="mobile"] .scene-nav--right{right:14px}
.scene__stage[data-layout="mobile"] .scene-nav--back,
.scene__stage[data-layout="mobile"] .scene-nav--center{
  bottom:14px;padding:.62rem .8rem;max-width:54%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
@media (max-width:699px) and (orientation:portrait){
  .archive{grid-template-rows:auto minmax(0,1fr) auto}
  .archive__header{padding:3.3rem .6rem .3rem}
  .archive__header h1{font-size:clamp(1.2rem,6vw,1.75rem)}
  .archive__header p:not(.archive__eyebrow){display:none}
  .view-tabs{order:3;padding:.35rem .25rem;gap:.2rem;justify-content:center;overflow:visible}
  .view-tabs button{padding:.42rem .48rem;font-size:.72rem;white-space:nowrap}
  .archive__hint{display:none}
  .forge-return{left:8px;top:max(8px,env(safe-area-inset-top));font-size:.7rem;padding:.45rem .55rem}
}
@media (min-width:700px) and (max-width:1099px){
  .archive__header{padding:.7rem 4.5rem .45rem}
  .archive__header h1{font-size:clamp(1.5rem,4vw,2.3rem)}
  .view-tabs{padding:.45rem}
  .view-tabs button{padding:.5rem .7rem}
}

/* v0.14 — Archivi full-bleed senza bande nere */
.scene{display:block}
.scene__stage,
.scene__stage[data-layout="desktop"],
.scene__stage[data-layout="tablet"],
.scene__stage[data-layout="mobile"]{
  width:100%!important;
  height:100%!important;
  max-width:none;
  max-height:none;
  aspect-ratio:auto!important;
}
.scene__stage picture,
.scene__stage picture img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.scene__stage picture img{
  object-fit:cover;
  object-position:center center;
}
.scene__stage[data-view="center"] picture img{object-position:center 48%}
.scene__stage[data-view="left"] picture img{object-position:center 50%}
.scene__stage[data-view="right"] picture img{object-position:center 50%}
.scene__stage[data-view="back"] picture img{object-position:center 50%}
@media (max-width:1099px) and (orientation:portrait){
  .scene__stage[data-view="center"] picture img{object-position:center 46%}
  .scene__stage[data-view="left"] picture img{object-position:center 48%}
  .scene__stage[data-view="right"] picture img{object-position:center 48%}
  .scene__stage[data-view="back"] picture img{object-position:center 48%}
}

/* v0.15 — lettore contenuti canonici */
.document__tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.25rem}
.document__tabs:empty{display:none}
.document__tabs button{border:1px solid rgba(185,152,85,.45);background:rgba(18,12,8,.8);color:var(--muted);padding:.55rem .75rem;cursor:pointer}
.document__tabs button[aria-current="true"]{border-color:var(--gold);color:var(--ink);background:#2b1b10}
.document__tabs button:hover,.document__tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.document__lead{font-size:1.08rem;color:#f0dfbd!important;border-left:2px solid var(--gold);padding-left:1rem}
.document h3{font-size:1.45rem;font-weight:500;color:var(--gold);margin:1.25rem 0 .45rem}
.document__download{display:inline-block;margin-top:1.2rem;padding:.72rem 1rem;border:1px solid var(--gold);color:var(--ink);text-decoration:none;background:#2b1b10}
.document__download:hover,.document__download:focus-visible{background:#4a2d17;outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:699px){
  .document{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:4rem 1rem 2rem}
  .document__tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem}
  .document__tabs button{white-space:nowrap}
}

/* v0.16 — contenuti vivi, cronache e taglie */
.archive-list{display:grid;gap:1rem}
.archive-card{padding:1rem 1.1rem;border:1px solid rgba(185,152,85,.3);background:rgba(10,7,5,.52)}
.archive-card h3{margin:.2rem 0 .5rem}
.archive-card__meta{margin:0;color:var(--gold);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.archive-card__source{margin:.2rem 0 .6rem!important;color:var(--muted)!important;font-style:italic}
.bounty-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.bounty-card{border:1px solid rgba(185,152,85,.45);background:#130d09;padding:.35rem;cursor:pointer}
.bounty-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#080604}
.bounty-card:hover,.bounty-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bounty-viewer{width:min(900px,calc(100vw - 1rem));height:min(94dvh,1100px);padding:2.7rem 1rem 1rem;border:1px solid var(--gold);background:#080604}
.bounty-viewer::backdrop{background:rgba(0,0,0,.88)}
.bounty-viewer img{display:block;width:100%;height:100%;object-fit:contain}
.bounty-viewer__close{position:absolute;top:.4rem;right:.6rem;border:0;background:transparent;color:var(--ink);font-size:2rem;cursor:pointer}
@media(max-width:699px){
  .bounty-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v0.18 — esplorazione libera e indice completo */
.archive-index-toggle{
  position:fixed;
  z-index:30;
  top:max(14px,env(safe-area-inset-top));
  right:16px;
  color:var(--ink);
  padding:.7rem 1rem;
  border:1px solid rgba(185,152,85,.65);
  background:rgba(8,5,4,.78);
  backdrop-filter:blur(8px);
  cursor:pointer;
}
.archive-index-toggle:hover,.archive-index-toggle:focus-visible{
  background:rgba(65,39,20,.9);
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.archive-index{
  width:min(980px,calc(100vw - 2rem));
  max-height:min(88dvh,900px);
  border:1px solid var(--gold);
  background:radial-gradient(circle at top,#2b2117 0,#150e0a 45%,#0c0806 100%);
  color:var(--ink);
  padding:clamp(1.2rem,3vw,2.4rem);
}
.archive-index::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}
.archive-index__close{
  position:absolute;right:.6rem;top:.4rem;border:0;background:transparent;
  color:var(--ink);font-size:2rem;cursor:pointer;
}
.archive-index h2{
  margin:.3rem 0 .5rem;
  font-size:clamp(1.8rem,5vw,3rem);
  font-weight:500;
}
.archive-index__intro{color:var(--muted);margin:0 0 1.4rem}
.archive-index__groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.archive-index__groups section{
  border:1px solid rgba(185,152,85,.28);
  background:rgba(10,7,5,.5);
  padding:1rem;
}
.archive-index__groups h3{
  color:var(--gold);
  font-size:1.15rem;
  font-weight:500;
  margin:0 0 .65rem;
}
.archive-index__groups button{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  border-top:1px solid rgba(185,152,85,.18);
  background:transparent;
  color:var(--ink);
  padding:.7rem .15rem;
  cursor:pointer;
}
.archive-index__groups button:hover,.archive-index__groups button:focus-visible{
  color:#fff0c8;
  background:rgba(185,152,85,.08);
  outline:none;
}
@media(max-width:699px){
  .archive-index-toggle{
    top:max(8px,env(safe-area-inset-top));
    right:8px;
    padding:.45rem .55rem;
    font-size:.7rem;
  }
  .archive-index{
    width:100vw;height:100dvh;max-width:none;max-height:none;
    margin:0;border:0;padding:4rem 1rem 2rem;
  }
  .archive-index__groups{grid-template-columns:1fr}
}

/* v0.18.1 — indice sempre visibile */
.archive-index-toggle{
  display:block!important;
  position:fixed!important;
  z-index:9999!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:16px!important;
  min-width:96px;
  color:#f2e6ca!important;
  background:rgba(24,15,10,.94)!important;
  border:1px solid #b99855!important;
  box-shadow:0 4px 18px rgba(0,0,0,.45);
}
.archive-index-toggle::before{
  content:'☰';
  margin-right:.45rem;
}
@media(max-width:699px){
  .archive-index-toggle{
    top:max(8px,env(safe-area-inset-top))!important;
    right:8px!important;
    min-width:74px;
    font-size:.72rem!important;
  }
}

/* v0.18.2 — correzione definitiva del pulsante Indice */
#archiveIndexToggle{
  appearance:none;
  -webkit-appearance:none;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
}
body > #archiveIndexToggle{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}

/* v0.19 — completamento delle dodici sezioni */
.archive-index__complete{
  display:inline-block;
  margin:0 0 1.2rem;
  padding:.35rem .65rem;
  border:1px solid rgba(185,152,85,.45);
  color:var(--gold);
  background:rgba(185,152,85,.08);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.document__tabs button{
  position:relative;
}
.document__tabs button[aria-current="true"]::after{
  content:'';
  position:absolute;
  left:.45rem;
  right:.45rem;
  bottom:.18rem;
  height:1px;
  background:var(--gold);
}

/* v0.20 — impaginazione editoriale avanzata */
.document__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.document__meta span{
  display:inline-block;padding:.28rem .5rem;border:1px solid rgba(185,152,85,.35);
  color:var(--muted);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;
  background:rgba(10,7,5,.45)
}
.document__meta .status-pubblico{color:#d8cba7;border-color:rgba(216,203,167,.45)}
.document__meta .status-riservato{color:#d7a38f;border-color:rgba(215,163,143,.45)}
.document__meta .status-frammentario{color:#bca6f0;border-color:rgba(188,166,240,.45)}
.document__meta .status-sigillato{color:#ca8c8c;border-color:rgba(202,140,140,.45)}
.archive-card__badge{
  display:inline-block!important;margin:.1rem 0 .6rem!important;padding:.22rem .45rem;
  border:1px solid rgba(185,152,85,.35);color:var(--gold)!important;
  font-size:.68rem!important;letter-spacing:.07em;text-transform:uppercase
}
.timeline{position:relative;display:grid;gap:1.2rem;margin-top:1rem}
.timeline::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:1px;background:rgba(185,152,85,.35)}
.timeline__item{position:relative;display:grid;grid-template-columns:24px 1fr;gap:.8rem}
.timeline__marker{width:11px;height:11px;border-radius:50%;margin-top:.35rem;background:var(--gold);box-shadow:0 0 14px rgba(185,152,85,.45);z-index:1}
.timeline__content{padding:0 0 1rem;border-bottom:1px solid rgba(185,152,85,.18)}
.timeline__date,.timeline__place{margin:.1rem 0!important;color:var(--muted)!important;font-size:.78rem}
.bounty-card span{display:block;padding:.45rem .2rem .2rem;color:var(--muted);font-size:.75rem}
.bounty-viewer__caption{
  display:grid;gap:.2rem;padding:.75rem 0 0;color:var(--muted);font-size:.82rem
}
.bounty-viewer__caption strong{color:var(--ink);font-size:1rem}
@media(max-width:699px){
  .document__meta{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}
  .document__meta span{white-space:nowrap}
}

/* v0.20.1 — correzione metadati e cronologia */
.document__meta[hidden]{display:none!important}
.document__meta:not([hidden]){
  display:flex!important;
  flex-wrap:wrap;
  gap:.45rem;
  margin:0 0 1rem;
}
.document__meta span{opacity:1!important;visibility:visible!important}
.document__meta .meta-type{color:#eadab8;border-color:rgba(234,218,184,.45)}
.document__meta .meta-updated{color:#d9b86c;border-color:rgba(217,184,108,.5)}
.timeline{display:grid!important;gap:1.15rem}

/* v0.21 — ricerca, navigazione e rifiniture responsive */
.archive-index__tools{
  display:grid;
  gap:.75rem;
  margin:0 0 1.2rem;
  padding:1rem;
  border:1px solid rgba(185,152,85,.25);
  background:rgba(7,5,4,.42);
}
.archive-search{display:grid;gap:.35rem;color:var(--gold);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.archive-search input{
  width:100%;
  border:1px solid rgba(185,152,85,.45);
  background:#0d0907;
  color:var(--ink);
  padding:.75rem .85rem;
  font-size:1rem;
  text-transform:none;
  letter-spacing:normal;
}
.archive-search input:focus{outline:2px solid var(--gold);outline-offset:2px}
.archive-filters{display:flex;flex-wrap:wrap;gap:.35rem}
.archive-filters button{
  border:1px solid rgba(185,152,85,.3);
  background:#140e0a;
  color:var(--muted);
  padding:.4rem .6rem;
  cursor:pointer;
}
.archive-filters button[aria-pressed="true"]{border-color:var(--gold);color:var(--ink);background:#2b1b10}
.archive-search__status{margin:0;color:var(--muted);font-size:.78rem}
.archive-index__groups button.is-search-match{
  color:#fff2ca;
  background:linear-gradient(90deg,rgba(185,152,85,.15),transparent);
}
.archive-index__groups button.is-search-match::before{content:'⌕';margin-right:.45rem;color:var(--gold)}

.document__navigation{
  position:sticky;
  bottom:-1px;
  z-index:3;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:.55rem;
  margin:1.5rem -1rem -1rem;
  padding:1rem;
  border-top:1px solid rgba(185,152,85,.3);
  background:rgba(10,7,5,.96);
  backdrop-filter:blur(8px);
}
.document__navigation button{
  border:1px solid rgba(185,152,85,.45);
  background:#140e0a;
  color:var(--ink);
  padding:.7rem .8rem;
  cursor:pointer;
}
.document__navigation button:last-child{text-align:right}
.document__navigation button:disabled{opacity:.32;cursor:not-allowed}
.document__navigation button:not(:disabled):hover,
.document__navigation button:not(:disabled):focus-visible{
  border-color:var(--gold);
  outline:2px solid var(--gold);
  outline-offset:2px;
}

.timeline__item--programmato .timeline__marker{background:#a787e8;box-shadow:0 0 16px rgba(167,135,232,.65)}
.timeline__item--programmato .timeline__content{border-color:rgba(167,135,232,.35)}
.timeline__item--programmato .archive-card__badge{color:#cdb9ff!important;border-color:rgba(167,135,232,.5)}
.timeline__item--concluso{opacity:.86}

.bounty-gallery{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.bounty-card{display:flex;flex-direction:column;min-height:100%}
.bounty-card img{flex:1}
.bounty-viewer{display:none}
.bounty-viewer[open]{display:grid;grid-template-rows:minmax(0,1fr) auto}
.bounty-viewer__caption{border-top:1px solid rgba(185,152,85,.3);margin-top:.7rem}

.document[open]{animation:documentReveal .22s ease-out}
.archive-index[open]{animation:indexReveal .2s ease-out}
.hotspot{animation:hotspotReveal .35s ease both}
.scene:not(.is-changing) img{animation:sceneSettle .5s ease-out}
@keyframes documentReveal{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes indexReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes hotspotReveal{from{opacity:0;filter:blur(3px)}}
@keyframes sceneSettle{from{opacity:.72;transform:scale(1.012)}to{opacity:1;transform:none}}

@media(max-width:699px){
  .archive-index__tools{padding:.75rem}
  .archive-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem}
  .archive-filters button{white-space:nowrap}
  .document__navigation{
    grid-template-columns:1fr 1fr;
    margin:1.25rem -1rem -2rem;
  }
  #documentRoom{grid-column:1/-1;grid-row:1}
  #documentPrevious{grid-column:1;grid-row:2}
  #documentNext{grid-column:2;grid-row:2}
  .bounty-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
}

/* v0.21.1 — ritorno semplice alla stanza */
.document__navigation{
  display:flex!important;
  justify-content:center;
  grid-template-columns:none!important;
}
.document__navigation #documentRoom{
  min-width:min(280px,100%);
  text-align:center;
}
@media(max-width:699px){
  .document__navigation{
    display:flex!important;
  }
  #documentRoom{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* v0.22 — identità visiva delle singole sezioni */
.document{
  --section-accent:var(--gold);
  --section-accent-soft:rgba(185,152,85,.18);
  --section-panel:rgba(19,13,9,.72);
}
.document__visual-mark{
  width:3.2rem;
  height:3.2rem;
  display:grid;
  place-items:center;
  margin:0 auto .65rem;
  border:1px solid var(--section-accent);
  color:var(--section-accent);
  background:radial-gradient(circle,var(--section-accent-soft),transparent 68%);
  font-size:1.45rem;
  transform:rotate(45deg);
}
.document__visual-mark::first-line{transform:rotate(-45deg)}
.document__visual-mark{line-height:1}
.document__visual-mark{font-family:Georgia,'Times New Roman',serif}
.document__visual-mark{box-shadow:0 0 24px var(--section-accent-soft)}
.document__kicker,.document h3{color:var(--section-accent)}
.document__ornament{background:linear-gradient(90deg,transparent,var(--section-accent),transparent)}
.document__meta span,.document__tabs button,.document__download,.document__navigation button{
  border-color:rgba(185,152,85,.45);
  border-color:color-mix(in srgb,var(--section-accent) 55%,transparent)
}
.document__tabs button[aria-current="true"]{
  border-color:var(--section-accent);
  box-shadow:inset 0 -2px 0 var(--section-accent);
}
.document__body{
  position:relative;
  isolation:isolate;
}
.document__body::before{
  content:'';
  position:absolute;
  inset:.2rem 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--section-accent-soft),transparent);
  pointer-events:none;
}
.document__lead{border-left-color:var(--section-accent)!important}

/* Codex delle Origini — manoscritto antico */
.document--origins{
  --section-accent:#d7b56d;
  --section-accent-soft:rgba(215,181,109,.2);
  background:
    linear-gradient(rgba(13,8,5,.9),rgba(13,8,5,.94)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px),
    radial-gradient(circle at top,#3a2819,#120b07 70%);
}
.document--origins .document__body{font-family:Georgia,'Times New Roman',serif}
.document--origins .document__body p::first-letter{
  font-size:1.65em;
  color:var(--section-accent);
  line-height:.9;
}

/* Atlante — tavola cartografica */
.document--atlas{
  --section-accent:#9eb38e;
  --section-accent-soft:rgba(158,179,142,.2);
  background:
    linear-gradient(rgba(10,14,10,.88),rgba(10,14,10,.96)),
    radial-gradient(circle at 25% 18%,rgba(113,138,97,.2),transparent 34%),
    #0c0d0a;
}
.document--atlas .document__tabs button::before{content:'⌖ ';color:var(--section-accent)}
.document--atlas .document__body--section{
  border:1px solid rgba(158,179,142,.22);
  padding:1rem 1.1rem;
  background:
    linear-gradient(90deg,rgba(158,179,142,.04) 1px,transparent 1px),
    linear-gradient(rgba(158,179,142,.04) 1px,transparent 1px);
  background-size:22px 22px;
}

/* Tela del Fato — frammentario e arcano */
.document--weave{
  --section-accent:#a787e8;
  --section-accent-soft:rgba(167,135,232,.24);
  background:
    radial-gradient(circle at 50% 0,rgba(122,83,196,.26),transparent 36%),
    linear-gradient(#160f22,#09060d 72%);
}
.document--weave .document__body::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 30%,rgba(167,135,232,.08) 31%,transparent 32%),
    linear-gradient(65deg,transparent 62%,rgba(167,135,232,.07) 63%,transparent 64%);
}

/* Stirpi — compendio illustrato */
.document--races{
  --section-accent:#c59a72;
  --section-accent-soft:rgba(197,154,114,.2);
}
.document--races .document__tabs{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
}
.document--races .document__tabs button{text-align:center;min-height:3rem}
.document--races .document__body--section{
  border-left:3px double var(--section-accent);
  padding-left:1rem;
}

/* Fazioni — sigilli e disciplina */
.document--factions{
  --section-accent:#b95f50;
  --section-accent-soft:rgba(185,95,80,.2);
}
.document--factions .document__tabs button{
  text-transform:uppercase;
  letter-spacing:.08em;
}
.document--factions .document__tabs button::before{content:'✥ ';color:var(--section-accent)}

/* Dispacci — bacheca ufficiale */
.document--dispatches{
  --section-accent:#d0b36d;
  --section-accent-soft:rgba(208,179,109,.18);
}
.document--dispatches .archive-card{
  background:linear-gradient(145deg,rgba(50,36,22,.72),rgba(17,11,8,.86));
  border-left:4px solid var(--section-accent);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
.document--dispatches .archive-card__meta::before{content:'SIGILLO UFFICIALE · '}

/* Dicerie — oscuro e incerto */
.document--rumors{
  --section-accent:#7e9fa5;
  --section-accent-soft:rgba(126,159,165,.2);
  background:
    radial-gradient(circle at 50% 15%,rgba(69,105,111,.2),transparent 42%),
    #070a0b;
}
.document--rumors .archive-card{
  border-style:dashed;
  transform:rotate(-.15deg);
  background:rgba(6,11,12,.72);
}
.document--rumors .archive-card:nth-child(even){transform:rotate(.18deg)}
.document--rumors .archive-card__badge{font-style:italic}

/* Cronache di guerra — linea temporale scenografica */
.document--war{
  --section-accent:#b76e4b;
  --section-accent-soft:rgba(183,110,75,.2);
}
.document--war .timeline::before{width:2px;background:linear-gradient(var(--section-accent),rgba(183,110,75,.08))}
.document--war .timeline__content{
  padding:.85rem 1rem 1rem;
  background:linear-gradient(90deg,rgba(183,110,75,.08),transparent);
}

/* Scala — stele incisa */
.document--scale{
  --section-accent:#b7b1a1;
  --section-accent-soft:rgba(183,177,161,.16);
  background:
    linear-gradient(rgba(8,8,7,.9),rgba(8,8,7,.96)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 1px,transparent 1px 5px);
}
.document--scale .archive-card{
  border:1px solid rgba(183,177,161,.28);
  background:linear-gradient(145deg,rgba(75,72,65,.18),rgba(10,10,9,.72));
  text-align:center;
}
.document--scale .archive-card h3{text-transform:uppercase;letter-spacing:.08em}

/* Alchimia — quaderno di laboratorio */
.document--alchemy{
  --section-accent:#81b79b;
  --section-accent-soft:rgba(129,183,155,.2);
  background:
    radial-gradient(circle at 80% 10%,rgba(71,136,103,.18),transparent 30%),
    linear-gradient(#0d1712,#080b09 74%);
}
.document--alchemy .document__tabs button::before{content:'⚗ ';color:var(--section-accent)}
.document--alchemy .document__body--section{
  padding:1rem;
  border:1px solid rgba(129,183,155,.22);
  background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(129,183,155,.05) 27px 28px);
}

/* Taglie — parete di manifesti */
.document--bounties{
  --section-accent:#c48763;
  --section-accent-soft:rgba(196,135,99,.2);
}
.document--bounties .bounty-card{
  transform:rotate(-.35deg);
  box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.document--bounties .bounty-card:nth-child(even){transform:rotate(.45deg)}
.document--bounties .bounty-card:hover{transform:translateY(-3px) rotate(0)}

/* Magibelve — bestiario */
.document--beasts{
  --section-accent:#9f8a60;
  --section-accent-soft:rgba(159,138,96,.2);
  background:
    radial-gradient(circle at 85% 12%,rgba(87,74,42,.2),transparent 30%),
    #0c0a07;
}
.document--beasts .document__body--section{
  border:1px solid rgba(159,138,96,.25);
  padding:1rem;
  background:linear-gradient(135deg,rgba(159,138,96,.06),transparent 60%);
}
.document--beasts .document__body p::before{content:'▹ ';color:var(--section-accent)}

/* Miglioramenti comuni */
.document__download{
  border-color:var(--section-accent);
  background:#2b1b10;
  background:color-mix(in srgb,var(--section-accent) 16%,#1a110b);
}
.document__navigation #documentRoom{
  border-color:var(--section-accent);
  background:#2b1b10;
  background:color-mix(in srgb,var(--section-accent) 15%,#1a110b);
}
@media(max-width:699px){
  .document__visual-mark{width:2.6rem;height:2.6rem;font-size:1.15rem}
  .document--races .document__tabs{display:flex;overflow-x:auto}
  .document--races .document__tabs button{min-width:120px}
  .document--bounties .bounty-card,
  .document--bounties .bounty-card:nth-child(even){transform:none}
}

/* v0.22.1 — ottimizzazioni tecniche */
.archive-build-version{
  margin:.15rem 0 1rem;
  color:var(--muted);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* v0.23 — accessibilità, prestazioni percepite e fallback */
.scene-status{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
:where(button,a,input):focus-visible{
  outline:3px solid #e1bf70!important;
  outline-offset:3px!important;
}
.hotspot:focus-visible{
  opacity:1!important;
  box-shadow:0 0 0 3px #e1bf70,0 0 34px rgba(225,191,112,.45)!important;
}
.scene-nav:disabled{opacity:.38;cursor:not-allowed}
.document__tabs button[aria-current="true"],
.archive-filters button[aria-pressed="true"]{color:#fff4d7}
.noscript-notice{
  position:fixed;inset:0;z-index:100000;display:grid;place-content:center;
  gap:1rem;padding:2rem;text-align:center;background:#090604;color:#eee2c8;
}
.noscript-notice h1{margin:0;font:500 clamp(2rem,7vw,4rem) Georgia,serif}
.noscript-notice p{margin:0;color:#c8b893}
.noscript-notice a{
  justify-self:center;padding:.75rem 1rem;border:1px solid #b99855;
  color:#eee2c8;text-decoration:none;
}
@media(prefers-reduced-motion:reduce){
  .document[open],.archive-index[open],.hotspot,.scene:not(.is-changing) img{
    animation:none!important;
  }
  .scene img,.hotspot,.scene-nav,.document,.archive-index{
    transition:none!important;
  }
}

/* v0.24 — esplorazione immersiva e interazioni touch */
.scene{
  perspective:1200px;
}
.scene__stage{
  transform-style:preserve-3d;
}
.scene img{
  transform:translateZ(0) scale(1.015);
  transition:
    opacity .34s ease,
    transform .7s cubic-bezier(.2,.7,.2,1),
    filter .34s ease;
}
.scene.is-changing img{
  opacity:.42;
  transform:translateZ(-30px) scale(1.045);
  filter:blur(2px) brightness(.72);
}
.scene:not(.is-changing) img{
  transform:translateZ(0) scale(1.015);
}
.scene-loader{
  position:absolute;
  inset:0;
  z-index:20;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:.6rem;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle,rgba(14,9,6,.28),rgba(8,5,3,.76));
  transition:opacity .2s ease;
}
.scene-loader.is-visible{opacity:1}
.scene-loader__sigil{
  font-size:2rem;
  color:#d9b66c;
  animation:scene-sigil-pulse 1.1s ease-in-out infinite;
  text-shadow:0 0 22px rgba(217,182,108,.55);
}
.scene-loader__text{
  color:#ead7ad;
  font-size:.76rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
@keyframes scene-sigil-pulse{
  0%,100%{transform:scale(.92) rotate(0);opacity:.55}
  50%{transform:scale(1.12) rotate(45deg);opacity:1}
}
.hotspots{
  transition:opacity .18s ease;
}
.hotspots:not(.is-ready){
  opacity:0;
  pointer-events:none;
}
.hotspots.is-ready{
  opacity:1;
}
.hotspots.is-ready .hotspot{
  animation:hotspot-arrival .42s ease both;
}
.hotspots.is-ready .hotspot:nth-child(2){animation-delay:.05s}
.hotspots.is-ready .hotspot:nth-child(3){animation-delay:.1s}
@keyframes hotspot-arrival{
  from{opacity:0;transform:translate(-50%,-42%) scale(.92)}
  to{opacity:1;transform:translate(-50%,-50%) scale(1)}
}
.hotspot{
  min-width:44px;
  min-height:44px;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.hotspot::after{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius:inherit;
}
.hotspot:hover,
.hotspot:focus-visible{
  filter:brightness(1.18);
}
.hotspot:active{
  transform:translate(-50%,-50%) scale(.96);
}
.touch-hint{
  position:absolute;
  left:50%;
  bottom:4.8rem;
  z-index:18;
  margin:0;
  padding:.58rem .82rem;
  transform:translate(-50%,8px);
  border:1px solid rgba(213,178,104,.45);
  border-radius:999px;
  color:#ead9b4;
  background:rgba(12,8,5,.86);
  box-shadow:0 8px 28px rgba(0,0,0,.32);
  font-size:.7rem;
  letter-spacing:.05em;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.touch-hint.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
.scene.has-error::after{
  content:'La sala non ha risposto. Riprova.';
  position:absolute;
  left:50%;
  top:50%;
  z-index:25;
  transform:translate(-50%,-50%);
  padding:.8rem 1rem;
  border:1px solid #9d654e;
  background:rgba(24,9,6,.94);
  color:#f0d9c5;
  text-align:center;
}
.document[open]{
  transition:opacity .18s ease,transform .18s ease;
}
.document.is-opening{
  opacity:0;
  transform:translateY(12px) scale(.985);
}
.document.is-closing{
  opacity:0;
  transform:translateY(8px) scale(.985);
}
@media(pointer:coarse){
  .scene-nav,
  .view-tabs button,
  .archive-index-toggle{
    min-height:48px;
  }
  .hotspot{
    padding:.72rem .85rem;
  }
}
@media(max-width:699px){
  .touch-hint{
    bottom:5.5rem;
    max-width:calc(100% - 2rem);
    white-space:nowrap;
  }
}
@media(prefers-reduced-motion:reduce){
  .scene img,
  .scene-loader,
  .scene-loader__sigil,
  .hotspots,
  .hotspot,
  .document[open]{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
  .hotspots:not(.is-ready){opacity:1}
}

/* v0.24.1 — hotspot più discreti a riposo, luminosi in interazione */
.hotspot{
  color:rgba(214,198,164,.68);
  background:rgba(17,12,8,.46);
  border-color:rgba(173,139,76,.28);
  box-shadow:
    0 4px 16px rgba(0,0,0,.24),
    0 0 0 1px rgba(255,255,255,.015) inset;
  text-shadow:0 1px 2px rgba(0,0,0,.72);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
  opacity:.78;
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    opacity .2s ease,
    filter .2s ease,
    transform .2s ease;
}
.hotspot span{
  color:rgba(195,180,148,.52);
  transition:color .2s ease,opacity .2s ease;
}
.hotspot__live{
  color:rgba(210,177,108,.72);
}
.hotspot:hover,
.hotspot:focus-visible,
.hotspot.is-touch-active{
  color:#fff2d5;
  background:rgba(27,18,11,.82);
  border-color:rgba(224,187,106,.82);
  box-shadow:
    0 0 0 1px rgba(229,194,120,.24) inset,
    0 8px 28px rgba(0,0,0,.38),
    0 0 26px rgba(224,187,106,.34);
  text-shadow:0 0 8px rgba(236,207,148,.28);
  opacity:1;
  filter:brightness(1.12);
}
.hotspot:hover span,
.hotspot:focus-visible span,
.hotspot.is-touch-active span{
  color:rgba(255,235,197,.88);
}
.hotspot:hover .hotspot__live,
.hotspot:focus-visible .hotspot__live,
.hotspot.is-touch-active .hotspot__live{
  color:#f2c97b;
}
@media(pointer:coarse){
  .hotspot{opacity:.72}
  .hotspot:active,
  .hotspot.is-touch-active{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .hotspot{transition:none!important}
}

/* v0.25 — leggibilità e consultazione interna dei documenti */
.document{--reading-width:72ch}
.document__meta,
.document__tabs,
.document__contents,
.document__body,
.document__download,
.document__top,
.document__navigation,
#documentTitle,
.document__kicker{
  width:min(100%,var(--reading-width));
  margin-left:auto;
  margin-right:auto;
}
#documentTitle{
  max-width:18ch;
  text-align:center;
  line-height:1.04;
  text-wrap:balance;
}
.document__kicker{text-align:center;letter-spacing:.14em}
.document__meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.45rem;
}
.document__body{
  font-size:clamp(1rem,.92rem + .25vw,1.12rem);
  line-height:1.72;
}
.document__body p{margin:0 0 1.1em}
.document__body h3{
  scroll-margin-top:1.5rem;
  margin:2.2rem 0 .8rem;
  font-size:clamp(1.25rem,1.08rem + .65vw,1.65rem);
  line-height:1.2;
  text-wrap:balance;
}
.document__body h3:first-child{margin-top:.5rem}
.document__lead{
  margin-bottom:1.5rem!important;
  font-size:1.08em;
  line-height:1.62;
}
.document__tabs{gap:.45rem;padding-bottom:.35rem}
.document__tabs button{
  min-height:42px;
  padding:.68rem .82rem;
}
.document__tabs button[aria-current="true"]{
  color:#fff5dc;
  background:rgba(184,148,76,.18);
  box-shadow:inset 0 -2px 0 var(--section-accent),0 0 18px var(--section-accent-soft);
}
.document__contents{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .6rem;
  margin-top:.55rem;
  margin-bottom:1.15rem;
  padding:.7rem .8rem;
  border:1px solid rgba(185,152,85,.2);
  background:rgba(16,11,7,.34);
}
.document__contents[hidden]{display:none!important}
.document__contents-label{
  width:100%;
  color:var(--section-accent);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.document__contents a{
  color:rgba(238,221,183,.78);
  font-size:.84rem;
  text-decoration:none;
  border-bottom:1px dotted rgba(190,156,87,.45);
}
.document__contents a:hover,
.document__contents a:focus-visible{
  color:#fff2ce;
  border-bottom-color:var(--section-accent);
}
.document__download{
  display:block;
  text-align:center;
  margin-top:1.25rem;
  margin-bottom:1rem;
}
.document__download[hidden]{display:none!important}
.document__top{
  position:sticky;
  bottom:1rem;
  z-index:5;
  display:block;
  margin-top:1rem;
  padding:.6rem .8rem;
  border:1px solid rgba(185,152,85,.36);
  color:rgba(239,221,183,.74);
  background:rgba(17,11,7,.82);
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .2s ease,transform .2s ease;
}
.document__top[hidden]{display:none!important}
.document__top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.document__navigation{
  padding-top:.85rem;
  margin-top:.6rem;
  border-top:1px solid rgba(185,152,85,.15);
}
.document__body img,
.bounty-viewer img{
  display:block;
  max-width:100%;
  height:auto;
  margin:1.2rem auto;
  object-fit:contain;
}
.document__body figure{max-width:100%;margin:1.25rem auto}
.document__body figcaption{
  margin-top:.45rem;
  color:rgba(220,205,173,.6);
  font-size:.82rem;
  text-align:center;
}
.document.status--canonico .document__meta::before{
  content:'CANONICO';display:inline-flex;align-items:center;padding:.3rem .52rem;
  border:1px solid rgba(218,181,103,.55);color:#ebc97f;font-size:.68rem;letter-spacing:.1em;
}
.document.status--aggiornato .document__meta::before{
  content:'AGGIORNATO';display:inline-flex;align-items:center;padding:.3rem .52rem;
  border:1px solid rgba(112,174,142,.5);color:#9ed6b8;font-size:.68rem;letter-spacing:.1em;
}
.document.status--incompleto .document__meta::before,
.document.status--in-revisione .document__meta::before{
  content:'IN REVISIONE';display:inline-flex;align-items:center;padding:.3rem .52rem;
  border:1px solid rgba(183,123,87,.52);color:#dfad88;font-size:.68rem;letter-spacing:.1em;
}
.document.status--riservato .document__meta::before{
  content:'RISERVATO';display:inline-flex;align-items:center;padding:.3rem .52rem;
  border:1px solid rgba(161,93,91,.58);color:#ddaaa4;font-size:.68rem;letter-spacing:.1em;
}
@media(max-width:699px){
  .document{--reading-width:100%}
  .document__body{font-size:1rem;line-height:1.66}
  #documentTitle{max-width:14ch}
  .document__tabs{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .document__tabs button{flex:0 0 auto;scroll-snap-align:start}
  .document__contents{display:grid;grid-template-columns:1fr}
  .document__contents a{padding:.35rem 0}
  .document__top{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .document__top{transition:none!important}
}


/* v0.28 — Schede illustrate delle Razze */
.document__body--race{max-width:96rem;}
.race-sheet{display:grid;grid-template-columns:minmax(15rem,0.95fr) minmax(18rem,1.05fr);gap:clamp(1rem,3vw,2.2rem);align-items:start;margin-top:1rem;}
.race-sheet__figure{margin:0;background:rgba(40,25,14,.08);border:1px solid rgba(75,49,27,.32);box-shadow:0 .55rem 1.4rem rgba(28,17,9,.18);padding:.45rem;}
.race-sheet__figure img{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain;}
.race-sheet__figure figcaption{text-align:center;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;padding:.55rem .25rem .2rem;color:rgba(61,39,21,.78);}
.race-sheet__facts{margin:0;display:grid;gap:.8rem;}
.race-sheet__facts div{padding:0 0 .8rem;border-bottom:1px solid rgba(83,54,28,.22);}
.race-sheet__facts dt{font-family:var(--font-display,serif);font-weight:700;letter-spacing:.05em;color:#4b2f17;margin-bottom:.2rem;}
.race-sheet__facts dd{margin:0;line-height:1.58;}
.race-sheet__note{margin-top:1rem;padding:.85rem 1rem;border-left:3px solid rgba(102,65,28,.65);background:rgba(81,51,24,.07);font-style:italic;}
.race-sheet__placeholder{min-height:22rem;border:1px dashed rgba(77,49,24,.42);display:grid;place-items:center;background:linear-gradient(135deg,rgba(64,39,18,.04),rgba(64,39,18,.09));}
.race-sheet__placeholder span{font-family:serif;font-size:5rem;color:rgba(73,46,23,.26);}
@media (max-width:760px){.race-sheet{grid-template-columns:1fr}.race-sheet__figure img{max-height:none}.race-sheet__placeholder{min-height:12rem}}


/* v0.31.1 — Atlante del mondo */
.document--atlas{width:min(1180px,calc(100vw - 1.25rem));}
.document--atlas .document__body--atlas-overview{max-width:none;}
.atlas-overview__map{display:block;width:100%;margin:1rem 0 1.5rem;padding:.45rem;border:1px solid rgba(76,48,24,.38);background:rgba(48,29,13,.08);box-shadow:0 .75rem 1.8rem rgba(27,16,8,.22);cursor:zoom-in;color:#4a2d16;}
.atlas-overview__map img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;background:#d7d1c4;}
.atlas-overview__map span{display:block;padding:.6rem .35rem .25rem;font-family:var(--font-display,serif);letter-spacing:.04em;}
.atlas-overview__map:hover,.atlas-overview__map:focus-visible{outline:2px solid rgba(106,69,31,.75);outline-offset:3px;}
.atlas-overview__peoples{margin-top:1.25rem;}
.atlas-overview__peoples>h3{margin-bottom:.8rem;}
.atlas-overview__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.atlas-overview__card{display:grid;gap:.25rem;text-align:left;padding:.9rem 1rem;border:1px solid rgba(79,50,25,.3);background:linear-gradient(135deg,rgba(255,250,232,.45),rgba(104,68,32,.08));color:#3b2514;cursor:pointer;}
.atlas-overview__card strong{font-family:var(--font-display,serif);font-size:1.08rem;}
.atlas-overview__card span{font-size:.86rem;opacity:.78;}
.atlas-overview__card:hover,.atlas-overview__card:focus-visible{border-color:rgba(99,61,26,.72);transform:translateY(-1px);box-shadow:0 .35rem .9rem rgba(35,21,9,.14);outline:none;}
.atlas-back{margin:0 0 1rem;padding:.55rem .8rem;border:1px solid rgba(76,48,24,.35);background:rgba(60,38,18,.08);color:#4b2f17;cursor:pointer;font-family:var(--font-display,serif);}
.atlas-back:hover,.atlas-back:focus-visible{outline:2px solid rgba(106,69,31,.65);outline-offset:2px;}
.atlas-map-viewer{width:min(98vw,1800px);height:min(96dvh,1400px);padding:3rem 1rem 1rem;border:1px solid #9a713d;background:#070605;color:#efe3c7;}
.atlas-map-viewer::backdrop{background:rgba(0,0,0,.92);}
.atlas-map-viewer__close{position:absolute;top:.35rem;right:.7rem;border:0;background:transparent;color:#f2e5c9;font-size:2.2rem;cursor:pointer;z-index:2;}
.atlas-map-viewer__viewport{width:100%;height:calc(100% - 2rem);overflow:auto;display:grid;place-items:center;touch-action:pan-x pan-y pinch-zoom;}
.atlas-map-viewer__viewport img{display:block;max-width:none;width:auto;min-width:min(100%,1100px);height:auto;object-fit:contain;}
.atlas-map-viewer__hint{text-align:center;margin:.55rem 0 0;font-size:.78rem;color:#cbb995;}
@media (max-width:760px){
  .document--atlas{width:calc(100vw - .5rem);}
  .atlas-overview__grid{grid-template-columns:1fr;}
  .atlas-overview__map img{max-height:none;}
  .atlas-map-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;margin:0;}
  .atlas-map-viewer__viewport{display:block;}
  .atlas-map-viewer__viewport img{min-width:1200px;}
}

/* v0.31.3 prototype — Full-page codex for Torrescura */
body.codex-page-open{overflow:hidden;background:#090705}
.codex-page[hidden]{display:none}
.codex-page{position:fixed;inset:0;z-index:1200;background:#0b0907;color:#21170f;opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease;overflow:auto}
.codex-page.is-visible{opacity:1;transform:none}
.codex-page__topbar{position:sticky;top:0;z-index:5;min-height:68px;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(70px,1fr);align-items:center;gap:18px;padding:10px 20px;background:linear-gradient(180deg,#0b0a08 0%,#080705 100%);border-bottom:1px solid rgba(184,145,80,.42);box-shadow:0 10px 30px rgba(0,0,0,.35);color:#cbb184}
.codex-page__brand{display:flex;align-items:center;gap:12px;letter-spacing:.08em}.codex-page__brand-mark{font-size:28px;color:#b9965e}.codex-page__brand strong{display:block;font-family:Georgia,serif;font-size:18px}.codex-page__brand small{display:block;font-size:10px;opacity:.75;letter-spacing:.16em;margin-top:2px}
.codex-page__room-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.codex-page__room-nav button,.codex-page__exit{border:0;background:transparent;color:#c8ad80;font:600 12px/1.2 Georgia,serif;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;cursor:pointer}.codex-page__room-nav button:hover,.codex-page__room-nav button:focus-visible{color:#f1d7a3;background:rgba(255,255,255,.04)}
.codex-page__exit{justify-self:end;font-size:28px;padding:6px 14px;border:1px solid rgba(198,164,105,.35);border-radius:50%;width:44px;height:44px;line-height:1}
.codex-page__layout{min-height:calc(100vh - 68px);display:grid;grid-template-columns:230px minmax(0,1fr);background:radial-gradient(circle at 60% 18%,rgba(95,61,27,.12),transparent 38%),#090705}
.codex-page__sidebar{position:sticky;top:68px;align-self:start;height:calc(100vh - 68px);overflow:auto;padding:24px 14px;background:linear-gradient(90deg,#0d0c0a 0%,#11100d 80%,#0b0a08 100%);border-right:1px solid rgba(183,143,78,.28);box-shadow:12px 0 30px rgba(0,0,0,.28)}
.codex-page__sidebar-title{margin:0 10px 14px;color:#c5a872;font:700 13px Georgia,serif;letter-spacing:.14em}
.codex-page__sidebar button{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid rgba(193,157,96,.1);background:transparent;color:#b7a17d;padding:12px 14px;font:15px/1.25 Georgia,serif;cursor:pointer;transition:.18s ease}.codex-page__sidebar button:hover,.codex-page__sidebar button:focus-visible,.codex-page__sidebar button.is-active{color:#f0d6a2;background:linear-gradient(90deg,rgba(156,111,49,.16),transparent)}.codex-page__sidebar button.is-active{box-shadow:inset 3px 0 #b58b4c}.codex-page__sidebar-divider{display:block;height:18px;border-bottom:1px solid rgba(193,157,96,.24);margin:0 10px 16px}
.codex-page__sheet{position:relative;min-height:calc(100vh - 68px);padding:24px clamp(18px,3vw,52px) 48px;background:
linear-gradient(rgba(229,210,173,.92),rgba(215,190,146,.92)),
repeating-linear-gradient(0deg,rgba(93,61,31,.04) 0 1px,transparent 1px 4px),
#d8c29a;box-shadow:inset 0 0 85px rgba(64,37,14,.32);overflow:hidden}
.codex-page__sheet::before,.codex-page__sheet::after{content:"";position:absolute;inset:10px;border:1px solid rgba(90,55,25,.35);pointer-events:none}.codex-page__sheet::after{inset:16px;border-color:rgba(90,55,25,.16)}
.codex-page__paper-noise{position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:radial-gradient(circle at 20% 20%,#5f351b 0 1px,transparent 1.3px),radial-gradient(circle at 75% 65%,#7b4f2b 0 1px,transparent 1.4px);background-size:19px 23px,31px 29px;mix-blend-mode:multiply}
.codex-page__breadcrumbs{position:relative;z-index:1;color:#6c4f31;font:11px/1.3 Georgia,serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.codex-page__breadcrumbs span{padding:0 6px;color:#967247}
.codex-page__hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;border-bottom:1px solid rgba(91,54,25,.35);padding-bottom:16px;margin-bottom:18px}.codex-page__kicker{margin:0 0 7px;color:#8b5f31;font:italic 14px Georgia,serif}.codex-page__heading h2{margin:0;color:#20150e;font:clamp(38px,5vw,76px)/.95 Georgia,serif;letter-spacing:.015em;text-transform:uppercase}.codex-page__heading>p:last-child{max-width:720px;margin:14px 0 0;color:#4d3421;font:17px/1.55 Georgia,serif}.codex-page__seal{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(93,59,29,.55);border-radius:50%;font-size:34px;color:#77512c;box-shadow:inset 0 0 0 7px rgba(127,84,39,.08)}
.codex-page__artwork{position:relative;z-index:1;margin:0;border:1px solid rgba(82,48,23,.5);background:#bca57e;box-shadow:0 14px 30px rgba(70,39,16,.22),inset 0 0 0 5px rgba(239,221,184,.26);overflow:hidden}.codex-page__artwork img{display:block;width:100%;height:auto;max-height:min(62vh,760px);object-fit:contain;background:#cdb994}
.codex-page__content-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;margin-top:24px}.codex-page__summary h3{margin:0 0 10px;color:#6f4324;font:700 22px Georgia,serif;text-transform:uppercase;letter-spacing:.05em}.codex-page__summary p{margin:0;color:#3e2a1c;font:17px/1.65 Georgia,serif}.codex-page__facts{margin:0;display:grid;gap:8px}.codex-page__facts div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 12px;background:rgba(92,57,29,.07);border-left:3px solid rgba(114,72,34,.45)}.codex-page__facts dt{font:700 12px/1.3 Georgia,serif;text-transform:uppercase;color:#704724}.codex-page__facts dd{margin:0;color:#3f2b1c;font:14px/1.45 Georgia,serif}
@media(max-width:900px){.codex-page__topbar{grid-template-columns:1fr auto}.codex-page__room-nav{grid-column:1/-1;order:3;padding-top:4px;border-top:1px solid rgba(184,145,80,.15)}.codex-page__layout{grid-template-columns:1fr}.codex-page__sidebar{position:sticky;top:112px;height:auto;z-index:4;display:flex;gap:6px;overflow-x:auto;padding:10px 12px;border-right:0;border-bottom:1px solid rgba(183,143,78,.28)}.codex-page__sidebar-title,.codex-page__sidebar-divider{display:none}.codex-page__sidebar button{width:auto;white-space:nowrap;border:1px solid rgba(193,157,96,.15);padding:9px 12px}.codex-page__sheet{padding-top:18px}.codex-page__content-grid{grid-template-columns:1fr}.codex-page__artwork img{max-height:none}.codex-page__hero{grid-template-columns:1fr}.codex-page__seal{display:none}}
@media(max-width:560px){.codex-page__topbar{padding:8px 10px;min-height:58px}.codex-page__brand strong{font-size:15px}.codex-page__brand small{font-size:8px}.codex-page__room-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.codex-page__room-nav button{white-space:nowrap;padding:8px}.codex-page__layout{min-height:calc(100vh - 58px)}.codex-page__sidebar{top:100px}.codex-page__sheet{padding:16px 12px 36px}.codex-page__heading h2{font-size:38px}.codex-page__heading>p:last-child,.codex-page__summary p{font-size:15px}.codex-page__facts div{grid-template-columns:92px 1fr}.codex-page__breadcrumbs{font-size:9px}}
@media(prefers-reduced-motion:reduce){.codex-page{transition:none}}


/* v0.31.4 prototype — Torrescura, tavola integrata con contenuti HTML */
.codex-page__sheet--integrated{padding:20px clamp(16px,2.2vw,36px) 38px}
.codex-integrated__heading{position:relative;z-index:2;max-width:740px;margin:0 0 8px 1.5%;padding:8px 14px 12px;border-bottom:1px solid rgba(91,54,25,.34)}
.codex-integrated__heading h2{margin:0;color:#20150e;font:clamp(40px,4.9vw,76px)/.92 Georgia,serif;letter-spacing:.025em;text-transform:uppercase}
.codex-integrated__heading>p:last-child{max-width:660px;margin:12px 0 0;color:#4d3421;font:italic 16px/1.48 Georgia,serif}
.codex-integrated{position:relative;z-index:1;display:grid;grid-template-columns:minmax(215px,.78fr) minmax(420px,1.8fr) minmax(215px,.82fr);grid-template-areas:
  "origins art society"
  "power art society"
  "culture art profile";
gap:12px 18px;align-items:start;min-height:680px;padding:12px 8px 4px}
.codex-integrated__artwork{grid-area:art;align-self:stretch;margin:0;display:flex;align-items:center;justify-content:center;min-height:630px;overflow:hidden}
.codex-integrated__artwork img{display:block;width:100%;height:100%;max-height:760px;object-fit:contain;filter:sepia(.12) contrast(.96);mix-blend-mode:multiply}
.codex-integrated__text,.codex-integrated__profile{position:relative;padding:13px 14px 14px;background:linear-gradient(135deg,rgba(239,222,184,.64),rgba(211,184,137,.38));border-top:1px solid rgba(96,57,27,.38);border-bottom:1px solid rgba(96,57,27,.22);box-shadow:inset 0 0 18px rgba(117,76,36,.06)}
.codex-integrated__text::before,.codex-integrated__profile::before{content:"✣";position:absolute;left:-7px;top:10px;color:#78502c;font-size:18px;text-shadow:0 1px rgba(255,255,255,.35)}
.codex-integrated__text h3,.codex-integrated__profile h3{margin:0 0 8px;color:#70401f;font:700 18px/1.15 Georgia,serif;text-transform:uppercase;letter-spacing:.045em}
.codex-integrated__text p{margin:0;color:#3d291b;font:14px/1.52 Georgia,serif;text-wrap:pretty}
.codex-integrated__text--origins{grid-area:origins;margin-top:10px}
.codex-integrated__text--power{grid-area:power}
.codex-integrated__text--society{grid-area:society;margin-top:58px}
.codex-integrated__text--culture{grid-area:culture}
.codex-integrated__profile{grid-area:profile;align-self:end;margin-bottom:18px}
.codex-integrated__profile dl{margin:0;display:grid;gap:5px}
.codex-integrated__profile dl div{display:grid;grid-template-columns:78px 1fr;gap:8px;padding:5px 0;border-bottom:1px dotted rgba(91,55,27,.28)}
.codex-integrated__profile dt{font:700 11px/1.3 Georgia,serif;text-transform:uppercase;color:#704724}
.codex-integrated__profile dd{margin:0;color:#3f2b1c;font:13px/1.35 Georgia,serif}
@media(min-width:1500px){.codex-integrated{grid-template-columns:minmax(250px,.8fr) minmax(620px,1.9fr) minmax(250px,.85fr)}.codex-integrated__text p{font-size:15px}.codex-integrated__artwork{min-height:720px}}
@media(max-width:1080px){.codex-integrated{grid-template-columns:minmax(210px,.8fr) minmax(400px,1.45fr);grid-template-areas:"origins art" "power art" "society art" "culture profile"}.codex-integrated__text--society{margin-top:0}.codex-integrated__profile{align-self:stretch;margin-bottom:0}.codex-integrated__artwork{min-height:610px}}
@media(max-width:760px){.codex-integrated__heading{margin-left:0}.codex-integrated{display:flex;flex-direction:column;padding:6px 0}.codex-integrated__artwork{order:0;min-height:0;width:100%;margin-bottom:4px}.codex-integrated__artwork img{height:auto;max-height:none}.codex-integrated__text,.codex-integrated__profile{width:100%;margin:0;padding:14px 16px}.codex-integrated__text--origins{order:1}.codex-integrated__text--power{order:2}.codex-integrated__text--society{order:3}.codex-integrated__text--culture{order:4}.codex-integrated__profile{order:5}.codex-integrated__text p{font-size:15px}.codex-integrated__profile dl div{grid-template-columns:96px 1fr}}


/* v0.31.5 prototype — Vertex usa la stessa tavola HTML con identità cromatica propria */
.codex-page--vertex .codex-page__sheet{background:linear-gradient(rgba(239,226,195,.94),rgba(224,205,166,.94)),repeating-linear-gradient(0deg,rgba(93,61,31,.035) 0 1px,transparent 1px 4px),#dfcda8}
.codex-page--vertex .codex-integrated__heading{border-bottom-color:rgba(139,101,33,.38)}
.codex-page--vertex .codex-integrated__text,.codex-page--vertex .codex-integrated__profile{background:linear-gradient(135deg,rgba(248,235,200,.72),rgba(221,196,143,.42));border-color:rgba(145,106,38,.32)}
.codex-page--vertex .codex-integrated__text h3,.codex-page--vertex .codex-integrated__profile h3,.codex-page--vertex .codex-integrated__text::before,.codex-page--vertex .codex-integrated__profile::before{color:#805a1f}
.codex-page--vertex .codex-integrated__artwork img{filter:sepia(.08) saturate(.88) brightness(1.02) contrast(.95)}


/* v0.31.6 — identità cromatiche dei popoli nella tavola HTML integrata */
.codex-page__sidebar{overflow-y:auto;scrollbar-width:thin}
.codex-page--pallidi .codex-integrated__text h3,.codex-page--pallidi .codex-integrated__profile h3,.codex-page--pallidi .codex-integrated__text::before,.codex-page--pallidi .codex-integrated__profile::before{color:#505767}
.codex-page--pallidi .codex-integrated__text,.codex-page--pallidi .codex-integrated__profile{background:linear-gradient(135deg,rgba(224,219,207,.72),rgba(164,164,164,.30))}
.codex-page--ithikos .codex-integrated__text h3,.codex-page--ithikos .codex-integrated__profile h3,.codex-page--ithikos .codex-integrated__text::before,.codex-page--ithikos .codex-integrated__profile::before{color:#405b74}
.codex-page--ithikos .codex-integrated__text,.codex-page--ithikos .codex-integrated__profile{background:linear-gradient(135deg,rgba(226,226,205,.72),rgba(125,154,169,.28))}
.codex-page--khanato .codex-integrated__text h3,.codex-page--khanato .codex-integrated__profile h3,.codex-page--khanato .codex-integrated__text::before,.codex-page--khanato .codex-integrated__profile::before{color:#70401f}
.codex-page--khanato .codex-integrated__text,.codex-page--khanato .codex-integrated__profile{background:linear-gradient(135deg,rgba(232,211,174,.72),rgba(160,95,57,.28))}
.codex-page--kurozaki .codex-integrated__text h3,.codex-page--kurozaki .codex-integrated__profile h3,.codex-page--kurozaki .codex-integrated__text::before,.codex-page--kurozaki .codex-integrated__profile::before{color:#633039}
.codex-page--kurozaki .codex-integrated__text,.codex-page--kurozaki .codex-integrated__profile{background:linear-gradient(135deg,rgba(228,210,183,.72),rgba(117,59,62,.25))}
.codex-page--alta-marea .codex-integrated__text h3,.codex-page--alta-marea .codex-integrated__profile h3,.codex-page--alta-marea .codex-integrated__text::before,.codex-page--alta-marea .codex-integrated__profile::before{color:#36505a}
.codex-page--alta-marea .codex-integrated__text,.codex-page--alta-marea .codex-integrated__profile{background:linear-gradient(135deg,rgba(218,211,189,.72),rgba(61,92,97,.28))}
.codex-page--djinari .codex-integrated__text h3,.codex-page--djinari .codex-integrated__profile h3,.codex-page--djinari .codex-integrated__text::before,.codex-page--djinari .codex-integrated__profile::before{color:#7a4a25}
.codex-page--djinari .codex-integrated__text,.codex-page--djinari .codex-integrated__profile{background:linear-gradient(135deg,rgba(237,215,180,.72),rgba(176,96,57,.25))}


/* v0.31.8 — Atlante del Mondo nella stessa vista a tutta pagina dei popoli */
.codex-page--atlas-map .codex-page__sheet{
  background:
    linear-gradient(rgba(228,210,174,.95),rgba(214,190,148,.95)),
    repeating-linear-gradient(0deg,rgba(91,55,26,.035) 0 1px,transparent 1px 4px),
    #d8bd8d;
}
.codex-page--atlas-map .codex-integrated__heading{
  max-width:980px;
  border-bottom-color:rgba(78,49,23,.34);
}
.codex-page--atlas-map .codex-integrated{
  display:block;
  min-height:0;
  padding:10px 6px 18px;
}
.codex-page--atlas-map .codex-integrated__text,
.codex-page--atlas-map .codex-integrated__profile{
  display:none;
}
.codex-page--atlas-map .codex-integrated__artwork{
  position:relative;
  min-height:0;
  width:100%;
  margin:0;
  padding:10px;
  border:1px solid rgba(80,49,22,.42);
  background:linear-gradient(135deg,rgba(246,231,196,.55),rgba(163,119,69,.12));
  box-shadow:0 18px 40px rgba(53,31,12,.22),inset 0 0 0 5px rgba(245,229,194,.28);
  cursor:zoom-in;
}
.codex-page--atlas-map .codex-integrated__artwork::after{
  content:'Clicca sulla mappa per ingrandire';
  position:absolute;
  right:18px;
  bottom:16px;
  padding:7px 10px;
  background:rgba(41,27,16,.78);
  color:#f0dfbd;
  font:12px/1.2 Georgia,serif;
  letter-spacing:.04em;
  border:1px solid rgba(211,176,112,.38);
  pointer-events:none;
}
.codex-page--atlas-map .codex-integrated__artwork img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  filter:sepia(.06) contrast(.98) saturate(.9);
  mix-blend-mode:multiply;
}
.codex-page--atlas-map .codex-page__sidebar [data-codex-section='map']{
  color:#f0d39b;
}
@media(max-width:760px){
  .codex-page--atlas-map .codex-integrated__artwork{padding:5px;overflow:auto;touch-action:pan-x pan-y pinch-zoom}
  .codex-page--atlas-map .codex-integrated__artwork img{min-width:900px;width:900px;max-width:none}
  .codex-page--atlas-map .codex-integrated__artwork::after{position:sticky;left:8px;bottom:8px;display:inline-block}
}


/* v0.31.8 — Uniform full-page archive system for every room hotspot */
.codex-page__sidebar-items{display:grid;gap:.38rem}
.codex-page__sidebar-items button{width:100%;text-align:left}
.codex-page--generic .codex-integrated__artwork[hidden]{display:none}
.codex-page--generic .codex-integrated:has(.codex-integrated__artwork[hidden]){
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"origins power" "society culture" "profile profile";
}
.codex-page--generic .codex-integrated__text[hidden],
.codex-page--generic .codex-integrated__profile[hidden]{display:none}
.codex-page--generic .codex-integrated__text p{white-space:pre-line}
@media (max-width:900px){
 .codex-page--generic .codex-integrated:has(.codex-integrated__artwork[hidden]){display:block}
}


/* v0.31.8.2 — Original bounty posters, resized only by CSS */
.codex-page--bounties .codex-integrated{
  display:block;
}
.bounties-original-gallery{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,28px);
  width:100%;
  padding:clamp(10px,1.5vw,22px) 0;
}
.bounties-original-gallery__item{
  display:block;
  width:100%;
  padding:0;
  border:1px solid rgba(82,48,23,.55);
  background:transparent;
  box-shadow:0 12px 24px rgba(54,30,12,.22);
  cursor:zoom-in;
  overflow:hidden;
}
.bounties-original-gallery__item img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.bounties-original-gallery__item:hover,
.bounties-original-gallery__item:focus-visible{
  outline:2px solid rgba(132,82,37,.72);
  outline-offset:3px;
}
@media(max-width:900px){
  .bounties-original-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
  .bounties-original-gallery{grid-template-columns:1fr;}
}

/* v0.31.8.3 — Fazioni di Torrescura */
.codex-page--factions .codex-integrated__artwork{
  display:grid;
  place-items:center;
  min-height:340px;
  background:
    radial-gradient(circle at 50% 45%,rgba(236,213,168,.78),rgba(161,121,72,.20) 55%,rgba(62,38,22,.13)),
    #c9b184;
}
.codex-page--factions .codex-integrated__artwork img{
  width:min(70%,620px);
  max-height:480px;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 16px 18px rgba(51,30,16,.30));
}
.codex-page--faction-overview .codex-integrated__artwork{display:none}
.codex-page--faction-furiosi .codex-page__sheet{background:linear-gradient(rgba(229,207,168,.95),rgba(202,171,126,.95)),#c9aa7d}
.codex-page--faction-cultisti .codex-page__sheet{background:linear-gradient(rgba(231,212,178,.95),rgba(204,178,139,.95)),#ccb18a}
.codex-page--faction-occulti .codex-page__sheet{background:linear-gradient(rgba(218,207,187,.95),rgba(181,164,143,.95)),#b8a58d}
.codex-page--faction-tecnarchi .codex-page__sheet{background:linear-gradient(rgba(225,209,177,.95),rgba(183,160,118,.95)),#bca477}
@media(max-width:700px){
  .codex-page--factions .codex-integrated__artwork{min-height:240px}
  .codex-page--factions .codex-integrated__artwork img{width:min(82%,440px);max-height:340px}
}


/* v0.31.8.4 — Compendio delle Stirpi */
.codex-page--races .codex-integrated__heading{border-bottom-color:rgba(91,74,46,.42)}
.codex-page--races .codex-integrated__text,
.codex-page--races .codex-integrated__profile{background:linear-gradient(135deg,rgba(235,221,190,.72),rgba(167,143,103,.22))}
.codex-page--race-goblinoidi .codex-integrated__heading{border-bottom-color:rgba(69,92,55,.48)}
.codex-page--race-drook .codex-integrated__heading{border-bottom-color:rgba(91,52,100,.45)}
.codex-page--race-pallidi .codex-integrated__heading{border-bottom-color:rgba(105,105,116,.48)}
.codex-page--race-nemora .codex-integrated__heading{border-bottom-color:rgba(58,91,57,.48)}
.codex-page--race-feros .codex-integrated__heading{border-bottom-color:rgba(116,75,38,.48)}
.codex-page--race-razze-terrigene .codex-integrated__heading{border-bottom-color:rgba(80,70,58,.5)}


/* v0.31.8.5 — Codex delle Origini */
.codex-page--origins .codex-page__sheet{
  background:
    linear-gradient(rgba(232,214,177,.94),rgba(212,187,143,.94)),
    repeating-linear-gradient(0deg,rgba(86,48,22,.035) 0 1px,transparent 1px 4px),
    #d5bd91;
}
.codex-page--origins .codex-integrated__artwork{
  border-color:rgba(82,43,18,.62);
  box-shadow:0 18px 34px rgba(58,30,12,.28),inset 0 0 0 5px rgba(243,222,177,.22);
}
.codex-page--origins .codex-integrated__artwork img{
  max-height:520px;
  object-fit:cover;
  object-position:center;
  filter:sepia(.08) contrast(1.03) brightness(.96);
}
.codex-page--origins .codex-integrated__text,
.codex-page--origins .codex-integrated__profile{
  background:linear-gradient(135deg,rgba(245,226,184,.70),rgba(173,121,66,.17));
  border-color:rgba(104,60,24,.34);
}
.codex-page--origins .codex-integrated__text h3,
.codex-page--origins .codex-integrated__profile h3{
  letter-spacing:.07em;
}
@media(max-width:900px){
  .codex-page--origins .codex-integrated__artwork img{max-height:none;object-fit:contain;}
}

/* v0.31.8.6 — Frammento della Tela del Fato */
.codex-page--weave .codex-page__sheet{
  background:
    linear-gradient(rgba(218,205,177,.94),rgba(198,177,139,.95)),
    repeating-linear-gradient(0deg,rgba(63,45,30,.035) 0 1px,transparent 1px 4px),
    #c8b48d;
}
.codex-page--weave .codex-integrated__artwork{
  min-height:420px;
  background:
    radial-gradient(circle at center,rgba(223,191,117,.18),transparent 33%),
    linear-gradient(145deg,#171411,#29231d 48%,#100e0c);
  border-color:rgba(111,76,35,.8);
  box-shadow:0 18px 36px rgba(35,22,12,.28),inset 0 0 0 5px rgba(210,177,111,.08);
}
.codex-weave-visual{
  position:relative;
  min-height:420px;
  display:grid;
  place-items:center;
  overflow:hidden;
  isolation:isolate;
}
.codex-weave-visual::before,
.codex-weave-visual::after{
  content:"";
  position:absolute;
  inset:10%;
  border:1px solid rgba(210,171,101,.18);
  transform:rotate(8deg);
  box-shadow:0 0 40px rgba(194,146,69,.08);
}
.codex-weave-visual::after{transform:rotate(-10deg) scale(.84);border-style:dashed}
.codex-weave-visual small{
  position:absolute;
  left:0;right:0;bottom:22px;
  text-align:center;
  color:#c8ae7a;
  font:italic 14px/1.4 Georgia,serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.weave-fragment{
  position:relative;
  z-index:4;
  width:150px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  clip-path:polygon(51% 0,88% 18%,100% 58%,72% 100%,25% 91%,0 49%,18% 12%);
  background:linear-gradient(145deg,#6f5535,#261e17 48%,#a47b3d);
  filter:drop-shadow(0 0 20px rgba(226,176,83,.22));
}
.weave-fragment::before{
  content:"";
  position:absolute;
  inset:8px;
  clip-path:inherit;
  background:radial-gradient(circle at 45% 38%,rgba(244,215,147,.23),transparent 38%),#17130f;
}
.weave-fragment i{
  position:absolute;
  inset:19px;
  clip-path:inherit;
  border:1px solid rgba(218,178,101,.4);
}
.weave-fragment b{
  position:relative;
  color:#d9b36c;
  font:52px/1 Georgia,serif;
  text-shadow:0 0 18px rgba(232,184,92,.28);
}
.weave-thread{
  position:absolute;
  left:-12%;
  width:124%;
  height:2px;
  z-index:2;
  background:linear-gradient(90deg,transparent,rgba(186,145,76,.9),rgba(238,209,147,.95),rgba(133,88,43,.75),transparent);
  box-shadow:0 0 8px rgba(211,166,87,.3);
  transform-origin:center;
}
.weave-thread--one{top:27%;transform:rotate(12deg)}
.weave-thread--two{top:43%;transform:rotate(-8deg)}
.weave-thread--three{top:59%;transform:rotate(5deg)}
.weave-thread--four{top:70%;transform:rotate(-15deg)}
.codex-page--weave .codex-integrated__text,
.codex-page--weave .codex-integrated__profile{
  background:linear-gradient(135deg,rgba(228,212,176,.72),rgba(138,104,63,.2));
  border-color:rgba(86,56,29,.34);
}
@media(max-width:700px){
  .codex-page--weave .codex-integrated__artwork,.codex-weave-visual{min-height:320px}
  .weave-fragment{width:116px}
  .weave-fragment b{font-size:42px}
}


/* v0.31.8.7 — Registro immersivo dei Dispacci Ufficiali */
.codex-page--dispatches .codex-page__sheet{
  background:
    linear-gradient(rgba(224,208,171,.94),rgba(207,185,143,.94)),
    repeating-linear-gradient(0deg,rgba(91,55,27,.035) 0 1px,transparent 1px 4px),
    #d7c29b;
}
.codex-page--dispatches .codex-integrated__text,
.codex-page--dispatches .codex-integrated__profile{
  background:linear-gradient(135deg,rgba(243,226,190,.7),rgba(157,111,66,.18));
  border-color:rgba(102,61,30,.34);
}
.codex-dispatch-visual{
  min-height:430px;
  display:grid;
  place-items:center;
  padding:32px;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,240,203,.42),transparent 45%),
    linear-gradient(135deg,rgba(78,42,21,.12),rgba(34,19,10,.2));
}
.dispatch-sheet{
  position:relative;
  width:min(76%,520px);
  min-height:330px;
  padding:44px 42px 56px;
  background:
    linear-gradient(rgba(238,220,180,.95),rgba(217,192,145,.95)),
    repeating-linear-gradient(0deg,rgba(75,42,20,.05) 0 1px,transparent 1px 5px);
  border:1px solid rgba(74,42,22,.55);
  box-shadow:0 18px 40px rgba(48,25,12,.35),inset 0 0 36px rgba(112,65,29,.12);
  transform:rotate(-1.2deg);
}
.dispatch-sheet::before,.dispatch-sheet::after{
  content:'';
  position:absolute;
  inset:10px;
  border:1px solid rgba(112,67,31,.26);
  pointer-events:none;
}
.dispatch-sheet::after{inset:16px;border-style:dashed;opacity:.55}
.dispatch-sheet__heading{
  display:block;
  text-align:center;
  color:#57351e;
  font:700 20px/1.2 Georgia,serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:30px;
}
.dispatch-sheet>i{
  display:block;
  height:1px;
  margin:17px 12px;
  background:linear-gradient(90deg,transparent,rgba(78,44,21,.42),transparent);
}
.dispatch-sheet__seal{
  position:absolute;
  left:50%;
  bottom:38px;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  transform:translateX(-50%) rotate(-8deg);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#b54a35,#7d241d 64%,#4d1511);
  border:5px double rgba(73,18,14,.72);
  color:#e4c59b;
  font:32px Georgia,serif;
  box-shadow:0 6px 12px rgba(44,15,10,.32),inset 0 2px 7px rgba(255,225,190,.25);
}
.dispatch-sheet small{
  position:absolute;
  bottom:16px;
  left:0;
  right:0;
  text-align:center;
  color:#684127;
  font:700 10px/1.2 Georgia,serif;
  letter-spacing:.18em;
}
@media(max-width:700px){
  .codex-dispatch-visual{min-height:320px;padding:18px}
  .dispatch-sheet{width:92%;min-height:260px;padding:34px 24px 50px}
  .dispatch-sheet__heading{font-size:16px}
  .dispatch-sheet__seal{width:60px;height:60px;font-size:26px}
}


/* v0.31.8.8 — Bacile dei Sussurri */
.codex-page--rumors .codex-page__sheet{
  background:
    linear-gradient(rgba(207,199,175,.95),rgba(168,157,139,.95)),
    repeating-linear-gradient(0deg,rgba(48,43,38,.045) 0 1px,transparent 1px 4px),
    #b8aa91;
}
.codex-page--rumors .codex-integrated__text,
.codex-page--rumors .codex-integrated__profile{
  background:linear-gradient(135deg,rgba(226,218,196,.68),rgba(74,70,68,.18));
  border-color:rgba(54,49,45,.34);
}
.codex-rumor-visual{
  min-height:430px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:34px;
  background:
    radial-gradient(circle at 50% 55%,rgba(122,149,151,.17),transparent 34%),
    linear-gradient(180deg,#171919,#272421 58%,#100f0e);
}
.codex-rumor-visual::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 30% 18%,rgba(226,214,181,.08),transparent 28%),radial-gradient(circle at 76% 22%,rgba(136,167,169,.08),transparent 25%);
}
.codex-rumor-visual small{
  position:absolute;
  left:18px;right:18px;bottom:22px;
  text-align:center;
  color:#c7bda7;
  font:italic 13px/1.4 Georgia,serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.rumor-basin{
  position:relative;
  width:min(74%,430px);
  aspect-ratio:1.5;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 22px 22px rgba(0,0,0,.5));
}
.rumor-basin::before{
  content:'';
  position:absolute;
  left:7%;right:7%;bottom:8%;height:58%;
  border-radius:0 0 48% 48% / 0 0 72% 72%;
  background:linear-gradient(90deg,#2a2723,#5a5146 34%,#211f1c 72%,#080808);
  border:2px solid rgba(192,175,145,.18);
  box-shadow:inset 0 -20px 35px rgba(0,0,0,.55),inset 0 6px 12px rgba(255,255,255,.04);
}
.rumor-basin__rim{
  position:absolute;
  left:0;right:0;top:23%;height:31%;
  border-radius:50%;
  background:linear-gradient(#837767,#25221f 44%,#0a0b0b 48%,#46413a 78%,#1a1816);
  border:2px solid rgba(205,188,155,.26);
  box-shadow:inset 0 0 0 10px rgba(12,12,12,.7),0 8px 16px rgba(0,0,0,.5);
}
.rumor-basin__water{
  position:absolute;
  left:8%;right:8%;top:29%;height:22%;
  border-radius:50%;
  background:radial-gradient(circle at 48% 42%,rgba(177,204,203,.25),transparent 20%),radial-gradient(ellipse,#2c4b4e 0,#152a2c 48%,#060b0c 78%);
  box-shadow:inset 0 0 28px rgba(158,209,207,.18),0 0 24px rgba(96,150,151,.14);
  animation:rumorWater 5s ease-in-out infinite;
}
.rumor-basin b{
  position:relative;
  z-index:4;
  margin-top:-16%;
  color:#a9cecc;
  font:50px/1 Georgia,serif;
  text-shadow:0 0 18px rgba(116,181,181,.45);
}
.rumor-wisp{
  position:absolute;
  z-index:3;
  bottom:48%;
  width:18px;height:110px;
  border-radius:50%;
  background:linear-gradient(180deg,transparent,rgba(159,203,202,.42),transparent);
  filter:blur(4px);
  opacity:.65;
  transform-origin:bottom;
  animation:rumorWisp 5.5s ease-in-out infinite;
}
.rumor-wisp--one{left:38%;animation-delay:-1s}
.rumor-wisp--two{left:49%;height:135px;animation-delay:-3s}
.rumor-wisp--three{left:60%;height:95px;animation-delay:-4.2s}
@keyframes rumorWater{50%{transform:scaleX(.97);filter:brightness(1.16)}}
@keyframes rumorWisp{0%,100%{transform:translateY(12px) rotate(-6deg) scaleX(.75);opacity:.25}50%{transform:translateY(-18px) rotate(8deg) scaleX(1.2);opacity:.72}}
@media(prefers-reduced-motion:reduce){.rumor-basin__water,.rumor-wisp{animation:none}}
@media(max-width:700px){
  .codex-rumor-visual{min-height:320px;padding:20px}
  .rumor-basin{width:92%}
  .rumor-basin b{font-size:40px}
}

/* v0.31.8.9 — Banco dell’Alchimista */
.codex-page--alchemy .codex-page__sheet{
  background:
    linear-gradient(rgba(227,213,178,.94),rgba(196,174,128,.94)),
    repeating-linear-gradient(0deg,rgba(70,48,24,.04) 0 1px,transparent 1px 5px),
    #cbb588;
}
.codex-page--alchemy .codex-page__sidebar button.is-active{box-shadow:inset 3px 0 #7d9a70}
.codex-page--alchemy .codex-integrated{
  grid-template-columns:minmax(250px,.95fr) minmax(460px,1.5fr) minmax(250px,.95fr);
  grid-template-areas:
    "origins art power"
    "society art culture"
    "profile profile profile";
  gap:18px 24px;
  align-items:start;
}
.codex-page--alchemy .codex-integrated__text,
.codex-page--alchemy .codex-integrated__profile{
  background:linear-gradient(135deg,rgba(236,225,194,.82),rgba(112,132,93,.22));
  border:1px solid rgba(78,91,56,.34);
  border-radius:10px;
  box-shadow:0 10px 22px rgba(63,48,20,.08), inset 0 0 18px rgba(117,76,36,.05);
}
.codex-page--alchemy .codex-integrated__text{min-height:170px;}
.codex-page--alchemy .codex-integrated__artwork{
  min-height:660px;
  padding:10px;
  align-self:stretch;
}
.codex-page--alchemy .codex-integrated__artwork img{
  width:100%;
  height:100%;
  max-height:780px;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 18px 40px rgba(32,23,11,.18);
}
.codex-page--alchemy .codex-integrated__text--origins,
.codex-page--alchemy .codex-integrated__text--power,
.codex-page--alchemy .codex-integrated__text--society,
.codex-page--alchemy .codex-integrated__text--culture{margin-top:0;}
.codex-page--alchemy .codex-integrated__profile{
  align-self:stretch;
  margin-bottom:0;
}
.codex-page--alchemy .codex-integrated__profile dl{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px 18px;
}
.codex-page--alchemy .codex-integrated__profile dl div{
  grid-template-columns:88px 1fr;
  padding:6px 0;
}
@media(max-width:1180px){
  .codex-page--alchemy .codex-integrated{
    grid-template-columns:minmax(230px,.95fr) minmax(390px,1.25fr);
    grid-template-areas:
      "origins art"
      "power art"
      "society culture"
      "profile profile";
  }
  .codex-page--alchemy .codex-integrated__artwork{min-height:580px;}
}
@media(max-width:760px){
  .codex-page--alchemy .codex-integrated__artwork{padding:0;}
  .codex-page--alchemy .codex-integrated__artwork img{height:auto;object-fit:contain;box-shadow:none;border-radius:0;}
  .codex-page--alchemy .codex-integrated__text,
  .codex-page--alchemy .codex-integrated__profile{border-radius:0;}
}
.codex-alchemy-visual{
  min-height:430px;
  display:grid;
  place-items:center;
  gap:18px;
  padding:36px 24px 28px;
  color:#e6d6a9;
  background:
    radial-gradient(circle at 50% 32%,rgba(133,168,117,.18),transparent 28%),
    linear-gradient(180deg,#17160f,#242016 70%,#100f0b);
}
.codex-alchemy-visual small{
  font:600 12px/1.3 Georgia,serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#b8ad86;
}
.alchemy-bench{
  position:relative;
  width:min(620px,92%);
  height:320px;
  border-bottom:24px solid #4a321f;
  box-shadow:0 18px 18px rgba(0,0,0,.38);
}
.alchemy-bench::before{
  content:"";
  position:absolute;
  left:5%;right:5%;bottom:0;
  height:16px;
  background:linear-gradient(#765032,#3f2a1b);
  border-radius:5px 5px 0 0;
}
.alchemy-shelf{
  position:absolute;
  left:8%;right:8%;top:36px;
  height:12px;
  background:linear-gradient(#6c4a2d,#2f2117);
  box-shadow:0 8px 12px rgba(0,0,0,.35);
}
.alchemy-flask{
  position:absolute;
  bottom:40px;
  width:58px;height:82px;
  border:4px solid rgba(213,232,205,.62);
  border-radius:12px 12px 30px 30px;
  background:linear-gradient(to top,rgba(89,130,69,.86) 0 42%,rgba(205,225,196,.12) 43%);
  box-shadow:inset 0 0 14px rgba(255,255,255,.2),0 0 18px rgba(100,150,80,.22);
}
.alchemy-flask::before{
  content:"";
  position:absolute;
  left:18px;top:-34px;
  width:14px;height:32px;
  border:4px solid rgba(213,232,205,.62);
  border-bottom:0;
  background:rgba(210,230,205,.08);
}
.alchemy-flask--one{left:13%;transform:scale(.82)}
.alchemy-flask--two{left:29%;height:98px;background:linear-gradient(to top,rgba(111,71,131,.84) 0 48%,rgba(205,225,196,.12) 49%)}
.alchemy-flask--three{right:14%;transform:scale(.72);background:linear-gradient(to top,rgba(145,112,52,.88) 0 38%,rgba(205,225,196,.12) 39%)}
.alchemy-retort{
  position:absolute;
  left:50%;bottom:44px;
  width:130px;height:130px;
  transform:translateX(-50%);
  border:5px solid rgba(219,231,209,.65);
  border-radius:50% 50% 44% 44%;
  background:radial-gradient(circle at 45% 35%,rgba(255,255,255,.16),transparent 20%),linear-gradient(to top,rgba(83,128,65,.88) 0 44%,rgba(220,232,211,.08) 45%);
  box-shadow:0 0 28px rgba(99,154,78,.28),inset 0 0 20px rgba(255,255,255,.12);
}
.alchemy-retort::before{
  content:"";
  position:absolute;
  left:50%;top:-74px;
  width:24px;height:74px;
  transform:translateX(-50%);
  border:5px solid rgba(219,231,209,.65);
  border-bottom:0;
  background:rgba(220,232,211,.07);
}
.alchemy-retort::after{
  content:"";
  position:absolute;
  right:-78px;top:14px;
  width:86px;height:16px;
  border:5px solid rgba(219,231,209,.65);
  border-left:0;
  border-radius:0 14px 14px 0;
  transform:rotate(-12deg);
}
.alchemy-retort b{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font:54px/1 Georgia,serif;
  color:rgba(233,224,176,.88);
  text-shadow:0 0 14px rgba(207,232,128,.46);
}
.alchemy-burner{
  position:absolute;
  left:50%;bottom:10px;
  width:72px;height:28px;
  transform:translateX(-50%);
  border-radius:50% 50% 8px 8px;
  background:#3c3025;
}
.alchemy-burner::before{
  content:"";
  position:absolute;
  left:50%;bottom:20px;
  width:24px;height:52px;
  transform:translateX(-50%);
  border-radius:50% 50% 42% 42%;
  background:radial-gradient(circle at 50% 68%,#f3d56b 0 18%,#b9782a 40%,rgba(80,116,76,.2) 70%);
  filter:drop-shadow(0 0 10px rgba(232,186,70,.5));
}
.alchemy-scroll{
  position:absolute;
  right:9%;bottom:28px;
  width:110px;height:54px;
  transform:rotate(6deg);
  border-radius:8px;
  background:repeating-linear-gradient(0deg,#ccb785 0 3px,#d9c79c 3px 8px);
  box-shadow:0 5px 12px rgba(0,0,0,.3);
}
@media(max-width:700px){
  .codex-alchemy-visual{min-height:330px;padding-inline:10px}
  .alchemy-bench{height:245px;width:100%}
  .alchemy-retort{width:96px;height:96px}
  .alchemy-retort::before{height:52px;top:-52px}
  .alchemy-retort::after{right:-52px;width:58px}
  .alchemy-retort b{font-size:38px}
  .alchemy-flask{transform:scale(.62)}
  .alchemy-flask--two{transform:scale(.68)}
  .alchemy-flask--three{transform:scale(.55)}
  .alchemy-scroll{width:78px;height:42px}
}

/* v0.31.8.10 — Tavolo delle Campagne, Scala di Torrescura e Magibelve */
.codex-war-visual,.codex-scale-visual,.codex-beasts-visual{min-height:420px;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at center,rgba(73,44,24,.08),transparent 62%);color:#5b351d;text-align:center}
.codex-war-visual small,.codex-scale-visual small,.codex-beasts-visual small{display:block;margin-top:18px;font:700 12px/1.4 Georgia,serif;letter-spacing:.12em;text-transform:uppercase;color:#694224}
.war-table{position:relative;width:min(520px,88%);aspect-ratio:1.45;border:12px solid #6d4629;border-radius:12px;background:linear-gradient(rgba(239,220,177,.82),rgba(198,162,106,.74)),repeating-linear-gradient(0deg,transparent 0 37px,rgba(73,43,20,.16) 38px 39px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(73,43,20,.13) 48px 49px);box-shadow:0 22px 40px rgba(43,24,11,.28),inset 0 0 32px rgba(80,43,19,.28);transform:perspective(900px) rotateX(8deg)}
.war-map{position:absolute;inset:12% 10%;border:2px solid rgba(92,54,25,.45);clip-path:polygon(2% 18%,18% 5%,33% 13%,49% 3%,68% 12%,84% 8%,98% 25%,91% 45%,98% 66%,78% 92%,57% 83%,41% 95%,23% 82%,6% 87%,12% 60%,1% 42%);background:linear-gradient(135deg,rgba(114,136,89,.28),rgba(86,118,135,.22),rgba(156,112,67,.22))}
.war-route{position:absolute;height:3px;background:#8b2f24;transform-origin:left center;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.war-route--one{width:44%;left:22%;top:44%;transform:rotate(17deg)}.war-route--two{width:34%;left:42%;top:62%;transform:rotate(-24deg)}
.war-token{position:absolute;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#4d3020;color:#e9d4a8;border:3px solid #b88b4f;box-shadow:0 5px 10px rgba(0,0,0,.28);font-style:normal}.war-token--one{left:18%;top:30%}.war-token--two{left:55%;top:47%}.war-token--three{right:14%;bottom:18%}.war-seal{position:absolute;right:7%;top:7%;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#7f241c;color:#e7c78f;border:4px double #c59a58;font:700 24px Georgia,serif}
.scale-stele{position:relative;width:min(360px,82%);min-height:390px;padding:68px 42px 38px;clip-path:polygon(12% 7%,50% 0,88% 7%,100% 22%,95% 100%,5% 100%,0 22%);background:linear-gradient(100deg,#6f6254,#9b8a72 42%,#66594d 76%,#4c4239);box-shadow:0 24px 42px rgba(34,25,18,.36),inset 0 0 28px rgba(0,0,0,.38);border:1px solid #4c4035;color:#d7c49b}
.scale-stele:before{content:"";position:absolute;inset:18px;border:2px solid rgba(223,196,143,.45);clip-path:inherit}.scale-crown{position:absolute;top:24px;left:50%;transform:translateX(-50%);font:700 34px Georgia,serif;color:#d1a75e;text-shadow:0 2px 4px #33261b}.scale-stele i{display:block;height:34px;margin:12px 0;border-bottom:2px solid rgba(231,211,170,.42);background:linear-gradient(90deg,transparent,rgba(227,205,162,.08),transparent)}.scale-stele b{display:block;margin-top:22px;font:700 20px Georgia,serif;letter-spacing:.18em;text-transform:uppercase;color:#e1c994}
.beast-sigil{position:relative;width:min(370px,82%);aspect-ratio:1;border-radius:50%;border:7px double rgba(104,61,30,.66);background:radial-gradient(circle,#2e2119 0 32%,#5f3c27 33% 35%,#c3a26b 36% 37%,transparent 38%),repeating-conic-gradient(from 0deg,rgba(83,50,28,.28) 0 8deg,transparent 8deg 22deg);box-shadow:0 18px 38px rgba(48,27,14,.34),inset 0 0 34px rgba(35,20,12,.5)}
.beast-sigil b{position:absolute;inset:26% 22% 20%;display:grid;place-items:center;border-radius:46% 46% 52% 52%;background:linear-gradient(#3e2d22,#1c1511);color:#c7a56d;font:700 96px/1 Georgia,serif;text-shadow:0 0 18px rgba(215,164,89,.36)}
.beast-horn{position:absolute;top:15%;width:28%;height:44%;border:12px solid #3c2b20;border-bottom:0;border-radius:80% 80% 0 0;z-index:2}.beast-horn--left{left:16%;transform:rotate(-28deg);border-right:0}.beast-horn--right{right:16%;transform:rotate(28deg);border-left:0}.beast-eye{position:absolute;top:49%;width:14px;height:8px;border-radius:50%;background:#d09a42;box-shadow:0 0 12px #d09a42;z-index:3}.beast-eye--left{left:38%}.beast-eye--right{right:38%}.beast-sigil em{position:absolute;left:35%;right:35%;bottom:25%;height:14%;border-bottom:5px solid #a77743;border-radius:50%;z-index:3}
.codex-page--war .codex-integrated__text,.codex-page--war .codex-integrated__profile{background:linear-gradient(135deg,rgba(231,210,172,.7),rgba(143,80,51,.22))}.codex-page--scale .codex-integrated__text,.codex-page--scale .codex-integrated__profile{background:linear-gradient(135deg,rgba(222,215,197,.72),rgba(102,88,73,.22))}.codex-page--beasts .codex-integrated__text,.codex-page--beasts .codex-integrated__profile{background:linear-gradient(135deg,rgba(225,208,175,.7),rgba(74,48,35,.26))}
@media(max-width:700px){.codex-war-visual,.codex-scale-visual,.codex-beasts-visual{min-height:320px;padding:18px}.war-table{width:94%;border-width:8px}.scale-stele{min-height:310px;padding:58px 28px 28px}.beast-sigil b{font-size:68px}}

/* v0.32 — Consolidamento: ritorno sala, focus e coerenza navigazione */
.codex-page__sidebar button.codex-sidebar-return{
  margin:0 0 14px;
  border:1px solid rgba(197,157,91,.34);
  border-bottom-color:rgba(197,157,91,.34);
  background:linear-gradient(90deg,rgba(142,94,36,.22),rgba(35,27,18,.08));
  color:#ead0a0;
  font-weight:700;
}
.codex-page__sidebar button.codex-sidebar-return:hover,
.codex-page__sidebar button.codex-sidebar-return:focus-visible{
  background:linear-gradient(90deg,rgba(171,118,49,.34),rgba(55,40,24,.12));
  color:#fff0c8;
}
.codex-page__sidebar button:focus-visible,
.codex-page__room-nav button:focus-visible,
.codex-page__exit:focus-visible{
  outline:2px solid #d5a85d;
  outline-offset:2px;
}
@media(max-width:900px){
  .codex-page__sidebar button.codex-sidebar-return{margin:0 8px 0 0;flex:0 0 auto;}
}
@media(prefers-reduced-motion:reduce){
  .codex-page,.codex-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}

/* v0.32.4 — Testimonianza multimediale del Frammento della Tela */
.codex-page--weave .codex-integrated:has(.weave-testimony){
  grid-template-areas:
    "origins art society"
    "power art profile"
    "testimony testimony testimony";
}
.weave-testimony{
  grid-area:testimony;
  margin:28px 0 10px;
  border-top:1px solid rgba(92,58,27,.34);
  padding-top:26px;
}
.weave-testimony__eyebrow{
  margin:0 0 6px;
  font-size:11px;
  letter-spacing:.2em;
  font-weight:700;
  color:#7a4a22;
}
.weave-testimony__audio{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(280px,1.3fr);
  gap:28px;
  align-items:center;
  padding:20px 22px;
  border:1px solid rgba(108,68,28,.32);
  background:linear-gradient(135deg,rgba(255,248,225,.76),rgba(214,184,128,.22));
  box-shadow:inset 0 0 28px rgba(91,56,24,.06);
}
.weave-testimony__audio h3,
.weave-testimony__transcript h3,
.weave-testimony__note h3{
  margin:0 0 8px;
  font-family:var(--font-display,serif);
  color:#4a2b18;
}
.weave-testimony__audio p{margin:0;line-height:1.55}
.weave-testimony__audio audio{width:100%;filter:sepia(.35) saturate(.8)}
.weave-testimony__transcript{
  max-width:920px;
  margin:30px auto 0;
  padding:30px clamp(20px,4vw,56px);
  border:1px solid rgba(105,67,30,.26);
  background:rgba(247,231,190,.38);
  box-shadow:0 12px 30px rgba(52,31,14,.08),inset 0 0 70px rgba(113,74,30,.05);
}
.weave-testimony__transcript p{
  margin:0 0 1.15em;
  font-size:16px;
  line-height:1.82;
  color:#302117;
}
.weave-testimony__transcript p:last-child{margin-bottom:0;font-weight:700}
.weave-testimony__note{
  max-width:920px;
  margin:18px auto 0;
  padding:18px 22px;
  border-left:4px solid rgba(137,88,33,.72);
  background:rgba(92,58,27,.07);
}
.weave-testimony__note p{margin:0;line-height:1.65;font-style:italic}
.codex-page--weave .codex-integrated__artwork img{
  max-height:900px;
  object-fit:contain;
  filter:sepia(.02) contrast(1.01) brightness(1.05);
  mix-blend-mode:normal;
}
@media(max-width:1080px){
  .codex-page--weave .codex-integrated:has(.weave-testimony){display:flex;flex-direction:column}
  .weave-testimony{order:6;width:100%}
}
@media(max-width:760px){
  .weave-testimony{margin-top:18px;padding-top:18px}
  .weave-testimony__audio{grid-template-columns:1fr;padding:16px}
  .weave-testimony__transcript{padding:22px 18px}
  .weave-testimony__transcript p{font-size:15px;line-height:1.72}
}

/* v0.32.5 — Bestiario delle Magibelve */
.codex-page--beasts .codex-integrated__artwork{
  min-height:clamp(340px,50vw,680px);
  background:
    radial-gradient(circle at 50% 46%,rgba(127,71,38,.12),transparent 58%),
    linear-gradient(145deg,rgba(255,250,225,.38),rgba(113,67,35,.08));
  overflow:hidden;
}
.codex-page--beasts .codex-integrated__artwork img{
  width:100%;
  height:100%;
  max-height:680px;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 18px 18px rgba(42,20,9,.28));
}
.codex-page--beasts .beasts-detail{
  grid-column:1 / -1;
  margin-top:clamp(18px,3vw,42px);
  padding:clamp(18px,3vw,38px);
  border:1px solid rgba(91,50,25,.32);
  background:rgba(255,247,218,.42);
  box-shadow:inset 0 0 38px rgba(78,39,17,.08);
}
.codex-page--beasts .beasts-detail__section + .beasts-detail__section{margin-top:28px}
.codex-page--beasts .beasts-detail h3{
  margin:0 0 12px;
  font-family:var(--font-display,Georgia,serif);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#5b2f1c;
}
.codex-page--beasts .beasts-detail p,
.codex-page--beasts .beasts-detail li{
  color:#2d2119;
  line-height:1.65;
}
.codex-page--beasts .beasts-detail ul{
  margin:0;
  padding-left:1.35rem;
}
.codex-page--beasts .beasts-detail__heading{
  margin-bottom:18px;
  text-align:center;
}
.codex-page--beasts .venator-table-wrap{
  width:100%;
  overflow:auto;
  border:1px solid rgba(91,50,25,.36);
  background:rgba(255,252,237,.62);
}
.codex-page--beasts .venator-table{
  width:100%;
  min-width:920px;
  border-collapse:collapse;
  color:#2b2018;
}
.codex-page--beasts .venator-table th,
.codex-page--beasts .venator-table td{
  padding:14px 16px;
  border-right:1px solid rgba(91,50,25,.22);
  border-bottom:1px solid rgba(91,50,25,.22);
  vertical-align:top;
  line-height:1.48;
  text-align:left;
}
.codex-page--beasts .venator-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#5a321f;
  color:#f8eac3;
  font-family:var(--font-display,Georgia,serif);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.codex-page--beasts .venator-table tbody tr:nth-child(even){background:rgba(116,72,39,.06)}
.codex-page--beasts .venator-table td:last-child,
.codex-page--beasts .venator-table th:last-child{border-right:0}

@media (max-width:760px){
  .codex-page--beasts .codex-integrated__artwork{min-height:300px}
  .codex-page--beasts .venator-table-wrap{overflow:visible;border:0;background:transparent}
  .codex-page--beasts .venator-table,
  .codex-page--beasts .venator-table tbody,
  .codex-page--beasts .venator-table tr,
  .codex-page--beasts .venator-table td{display:block;width:100%;min-width:0}
  .codex-page--beasts .venator-table thead{display:none}
  .codex-page--beasts .venator-table tr{
    margin:0 0 16px;
    border:1px solid rgba(91,50,25,.36);
    background:rgba(255,252,237,.66);
  }
  .codex-page--beasts .venator-table td{
    border:0;
    border-bottom:1px solid rgba(91,50,25,.18);
    padding:12px 14px;
  }
  .codex-page--beasts .venator-table td:last-child{border-bottom:0}
  .codex-page--beasts .venator-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#6b3821;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
}


/* v0.32.7 — Bestiario: impaginazione editoriale senza immagini ridondanti */
.codex-page--beasts-no-art .codex-integrated{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "origins power"
    "society culture"
    "profile profile";
  min-height:0;
  gap:clamp(16px,2vw,28px);
  align-items:stretch;
  padding:clamp(14px,2vw,28px) clamp(8px,1.5vw,22px);
}
.codex-page--beasts-no-art .codex-integrated__artwork[hidden]{display:none}
.codex-page--beasts-no-art .codex-integrated__text,
.codex-page--beasts-no-art .codex-integrated__profile{
  padding:clamp(20px,2.4vw,34px);
  margin:0;
  min-height:100%;
  background:
    linear-gradient(135deg,rgba(241,226,193,.76),rgba(187,151,107,.22)),
    radial-gradient(circle at 84% 12%,rgba(109,61,35,.08),transparent 42%);
  border:1px solid rgba(91,50,25,.26);
  box-shadow:inset 0 0 28px rgba(78,39,17,.055),0 8px 22px rgba(57,31,15,.045);
}
.codex-page--beasts-no-art .codex-integrated__text h3,
.codex-page--beasts-no-art .codex-integrated__profile h3{
  margin-bottom:12px;
  font-size:clamp(19px,1.5vw,24px);
}
.codex-page--beasts-no-art .codex-integrated__text p{
  font-size:clamp(15px,1.1vw,17px);
  line-height:1.72;
  max-width:76ch;
}
.codex-page--beasts-no-art .codex-integrated__profile{
  min-height:0;
  align-self:auto;
}
.codex-page--beasts-no-art .codex-integrated__profile dl{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px 22px;
}
.codex-page--beasts-no-art .codex-integrated__profile dl div{
  grid-template-columns:minmax(92px,auto) 1fr;
  padding:9px 0;
}
.codex-page--beasts-no-art .beasts-detail{
  margin-top:clamp(20px,2.6vw,36px);
}
@media(max-width:900px){
  .codex-page--beasts-no-art .codex-integrated{
    grid-template-columns:1fr;
    grid-template-areas:"origins" "power" "society" "culture" "profile";
  }
  .codex-page--beasts-no-art .codex-integrated__text,
  .codex-page--beasts-no-art .codex-integrated__profile{min-height:0}
}


/* v0.32.7 — Bestiario: categorie ed esempi non esaustivi */
.codex-page--beasts .codex-page__sidebar button.codex-sidebar-category{color:#d8bf8e;font-weight:700;letter-spacing:.025em}
.codex-page--beasts .codex-page__sidebar button.codex-sidebar-example{padding-left:30px;color:#a99778;font-size:14px;border-left:1px solid rgba(193,157,96,.18)}
.codex-page--beasts .codex-page__sidebar button.codex-sidebar-example.is-active{color:#f0d6a2;background:linear-gradient(90deg,rgba(156,111,49,.2),transparent)}
@media(max-width:900px){.codex-page--beasts .codex-page__sidebar button.codex-sidebar-example{padding-left:12px}}


/* v0.32.9 — Scala di Torrescura e registro promozioni */
.scale-detail,
.scale-promotions{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin-top:1rem;
}
.scale-detail-card,
.scale-promotion-rank{
  padding:1rem 1.1rem;
  border:1px solid rgba(92,55,26,.34);
  background:linear-gradient(145deg,rgba(255,248,221,.64),rgba(213,181,126,.2));
  box-shadow:inset 0 0 22px rgba(84,47,18,.08);
}
.scale-detail-card h3,
.scale-promotion-rank h3{
  margin:0 0 .65rem;
  color:#4a2714;
  font-family:var(--font-display,Georgia,serif);
}
.scale-detail-card ul{margin:0;padding-left:1.15rem;display:grid;gap:.45rem;}
.scale-promotion-rank{grid-column:1 / -1;}
.scale-promotion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;}
.scale-promotion-player{
  display:grid;
  gap:.28rem;
  padding:.85rem;
  border-left:3px solid rgba(109,46,31,.7);
  background:rgba(255,251,234,.48);
}
.scale-promotion-player strong{font-size:1.08rem;color:#3d2114;}
.scale-promotion-player span,.scale-promotion-player small{font-size:.86rem;color:#684932;}
.scale-promotion-player p{margin:.25rem 0;}
.scale-promotion-empty{margin:0;color:#72543d;font-style:italic;}
@media (max-width:850px){
  .scale-detail,.scale-promotions,.scale-promotion-list{grid-template-columns:1fr;}
}


/* v0.32.10 — Scala senza immagini ridondanti e gradini unificati */
.codex-page--scale-no-art .codex-integrated{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "origins power"
    "society culture"
    "profile profile";
  min-height:0;
  gap:clamp(16px,2vw,28px);
  align-items:stretch;
  padding:clamp(14px,2vw,28px) clamp(8px,1.5vw,22px);
}
.codex-page--scale-no-art .codex-integrated__artwork[hidden]{display:none}
.codex-page--scale-no-art .codex-integrated__text,
.codex-page--scale-no-art .codex-integrated__profile{
  margin:0;
  min-height:0;
  padding:clamp(20px,2.4vw,34px);
  background:linear-gradient(135deg,rgba(238,226,201,.78),rgba(148,126,99,.18));
  border:1px solid rgba(91,70,46,.24);
}
.codex-page--scale-no-art .codex-integrated__text p{max-width:78ch;font-size:clamp(15px,1.08vw,17px);line-height:1.72}
.codex-page--scale-no-art .codex-integrated__profile dl{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 22px}
.codex-page--scale-no-art .scale-detail{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
@media(max-width:900px){
  .codex-page--scale-no-art .codex-integrated{grid-template-columns:1fr;grid-template-areas:"origins" "power" "society" "culture" "profile";}
}

/* v0.32.13 — Scala di Torrescura: tabella gerarchica testuale */
.scale-hierarchy{
  grid-column:1 / -1;
  display:grid;
  gap:1.2rem;
  margin-top:1rem;
}
.scale-apex{
  max-width:820px;
  width:100%;
  margin:0 auto;
  text-align:center;
}
.scale-apex h3{
  margin:0 0 .45rem;
  font-family:var(--font-display);
  letter-spacing:.04em;
}
.scale-apex-row{
  display:grid;
  grid-template-columns:4rem 1fr;
  align-items:center;
  min-height:2rem;
  border-bottom:1px solid rgba(75,55,29,.18);
}
.scale-apex-row:nth-child(even){background:rgba(105,126,66,.09);}
.scale-apex-row span{font-weight:700;text-align:center;}
.scale-apex-row strong{font-weight:700;text-align:left;padding:.35rem .65rem;}
.scale-table-wrap{width:100%;overflow-x:auto;padding-bottom:.35rem;}
.scale-branches-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  table-layout:fixed;
  color:var(--ink-dark,#251b12);
}
.scale-branches-table th,
.scale-branches-table td{
  padding:.55rem .45rem;
  text-align:center;
  border-bottom:1px solid rgba(75,55,29,.18);
  vertical-align:middle;
}
.scale-branches-table thead th{
  font-family:var(--font-display);
  font-size:1rem;
  letter-spacing:.02em;
  border-bottom:2px solid rgba(75,55,29,.42);
}
.scale-branches-table thead th:first-child,
.scale-branches-table tbody th{width:5.5rem;font-weight:700;}
.scale-branches-table tbody tr:nth-child(odd){background:rgba(105,126,66,.09);}
.scale-branches-table td:empty::after{content:'—';opacity:.25;}
@media (max-width:720px){
  .scale-hierarchy{gap:.85rem;}
  .scale-apex-row{grid-template-columns:3.4rem 1fr;}
  .scale-branches-table th,.scale-branches-table td{padding:.48rem .35rem;font-size:.9rem;}
}


/* v0.32.14 — Cronache di guerra senza immagini decorative */
.codex-page--war-no-art .codex-integrated{
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  grid-template-areas:
    "origins profile"
    "power profile"
    "society culture";
  gap:clamp(18px,2.4vw,34px);
  align-items:start;
}
.codex-page--war-no-art .codex-integrated__artwork[hidden]{display:none}
.codex-page--war-no-art .codex-integrated__text,
.codex-page--war-no-art .codex-integrated__profile{
  min-height:0;
  padding:clamp(18px,2.2vw,30px);
}
.codex-page--war-no-art .codex-integrated__text p{
  max-width:82ch;
  font-size:clamp(15px,1.08vw,17px);
  line-height:1.72;
}
.codex-page--war-no-art .codex-integrated__profile dl{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px 20px;
}
@media(max-width:900px){
  .codex-page--war-no-art .codex-integrated{
    grid-template-columns:1fr;
    grid-template-areas:"origins" "power" "society" "culture" "profile";
  }
}

/* v0.32.15 — Cronache di Guerra organizzate per anno e conquiste */
.codex-sidebar-war-entry{font-size:.92em;padding-left:1.35rem!important;opacity:.94}
.war-article{grid-column:1/-1;margin-top:1rem;padding:clamp(1.1rem,2vw,2rem);border:1px solid rgba(73,45,20,.28);background:rgba(255,250,229,.38);box-shadow:inset 0 0 35px rgba(88,55,22,.06)}
.war-article__newspaper{text-align:center;font-family:var(--font-display,serif);font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800;letter-spacing:.11em;margin:0 0 .35rem;text-transform:uppercase}
.war-article__dispatch{text-align:center;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:600;margin:.3rem auto .8rem;max-width:50rem}
.war-article__headline{text-align:center;font-size:clamp(1.35rem,2.7vw,2.15rem);line-height:1.15;margin:.8rem auto 1.5rem;max-width:58rem;text-transform:uppercase}
.war-article__body{columns:2 25rem;column-gap:2.2rem;text-align:justify;line-height:1.68}
.war-article__body p{break-inside:avoid;margin:0 0 1rem}
.war-article__signature{text-align:right;font-weight:700;font-style:italic;margin:1.4rem 0 0}
.war-article__note{margin-top:1.5rem;padding:1rem 1.15rem;border-left:3px solid rgba(95,48,19,.6);background:rgba(92,57,20,.07)}
.war-article__note h3{margin:0 0 .45rem;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.war-article__note p{margin:0;line-height:1.55}
@media (max-width:760px){.war-article__body{columns:1;text-align:left}.war-article{padding:1rem}.war-article__headline{font-size:1.35rem}}

/* Safety isolation: the Tela testimony must never appear outside its archive. */
.codex-page:not(.codex-page--weave) .weave-testimony{display:none!important}


/* v0.32.18 — Bacile dei Sussurri senza immagini */
.codex-page--rumors-no-art .codex-integrated{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  grid-template-areas:
    "origins profile"
    "power profile"
    "society culture";
  gap:18px 22px;
  align-items:start;
}
.codex-page--rumors-no-art .codex-integrated__artwork[hidden]{display:none}
.codex-page--rumors-no-art .codex-integrated__text,
.codex-page--rumors-no-art .codex-integrated__profile{
  width:100%;
  min-height:0;
  margin:0;
}
.codex-page--rumors-no-art .codex-integrated__text p{
  max-width:84ch;
  font-size:clamp(15px,1.06vw,17px);
  line-height:1.72;
}
.codex-page--rumors-no-art .codex-integrated__profile{align-self:start}
.codex-page--rumors-no-art .codex-integrated__profile dl{gap:8px}
@media(max-width:900px){
  .codex-page--rumors-no-art .codex-integrated{
    grid-template-columns:1fr;
    grid-template-areas:"origins" "power" "society" "culture" "profile";
  }
}


/* v0.32.22 — Dispacci senza immagini, lettura cronologica */
.codex-page--dispatches-no-art .codex-integrated{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:
    "origins"
    "profile"
    "power";
  max-width:1180px;
  margin-inline:auto;
  gap:18px;
}
.codex-page--dispatches-no-art .codex-integrated__artwork,
.codex-page--dispatches-no-art .codex-integrated__text--society,
.codex-page--dispatches-no-art .codex-integrated__text--culture{display:none!important;}
.codex-page--dispatches-no-art .codex-integrated__text--origins,
.codex-page--dispatches-no-art .codex-integrated__text--power,
.codex-page--dispatches-no-art .codex-integrated__profile{
  width:100%;
  max-width:none;
}
.codex-page--dispatches-no-art #codexOriginsText,
.codex-page--dispatches-no-art #codexPowerText{
  white-space:pre-line;
  line-height:1.72;
}
.codex-page--dispatches-no-art #codexOriginsText{font-size:clamp(1rem,1.2vw,1.15rem);}
.codex-page--dispatches-no-art .codex-integrated__profile dl{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
