/* Fantasy: tabletop RPG dungeon, character sheet */
body[data-gen="fantasy"]{--paper:#140F0D;--surface:#1F1814;--ink:#EDE3CF;--muted:#B9A98D;--line:#3E3026;--chip:#2A211B;
  --accent:#D9AE55;--action:#9E2A2B;--on-action:#F6EBD3;--display:"Cinzel",Georgia,serif;--body:"EB Garamond",Georgia,serif;--radius:4px;--pill:4px;--btn:4px;
  --good:#9CCB7A;--warn:#E8A45F;color-scheme:dark;font-size:18px;
  background-image:radial-gradient(circle at 6% 10%,rgba(255,140,40,.16),transparent 28%),radial-gradient(circle at 94% 14%,rgba(255,140,40,.13),transparent 28%),radial-gradient(ellipse at 50% 120%,rgba(0,0,0,.6),transparent 60%);background-attachment:fixed}
body[data-gen="fantasy"] .hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"head head" "feat controls";column-gap:40px}
body[data-gen="fantasy"] .feat-area{position:static}
body[data-gen="fantasy"] .head{text-align:center;padding-bottom:6px}
body[data-gen="fantasy"] .head::after{content:"";display:block;width:220px;height:14px;margin:18px auto 0;background:linear-gradient(90deg,transparent,#D9AE55 30%,#D9AE55 70%,transparent) center/100% 1px no-repeat,radial-gradient(circle,#D9AE55 3px,transparent 3.5px) center/14px 14px no-repeat}
body[data-gen="fantasy"] h1{font-stretch:100%;font-weight:700;letter-spacing:.02em;color:var(--accent);text-shadow:0 0 24px rgba(255,150,60,.35)}
body[data-gen="fantasy"] .lede{margin:0 auto;font-size:1.15rem}
body[data-gen="fantasy"] .panel{background:linear-gradient(#251C16,#1A1310);border:1px solid #5A4630;outline:1px solid #5A4630;outline-offset:-7px;padding:26px}
body[data-gen="fantasy"] .field legend,body[data-gen="fantasy"] .field label.lbl{font-family:"Cinzel",serif;color:var(--accent);letter-spacing:.03em}
body[data-gen="fantasy"] .opt{font-size:.95rem}
body[data-gen="fantasy"] .opt[aria-pressed="true"]{background:#9E2A2B;color:#F6EBD3;border-color:#D9AE55}
body[data-gen="fantasy"] .btn.primary{border-color:#D9AE55;font-family:"Cinzel",serif;letter-spacing:.03em}
body[data-gen="fantasy"] .feat-meta{display:none}
body[data-gen="fantasy"] .feat.pop .d20{animation:roll .8s cubic-bezier(.2,.8,.3,1)}
@keyframes roll{0%{transform:rotate(-340deg) scale(.6)}100%{transform:none}}
body[data-gen="fantasy"] .list{border-top:0;gap:14px}
body[data-gen="fantasy"] .row{background:var(--surface);border:1px solid var(--line);border-left:3px solid #9E2A2B;border-radius:4px}
body[data-gen="fantasy"] .row.on{border-color:#D9AE55}
body[data-gen="fantasy"] .row.on::before{display:none}
body[data-gen="fantasy"] .row-name{font-stretch:100%;font-weight:600;font-size:1.2rem;color:#F1DFB6}
/* Character sheet graphic */
.sheet{color:#2A1C12;border-radius:6px;padding:0 0 18px;background:radial-gradient(ellipse at 50% 35%,#F8EFDB,#E6D5AF 90%);box-shadow:0 0 0 1px #6B5231,0 30px 60px -30px #000,0 0 70px -20px rgba(255,150,60,.35)}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#7E1C1D;color:#F6E7C1;border-radius:6px 6px 0 0;border-bottom:4px double #C9A24A}
.sl{display:block;font:600 .68rem/1.3 "Cinzel",serif;letter-spacing:.06em;color:#7A5B3A}
.sheet-head .sl{color:#E7C98A}
.nm{font:700 clamp(1.25rem,3vw,1.85rem)/1.15 "Cinzel",Georgia,serif;letter-spacing:.02em;overflow-wrap:anywhere}
.d20{width:66px;height:66px;flex:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.sheet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:14px 18px 6px}
.sheet-fields b{display:block;font:600 1.05rem/1.25 "EB Garamond",Georgia,serif;border-bottom:1px solid #B49A6C;padding-bottom:2px;overflow-wrap:anywhere}
.abil{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 18px}
.ab{text-align:center;border:2px solid #6B5231;border-radius:10px 10px 20px 20px;padding:6px 2px 8px;background:#FBF4E4}
.ab b{display:block;font:700 1.3rem/1.15 "Cinzel",serif}
.ab i{display:inline-block;font:600 .8rem "EB Garamond",serif;font-style:normal;border:1px solid #6B5231;border-radius:999px;padding:0 7px;background:#F3E8CF;margin-top:2px}
.vitals{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:center;padding:6px 18px 0}
.vt{text-align:center}
.vt b{display:grid;place-items:center;width:52px;height:58px;margin:0 auto 3px;background:#7E1C1D;color:#F6E7C1;font:700 1.15rem "Cinzel",serif;clip-path:polygon(50% 0,100% 14%,100% 58%,50% 100%,0 58%,0 14%)}
.vt.hp b{width:56px;height:56px;border-radius:50%;clip-path:none;background:#3D2A1C}
.hook{margin:0;font:italic 1.02rem/1.4 "EB Garamond",Georgia,serif;color:#4A3522}
@media (max-width:480px){.abil{grid-template-columns:repeat(3,minmax(0,1fr))}.vitals{grid-template-columns:auto auto}.hook{grid-column:1/-1}}
