/* =====================================================
   Documenti del Cittadino — Exclave / Luminèa
   Editorial poster style · mobile-first
   ===================================================== */
:root{
  --paper:#e8e5dc;
  --paper-2:#efece3;
  --card:#f5f2ea;
  --card-2:#fbf9f2;
  --ink:#1a1814;
  --ink-2:#2a2722;
  --mute:#6b6657;
  --mute-2:#9c977f;
  --line:#cdc8b8;
  --line-2:#b9b39e;
  --sage:#5f6953;
  --sage-2:#7a826b;

  --gR:#d33a2c; /* rossa */
  --gG:#f3c422; /* gialla */
  --gN:#1f1c18; /* nera */
  --gV:#a36ccf; /* viola */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{
  font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(700px 300px at 110% 10%, rgba(95,105,83,.06), transparent 60%),
    radial-gradient(900px 600px at -10% 100%, rgba(95,105,83,.05), transparent 60%),
    var(--paper);
  min-height:100vh;
  padding-bottom:80px;
  padding-bottom:calc(80px + env(safe-area-inset-bottom));
  -webkit-font-smoothing:antialiased;
  letter-spacing:.005em;
  font-size:15px;
}

/* background image layer (fornito da Chroma-K) */
.bg-layer{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-position:center top;
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
  opacity:.38;
  mix-blend-mode:multiply;
  /* background-image è impostato in JS da window.__ASSET_BG (assets.js) */
}

/* ============= TOPBAR ============= */
.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;
  padding:10px 14px;
  padding-top:calc(10px + env(safe-area-inset-top));
  backdrop-filter:blur(10px);
  background:rgba(232,229,220,.96);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.ast{font-size:22px;color:var(--ink);line-height:1;flex:none}
.brand-title{font-family:'Archivo Narrow',sans-serif;letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-sub{font-size:9px;color:var(--mute);letter-spacing:.16em;text-transform:uppercase;margin-top:2px;white-space:nowrap}
.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:380px){
  .brand-title{letter-spacing:.1em;font-size:10px}
  .brand-sub{display:none}
}
.btn{
  font-family:'Archivo Narrow',sans-serif;letter-spacing:.18em;font-size:12px;text-transform:uppercase;
  color:var(--ink);background:var(--card-2);
  border:1px solid var(--line-2);padding:12px 18px;border-radius:999px;cursor:pointer;
  transition:.15s ease;
  -webkit-tap-highlight-color:transparent;
  min-height:44px;
  touch-action:manipulation;
}
.btn:hover, .btn:active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.ghost{background:transparent}
.btn.danger:hover, .btn.danger:active{background:#8a2f25;color:#fdfaf1;border-color:#8a2f25}

.notice{
  position:relative;z-index:2;
  margin:14px;padding:12px 14px;
  display:flex;gap:10px;align-items:flex-start;
  border:1px solid var(--line);
  background:#fbf9f2;
  box-shadow:0 1px 0 #fff inset, 0 4px 16px rgba(40,35,25,.06);
  border-radius:16px;
  color:var(--ink-2);font-size:13px;line-height:1.45;
}
.notice span{color:var(--sage);font-size:18px;line-height:1;flex:none}
.notice b{color:var(--ink)}
.notice p{margin:0}

/* ============= SHEET ============= */
.sheet{
  position:relative;z-index:1;
  margin:12px;
  background:rgba(247,244,233,.92);
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px 14px 20px;
  box-shadow:0 1px 0 #fff inset, 0 20px 60px rgba(40,35,25,.08);
  overflow:hidden;
  backdrop-filter:blur(2px);
}
@media (max-width:380px){
  .sheet{margin:8px;padding:18px 10px 16px;border-radius:14px}
  .block{padding:20px 0 12px}
}
.sheet::before, .sheet::after{
  content:"";position:absolute;width:14px;height:14px;border:1px solid var(--line-2);
}
.sheet::before{top:8px;left:8px;border-right:none;border-bottom:none}
.sheet::after{bottom:8px;right:8px;border-left:none;border-top:none}

.block{position:relative;padding:24px 0 14px;border-top:1px solid var(--line)}
.block:first-of-type{border-top:none}
.block::before, .block::after{
  content:"+";position:absolute;color:var(--mute-2);font-size:9px;line-height:1;
  font-family:'JetBrains Mono',monospace;top:-5px;
}
.block::before{left:-8px}
.block::after{right:-8px}

/* ============= COVER ============= */
.cover{
  position:relative;
  padding:6px 0 22px;
  border-bottom:1px solid var(--line);
  margin-bottom:6px;
}
.cover-tag{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mute);
  text-transform:uppercase;letter-spacing:.14em;
}
.cover-tag b{color:var(--ink)}
.cover-tag .dot{color:var(--mute-2)}

