/* Character-specific controls use the site's existing typography and palette. */
body[data-sheet-type="character"] [hidden]{display:none!important}
#character-field-chooser:empty{display:none}
.character-field-chooser{margin:0 0 26px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#faf9fd;color:var(--ink);font:400 16px/1.5 var(--body)}
.character-field-chooser h2{font:600 29px/1.2 var(--display);letter-spacing:-.02em}
.character-field-chooser p{max-width:80ch;margin-top:8px;color:var(--muted);font-size:16px;line-height:1.5}
.character-chooser-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px 24px}
.character-selection-actions,.character-group-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.character-field-chooser button,.character-custom-entry button,.character-color-row button,.character-custom-control button{min-height:44px;padding:9px 13px;border:1px solid #b1a6c2;border-radius:5px;background:#fff;color:var(--ink);font:600 15px/1.4 var(--body);cursor:pointer}
.character-field-chooser button:hover,.character-custom-entry button:hover,.character-color-row button:hover{background:#eeebf8;border-color:var(--ink)}
.character-field-chooser button:disabled{opacity:.55;cursor:default}
.character-selection-status{min-height:24px;margin-top:10px;color:var(--muted);font-size:14px;line-height:1.5}
.character-chooser-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;align-items:start}
.character-chooser-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:6px;background:#fff}
.character-chooser-group{min-width:0}
.character-chooser-group>summary{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:68px;width:42%;margin-left:58%;padding:10px 23px 10px 5px;cursor:pointer;list-style:none;font-weight:600;font-size:14px;line-height:1.35}
.character-chooser-group>summary::-webkit-details-marker{display:none}
.character-chooser-group>summary:after{content:"";position:absolute;right:11px;top:27px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.character-chooser-group[open]>summary:after{transform:rotate(225deg);top:30px}
.character-chooser-group>summary .sheet-detail-hint{display:block;margin:0;font-size:12px;white-space:normal;font-weight:400}
.character-chooser-count{display:block;margin-top:3px;font-size:13px;font-weight:400;color:var(--muted)}
.character-chooser-card>.character-group-master{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:flex-start;gap:10px;width:58%;min-width:44px;min-height:68px;padding:10px 14px;font-weight:600;cursor:pointer}
.character-group-master input{width:19px;height:19px;margin:0;accent-color:var(--blue)}
.character-group-toolbar{padding:4px 14px 10px;border-bottom:1px solid var(--line)}
.character-group-toolbar button{font-size:14px;min-height:44px;padding:8px 10px}
.character-chooser-options{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:8px 12px 12px}
.character-chooser-options label,.character-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 4px;min-width:0;cursor:pointer;font:400 16px/1.4 var(--body)}
.character-chooser-options input[type=checkbox],.character-choice input[type=checkbox],.character-choice input[type=radio]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--blue)}
.character-editor-group{min-width:0;margin:0 0 22px;border:0;border-bottom:1px solid var(--line);padding:0 0 18px}
.character-editor-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin:0 0 12px;font:600 25px/1.25 var(--display);list-style:none;cursor:pointer}
.character-editor-group>summary::-webkit-details-marker{display:none}
.character-editor-group>summary:after{content:"";width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px}
.character-editor-group[open]>summary:after{transform:rotate(225deg)}
.character-editor-group>.character-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.character-editor-fields>[data-character-control]{min-width:0}
.character-editor-fields>[data-character-control="field:name"],.character-editor-fields>[data-character-control^="section:"],.character-editor-fields>.character-wide-field,.character-editor-fields>.character-multi-field,.character-editor-fields>.character-radio-field,.character-editor-fields>.character-color-field{grid-column:1/-1}
.sheet-page .character-editor-group .sheet-field{margin:0 0 17px}
.character-editor-group fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}
.character-editor-group legend{margin-bottom:8px;padding:0;font:600 16px/1.4 var(--body)}
.character-editor-group label,.character-editor-group textarea,.character-editor-group input,.character-editor-group select{font-family:var(--body)}
.character-editor-group :is(input[type=text],input[type=number],select,textarea){display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:10px 12px;border:1px solid #b1a6c2;border-radius:5px;background:#fff;color:var(--ink);font:400 16px/1.5 var(--body)}
.character-editor-group textarea{min-height:116px;resize:vertical}
.character-field-help{display:block;margin:6px 0 0;color:var(--muted);font:400 14px/1.5 var(--body)}
.character-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;margin-top:4px}
.character-choice-grid .character-choice{align-items:center;min-width:0;overflow-wrap:anywhere}
.character-custom-entry{display:flex;align-items:flex-start;gap:8px;margin-top:10px}
.character-custom-entry input{flex:1;min-width:0}
.character-custom-entry button{flex:none}
.character-custom-control{margin-top:10px}
.character-custom-control label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.character-color-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.character-editor-group .character-color-row input[type=color]{flex:none;min-width:52px;width:52px;height:46px;min-height:46px;padding:4px;border:1px solid #b1a6c2;border-radius:5px;background:#fff;cursor:pointer}
.character-editor-group .character-color-row input[type=text]{flex:1;min-width:100px;width:100px}
.character-picker-state{font:400 14px/1.5 var(--body);color:var(--muted)}
.character-empty-note{padding:18px;border:1px dashed #a99bc0;border-radius:6px;color:var(--muted);font-size:16px;line-height:1.5}
.character-empty-note a{display:inline-flex;align-items:center;min-height:44px}
.sheet-page .sheet-document-group{margin-top:28px;padding-top:22px;border-top:1px solid currentColor}
.sheet-page .sheet-document-group:first-of-type{margin-top:0;padding-top:0;border-top:0}
.sheet-page .sheet-document-group-title{margin:0 0 14px;color:var(--sheet-ink);font:600 25px/1.2 var(--display);letter-spacing:-.02em}
.sheet-page .sheet-document-group .sheet-section-title{font:600 21px/1.25 var(--display);margin:0 0 8px;color:var(--sheet-ink)}
.sheet-page .sheet-document-group .sheet-meta{margin:16px 0 0}
.sheet-page .sheet-document-group .sheet-section{margin-top:18px}
@media(max-width:1050px){.character-chooser-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.character-field-chooser{padding:20px}.character-chooser-heading{display:block}.character-selection-actions{margin-top:14px}.character-editor-group>.character-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.character-field-chooser{padding:18px 15px}.character-field-chooser h2{font-size:27px}.character-chooser-groups{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px}.character-chooser-group>summary{min-height:68px}.character-group-master{top:0}.character-chooser-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}.character-chooser-options label{font-size:15px}.character-editor-group>.character-editor-fields{grid-template-columns:minmax(0,1fr)}.character-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-editor-group>summary{font-size:24px}.character-field-chooser p{font-size:15px}}
@media(max-width:360px){.character-chooser-options,.character-choice-grid{grid-template-columns:minmax(0,1fr)}.character-selection-actions{gap:6px}.character-field-chooser button{padding-inline:10px;font-size:14px}}
@media print{.character-field-chooser,#character-field-chooser,.character-editor-group,.character-selection-status{display:none!important}.sheet-page .sheet-document-group{break-inside:auto}.sheet-page .sheet-document-group-title,.sheet-page .sheet-document-group .sheet-section-title{break-after:avoid}}

.character-selection-actions{margin-top:14px}
.character-custom-choice{display:flex;align-items:center;justify-content:space-between;gap:8px}
.character-custom-choice>.character-choice{flex:1}
.character-custom-choice>button{flex:none;min-height:44px;padding:8px 10px;border:0;background:transparent;color:var(--blue);font:400 14px var(--body);text-decoration:underline;cursor:pointer}
.character-storage-warning{margin-top:18px;padding:16px;border:1px solid #a99bc0;border-radius:5px;background:#fff}
.character-chooser-group summary:focus-visible,.character-editor-group summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.character-editor-group :is(input,select,textarea):disabled{background:#eeebf5;color:var(--muted)}

/* Keep optional choices out of the way until the writer needs them. */
.character-chooser-disclosure>summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font:600 19px/1.4 var(--body);list-style:none}
.character-chooser-disclosure>summary::-webkit-details-marker{display:none}
.character-chooser-disclosure>summary:before{content:"";width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:3px}
.character-chooser-disclosure[open]>summary:before{transform:rotate(45deg) translateY(-2px)}
.character-chooser-disclosure>summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.character-chooser-disclosure>summary .character-chooser-count{margin:0 0 0 auto;white-space:nowrap;font:400 14px/1.4 var(--body)}
.character-chooser-content{padding-top:8px}
