select { display:block; width:100%; margin-top:8px; color:var(--ink); background:#120f0e; border:1px solid var(--line); padding:13px; }
[data-vileborn-character-target$="Custom"][hidden] { display:none; }
.rule-section { display:grid; gap:20px; padding:28px 0; border-top:1px solid var(--line); }
.rule-section h2 { font-size:34px; margin:4px 0; }
.rule-section p { margin:0; font-size:13px; }
.gift-groups { display:grid; gap:12px; }
.gift-groups [hidden] { display:none; }
.dependent-hint { margin:0; padding:15px; border:1px dashed var(--line); }
.advancement-group { border:1px solid var(--line); padding:18px; }
.advancement-group legend { padding:0 8px; color:var(--gold); font-family:"Cormorant Garamond"; font-size:22px; }
.gift-groups fieldset { border:1px solid var(--line); padding:15px; }
.gift-groups legend { padding:0 8px; color:var(--gold); font-family:"Cormorant Garamond"; font-size:20px; }
.check-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.check-option { display:flex; align-items:center; gap:8px; padding:8px; background:#120f0e; cursor:pointer; }
.check-option input { width:auto; margin:0; }
.check-option span { color:var(--ink); font-size:11px; }
.approach-print { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; padding:25px 0; border-bottom:1px solid #8c806d; }
.approach-print section { text-align:center; }
.approach-print b { display:block; color:#7e2b22; font-family:"Cormorant Garamond"; font-size:30px; }
.approach-print small { font-size:8px; }
@media(max-width:720px) { .check-grid { grid-template-columns:1fr 1fr; } }

.vileborn-official-sheet { position:relative; width:min(100vw, 297mm); aspect-ratio:297 / 210; margin:auto; overflow:hidden; color:#171717; font-family:Georgia, "Times New Roman", serif; }
.official-sheet-background { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; }
.sheet-value { position:absolute; display:block; line-height:1.05; text-align:center; }
.character-name { left:34%; top:3.6%; width:32%; font-family:"Segoe Print", "Bradley Hand", "Comic Sans MS", cursive; font-size:clamp(20px, 2.55vw, 34px); font-weight:700; }
.origin-name,.origin-ability { text-align:left; font-size:clamp(9px, 1.05vw, 14px); font-weight:700; }
.origin-name { left:9%; top:10.55%; width:16.5%; }
.origin-ability { left:3.3%; top:13.25%; width:23.5%; color:#445e70; font-style:normal; font-weight:400; }
.origin-ability b { display:block; color:#171717; }
.origin-ability small { display:block; margin-top:.35em; color:#445e70; font:italic clamp(6px, .7vw, 9px)/1.25 Georgia, serif; text-transform:none; letter-spacing:0; }
.approach-value { display:flex; align-items:center; justify-content:center; width:6.85%; height:6.65%; font-size:clamp(13px, 1.65vw, 22px); font-weight:700; }
.approach-1 { left:27.8%; top:8.45%; }.approach-2 { left:35.3%; top:11.48%; }.approach-3 { left:42.85%; top:13.17%; }
.approach-4 { left:50.38%; top:13.17%; }.approach-5 { left:57.82%; top:11.48%; }.approach-6 { left:65.35%; top:8.45%; }
.trait-value { width:8.8%; transform:translate(-50%, -50%); font-size:clamp(7px, .9vw, 12px); font-weight:700; }
.personality-1 { left:29.7%; top:23.1%; }.personality-2 { left:28.1%; top:33.7%; }.personality-3 { left:29.8%; top:45.7%; }.personality-4 { left:34.5%; top:54.8%; }
.training-1 { left:70.3%; top:23.1%; }.training-2 { left:71.9%; top:33.7%; }.training-3 { left:70.2%; top:45.7%; }.training-4 { left:65.5%; top:54.8%; }
.gift-value { width:17%; transform:translateX(-50%); color:#284b61; font-size:clamp(7px, .85vw, 11px); }
.gift-value b { display:block; color:#171717; font-style:normal; text-transform:uppercase; transform:translateY(-75%); }
.gift-value small { display:block; margin-top:5%; color:#284b61; font:italic clamp(6px, .72vw, 9px)/1.35 Georgia, serif; text-transform:none; letter-spacing:0; }
.gift-1 { left:26.7%; top:76.5%; }.gift-2 { left:8.6%; top:82.8%; }.gift-3 { left:73.3%; top:76.5%; }.gift-4 { left:91.4%; top:82.8%; }
.advance-check { position:absolute; bottom:1.05%; color:#111; font:700 clamp(9px, 1.15vw, 15px)/1 Arial, sans-serif; }
.act-1-approach { left:8.1%; }.act-1-personality { left:14.25%; }.act-1-training { left:20.6%; }.act-1-gift { left:28.5%; }
.act-2-approach { left:41.85%; }.act-2-personality { left:47.75%; }.act-2-training { left:54.25%; }.act-2-gift { left:61.75%; }
.print-controls { display:flex; justify-content:center; gap:10px; padding:20px; }

@page { size:A4 landscape; margin:0; }
@media print {
  .vileborn-official-sheet { width:297mm; height:210mm; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .print-controls { display:none; }
}
.theme-pendragon {
  --ink:#f5edd9; --muted:#c9baa0; --bg:#071b2e; --panel:#102b43; --line:#31516b; --ember:#bd382f; --gold:#e4ad36;
  background:radial-gradient(circle at 80% 0,rgba(33,112,166,.52),transparent 34rem),linear-gradient(135deg,#071b2e,#102b43 60%,#091724);
}
.theme-pendragon .topbar { background:rgba(5,20,34,.76); border-bottom-color:#b88c32; }
.theme-pendragon .brand { font-family:"Cormorant Garamond",serif; text-shadow:0 2px 0 #07101a; }
.theme-pendragon .brand i { color:var(--gold); }
.theme-pendragon .button.primary { color:#fff8e8; background:var(--ember); box-shadow:inset 0 0 0 1px #e8715c; }
.theme-pendragon .form-card,.theme-pendragon .empty { background:linear-gradient(145deg,rgba(18,49,75,.97),rgba(9,31,51,.97)); box-shadow:0 18px 50px rgba(0,0,0,.25); }
.theme-pendragon input,.theme-pendragon textarea,.theme-pendragon select { background:#071b2e; }
.pendragon-builder { display:grid; gap:0; }
.pendragon-builder .rule-section { position:relative; }
.pendragon-builder .rule-section h2 { color:#fff6dc; }
.pendragon-builder .rule-section > div:first-child small { color:var(--gold); }
.pendragon-intro { border-top:4px double var(--gold); }
.stat-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.stat-grid label { padding:15px; border:1px solid var(--line); text-align:center; background:rgba(5,22,37,.55); }
.stat-grid label span { display:block; color:var(--gold); font:700 18px "Cormorant Garamond",serif; }
.stat-grid input { text-align:center; font-size:24px; font-family:"Cormorant Garamond",serif; font-weight:700; }
.point-ledger { display:flex; justify-content:space-between; padding:12px 16px; background:#061827; border-left:4px solid var(--gold); color:var(--muted); }
.point-ledger strong { color:var(--gold); }
.point-ledger strong.invalid { color:#ff806d; }
.derived-preview { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.derived-preview span { padding:10px; border:1px solid var(--line); color:var(--muted); font-size:11px; text-align:center; }
.derived-preview b { display:block; margin-top:3px; color:var(--ink); font-size:16px; }
.trait-grid,.passion-grid,.skill-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.trait-grid label,.passion-grid label,.skill-grid label { display:grid; grid-template-columns:1fr 64px 32px; align-items:center; gap:7px; min-height:54px; padding:8px 10px; border:1px solid var(--line); background:rgba(4,19,32,.45); }
.passion-grid label,.skill-grid label { grid-template-columns:1fr 64px; }
.trait-grid input,.passion-grid input,.skill-grid input { margin:0; padding:8px; text-align:center; }
.trait-grid em { color:var(--gold); font-style:normal; text-align:center; }
.pendragon-builder .check-option { align-self:end; min-height:45px; background:#071b2e; border:1px solid var(--line); }
@media(max-width:800px){.stat-grid{grid-template-columns:repeat(3,1fr)}.trait-grid,.passion-grid,.skill-grid{grid-template-columns:1fr 1fr}.derived-preview{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.stat-grid,.trait-grid,.passion-grid,.skill-grid{grid-template-columns:1fr}}
.pendragon-sheet { max-width:1100px; background:#efe3c7; color:#172331; }
.pendragon-print-title { padding:22px 28px; color:white; background:#174c78; border-bottom:10px solid #b93831; }
.pendragon-print-title small { color:#f1b83e; }.pendragon-print-title h1{margin:4px 0;font-size:54px}.pendragon-print-title p{margin:0;color:#e9dfc8}
.pendragon-print-meta,.pendragon-print-stats,.pendragon-derived { display:grid; padding:16px 24px; border-bottom:1px solid #8e8068; }
.pendragon-print-meta{grid-template-columns:repeat(4,1fr);gap:16px}.pendragon-print-meta span small{display:block}.pendragon-print-meta span b{font-size:12px}
.pendragon-print-stats{grid-template-columns:repeat(5,1fr);gap:12px}.pendragon-print-stats span{text-align:center;border:2px solid #174c78;padding:8px}.pendragon-print-stats b{display:block;font:700 28px "Cormorant Garamond"}
.pendragon-derived{grid-template-columns:repeat(6,1fr);gap:8px}.pendragon-derived span{text-align:center;font-size:10px}.pendragon-derived b{display:block;font-size:16px;color:#a62f2b}
.pendragon-print-columns{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:22px;padding:22px 24px}.pendragon-print-columns h2,.pendragon-history h2{color:#174c78;border-bottom:2px solid #b93831;margin:8px 0}.pendragon-print-columns p{display:flex;justify-content:space-between;gap:8px;margin:2px 0;color:#172331;font-size:10px}.pendragon-print-columns p b{white-space:nowrap}.pendragon-history{padding:0 24px 24px}.pendragon-history p{color:#172331}
@media print{.pendragon-sheet{padding:0;max-width:none}.pendragon-print-title h1{font-size:38px}.pendragon-print-columns{padding-top:12px;padding-bottom:12px}}
.theme-outgunned{--ink:#f4f1eb;--muted:#aaa5a0;--bg:#090909;--panel:#171717;--line:#3c3835;--ember:#d51d19;--gold:#ef7a22;background:radial-gradient(circle at 85% 0,rgba(174,20,16,.22),transparent 34rem),repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 2px,transparent 2px 8px),#090909}
.theme-outgunned .topbar{background:#0b0b0b;border-bottom:4px solid var(--ember)}.theme-outgunned .brand{font-family:Inter,sans-serif;font-style:italic;transform:skew(-7deg);font-weight:900}.theme-outgunned .brand i{color:#fff}.theme-outgunned h1,.theme-outgunned h2{font-family:Inter,sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;letter-spacing:-.04em}.theme-outgunned .button{border-radius:0;text-transform:uppercase;font-style:italic}.theme-outgunned .button.primary{background:linear-gradient(135deg,#f02a21,#a60808);box-shadow:5px 5px 0 #4d0505}.theme-outgunned .form-card{background:linear-gradient(145deg,#1d1d1d,#101010);border-top:5px solid var(--ember)}
.outgunned-builder{display:grid}.og-setting-panel{padding:28px;background:linear-gradient(120deg,#151515,#27100e);border:2px solid #b01814}.og-setting-panel h2{font-size:34px;margin:6px 0}.setting-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.setting-cards label{position:relative;cursor:pointer}.setting-cards input{position:absolute;opacity:0}.setting-cards span{display:block;min-height:120px;padding:22px;border:2px solid #48413d;background:#111}.setting-cards label:last-child span{background:linear-gradient(135deg,#241b0d,#111);border-color:#79511f}.setting-cards input:checked+span{border-color:#f12b22;box-shadow:inset 0 0 0 2px #f12b22}.setting-cards label:last-child input:checked+span{border-color:#f39a27;box-shadow:inset 0 0 0 2px #f39a27}.setting-cards b{display:block;color:#fff;font-size:20px;text-transform:uppercase;font-style:italic}.setting-cards em{display:block;margin-top:9px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.5}.og-dependent[hidden],.og-trait-options fieldset[hidden]{display:none}.og-trait-options fieldset{border:1px solid var(--line);padding:14px}.og-trait-options legend{padding:0 8px;color:var(--gold);font-weight:800;text-transform:uppercase}.og-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.og-stat-grid label{padding:12px;background:#0a0a0a;border:1px solid var(--line);text-align:center}.og-stat-grid span{display:block;color:var(--gold);font-weight:900;text-transform:uppercase}.og-stat-grid input{text-align:center;font-size:24px}.og-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.og-skill-grid label{display:grid;grid-template-columns:1fr 55px;align-items:center;gap:5px;padding:7px 9px;background:#0c0c0c;border:1px solid #302e2c}.og-skill-grid input{margin:0;padding:8px;text-align:center}.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.outgunned-builder[data-setting="adventure"]~*{--gold:#ef942d}
@media(max-width:720px){.setting-cards{grid-template-columns:1fr}.og-stat-grid{grid-template-columns:repeat(3,1fr)}.og-skill-grid{grid-template-columns:1fr 1fr}.three-columns{grid-template-columns:1fr}}
.outgunned-sheet{max-width:1000px;background:#111;color:#eee;border-top:12px solid #d31c17}.outgunned-sheet[data-setting="adventure"]{border-color:#ed8622}.og-print-title{padding:28px;background:linear-gradient(120deg,#242424,#0b0b0b);border-bottom:4px solid #d31c17}.outgunned-sheet[data-setting="adventure"] .og-print-title{border-color:#ed8622}.og-print-title h1{margin:4px 0;font:900 italic 58px Inter,sans-serif;text-transform:uppercase}.og-print-title p{margin:0;color:#ccc}.og-print-personal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;border-bottom:1px solid #444}.og-print-personal small,.og-print-personal b{display:block}.og-print-attributes{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:18px}.og-print-attributes span{text-align:center;border:2px solid #d31c17;padding:10px}.outgunned-sheet[data-setting="adventure"] .og-print-attributes span{border-color:#ed8622}.og-print-attributes b{display:block;font-size:28px}.og-print-columns{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px;padding:0 20px 24px}.og-print-columns h2{font:900 italic 20px Inter,sans-serif;text-transform:uppercase;border-bottom:3px solid #d31c17}.og-print-columns p{display:flex;justify-content:space-between;gap:8px;color:#ddd;margin:3px 0;font-size:11px}.og-print-columns small{color:#e83b32}.og-resources{display:flex;gap:10px}.og-resources>b{display:grid;place-items:center;width:70px;height:70px;border:2px solid #ddd;border-radius:50%}.og-resources small{display:block;font-size:7px}.outgunned-sheet .print-notes p{color:#eee}
.theme-forbidden-lands{--ink:#eadfc8;--muted:#a99e87;--bg:#10120d;--panel:#191d14;--line:#424936;--ember:#8d2c21;--gold:#b9a45e;background:radial-gradient(circle at 80% 0,rgba(94,108,54,.25),transparent 32rem),#10120d}.theme-forbidden-lands .topbar{border-bottom:3px solid #667142}.theme-forbidden-lands .form-card{border-top:5px solid #657242}.forbidden-builder{display:grid}.fl-intro{padding:30px;border:1px solid #69754a;background:linear-gradient(135deg,#22291a,#15170f)}.fl-intro h2{font-size:38px;margin:7px 0}.fl-summary{display:flex;justify-content:space-between;gap:15px;padding:13px 16px;border-left:4px solid var(--gold);background:#11140d;color:var(--muted)}.fl-summary b{color:var(--ink)}.fl-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.fl-stat-grid label{text-align:center;padding:14px;border:1px solid var(--line);background:#10120d}.fl-stat-grid span{display:block;color:var(--gold);font-weight:800}.fl-stat-grid input{text-align:center;font-size:26px}.fl-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.fl-skill-grid label{display:grid;grid-template-columns:1fr 52px;align-items:center;padding:8px;border:1px solid #343a2c}.fl-skill-grid label.professional{border-color:#899557;background:#202617}.fl-skill-grid label.professional span{color:#d5c376;font-weight:800}.fl-skill-grid input{margin:0;padding:8px;text-align:center}.fl-talents{border:1px solid var(--line);padding:16px}.fl-talents legend{padding:0 8px;color:var(--gold)}.four-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.point-ledger{display:flex;justify-content:space-between;padding:10px 14px;background:#0d0f0a;border:1px solid var(--line)}.point-ledger strong.invalid{color:#e15c4c}.forbidden-print{max-width:960px;background:#e8dfc8;color:#28291f;border-top:12px solid #58633d}.fl-print-title{border-bottom:4px double #58633d}.fl-print-title h1{font-size:58px;margin:5px 0}.fl-print-title p,.forbidden-print p{color:#34352a}.fl-print-attributes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 0}.fl-print-attributes span{text-align:center;border:2px solid #58633d;padding:10px}.fl-print-attributes b{display:block;font-size:30px}.fl-print-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.fl-print-columns h2{border-bottom:2px solid #58633d}.fl-print-columns p{display:flex;justify-content:space-between;font-size:11px;margin:3px 0}.fl-print-text{display:block!important}.fl-print-text b{display:block;margin-top:4px}.fl-dice{display:flex;gap:8px}.fl-dice span{border:1px solid #58633d;padding:8px;text-align:center}.fl-dice b,.fl-dice small{display:block}@media(max-width:720px){.fl-stat-grid,.fl-skill-grid{grid-template-columns:repeat(2,1fr)}.four-columns,.fl-print-columns{grid-template-columns:1fr}}
.fl-creation-choice { margin: 1.25rem 0; padding: 1.25rem; border: 1px solid rgba(125, 93, 49, .45); background: rgba(245, 236, 211, .55); }
.fl-creation-choice h2 { margin: .2rem 0 .45rem; }
.fl-choice-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.fl-random-result { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid rgba(125, 93, 49, .25); }

/* Forbidden Lands — impaginazione in bianco e nero ispirata al manuale. */
.theme-forbidden-lands {
  --ink: #171713;
  --muted: #595950;
  --bg: #deddd3;
  --panel: #f7f5e9;
  --line: #24241f;
  --ember: #171713;
  --gold: #3f3f38;
  background:
    repeating-linear-gradient(0deg, rgba(20, 20, 16, .025) 0, rgba(20, 20, 16, .025) 1px, transparent 1px, transparent 4px),
    #deddd3;
  color: var(--ink);
  font-family: "EB Garamond", Garamond, Georgia, serif;
  font-size: 16px;
}
.theme-forbidden-lands h1,
.theme-forbidden-lands h2,
.theme-forbidden-lands .brand {
  font-family: "Uncial Antiqua", "Palatino Linotype", Palatino, serif;
  font-weight: 400;
}
.theme-forbidden-lands h1,
.theme-forbidden-lands h2 { letter-spacing: -.025em; }
.theme-forbidden-lands h1 { letter-spacing: .015em; }
.theme-forbidden-lands label,
.theme-forbidden-lands input,
.theme-forbidden-lands textarea,
.theme-forbidden-lands select { font-family: "EB Garamond", Garamond, Georgia, serif; }
.theme-forbidden-lands .button,
.theme-forbidden-lands .eyebrow,
.theme-forbidden-lands small,
.theme-forbidden-lands legend {
  font-family: "Pirata One", "Uncial Antiqua", "Palatino Linotype", Palatino, serif;
}
.theme-forbidden-lands .topbar {
  background: #f7f5e9;
  border-bottom: 5px double var(--line);
}
.theme-forbidden-lands .brand i { color: var(--ink); }
.theme-forbidden-lands .quiet-link,
.theme-forbidden-lands p,
.theme-forbidden-lands label,
.theme-forbidden-lands .breadcrumbs { color: var(--muted); }
.theme-forbidden-lands .eyebrow,
.theme-forbidden-lands small,
.theme-forbidden-lands .breadcrumbs a { color: var(--ink); }
.theme-forbidden-lands .eyebrow,
.theme-forbidden-lands small { letter-spacing: .18em; }
.theme-forbidden-lands .form-card {
  background: #f7f5e9;
  border: 2px solid var(--line);
  border-top: 9px solid var(--line);
  box-shadow: 7px 7px 0 rgba(23, 23, 19, .16);
}
.theme-forbidden-lands input,
.theme-forbidden-lands textarea,
.theme-forbidden-lands select {
  color: var(--ink);
  background: #fffef6;
  border: 1px solid #55554d;
  border-radius: 0;
}
.theme-forbidden-lands input:focus,
.theme-forbidden-lands textarea:focus,
.theme-forbidden-lands select:focus {
  border-color: #000;
  outline: 2px solid #000;
  outline-offset: 1px;
}
.theme-forbidden-lands .button {
  color: var(--ink);
  background: #f7f5e9;
  border: 2px solid var(--line);
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.theme-forbidden-lands .button:hover { color: #fff; background: #171713; }
.theme-forbidden-lands .button.primary { color: #fff; background: #171713; border-color: #171713; }
.theme-forbidden-lands .button.primary:hover { color: #171713; background: #fffef6; }
.theme-forbidden-lands .character-list { border-top: 3px double var(--line); }
.theme-forbidden-lands .character-row { border-bottom-color: #77776c; }
.theme-forbidden-lands .portrait {
  color: var(--ink);
  border: 2px solid var(--ink);
  border-radius: 0;
}
.theme-forbidden-lands .fl-creation-choice {
  color: var(--ink);
  background: #f7f5e9;
  border: 2px solid var(--line);
  border-top-width: 9px;
  box-shadow: 7px 7px 0 rgba(23, 23, 19, .16);
}
.theme-forbidden-lands .fl-random-result { border-top-color: #77776c; }
.theme-forbidden-lands .fl-intro {
  color: #fff;
  background: #171713;
  border: 0;
  border-bottom: 6px double #f7f5e9;
}
.theme-forbidden-lands .fl-intro p,
.theme-forbidden-lands .fl-intro small { color: #e7e5da; }
.theme-forbidden-lands .rule-section { border-color: #77776c; }
.theme-forbidden-lands .fl-summary {
  color: #3e3e37;
  background: #e5e3d7;
  border-left: 7px solid var(--ink);
}
.theme-forbidden-lands .fl-summary b { color: var(--ink); }
.theme-forbidden-lands .fl-stat-grid label,
.theme-forbidden-lands .fl-skill-grid label,
.theme-forbidden-lands .fl-skill-grid label.professional {
  color: var(--ink);
  background: #fffef6;
  border-color: #77776c;
}
.theme-forbidden-lands .fl-stat-grid span,
.theme-forbidden-lands .fl-skill-grid label.professional span,
.theme-forbidden-lands .fl-talents legend { color: var(--ink); }
.theme-forbidden-lands .fl-skill-grid label.professional {
  border: 2px solid var(--ink);
  box-shadow: inset 5px 0 0 var(--ink);
}
.theme-forbidden-lands .fl-talents { border: 2px solid var(--line); }
.theme-forbidden-lands .fl-talents .check-option {
  color: #171713;
  background: #fffef6;
  border: 1px solid #77776c;
}
.theme-forbidden-lands .fl-talents .check-option:hover { background: #e5e3d7; }
.theme-forbidden-lands .fl-talents .check-option span {
  color: #171713;
  font-size: 13px;
  font-weight: 700;
}
.theme-forbidden-lands .fl-talents .check-option input {
  width: auto;
  accent-color: #171713;
}
.theme-forbidden-lands .point-ledger {
  color: #fff;
  background: #171713;
  border-color: #171713;
}
.theme-forbidden-lands .point-ledger strong.invalid { color: #fff; text-decoration: underline wavy; }
.theme-forbidden-lands .errors,
.theme-forbidden-lands .flash.alert { color: var(--ink); background: #e3e1d6; border: 3px double var(--ink); }
.theme-forbidden-lands .flash.notice { color: #fff; background: #171713; border: 0; }
.theme-forbidden-lands .forbidden-print {
  color: #111;
  background: #fff;
  border-top-color: #111;
  font-family: "EB Garamond", Garamond, Georgia, serif;
}
.theme-forbidden-lands .forbidden-print h1,
.theme-forbidden-lands .forbidden-print h2 { font-family: "Uncial Antiqua", "Palatino Linotype", Palatino, serif; }
.theme-forbidden-lands .fl-print-title,
.theme-forbidden-lands .fl-print-columns h2 { border-color: #111; }
.theme-forbidden-lands .fl-print-title p,
.theme-forbidden-lands .forbidden-print p { color: #222; }
.theme-forbidden-lands .fl-print-attributes span,
.theme-forbidden-lands .fl-dice span { border-color: #111; }
.fl-wizard { display:grid; gap:22px; padding:28px; border:3px double #171713; background:#fffef6; }
.fl-wizard h2 { margin:.25rem 0; font-size:34px; }
.fl-wizard-progress { height:7px; background:repeating-linear-gradient(90deg,#171713 0,#171713 28px,transparent 28px,transparent 34px); }
.fl-wizard-progress span { position:absolute; left:-9999px; }
.fl-wizard-result { padding:16px; border-left:7px solid #171713; background:#e5e3d7; font-weight:700; line-height:1.5; }
.fl-wizard-actions { display:flex; justify-content:flex-end; }
.fl-wizard-error { min-height:1.4em; color:#721d16!important; font-weight:700; }
.fl-wizard-option { display:flex; width:100%; align-items:center; justify-content:space-between; gap:18px; margin-top:10px; padding:15px; color:#171713; background:#fff; border:2px solid #171713; text-align:left; cursor:pointer; }
.fl-wizard-option:hover { color:#fff; background:#171713; }
.fl-wizard-option b { font:400 20px "Uncial Antiqua","Palatino Linotype",Palatino,serif; }
.fl-wizard-option span { color:inherit; font-size:12px; }
.fl-current-attributes { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:18px 0; }
.fl-current-attributes span { padding:12px 8px; border:2px solid #171713; background:#fff; text-align:center; }
.fl-current-attributes b { display:block; margin-top:3px; font-size:28px; }
.forbidden-builder [hidden] { display:none!important; }
.fl-guided-back { margin:0 0 20px; }
.theme-forbidden-lands .form-actions[hidden] { display:none!important; }
@media(max-width:560px) { .fl-current-attributes { grid-template-columns:repeat(2,1fr); } }
.fl-equipment-list { display:grid; gap:14px; }
.fl-equipment-list fieldset { padding:14px; border:2px solid #171713; }
.fl-equipment-list legend { padding:0 8px; font-size:18px; }
.fl-equipment-option { display:grid!important; grid-template-columns:24px 1fr; align-items:start; gap:9px; padding:9px; border-bottom:1px solid #aaa99f; background:#fffef6; }
.fl-equipment-option input { width:auto!important; margin:3px 0 0!important; accent-color:#171713; }
.fl-equipment-option span,.fl-equipment-option b,.fl-equipment-option small { display:block; color:#171713!important; }
.fl-equipment-option small { margin-top:3px; font-family:"EB Garamond",serif; letter-spacing:0; text-transform:none; }

/* Palette della copertina: petrolio, turchese, corallo, bordeaux e pergamena. */
.theme-forbidden-lands {
  --ink:#173844;
  --muted:#46656a;
  --bg:#0b3c49;
  --panel:#f2d99f;
  --line:#176d77;
  --ember:#91384c;
  --gold:#dc7969;
  color:var(--ink);
  background:
    radial-gradient(circle at 50% 4%,rgba(242,183,119,.42),transparent 27rem),
    linear-gradient(155deg,#0b5260 0,#0a3947 48%,#071f2c 100%);
  font-family:"Kalam","Segoe Print","Bradley Hand",cursive;
  font-size:16px;
}
.theme-forbidden-lands h1,
.theme-forbidden-lands h2,
.theme-forbidden-lands .brand,
.theme-forbidden-lands .button,
.theme-forbidden-lands .eyebrow,
.theme-forbidden-lands small,
.theme-forbidden-lands legend {
  font-family:"Fondamento","Segoe Print",cursive;
  font-weight:400;
}
.theme-forbidden-lands h1,.theme-forbidden-lands h2 { color:#f2d99f; letter-spacing:.015em; }
.theme-forbidden-lands .topbar {
  background:#092f3b;
  border-bottom:4px solid #dc7969;
  box-shadow:0 5px 0 #91384c;
}
.theme-forbidden-lands .brand { color:#f4dba4; text-shadow:2px 2px 0 #91384c; }
.theme-forbidden-lands .brand i { color:#ee8b73; }
.theme-forbidden-lands .quiet-link,.theme-forbidden-lands .breadcrumbs { color:#b7d0ca; }
.theme-forbidden-lands .breadcrumbs a,.theme-forbidden-lands .eyebrow { color:#f3aa82; }
.theme-forbidden-lands .form-card,
.theme-forbidden-lands .fl-creation-choice {
  color:var(--ink);
  background:linear-gradient(145deg,#f7e5b9,#edcf91);
  border:2px solid #173f49;
  border-top:9px solid #91384c;
  box-shadow:9px 10px 0 rgba(4,25,32,.45);
}
.theme-forbidden-lands .form-card h2,
.theme-forbidden-lands .fl-creation-choice h2,
.theme-forbidden-lands .rule-section h2 { color:#713044; }
.theme-forbidden-lands p,.theme-forbidden-lands label { color:#3d5b5e; }
.theme-forbidden-lands input,
.theme-forbidden-lands textarea,
.theme-forbidden-lands select {
  color:#173844;
  background:#fff4d5;
  border:2px solid #41808a;
  border-radius:7px 2px 6px 3px;
  font-family:"Kalam","Segoe Print",cursive;
}
.theme-forbidden-lands input:focus,
.theme-forbidden-lands textarea:focus,
.theme-forbidden-lands select:focus { border-color:#91384c; outline:2px solid #dc7969; }
.theme-forbidden-lands .button {
  color:#f9e8bd;
  background:#176d77;
  border:2px solid #f0b17f;
  border-radius:7px 2px 7px 3px;
  text-transform:none;
  letter-spacing:.02em;
  box-shadow:3px 4px 0 #0b3c49;
}
.theme-forbidden-lands .button:hover { color:#fff4d5; background:#91384c; border-color:#ef9077; }
.theme-forbidden-lands .button.primary { color:#fff4d5; background:#91384c; border-color:#ef9077; }
.theme-forbidden-lands .button.primary:hover { color:#173844; background:#ef9a79; }
.theme-forbidden-lands .fl-intro {
  color:#fff0c7;
  background:linear-gradient(135deg,#0b5260,#092f3b);
  border:3px solid #dc7969;
  border-bottom:7px solid #91384c;
}
.theme-forbidden-lands .fl-intro h2 { color:#f4dba4; }
.theme-forbidden-lands .fl-intro p,.theme-forbidden-lands .fl-intro small { color:#d6e3d8; }
.theme-forbidden-lands .rule-section { border-color:#5d8a86; }
.theme-forbidden-lands .fl-summary {
  color:#244b50;
  background:#f7e7bd;
  border-left:7px solid #91384c;
}
.theme-forbidden-lands .fl-summary b { color:#713044; }
.theme-forbidden-lands .fl-stat-grid label,
.theme-forbidden-lands .fl-skill-grid label,
.theme-forbidden-lands .fl-skill-grid label.professional {
  color:#173844;
  background:#fff1ca;
  border-color:#4a8589;
}
.theme-forbidden-lands .fl-stat-grid span,
.theme-forbidden-lands .fl-skill-grid label.professional span,
.theme-forbidden-lands .fl-talents legend { color:#713044; }
.theme-forbidden-lands .fl-skill-grid label.professional { border:2px solid #91384c; box-shadow:inset 5px 0 #dc7969; }
.theme-forbidden-lands .point-ledger { color:#fff1ca; background:#0b5260; border-color:#092f3b; }
.theme-forbidden-lands .fl-talents,.theme-forbidden-lands .fl-equipment-list fieldset { border-color:#176d77; }
.theme-forbidden-lands .fl-talents .check-option,
.theme-forbidden-lands .fl-equipment-option { color:#173844; background:#fff1ca; border-color:#88aaa0; }
.theme-forbidden-lands .fl-talents .check-option:hover,
.theme-forbidden-lands .fl-equipment-option:hover { background:#f2c993; }
.theme-forbidden-lands .fl-talents .check-option span,
.theme-forbidden-lands .fl-equipment-option span,
.theme-forbidden-lands .fl-equipment-option b,
.theme-forbidden-lands .fl-equipment-option small { color:#173844!important; }
.theme-forbidden-lands .fl-equipment-option small { font-family:"Kalam","Segoe Print",cursive; }
.theme-forbidden-lands .fl-wizard {
  color:#173844;
  background:linear-gradient(145deg,#f7e5b9,#edcf91);
  border:3px solid #91384c;
  box-shadow:9px 10px 0 rgba(4,25,32,.45);
}
.theme-forbidden-lands .fl-wizard h2 { color:#713044; }
.theme-forbidden-lands .fl-wizard-progress { background:repeating-linear-gradient(90deg,#91384c 0,#91384c 28px,transparent 28px,transparent 34px); }
.theme-forbidden-lands .fl-wizard-result { color:#173844; background:#f7e7bd; border-left-color:#176d77; }
.theme-forbidden-lands .fl-wizard-option {
  color:#173844;
  background:#fff1ca;
  border-color:#176d77;
  border-radius:8px 2px 8px 3px;
  font-family:"Kalam","Segoe Print",cursive;
}
.theme-forbidden-lands .fl-wizard-option:hover { color:#fff1ca; background:#176d77; }
.theme-forbidden-lands .fl-wizard-option b { font-family:"Fondamento","Segoe Print",cursive; }
.theme-forbidden-lands .fl-current-attributes span { color:#173844; background:#fff1ca; border-color:#176d77; }
.theme-forbidden-lands .character-list { border-top-color:#dc7969; }
.theme-forbidden-lands .character-row { border-bottom-color:#4f7e80; }
.theme-forbidden-lands .character-row h2 { color:#f3d89f; }
.theme-forbidden-lands .character-row p { color:#b9d0ca; }
.theme-forbidden-lands .portrait { color:#f4dba4; border-color:#ef9077; background:#91384c; }
.theme-forbidden-lands .forbidden-print { color:#173844; background:#f8e7bb; border-top-color:#91384c; font-family:"Kalam","Segoe Print",cursive; }
.theme-forbidden-lands .forbidden-print h1,
.theme-forbidden-lands .forbidden-print h2 { color:#713044; font-family:"Fondamento","Segoe Print",cursive; }
.theme-forbidden-lands .confirm-card {
  color:#173844;
  background:linear-gradient(145deg,#f7e5b9,#edcf91);
  border:3px solid #dc7969;
  box-shadow:9px 10px 0 #071f2c;
  font-family:"Kalam","Segoe Print",cursive;
}
.theme-forbidden-lands .confirm-card h2 { color:#713044; font-family:"Fondamento","Segoe Print",cursive; }
.theme-forbidden-lands .confirm-card p { color:#365b60; }
.theme-forbidden-lands .confirm-mark { color:#fff1ca; background:#91384c; border:2px solid #dc7969; }
.theme-forbidden-lands .confirm-danger { color:#fff1ca!important; background:#91384c!important; border-color:#dc7969!important; }
.check-option { position:relative; }
.talent-info { flex:0 0 25px;width:25px;height:25px;margin-left:auto;padding:0;display:grid;place-items:center;color:#fff1ca;background:#176d77;border:0;border-radius:50%;font:700 15px "Kalam",cursive;cursor:pointer; }
.talent-info:hover { background:#91384c; }
.talent-balloon { width:min(90vw,390px);padding:24px;color:#173844;background:#fff1ca;border:3px solid #91384c;border-radius:10px 3px 10px 4px;box-shadow:10px 12px 0 rgba(7,31,44,.55);font-family:"Kalam","Segoe Print",cursive; }
.talent-balloon::backdrop { background:rgba(7,31,44,.5);backdrop-filter:blur(2px); }
.talent-balloon h3 { margin:0 30px 8px 0;color:#713044;font:400 25px "Fondamento",cursive; }
.talent-balloon p { margin:0;color:#244b50; }
.talent-close { position:absolute;right:12px;top:10px;color:#713044;background:none;border:0;font-size:25px;cursor:pointer; }
.fl-equipment-picker { display:grid;gap:12px; }
.fl-equipment-suggestions { display:grid;gap:5px;margin-top:-7px; }
.fl-equipment-suggestions button { padding:10px 13px;color:#173844;background:#fff1ca;border:1px solid #5d8a86;text-align:left;cursor:pointer;font-family:"Kalam",cursive; }
.fl-equipment-suggestions button:hover { background:#f2c993;border-color:#91384c; }
.fl-equipment-suggestions b,.fl-equipment-suggestions small { display:block;color:inherit!important; }
.fl-equipment-suggestions small { margin-top:2px;text-transform:none;letter-spacing:0;font-family:"Kalam",cursive; }
.fl-owned-equipment { display:grid;gap:8px; }
.fl-owned-item { display:grid;grid-template-columns:1fr 30px;gap:12px;padding:13px;color:#173844;background:#fff1ca;border:2px solid #176d77;border-radius:8px 2px 8px 3px; }
.fl-owned-item b,.fl-owned-item small,.fl-owned-item strong { display:block;color:#173844; }
.fl-owned-item small { margin-top:3px;text-transform:none;letter-spacing:0;font-family:"Kalam",cursive; }
.fl-attack-pool { margin-top:8px;padding-top:7px;color:#713044!important;border-top:1px solid #dc7969;font-size:13px; }
.fl-equipment-empty { padding:18px;border:1px dashed #5d8a86;text-align:center; }
/*




 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Fondamento:ital@0;1&family=Inter:wght@400;500;600;700&family=Kalam:wght@300;400;700&display=swap');
:root{--ink:#ece5d8;--muted:#a79d91;--bg:#110f0e;--panel:#1a1715;--line:#3a322d;--ember:#b9422e;--gold:#c7a76c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 0,#2a1715 0,transparent 32rem),var(--bg);font-family:Inter,sans-serif;min-height:100vh}button,input,textarea{font:inherit}.topbar{height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar-nav{display:flex;align-items:center;gap:22px}.brand{color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:700}.brand i{color:var(--ember);font-size:.7em}.page{max-width:1280px;margin:auto;padding:56px clamp(20px,5vw,72px)}h1,h2{font-family:"Cormorant Garamond",serif}h1{font-size:clamp(44px,6vw,76px);line-height:.95;margin:12px 0 14px}p{color:var(--muted);line-height:1.6}.eyebrow,small{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.hero-row{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.hero-row.compact h1{font-size:58px}.button{display:inline-block;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:transparent;border-radius:3px;padding:12px 18px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.button:hover{border-color:var(--gold)}.button.primary{background:var(--ember);border-color:var(--ember)}.button.small{padding:8px 12px}.quiet-link{color:var(--muted);font-size:12px;text-decoration:none}.quiet-link:hover{color:var(--ink)}.system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.system-card{border:1px solid var(--line);background:var(--panel)}.system-main{padding:24px;display:flex;gap:20px;color:inherit;text-decoration:none;min-height:160px}.system-main h2,.character-row h2{margin:0;font-size:28px}.system-main p{font-size:13px;margin:5px 0}.system-glyph,.portrait{flex:0 0 58px;height:58px;border:1px solid var(--ember);display:grid;place-items:center;color:var(--ember);font-family:"Cormorant Garamond";font-size:30px;border-radius:50%}.card-actions{padding:13px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px}.link-danger{border:0;background:none;color:#c76759;cursor:pointer;font-size:12px;padding:0}.empty{text-align:center;padding:70px 20px;border:1px dashed var(--line);background:#171412}.empty h2{font-size:30px;margin:0}.narrow{max-width:760px;margin:auto}.form-card{display:grid;gap:22px;margin-top:30px;padding:30px;border:1px solid var(--line);background:var(--panel)}label{display:block;color:var(--muted);font-size:12px;font-weight:600}label span{font-weight:400}input,textarea{display:block;width:100%;margin-top:8px;color:var(--ink);background:#120f0e;border:1px solid var(--line);padding:13px;outline:none;border-radius:2px}input:focus,textarea:focus{border-color:var(--ember)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.errors,.flash{padding:14px 18px;font-size:13px}.errors,.flash.alert{border:1px solid #9d3d32;background:#391c18}.errors ul{margin-bottom:0}.flash{max-width:900px;margin:18px auto 0}.flash.notice{border:1px solid #63764d;background:#24301c}.breadcrumbs{display:flex;gap:10px;color:var(--muted);font-size:12px;margin-bottom:25px}.breadcrumbs a{color:var(--gold)}.search{display:flex;align-items:center;gap:10px;margin-bottom:24px}.search input{margin:0}.character-list{border-top:1px solid var(--line)}.character-row{display:flex;align-items:center;gap:18px;padding:20px 5px;border-bottom:1px solid var(--line)}.portrait{flex-basis:48px;height:48px;font-size:24px}.character-info{flex:1;min-width:0}.character-info p{margin:4px 0;font-size:12px}.row-actions{display:flex;align-items:center;gap:9px}.row-actions form,.card-actions form{display:inline}.print-page{background:#ded4c0;color:#27201b}.print-sheet{max-width:850px;min-height:100vh;margin:auto;padding:55px}.print-title{border-bottom:3px solid #382f28}.print-title small,.print-sheet small{color:#7e2b22}.print-title h1{font-size:64px}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:28px 0;border-bottom:1px solid #8c806d}.print-meta p,.print-notes p{color:#27201b}.print-notes{padding:28px 0;min-height:420px}.no-print{color:white}@media(max-width:720px){.hero-row{align-items:start;flex-direction:column}.system-grid{grid-template-columns:1fr}.character-row{align-items:start;flex-wrap:wrap}.row-actions{width:100%;padding-left:66px}.two-columns{grid-template-columns:1fr}.page{padding-top:38px}}@media print{.no-print{display:none}.print-sheet{padding:20px}.print-page{background:white}}
.confirm-dialog{width:min(92vw,480px);padding:0;color:var(--ink);background:transparent;border:0}.confirm-dialog::backdrop{background:rgba(5,4,4,.78);backdrop-filter:blur(4px)}.confirm-card{position:relative;padding:30px;background:var(--panel);border:2px solid var(--line);box-shadow:10px 12px 0 rgba(0,0,0,.4)}.confirm-card h2{margin:7px 0 8px;font-size:34px}.confirm-card p{margin:0 0 25px}.confirm-mark{position:absolute;right:24px;top:20px;width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#9d3d32;border-radius:50%;font-size:25px;font-weight:900}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-danger{color:#fff;background:#9d3d32!important;border-color:#c76759!important}.confirm-danger:hover{background:#c1493d!important}@media(max-width:520px){.confirm-actions{align-items:stretch;flex-direction:column}.confirm-actions .button{width:100%}}
.app-footer{padding:20px;text-align:center;color:var(--muted);font-size:11px;letter-spacing:.08em}