.cover-mark{
  position:absolute;top:0;right:0;
}
.infinity{font-size:28px;color:var(--ink);line-height:.9}

.cover-title{
  font-family:'Archivo Narrow',sans-serif;
  font-weight:700;
  font-size:clamp(44px, 13vw, 88px);
  line-height:.88;letter-spacing:-.005em;
  margin:14px 0 10px;color:var(--ink);text-transform:uppercase;
}
.cover-title .line{display:block}
.cover-title i{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-weight:400;text-transform:none;font-size:.65em;color:var(--mute);
  margin:0 .12em;letter-spacing:0;
}

.cover-quote{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:clamp(15px,4.2vw,18px);line-height:1.45;color:var(--ink-2);
  max-width:560px;margin:0;
}

.cover-foot{
  display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute);
}
.cover-foot .seal{width:22px;height:22px;display:grid;place-items:center;color:var(--ink);flex:none}
.cover-foot .seal svg{width:16px;height:16px}
.cover-mod{margin-left:auto;color:var(--mute-2)}

/* ============= BLOCK HEADERS ============= */
.blk-head{
  display:flex;align-items:baseline;gap:10px;margin:0 0 6px;
}
.blk-num{
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mute);
  letter-spacing:.18em;flex:none;
}
.blk-head h2{
  font-family:'Archivo Narrow',sans-serif;font-weight:700;
  letter-spacing:.03em;font-size:clamp(22px,6vw,32px);text-transform:uppercase;
  margin:0;color:var(--ink);line-height:1;
}
.blk-ast{margin-left:auto;color:var(--ink);font-size:16px;flex:none}

.blk-sub{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mute);margin:14px 0 8px;
}
.blk-sub i{font-style:italic;font-family:'Instrument Serif',serif;text-transform:none;letter-spacing:0;color:var(--mute-2)}

.lead{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:15px;
  color:var(--ink-2);max-width:780px;margin:6px 0 16px;line-height:1.5;
}
.lead b{font-style:normal;font-family:'Archivo Narrow',sans-serif;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.04em;font-size:13px}
.hint{font-family:'Instrument Serif',serif;font-style:italic;font-size:13px;color:var(--mute);margin:8px 0 0;line-height:1.5}

/* ============= FORM ============= */
.grid{display:grid;gap:12px}
.grid.g-2,.grid.g-3{grid-template-columns:1fr}
.span-2{grid-column:auto}
.mt{margin-top:14px}

.field{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.field>span{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute);
}
.field input,.field textarea,.field select{
  font-family:'Archivo',sans-serif;font-size:16px;color:var(--ink);
  background:var(--card-2);
  border:1px solid var(--line);
  padding:13px 14px;border-radius:12px;outline:none;
  transition:.15s ease;resize:vertical;
  width:100%;
  min-height:46px;
}
.field textarea{min-height:64px}
.field input:focus,.field textarea:focus{
  border-color:var(--ink);
  box-shadow:0 0 0 3px rgba(26,24,20,.06);
  background:#fff;
}

