@import url("https://fonts.googleapis.com/css2?family=Grenze:ital,wght@1,500;1,600&family=Figtree:ital,wght@1,400;1,500&display=swap");
/* =====================================================================
   MiniLand's 3D: Ficha de Personagem
   1) Oficina: formulário com prévia ao vivo (tema da taverna)
   2) A ficha em si: frente, verso e carta de convocação em A4 (fp-*)
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Oficina da ficha
   --------------------------------------------------------------------- */
.ficha-topo{padding-block:clamp(18px,3vw,36px) clamp(18px,3vw,30px);background:radial-gradient(ellipse 55% 90% at 92% 0%,rgba(165,123,230,.1),rgba(165,123,230,0) 60%)}
.ficha-topo__grade{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(22px,4vw,56px);align-items:end}
.ficha-topo__texto{display:grid;justify-items:start;gap:14px}
.ficha-topo__texto h1{font-size:clamp(2.2rem,1.4rem + 2.8vw,3.8rem);text-wrap:balance}
.ficha-topo__texto>p{color:var(--texto-2);font-size:1.1rem;max-width:56ch}
.ficha-topo__texto>p.ficha-topo__preco{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#1a130e;box-shadow:inset 0 0 0 1px var(--borda-media);font-size:.98rem}
.ficha-topo__preco .ic{width:26px;height:26px;flex:none;color:var(--ouro-claro)}
.ficha-topo__preco strong{color:var(--texto);font-size:1.15rem;margin-right:4px}
.ficha-passos{list-style:none;display:grid;gap:10px}
.ficha-passo{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:linear-gradient(180deg,#1f1711,#18120d);box-shadow:inset 0 0 0 1px var(--borda)}
.ficha-passo__medalha{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--ouro-claro);background:radial-gradient(circle at 50% 32%,#4b3825,#1b140e 70%);box-shadow:0 0 0 2px #8f6f37}
.ficha-passo__medalha .ic{width:22px;height:22px}
.ficha-passo__texto{display:grid;gap:2px}
.ficha-passo__texto strong{font:600 1.2rem/1.1 var(--f-titulo)}
.ficha-passo__texto>span{color:var(--texto-2);font-size:.92rem}
@media (max-width:900px){.ficha-topo__grade{grid-template-columns:minmax(0,1fr)}}

.ficha-avisos{display:grid;gap:10px;margin-bottom:18px}
.ficha-avisos:empty{display:none}
.ficha-avisos a{color:var(--esmeralda-clara)}

.oficina-ficha{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);gap:clamp(20px,3vw,40px);align-items:start;padding-bottom:clamp(40px,6vw,80px)}
.oficina-ficha__form{display:grid;gap:16px;min-width:0}

.ficha-bloco{margin:0;min-width:0;display:grid;gap:14px;padding:clamp(18px,2.4vw,26px);border:0;border-radius:16px;background:linear-gradient(180deg,#1f1711,#18120d);box-shadow:inset 0 0 0 1px var(--borda),0 20px 40px -32px #000}
.ficha-bloco legend{float:left;width:100%;display:flex;align-items:center;gap:12px;padding:0;margin:0;font:600 1.45rem/1.1 var(--f-titulo);color:var(--texto)}
.ficha-bloco__icone{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--ouro-claro);background:#120e0b;box-shadow:inset 0 0 0 1px var(--borda-media)}
.ficha-bloco__icone .ic{width:20px;height:20px}
.ficha-bloco--carta{background:radial-gradient(ellipse 70% 90% at 100% 0%,rgba(125,43,33,.2),rgba(125,43,33,0) 60%),linear-gradient(180deg,#1f1711,#18120d)}
.ficha-bloco .campo__rotulo{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.86rem;color:var(--texto-2)}
.ficha-bloco .campo__ajuda{color:var(--texto-3);opacity:1}
.ficha-bloco input[type="text"],.ficha-bloco textarea{width:100%;border-radius:10px;border:1px solid var(--borda-media);background:#120e0b;color:var(--texto);font:inherit;font-size:1rem}
.ficha-bloco .campo input[type="text"]{min-height:46px;padding:10px 12px}
.ficha-bloco .campo textarea{min-height:0;padding:10px 12px;line-height:1.45;resize:vertical}
.ficha-bloco input[type="text"]:focus,.ficha-bloco textarea:focus{outline:none;border-color:var(--esmeralda);box-shadow:0 0 0 3px rgba(67,209,142,.2)}
.ficha-bloco input::placeholder,.ficha-bloco textarea::placeholder{color:var(--texto-3);opacity:.75}
.ficha-bloco input:disabled,.ficha-bloco textarea:disabled{opacity:.6;cursor:not-allowed}
.contador-campo{font:500 .76rem/1 var(--f-corpo);color:var(--texto-3);font-variant-numeric:tabular-nums}
.contador-campo--quase{color:var(--ambar)}
.campos-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.campos-grade--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.campos-grade--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.campo-destaque .campo input[type="text"]{min-height:54px;font:600 1.4rem/1.2 var(--f-titulo)}
.campo-destaque--erro .campo input[type="text"]{border-color:var(--perigo);box-shadow:0 0 0 3px rgba(231,134,111,.2)}
.campo__erro{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--perigo);font-weight:600;font-size:.9rem}
.campo__erro .ic{width:16px;height:16px;flex:none}
@media (max-width:640px){
  .campos-grade--3,.campos-grade--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .campos-grade--areas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:380px){.campos-grade{grid-template-columns:minmax(0,1fr)}}

/* retrato */
.envio-retrato{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:14px;border-radius:14px;border:1.5px dashed var(--borda-forte);background:rgba(201,164,92,.05);cursor:pointer;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out)}
.envio-retrato:hover{border-color:var(--ouro-claro);background:rgba(201,164,92,.09)}
.envio-retrato:focus-within{outline:2px solid var(--esmeralda);outline-offset:3px}
.envio-retrato input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.envio-retrato__miniatura{position:relative;width:72px;height:90px;border-radius:36px 36px 6px 6px;overflow:hidden;display:grid;place-items:center;color:var(--ouro);background:#120e0b;box-shadow:0 0 0 1px var(--borda-forte)}
.envio-retrato__miniatura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.envio-retrato__miniatura .ic{width:26px;height:26px}
.envio-retrato__miniatura img:not([hidden])+.ic{display:none}
.envio-retrato__texto{display:grid;gap:4px}
.envio-retrato__texto small{color:var(--texto-3);font-size:.86rem}
.ajuste-retrato{display:grid;gap:10px;padding:12px 14px;border-radius:12px;background:#140f0c;box-shadow:inset 0 0 0 1px var(--borda)}
.faixa-ajuste{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;font-size:.9rem;color:var(--texto-2)}
.faixa-ajuste input[type="range"]{width:100%;accent-color:var(--esmeralda)}
.retrato-erro{margin:0}

/* atributos e ataques */
.atributos-form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.atributo-form{display:grid;gap:6px;padding:10px 8px 8px;border-radius:12px;background:#140f0c;box-shadow:inset 0 0 0 1px var(--borda)}
.ficha-bloco .atributo-form input[type="text"]{min-height:38px;padding:6px 4px;text-align:center}
.ficha-bloco .atributo-form .atributo-form__sigla{min-height:30px;font:700 .82rem/1 var(--f-rotulo);letter-spacing:.1em;text-transform:uppercase;color:var(--ouro-claro);background:transparent;border-color:transparent}
.ficha-bloco .atributo-form .atributo-form__sigla:hover{border-color:var(--borda-media)}
.ficha-bloco .atributo-form .atributo-form__valor{min-height:50px;font:600 1.6rem/1 var(--f-titulo)}
.ficha-bloco .atributo-form .atributo-form__mod{font-weight:700}
.atributo-form__nome{text-align:center;font-size:.7rem;color:var(--texto-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.atributos-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ataques-form{display:grid;gap:8px}
.ataques-form__cabeca,.ataques-form__linha{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.62fr) minmax(0,1.3fr);gap:8px}
.ataques-form__cabeca span{font:600 .7rem/1 var(--f-rotulo);letter-spacing:.12em;text-transform:uppercase;color:var(--ouro)}
.ficha-bloco .ataques-form input[type="text"]{min-height:42px;padding:8px 10px}
@media (max-width:520px){
  .ataques-form__cabeca{display:none}
  .ataques-form__linha{grid-template-columns:minmax(0,1fr) 88px;padding-bottom:10px;border-bottom:1px solid var(--borda)}
  .ataques-form__linha input:last-child{grid-column:1/-1}
}

/* ações */
.ficha-acoes{position:sticky;bottom:12px;z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:12px;border-radius:16px;background:rgba(24,18,13,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--borda-media),0 24px 44px -20px #000}
body:has(.barra-admin) .ficha-acoes{bottom:76px}
.ficha-acoes .botao{min-height:48px;padding:.6em 1.15em;font-size:1rem}
.ficha-acoes__preco{margin-left:4px;padding:2px 8px;border-radius:999px;background:rgba(6,20,13,.2);font-size:.86rem;font-variant-numeric:tabular-nums}
.ficha-acoes__previa{display:none;margin-right:auto}
.ficha-rodape-aviso{display:flex;align-items:flex-start;gap:10px;color:var(--texto-3);font-size:.9rem}
.ficha-rodape-aviso .ic{width:18px;height:18px;flex:none;margin-top:2px;color:var(--ouro)}
@media (max-width:560px){
  .ficha-acoes{gap:8px;padding:10px}
  .ficha-acoes .botao{flex:1 1 auto;padding-inline:14px;font-size:.95rem}
  .ficha-acoes__previa{flex:0 0 auto!important}
}

/* prévia */
.previa-ficha{position:sticky;top:calc(var(--barra-h) + 18px);display:grid;gap:10px;min-width:0}
.previa-ficha__barra{display:flex;align-items:center;justify-content:space-between;gap:10px}
.previa-ficha__abas{display:inline-flex;padding:4px;border-radius:999px;background:#140f0c;box-shadow:inset 0 0 0 1px var(--borda-media)}
.previa-ficha__abas button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--texto-2);font:600 .95rem/1 var(--f-corpo);cursor:pointer}
.previa-ficha__abas button:hover{color:var(--texto)}
.previa-ficha__abas button[aria-selected="true"]{background:var(--ouro);color:#1b120a}
.previa-ficha__abas button:focus-visible{outline:2px solid var(--esmeralda);outline-offset:2px}
.previa-ficha__fechar{display:none;width:44px;height:44px;border-radius:50%;place-items:center;border:0;background:#1a130e;color:var(--ouro-claro);box-shadow:inset 0 0 0 1px var(--borda-forte);cursor:pointer}
.previa-ficha__fechar .ic{width:22px;height:22px}
.previa-ficha__palco{position:relative;display:flex;justify-content:center;padding:14px;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 50% 0%,#2e2219,#130e0a);box-shadow:inset 0 0 0 1px var(--borda)}
.previa-ficha__escala{flex:none;width:210mm;transform-origin:0 0}
.js .previa-ficha__escala{transform:scale(var(--escala,.5));margin-right:calc((var(--escala,.5) - 1) * var(--largura-folha,210mm));margin-bottom:calc((var(--escala,.5) - 1) * var(--altura-folha,297mm))}
html:not(.js) .previa-ficha__escala{zoom:.5}
.js .previa-ficha .fp-folha:not(.fp-folha--ativa){display:none}
.previa-ficha .fp-folha{box-shadow:inset 0 0 22mm rgba(120,78,30,.24),0 8mm 18mm -6mm rgba(0,0,0,.75)}
.previa-ficha__nota{color:var(--texto-3);font-size:.85rem;text-align:center}
html.previa-travada{overflow:hidden}
@media (max-width:1099px){
  .oficina-ficha{grid-template-columns:minmax(0,1fr)}
  .ficha-acoes__previa{display:inline-flex}
  .js .previa-ficha{position:fixed;inset:0;z-index:120;align-content:start;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) calc(16px + env(safe-area-inset-bottom,0px));background:rgba(10,8,6,.97);visibility:hidden;opacity:0;transition:opacity .25s var(--ease-out),visibility .25s}
  .js .previa-ficha.aberta{visibility:visible;opacity:1}
  .js .previa-ficha__fechar{display:grid}
  .js .previa-ficha__palco{overflow:auto;align-items:flex-start}
}

/* lista de fichas */
.secao--minhas-fichas{padding-top:0}
.lista-fichas--cartoes{margin-top:22px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}

/* realce do campo que está sendo editado */
.fp-destaque{animation:fp-pulso 1.1s var(--ease-out,ease-out)}
@keyframes fp-pulso{0%{background-color:rgba(67,209,142,.28);box-shadow:0 0 0 1.4mm rgba(67,209,142,.35)}100%{background-color:rgba(67,209,142,0);box-shadow:0 0 0 0 rgba(67,209,142,0)}}
@media (prefers-reduced-motion:reduce){.fp-destaque{animation:none}}

/* ---------------------------------------------------------------------
   2. A ficha (medidas em milímetros pra sair igual no papel)
   --------------------------------------------------------------------- */
.fp-livro{
  --fp-papel:#F4E9D0;
  --fp-papel-2:#E8D5AF;
  --fp-tinta:#2A1C11;
  --fp-tinta-2:#5B412A;
  --fp-linha:rgba(58,38,20,.52);
  --fp-linha-fraca:rgba(58,38,20,.2);
  --fp-sangue:#7D2B21;
  --fp-ouro:#9E7631;
  --fp-assinatura:#23305A;
  --fp-titulo:"Grenze","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --fp-rotulo:"Cinzel","Trajan Pro","Palatino Linotype",Georgia,serif;
  --fp-corpo:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  display:grid;gap:12mm;color:var(--fp-tinta);text-align:left;
}
.fp-livro *,.fp-livro *::before,.fp-livro *::after{box-sizing:border-box}
.fp-folha{
  position:relative;isolation:isolate;width:210mm;height:297mm;overflow:hidden;
  display:flex;flex-direction:column;gap:3.2mm;padding:13mm 13mm 10.5mm;
  font:400 9.5pt/1.3 var(--fp-corpo);color:var(--fp-tinta);
  background:
    radial-gradient(ellipse 70% 45% at 16% 7%,rgba(255,251,240,.8),rgba(255,251,240,0) 60%),
    radial-gradient(ellipse 60% 48% at 90% 97%,rgba(150,104,48,.22),rgba(150,104,48,0) 66%),
    radial-gradient(ellipse 40% 30% at 96% 10%,rgba(150,104,48,.14),rgba(150,104,48,0) 70%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .34 0 0 0 0 .22 0 0 0 0 .1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23f)' opacity='.42'/%3E%3C/svg%3E"),
    linear-gradient(180deg,var(--fp-papel),var(--fp-papel-2));
  box-shadow:inset 0 0 22mm rgba(120,78,30,.24);
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.fp-folha>*{position:relative;z-index:1}
.fp-livro--economico .fp-folha{background:#fff;box-shadow:none}

/* moldura e cantos */
.fp-folha>.fp-moldura{position:absolute;inset:6mm;z-index:0;pointer-events:none;border:.7mm solid var(--fp-tinta);border-radius:2.4mm}
.fp-moldura::before{content:"";position:absolute;inset:1.3mm;border:.25mm solid var(--fp-linha);border-radius:1.6mm}
.fp-canto{position:absolute;width:17mm;height:17mm;color:var(--fp-tinta-2)}
.fp-canto svg{display:block;width:100%;height:100%}
.fp-canto--se{top:.6mm;left:.6mm}
.fp-canto--sd{top:.6mm;right:.6mm;transform:scaleX(-1)}
.fp-canto--ie{bottom:.6mm;left:.6mm;transform:scaleY(-1)}
.fp-canto--id{bottom:.6mm;right:.6mm;transform:scale(-1)}

/* textos que ficam vazios */
.fp-livro [data-vazio-texto]:empty::before{content:attr(data-vazio-texto);color:rgba(58,38,20,.3)}

/* cabeçalho */
.fp-cabeca{display:grid;justify-items:center;gap:.8mm;text-align:center;padding-top:1.2mm}
.fp-sobretitulo{margin:0;display:flex;align-items:center;justify-content:center;gap:3mm;font:600 7pt/1 var(--fp-rotulo);letter-spacing:.34em;text-transform:uppercase;color:var(--fp-sangue)}
.fp-sobretitulo::before,.fp-sobretitulo::after{content:"";width:24mm;height:.3mm;background:linear-gradient(90deg,rgba(58,38,20,0),var(--fp-linha))}
.fp-sobretitulo::after{transform:scaleX(-1)}
.fp-nome{margin:0;max-width:158mm;font:600 29pt/1.08 var(--fp-titulo);letter-spacing:.005em;color:var(--fp-tinta);white-space:nowrap;overflow:hidden}
.fp-sub{margin:0;min-height:4mm;font:600 8.4pt/1.2 var(--fp-rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-cabeca--verso{gap:.4mm;padding-top:.6mm}
.fp-nome--verso{font-size:19pt;max-width:140mm}

/* retrato e identidade */
.fp-topo{display:grid;grid-template-columns:58mm minmax(0,1fr);gap:7mm;height:80mm;margin-top:1mm}
.fp-retrato{margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:2.2mm;padding:1.8mm 1.8mm 0}
.fp-retrato__arco{position:relative;overflow:hidden;border-radius:29mm 29mm 1.8mm 1.8mm;background:linear-gradient(180deg,#dcc69c,#c9ad7b);box-shadow:0 0 0 .7mm var(--fp-tinta),0 0 0 1.5mm var(--fp-papel),0 0 0 1.8mm var(--fp-linha)}
.fp-retrato__arco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}
.fp-retrato__vazio{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:2mm;color:rgba(58,38,20,.42);font:600 6.6pt/1 var(--fp-rotulo);letter-spacing:.24em;text-transform:uppercase;background:repeating-linear-gradient(45deg,rgba(58,38,20,.06) 0 1.1mm,rgba(58,38,20,0) 1.1mm 3.2mm)}
.fp-retrato__vazio .fp-d20{width:17mm;height:17mm}
.fp-lema{height:9.5mm;overflow:hidden;text-align:center;font:italic 500 8.6pt/1.22 var(--fp-titulo);color:var(--fp-tinta-2)}
.fp-lema:not(:empty)::before{content:"\201C"}
.fp-lema:not(:empty)::after{content:"\201D"}
.fp-identidade{display:grid;align-content:space-between;gap:4mm;min-width:0;padding-top:1mm}
.fp-linhas{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.2mm 5mm}
.fp-linha{display:grid;gap:.6mm;min-width:0}
.fp-linha dt{font:600 6.1pt/1 var(--fp-rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--fp-sangue)}
.fp-linha dd{margin:0;height:6.6mm;padding:0 .6mm .7mm;display:block;border-bottom:.3mm solid var(--fp-linha);font:500 10pt/6mm var(--fp-corpo);white-space:nowrap;overflow:hidden}
.fp-aparencia{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.6mm 4mm;padding:3.4mm 3.4mm 2.6mm;border-radius:1.6mm;background:rgba(125,80,30,.07);box-shadow:inset 0 0 0 .25mm var(--fp-linha-fraca)}
.fp-linha--p dd{height:5.8mm;font-size:9pt;line-height:5.2mm}

/* atributos: medalhões na forma do d20 */
.fp-atributos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2.6mm;height:35mm;margin-top:1.5mm}
.fp-atributo{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:center;align-items:center;padding:3.6mm 1mm 7mm;min-width:0}
.fp-atributo::before,.fp-atributo::after{content:"";position:absolute;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.fp-atributo::before{inset:0 1mm 3mm;background:var(--fp-tinta)}
.fp-atributo::after{inset:.75mm 1.65mm 3.75mm;background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 116' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%233a2614' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M50 30 82 86H18zM50 30 50 0M82 86l18 5M18 86 0 91M50 30 100 29M50 30 0 29M82 86 50 116M18 86 50 116'/%3E%3C/g%3E%3C/svg%3E") center/100% 100% no-repeat,
  radial-gradient(circle at 50% 36%,#fcf6e6,var(--fp-papel) 72%)}
.fp-atributo>span{position:relative;z-index:1}
.fp-atributo__nome{max-width:20mm;margin-top:.6mm;font:700 7.4pt/1 var(--fp-rotulo);letter-spacing:.12em;text-transform:uppercase;color:var(--fp-sangue);white-space:nowrap;overflow:hidden}
.fp-atributo__valor{font:600 21pt/1 var(--fp-titulo);color:var(--fp-tinta)}
.fp-folha .fp-atributo__mod{position:absolute;bottom:.4mm;left:50%;transform:translateX(-50%);min-width:13mm;height:6.4mm;padding:0 2mm;display:grid;place-items:center;border-radius:3.2mm;background:var(--fp-papel);box-shadow:0 0 0 .5mm var(--fp-tinta),0 0 0 1.1mm var(--fp-papel);font:700 9.6pt/1 var(--fp-corpo);white-space:nowrap}

/* combate */
.fp-combate{display:grid;grid-template-columns:31mm 27mm minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;column-gap:4mm;row-gap:1.8mm;height:33mm}
.fp-emblema{position:relative;grid-row:1/span 2;display:grid;place-items:center;padding-bottom:5mm}
.fp-emblema__forma{position:absolute;left:0;top:0;width:100%;height:calc(100% - 5mm)}
.fp-emblema__forma path{fill:rgba(255,251,240,.55);stroke:var(--fp-tinta);stroke-width:3.2}
.fp-emblema__forma .fp-fino{fill:none;stroke:var(--fp-linha);stroke-width:1.2}
.fp-emblema--vida .fp-emblema__forma path:first-child{fill:rgba(125,43,33,.08)}
.fp-emblema__valor{position:relative;margin-top:-1.5mm;font:600 19pt/1 var(--fp-titulo)}
.fp-emblema__rotulo{position:absolute;left:-1mm;right:-1mm;bottom:0;text-align:center;font:600 6pt/1.1 var(--fp-rotulo);letter-spacing:.1em;text-transform:uppercase;color:var(--fp-sangue);white-space:nowrap}
.fp-stats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:1.8mm;min-width:0}
.fp-stat{display:grid;align-content:center;gap:.4mm;padding:1.1mm 2mm 1mm;border-radius:1.4mm;background:rgba(255,251,240,.4);box-shadow:inset 0 0 0 .3mm var(--fp-linha);min-width:0}
.fp-stat dt{font:600 5.6pt/1.1 var(--fp-rotulo);letter-spacing:.09em;text-transform:uppercase;color:var(--fp-sangue);white-space:nowrap;overflow:hidden}
.fp-stat dd{margin:0;height:5.4mm;font:600 11pt/5.4mm var(--fp-titulo);white-space:nowrap;overflow:hidden}
.fp-vida-atual{grid-column:3;display:flex;align-items:flex-end;gap:2mm;height:5mm;font:600 5.6pt/1 var(--fp-rotulo);letter-spacing:.1em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-vida-atual i{flex:1;height:4.2mm;border-bottom:.3mm solid var(--fp-linha)}

/* caixas */
.fp-baixo{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:4.6mm 4mm;margin-top:2mm}
.fp-ataques{grid-column:1;grid-row:1}
.fp-pericias{grid-column:1;grid-row:2}
.fp-habilidades{grid-column:2;grid-row:1/span 2}
.fp-caixa{position:relative;min-height:0;display:flex;flex-direction:column;padding:4.6mm 3.2mm 2.6mm;border-radius:1.6mm;background:rgba(255,251,240,.3);box-shadow:inset 0 0 0 .3mm var(--fp-linha)}
.fp-caixa>h3{position:absolute;top:0;left:3.2mm;transform:translateY(-50%);margin:0;padding:.9mm 3.2mm .8mm;font:700 6.4pt/1 var(--fp-rotulo);letter-spacing:.16em;text-transform:uppercase;color:#F7ECD6;background:var(--fp-sangue);clip-path:polygon(0 0,100% 0,calc(100% - 1.5mm) 50%,100% 100%,0 100%,1.5mm 50%);white-space:nowrap}
.fp-texto{flex:1;min-height:0;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere;font:400 9pt/1.36 var(--fp-corpo)}
.fp-caixa--vazia{background-image:repeating-linear-gradient(180deg,rgba(58,38,20,0) 0 5.4mm,var(--fp-linha-fraca) 5.4mm 5.65mm);background-origin:content-box;background-clip:content-box}
.fp-texto--capitular::first-letter{float:left;margin:.6mm 1.4mm 0 0;font:600 24pt/.82 var(--fp-titulo);color:var(--fp-sangue)}
.fp-ataques table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.8pt}
.fp-ataques th{padding:0 1mm 1.1mm;text-align:left;font:600 5.6pt/1 var(--fp-rotulo);letter-spacing:.12em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-ataques th:nth-child(1){width:44%}
.fp-ataques th:nth-child(2){width:17%}
.fp-ataques td{height:6.2mm;padding:0 1mm;border-bottom:.3mm solid var(--fp-linha-fraca);white-space:nowrap;overflow:hidden;font-weight:500}
.fp-ataques td:nth-child(2){font-weight:700}

/* verso */
.fp-personalidade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,27mm);gap:5mm 4mm;margin-top:3mm}
.fp-meio{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4mm;height:76mm;margin-top:2mm}
.fp-meio__lado{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:2.8mm;min-height:0}
.fp-linha--caixa{padding:0 1mm}
.fp-historia{flex:1;margin-top:2mm}
.fp-anotacoes{flex:none;height:23mm;margin-top:1.5mm}

/* rodapé e marca d'água */
.fp-rodape{display:flex;align-items:center;justify-content:center;gap:3mm;height:5mm;margin-top:auto;font:600 5.8pt/1 var(--fp-rotulo);letter-spacing:.26em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-rodape .fp-d20{width:4.4mm;height:4.4mm;color:var(--fp-sangue)}
.fp-folha>.fp-marca{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;align-content:space-evenly;justify-items:center;overflow:hidden}
.fp-marca span{transform:rotate(-28deg);font:700 66pt/1 var(--fp-titulo);letter-spacing:.24em;text-transform:uppercase;color:rgba(125,43,33,.1);white-space:nowrap}

/* carta de convocação */
.fp-carta{padding:15mm 22mm 12mm;gap:0}
.fp-carta__topo{display:grid;justify-items:center;gap:1.8mm;text-align:center}
.fp-selo{position:relative;width:27mm;height:27mm;display:grid;place-items:center}
.fp-selo::before{content:"";position:absolute;inset:0;border-radius:48% 52% 46% 54%/53% 47% 55% 45%;background:radial-gradient(circle at 40% 36%,#a8463a,#7a2a21 50%,#591c16 82%);box-shadow:0 .8mm 1.4mm rgba(40,12,6,.35),inset 0 -.8mm 1.4mm rgba(0,0,0,.3)}
.fp-selo__cera{position:relative;width:19mm;height:19mm;border-radius:50%;display:grid;place-items:center;color:rgba(255,214,196,.62);background:radial-gradient(circle at 42% 38%,#9c3f33,#6e241c 70%);box-shadow:inset 0 .6mm .9mm rgba(0,0,0,.35),inset 0 -.5mm .8mm rgba(255,190,170,.2),0 0 0 .5mm rgba(60,15,10,.4)}
.fp-selo__cera .fp-d20{width:11mm;height:11mm;filter:drop-shadow(0 .35mm 0 rgba(40,8,4,.5))}
/* O logo da casa gravado na cera. Três camadas com a mesma máscara fazem o
   relevo: sombra na borda de cima, luz na de baixo, e o fundo da marca no meio.
   Sem filter nem blend, que impressora costuma ignorar.
   A máscara em si sai no <style> da própria folha (ficha-folha.php), porque
   endereço relativo escrito aqui contaria a partir desta pasta de estilo. */
.fp-selo__marca{position:relative;display:block;width:15mm;height:3.6mm;background:rgba(58,14,9,.5)}
.fp-selo__marca::before,.fp-selo__marca::after{content:"";position:absolute;inset:0}
.fp-selo__marca::before{background:rgba(48,10,6,.85);transform:translateY(-.2mm)}
.fp-selo__marca::after{background:rgba(255,212,192,.6);transform:translateY(.22mm)}
@supports not ((-webkit-mask-image:url(x)) or (mask-image:url(x))){.fp-selo__marca{display:none}}
.fp-carta__titulo{margin:1mm 0 0;font:600 31pt/1 var(--fp-titulo);color:var(--fp-tinta)}
.fp-carta__data{margin:0;font:italic 500 10pt/1.2 var(--fp-titulo);color:var(--fp-tinta-2)}
.fp-carta__texto{display:grid;align-content:center;gap:4.2mm;margin-top:6mm;height:158mm;overflow:hidden;font:500 12.6pt/1.56 var(--fp-titulo);color:var(--fp-tinta)}
.fp-carta__saudacao{margin:0;font-size:14pt}
.fp-carta__corpo{display:grid;gap:3.4mm}
.fp-carta__corpo p{margin:0;text-indent:9mm}
.fp-carta__recado{margin:1mm 0 0;max-height:36mm;overflow:hidden;padding:3mm 5mm;border-left:.8mm solid var(--fp-sangue);background:rgba(125,43,33,.06);font:italic 500 11.6pt/1.45 var(--fp-titulo);white-space:pre-line}
.fp-carta__assinatura{justify-self:end;display:grid;justify-items:center;gap:.8mm;min-width:72mm;margin-top:3mm}
.fp-assinatura{max-width:100mm;padding:0 4mm 1mm;border-bottom:.3mm solid var(--fp-linha);font:italic 600 20pt/1.15 var(--fp-titulo);color:var(--fp-assinatura);white-space:nowrap;overflow:hidden}
.fp-carta__cargo{font:600 6.2pt/1 var(--fp-rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-folha>.fp-recorte{position:absolute;left:11mm;right:11mm;bottom:55mm;display:flex;align-items:center;gap:3mm;font:600 5.8pt/1 var(--fp-rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--fp-tinta-2)}
.fp-recorte::before,.fp-recorte::after{content:"";flex:1;border-top:.35mm dashed var(--fp-linha)}
.fp-folha>.fp-etiqueta{position:absolute;left:50%;bottom:13mm;transform:translateX(-50%);width:124mm;height:34mm;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5mm;padding:3mm 7mm;border-radius:2mm;box-shadow:inset 0 0 0 .55mm var(--fp-tinta),inset 0 0 0 1.5mm rgba(244,233,208,.9),inset 0 0 0 1.8mm var(--fp-linha)}
.fp-selo--p{width:19mm;height:19mm}
.fp-selo--p .fp-selo__cera{width:13.5mm;height:13.5mm}
.fp-selo--p .fp-d20{width:7.6mm;height:7.6mm}
.fp-selo--p .fp-selo__marca{width:10.5mm;height:2.5mm}
.fp-selo--p .fp-selo__marca::before{transform:translateY(-.14mm)}
.fp-selo--p .fp-selo__marca::after{transform:translateY(.15mm)}
.fp-etiqueta__texto{display:grid;gap:.8mm;min-width:0}
.fp-etiqueta__para{font:600 6.2pt/1 var(--fp-rotulo);letter-spacing:.22em;text-transform:uppercase;color:var(--fp-sangue)}
.fp-etiqueta strong{display:block;font:600 18pt/1.1 var(--fp-titulo);white-space:nowrap;overflow:hidden}
.fp-etiqueta__sub{font:600 6.8pt/1.2 var(--fp-rotulo);letter-spacing:.1em;text-transform:uppercase;color:var(--fp-tinta-2);white-space:nowrap;overflow:hidden}

/* ---------------------------------------------------------------------
   Página de impressão do painel
   --------------------------------------------------------------------- */
@page{size:A4;margin:0}
.impressao-ficha{margin:0;min-height:100vh;background:#2a211b;color:#f0e4ce;font:15px/1.5 "Figtree",system-ui,sans-serif}
.barra-impressao{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 20px;background:#17110d;box-shadow:0 1px 0 rgba(201,164,92,.3),0 10px 30px rgba(0,0,0,.4)}
.barra-impressao a{color:#e6ca8a;font-weight:700;text-decoration:none}
.barra-impressao__info{display:grid;margin-right:auto}
.barra-impressao__info strong{font:600 1.3rem/1.1 "Grenze",Georgia,serif}
.barra-impressao__info span{color:#c2b29a;font-size:.88rem}
.barra-impressao label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#e8dcc5}
.barra-impressao fieldset{display:inline-flex;flex-wrap:wrap;gap:10px;margin:0;padding:6px 12px;border:1px solid rgba(201,164,92,.34);border-radius:10px}
.barra-impressao legend{padding:0 4px;font-size:.78rem;color:#c9a45c}
.barra-impressao button,.barra-impressao .botao-barra{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid rgba(201,164,92,.58);background:#211811;color:#f0e4ce;font:700 .95rem/1 "Figtree",system-ui,sans-serif;cursor:pointer}
.barra-impressao .botao-barra--principal{border-color:#43d18e;background:#43d18e;color:#06140d}
.barra-impressao form{margin:0}
.barra-impressao svg.ic{width:18px;height:18px}
.dica-impressao{max-width:210mm;margin:16px auto 0;padding:0 16px;color:#c2b29a;font-size:.9rem;text-align:center}
.folhas-impressao{display:grid;justify-content:center;padding:18px 16px 60px;overflow-x:auto}
.folhas-impressao .fp-folha{box-shadow:inset 0 0 22mm rgba(120,78,30,.24),0 12px 40px rgba(0,0,0,.55)}
.folhas-impressao .fp-livro--economico .fp-folha{box-shadow:0 12px 40px rgba(0,0,0,.55)}
.fp-folha.fp-oculta{display:none}
@media print{
  html,body.impressao-ficha{background:#fff!important;min-height:0}
  .barra-impressao,.dica-impressao{display:none!important}
  .folhas-impressao{display:block;padding:0}
  .folhas-impressao .fp-livro{display:block}
  .folhas-impressao .fp-folha{margin:0;box-shadow:inset 0 0 22mm rgba(120,78,30,.24);break-after:page;page-break-after:always}
  .folhas-impressao .fp-livro--economico .fp-folha{box-shadow:none}
  .folhas-impressao .fp-folha.fp-ultima{break-after:auto;page-break-after:auto}
  .folhas-impressao .fp-folha.fp-oculta{display:none!important}
}
