Companions were a single line on the Ranger's edge; now they are a real subsystem, rollable or pickable, with art, tokens and a place on the sheet. - New compendium "companions" (VANITY · Animal Companions): 10 beasts as full NPC actors with painted core artwork, droppable as tokens — wolf, hawk, owl, raven, hound, lynx, serpent, stag, great bat, ram. Each keeps the printed baseline (Grit 3, attacks at 3 dice) and differs in dodge (2-4d), senses and one distinctive trick, plus which companion action it favours. - New d10 roll table, "The Bond — Animal Companions". - Ranger sheet: the companion block is now a card — art, name, kind, attack, dodge, Grit (with a DOWNED flag), its trick, and one-click Help / Harry / Guard (each posting what it does to chat) plus Attack and Dodge rolls. "Roll the Bond" rolls the d10 and binds the beast straight onto the sheet. - template.json: companion gains kind, img, dodge, trick. - Rules updated in both places: §9a in the Draft 13 source (so the in-world journal carries it) and a new Bond section in the player rulebook, which is regenerated to HTML + PDF (39pp). - Version -> 0.9.6; README/FOUNDRY/system description updated (13 compendia). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1051 lines
35 KiB
CSS
1051 lines
35 KiB
CSS
/* ============================================================
|
|
VANITY — Foundry VTT system stylesheet
|
|
Palette & typography from the VANITY print sheets:
|
|
parchment, gold, teal, plum · Cinzel + EB Garamond
|
|
============================================================ */
|
|
|
|
@font-face {
|
|
font-family: "Cinzel";
|
|
src: url("../fonts/Cinzel-SemiBold.woff2") format("woff2");
|
|
font-weight: 600;
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: "Cinzel";
|
|
src: url("../fonts/Cinzel-Bold.woff2") format("woff2");
|
|
font-weight: 700;
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: "EB Garamond";
|
|
src: url("../fonts/EBGaramond-Regular.woff2") format("woff2");
|
|
font-weight: 400;
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: "EB Garamond";
|
|
src: url("../fonts/EBGaramond-Italic.woff2") format("woff2");
|
|
font-weight: 400;
|
|
font-style: italic;
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: "EB Garamond";
|
|
src: url("../fonts/EBGaramond-Medium.woff2") format("woff2");
|
|
font-weight: 500;
|
|
font-display: swap;
|
|
}
|
|
|
|
:root {
|
|
--v-paper: #f7f0de;
|
|
--v-paper2: #fdf9ee;
|
|
--v-ink: #2a2317;
|
|
--v-ink2: #5c5342;
|
|
--v-gold: #b0872f;
|
|
--v-gold-d: #8a6a20;
|
|
--v-teal: #14544e;
|
|
--v-teal-d: #0e3f3a;
|
|
--v-plum: #6a3b5e;
|
|
--v-line: #c3ad78;
|
|
--v-fieldline: #a58f5c;
|
|
}
|
|
|
|
/* ---------------- Sheet chrome ---------------- */
|
|
|
|
.vanity.sheet .window-content {
|
|
background: var(--v-paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140' opacity='0.035'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");
|
|
color: var(--v-ink);
|
|
font-family: "EB Garamond", Georgia, "Times New Roman", serif;
|
|
font-size: 14px;
|
|
padding: 10px 12px;
|
|
}
|
|
|
|
.vanity-sheet { color: var(--v-ink); }
|
|
|
|
.vanity-sheet input[type="text"],
|
|
.vanity-sheet input[type="number"] {
|
|
background: transparent;
|
|
border: none;
|
|
border-bottom: 1.5px solid var(--v-fieldline);
|
|
border-radius: 0;
|
|
color: var(--v-ink);
|
|
font-family: inherit;
|
|
}
|
|
.vanity-sheet input[type="text"]:focus,
|
|
.vanity-sheet input[type="number"]:focus {
|
|
border-bottom-color: var(--v-teal);
|
|
box-shadow: none;
|
|
outline: none;
|
|
}
|
|
.vanity-sheet select {
|
|
background: var(--v-paper2);
|
|
border: 1px solid var(--v-line);
|
|
color: var(--v-ink);
|
|
font-family: inherit;
|
|
}
|
|
.vanity-sheet textarea {
|
|
background: var(--v-paper2);
|
|
border: 1.4px solid var(--v-fieldline);
|
|
border-radius: 4px;
|
|
color: var(--v-ink);
|
|
font-family: inherit;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
resize: vertical;
|
|
}
|
|
.vanity-sheet button {
|
|
background: var(--v-teal);
|
|
color: var(--v-paper);
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 12px;
|
|
letter-spacing: 0.06em;
|
|
cursor: pointer;
|
|
}
|
|
.vanity-sheet button:hover { background: var(--v-teal-d); box-shadow: 0 0 6px rgba(20, 84, 78, 0.5); }
|
|
|
|
/* ---------------- Header ---------------- */
|
|
|
|
.vanity-sheet .v-head {
|
|
flex: none;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
border-bottom: 3px solid var(--v-gold);
|
|
padding-bottom: 8px;
|
|
margin-bottom: 8px;
|
|
}
|
|
.vanity-sheet .v-portrait {
|
|
width: 64px;
|
|
height: 64px;
|
|
object-fit: cover;
|
|
border: 2px solid var(--v-gold);
|
|
border-radius: 8px;
|
|
background: #fffdf6;
|
|
cursor: pointer;
|
|
flex: none;
|
|
}
|
|
.vanity-sheet .v-title { flex: 1; }
|
|
.vanity-sheet .v-name {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 26px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.06em;
|
|
width: 100%;
|
|
height: 34px;
|
|
}
|
|
.vanity-sheet .v-sub { display: flex; gap: 6px; align-items: center; margin-top: 2px; color: var(--v-ink2); }
|
|
.vanity-sheet .v-sub input { font-size: 13px; height: 22px; }
|
|
.vanity-sheet .v-motto {
|
|
font-style: italic;
|
|
color: var(--v-ink2);
|
|
font-size: 12px;
|
|
text-align: right;
|
|
max-width: 190px;
|
|
line-height: 1.35;
|
|
flex: none;
|
|
}
|
|
|
|
/* ---------------- Banners ---------------- */
|
|
|
|
.v-banner {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 12px;
|
|
letter-spacing: 0.18em;
|
|
text-align: center;
|
|
padding: 4px 8px;
|
|
border-radius: 4px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.v-banner.rattled { background: #f0e3ea; color: var(--v-plum); border: 1px solid var(--v-plum); }
|
|
.v-banner.reckoning { background: var(--v-plum); color: #f7f0de; }
|
|
.v-banner.out { background: #4a1f1f; color: #f7f0de; }
|
|
|
|
/* ---------------- Tabs ---------------- */
|
|
|
|
.vanity-sheet .sheet-tabs {
|
|
border-bottom: 2px solid var(--v-gold);
|
|
margin-bottom: 8px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 12px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
}
|
|
.vanity-sheet .sheet-tabs .item { color: var(--v-ink2); padding: 4px 10px; }
|
|
.vanity-sheet .sheet-tabs .item.active {
|
|
color: var(--v-teal-d);
|
|
text-shadow: none;
|
|
border-bottom: 3px solid var(--v-teal);
|
|
}
|
|
.vanity-sheet { display: flex; flex-direction: column; height: 100%; }
|
|
.vanity-sheet .sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
|
|
|
|
/* ---------------- Sections ---------------- */
|
|
|
|
.vanity-sheet .v-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: start; }
|
|
.vanity-sheet .sect { margin-bottom: 10px; }
|
|
.vanity-sheet .sect > .bar {
|
|
background: var(--v-teal);
|
|
color: #f7f0de;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.16em;
|
|
text-transform: uppercase;
|
|
padding: 4px 10px;
|
|
border-radius: 4px 4px 0 0;
|
|
}
|
|
.vanity-sheet .sect > .body {
|
|
border: 1.4px solid var(--v-line);
|
|
border-top: none;
|
|
border-radius: 0 0 4px 4px;
|
|
padding: 8px 10px 10px;
|
|
background: var(--v-paper2);
|
|
}
|
|
.vanity-sheet .hint { font-size: 12px; color: var(--v-ink2); font-style: italic; margin-top: 5px; }
|
|
.vanity-sheet .hint a { color: var(--v-teal-d); text-decoration: underline; }
|
|
.vanity-sheet .cap {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9.5px;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
color: var(--v-ink2);
|
|
display: block;
|
|
margin-bottom: 2px;
|
|
}
|
|
.vanity-sheet label.f { display: block; margin-top: 8px; }
|
|
|
|
/* ---------------- Attributes ---------------- */
|
|
|
|
.vanity-sheet .attr {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 5px 0;
|
|
border-bottom: 1px dotted var(--v-line);
|
|
}
|
|
.vanity-sheet .attr:last-of-type { border-bottom: none; }
|
|
.vanity-sheet .attr .num {
|
|
width: 38px;
|
|
height: 38px;
|
|
flex: none;
|
|
border: 2px solid var(--v-gold);
|
|
border-radius: 8px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 20px;
|
|
background: #fffdf6;
|
|
cursor: pointer;
|
|
transition: box-shadow 0.15s;
|
|
}
|
|
.vanity-sheet .attr .num:hover { box-shadow: 0 0 8px rgba(176, 135, 47, 0.7); }
|
|
.vanity-sheet .attr .meta { flex: 1; }
|
|
.vanity-sheet .attr .nm {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 14px;
|
|
letter-spacing: 0.05em;
|
|
color: var(--v-teal-d);
|
|
cursor: pointer;
|
|
}
|
|
.vanity-sheet .attr .nm:hover { color: var(--v-gold-d); }
|
|
.vanity-sheet .attr .ds { font-size: 12px; color: var(--v-ink2); }
|
|
.vanity-sheet .attr .attr-input { width: 44px; text-align: center; font-size: 16px; flex: none; }
|
|
|
|
/* ---------------- Grit track ---------------- */
|
|
|
|
.vanity-sheet .grit-row { display: flex; gap: 12px; }
|
|
.vanity-sheet .grit-row .mini input { width: 52px; text-align: center; }
|
|
.vanity-sheet .track { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 4px; }
|
|
.vanity-sheet .cell {
|
|
width: 26px;
|
|
height: 26px;
|
|
border: 1.6px solid var(--v-ink2);
|
|
border-radius: 4px;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
justify-content: flex-end;
|
|
background: #fff;
|
|
cursor: pointer;
|
|
}
|
|
.vanity-sheet .cell span { font-size: 9px; color: #a99a78; padding: 0 2px; }
|
|
.vanity-sheet .cell.half { border-color: var(--v-plum); box-shadow: inset 0 0 0 2px #f0e3ea; }
|
|
.vanity-sheet .cell.filled { background: var(--v-teal); }
|
|
.vanity-sheet .cell.filled span { color: #d6efe9; }
|
|
|
|
/* ---------------- Pips ---------------- */
|
|
|
|
.vanity-sheet .resrow { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
|
|
.vanity-sheet .resrow .rl {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
width: 72px;
|
|
flex: none;
|
|
}
|
|
.vanity-sheet .resrow .rl.v { color: var(--v-gold-d); }
|
|
.vanity-sheet .resrow .rl.k { color: var(--v-plum); }
|
|
.vanity-sheet .resnote { font-size: 11.5px; color: var(--v-ink2); font-style: italic; margin: 1px 0 4px 82px; }
|
|
.vanity-sheet .pips { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
.vanity-sheet .pip {
|
|
width: 18px;
|
|
height: 18px;
|
|
border-radius: 50%;
|
|
border: 2px solid var(--v-gold-d);
|
|
background: #fff;
|
|
cursor: pointer;
|
|
transition: background 0.1s;
|
|
}
|
|
.vanity-sheet .pip.filled { background: var(--v-gold); }
|
|
.vanity-sheet .pip.hex { border-radius: 3px; transform: rotate(45deg); border-color: var(--v-plum); }
|
|
.vanity-sheet .pip.hex.filled { background: var(--v-plum); }
|
|
.vanity-sheet .resrow.glory input { width: 56px; text-align: center; font-size: 16px; }
|
|
|
|
/* ---------------- Knacks ---------------- */
|
|
|
|
.vanity-sheet .knack-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 4px 0;
|
|
border-bottom: 1px dotted var(--v-line);
|
|
}
|
|
.vanity-sheet .knack-row .kn { flex: 1; font-size: 14px; cursor: pointer; }
|
|
.vanity-sheet .knack-row .kn:hover { color: var(--v-teal-d); text-decoration: underline; }
|
|
.vanity-sheet .knack-row .kn em { color: var(--v-ink2); font-size: 11.5px; }
|
|
.vanity-sheet .knack-row .pool {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
color: var(--v-gold-d);
|
|
width: 26px;
|
|
text-align: right;
|
|
}
|
|
.vanity-sheet .knack-row .rank { display: flex; gap: 4px; cursor: pointer; }
|
|
.vanity-sheet .ck {
|
|
width: 14px;
|
|
height: 14px;
|
|
border: 1.6px solid var(--v-ink2);
|
|
border-radius: 3px;
|
|
background: #fff;
|
|
display: inline-block;
|
|
}
|
|
.vanity-sheet .ck.on { background: var(--v-teal); }
|
|
|
|
.vanity-sheet .locked {
|
|
margin-top: 10px;
|
|
border: 2px solid var(--v-gold);
|
|
border-radius: 6px;
|
|
background: #fbf3dd;
|
|
padding: 7px 9px;
|
|
}
|
|
.vanity-sheet .locked .t {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9.5px;
|
|
letter-spacing: 0.16em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold-d);
|
|
margin-bottom: 4px;
|
|
}
|
|
.vanity-sheet .locked-row { display: flex; gap: 6px; align-items: center; }
|
|
.vanity-sheet .locked-row select { flex: 1; min-width: 0; }
|
|
.vanity-sheet .locked-row .locked-roll { flex: none; padding: 4px 10px; }
|
|
|
|
/* ---------------- Items & tables ---------------- */
|
|
|
|
.vanity-sheet .v-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
|
|
.vanity-sheet .v-table th {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9.5px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold-d);
|
|
text-align: left;
|
|
padding: 3px 5px;
|
|
border-bottom: 1px solid var(--v-line);
|
|
}
|
|
.vanity-sheet .v-table td { padding: 3px 5px; border-bottom: 1px solid var(--v-line); vertical-align: top; }
|
|
.vanity-sheet .v-table td.ctrl, .vanity-sheet .v-table th.ctrl { width: 40px; white-space: nowrap; }
|
|
.vanity-sheet .v-table .props { color: var(--v-ink2); font-size: 12.5px; }
|
|
.vanity-sheet .v-table tr.spent td { opacity: 0.45; }
|
|
.vanity-sheet .listtag {
|
|
font-size: 10px;
|
|
color: var(--v-plum);
|
|
letter-spacing: 0.06em;
|
|
text-transform: uppercase;
|
|
font-style: normal;
|
|
margin-left: 4px;
|
|
}
|
|
.vanity-sheet a.item-attack i, .vanity-sheet a.item-cast i { color: var(--v-teal-d); font-size: 15px; }
|
|
.vanity-sheet a.item-attack:hover i, .vanity-sheet a.item-cast:hover i { color: var(--v-gold-d); text-shadow: 0 0 6px rgba(176,135,47,.7); }
|
|
.vanity-sheet a.item-edit i, .vanity-sheet a.item-delete i, .vanity-sheet a.item-spent i, .vanity-sheet a.item-equip i {
|
|
color: var(--v-ink2);
|
|
font-size: 12px;
|
|
}
|
|
.vanity-sheet a.item-delete:hover i { color: #8a2f2f; }
|
|
|
|
.vanity-sheet .item-row {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 3px 0;
|
|
border-bottom: 1px dotted var(--v-line);
|
|
}
|
|
.vanity-sheet .item-row .item-name { font-size: 14px; }
|
|
.vanity-sheet .item-row .item-name.unequipped { opacity: 0.5; }
|
|
.vanity-sheet .item-row .item-note { flex: 1; color: var(--v-ink2); font-size: 12.5px; font-style: italic; }
|
|
|
|
.vanity-sheet .coin-row { display: flex; gap: 10px; align-items: center; margin-top: 8px; }
|
|
.vanity-sheet .coin-row label { font-size: 12px; color: var(--v-ink2); }
|
|
.vanity-sheet .coin-row input { width: 52px; text-align: center; }
|
|
|
|
/* ---------------- Quickbar & reference ---------------- */
|
|
|
|
.vanity-sheet .v-quickbar { display: flex; gap: 8px; margin-bottom: 8px; }
|
|
.vanity-sheet .v-quickbar button { flex: 1; padding: 6px 4px; }
|
|
|
|
.vanity-sheet .ref {
|
|
border: 1.4px solid var(--v-line);
|
|
border-radius: 6px;
|
|
background: #fbf6e9;
|
|
padding: 9px 11px;
|
|
margin-top: 4px;
|
|
}
|
|
.vanity-sheet .ref h3 {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 10.5px;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
color: var(--v-teal-d);
|
|
margin: 0 0 5px;
|
|
border: none;
|
|
}
|
|
.vanity-sheet .ref .two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: 12px; line-height: 1.5; }
|
|
.vanity-sheet .ref b { color: var(--v-gold-d); }
|
|
|
|
/* ---------------- Companion ---------------- */
|
|
|
|
.vanity-sheet .companion-card { display: flex; gap: 12px; align-items: flex-start; }
|
|
.vanity-sheet .cmp-art {
|
|
flex: none; width: 92px; height: 92px; border-radius: 6px; overflow: hidden;
|
|
border: 1.5px solid var(--v-gold); background: var(--v-paper2);
|
|
}
|
|
.vanity-sheet .cmp-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
|
|
.vanity-sheet .cmp-art-empty {
|
|
width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
|
|
color: var(--v-line); font-size: 30px;
|
|
}
|
|
.vanity-sheet .cmp-body { flex: 1; display: flex; flex-direction: column; gap: 7px; min-width: 0; }
|
|
.vanity-sheet .cmp-line { display: flex; gap: 10px; align-items: end; }
|
|
.vanity-sheet .cmp-line .grow { flex: 1; min-width: 0; }
|
|
.vanity-sheet .companion-card input[type="number"] { width: 42px; text-align: center; }
|
|
.vanity-sheet .companion-card .sl { color: var(--v-ink2); padding: 0 2px; }
|
|
.vanity-sheet .companion-card .wide { width: 100%; }
|
|
.vanity-sheet .cmp-downed {
|
|
font-family: "Cinzel", Georgia, serif; font-size: 9px; letter-spacing: .1em;
|
|
color: #fff; background: #8a2f2f; border-radius: 8px; padding: 2px 8px; align-self: center;
|
|
}
|
|
.vanity-sheet .cmp-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
|
|
.vanity-sheet .cmp-actions .cap { width: 100%; margin-bottom: 1px; }
|
|
.vanity-sheet .cmp-act, .vanity-sheet .cmp-roll {
|
|
padding: 4px 10px; font-size: 11px; border: 1.3px solid var(--v-line);
|
|
border-radius: 12px; background: var(--v-paper2); cursor: pointer; white-space: nowrap;
|
|
}
|
|
.vanity-sheet .cmp-act b { color: var(--v-teal); font-weight: 600; }
|
|
.vanity-sheet .cmp-act:hover, .vanity-sheet .cmp-roll:hover {
|
|
border-color: var(--v-gold); background: rgba(176,135,47,.10);
|
|
}
|
|
.vanity-sheet .cmp-roll { border-color: var(--v-teal); color: var(--v-teal-d); }
|
|
.vanity-sheet .cmp-bond {
|
|
float: right; margin: -2px 0 0; padding: 2px 9px; font-size: 10px;
|
|
border: 1.2px solid var(--v-gold); border-radius: 10px; background: transparent;
|
|
color: var(--v-paper); cursor: pointer;
|
|
}
|
|
.vanity-sheet .cmp-bond:hover { background: rgba(255,255,255,.14); }
|
|
|
|
/* ---------------- NPC sheet ---------------- */
|
|
|
|
.vanity-sheet.npc .npc-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
|
|
.vanity-sheet.npc .npc-line { display: flex; align-items: center; gap: 7px; padding: 3px 0; }
|
|
.vanity-sheet.npc .npc-line .lbl {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
color: var(--v-teal-d);
|
|
min-width: 58px;
|
|
}
|
|
.vanity-sheet.npc .npc-line .pool { width: 44px; text-align: center; font-size: 16px; }
|
|
.vanity-sheet.npc .npc-line .d { color: var(--v-ink2); }
|
|
.vanity-sheet.npc .npc-line .note { flex: 1; font-size: 12.5px; }
|
|
.vanity-sheet.npc .npc-line .hint { margin: 0; }
|
|
.vanity-sheet.npc .npc-roll i { color: var(--v-teal-d); font-size: 15px; width: 18px; text-align: center; }
|
|
.vanity-sheet.npc .npc-roll:hover i { color: var(--v-gold-d); }
|
|
.vanity-sheet.npc .npc-line.nemesis .lbl { color: var(--v-plum); }
|
|
.vanity-sheet.npc .v-sub select { max-width: 200px; }
|
|
|
|
/* ---------------- Item sheet ---------------- */
|
|
|
|
.vanity-sheet.item .item-fields { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4px 12px; }
|
|
.vanity-sheet.item .item-fields .wide { grid-column: 1 / -1; }
|
|
.vanity-sheet.item .typetag {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.2em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold-d);
|
|
}
|
|
|
|
/* ============================================================
|
|
Chat cards
|
|
============================================================ */
|
|
|
|
.vanity-roll {
|
|
background: var(--v-paper);
|
|
border: 1.5px solid var(--v-line);
|
|
border-radius: 6px;
|
|
padding: 8px 10px;
|
|
color: var(--v-ink);
|
|
font-family: "EB Garamond", Georgia, serif;
|
|
}
|
|
.vanity-roll header {
|
|
display: flex;
|
|
flex-direction: column;
|
|
border-bottom: 2px solid var(--v-gold);
|
|
padding-bottom: 4px;
|
|
margin-bottom: 6px;
|
|
}
|
|
.vanity-roll .vanity-roll-label {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.05em;
|
|
color: var(--v-teal-d);
|
|
}
|
|
.vanity-roll .vanity-roll-sub { font-size: 12px; color: var(--v-ink2); font-style: italic; }
|
|
.vanity-dice { display: flex; flex-wrap: wrap; gap: 3px; font-size: 30px; line-height: 1; margin: 4px 0; }
|
|
.vanity-die { color: #9c9270; }
|
|
.vanity-die.success { color: var(--v-teal); text-shadow: 0 0 5px rgba(20, 84, 78, 0.35); }
|
|
.vanity-die.bane { color: var(--v-plum); text-shadow: 0 0 5px rgba(106, 59, 94, 0.4); }
|
|
.vanity-outcome { font-size: 14px; margin-top: 2px; }
|
|
.vanity-outcome .good { color: var(--v-teal-d); font-weight: 700; }
|
|
.vanity-outcome .bad { color: #8a2f2f; font-weight: 700; }
|
|
.vanity-outcome .banes { color: var(--v-plum); }
|
|
.vanity-outcome .pushed { color: var(--v-gold-d); font-style: italic; }
|
|
.vanity-extra { font-size: 12.5px; margin-top: 5px; color: var(--v-ink2); }
|
|
.vanity-extra .pushed-note { font-style: italic; color: var(--v-gold-d); }
|
|
.vanity-miscast {
|
|
margin-top: 5px;
|
|
border: 1.5px solid var(--v-plum);
|
|
border-radius: 4px;
|
|
background: #f6ebf2;
|
|
color: var(--v-ink);
|
|
padding: 5px 8px;
|
|
}
|
|
.vanity-extra .spent-note { font-style: italic; }
|
|
.vanity-buttons { display: flex; gap: 6px; margin-top: 7px; }
|
|
.vanity-buttons button {
|
|
flex: 1;
|
|
background: var(--v-teal);
|
|
color: var(--v-paper);
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.06em;
|
|
padding: 4px 6px;
|
|
cursor: pointer;
|
|
}
|
|
.vanity-buttons button:hover { background: var(--v-teal-d); }
|
|
.vanity-buttons .vanity-fizzle { background: var(--v-plum); }
|
|
|
|
/* ---------------- Roll dialog ---------------- */
|
|
|
|
.vanity-roll-dialog .pool-line { font-size: 14px; }
|
|
.vanity-roll-dialog .pool-line .rattled { color: var(--v-plum); font-weight: bold; }
|
|
.vanity-roll-dialog .hint { font-size: 12px; font-style: italic; }
|
|
|
|
/* ============================================================
|
|
Journal styling (rulebook, GM screen, adventure)
|
|
============================================================ */
|
|
|
|
.vanity-journal {
|
|
font-family: "EB Garamond", Georgia, serif;
|
|
font-size: 15px;
|
|
line-height: 1.5;
|
|
}
|
|
.vanity-journal h1, .vanity-journal h2, .vanity-journal h3,
|
|
.vanity-journal h4, .vanity-journal h5 {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
color: var(--v-teal-d, #0e3f3a);
|
|
border-bottom: none;
|
|
letter-spacing: 0.04em;
|
|
}
|
|
.vanity-journal h1 {
|
|
border-bottom: 3px solid var(--v-gold, #b0872f);
|
|
padding-bottom: 4px;
|
|
}
|
|
.vanity-journal h2 {
|
|
border-bottom: 1.5px solid var(--v-line, #c3ad78);
|
|
padding-bottom: 3px;
|
|
margin-top: 1.2em;
|
|
}
|
|
.vanity-journal h3 { color: var(--v-gold-d, #8a6a20); margin-top: 1em; }
|
|
.vanity-journal table {
|
|
border-collapse: collapse;
|
|
margin: 0.6em 0;
|
|
background: rgba(253, 249, 238, 0.55);
|
|
}
|
|
.vanity-journal th {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 0.72em;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold-d, #8a6a20);
|
|
text-align: left;
|
|
border-bottom: 1.6px solid var(--v-gold, #b0872f);
|
|
padding: 4px 8px;
|
|
}
|
|
.vanity-journal td {
|
|
border-bottom: 1px solid var(--v-line, #c3ad78);
|
|
padding: 4px 8px;
|
|
vertical-align: top;
|
|
}
|
|
.vanity-journal blockquote {
|
|
border-left: 3px solid var(--v-gold, #b0872f);
|
|
background: rgba(251, 243, 221, 0.5);
|
|
margin: 0.6em 0;
|
|
padding: 6px 12px;
|
|
font-style: normal;
|
|
}
|
|
.vanity-journal hr {
|
|
border: none;
|
|
border-top: 2px solid var(--v-gold, #b0872f);
|
|
margin: 1.2em 0;
|
|
}
|
|
.vanity-journal code {
|
|
font-family: inherit;
|
|
background: rgba(195, 173, 120, 0.25);
|
|
padding: 0 3px;
|
|
border-radius: 3px;
|
|
}
|
|
.vanity-screen h2 { margin-top: 0.9em; }
|
|
|
|
/* Locked-knack row: keep the selects readable, the roll button compact */
|
|
.vanity-sheet .locked-row select { width: auto; flex: 1 1 33%; min-width: 70px; }
|
|
.vanity-sheet .locked-row .locked-roll { width: auto; flex: 0 0 auto; padding: 4px 12px; }
|
|
|
|
/* ============================================================
|
|
The Forge — directory buttons & chat cards
|
|
============================================================ */
|
|
|
|
.vanity-forge {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 4px;
|
|
padding: 5px 6px;
|
|
border-top: 2px solid var(--v-gold);
|
|
background: rgba(20, 84, 78, 0.25);
|
|
}
|
|
.vanity-forge .forge-title {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 10px;
|
|
letter-spacing: 0.14em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold);
|
|
margin-right: 2px;
|
|
}
|
|
.vanity-forge button {
|
|
flex: 1 1 auto;
|
|
width: auto;
|
|
background: var(--v-teal);
|
|
color: #f7f0de;
|
|
border: 1px solid var(--v-teal-d);
|
|
border-radius: 4px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 10px;
|
|
padding: 2px 5px;
|
|
cursor: pointer;
|
|
line-height: 1.5;
|
|
}
|
|
.vanity-forge button i { font-size: 9px; }
|
|
.vanity-forge button:hover {
|
|
background: var(--v-gold-d);
|
|
border-color: var(--v-gold);
|
|
box-shadow: 0 0 6px rgba(176, 135, 47, 0.6);
|
|
}
|
|
|
|
.vanity-forge-card p { margin: 4px 0; font-size: 13.5px; }
|
|
.vanity-forge-card i { color: var(--v-ink2); }
|
|
|
|
/* Special Attacks panel on strong attack rolls */
|
|
.vanity-roll .vanity-special {
|
|
margin-top: 6px;
|
|
border: 1.4px solid var(--v-line);
|
|
border-radius: 4px;
|
|
background: #fbf6e9;
|
|
padding: 4px 8px;
|
|
font-size: 12px;
|
|
}
|
|
.vanity-roll .vanity-special summary {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 10.5px;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
color: var(--v-teal-d);
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
.vanity-roll .vanity-special p { margin: 3px 0; line-height: 1.45; }
|
|
.vanity-roll .vanity-special p b { color: var(--v-gold-d); }
|
|
.vanity-roll .vanity-special .sa-note { font-style: italic; color: var(--v-ink2); }
|
|
|
|
/* Interactive spend panel on attack cards */
|
|
.vanity-roll .vanity-spend {
|
|
margin-top: 6px;
|
|
border: 1.4px solid var(--v-line);
|
|
border-radius: 4px;
|
|
background: #fbf6e9;
|
|
padding: 6px 8px;
|
|
font-size: 12px;
|
|
}
|
|
.vanity-spend .spend-def { display: flex; align-items: center; gap: 7px; }
|
|
.vanity-spend .spend-def .lbl {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9.5px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--v-ink2);
|
|
}
|
|
.vanity-spend .def-btn {
|
|
width: 20px; height: 20px;
|
|
background: var(--v-teal);
|
|
color: #f7f0de;
|
|
border: none; border-radius: 3px;
|
|
font-size: 13px; line-height: 1;
|
|
cursor: pointer; padding: 0;
|
|
}
|
|
.vanity-spend .def-btn:disabled { opacity: 0.35; cursor: default; }
|
|
.vanity-spend .def-n { min-width: 14px; text-align: center; font-size: 14px; }
|
|
.vanity-spend .turned { margin-top: 5px; font-style: italic; color: var(--v-plum); font-weight: 600; }
|
|
.vanity-spend .dmg-line { display: flex; justify-content: space-between; align-items: baseline; margin: 6px 0 4px; }
|
|
.vanity-spend .dmg-line .dmg { font-size: 14px; color: var(--v-teal-d); }
|
|
.vanity-spend .dmg-line .dmg b { font-size: 15px; }
|
|
.vanity-spend .dmg-line .left { font-style: italic; color: var(--v-gold-d); }
|
|
.vanity-spend .spend-buttons { display: flex; flex-wrap: wrap; gap: 4px; }
|
|
.vanity-spend .dmg-row { margin-bottom: 4px; }
|
|
.vanity-spend .man-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
|
|
.vanity-spend .man-grid .spend-btn {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: space-between;
|
|
padding: 3px 7px;
|
|
}
|
|
.vanity-spend .spend-btn {
|
|
background: #fff;
|
|
border: 1.4px solid var(--v-line);
|
|
border-radius: 3px;
|
|
color: var(--v-ink);
|
|
font-family: "EB Garamond", Georgia, serif;
|
|
font-size: 12px;
|
|
line-height: 1.3;
|
|
padding: 2px 7px;
|
|
cursor: pointer;
|
|
width: auto;
|
|
}
|
|
.vanity-spend .spend-btn i {
|
|
font-style: normal;
|
|
font-size: 9px;
|
|
color: var(--v-gold-d);
|
|
margin-left: 4px;
|
|
vertical-align: super;
|
|
}
|
|
.vanity-spend .spend-btn:hover:not(:disabled) { border-color: var(--v-teal); box-shadow: 0 0 4px rgba(20,84,78,.35); }
|
|
.vanity-spend .spend-btn.sel { background: var(--v-teal); color: #f7f0de; border-color: var(--v-teal-d); }
|
|
.vanity-spend .spend-btn.sel i { color: #e0c98a; }
|
|
.vanity-spend .spend-btn:disabled { opacity: 0.35; cursor: default; }
|
|
.vanity-spend .spend-btn.dmg-btn { border-color: var(--v-gold-d); }
|
|
.vanity-spend .prop-hints { margin-top: 4px; font-size: 11.5px; font-style: italic; color: var(--v-ink2); }
|
|
.vanity-spend .prop-hints b { color: var(--v-gold-d); }
|
|
|
|
/* Declared-maneuver descriptions at the foot of the card */
|
|
.vanity-spend .man-desc {
|
|
margin-top: 6px;
|
|
padding-top: 5px;
|
|
border-top: 1px dotted var(--v-line);
|
|
font-size: 12px;
|
|
line-height: 1.45;
|
|
}
|
|
.vanity-spend .man-desc .man-name {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 10px;
|
|
font-weight: 700;
|
|
letter-spacing: 0.08em;
|
|
text-transform: uppercase;
|
|
color: var(--v-teal-d);
|
|
}
|
|
.vanity-spend .man-desc .man-cost {
|
|
margin-left: 6px;
|
|
font-size: 10.5px;
|
|
font-style: italic;
|
|
color: var(--v-gold-d);
|
|
}
|
|
.vanity-spend .man-desc p { margin: 2px 0 0; }
|
|
.vanity-spend .man-desc p b { color: var(--v-teal-d); }
|
|
.vanity-spend .man-desc p i { color: var(--v-ink2); }
|
|
|
|
/* Softer note for unbanked 1s (the GM's free twist) */
|
|
.vanity-outcome .banes.soft { color: var(--v-ink2); font-style: italic; }
|
|
|
|
/* The Tab — bane herald cards & the Twist the Knife button */
|
|
.vanity-tab-note { border-color: #8a1f1f; }
|
|
.vanity-tab-note.bane-bank header { border-bottom-color: #8a1f1f; }
|
|
.vanity-tab-note .vanity-roll-label { color: #8a1f1f; }
|
|
.vanity-tab-note .reck { color: #8a1f1f; letter-spacing: 0.08em; }
|
|
.vanity-roll .vanity-twist {
|
|
background: #8a1f1f;
|
|
color: #f7f0de;
|
|
border: 1px solid #3d0d0d;
|
|
border-radius: 4px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11px;
|
|
letter-spacing: 0.06em;
|
|
padding: 4px 8px;
|
|
cursor: pointer;
|
|
width: 100%;
|
|
}
|
|
.vanity-roll .vanity-twist:hover { background: #6d1717; box-shadow: 0 0 6px rgba(138, 31, 31, 0.6); }
|
|
.vanity-roll .twist-row { margin-top: 6px; }
|
|
.vanity-roll .vanity-twist.free { background: #fdf9ee; color: #8a1f1f; border: 1.4px solid #8a1f1f; }
|
|
.vanity-roll .vanity-twist.free:hover { background: #f6e7e7; box-shadow: 0 0 5px rgba(138, 31, 31, 0.45); }
|
|
.vanity-roll .twist-spent { margin-top: 5px; font-size: 11.5px; font-style: italic; color: #8a1f1f; }
|
|
|
|
/* THE RECKONING button — darker than the knife */
|
|
.vanity-roll .vanity-reckon {
|
|
background: #3d0d0d;
|
|
color: #f2e2b3;
|
|
border: 1.6px solid #8a1f1f;
|
|
border-radius: 4px;
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 11.5px;
|
|
letter-spacing: 0.1em;
|
|
padding: 5px 8px;
|
|
cursor: pointer;
|
|
width: 100%;
|
|
text-transform: uppercase;
|
|
}
|
|
.vanity-roll .vanity-reckon:hover { background: #8a1f1f; box-shadow: 0 0 8px rgba(138, 31, 31, 0.7); }
|
|
|
|
/* ============================================================
|
|
The pause — the world admires itself
|
|
============================================================ */
|
|
|
|
#pause {
|
|
background: none;
|
|
}
|
|
#pause img {
|
|
content: url("../assets/pause-ring.svg");
|
|
width: 160px;
|
|
height: 160px;
|
|
opacity: 1;
|
|
animation: vanity-ring-spin 30s linear infinite;
|
|
filter: drop-shadow(0 0 18px rgba(176, 135, 47, 0.45));
|
|
}
|
|
#pause::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: calc(50% - 80px);
|
|
width: 160px;
|
|
height: 160px;
|
|
background: url("../assets/pause-crown.svg") center / contain no-repeat;
|
|
animation: vanity-crown-breathe 4.5s ease-in-out infinite;
|
|
pointer-events: none;
|
|
}
|
|
#pause figcaption {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 22px;
|
|
letter-spacing: 0.42em;
|
|
text-transform: uppercase;
|
|
color: #e0c98a;
|
|
text-shadow: 0 0 12px rgba(176, 135, 47, 0.65), 0 2px 4px #000;
|
|
animation: vanity-caption-glow 4.5s ease-in-out infinite;
|
|
}
|
|
@keyframes vanity-ring-spin { to { transform: rotate(360deg); } }
|
|
@keyframes vanity-crown-breathe {
|
|
0%, 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(224, 201, 138, 0.35)); }
|
|
50% { transform: scale(1.06); filter: drop-shadow(0 0 16px rgba(224, 201, 138, 0.75)); }
|
|
}
|
|
@keyframes vanity-caption-glow {
|
|
0%, 100% { opacity: 0.82; }
|
|
50% { opacity: 1; }
|
|
}
|
|
|
|
/* Draft 13 sheet buttons */
|
|
.vanity-sheet .v-quickbar .refuse-fall { background: var(--v-plum); }
|
|
.vanity-sheet .v-quickbar .refuse-fall:hover { background: #4d2a44; box-shadow: 0 0 6px rgba(106, 59, 94, 0.6); }
|
|
.vanity-sheet .vice-play {
|
|
width: auto;
|
|
flex: none;
|
|
font-size: 10px;
|
|
padding: 2px 8px;
|
|
background: var(--v-gold-d);
|
|
}
|
|
.vanity-sheet .vice-play:hover { background: var(--v-gold); box-shadow: 0 0 5px rgba(176, 135, 47, 0.6); }
|
|
|
|
/* Spell banner on cast cards */
|
|
.vanity-roll .vanity-spellcard {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
border: 1.4px solid var(--v-teal);
|
|
border-radius: 5px;
|
|
background: #f2ece0;
|
|
padding: 5px 7px;
|
|
margin: 6px 0 2px;
|
|
}
|
|
.vanity-roll .vanity-spellcard.divine { border-color: var(--v-gold-d); }
|
|
.vanity-roll .vanity-spellcard.trick { border-color: #3d6b34; }
|
|
.vanity-roll .vanity-spellcard img {
|
|
width: 42px;
|
|
height: 42px;
|
|
border: 1.5px solid var(--v-gold);
|
|
border-radius: 5px;
|
|
flex: none;
|
|
object-fit: cover;
|
|
}
|
|
.vanity-roll .vanity-spellcard .sc-line {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9.5px;
|
|
letter-spacing: 0.1em;
|
|
text-transform: uppercase;
|
|
color: var(--v-gold-d);
|
|
}
|
|
.vanity-roll .vanity-spellcard .sc-line i { text-transform: none; letter-spacing: normal; color: var(--v-ink2); }
|
|
.vanity-roll .vanity-spellcard .sc-effect { font-size: 13px; line-height: 1.35; }
|
|
.vanity-roll .sc-scaling {
|
|
margin-top: 5px;
|
|
border: 1.4px solid var(--v-gold);
|
|
border-radius: 4px;
|
|
background: #fbf3dd;
|
|
padding: 4px 8px;
|
|
font-size: 12.5px;
|
|
}
|
|
.vanity-roll .sc-scaling b { color: var(--v-gold-d); }
|
|
|
|
/* ============================================================
|
|
Conditions — grouped icon chips + a details panel at the foot
|
|
============================================================ */
|
|
.vanity-sheet .v-cond-foot {
|
|
flex: none;
|
|
margin: 12px 2px 0;
|
|
padding-top: 8px;
|
|
border-top: 1.5px dotted var(--v-line);
|
|
}
|
|
.vanity-sheet .v-cond-title {
|
|
font-family: "Cinzel", Georgia, serif;
|
|
font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase;
|
|
color: var(--v-ink2); margin-bottom: 7px;
|
|
}
|
|
/* An even grid: every condition is an equal-sized tile, aligned in tidy rows. */
|
|
.vanity-sheet .v-conditions {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
|
|
gap: 6px;
|
|
}
|
|
.vanity-sheet .cond-badge {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: 4px;
|
|
padding: 7px 4px 6px;
|
|
border: 1.4px solid var(--v-line);
|
|
border-radius: 8px;
|
|
background: var(--v-paper2);
|
|
cursor: pointer;
|
|
opacity: 0.6;
|
|
text-align: center;
|
|
transition: opacity 0.12s, background 0.12s, box-shadow 0.12s, border-color 0.12s;
|
|
}
|
|
.vanity-sheet .cond-badge img {
|
|
width: 34px; height: 34px; flex: none;
|
|
filter: grayscale(0.6);
|
|
transition: filter 0.12s;
|
|
}
|
|
.vanity-sheet .cond-badge .cond-name {
|
|
font-size: 10.5px; line-height: 1.15; color: var(--v-ink2);
|
|
}
|
|
.vanity-sheet .cond-badge:hover { opacity: 0.92; background: rgba(176,135,47,0.10); }
|
|
.vanity-sheet .cond-badge.on {
|
|
opacity: 1;
|
|
background: #fff;
|
|
border-color: var(--cc, var(--v-gold));
|
|
box-shadow: 0 0 6px var(--ccg, rgba(176,135,47,.45));
|
|
}
|
|
.vanity-sheet .cond-badge.on img { filter: none; }
|
|
.vanity-sheet .cond-badge.on .cond-name { color: var(--v-ink); font-weight: 600; }
|
|
.vanity-sheet .cond-badge.combat { --cc:#8a2f2f; --ccg:rgba(138,47,47,.5); }
|
|
.vanity-sheet .cond-badge.spell { --cc:var(--v-teal); --ccg:rgba(20,84,78,.5); }
|
|
.vanity-sheet .cond-badge.state { --cc:var(--v-plum); --ccg:rgba(106,59,94,.5); }
|
|
|
|
.vanity-sheet .v-cond-detail {
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: flex-start;
|
|
margin: 8px 2px 0;
|
|
padding: 8px 10px;
|
|
border: 1.5px solid var(--cc, var(--v-gold));
|
|
border-left-width: 5px;
|
|
border-radius: 5px;
|
|
background: var(--v-paper2);
|
|
}
|
|
.vanity-sheet .v-cond-detail.combat { --cc:#8a2f2f; }
|
|
.vanity-sheet .v-cond-detail.spell { --cc:var(--v-teal); }
|
|
.vanity-sheet .v-cond-detail.state { --cc:var(--v-plum); }
|
|
.vanity-sheet .v-cond-detail img { width: 40px; height: 40px; flex: none; }
|
|
.vanity-sheet .v-cond-detail .cd-head { display: flex; align-items: baseline; gap: 8px; }
|
|
.vanity-sheet .v-cond-detail .cd-name { font-family: "Cinzel", Georgia, serif; font-size: 14px; font-weight: 700; color: var(--cc); }
|
|
.vanity-sheet .v-cond-detail .cd-state {
|
|
font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v-ink2);
|
|
border: 1px solid var(--v-line); border-radius: 8px; padding: 0 6px;
|
|
}
|
|
.vanity-sheet .v-cond-detail .cd-state.on { color: #fff; background: var(--cc); border-color: var(--cc); }
|
|
.vanity-sheet .v-cond-detail .cd-rules { font-size: 13px; line-height: 1.4; margin: 3px 0; }
|
|
.vanity-sheet .v-cond-detail .cd-ends { font-size: 12px; color: var(--v-ink2); font-style: italic; }
|
|
.vanity-sheet .v-cond-detail .cd-ends b { font-style: normal; color: var(--cc); }
|
|
.vanity-sheet .v-cond-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 2px 0; font-size: 12px; }
|
|
.vanity-sheet .v-cond-active .ca-title {
|
|
font-family: "Cinzel", Georgia, serif; font-size: 9px; letter-spacing: 0.14em;
|
|
text-transform: uppercase; color: var(--v-ink2);
|
|
}
|
|
.vanity-sheet .v-cond-active .cond-read { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
|
|
.vanity-sheet .v-cond-active .cond-read.combat { color: #8a2f2f; }
|
|
.vanity-sheet .v-cond-active .cond-read.spell { color: var(--v-teal-d); }
|
|
.vanity-sheet .v-cond-active .cond-read.state { color: var(--v-plum); }
|
|
|
|
/* Rich-text editors on sheets — no raw HTML markers in player text */
|
|
.vanity-sheet .editor { min-height: 90px; position: relative; }
|
|
.vanity-sheet .editor-content,
|
|
.vanity-sheet .editor .journal-entry-content {
|
|
min-height: 84px;
|
|
padding: 6px 8px;
|
|
border: 1.4px solid var(--v-fieldline);
|
|
border-radius: 4px;
|
|
background: var(--v-paper2);
|
|
color: var(--v-ink);
|
|
font-family: "EB Garamond", Georgia, serif;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
.vanity-sheet .editor-content p { margin: 0 0 6px; }
|
|
.vanity-sheet .editor-content:focus { outline: none; border-color: var(--v-teal); }
|
|
.vanity-sheet .editor a.editor-edit {
|
|
background: var(--v-teal);
|
|
color: var(--v-paper);
|
|
border-radius: 3px;
|
|
}
|
|
.vanity-sheet .editor .ProseMirror { color: var(--v-ink); min-height: 80px; }
|
|
.vanity-sheet prose-mirror { display: block; min-height: 90px; }
|