/* ============= SETTORI ============= */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;cursor:pointer;user-select:none}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer}
.chip-body{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 18px;border:1px solid var(--line-2);border-radius:999px;
  background:var(--card-2);
  font-family:'Archivo Narrow',sans-serif;letter-spacing:.14em;text-transform:uppercase;
  font-size:12px;color:var(--ink);transition:.15s ease;
  min-height:44px;
}
.chip-body::before{
  content:"";width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid var(--mute);
}
.chip input:checked + .chip-body{
  background:var(--ink);color:var(--paper);border-color:var(--ink);
}
.chip input:checked + .chip-body::before{background:var(--paper);border-color:var(--paper)}

/* ============= HP / ARMATURA ============= */
.hp-row{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:14px}
.hp-card{
  border:1px solid var(--line);border-radius:18px;
  background:var(--card-2);padding:18px;text-align:center;
  display:flex;flex-direction:column;justify-content:center;align-items:center;
}
.hp-lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--mute);text-transform:uppercase}
.hp-num{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:72px;line-height:.9;color:var(--ink);margin:8px 0 6px}
.hp-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mute);letter-spacing:.06em}
.hp-sub i{color:var(--ink);font-style:normal;font-weight:600;font-size:13px;font-family:'Archivo Narrow',sans-serif}
.hp-sub .bullet{color:var(--mute-2)}
.arm-card{border:1px solid var(--line);border-radius:18px;background:var(--card-2);padding:14px 16px}
.arm-row{display:flex;flex-wrap:wrap;gap:6px}
.arm-row label{cursor:pointer;display:inline-block}
.arm-row input{position:absolute;opacity:0;width:0;height:0}
.arm-row .pill{
  display:inline-flex;align-items:center;padding:12px 16px;border:1px solid var(--line-2);
  border-radius:999px;background:#fff;font-family:'Archivo Narrow',sans-serif;
  letter-spacing:.1em;font-size:12px;text-transform:uppercase;color:var(--ink-2);transition:.15s ease;
  min-height:44px;
}
.arm-row label:has(input:checked) .pill{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ============= GEMME BUDGET ============= */
.budget{display:flex;flex-direction:column;gap:8px;margin:6px 0 12px}
.bud-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.bud-row.split{grid-template-columns:1fr 1fr}
.bud{
  border:1px solid var(--line);border-radius:14px;background:var(--card-2);
  padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.bud .lbl{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;
  color:var(--mute);text-transform:uppercase;display:flex;align-items:center;gap:6px;
}
.bud .num{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:22px;color:var(--ink);line-height:1}
.bud .max{color:var(--mute-2);font-weight:400;font-size:12px;margin-left:2px}
.bud.kind{border-color:var(--line-2);background:#fff}
.bud.total{background:var(--ink);color:var(--paper);border-color:var(--ink);grid-column:span 2}
.bud.total .lbl,.bud.total .num{color:var(--paper)}
.bud.total .max{color:rgba(255,255,255,.5)}
.bud.over .num{color:#c33b2a}
.bud.total.over{background:#8a2f25}

.legend{
  display:flex;gap:14px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);
}
.lg{display:inline-flex;align-items:center;gap:6px}

.gem{
  display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.18);
}
.gem.g-R{background:var(--gR)}
.gem.g-G{background:var(--gG)}
.gem.g-N{background:var(--gN)}
.gem.g-V{background:var(--gV)}

/* ============= ABILITÀ ============= */
.abilita-grid{display:grid;gap:10px}
.cat{
  border:1px solid var(--line);border-radius:16px;background:var(--card-2);
  overflow:hidden;
}
.cat-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:16px 16px;cursor:pointer;user-select:none;
  -webkit-tap-highlight-color:transparent;
  min-height:54px;
}
.cat-name{font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.14em;font-size:12px;text-transform:uppercase;color:var(--ink)}
.cat-name small{font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;margin-left:6px}
.cat-meta{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;flex:none}
.cat-meta b{color:var(--ink)}
.cat-body{
  padding:4px 8px 10px;display:grid;grid-template-columns:1fr;
  gap:2px;border-top:1px solid var(--line);
}
.cat.collapsed .cat-body{display:none}

.ab{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:12px;align-items:start;
  padding:14px 12px;border-radius:14px;
  border:1px solid transparent;
  transition:.15s ease;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.ab:active, .ab.on{background:#fff;border-color:var(--line-2)}
.ab > input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1.5px solid var(--line-2);
  border-radius:50%;background:var(--paper-2);cursor:pointer;position:relative;margin-top:1px;flex:none;
}
.ab > input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink)}
.ab > input[type=checkbox]:checked::after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:var(--paper);
}

