
/* Adventurer's Journal 2.0 — character-sheet visual foundation.
   Scoped to saved character documents; no save/edition/character logic here. */
.vault-entry-character{max-width:1180px}
.vault-entry-character .vault-entry-heading{grid-template-columns:1fr;gap:0;padding:23px clamp(19px,3vw,36px);background:linear-gradient(115deg,#fffaf2 0%,#f3e9dc 100%)}
.vault-entry-character .vault-entry-art{display:none}
.vault-entry-character .vault-entry-meta{margin-bottom:9px;gap:10px}
.vault-entry-character .vault-entry-copy h1{font-size:clamp(32px,3.6vw,46px);margin-bottom:3px}
.vault-entry-character .vault-entry-copy{min-width:0}
.vault-entry-character .vault-hero-actions{margin-top:12px}
.vault-entry-character .vault-entry-date{font-size:11px}
.vault-entry-character .vault-character-subtitle{margin:3px 0;color:#6c6258;font-size:12px;line-height:1.5}
.vault-entry-character .vault-entry-body.vault-reading{padding:22px clamp(15px,3vw,36px) 36px}
.character-document .reader-tabs{margin-bottom:17px;padding:0 0 12px}
.character-document .reader-tabs button{font-weight:700;font-size:12px;padding:10px 17px}
.character-document [data-reader-panel="sheet"]>h2{display:none}
.character-document .cs-fields{padding:0;margin:0;border:0;min-width:0}
.character-document .cs-kicker{font-size:9px;font-weight:800;letter-spacing:1.85px;text-transform:uppercase;color:var(--burgundy)}
.character-document .cs-profile-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:19px 22px;background:var(--night);color:#fff6e6;border:1px solid #344a53;border-radius:10px 10px 0 0}
.character-document .cs-profile-copy{min-width:0;flex:1}
.character-document .cs-profile-copy .cs-kicker{color:#e5c58f}
.character-document .cs-profile-copy h2{font:var(--cdm-display-weight) clamp(24px,3vw,31px)/1.1 var(--cdm-display-font);color:#fff4df;margin:4px 0 7px}
.character-document .cs-profile-copy p{color:#d5d4cc;font-size:12px;line-height:1.6;margin:0}
.character-document .cs-profile-copy .cs-dot{color:#d1ad73;font-size:9px;padding:0 4px}
.character-document .cs-profile-fields{display:grid;grid-template-columns:74px 105px minmax(120px,1fr);gap:9px;flex:0 1 375px;align-items:end}
.character-document .cs-profile-fields .cs-field>span{color:#eddbc2;font-size:10px}
.character-document .cs-profile-fields .cs-field input{height:39px;min-height:39px;background:#fffaf1;border-color:#b99d74;color:#26353c;font-weight:700}
.character-document .cs-progression-notice{font-size:11px;line-height:1.6;color:#7f6f5d;border-left:2px solid #d2b788;padding:8px 12px;background:#f8f0e3;margin:9px 0 13px}
.character-document .cs-quick-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fcf8f1;border:1px solid #ded0bb;border-top:0;border-radius:0 0 10px 10px;overflow:hidden;margin-bottom:20px;min-width:0}
.character-document .cs-quick-stat{display:flex;flex-direction:column;min-width:0;align-items:center;justify-content:center;gap:2px;text-align:center;padding:15px 7px;border-right:1px solid #e5d9c8}
.character-document .cs-quick-stat:last-child{border-right:0}
.character-document .cs-quick-label{text-transform:uppercase;letter-spacing:1.1px;font-size:9px;font-weight:800;color:#7a6957}
.character-document .cs-quick-stat strong{font:var(--cdm-display-weight) clamp(21px,2.4vw,30px)/1.15 var(--cdm-display-font);letter-spacing:-.8px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.character-document .cs-quick-ac strong{color:var(--burgundy)}
.character-document .cs-quick-hp strong{color:#38615c}
.character-document .cs-quick-hint{font-size:10px;color:#857769;line-height:1.35}
.character-document .cs-section-heading{display:flex;justify-content:space-between;align-items:end;gap:13px;margin:0 0 10px}
.character-document .cs-section-heading h3{font:var(--cdm-display-weight) clamp(23px,2.7vw,29px)/1.1 var(--cdm-display-font);color:var(--ink);margin:3px 0 0}
.character-document .cs-section-heading p{color:#7c7064;font-size:11px;margin:0;text-align:right}
.character-document .cs-abilities{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:21px}
.character-document .cs-abilities>.cs-ability-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;text-align:center;border:1px solid #d9c9b4;border-radius:9px;background:linear-gradient(180deg,#fefbf4,#f2e7d6);padding:11px 9px 10px;box-shadow:0 2px 6px rgba(72,49,26,.035)}
.character-document .cs-ability-name{color:#625344;font-size:10px;letter-spacing:.35px;font-weight:800}
.character-document .cs-abilities strong.cs-ability-mod{display:block;color:var(--burgundy);font:700 28px/1.12 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;padding:0;margin:4px 0}
.character-document .cs-ability-card .cs-field{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:6px;margin-top:2px}
.character-document .cs-ability-card .cs-field>span{font-size:10px;font-weight:600;color:#7a6d5e}
.character-document .cs-ability-card .cs-field input{width:48px;min-width:0;max-width:48px;height:31px;min-height:31px;text-align:center;font-size:14px;font-weight:700;padding:3px 2px;background:#fffdf8;border-color:#cfc0aa;font-variant-numeric:tabular-nums}
.character-document .cs-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:13px;align-items:start}
.character-document .cs-dashboard-main{display:grid;gap:13px;min-width:0}
.character-document .cs-card{border-color:#decfba;background:#fffbf4;border-radius:9px;padding:17px 18px}
.character-document .cs-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.character-document .cs-section-head h3{font:var(--cdm-display-weight) 27px/1.12 var(--cdm-display-font);color:#263b42;margin:2px 0 0}
.character-document .cs-section-tag{font-size:10px;line-height:1.5;color:#6b604f;border:1px solid #dfd2be;background:#f5ecdf;border-radius:40px;padding:4px 9px;white-space:nowrap}
.character-document .cs-combat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.character-document .cs-combat .cs-field>span{font-size:11px;color:#625849}
.character-document .cs-combat .cs-field input{height:42px;min-height:42px;background:#fffdf8;font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}
.character-document .cs-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;border-top:1px solid #e4d9c9;padding-top:14px;margin-top:15px;color:#766a5c;font-size:11px}
.character-document .cs-secondary span{display:flex;justify-content:space-between;gap:10px}
.character-document .cs-secondary strong{color:#283f45;font-variant-numeric:tabular-nums}
.character-document .cs-help-text{font-size:11px;line-height:1.65;color:#857769;margin:12px 0 0}
.character-document .cs-training-card{min-width:0}
.character-document .cs-training-groups{display:grid;gap:14px}
.character-document .cs-training-card h4{font:var(--cdm-display-weight) 18px/1.35 var(--cdm-display-font);text-transform:none;letter-spacing:normal;color:#856743;border-bottom:1px solid #e8dccb;padding-bottom:7px;margin:0 0 8px}
.character-document .cs-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px}
.character-document .cs-check{display:grid;grid-template-columns:17px 33px minmax(0,1fr);align-items:center;min-height:31px;gap:6px;font-size:11px;color:#504c43;padding:3px 0;min-width:0}
.character-document .cs-check input{accent-color:var(--burgundy);width:16px;height:16px}
.character-document .cs-check strong{font:var(--cdm-display-weight) 17px/1.1 var(--cdm-display-font);color:#284b4c;background:#ede7dc;border-radius:4px;padding:5px 1px;text-align:center}
.character-document .cs-check span{min-width:0;font:var(--cdm-display-weight) 15px/1.35 var(--cdm-display-font);overflow-wrap:anywhere}
.character-document .cs-check:has(input:checked) strong{background:#e2d3b9;color:#64452f}
.character-document .cs-armor .cs-section-head{margin-bottom:9px}
.character-document .cs-armor .cs-section-head h3{font-size:25px}
.character-document .cs-armor .cs-ac-formula{border:1px solid #e3d5bf;background:#f7f0e5;padding:13px;border-radius:7px}
.character-document .cs-armor .cs-ac-formula>strong{font-size:23px}
.character-document .cs-armor .cs-inventory-row{gap:9px;padding:10px 0}
.character-document .cs-armor .cs-inventory-row>div:last-child{flex-wrap:wrap;justify-content:flex-end}
.character-document .cs-armor .cs-details{background:transparent}
.character-document .cs-gear-heading{margin-top:22px}
.character-document .cs-general-inventory{margin-top:0}
.character-document .cs-general-inventory .cs-section-head h3{font-size:24px}
.character-document .cs-weapon-grid{gap:9px}
.character-document .cs-weapon-grid article{background:#f8f0e4}
.character-document .cs-sheet-lower{display:grid;gap:10px;margin-top:14px}
.character-document .cs-sheet-lower .cs-details{margin:0;background:#fffbf4;border:1px solid #ded0bd;border-radius:8px;padding:0}
.character-document .cs-sheet-lower .cs-details summary{padding:15px 18px;font:700 13px/1.35 'DM Sans',sans-serif;color:#3c4542;list-style:none;cursor:pointer}
.character-document .cs-sheet-lower .cs-details summary::-webkit-details-marker{display:none}
.character-document .cs-sheet-lower .cs-details summary:before{content:'+';display:inline-block;width:18px;font-size:18px;color:var(--burgundy)}
.character-document .cs-sheet-lower .cs-details[open] summary:before{content:'−'}
.character-document .cs-sheet-lower .cs-details summary span{display:block;font-size:11px;color:#87796a;font-weight:400;margin:3px 0 0 18px}
.character-document .cs-sheet-lower .cs-details[open] summary{border-bottom:1px solid #e6d9c7;margin:0}
.character-document .cs-sheet-lower .cs-notes,.character-document .cs-sheet-lower .cs-personality-grid{padding:17px}
.character-document .cs-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:0}
.character-document .cs-notes textarea{min-height:95px;background:#fffdfa;font-size:13px}
.character-document .cs-savebar{position:sticky;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:13px;background:var(--night);border:1px solid #43555a;border-radius:9px;padding:12px 14px;margin-top:19px;box-shadow:0 12px 35px #13232e35;color:#f8ead5}
.character-document .cs-savebar-state{display:flex;align-items:center;gap:11px;min-width:0}
.character-document .cs-savebar-mark{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;color:#e3c085;border:1px solid #c09c684a;border-radius:50%;font-size:16px}
.character-document .cs-savebar-state strong{display:block;font-size:12px;line-height:1.3;color:#fff5e4}
.character-document .cs-savebar-state p{font-size:10px;line-height:1.5;color:#ced0cc;margin:3px 0 0}
.character-document.cs-has-changes .cs-savebar-mark{background:#73503a;border-color:#d5ae73}
.character-document .cs-savebar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:0}
.character-document .cs-savebar-actions .btn{min-height:36px;padding:8px 13px;font-size:11px}
.character-document .cs-savebar-actions .btn-outline{background:transparent;color:#f5e6cf;border:1px solid #77817e}
.character-document .cs-savebar-actions .btn-outline:hover{background:#ffffff18}
.character-document .cs-savebar-actions .btn-primary{background:#c5a069;color:#182b32;border-color:#d1b480}
.character-document .cs-savebar-actions .btn-primary:hover{background:#e0ba7e}
@media(max-width:1180px){
 .character-document .cs-profile-panel{align-items:start;flex-direction:column}
 .character-document .cs-profile-fields{width:100%;flex:auto;grid-template-columns:80px 115px minmax(120px,1fr)}
 .character-document .cs-dashboard-grid{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-dashboard-main{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:830px){
 .character-document .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-quick-stat{border-bottom:1px solid #e5d9c8}
 .character-document .cs-quick-stat:nth-child(3){border-right:0}
 .character-document .cs-quick-stat:nth-child(n+4){border-bottom:0}
 .character-document .cs-dashboard-main{grid-template-columns:1fr}
 .character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:590px){
 .vault-entry-character .vault-entry-heading{padding:19px 17px}
 .vault-entry-character .vault-entry-body.vault-reading{padding:17px 12px 27px}
 .character-document .cs-profile-panel{padding:16px}
 .character-document .cs-profile-fields{grid-template-columns:80px 100px minmax(0,1fr)}
 .character-document .cs-profile-fields .cs-field input{font-size:13px;padding:5px}
 .character-document .cs-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-quick-stat:nth-child(3){border-right:1px solid #e5d9c8}
 .character-document .cs-quick-stat:nth-child(even){border-right:0}
 .character-document .cs-quick-stat:nth-child(4){border-bottom:1px solid #e5d9c8}
 .character-document .cs-quick-stat:last-child{grid-column:1/-1;border-right:0}
 .character-document .cs-abilities{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-abilities>.cs-ability-card{padding:9px 5px}
 .character-document .cs-card{padding:13px}
 .character-document .cs-combat{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-check-grid,.character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-notes{grid-template-columns:1fr}
 .character-document .cs-section-heading{align-items:start;flex-direction:column}
 .character-document .cs-section-heading p{text-align:left}
 .character-document .cs-savebar{bottom:0;margin:15px -4px 0;border-radius:8px;flex-direction:column;align-items:stretch;padding:10px}
 .character-document .cs-savebar-actions{justify-content:stretch}
 .character-document .cs-savebar-actions .btn{flex:1 1 130px;white-space:normal}
}
@media(max-width:375px){
 .character-document .cs-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-profile-fields .cs-field:last-child{grid-column:1/-1}
 .character-document .cs-quick-stat strong{font-size:21px}
 .character-document .cs-abilities strong.cs-ability-mod{font-size:23px}
 .character-document .cs-check{grid-template-columns:16px 29px minmax(0,1fr);gap:4px}
 .character-document .cs-check span{font-size:14px}
 .character-document .cs-check strong{font-size:16px}
}
@media print{
 .character-document .cs-savebar{display:none}
}

/* Play Mode 2.1: fast table actions with optional detailed edit view */
.character-document .cs-sheet-display-tools{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.character-document .cs-toggle-group{display:flex;align-items:center;border:1px solid #dbccba;border-radius:7px;background:#f1e7da;padding:3px;gap:2px}
.character-document .cs-toggle-group button{border:0;background:transparent;border-radius:5px;color:#675d53;font:700 10px/1.25 'DM Sans',sans-serif;cursor:pointer;padding:7px 9px;white-space:nowrap}
.character-document .cs-toggle-group button[aria-pressed="true"]{color:#fff8ee;background:var(--night);box-shadow:0 1px 3px #2b33331a}
.character-document .cs-toggle-group button:hover:not([aria-pressed="true"]){color:var(--burgundy);background:#fff8ee}
.character-document .cs-quick-stat button.cs-quick-roll{border:0;background:transparent;color:var(--burgundy);font:var(--cdm-display-weight) clamp(21px,2.4vw,30px)/1.15 var(--cdm-display-font);cursor:pointer;letter-spacing:-.8px;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:5px;white-space:nowrap}
.character-document .cs-quick-stat button.cs-quick-roll:hover{background:#e9dcca}
.character-document .cs-ability-card button.cs-ability-mod{order:2;align-self:center;display:block;color:var(--burgundy);border:0;border-radius:7px;background:transparent;font:700 28px/1.12 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;padding:3px 9px;margin:3px 0;cursor:pointer}
.character-document .cs-ability-card button.cs-ability-mod:hover{background:#e7d7c3}
.character-document .cs-ability-card .cs-ability-name{order:1}
.character-document .cs-ability-base{order:3;display:flex;justify-content:center;align-items:center;gap:6px;min-height:30px}
.character-document .cs-ability-base>span{font:600 10px/1.2 'DM Sans',sans-serif;color:#7a6d5e}
.character-document .cs-ability-base>strong{font:700 14px/1 'DM Sans',sans-serif;color:#26353c;font-variant-numeric:tabular-nums}
.character-document .cs-ability-base .cs-field{margin:0;min-height:0}
.character-document .cs-ability-base .cs-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-ability-base .cs-field{display:none}
.character-document .cs-sheet-v2[data-sheet-view="edit"] .cs-ability-base>strong{display:none}
.character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-base{order:2;margin:3px 0}
.character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-base>strong{font-family:var(--cdm-display-font);font-weight:var(--cdm-display-weight);font-size:28px;color:var(--burgundy)}
.character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-base>span{display:none}
.character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-base .cs-field input{width:68px;max-width:68px;height:40px;min-height:40px;font-size:22px}
.character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-card button.cs-ability-mod{order:3;font-size:15px;font-weight:600;margin:0}
.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-profile-fields,.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-combat{display:none}
.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-combat-card .cs-section-tag{display:none}
.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-progression-notice{display:none}
.character-document .cs-sheet-v2[data-sheet-view="play"] .cs-profile-panel{padding:15px 20px}
.character-document .cs-quick-stats .cs-quick-initiative .cs-quick-hint:after{content:' · click to roll'}
.character-document .cs-roll-tray{border:1px solid #ded0bd;border-radius:9px;background:#f9f1e6;padding:13px 17px;margin:0 0 18px}
.character-document .cs-roll-tray-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.character-document .cs-roll-tray-head p{font:400 11px/1.5 'DM Sans',sans-serif;color:#6f6254;margin:3px 0 0}
.character-document .cs-roll-tray .cs-toggle-group{background:#fffaf2}
.character-document .cs-roll-results{display:grid;gap:6px;margin-top:11px}
.character-document .cs-roll-results .cs-roll-placeholder{font-size:11px;color:#8a7a6a;margin:0}
.character-document .cs-roll-result{display:grid;grid-template-columns:minmax(125px,0.8fr) minmax(0,2fr) 58px;gap:10px;align-items:center;border-top:1px solid #e5d8c7;padding:8px 0 2px;color:var(--ink)}
.character-document .cs-roll-result>strong{font-size:11px}
.character-document .cs-roll-result>span{font-size:10px;color:#7e7060;overflow-wrap:anywhere;line-height:1.5}
.character-document .cs-roll-result>b{font:700 24px/1.15 'DM Sans',sans-serif;color:var(--burgundy);text-align:right;font-variant-numeric:tabular-nums}
.character-document .cs-roll-number{border:0;padding:0;background:transparent;border-radius:5px;cursor:pointer;display:grid;place-items:center;width:33px}
.character-document .cs-roll-number:hover{background:#e6d7bf}
.character-document .cs-check .cs-roll-number strong{display:block;width:100%}
.character-document .cs-saves-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.character-document .cs-saves-header h4{flex:1;margin:0}
.character-document .cs-class-saves{font-size:10px;font-weight:700;color:var(--burgundy);background:#f2e5d5;border:1px solid #d2bea7;border-radius:5px;padding:6px 8px;cursor:pointer}
.character-document .cs-class-saves:hover{background:#e8d3b9}
.character-document .cs-hp-play-panel{margin-top:12px;border-top:1px solid #e5d9c8;padding-top:13px}
.character-document .cs-hp-play-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#3a4e52}
.character-document .cs-hp-play-head span{color:#736553;font-size:11px}
.character-document .cs-hp-play-head b{font-variant-numeric:tabular-nums;color:var(--burgundy)}
.character-document .cs-hp-play-actions{display:flex;align-items:end;gap:6px;flex-wrap:wrap;margin:10px 0 0}
.character-document .cs-hp-play-actions label{display:grid;gap:4px;max-width:85px;font-size:10px;font-weight:700;color:#726151}
.character-document .cs-hp-play-actions input{width:76px;min-width:0;min-height:36px;height:36px;padding:6px;border:1px solid #cbb99e;border-radius:5px;background:#fffdf8;color:var(--ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.character-document .cs-hp-play-actions .btn{font-size:11px;min-height:36px;border-radius:5px;padding:7px 10px;white-space:normal}
.character-document .cs-hp-play-actions .cs-hp-damage{background:#803d42;color:#fff7f1}
.character-document .cs-hp-play-actions .cs-hp-heal{background:#315c4c;color:#fffaf0}
.character-document .cs-hp-play-actions .cs-hp-temp,.character-document .cs-hp-play-actions .cs-hp-full{background:#f5e9da;border:1px solid #d9c6ad;color:#574735}
.character-document .cs-death-saves{margin-top:15px;padding:12px;background:#f7eee4;border:1px solid #e6d6c4;border-radius:7px}
.character-document .cs-death-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#543b3b}
.character-document .cs-death-title span{font-size:10px;color:#887366}
.character-document .cs-death-track{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.character-document .cs-death-track span{font-size:11px;color:#61544b;font-weight:600;margin-right:2px}
.character-document .cs-death-track b{color:var(--burgundy);font-variant-numeric:tabular-nums}
.character-document .cs-death-track button{border:1px solid #d5bfa9;color:#693f3b;background:#fffaf3;border-radius:5px;min-height:31px;padding:5px 8px;font-size:11px;font-weight:700;cursor:pointer}
.character-document .cs-death-track button:hover{background:#efddca}
.character-document .cs-death-track .cs-death-reset{color:#536366}
.character-document .cs-death-saves .cs-help-text{margin:8px 0 0}
@media(max-width:830px){
 .character-document .cs-sheet-display-tools{justify-content:flex-start}
 .character-document .cs-roll-result{grid-template-columns:minmax(85px,1fr) minmax(0,2fr) 40px}
}
@media(max-width:590px){
 .character-document .cs-ability-heading{gap:10px}
 .character-document .cs-sheet-display-tools{justify-content:flex-start;width:100%}
 .character-document .cs-toggle-group button{font-size:10px;white-space:normal}
 .character-document .cs-roll-tray{padding:12px}
 .character-document .cs-roll-tray-head{align-items:stretch}
 .character-document .cs-hp-play-actions .btn{flex:1 1 100px}
 .character-document .cs-roll-result{grid-template-columns:minmax(0,1fr) 44px;gap:6px}
 .character-document .cs-roll-result>strong{grid-column:1;grid-row:1}
 .character-document .cs-roll-result>span{grid-column:1;grid-row:2}
 .character-document .cs-roll-result>b{grid-column:2;grid-row:1/3}
 .character-document .cs-ability-card button.cs-ability-mod{font-size:24px}
 .character-document .cs-sheet-v2[data-score-first="true"] .cs-ability-base>strong{font-size:24px}
 .character-document .cs-death-track{gap:5px}
}


.character-create-section h3{font:var(--cdm-display-weight) 24px/1.15 var(--cdm-display-font);color:#354348;margin:20px 0 9px}
/* Adventurer's Journal 2.3 — readable feature summaries; edit only on demand. */
.character-document .cs-options-section{margin-top:22px}
.character-document .cs-options-list{display:grid;gap:8px}
.character-document .cs-option-row{min-width:0;background:#fffaf4;border:1px solid #ddcebb;border-radius:9px;overflow:hidden}
.character-document .cs-option-row[open]{border-color:#c6ae91;box-shadow:0 4px 12px #62462d0c}
.character-document .cs-option-summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(160px,.9fr) minmax(150px,1.2fr) auto;gap:13px;align-items:center;min-height:64px;padding:12px 17px}
.character-document .cs-option-summary::-webkit-details-marker{display:none}
.character-document .cs-option-summary:hover{background:#f9f0e5}
.character-document .cs-option-summary:focus-visible{outline:3px solid #b88b51;outline-offset:-3px}
.character-document .cs-option-row[open] .cs-option-summary{background:#f8efe3;border-bottom:1px solid #e5d4bf}
.character-document .cs-option-identity{display:grid;gap:4px;min-width:0}
.character-document .cs-option-heading{font:800 9px/1.3 'DM Sans',sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:#915148}
.character-document .cs-option-value{font:var(--cdm-display-weight) clamp(19px,2vw,23px)/1.15 var(--cdm-display-font);color:#263d44;overflow-wrap:anywhere}
.character-document .cs-option-context{font:500 11px/1.5 'DM Sans',sans-serif;color:#756958;overflow-wrap:anywhere}
.character-document .cs-option-meta{font-weight:500;color:#6a6257}
.character-document .cs-option-edit{justify-self:end;color:var(--burgundy);font:700 11px 'DM Sans',sans-serif;border:1px solid #dfc9b3;background:#f5eadc;border-radius:6px;white-space:nowrap;padding:8px 11px}
.character-document .cs-option-edit span{margin-left:5px;display:inline-block;transition:transform .15s}
.character-document .cs-option-row[open] .cs-option-edit span{transform:rotate(180deg)}
.character-document .cs-option-editor{padding:16px 19px 19px}
.character-document .cs-opt-form-line{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:8px 0}
.character-document .cs-opt-input{display:grid;flex:1 1 230px;min-width:0;gap:7px;color:#5c5247;font:700 11px/1.35 'DM Sans',sans-serif}
.character-document .cs-opt-input small{font-weight:400;color:#817364}
.character-document .cs-opt-input select,.character-document .cs-opt-input input{box-sizing:border-box;width:100%;min-width:0;min-height:41px;background:#fffdf8;border:1px solid #d3bfaa;border-radius:6px;color:#304247;font:500 12px 'DM Sans',sans-serif;padding:9px 11px}
.character-document .cs-opt-input :is(input,select):focus-visible{outline:2px solid #ad8054;outline-offset:1px}
.character-document .cs-opt-action{min-height:41px;padding:10px 14px;font-size:11px;white-space:nowrap}
.character-document .cs-opt-benefits{display:flex;gap:7px 20px;flex-wrap:wrap;align-items:center;margin:13px 0;padding:10px 13px;background:#f1ede5;border-left:3px solid #83a49b;color:#3c5d57;font:500 11px/1.6 'DM Sans',sans-serif}
.character-document .cs-opt-benefits strong{font-weight:800}
.character-document .cs-opt-tool{max-width:460px;margin:12px 0}
.character-document .cs-option-help{color:#827668;font:400 11px/1.65 'DM Sans',sans-serif;margin:9px 0 0;max-width:850px}
.character-document .cs-opt-items{display:grid;gap:7px;margin-bottom:13px}
.character-document .cs-opt-item{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:start;background:#f8f0e6;border:1px solid #e5d7c7;padding:10px 13px;border-radius:7px}
.character-document .cs-opt-item-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0;flex:1 1 190px}
.character-document .cs-opt-item-main strong{font:700 12px 'DM Sans',sans-serif;color:#385051}
.character-document .cs-opt-item-main>a{color:var(--burgundy);font:700 10px 'DM Sans',sans-serif}
.character-document .cs-opt-item-main .cs-option-meta{border-radius:20px;background:#e9ddca;padding:4px 7px;font-size:10px}
.character-document .cs-opt-remove{font-size:10px;padding:6px 10px}
.character-document .cs-opt-feat-detail{flex-basis:100%;width:100%;color:#68584c;font:500 11px/1.5 'DM Sans',sans-serif}
.character-document .cs-opt-feat-detail summary{cursor:pointer;color:#794342;font-weight:700}
.character-document .cs-opt-feat-detail p{margin:8px 0}
.character-document .cs-opt-feat-detail label{margin-top:8px}
.character-document .cs-opt-custom-style{display:flex;gap:9px;align-items:end;max-width:650px;flex-wrap:wrap;margin:13px 0}
.character-document .cs-opt-custom-style[hidden],.character-document .cs-opt-custom-feat[hidden]{display:none!important}
.character-document .cs-opt-custom-feat{max-width:500px;margin:10px 0}
.character-document .cs-option-error{color:#8b3036;font:700 11px/1.5 'DM Sans',sans-serif;margin:10px 0 0}
.character-document .cs-option-error[hidden]{display:none}
.character-document .cs-mastery-tip{font:500 11px/1.5 'DM Sans',sans-serif;margin:9px 0}
.character-document .cs-mastery-tip summary{cursor:pointer;font-weight:700}
.character-document .cs-mastery-tip p{padding:8px 11px;background:#f5ebdb;border-radius:6px;margin:5px 0}
@media(max-width:770px){
 .character-document .cs-option-summary{grid-template-columns:minmax(120px,1fr) minmax(135px,1.2fr) auto;padding:12px;gap:8px}
 .character-document .cs-option-edit{padding:7px 9px}
}
@media(max-width:590px){
 .character-document .cs-option-summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;min-height:58px}
 .character-document .cs-option-context{grid-column:1/-1;grid-row:2;font-size:10px}
 .character-document .cs-option-edit{grid-column:2;grid-row:1}
 .character-document .cs-option-editor{padding:12px}
 .character-document .cs-opt-form-line .cs-opt-input{flex:1 1 100%}
 .character-document .cs-opt-form-line .cs-opt-action{width:100%}
 .character-document .cs-opt-benefits{gap:7px 13px;padding:10px}
 .character-document .cs-opt-custom-style .cs-opt-action{width:100%}
}


/* Table-first sheet overhaul: character features form a reference sidebar,
   while combat, skills, loadout and the journal remain in the play column. */
.character-document .cs-workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.39fr);gap:18px;align-items:start;min-width:0}
.character-document .cs-workspace-main,.character-document .cs-character-sidebar{min-width:0}
.character-document .cs-dashboard-grid{grid-template-columns:minmax(0,1fr);gap:13px}
.character-document .cs-dashboard-main{grid-template-columns:minmax(0,1fr)}
.character-document .cs-combat-card .cs-quick-stats{border:1px solid #ded0bb;border-radius:8px;margin-bottom:14px;grid-template-columns:repeat(5,minmax(0,1fr))}
.character-document .cs-combat-card .cs-quick-stat{padding:12px 5px}
.character-document .cs-combat-card .cs-quick-stat:last-child{border-right:0}
.character-document .cs-combat-card .cs-quick-stat strong{font-size:clamp(19px,2vw,28px)}
.character-document .cs-attack-summary{border-top:1px solid #e4d9c9;margin-top:15px;padding-top:12px;display:grid;gap:8px}
.character-document .cs-attack-summary>strong{font-size:12px;color:#3a4e52}
.character-document .cs-attack-list{display:flex;flex-wrap:wrap;gap:7px}
.character-document .cs-attack-list>span{background:#f4e9da;border:1px solid #dfcfbb;padding:7px 10px;border-radius:6px;font:500 11px/1.5 'DM Sans',sans-serif;color:#625444}
.character-document .cs-attack-list b{color:#763d40}
.character-document details.cs-death-saves{margin-top:14px;padding:0;background:#fbf6ef;border:1px solid #e3d5c6}
.character-document details.cs-death-saves>.cs-death-title{list-style:none;cursor:pointer;padding:10px 12px}
.character-document details.cs-death-saves>.cs-death-title::-webkit-details-marker{display:none}
.character-document details.cs-death-saves>.cs-death-title:after{content:'⌄';color:#844b46;font-size:17px}
.character-document details.cs-death-saves[open]>.cs-death-title:after{transform:rotate(180deg)}
.character-document details.cs-death-saves>.cs-death-track{padding:0 12px 12px}
.character-document details.cs-death-saves>.cs-help-text{padding:0 12px 12px;margin:0}
.character-document .cs-gear-heading{margin-top:20px;align-items:center}
.character-document .cs-gear-heading .cs-add-equipment{white-space:nowrap;font-size:12px}
.character-document .cs-loadout-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.character-document .cs-loadout-grid .cs-armor,.character-document .cs-loadout-grid .cs-general-inventory{margin:0}
.character-document .cs-loadout-grid .cs-section-head{align-items:center;flex-wrap:wrap}
.character-document .cs-general-inventory .cs-section-head{margin-bottom:10px}
.character-document .cs-inventory-groups{display:grid;gap:14px;margin-top:13px}
.character-document .cs-inventory-group h4{font:var(--cdm-display-weight) 19px/1.2 var(--cdm-display-font);color:#70543c;margin:0 0 8px}
.character-document .cs-inventory-group h4 small{font:700 10px/1 'DM Sans',sans-serif;background:#efe4d6;color:#635140;border-radius:20px;padding:3px 7px;vertical-align:middle}
.character-document .cs-inventory-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:9px}
.character-document .cs-inventory-item{min-width:0;border:1px solid #dfd0bb;border-radius:8px;padding:12px;background:#fdf7ee;display:flex;flex-direction:column;gap:7px}
.character-document .cs-inventory-item-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.character-document .cs-inventory-item-head strong{font:var(--cdm-display-weight) 19px/1.2 var(--cdm-display-font);color:#30484b;overflow-wrap:anywhere}
.character-document .cs-item-state{font:700 9px 'DM Sans',sans-serif;letter-spacing:.25px;color:#676052;background:#f0e7d9;border-radius:12px;padding:4px 7px;white-space:nowrap}
.character-document .cs-inventory-item:has([data-inventory-action="unequip"]) .cs-item-state{background:#e0eadf;color:#315748}
.character-document .cs-inventory-item-meta{color:#756655;font-size:11px;line-height:1.5;margin:0}

.character-document .cs-item-broken{border-color:#bc8d72;background:#fff1e8}
.character-document .cs-item-broken .cs-item-state{background:#f1d3c2!important;color:#783a2b!important;white-space:normal}
.character-document .cs-item-repair{color:#86513b;font-size:11px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.character-document .cs-item-repair small{display:block;font-size:10px}
.character-document .cs-armor-repair-input{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;font-size:11px;color:#86513b}
.character-document .cs-armor-repair-input input{box-sizing:border-box;width:100px;max-width:100%;min-height:30px;border-radius:6px;border:1px solid #c9ac92;background:#fffdf8;color:#304147;padding:4px 7px}
.character-document .cs-armor .cs-inventory-row.cs-item-broken{border-inline-start:3px solid #bc8d72;padding-inline-start:9px}

.character-document .cs-inventory-item>details{font-size:11px;color:#635548}
.character-document .cs-inventory-item>details p{white-space:pre-wrap;overflow-wrap:anywhere}
.character-document .cs-inventory-item>small{color:#827260;font-size:10px;line-height:1.5}
.character-document .cs-inventory-item .cs-item-actions{margin-top:auto;display:flex;gap:5px;flex-wrap:wrap}
.character-document .cs-inventory-item .cs-item-actions .filter{font-size:10px;min-height:30px}
.character-document .cs-character-sidebar .cs-options-section{margin-top:0}
.character-document .cs-character-sidebar .cs-options-heading{align-items:start}
.character-document .cs-character-sidebar .cs-options-heading h3{font-size:23px}
.character-document .cs-character-sidebar .cs-options-heading p{display:none}
.character-document .cs-character-sidebar .cs-option-summary{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-height:0;padding:12px}
.character-document .cs-character-sidebar .cs-option-context{grid-column:1/-1;grid-row:2}
.character-document .cs-character-sidebar .cs-option-edit{grid-column:2;grid-row:1;align-self:center;padding:6px 7px}
.character-document .cs-character-sidebar .cs-option-value{font-size:19px}
.character-document .cs-character-sidebar .cs-option-editor{padding:12px}
.character-document .cs-character-sidebar .cs-opt-input{flex-basis:100%}
.character-document .cs-character-sidebar .cs-opt-action{max-width:100%}
.character-document .cs-character-sidebar .cs-personality{margin-top:13px;padding:13px}
.character-document .cs-character-sidebar .cs-personality .cs-section-head h3{font-size:24px}
.character-document .cs-personality-grid{display:grid;gap:11px}
.character-document .cs-personality-grid>div{padding-bottom:9px;border-bottom:1px solid #e6d9c9}
.character-document .cs-personality-grid>div:last-child{border-bottom:0}
.character-document .cs-personality-grid h4{font:700 10px/1.3 'DM Sans',sans-serif;letter-spacing:.4px;color:#916b4c;margin:0 0 3px}
.character-document .cs-personality-grid p{font-size:12px;line-height:1.6;color:#4e5553;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.character-document .cs-journal{margin-top:14px}
.character-document .cs-journal .cs-section-head{flex-wrap:wrap}
.character-document .cs-journal .cs-journal-intro{font-size:12px;line-height:1.65;color:#706657;margin:0 0 13px}
.character-document .cs-journal-editor{display:grid;gap:8px}
.character-document .cs-journal-editor textarea{min-height:190px;resize:vertical;font:400 13px/1.65 'DM Sans',sans-serif;background:#fffdf8;color:#243e43;border:1px solid #d4c0a6;border-radius:7px;padding:13px;width:100%;box-sizing:border-box}
.character-document .cs-journal-preview{margin:12px 0 13px;border:1px solid #e1d1ba;border-radius:7px;overflow:hidden}
.character-document .cs-journal-preview>summary{cursor:pointer;padding:10px 12px;font:700 11px 'DM Sans',sans-serif;color:#665039}
.character-document .cs-journal-preview [data-journal-preview]{border-top:1px solid #e1d1ba;padding:12px;line-height:1.6;overflow-wrap:anywhere;white-space:normal}
.character-document .cs-journal .cs-notes-disclosure{border-top:1px solid #e3d6c5;padding-top:12px;margin-top:12px}
.character-document .cs-journal .cs-notes-disclosure>summary{cursor:pointer;color:#594836;font-weight:700;font-size:12px}
.character-document .cs-journal .cs-notes-disclosure>summary span{font-weight:400;color:#827260;font-size:11px}
.character-document .cs-journal .cs-notes{margin:12px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.character-document .cs-journal .cs-notes textarea{min-height:90px}
.character-document .cs-profile-panel{border-radius:10px;margin-bottom:18px}

/* Modal stays outside .character-document so it overlays the complete app. */
.cs-picker-dialog{width:min(940px,calc(100vw - 28px));max-width:940px;max-height:min(88vh,900px);padding:0;border:1px solid #cfbba1;border-radius:12px;background:#fffaf3;color:#263d43;overflow:auto;box-shadow:0 25px 70px #11232d66}
.cs-picker-dialog::backdrop{background:#101d24ab}
.cs-picker-dialog .cs-picker-card{box-sizing:border-box;width:100%;max-width:none;padding:22px}
.cs-picker-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}
.cs-picker-heading h2{font:var(--cdm-display-weight) 29px/1.15 var(--cdm-display-font);margin:5px 0;color:#263f43}
.cs-picker-heading p{color:#766859;font:400 12px/1.65 'DM Sans',sans-serif;margin:0 0 13px}
.cs-picker-editions,.cs-picker-categories{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:9px 0}
.cs-picker-dialog button[aria-pressed="true"]{background:#263c44;color:#fff5e8;border-color:#263c44}
.cs-picker-search{display:grid;gap:6px;margin-top:12px;font:700 11px/1.4 'DM Sans',sans-serif;color:#554a3c}
.cs-picker-search input{width:100%;background:#fff;border:1px solid #cbb79e;border-radius:7px;min-height:42px;padding:8px 12px;font:400 14px 'DM Sans',sans-serif;color:#293b41;box-sizing:border-box}
.cs-picker-context{padding:10px 12px;background:#f2e7d7;border-radius:7px;color:#66513c;font:500 11px/1.5 'DM Sans',sans-serif}
.cs-picker-count{color:#776958;font-size:11px;margin:12px 0 8px}
.cs-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:9px;align-items:stretch}
.cs-picker-item{display:flex;flex-direction:column;justify-content:space-between;gap:11px;padding:14px;border:1px solid #e1d2bf;border-radius:8px;background:#fffdf9;min-width:0}
.cs-picker-item-info{display:grid;gap:4px}
.cs-picker-item-info>strong{font:var(--cdm-display-weight) 21px/1.2 var(--cdm-display-font);color:#2b484a;overflow-wrap:anywhere}
.cs-picker-item-info>span{color:#765741;font:600 11px/1.5 'DM Sans',sans-serif}
.cs-picker-item-info>small{font:400 10px/1.5 'DM Sans',sans-serif;color:#827464}
.cs-picker-item-info details{font:400 11px/1.5 'DM Sans',sans-serif;color:#615445}
.cs-picker-item-info details summary{cursor:pointer;font-weight:700}
.cs-picker-item-info details p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:155px;overflow:auto}
.cs-picker-item-actions{display:flex;flex-wrap:wrap;gap:6px}
.cs-picker-item-actions .btn{flex:1 1 95px;font-size:11px;min-height:36px}
.cs-picker-readonly{font:800 10px 'DM Sans',sans-serif;letter-spacing:.6px;color:#825d4f;text-transform:uppercase}
.cs-picker-message{position:sticky;bottom:0;background:#fffaf3;color:#365d4f;font:700 12px/1.5 'DM Sans',sans-serif;padding:5px 0;margin:8px 0 0}
.cs-picker-empty{padding:20px;text-align:center;font-size:13px;color:#766859}

@media(max-width:790px){
 .character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr);gap:13px}
 .character-document .cs-character-sidebar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .character-document .cs-character-sidebar .cs-personality{margin-top:0}
 .character-document .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-combat-card .cs-quick-stat:nth-child(3){border-right:0}
}
@media(max-width:590px){
 .character-document .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-combat-card .cs-quick-stat:nth-child(3){border-right:1px solid #e5d9c8}
 .character-document .cs-combat-card .cs-quick-stat:nth-child(even){border-right:0}
 .character-document .cs-combat-card .cs-quick-stat:last-child{grid-column:1/-1;border-right:0}
 .character-document .cs-journal .cs-notes{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-gear-heading .cs-add-equipment{width:100%}
 .cs-picker-dialog .cs-picker-card{padding:13px}
 .cs-picker-item-actions .btn{flex:1}
}

/* Character Sheet 2.3 — high-density essentials and readable typography.
   Scoped overrides intentionally follow legacy mobile/style selectors. */
.character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.60fr);gap:16px}
.character-document .cs-abilities{margin-bottom:10px;gap:6px}
.character-document .cs-ability-heading{margin-bottom:8px}
.character-document .cs-abilities>.cs-ability-card{padding:8px 5px 7px;gap:1px;min-height:0}
.character-document .cs-ability-card .cs-ability-base{min-height:20px}
.character-document .cs-ability-card .cs-ability-mod{margin:1px 0!important;padding:1px 5px!important}
.character-document .cs-training-card{padding:13px 17px;margin:0 0 12px}
.character-document .cs-training-card .cs-section-head{margin-bottom:7px}
.character-document .cs-training-card .cs-section-head h3{font-size:24px}
.character-document .cs-training-groups{gap:9px}
.character-document .cs-training-card h4{margin-bottom:5px;padding-bottom:4px;font-size:17px}
.character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px 6px}
.character-document .cs-check{min-height:27px;grid-template-columns:15px 31px minmax(0,1fr);gap:5px;padding:1px 0}
.character-document .cs-check input{width:15px;height:15px;margin:0}
.character-document .cs-check strong{font-size:16px;padding:3px 1px}
.character-document .cs-check span{font-size:14px;line-height:1.3}
.character-document .cs-training-card>.cs-help-text{display:none}
.character-document .cs-saves-header{margin-bottom:4px}
.character-document .cs-class-saves{font-size:10px;min-height:27px;padding:3px 8px}
.character-document .cs-roll-tray{margin-bottom:12px;padding:8px 12px}
.character-document .cs-roll-tray-head p{font-size:10px}
.character-document .cs-roll-results{margin-top:6px}
.character-document .cs-roll-results .cs-roll-placeholder{font-size:10px}
.character-document .cs-hp-play-actions{align-items:end;gap:5px}
.character-document .cs-hp-play-actions label{max-width:78px;flex:0 0 78px}
.character-document .cs-hp-play-actions input{width:74px;height:33px;min-height:33px}
.character-document .cs-hp-play-actions .btn{flex:0 0 auto;white-space:nowrap;min-height:33px;line-height:1.2;padding:6px 9px;font-size:10px}
.character-document .cs-secondary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-top:12px;margin-top:12px}
.character-document .cs-secondary .cs-vital{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f4eadc;border:1px solid #e0cfbb;border-radius:7px;padding:10px 5px;gap:4px}
.character-document .cs-secondary .cs-vital>span{font:700 9px/1.3 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.8px;color:#7c6351}
.character-document .cs-secondary .cs-vital>strong{font:var(--cdm-display-weight) 23px/1.1 var(--cdm-display-font);color:#2e4549}
.character-document .cs-secondary .cs-vital small{font:600 10px 'DM Sans',sans-serif;color:#796c5e}
.character-document .cs-equipped-weapon-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:7px;margin:11px 0}
.character-document .cs-equipped-weapon-panel article{display:grid;gap:5px;padding:10px 12px;border-radius:7px;border:1px solid #dbccba;background:#f8f0e6}
.character-document .cs-equipped-weapon-panel strong{font:var(--cdm-display-weight) 20px/1.2 var(--cdm-display-font);color:#294246}
.character-document .cs-equipped-weapon-panel article span{font:var(--cdm-display-weight) 17px/1.3 var(--cdm-display-font);color:#834e43}
.character-document .cs-equipped-weapon-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.character-document .cs-equipped-weapon-top .filter{font:700 10px/1.2 'DM Sans',sans-serif;min-height:29px;flex-shrink:0}
.character-document .cs-equipped-weapon-panel article.cs-equipped-weapon-broken{border-color:#bc8d72;background:#fff1e8}
.character-document .cs-equipped-weapon-panel article.cs-equipped-weapon-broken span{color:#994f3a}
.character-document .cs-equipped-weapon-panel article small{font:500 11px/1.5 'DM Sans',sans-serif;color:#805b44}
.character-document .cs-equipped-weapon-panel .cs-help-text{margin:0}
.character-document .cs-inventory-heading-actions{display:flex;gap:6px;flex-wrap:wrap}
.character-document .cs-inventory-heading-actions .btn{padding:7px 9px;min-height:34px;font-size:10px}
.character-document .cs-armor .cs-section-head h3,.character-document .cs-general-inventory .cs-section-head h3{font-size:23px}
.character-document .cs-armor .cs-ac-formula{padding:10px 12px}
.character-document .cs-armor .cs-inventory-row{padding:7px 0}
.character-document .cs-inventory-items{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:6px}
.character-document .cs-inventory-item{padding:10px;gap:5px}
.character-document .cs-inventory-item-head strong{font-size:18px}
.character-document .cs-gear-heading{margin:14px 0 8px}
.character-document .cs-gear-heading h3{font-size:26px}
/* The former always-expanded player journal is now a single collapsible editor. */
.character-document details.cs-journal{padding:0;overflow:hidden}
.character-document .cs-journal-heading{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:14px 17px}
.character-document .cs-journal-heading::-webkit-details-marker{display:none}
.character-document .cs-journal-heading>span:first-child{display:grid;gap:4px}
.character-document .cs-journal-heading strong{font:var(--cdm-display-weight) 24px/1.2 var(--cdm-display-font);color:#263d43}
.character-document .cs-journal-expand{font:700 11px 'DM Sans',sans-serif;color:#8c4b45}
.character-document details.cs-journal[open] .cs-journal-expand{transform:rotate(180deg)}
.character-document .cs-journal-content{border-top:1px solid #e5d6c4;padding:14px 17px 17px}
.character-document .cs-notes-subhead{font:var(--cdm-display-weight) 20px var(--cdm-display-font);color:#6d4d38;margin:12px 0 8px}
.character-document .cs-save-notes{margin-top:13px}
.character-document .cs-character-sidebar .cs-option-summary{padding:9px 11px;gap:4px 8px}
.character-document .cs-character-sidebar .cs-option-context{font-size:10px}
.character-document .cs-character-sidebar .cs-option-value{font-size:19px}
.character-document .cs-character-sidebar .cs-option-editor{padding:11px}
.character-document .cs-character-sidebar .cs-opt-form-line{margin:6px 0;gap:6px}
.character-document .cs-character-sidebar .cs-opt-input{gap:5px}
.character-document .cs-character-sidebar .cs-opt-input select,.character-document .cs-character-sidebar .cs-opt-input input{min-height:34px;padding:6px 9px;font-size:11px}
.character-document .cs-character-sidebar .cs-opt-action{min-height:33px;padding:6px 10px;font-size:10px;width:auto}
.character-document .cs-opt-benefits{margin:8px 0;padding:7px 9px;font-size:10px}
.character-document .cs-custom-background{border-top:1px solid #e1cfbc;padding-top:10px;margin-top:11px}
.character-document .cs-custom-background summary,.character-document .cs-feature-help summary{cursor:pointer;font:700 11px 'DM Sans',sans-serif;color:#844840;margin-bottom:8px}
.character-document .cs-custom-background>.cs-opt-input{margin-bottom:9px}
.character-document .cs-opt-pair,.character-document .cs-opt-trio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.character-document .cs-opt-trio{grid-template-columns:repeat(3,minmax(0,1fr))}
.character-document .cs-opt-trio .cs-opt-input,.character-document .cs-opt-pair .cs-opt-input{min-width:0;flex-basis:auto}
.character-document .cs-opt-items{gap:6px}
.character-document .cs-opt-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px}
.character-document .cs-opt-item-main{min-width:0;flex-basis:100%;gap:3px 7px}
.character-document .cs-opt-item-main strong{font-size:12px}
.character-document .cs-feat-actions{justify-self:end}
.character-document .cs-feat-note{grid-column:1/-1}
.character-document .cs-feat-note input{width:100%;box-sizing:border-box}
.character-document .cs-feat-custom{border-top:1px solid #decfba;margin-top:10px;padding-top:10px;display:grid;gap:7px}
.character-document .cs-feature-help{margin:10px 0}
.character-document .cs-feature-help p{font-size:10px;line-height:1.5}
.character-document .cs-personality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.character-document .cs-personality-grid>div{min-width:0}
.character-document .cs-personality-grid p{font-size:11px;line-height:1.5}
.character-document .cs-personality-editor{border-top:1px solid #e3d5c6;margin-top:10px;padding-top:10px}
.character-document .cs-personality-editor summary{cursor:pointer;font:700 11px 'DM Sans',sans-serif;color:#844b45}
.character-document .cs-personality-fields{display:grid;gap:7px;margin-top:10px}
.character-document .cs-personality-fields textarea{min-height:65px;resize:vertical}
.character-document .cs-personality-fields .cs-field{min-width:0}
/* Newsreader for numerical data throughout the actual character sheet;
   the DM Sans labels/buttons remain functional and compact. */
.character-document .cs-sheet-v2 :is(
 .cs-quick-stat strong,.cs-quick-roll,.cs-ability-base strong,.cs-ability-mod,
 .cs-roll-number strong,.cs-roll-result b,.cs-section-tag,.cs-attack-list b,
 .cs-hp-play-head b,.cs-death-track b,.cs-secondary .cs-vital strong,
 .cs-equipped-weapon-panel article span,.cs-weapon-grid b,
 .cs-inventory-item-meta,.cs-item-state,.cs-opt-benefits span,
 .cs-spell-summary strong,.cs-spell-slot strong,.cs-spell-slot span,
 .cs-spell-count,.cs-spell-pick-status
 ){font-family:var(--cdm-display-font)!important;font-weight:var(--cdm-display-weight)!important;font-variant-numeric:lining-nums tabular-nums}
.character-document .cs-sheet-v2 input[type="number"]{font-family:var(--cdm-display-font)!important;font-weight:var(--cdm-display-weight)!important}
.character-document .cs-attack-list b{font-size:16px}
.character-document .cs-roll-tray .cs-roll-result b{font-size:23px}
/* Spellcasting: avoids assuming class slots or silently preparing spells. */
.character-document .cs-spellbook{margin:13px 0 0}
.character-document .cs-spellbook .cs-section-head{flex-wrap:wrap;margin-bottom:10px}
.character-document .cs-spellbook h3{font-size:24px}
.character-document .cs-spell-actions{display:flex;gap:6px;flex-wrap:wrap}
.character-document .cs-spell-actions .btn{min-height:33px;padding:7px 10px;font-size:11px}
.character-document .cs-spell-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.character-document .cs-spell-summary>div{border:1px solid #dfd0b9;background:#f7efe4;padding:10px 6px;border-radius:7px;display:grid;text-align:center;gap:3px;min-width:0}
.character-document .cs-spell-summary span{font:700 9px/1.3 'DM Sans',sans-serif;letter-spacing:.2px;color:#6e604f}
.character-document .cs-spell-summary strong{color:#853d41;font-size:23px}
.character-document .cs-spell-config{margin:12px 0;border:1px solid #e1d0bc;border-radius:7px;padding:10px 12px}
.character-document .cs-spell-config>summary{cursor:pointer;font:700 11px 'DM Sans',sans-serif;color:#735139}
.character-document .cs-spell-config>.cs-opt-input{margin:10px 0}
.character-document .cs-spell-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.character-document .cs-spell-slot{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;border:1px solid #e0d1bf;border-radius:7px;padding:8px;background:#fffaf3;font-size:10px}
.character-document .cs-spell-slot>strong{grid-column:1/-1;color:#674d3b;font-size:15px}
.character-document .cs-spell-slot label{display:flex;gap:5px;align-items:center}
.character-document .cs-spell-slot input{width:48px;min-height:30px;height:30px;padding:3px 5px;border:1px solid #cbbda9;border-radius:5px}
.character-document .cs-spell-slot>span{color:#624f43;font-size:15px}
.character-document .cs-spell-slot-actions{grid-column:1/-1;display:flex;gap:5px}
.character-document .cs-spell-slot-actions button{border-radius:5px;min-height:30px;flex:1;border:1px solid #dac6ad;background:#f4e6d4;color:#684339;cursor:pointer}
.character-document .cs-spell-slot-actions button:disabled{opacity:.4;cursor:default}
.character-document .cs-spell-groups{display:grid;gap:11px;margin-top:14px}
.character-document .cs-spell-group h4{font:var(--cdm-display-weight) 20px/1.2 var(--cdm-display-font);color:#79543c;margin:0 0 7px}
.character-document .cs-spell-list{display:grid;gap:6px}
.character-document .cs-spell-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f9f1e7;border:1px solid #e2d3c0;border-radius:6px;padding:9px 11px}
.character-document .cs-spell-identity{min-width:0;display:grid;gap:3px}
.character-document .cs-spell-identity strong{font:var(--cdm-display-weight) 19px/1.2 var(--cdm-display-font);color:#2d4449}
.character-document .cs-spell-identity small{font:500 10px/1.3 'DM Sans',sans-serif;color:#766859}
.character-document .cs-spell-identity details{font-size:11px;color:#67594c}
.character-document .cs-spell-identity details p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:190px;overflow:auto}
.character-document .cs-spell-identity a{font-size:10px;color:#84433d}
.character-document .cs-spell-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.character-document .cs-spell-row-actions button{font-size:10px;min-height:30px}
.character-document .cs-spell-row-actions button[aria-pressed="true"]{background:#e3eddf;color:#315d43}
.character-document .cs-spell-empty{font:400 12px/1.5 'DM Sans',sans-serif;color:#796a59;margin:13px 0 0}
/* Stand-alone SRD/custom dialogs — these sit outside the character sheet. */
.cs-spell-dialog{width:min(850px,calc(100vw - 28px));max-width:850px;max-height:88vh;overflow:auto;border:1px solid #d5bda1;border-radius:11px;padding:0;background:#fffaf3;color:#293f43;box-shadow:0 25px 70px #12222c66}
.cs-spell-dialog::backdrop{background:#111f2bac}
.cs-spell-dialog .cs-picker-card{max-width:none;width:100%;box-sizing:border-box;padding:19px}
.cs-spell-search-row{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:9px}
.cs-spell-search-row label,.cs-spell-custom-grid label,.cs-spell-custom-description{display:grid;gap:5px;font:700 11px 'DM Sans',sans-serif;color:#665340}
.cs-spell-search-row :is(input,select),.cs-spell-custom-grid :is(input,select),.cs-spell-custom-description textarea{width:100%;box-sizing:border-box;min-height:37px;border:1px solid #d5bf9e;background:#fffdf9;color:#334849;border-radius:6px;padding:7px 9px;font:400 12px 'DM Sans',sans-serif}
.cs-spell-pick-status{font-size:11px;color:#735e4b;margin:12px 0}
.cs-spell-pick-list{display:grid;gap:6px}
.cs-spell-pick-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fffdf8;border:1px solid #e4d4c0;border-radius:7px;padding:10px}
.cs-spell-pick-list article>div{display:grid;gap:4px}
.cs-spell-pick-list strong{font:var(--cdm-display-weight) 18px/1.15 var(--cdm-display-font);color:#284449}
.cs-spell-pick-list small{font-size:10px;color:#776550}
.cs-spell-pick-list p{font-size:11px;line-height:1.4;color:#746453;margin:0}
.cs-spell-pick-list .btn{flex-shrink:0;min-height:34px;padding:6px 11px;font-size:11px}
.cs-spell-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.cs-spell-custom-description textarea{min-height:130px;resize:vertical}
.cs-spell-dialog [type="submit"]{margin-top:12px}
@media(max-width:1120px){
 .character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-character-sidebar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .character-document .cs-character-sidebar .cs-options-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .character-document .cs-character-sidebar .cs-option-row{align-self:start}
 .character-document .cs-character-sidebar .cs-personality{margin-top:0}
 .character-document .cs-personality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:790px){
 .character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-character-sidebar .cs-options-list{grid-template-columns:1fr}
}
@media(max-width:590px){
 .character-document .cs-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-hp-play-actions{gap:5px}
 .character-document .cs-hp-play-actions .btn{flex:1 1 auto;font-size:10px}
 .character-document .cs-training-card .cs-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 5px}
 .character-document .cs-check{grid-template-columns:14px 28px minmax(0,1fr);gap:3px}
 .character-document .cs-check span{font-size:12px}
 .character-document .cs-check strong{font-size:14px}
 .character-document .cs-spell-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-spell-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-spell-row{align-items:start;flex-direction:column}
 .character-document .cs-spell-row-actions{width:100%}
 .character-document .cs-inventory-heading-actions{width:100%}
 .character-document .cs-inventory-heading-actions .btn{flex:1}
 .character-document .cs-opt-trio{grid-template-columns:1fr}
 .cs-spell-search-row{grid-template-columns:1fr 1fr}
 .cs-spell-search-row label:first-child{grid-column:1/-1}
 .cs-spell-custom-grid{grid-template-columns:1fr}
}

.character-document .cs-spellbook-optional{margin-top:12px;border:1px solid #ded0bd;background:#fffbf4;border-radius:8px}
.character-document .cs-spellbook-optional>summary{padding:12px 16px;font:700 12px/1.4 'DM Sans',sans-serif;color:#8a4b46;cursor:pointer}
.character-document .cs-spellbook-optional[open]>summary{border-bottom:1px solid #dfcfbc}
.character-document .cs-spellbook-optional .cs-spellbook{margin:0;border:0}
.character-document .cs-inventory-heading-actions{align-items:center}
.character-document .cs-inventory-heading-actions>a{font:700 10px/1.4 'DM Sans',sans-serif;white-space:nowrap;color:#85433c;text-underline-offset:3px}

.character-document .cs-profile-copy .cs-number,.character-document .cs-armor .cs-ac-formula>strong,
.character-document .cs-death-track [data-sheet-death-count],.character-document .cs-hp-play-actions input[type="number"]{
 font-family:var(--cdm-display-font)!important;font-weight:var(--cdm-display-weight)!important;font-variant-numeric:lining-nums tabular-nums}
.character-document .cs-profile-copy .cs-number{font-size:14px;color:#fff3df}
.character-document .cs-hp-play-actions .btn{min-width:68px;max-width:92px}
@media(max-width:590px){.character-document .cs-hp-play-actions .btn{min-width:0;max-width:none;flex:1 1 70px}}


/* Character sheet 2.4 — combat-first at-a-glance layout.
   Layout only: preserves character features, Vault saves and SRD controls. */
.character-document .cs-training-card .cs-section-head{margin-bottom:5px}
.character-document .cs-training-card .cs-section-head h3{font-size:22px}
.character-document .cs-training-card .cs-check-grid{gap:2px 7px}
.character-document .cs-training-card .cs-check{grid-template-columns:16px 34px minmax(0,1fr);align-items:center;column-gap:6px;min-height:29px}
.character-document .cs-training-card .cs-check input{width:15px;height:15px;align-self:center}
.character-document .cs-training-card .cs-check .cs-roll-number{width:34px;height:30px;min-height:30px;display:grid;place-items:center;border-radius:5px;background:#eee7df;padding:0}
.character-document .cs-training-card .cs-check .cs-roll-number strong{width:100%;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:5px;margin:0;padding:0!important;background:transparent!important;font:var(--cdm-display-weight) 15px/1 var(--cdm-display-font)!important;font-variant-numeric:tabular-nums!important;color:#29474b}
.character-document .cs-training-card .cs-check:has(input:checked) .cs-roll-number{background:#e6d2b7}
.character-document .cs-training-card .cs-check .cs-roll-number:hover{background:#e6cfb1}
.character-document .cs-training-card .cs-check span{font-size:13px;line-height:1.2}
.character-document .cs-knowledge{margin-top:11px;padding-top:10px;border-top:1px solid #e4d7c6;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:13px;row-gap:7px}
.character-document .cs-knowledge-row{min-width:0;display:grid;align-content:start;gap:4px}
.character-document .cs-knowledge-row strong{color:#825b4a;font:800 9px/1.2 'DM Sans',sans-serif;letter-spacing:.5px;text-transform:uppercase}
.character-document .cs-knowledge-row>span{font:500 11px/1.45 'DM Sans',sans-serif;color:#364a4b;white-space:pre-wrap;overflow-wrap:anywhere}
.character-document .cs-knowledge-edit{grid-column:1/-1}
.character-document .cs-knowledge-edit>summary{font:700 10px/1.3 'DM Sans',sans-serif;color:#834a43;cursor:pointer;padding:5px 0}
.character-document .cs-knowledge-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:9px 0 4px}
.character-document .cs-knowledge-fields .cs-field{min-width:0}
.character-document .cs-knowledge-fields .cs-field span{font-size:10px}
.character-document .cs-knowledge-fields input{box-sizing:border-box;min-width:0;width:100%;min-height:33px;height:33px;padding:5px 7px;background:#fffdf9;border:1px solid #d3c1aa;border-radius:5px;font:400 11px 'DM Sans',sans-serif;color:#293f43}
.character-document .cs-knowledge-edit .cs-help-text{margin:4px 0 0;font-size:10px}
/* This slim strip sits ABOVE Combat and Weapons, not inside either card. */
.character-document .cs-secondary.cs-combat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:3px 0 11px;padding:0;border:0;min-width:0}
.character-document .cs-secondary.cs-combat-strip .cs-vital{display:flex;flex-direction:row;align-items:center;justify-content:center;text-align:center;gap:8px;min-width:0;min-height:48px;box-sizing:border-box;padding:8px 10px;background:#f5ebdf;border:1px solid #ddcab3;border-radius:7px}
.character-document .cs-secondary.cs-combat-strip .cs-vital>span{font:800 9px/1.25 'DM Sans',sans-serif;color:#755e4c;letter-spacing:.5px}
.character-document .cs-secondary.cs-combat-strip .cs-vital>strong{font:var(--cdm-display-weight) 20px/1.1 var(--cdm-display-font);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;color:#2d4649}
.character-document .cs-secondary.cs-combat-strip .cs-vital small{font:600 10px/1 'DM Sans',sans-serif;color:#746454}
.character-document .cs-dashboard-grid.cs-battle-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:12px;margin:0 0 14px}
.character-document .cs-battle-grid>div{min-width:0}
.character-document .cs-battle-grid .cs-card{margin:0;box-sizing:border-box}
.character-document .cs-battle-grid .cs-section-head{align-items:center;flex-wrap:wrap;gap:7px}
.character-document .cs-battle-grid .cs-section-head h3{font-size:23px}
.character-document .cs-battle-grid .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:11px}
.character-document .cs-battle-grid .cs-combat-card .cs-quick-stat{padding:10px 4px;border-bottom:0}
.character-document .cs-battle-grid .cs-combat-card .cs-quick-stat:nth-child(3){border-right:0}
.character-document .cs-battle-grid .cs-combat-card .cs-quick-stat strong,.character-document .cs-battle-grid .cs-combat-card .cs-quick-roll{font-size:23px}
.character-document .cs-battle-grid .cs-combat-card .cs-quick-hint{font-size:9px}
.character-document .cs-battle-grid .cs-armor .cs-ac-formula>strong{font-size:22px}
.character-document .cs-battle-grid .cs-equipped-weapon-panel{grid-template-columns:1fr}
.character-document .cs-battle-grid .cs-armor .cs-help-text{font-size:10px}
.character-document .cs-battle-grid .cs-combat-card>.cs-help-text{font-size:10px;margin-top:10px}
.character-document .cs-armory-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.character-document .cs-armory-actions .btn{width:auto;min-width:0;min-height:32px;padding:6px 9px;border-radius:5px;font-size:10px;line-height:1.2;white-space:nowrap}
.character-document .cs-battle-grid .cs-armor .cs-inventory-row>div:last-child{gap:5px}
/* Fixed, equal-sized HP buttons. Their sizing matches the Amount input. */
.character-document .cs-hp-play-actions{display:flex;align-items:end;justify-content:flex-start;gap:6px;margin-top:8px;flex-wrap:wrap}
.character-document .cs-hp-play-actions label{display:grid;flex:0 0 74px;width:74px;max-width:74px;min-width:0;gap:4px}
.character-document .cs-hp-play-actions input{display:block;width:74px!important;max-width:74px!important;box-sizing:border-box;min-height:34px;height:34px;padding:4px 7px}
.character-document .cs-hp-play-actions .btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 74px!important;width:74px!important;max-width:74px!important;min-width:0!important;min-height:34px;height:34px;box-sizing:border-box;border-radius:5px;padding:4px!important;font:700 10px/1.15 'DM Sans',sans-serif;white-space:normal;text-align:center}
.character-document .cs-battle-grid .cs-hp-play-panel{margin-top:10px;padding-top:10px}
.character-document .cs-battle-grid .cs-hp-play-panel .cs-help-text{font-size:10px;margin:9px 0 0}
.character-document .cs-battle-grid .cs-death-saves{margin-top:9px}
.character-document .cs-battle-grid .cs-death-title{padding:8px 10px}
.character-document .cs-battle-grid .cs-death-track{gap:5px}
/* The right-hand reference column now contains Features and then Inventory. */
.character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.75fr);gap:14px}
.character-document .cs-workspace-layout>.cs-workspace-main,.character-document .cs-workspace-layout>.cs-character-sidebar{min-width:0}
.character-document .cs-character-sidebar .cs-options-section{margin-top:0}
.character-document .cs-character-sidebar [data-inventory-panel]{margin-top:13px;min-width:0}
.character-document .cs-character-sidebar .cs-general-inventory{margin:0;padding:13px}
.character-document .cs-character-sidebar .cs-general-inventory .cs-section-head{align-items:start;gap:8px}
.character-document .cs-character-sidebar .cs-general-inventory h3{font-size:24px}
.character-document .cs-character-sidebar .cs-inventory-heading-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-start}
.character-document .cs-character-sidebar .cs-inventory-heading-actions .btn{width:auto;min-width:0;flex:0 1 auto;min-height:31px;padding:6px 8px;font-size:10px;line-height:1.2}
.character-document .cs-character-sidebar .cs-inventory-heading-actions a{font-size:10px}
.character-document .cs-character-sidebar .cs-inventory-item{padding:9px}
.character-document .cs-character-sidebar .cs-inventory-items{grid-template-columns:minmax(0,1fr)}
.character-document .cs-character-sidebar .cs-inventory-group h4{font-size:17px}
/* Cap oversized controls inside gameplay cards without changing edit fields. */
.character-document .cs-battle-grid .filter,.character-document .cs-character-sidebar .filter{min-height:28px;padding:5px 8px;font-size:10px;border-radius:5px}
@media(max-width:1000px){
 .character-document .cs-dashboard-grid.cs-battle-grid{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-battle-grid .cs-equipped-weapon-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
}
@media(max-width:790px){
 .character-document .cs-knowledge{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-knowledge-fields{grid-template-columns:1fr}
 .character-document .cs-battle-grid .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-battle-grid .cs-combat-card .cs-quick-stat:nth-child(3){border-right:0}
}
@media(max-width:590px){
 .character-document .cs-secondary.cs-combat-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .character-document .cs-secondary.cs-combat-strip .cs-vital{justify-content:space-between;padding:8px 9px;min-height:44px}
 .character-document .cs-secondary.cs-combat-strip .cs-vital>strong{font-size:18px}
 .character-document .cs-hp-play-actions .btn{flex:0 0 74px!important;max-width:74px!important}
 .character-document .cs-battle-grid .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-battle-grid .cs-combat-card .cs-quick-stat{border-bottom:0}
 .character-document .cs-battle-grid .cs-combat-card .cs-quick-stat:nth-child(3){grid-column:auto;border-right:0}
 .character-document .cs-knowledge{grid-template-columns:1fr}
 .character-document .cs-training-card .cs-check{grid-template-columns:15px 30px minmax(0,1fr);gap:4px}
 .character-document .cs-training-card .cs-check .cs-roll-number{width:30px;height:28px;min-height:28px}
 .character-document .cs-training-card .cs-check .cs-roll-number strong{font-size:14px!important}
 .character-document .cs-training-card .cs-check span{font-size:12px}
 .character-document .cs-armory-actions{width:100%}
 .character-document .cs-character-sidebar .cs-inventory-heading-actions{width:100%}
 .character-document .cs-character-sidebar .cs-inventory-heading-actions .btn{flex:0 1 auto}
}


/* Character sheet 2.5: battle workspace and character reference now share a
   common two-column grid. Main-column combat width matches Spellcasting. */
.character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.75fr);gap:14px;align-items:start}
.character-document .cs-workspace-main{container:cs-main / inline-size;min-width:0}
.character-document .cs-workspace-main .cs-dashboard-grid.cs-battle-grid{margin:0 0 12px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:10px;align-items:start}
.character-document .cs-workspace-main .cs-battle-grid .cs-card{padding:13px;min-width:0}
.character-document .cs-workspace-main .cs-battle-grid .cs-section-head h3{font-size:clamp(19px,1.6vw,23px)}
.character-document .cs-workspace-main .cs-battle-grid .cs-combat-card .cs-quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.character-document .cs-workspace-main .cs-battle-grid .cs-combat-card .cs-quick-stat{min-width:0;padding:8px 3px}
.character-document .cs-workspace-main .cs-battle-grid .cs-combat-card .cs-quick-stat strong,.character-document .cs-workspace-main .cs-battle-grid .cs-combat-card .cs-quick-roll{font-size:22px}
.character-document .cs-workspace-main .cs-battle-grid .cs-combat-card .cs-quick-label{font-size:9px}
.character-document .cs-workspace-main .cs-battle-grid .cs-armory-actions{display:flex;gap:5px}
.character-document .cs-workspace-main .cs-battle-grid .cs-armory-actions .btn{padding:6px 7px;font-size:10px;min-height:30px}
.character-document .cs-workspace-main .cs-battle-grid .cs-armor .cs-ac-formula{padding:9px 10px}
.character-document .cs-workspace-main .cs-battle-grid .cs-armor .cs-ac-formula strong{font-size:21px}
.character-document .cs-workspace-main .cs-battle-grid .cs-armor .cs-inventory-row>div:last-child{gap:4px}
.character-document .cs-workspace-main .cs-battle-grid .cs-hp-play-actions{gap:4px}
.character-document .cs-workspace-main .cs-battle-grid .cs-hp-play-actions label{flex-basis:69px;width:69px;max-width:69px}
.character-document .cs-workspace-main .cs-battle-grid .cs-hp-play-actions input{width:69px!important;max-width:69px!important}
.character-document .cs-workspace-main .cs-battle-grid .cs-hp-play-actions .btn{flex:0 0 69px!important;width:69px!important;max-width:69px!important}
.character-document .cs-workspace-main .cs-battle-grid .cs-death-title{gap:6px}
/* Match the Spellcasting stat cards, using the blue Newsreader value rather
   than Spellcasting's burgundy accent. Keep units attached to Movement. */
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 11px}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;padding:10px 6px;min-height:79px;background:#f5ebdf;border:1px solid #ddcab3;border-radius:7px}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>span{font:700 11px/1.3 'DM Sans',sans-serif;letter-spacing:.1px;text-transform:none;color:#66564b}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>strong{display:flex;align-items:baseline;justify-content:center;gap:3px;font:var(--cdm-display-weight) 23px/1.12 var(--cdm-display-font);color:#27474d;white-space:nowrap;min-width:0}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>strong>span{font:inherit;color:inherit}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital small{font:600 10px/1 'DM Sans',sans-serif;color:#75685a}
.character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital:nth-child(2)>strong{font-size:22px}
/* Improve the inventory heading's hierarchy: title first, actions below,
   reference separately at the foot instead of competing for header space. */
.character-document .cs-character-sidebar .cs-general-inventory .cs-section-head{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:11px}
.character-document .cs-character-sidebar .cs-general-inventory .cs-section-head>div:first-child{display:grid;gap:3px}
.character-document .cs-character-sidebar .cs-general-inventory .cs-inventory-heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.character-document .cs-character-sidebar .cs-general-inventory .cs-inventory-heading-actions .btn{width:100%;min-width:0;min-height:34px;padding:7px 5px;font-size:11px;white-space:normal}
.character-document .cs-inventory-reference{border-top:1px solid #e3d2be;display:flex;align-items:baseline;justify-content:space-between;gap:5px 10px;flex-wrap:wrap;padding-top:10px;margin-top:13px}
.character-document .cs-inventory-reference span{font:400 11px/1.5 'DM Sans',sans-serif;color:#766755}
.character-document .cs-inventory-reference a{font:700 11px/1.5 'DM Sans',sans-serif;color:#8a4944;text-decoration:underline;text-underline-offset:3px}
.character-document .cs-inventory-reference a:hover{color:#682e31}
/* At a narrower desktop width, stack the two internal battle cards while
   retaining the Character Features column. */
@container cs-main (max-width: 815px){
 .character-document .cs-workspace-main .cs-dashboard-grid.cs-battle-grid{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-workspace-main .cs-battle-grid .cs-equipped-weapon-panel{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
 .character-document .cs-battle-grid .cs-armory-actions{justify-content:flex-end}
}
@container cs-main (max-width: 500px){
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital{min-height:69px}
 .character-document .cs-dashboard-grid.cs-battle-grid .cs-combat-card .cs-quick-stat strong{font-size:20px}
}
@media(max-width:1120px){
 .character-document .cs-workspace-layout{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-character-sidebar{margin-top:10px}
 /* The named container query controls inner card stacking at every viewport. */
}
@media(max-width:790px){
 .character-document .cs-workspace-main .cs-dashboard-grid.cs-battle-grid{grid-template-columns:minmax(0,1fr)}
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:590px){
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital{flex-direction:column;justify-content:center;gap:4px;min-height:68px}
 .character-document .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>strong{font-size:21px}
 .character-document .cs-character-sidebar .cs-general-inventory .cs-inventory-heading-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Character sheet label consistency: use the same eyebrow typography as
   ARMOR CLASS across ability scores, combat facts and spellcasting.
   Intentionally no changes to value typography, card sizes or layout. */
.character-document .cs-sheet-v2 .cs-ability-card .cs-ability-name,
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>span,
.character-document .cs-sheet-v2 .cs-spell-summary>div>span{
  font:800 9px/1.3 'DM Sans',sans-serif;
  letter-spacing:1.1px;
  text-transform:uppercase;
  color:#7a6957;
}

/* Final optical balance: four combat facts only. The layout, Spellcasting
   cards, eyebrow style, and existing colors are deliberately unchanged. */
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital{
  min-height:64px;
  padding:7px 6px;
  gap:3px;
}
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital>strong{
  line-height:1.05;
}
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital:nth-child(2)>strong{
  font-size:20px;
}
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital:last-child>strong{
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:2px;
}
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital:last-child>strong small{
  margin:0;
  font:var(--cdm-display-weight) 13px/1 var(--cdm-display-font);
  color:inherit;
}

/* Align the optical space between combat-fact labels and values with
   Spellcasting. Keep card size, value font, colors and layout unchanged. */
.character-document .cs-sheet-v2 .cs-workspace-main .cs-secondary.cs-combat-strip .cs-vital{
  gap:9px;
}


/* Adventurer's Journal 2.8 — layered parchment hierarchy.
   Major sections gain their own quiet surface, restrained paper depth, and
   a narrow chapter-colored edge. Nested stat cards/controls are unchanged. */
.character-document .cs-sheet-v2 :is(
  .cs-ability-panel,
  .cs-training-card,
  .cs-combat-card,
  .cs-armor,
  .cs-options-section,
  .cs-personality,
  .cs-general-inventory,
  .cs-spellbook,
  .cs-spellbook-optional,
  details.cs-journal
){
  --cs-paper-accent:#b1926c;
  position:relative;
  box-sizing:border-box;
  min-width:0;
  border:1px solid #d4c0a9;
  border-radius:9px;
  background:linear-gradient(145deg,#fffefa 0%,#fff9f1 100%);
  box-shadow:0 2px 5px rgba(58,43,29,.035),0 8px 20px rgba(58,43,29,.055);
}
.character-document .cs-sheet-v2 :is(
  .cs-ability-panel,
  .cs-training-card,
  .cs-combat-card,
  .cs-armor,
  .cs-options-section,
  .cs-personality,
  .cs-general-inventory,
  .cs-spellbook,
  .cs-spellbook-optional,
  details.cs-journal
)::before{
  content:"";
  position:absolute;
  top:14px;
  bottom:14px;
  left:-1px;
  width:3px;
  background:var(--cs-paper-accent);
  border-radius:0 2px 2px 0;
  opacity:.83;
  pointer-events:none;
}
.character-document .cs-sheet-v2 .cs-ability-panel{
  --cs-paper-accent:#b08f60;
  padding:12px 12px 9px;
  margin:0 0 10px;
}
.character-document .cs-sheet-v2 .cs-ability-panel .cs-abilities{
  margin-bottom:0;
}
.character-document .cs-sheet-v2 .cs-training-card{
  --cs-paper-accent:#667e81;
}
.character-document .cs-sheet-v2 .cs-combat-card{
  --cs-paper-accent:#924f52;
}
.character-document .cs-sheet-v2 .cs-armor{
  --cs-paper-accent:#9b6b57;
}
.character-document .cs-sheet-v2 .cs-options-section{
  --cs-paper-accent:#536d78;
  padding:13px;
  margin:0;
}
.character-document .cs-sheet-v2 .cs-options-section .cs-options-heading{
  margin:0 0 11px;
}
.character-document .cs-sheet-v2 .cs-option-row{
  background:#fffcf7;
  border-color:#ddcbb7;
}
.character-document .cs-sheet-v2 .cs-personality{
  --cs-paper-accent:#657e7e;
}
.character-document .cs-sheet-v2 .cs-general-inventory{
  --cs-paper-accent:#ac8856;
}
.character-document .cs-sheet-v2 .cs-spellbook,
.character-document .cs-sheet-v2 .cs-spellbook-optional{
  --cs-paper-accent:#886276;
}
.character-document .cs-sheet-v2 details.cs-journal{
  --cs-paper-accent:#73828a;
}
/* Section headings carry a soft rule, making the content hierarchy easier to
   scan without enlarging headings or changing the design of interior boxes. */
.character-document .cs-sheet-v2 .cs-ability-panel .cs-ability-heading,
.character-document .cs-sheet-v2 :is(.cs-training-card,.cs-combat-card,.cs-armor,.cs-personality,.cs-spellbook) > .cs-section-head,
.character-document .cs-sheet-v2 .cs-options-section > .cs-options-heading{
  padding-bottom:9px;
  border-bottom:1px solid #e4d8c8;
}
.character-document .cs-sheet-v2 .cs-ability-panel .cs-ability-heading{
  margin-bottom:10px;
}
.character-document .cs-sheet-v2 :is(.cs-training-card,.cs-combat-card,.cs-armor,.cs-personality,.cs-spellbook) > .cs-section-head{
  margin-bottom:11px;
}
/* A collapsed noncaster's spell section receives the paper treatment; when
   expanded, the interior spellbook should not appear double-framed. */
.character-document .cs-sheet-v2 .cs-spellbook-optional[open] > .cs-spellbook{
  border:0;
  border-radius:0 0 8px 8px;
  box-shadow:none;
  background:transparent;
}
.character-document .cs-sheet-v2 .cs-spellbook-optional[open] > .cs-spellbook::before{
  display:none;
}
.character-document .cs-sheet-v2 .cs-roll-tray{
  border-color:#d8c3ac;
  background:linear-gradient(160deg,#faf3e9,#f8eddf);
  box-shadow:0 2px 8px rgba(58,43,29,.035);
}
@media(max-width:590px){
  .character-document .cs-sheet-v2 .cs-ability-panel{
    padding:10px 9px 8px;
  }
  .character-document .cs-sheet-v2 .cs-options-section{
    padding:10px;
  }
}
@media print{
  .character-document .cs-sheet-v2 :is(
    .cs-ability-panel,.cs-training-card,.cs-combat-card,.cs-armor,
    .cs-options-section,.cs-personality,.cs-general-inventory,
    .cs-spellbook,.cs-spellbook-optional,details.cs-journal
  ){
    box-shadow:none;
    background:#fffdf9;
  }
  .character-document .cs-sheet-v2 :is(
    .cs-ability-panel,.cs-training-card,.cs-combat-card,.cs-armor,
    .cs-options-section,.cs-personality,.cs-general-inventory,
    .cs-spellbook,.cs-spellbook-optional,details.cs-journal
  )::before{
    display:none;
  }
}


/* Adventurer's Journal 2.9 — compact saved-character identity.
   Other Vault collection headers and the interactive sheet remain untouched. */
.vault-entry-character .vault-character-heading{
  display:grid;
  gap:12px;
  padding:17px clamp(15px,3vw,34px) 0;
  background:linear-gradient(115deg,#fffaf3,#f5ebe0);
  border-bottom:1px solid #e4d5c2;
}
.vault-entry-character .vault-character-navigation{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.vault-entry-character .vault-character-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 18px;
  min-width:0;
}
.vault-entry-character .vault-character-links a{
  font:700 12px/1.45 'DM Sans',sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  color:#814e38;
}
.vault-entry-character .vault-character-links a:hover{color:#623a2f}
.vault-entry-character .vault-character-links .vault-source{
  font-size:9px;
  letter-spacing:.25px;
  line-height:1.2;
  padding:5px 8px;
}
.vault-entry-character .vault-character-manage{position:relative;flex-shrink:0;z-index:5}
.vault-entry-character .vault-character-manage>summary{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid #dbc9b6;
  background:#fffbf5;
  color:#694d3f;
  border-radius:6px;
  cursor:pointer;
  list-style:none;
  font:700 11px/1.35 'DM Sans',sans-serif;
}
.vault-entry-character .vault-character-manage>summary::-webkit-details-marker{display:none}
.vault-entry-character .vault-character-manage>summary:focus-visible{outline:2px solid #9d6e50;outline-offset:2px}
.vault-entry-character .vault-character-manage[open]>summary{border-color:#b99578;background:#f4e8db}
.vault-entry-character .vault-character-manage-menu{
  position:absolute;
  top:calc(100% + 5px);
  right:0;
  width:200px;
  max-width:calc(100vw - 35px);
  display:grid;
  gap:3px;
  border:1px solid #dac6b1;
  background:#fffbf5;
  border-radius:8px;
  padding:6px;
  box-shadow:0 12px 30px #18272c28;
}
.vault-entry-character .vault-character-manage-menu button{
  display:block;
  width:100%;
  text-align:left;
  cursor:pointer;
  padding:10px 11px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#344a4a;
  font:700 12px 'DM Sans',sans-serif;
}
.vault-entry-character .vault-character-manage-menu button:hover,
.vault-entry-character .vault-character-manage-menu button:focus-visible{background:#f3e6d8}
.vault-entry-character .vault-character-manage-menu button.vault-danger{color:#a13d3a}
.vault-entry-character .vault-character-identity{
  min-width:0;
  color:#f7e9d3;
  background:linear-gradient(112deg,#102834 0%,#193541 100%);
  border:1px solid #314752;
  border-radius:9px 9px 0 0;
  padding:18px clamp(16px,2vw,25px) 13px;
}
.vault-entry-character .vault-character-identity-top,
.vault-entry-character .vault-character-identity-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px 15px;
  flex-wrap:wrap;
}
.vault-entry-character .vault-character-identity-eyebrow{
  color:#e3c58f;
  font:800 9px/1.35 'DM Sans',sans-serif;
  letter-spacing:1.8px;
}
.vault-entry-character .vault-character-edition{
  flex-shrink:0;
  border:1px solid #bca07d7d;
  background:#f7efe514;
  border-radius:20px;
  padding:5px 9px;
  color:#eddbbb;
  font:800 9px/1.2 'DM Sans',sans-serif;
  letter-spacing:.9px;
}
.vault-entry-character .vault-character-identity h1{
  margin:8px 0 1px;
  font:var(--cdm-display-weight) clamp(35px,3.2vw,45px)/1.05 var(--cdm-display-font);
  color:#fff2df;
  overflow-wrap:anywhere;
}
.vault-entry-character .vault-character-identity-summary{
  margin:3px 0 11px;
  color:#e6d7c2;
  font:500 12px/1.5 'DM Sans',sans-serif;
}
.vault-entry-character .vault-character-identity-foot{
  border-top:1px solid #e0c79d30;
  padding-top:10px;
  color:#c7c2b4;
  font:500 10px/1.35 'DM Sans',sans-serif;
}
.vault-entry-character .vault-character-identity-mark{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#e1c291;
  font:800 9px/1.25 'DM Sans',sans-serif;
  letter-spacing:1px;
}
.vault-entry-character .vault-character-identity-mark>span{font-size:13px}
.vault-entry-character .vault-entry-body.vault-reading{
  padding-top:15px;
}
/* The saved character's original dark introductory banner is replaced by
   its identity header; the editable progression values remain accessible. */
.character-document .cs-progression-editor{
  margin:0 0 11px;
  border:1px solid #e2d3c0;
  background:#fdf7ef;
  border-radius:7px;
}
.character-document .cs-progression-editor>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px 12px;
  flex-wrap:wrap;
  padding:9px 13px;
  cursor:pointer;
  list-style:none;
  color:#344b4d;
}
.character-document .cs-progression-editor>summary::-webkit-details-marker{display:none}
.character-document .cs-progression-editor>summary strong{
  font:700 11px/1.3 'DM Sans',sans-serif;
}
.character-document .cs-progression-editor>summary span{
  font:500 10px/1.3 'DM Sans',sans-serif;
  color:#89715b;
}
.character-document .cs-progression-editor[open]>summary{
  border-bottom:1px solid #e2d3c0;
}
.character-document .cs-progression-editor-body{padding:12px 13px}
.character-document .cs-progression-fields{
  display:grid;
  grid-template-columns:88px 112px minmax(135px,1fr);
  gap:9px;
}
.character-document .cs-progression-fields input{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:36px;
  border:1px solid #ceb99e;
  background:#fffcf6;
  border-radius:5px;
  color:#253d42;
}
.character-document .cs-progression-editor .cs-progression-notice{
  display:block;
  margin:10px 0 0;
  font-size:10px;
}
@media(max-width:590px){
  .vault-entry-character .vault-character-heading{
    gap:10px;
    padding:12px 11px 0;
  }
  .vault-entry-character .vault-character-links{
    gap:6px 12px;
  }
  .vault-entry-character .vault-character-links a{font-size:11px}
  .vault-entry-character .vault-character-identity{
    padding:15px 14px 12px;
  }
  .vault-entry-character .vault-character-identity h1{
    font-size:36px;
  }
  .vault-entry-character .vault-character-identity-foot{
    align-items:flex-start;
  }
  .character-document .cs-progression-fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .character-document .cs-progression-fields .cs-field:last-child{
    grid-column:1/-1;
  }
}
@media print{
  .vault-entry-character .vault-character-navigation,
  .vault-entry-character .vault-character-manage{
    display:none;
  }
  .vault-entry-character .vault-character-identity{
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact;
  }
  .character-document .cs-progression-editor:not([open]){display:none}
}

/* Character Progression — compact, explicit Hit Die and proficiency automation.
   Designed to sit inside the existing saved-character parchment disclosure. */
.character-document .cs-proficiency-mode{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px 10px;
  color:#80674e;font:700 10px/1.45 'DM Sans',Arial,sans-serif;
  margin:8px 0 12px;
}
.character-document .cs-proficiency-mode .btn{
  min-height:28px;padding:5px 10px;font-size:10px;
}
.character-document .cs-proficiency-mode [data-sheet-auto-prof][hidden]{display:none!important}
.character-document .cs-hp-progression{
  border:1px solid #e0cdb6;border-radius:7px;
  background:linear-gradient(130deg,#fffaf4,#f9efe5);
  padding:12px 14px 10px;min-width:0;
}
.character-document .cs-hp-progression-title{
  display:flex;align-items:end;justify-content:space-between;
  gap:12px 18px;flex-wrap:wrap;margin:0 0 11px;
}
.character-document .cs-hp-progression-title>div{
  display:grid;gap:3px;min-width:0;
}
.character-document .cs-hp-progression-title strong{
  color:#2f4144;font:700 12px/1.3 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-progression-title>div span{
  color:#806b55;font:500 11px/1.55 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-progression-title label{
  display:flex;gap:7px;align-items:center;white-space:nowrap;
  font:700 10px/1.3 'DM Sans',Arial,sans-serif;color:#695846;
}
.character-document .cs-hp-progression-title select{
  min-height:33px;min-width:75px;padding:5px 9px;
  border:1px solid #ceb89f;border-radius:5px;background:#fffcf8;
  color:#263942;font:700 12px/1.2 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-level-summary{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;
  padding:8px 10px;border-radius:5px;background:#f2e5d4;
  color:#2f4447;font:600 11px/1.4 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-level-summary span{color:#816954;font-size:10px;font-weight:500}
.character-document .cs-hp-level-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:11px 0 0;
}
.character-document .cs-hp-level-actions .btn{
  min-height:34px;padding:8px 12px;font:700 11px/1.4 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-level-actions .btn:disabled{
  opacity:.48;cursor:not-allowed;
}
.character-document .cs-hp-level-help{
  margin:8px 0 0;color:#816c5a;
  font:500 10px/1.65 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-level-result{
  margin:9px 0 0;padding:8px 10px;border-left:3px solid #997451;
  background:#f4e8da;color:#654c3e;font:700 10px/1.55 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-history{
  margin:10px 0 0;border-top:1px solid #dfcbb4;padding-top:7px;
  color:#765c48;font:500 10px/1.55 'DM Sans',Arial,sans-serif;
}
.character-document .cs-hp-history>summary{
  cursor:pointer;color:#80544c;font-weight:700;
}
.character-document .cs-hp-history div{padding:4px 0 0}
.character-document .cs-hp-history p{margin:3px 0}
@media(max-width:590px){
  .character-document .cs-hp-progression{padding:10px}
  .character-document .cs-hp-level-actions{flex-direction:column;align-items:stretch}
  .character-document .cs-hp-level-actions .btn{width:100%;justify-content:center}
  .character-document .cs-hp-progression-title{align-items:start}
}
@media print{
  .character-document .cs-hp-level-actions,
  .character-document .cs-proficiency-mode button{display:none}
}


/* Character portraits: compact, in-place actions on the actual portrait. */
.vault-entry-character .vault-character-identity{
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;
}
.vault-entry-character .vault-character-copy{min-width:0}
.vault-entry-character .vault-portrait-frame{
 width:142px;max-width:100%;min-width:0;justify-self:end;
}
.vault-entry-character .vault-character-portrait{
 position:relative;width:100%;aspect-ratio:3 / 4;
 border:3px solid #c4a57d;border-radius:8px;overflow:hidden;margin:0;
 background:#ede3d3;box-shadow:0 7px 21px #070f1470;
}
.vault-entry-character .vault-character-portrait>img{
 display:block;width:100%;height:100%;object-fit:cover;
}
.vault-entry-character .vault-character-portrait>img:not([src]){visibility:hidden}
.vault-portrait-actions{
 position:absolute;left:0;right:0;bottom:0;z-index:1;
 display:flex;align-items:center;gap:3px;
 background:linear-gradient(transparent,rgba(9,29,37,.92) 38%);
 padding:23px 5px 6px;
 opacity:0;transform:translateY(5px);pointer-events:none;
 transition:opacity .18s ease,transform .18s ease;
}
.vault-character-portrait:hover .vault-portrait-actions,
.vault-character-portrait:focus-within .vault-portrait-actions{
 opacity:1;transform:none;pointer-events:auto;
}
.vault-portrait-actions .vault-portrait-change,
.vault-portrait-actions button{
 border:1px solid rgba(255,238,208,.55);border-radius:5px;
 padding:6px 5px;color:#fff5e2;
 background:rgba(9,31,39,.78);font:700 10px/1.2 'DM Sans',Arial,sans-serif;
 text-align:center;white-space:nowrap;cursor:pointer;
}
.vault-portrait-actions .vault-portrait-change{
 position:relative;display:block;flex:1 1 auto;min-width:0;
}
.vault-portrait-actions button{flex:0 0 auto}
.vault-portrait-actions .vault-portrait-change:hover,
.vault-portrait-actions button:hover{background:#31554f}
.vault-portrait-actions .vault-portrait-change:focus-within,
.vault-portrait-actions button:focus-visible{
 outline:2px solid #fff4dc;outline-offset:2px;
}
.vault-portrait-change input[type="file"]{
 position:absolute;width:1px;height:1px;opacity:0;
 clip-path:inset(50%);overflow:hidden;white-space:nowrap;
}
.vault-portrait-change:has(input:disabled){opacity:.55;cursor:wait}
.vault-portrait-spec{
 display:block;margin-top:5px;color:#e0c9a7;text-align:center;
 font:500 9px/1.45 'DM Sans',Arial,sans-serif;
}
.vault-portrait-status{
 display:block;margin-top:5px;color:#ffe0a5;text-align:center;
 font:600 10px/1.4 'DM Sans',Arial,sans-serif;
}
.vault-portrait-status[hidden]{display:none}
.vault-card-character-main{display:flex;align-items:center;gap:13px;min-width:0}
.vault-card-character-main>img{
 width:72px;height:96px;object-fit:cover;border-radius:6px;flex-shrink:0;
 border:1px solid #d6c3aa;background:#eee7dc;
}
.vault-card-character-main>img:not([src]),
.character-vault-icon-portrait img:not([src]){visibility:hidden}
.vault-card-character-copy{min-width:0;flex:1}
.vault-card-character-copy h3{margin-top:0}
@media(hover:none), (pointer:coarse){
 .vault-portrait-actions{opacity:1;transform:none;pointer-events:auto}
}
@media(max-width:590px){
 .vault-entry-character .vault-character-identity{gap:10px;align-items:start}
 .vault-entry-character .vault-portrait-frame{width:106px}
 .vault-card-character-main>img{width:59px;height:79px}
 .vault-portrait-actions{opacity:1;transform:none;pointer-events:auto;padding:14px 3px 4px;gap:2px}
 .vault-portrait-actions .vault-portrait-change,
 .vault-portrait-actions button{font-size:9px;padding:5px 3px}
 .vault-portrait-spec{font-size:8px}
}
@media print{
 .vault-entry-character .vault-portrait-actions,
 .vault-entry-character .vault-portrait-spec,
 .vault-entry-character .vault-portrait-status{display:none}
}

/* Full-screen character portrait viewer — class placeholders and private blobs. */
img[data-portrait-expand]{
 cursor:zoom-in;
}
img[data-portrait-expand][tabindex="0"]:focus-visible{
 outline:3px solid #dfb879;outline-offset:3px;
}
dialog.cdm-portrait-lightbox[open]{
 position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
 margin:0;width:100vw;height:100vh;height:100dvh;
 max-width:none;max-height:none;box-sizing:border-box;
 padding:28px;overflow:hidden;border:0;border-radius:0;
 background:rgba(8,19,25,.96);color:#fff5e5;
}
dialog.cdm-portrait-lightbox::backdrop{
 background:rgba(4,12,17,.92);
}
.cdm-portrait-lightbox>img{
 display:block;width:auto;height:auto;max-width:100%;max-height:100%;
 min-width:0;min-height:0;object-fit:contain;
 border:2px solid rgba(205,176,130,.5);border-radius:8px;
 box-shadow:0 20px 75px rgba(0,0,0,.65);
}
.cdm-portrait-lightbox-close{
 position:absolute;z-index:1;top:max(14px,env(safe-area-inset-top));
 right:max(16px,env(safe-area-inset-right));
 display:grid;place-items:center;width:43px;height:43px;
 padding:0;border:1px solid rgba(238,217,184,.48);border-radius:50%;
 background:rgba(21,38,46,.92);color:#fff3df;
 font:400 30px/1 'DM Sans',Arial,sans-serif;cursor:pointer;
}
.cdm-portrait-lightbox-close:hover{background:#395554}
.cdm-portrait-lightbox-close:focus-visible{
 outline:3px solid #e4be83;outline-offset:3px;
}
@media(max-width:590px){
 dialog.cdm-portrait-lightbox[open]{
  padding:56px 12px max(24px,env(safe-area-inset-bottom));
 }
 .cdm-portrait-lightbox>img{max-width:100%;max-height:100%}
 .cdm-portrait-lightbox-close{width:40px;height:40px}
}
@media print{
 dialog.cdm-portrait-lightbox{display:none!important}
}

/* Class progression is a separate, non-editing reference on the saved sheet. */
.character-document .cs-class-features{padding:0;overflow:hidden}
.character-document .cs-class-feature-summary{display:flex;justify-content:space-between;align-items:center;gap:11px;padding:17px 19px;cursor:pointer;list-style:none}
.character-document .cs-class-feature-summary::-webkit-details-marker{display:none}
.character-document .cs-class-feature-summary>span:first-child{display:grid;gap:4px}
.character-document .cs-class-feature-summary strong{font:var(--cdm-display-weight) 24px/1.12 var(--cdm-display-font);color:#283d46}
.character-document .cs-class-feature-summary>span:last-child{font-size:11px;color:#806e5c}
.character-document .cs-class-feature-body{border-top:1px solid #e5d8c6;padding:0 19px 19px}
.character-document .cs-feature-level{border-bottom:1px solid #eee4d7;padding:11px 0;display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px}
.character-document .cs-feature-level>strong{color:#733732;font-size:12px;padding-top:2px}
.character-document .cs-feature-level ul{display:flex;flex-wrap:wrap;list-style:none;gap:6px;margin:0;padding:0}
.character-document .cs-feature-level li{background:#f3eadc;border:1px solid #e2d1b9;border-radius:5px;padding:5px 9px;font-size:12px;color:#344850}
.character-document .cs-feature-level li small{font-size:10px;color:#a0554d;margin-left:4px}
.character-document .cs-class-feature-manual{margin-top:17px;padding-top:8px;border-top:1px solid #dfd2c2}
.character-document .cs-class-feature-manual h4{font:var(--cdm-display-weight) 20px var(--cdm-display-font);color:#2b4148;margin:0}
.character-document .cs-feature-record{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e5d8c6}
.character-document .cs-feature-record>div{display:grid;gap:4px}
.character-document .cs-feature-record strong{font-size:13px;color:#243b48}
.character-document .cs-feature-record small{font-size:11px;color:#7a6855;text-transform:capitalize}
.character-document .cs-feature-add{display:grid;grid-template-columns:minmax(140px,2fr) 100px minmax(95px,1fr);gap:9px;align-items:end;margin-top:12px}
.character-document .cs-feature-add label{display:grid;gap:5px;font-size:10px;font-weight:700;color:#675848}
.character-document .cs-feature-add input,.character-document .cs-feature-add select{height:39px;min-width:0;width:100%;border:1px solid #d7c6ae;border-radius:5px;background:#fffaf2;padding:7px;font-size:12px}
.character-document .cs-feature-add button{grid-column:1 / -1;justify-self:start}
@media(max-width:600px){
 .character-document .cs-feature-level{grid-template-columns:1fr;gap:5px}
 .character-document .cs-feature-add{grid-template-columns:1fr 1fr}
 .character-document .cs-feature-add label:first-child{grid-column:1/-1}
 .character-document .cs-feature-add button{width:100%}
}

.character-document .cs-feature-level li:has(.cs-feature-reference){padding:0;overflow:hidden}
.character-document .cs-feature-reference{min-width:110px}
.character-document .cs-feature-reference summary{list-style:none;cursor:pointer;padding:5px 9px}
.character-document .cs-feature-reference summary::-webkit-details-marker{display:none}
.character-document .cs-feature-reference summary:after{content:' ▾';color:#8e6144;font-size:10px}
.character-document .cs-feature-reference[open] summary:after{content:' ▴'}
.character-document .cs-feature-reference p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7;color:#405058;margin:0;padding:10px 12px 13px;border-top:1px solid #dfcfb9;background:#fffbf5}

/* Aligned feature progression cards; compact at phone widths. */
.character-document .cs-feature-level ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}
.character-document .cs-feature-level li{min-width:0;height:100%}
.character-document .cs-feature-reference{height:100%}
.character-document .cs-feature-reference summary{display:flex;align-items:center;justify-content:space-between;min-height:43px;padding:10px 12px;line-height:1.35;gap:8px}
.character-document .cs-feature-reference p{line-height:1.7}
.character-document .cs-spell-mode-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin:9px 0 13px;font-size:12px;color:#3e535a}
.character-document .cs-spell-bonus{border-top:1px solid #e0d1bd;margin-top:15px;padding-top:15px}
.character-document .cs-spell-bonus summary{font-size:13px;color:#703d3a;font-weight:700;cursor:pointer;margin-bottom:8px}
.character-document .cs-spell-bonus .cs-spell-slot-grid{margin-top:10px}
@media(max-width:590px){
 .character-document .cs-feature-level ul{grid-template-columns:1fr}
 .character-document .cs-spell-mode-row button{width:100%}
}

/* Character identity: optional one-time onboarding for older saved characters. */
.character-document .cs-gender-setup{border:1px solid #cbb18f;border-left:4px solid #863c3b;border-radius:9px;background:linear-gradient(125deg,#fffaf2,#f0e6d8);padding:19px 22px;margin:0 0 17px}
.character-document .cs-gender-setup h3{font:var(--cdm-display-weight) 27px/1.2 var(--cdm-display-font);color:#263d48;margin:8px 0}
.character-document .cs-gender-setup>p{font-size:13px;line-height:1.6;color:#625344;margin:6px 0 16px;max-width:730px}
.character-document .cs-gender-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.character-document .cs-gender-form label{display:grid;gap:6px;min-width:170px;flex:1 1 195px;color:#5b4b3d;font-size:12px;font-weight:700;max-width:300px}
.character-document .cs-gender-form select{height:43px;width:100%;padding:7px 10px;border-radius:6px;border:1px solid #ceb99d;background:#fffcf8;color:#263d48;font-size:13px}
.character-document .cs-gender-form button{min-height:43px}
.character-document .cs-gender-feedback{flex-basis:100%;margin:0;min-height:0;color:#873e38;font-size:12px}
.character-document .cs-gender-feedback:empty{display:none}
@media(max-width:600px){
 .character-document .cs-gender-setup{padding:16px}
 .character-document .cs-gender-form label{max-width:none}
 .character-document .cs-gender-form button{width:100%}
}

/* Class-by-level spell capacity: concise current limits, expandable full reference. */
.character-document .cs-spell-capacity-caption{margin:10px 0 7px;font:500 11px/1.6 var(--cdm-ui-font);color:#6c6155}
.character-document .cs-spell-capacity{border:1px solid #ddccb6;border-radius:7px;background:#fffbf5;margin:12px 0;overflow:hidden}
.character-document .cs-spell-capacity>summary{cursor:pointer;padding:11px 13px;font:700 12px/1.4 var(--cdm-ui-font);color:#643c36;background:#f6ecdf}
.character-document .cs-spell-capacity>summary:focus-visible{outline:2px solid #9d6650;outline-offset:-2px}
.character-document .cs-spell-capacity>.cs-help-text{margin:10px 13px}
.character-document .cs-spell-capacity-scroll{max-height:440px;overflow:auto;overscroll-behavior:contain;border-top:1px solid #e4d5c2;border-bottom:1px solid #e4d5c2}
.character-document .cs-spell-capacity table{border-collapse:collapse;width:100%;min-width:360px;font:500 11px/1.5 var(--cdm-ui-font);font-variant-numeric:tabular-nums;text-align:center}
.character-document .cs-spell-capacity th,.character-document .cs-spell-capacity td{padding:7px 9px;border-bottom:1px solid #eae0d4;white-space:nowrap}
.character-document .cs-spell-capacity thead th{position:sticky;top:0;background:#ede0d0;color:#4c3f36;z-index:1;font-size:10px}
.character-document .cs-spell-capacity tbody th{font-weight:700;color:#536068}
.character-document .cs-spell-capacity-current{background:#e7efdf;color:#274334;font-weight:800}
.character-document .cs-spell-capacity-current th{color:#274334}
.character-document .cs-spell-capacity-current th:before{content:"► ";font-size:9px}
@media(max-width:600px){
 .character-document .cs-spell-capacity-scroll{max-height:360px}
 .character-document .cs-spell-capacity th,.character-document .cs-spell-capacity td{padding:7px 5px}
}

/* Feature selection is player-only, never a catalogue on the DM read-only view. */
.character-document .cs-feature-picker{margin:14px 0 16px;border:1px solid #d6c4aa;border-radius:7px;background:#fffaf2}
.character-document .cs-feature-picker>summary{cursor:pointer;padding:11px 13px;font:700 12px/1.4 var(--cdm-ui-font);color:#703b36}
.character-document .cs-feature-picker[open]>summary{border-bottom:1px solid #e4d5c0}
.character-document .cs-feature-picker>.cs-help-text{padding:0 13px}
.character-document .cs-feature-picker-row{display:flex;align-items:center;gap:10px;padding:0 13px 13px;flex-wrap:wrap}
.character-document .cs-feature-picker-row select{flex:1 1 225px;min-width:0;min-height:39px;border:1px solid #d2c2ac;border-radius:5px;padding:7px 9px;background:#fffdfa;color:#304852;font-size:12px}
.character-document .cs-feature-picker-row button{min-height:39px}
@media(max-width:600px){.character-document .cs-feature-picker-row button{width:100%}}


/* Saved character's separately persisted wallet. Does not mark sheet drafts dirty. */
.character-document .cs-wallet{min-width:0}
.character-document .cs-wallet-total{display:grid;gap:4px;padding:12px 0}
.character-document .cs-wallet-total>strong{font:700 clamp(17px,2vw,22px)/1.25 var(--cdm-ui-font);color:#5d3d32;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.character-document .cs-wallet-total>span{font:500 11px/1.5 var(--cdm-ui-font);color:#837363}
.character-document .cs-wallet-coins{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:8px 0 12px}
.character-document .cs-wallet-coins>div{display:grid;gap:5px;min-width:0;background:#f5eddf;border:1px solid #e1d2bc;border-radius:6px;padding:9px 5px;text-align:center;font-variant-numeric:tabular-nums}
.character-document .cs-wallet-coins small{font:500 10px/1.3 var(--cdm-ui-font);color:#806b5b}
.character-document .cs-wallet-coins strong{font:700 14px/1.4 var(--cdm-ui-font);color:#493e35;overflow-wrap:anywhere}
.character-document .cs-wallet-editors{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.character-document .cs-wallet-editor{flex:1 1 150px;min-width:0;border:1px solid #dfcbb5;border-radius:7px;background:#fff9f1}
.character-document .cs-wallet-editor>summary{cursor:pointer;padding:10px 12px;font:700 12px/1.4 var(--cdm-ui-font);color:#704c3b}
.character-document .cs-wallet-editor[open]{flex-basis:100%}
.character-document .cs-wallet-form{display:grid;gap:11px;padding:12px;border-top:1px solid #e5d9c9}
.character-document .cs-wallet-form>label{display:grid;gap:5px;font:700 12px/1.4 var(--cdm-ui-font);color:#574b40}
.character-document .cs-wallet-form>label>input{box-sizing:border-box;width:100%;min-height:40px;padding:8px 10px;border:1px solid #d7c5ae;border-radius:6px;background:#fffcf6;color:#253d47}
.character-document .cs-wallet-form .cdm-coin-fields{grid-template-columns:repeat(5,minmax(0,1fr))}
.character-document .cs-wallet-message{font:500 11px/1.5 var(--cdm-ui-font);color:#785a47;margin:0;min-height:0}
.character-document .cs-wallet-message:empty{display:none}
.character-document .cs-wallet-history{margin:12px 0 0;border-top:1px solid #e7d9c7}
.character-document .cs-wallet-history>summary{cursor:pointer;padding:12px 0;font:700 12px/1.4 var(--cdm-ui-font);color:#594a3d}
.character-document .cs-wallet-history-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #eee4d6;align-items:center;font:600 12px/1.5 var(--cdm-ui-font)}
.character-document .cs-wallet-history-row>div{display:grid;gap:2px;min-width:0}
.character-document .cs-wallet-history-row small{font-size:10px;font-weight:500;color:#766b5c;overflow-wrap:anywhere}
.character-document .cs-wallet-history-row>span{font-variant-numeric:tabular-nums;color:#426a53;text-align:right;overflow-wrap:anywhere}
.character-document .cs-wallet-history-row>span.cs-wallet-negative{color:#963e3d}
@media(max-width:600px){
 .character-document .cs-wallet-coins{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-wallet-form .cdm-coin-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-wallet-history-row{align-items:flex-start}
}
@media(max-width:380px){.character-document .cs-wallet-form .cdm-coin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Consistent CluelessDM display numerals in the wallet and its homebrew coins. */
.character-document .cs-wallet-total>strong{
 font:var(--cdm-display-weight) clamp(23px,2.8vw,30px)/1.17 var(--cdm-display-font);
 color:var(--ink);letter-spacing:-.45px;font-variant-numeric:tabular-nums
}
.character-document .cs-wallet-coins{grid-template-columns:repeat(3,minmax(0,1fr))}
.character-document .cs-wallet-coins>div{padding:12px 6px;gap:6px}
.character-document .cs-wallet-coins strong{
 display:flex;align-items:baseline;justify-content:center;gap:4px;
 font:var(--cdm-display-weight) 23px/1.1 var(--cdm-display-font);
 color:var(--ink);font-variant-numeric:tabular-nums
}
.character-document .cs-wallet-coins strong .cs-wallet-value,
.character-document .cs-wallet-custom-amount .cs-wallet-value{font:inherit}
.character-document .cs-wallet-coins strong small,
.character-document .cs-wallet-custom-amount small{
 font:500 11px/1.2 var(--cdm-ui-font);color:#786b5e
}
.character-document .cs-wallet-custom-amount{
 font:var(--cdm-display-weight) 24px/1.15 var(--cdm-display-font);
 color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px;
}
.character-document .cs-wallet-special{border-top:1px solid #e6d9c9;border-bottom:1px solid #e6d9c9;margin:3px 0 12px}
.character-document .cs-wallet-special>summary,
.cdm-special-coins>summary{cursor:pointer;padding:11px 0;font:700 12px/1.4 var(--cdm-ui-font);color:#74503e}
.character-document .cs-wallet-special summary small,.cdm-special-coins summary small{font-weight:400;color:#8b7b6b;margin-left:5px}
.character-document .cs-wallet-special .cs-wallet-coins{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.cdm-special-coins{min-width:0;border-top:1px solid #e7d9c6}
.cdm-special-coins .cdm-coin-fields{padding:5px 0 2px}
.character-document .cs-wallet-custom{margin-top:15px;padding-top:15px;border-top:1px solid #e6d9c9}
.character-document .cs-wallet-custom .cs-section-head{margin-bottom:7px}
.character-document .cs-wallet-custom h4{margin:3px 0;font:var(--cdm-display-weight) 21px/1.2 var(--cdm-display-font);color:var(--ink)}
.character-document .cs-wallet-hint{font:500 11px/1.55 var(--cdm-ui-font);color:#806e60;margin:4px 0 10px}
.character-document .cs-wallet-custom-list{display:grid;gap:8px;margin:10px 0}
.character-document .cs-wallet-custom-row{
 display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:13px;align-items:center;
 border:1px solid #e1d3c0;border-radius:7px;padding:10px;background:#f8f0e5
}
.character-document .cs-wallet-custom-title{display:grid;gap:2px;min-width:0}
.character-document .cs-wallet-custom-title strong{font:700 12px/1.4 var(--cdm-ui-font);color:#3e4d4b;overflow-wrap:anywhere}
.character-document .cs-wallet-custom-title small{font:500 10px/1.3 var(--cdm-ui-font);color:#786c5d}
.character-document .cs-wallet-custom-adjust{grid-column:1/-1;border-top:1px solid #e4d9cc;margin-top:8px}
.character-document .cs-wallet-custom-adjust>summary,
.character-document .cs-wallet-custom-create>summary{
 cursor:pointer;padding:10px 0;font:700 12px/1.3 var(--cdm-ui-font);color:#79473c
}
.character-document .cs-wallet-custom-controls,
.character-document .cs-wallet-custom-create-form{display:grid;gap:9px;padding:6px 0 11px}
.character-document .cs-wallet-custom-controls label,
.character-document .cs-wallet-custom-create-form label{display:grid;gap:4px;font:700 11px/1.4 var(--cdm-ui-font);color:#645747}
.character-document .cs-wallet-custom-controls input,
.character-document .cs-wallet-custom-create-form input{
 box-sizing:border-box;min-width:0;width:100%;min-height:39px;padding:8px 10px;border-radius:6px;
 border:1px solid #d7c5ae;background:#fffdf9;font:500 13px/1.4 var(--cdm-ui-font);color:#26353c
}
.character-document .cs-wallet-custom-buttons{display:flex;gap:8px;flex-wrap:wrap}
.character-document .cs-wallet-custom-create{border:1px solid #e1d3c0;border-radius:7px;padding:0 12px;margin-top:8px;background:#fffaf3}
.character-document .cs-wallet-history-row>span{
 font:var(--cdm-display-weight) 18px/1.22 var(--cdm-display-font);
 color:#426a53;font-variant-numeric:tabular-nums
}
.character-document .cs-wallet-history-row>span.cs-wallet-negative{color:#963e3d}
@media(max-width:600px){
 .character-document .cs-wallet-coins{grid-template-columns:repeat(3,minmax(0,1fr))}
 .character-document .cs-wallet-special .cs-wallet-coins{grid-template-columns:repeat(2,minmax(0,1fr))}
 .character-document .cs-wallet-coins strong{font-size:20px}
}