.ab-main{display:flex;flex-direction:column;gap:6px;min-width:0;pointer-events:none}
.ab-main label, .ab-main .ab-cost, .ab-main .ab-desc{pointer-events:auto}
.ab-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ab-cost{
  display:inline-flex;gap:3px;align-items:center;flex:none;
}
.ab-cost .g{
  display:inline-block;width:11px;height:11px;border-radius:2px;border:1px solid rgba(0,0,0,.18);
}
.ab-cost .g.g-R{background:var(--gR)}
.ab-cost .g.g-G{background:var(--gG)}
.ab-cost .g.g-N{background:var(--gN)}
.ab-cost .g.g-V{background:var(--gV)}
.ab-name{font-family:'Archivo Narrow',sans-serif;font-size:15px;color:var(--ink);line-height:1.25;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.ab-desc{font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-size:13.5px;line-height:1.45}
.ab-tags{display:flex;gap:6px;flex:none;margin-top:4px}
.ab-tags button{
  width:38px;height:38px;border-radius:50%;cursor:pointer;
  background:transparent;border:1.5px solid var(--line-2);
  font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:13px;color:var(--mute);
  transition:.12s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.ab-tags button.on[data-t="I"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ab-tags button.on[data-t="M"]{background:var(--sage);color:#fff;border-color:var(--sage)}

/* ============= REPERTORIO ============= */
.rep{display:grid;grid-template-columns:1fr;gap:12px;margin-top:8px}
.rep-col{border:1px solid var(--line);border-radius:16px;background:var(--card-2);padding:12px 14px}
.rep-h{
  font-family:'Archivo Narrow',sans-serif;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;font-size:12px;color:var(--ink);margin:0 0 8px;
  display:flex;align-items:center;justify-content:space-between;
}
.rep-h::after{
  content:"";flex:1;height:1px;background:var(--line);margin-left:10px;
}
.rep-list{display:flex;flex-direction:column;gap:2px}
.rep-item{
  display:flex;gap:12px;align-items:flex-start;padding:12px 10px;border-radius:12px;cursor:pointer;
  transition:.12s ease;
  -webkit-tap-highlight-color:transparent;
  min-height:44px;
}
.rep-item:active{background:#fff}
.rep-item input{
  appearance:none;-webkit-appearance:none;width:20px;height:20px;border:1.5px solid var(--line-2);
  border-radius:50%;background:var(--paper-2);margin-top:2px;flex:none;cursor:pointer;
}
.rep-item input:checked{background:var(--ink);border-color:var(--ink)}
.rep-item input:checked::after{
  content:"";position:relative;display:block;width:8px;height:8px;border-radius:50%;background:var(--paper);margin:5px auto;
}
.rep-item .nm{font-family:'Archivo',sans-serif;font-size:14px;color:var(--ink);line-height:1.4}
.rep-item .nm small{display:block;font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-size:12.5px;margin-top:2px}

/* ============= FOOTER ============= */
.sheet-foot{margin-top:24px}
.foot-rule{height:1px;background:var(--line);margin-bottom:12px}
.foot-grid{
  display:grid;grid-template-columns:1fr;gap:8px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);
}
.foot-grid .center{font-family:'Instrument Serif',serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-2)}

.footer-tip{
  margin:14px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);
}

/* ============= ≥ 720 px (tablet) ============= */
@media (min-width: 720px){
  body{font-size:15px}
  .sheet{margin:24px auto;max-width:980px;padding:48px 56px 36px;border-radius:24px}
  .sheet::before,.sheet::after{width:20px;height:20px;top:10px;left:10px}
  .sheet::after{top:auto;left:auto;bottom:10px;right:10px}
  .notice{max-width:980px;margin:18px auto 0;padding:14px 18px;border-radius:18px}
  .footer-tip{max-width:980px;margin:14px auto 0}
  .topbar{padding:14px 28px}
  .brand-title{font-size:12px;letter-spacing:.32em}
  .brand-sub{font-size:10px;letter-spacing:.22em}
  .btn{padding:10px 16px;font-size:11px;letter-spacing:.22em}
  .block{padding:34px 0 18px}
  .block::before,.block::after{font-size:10px;top:-6px}
  .block::before{left:-12px}.block::after{right:-12px}

  .grid.g-2{grid-template-columns:1fr 1fr}
  .grid.g-3{grid-template-columns:repeat(3,1fr)}
  .span-2{grid-column:span 2}

  .hp-row{grid-template-columns:220px 1fr}
  .hp-num{font-size:84px}

  .bud-row{grid-template-columns:repeat(4,1fr)}
  .bud-row.split{grid-template-columns:repeat(3,1fr)}
  .bud.total{grid-column:auto}
  .bud{flex-direction:column;align-items:flex-start;padding:14px 16px}
  .bud .num{font-size:30px}

  .cat-body{padding:6px 10px 14px}
  .ab{grid-template-columns:24px 1fr;gap:14px;padding:10px 12px}

  .rep{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr auto 1fr;text-align:left}
  .foot-grid .center{text-align:center}
  .foot-grid .right{text-align:right}

  .infinity{font-size:30px}
  .cover-foot{gap:14px}
  .cover-foot{font-size:10px;letter-spacing:.18em}

  .topo{width:420px;height:520px;opacity:.28}
}

@media (min-width: 980px){
  .ab{grid-template-columns:24px 1fr auto;}
  .ab-tags{align-self:start;margin-top:2px}
}

/* =============== EXPORT DOCUMENT (simplified) =============== */
.export-doc{
  position:absolute;left:0;top:0;
  width:794px; /* A4 @ 96dpi */
  background-color:#f3efe2;
  color:var(--ink);
  font-family:'Archivo',sans-serif;
  padding:48px 56px 40px;
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  z-index:-1;
  opacity:0;
  pointer-events:none;
}
.export-doc.rendering{
  z-index:9999;opacity:1;
}
.export-doc .ed-bg{
  position:absolute;inset:0;background:rgba(247,244,233,.86);pointer-events:none;
}
.export-doc > *{position:relative;z-index:2}
.ed-head{display:flex;align-items:center;gap:18px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:18px}
.ed-head .ed-meta{flex:1}
.ed-head .ed-kicker{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.ed-head h1{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:42px;line-height:.95;letter-spacing:.02em;text-transform:uppercase;margin:6px 0 4px;color:var(--ink)}
.ed-head .ed-name{font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;color:var(--ink-2)}
.ed-head .ed-num{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--mute);letter-spacing:.18em;text-transform:uppercase;text-align:right}
.ed-head .ed-num b{display:block;font-family:'Archivo Narrow',sans-serif;font-size:24px;color:var(--ink);font-weight:700}

.ed-section{margin-top:22px;page-break-inside:avoid}
.ed-section h2{
  font-family:'Archivo Narrow',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;font-size:13px;color:var(--ink);margin:0 0 10px;
  display:flex;align-items:center;gap:10px;
}
.ed-section h2::before{
  content:"";width:18px;height:1px;background:var(--ink);
}
.ed-section h2::after{
  content:"";flex:1;height:1px;background:var(--line);
}

.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.ed-field{break-inside:avoid}
.ed-field .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:3px}
.ed-field .val{font-family:'Instrument Serif',serif;font-style:italic;font-size:15px;color:var(--ink);line-height:1.4;white-space:pre-wrap}

.ed-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ed-pill{
  font-family:'Archivo Narrow',sans-serif;letter-spacing:.16em;text-transform:uppercase;
  font-size:11px;color:#f3efe2;background:var(--ink);padding:6px 14px;border-radius:999px;
}

.ed-hp{display:flex;gap:16px;align-items:baseline;font-family:'Archivo Narrow',sans-serif}
.ed-hp .big{font-weight:700;font-size:48px;color:var(--ink);line-height:1}
.ed-hp .sm{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--mute);text-transform:uppercase}

.ed-gems{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.ed-gemcap{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--mute);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.4)}
.ed-gemcap b{font-family:'Archivo Narrow',sans-serif;font-size:14px;color:var(--ink)}
.ed-gemcap.total{background:var(--ink);color:#f3efe2;border-color:var(--ink)}
.ed-gemcap.total b{color:#f3efe2}

.ed-ab-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}
.ed-ab{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-top:1px dotted var(--line)}
.ed-ab:first-child{border-top:none}
.ed-ab .ed-ab-cost{display:inline-flex;gap:2px;margin-top:4px;flex:none}
.ed-ab .ed-ab-cost i{width:9px;height:9px;border-radius:2px;border:1px solid rgba(0,0,0,.15);display:inline-block}
.ed-ab .ed-ab-cost i.g-R{background:var(--gR)}
.ed-ab .ed-ab-cost i.g-G{background:var(--gG)}
.ed-ab .ed-ab-cost i.g-N{background:var(--gN)}
.ed-ab .ed-ab-cost i.g-V{background:var(--gV)}
.ed-ab .ed-ab-name{font-family:'Archivo Narrow',sans-serif;font-weight:700;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.25;flex:1}
.ed-ab .ed-ab-tag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;color:var(--mute);border:1px solid var(--line-2);padding:2px 6px;border-radius:4px;flex:none}
.ed-ab .ed-ab-tag.I{background:var(--ink);color:#f3efe2;border-color:var(--ink)}
.ed-ab .ed-ab-tag.M{background:var(--sage);color:#fff;border-color:var(--sage)}

.ed-rep-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ed-rep-col h3{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
.ed-rep-col ul{margin:0;padding:0;list-style:none}
.ed-rep-col li{font-family:'Archivo Narrow',sans-serif;font-size:12px;letter-spacing:.02em;color:var(--ink);padding:3px 0;border-top:1px dotted var(--line)}
.ed-rep-col li:first-child{border-top:none}
.ed-rep-col li small{display:block;font-family:'Instrument Serif',serif;font-style:italic;color:var(--mute);font-size:11px}

.ed-foot{
  margin-top:32px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--mute);letter-spacing:.18em;text-transform:uppercase;
}
.ed-foot .ed-quote{font-family:'Instrument Serif',serif;font-style:italic;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink-2)}

/* exporting */
.exporting .no-print{display:none !important}
@media print{
  body{background:#fff}
  .no-print{display:none !important}
  .topo{display:none}
  .sheet{box-shadow:none;border:none}
}

/* PRINT MODE — solo riassunto come PDF/PNG */
body.print-summary{background:#fff}
body.print-summary > *:not(.export-doc){display:none !important}
body.print-summary .export-doc{
  position:static !important;
  opacity:1 !important;pointer-events:auto !important;
  z-index:auto !important;
  width:auto !important;max-width:794px;
  box-shadow:none !important;border:none !important;
  margin:0 auto;padding:24px 28px;
}
@media print{
  body.print-summary{background:#fff !important}
  body.print-summary > *:not(.export-doc){display:none !important}
  body.print-summary .export-doc{
    position:static !important;width:100% !important;max-width:none !important;
    opacity:1 !important;pointer-events:auto !important;
    box-shadow:none !important;border:none !important;
    padding:0 !important;margin:0 !important;
  }
  body.print-summary .export-doc .ed-bg{display:none !important}
  @page{margin:14mm}
}
