/* App-wide color roles. Type, damage and gameplay colors remain semantic. */
:root{--ui-bg:#0b1220;--ui-surface:#111d2e;--ui-raised:#1c2c42;--ui-input:#0d1929;--ui-line:#52647d;--ui-text:#e8eef7;--ui-muted:#b2c1d4;--ui-link:#86d9fa;--ui-story:#9dbce9;--ui-story-fill:#263e59;--ui-combat:#e4bd73;--ui-combat-fill:#44351b;--ui-library:#9fe0c0;--ui-library-fill:#213e35;--ui-reference:#86d9fa;--ui-reference-fill:#203d4e;--ui-danger:#efb1b1;--ui-success:#9fe0c0}
body>header #navStoryBtn{--nav-accent:var(--ui-story);--nav-fill:var(--ui-story-fill)}
body>header #navCombatBtn{--nav-accent:var(--ui-combat);--nav-fill:var(--ui-combat-fill)}
body>header #navMusicBtn{--nav-accent:var(--ui-library);--nav-fill:var(--ui-library-fill)}
body>header #navCompendiumBtn{--nav-accent:var(--ui-reference);--nav-fill:var(--ui-reference-fill)}
body :is(.story-column,.library-character-browser,#libraryCharacterDetails,#libraryMediaContent,.enemy-info-card,.session-panel){background:var(--ui-surface);border-color:var(--ui-line)}
body :is(.story-column-title,.library-controls,.library-detail-heading,.comp-detail-heading){background:var(--ui-raised);border-color:var(--ui-line)}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){background:var(--ui-input);color:var(--ui-text);border-color:var(--ui-line)}
body :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1}
body dialog{background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-text)}
body dialog :is(h2,h3){color:var(--ui-text)}
body :is(.story-chapter-popover,.library-character-popover){background:var(--ui-raised);border-color:var(--ui-line)}
/* Story hierarchy is blue; purple is reserved for Narration. */
body #storyChapterTabs .story-chapter-tab.is-selected{background:var(--ui-story-fill);border-color:var(--ui-story);box-shadow:inset 3px 0 var(--ui-story)}
body #storyChapterTabs button[aria-selected=true]{background:var(--ui-story-fill)!important;color:var(--ui-text)!important;border-color:var(--ui-story)!important;box-shadow:none}
body .story-dialog button[type=submit],body .scene-image-upload{background:var(--ui-story-fill);border-color:var(--ui-story);color:var(--ui-text)}
body #storyWorkspace .story-status-menu button[aria-pressed=true]{background:var(--ui-story-fill)!important;color:var(--ui-text)!important;box-shadow:inset 3px 0 var(--ui-story)!important}
body .story-summary-field>strong,body .story-context h3,body #storySceneDetails h4{color:#c5d6ec}
body .story-item-menu summary{color:var(--ui-story)}
/* Library selection follows its green navigation identity. */
body #libraryShell :is([aria-pressed=true],[aria-selected=true]){background:var(--ui-library-fill)!important;border-color:var(--ui-library)!important;color:var(--ui-text)!important;box-shadow:inset 0 -2px var(--ui-library)!important}
body #libraryCharacterResults>button[aria-selected=true]{box-shadow:inset 3px 0 var(--ui-library)!important}
body #libraryCharacterDetails h3{color:var(--ui-library)}
body :is(#libraryCharacterEditor,#libraryCharacterUseForm,#libraryMediaRename) button[type=submit]{background:var(--ui-library-fill);border-color:var(--ui-library);color:var(--ui-text)}
/* Reference filters/results use cyan, preserving semantic entry badges. */
body #viewCompendium :is(button[aria-pressed=true],button[aria-selected=true],.comp-entry-selected){background:var(--ui-reference-fill)!important;border-color:var(--ui-reference)!important;color:var(--ui-text)!important;box-shadow:inset 0 -2px var(--ui-reference)!important}
body #viewCompendium .comp-entry-selected{box-shadow:inset 3px 0 var(--ui-reference)!important}
body #viewCompendium :is(.comp-category-all,.comp-category-buttons button)[aria-pressed=true]::before{color:var(--ui-reference)}
body #viewCompendium .comp-category-switcher button[aria-pressed=true]{background:var(--ui-reference-fill)!important;color:var(--ui-text)!important}
/* Shared feedback stays readable, regardless of the current section. */
body .ui-save-indicator{color:var(--ui-success)}body .ui-save-indicator[data-error=true]{color:var(--ui-danger)}
body :is(.story-chapter-popover,.library-character-popover) button[data-story^=delete]{color:var(--ui-danger)!important}
body :is(button,input,textarea,select,summary):focus-visible{outline-color:var(--ui-link)!important}

body #libraryShell .library-detail-heading [data-character-action=delete]{color:var(--ui-danger);border-color:#865c66}

body .ui-icon-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:0!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:6px!important;margin-bottom:0!important;flex-shrink:0}
body .ui-icon-action svg{pointer-events:none;flex:none}body .ui-icon-action[data-icon-action=trash]{color:var(--ui-danger)}
body .story-chapter-popover .ui-icon-action{width:100%!important;justify-content:flex-start!important}

/* Scene palette: one card surface, recessed fields, Story-blue accents. */
body #storyInteractionWorkspace{background:var(--ui-bg)}
body #storyInteractionWorkspace :is(#storySkillReference,.story-summary-field,.scene-image-section,.scene-map-card,.scene-characters-card){background:var(--ui-surface)!important;border-color:var(--ui-line)!important;border-top:3px solid var(--ui-story)!important;box-shadow:none!important}
body #storyInteractionWorkspace :is(.story-summary-field>strong,.scene-media-heading h4,.scene-detail-heading h4,#storySkillReference h3){color:var(--ui-text)!important}
body #storyInteractionWorkspace :is(textarea,input:not([type=file]),select,.scene-npc){background:var(--ui-input)!important;border-color:var(--ui-line)!important;color:var(--ui-text)!important}
body #storyInteractionWorkspace :is(.scene-image-preview,.scene-map-preview){background:var(--ui-input)!important;border-color:var(--ui-line)!important}
body #storyInteractionWorkspace .scene-detail-actions button,body #storyInteractionWorkspace .scene-media-toolbar button,body #storyInteractionWorkspace .scene-npc-actions button,body #storyInteractionWorkspace .scene-image-upload,body #storyInteractionWorkspace .scene-image-gallery button{background:var(--ui-raised)!important;border-color:var(--ui-line)!important;color:var(--ui-text)!important;box-shadow:none!important}
body #storyInteractionWorkspace .scene-image-gallery button[aria-pressed=true]{background:var(--ui-story-fill)!important;border-color:var(--ui-story)!important;box-shadow:inset 0 -2px var(--ui-story)!important}
body #storyInteractionWorkspace .scene-image-gallery button[aria-pressed=true] span{color:var(--ui-text)!important}
body #storyInteractionWorkspace .story-skills-list :is(h4,abbr){color:var(--ui-story)!important}
body #storyInteractionWorkspace .story-skills-list li{border-color:var(--ui-line)}
body #storyInteractionWorkspace .story-skills-list li:hover,body #storyInteractionWorkspace .story-skills-list li:focus-visible{background:var(--ui-story-fill);outline-color:var(--ui-story)}
body #storyInteractionWorkspace :is(.scene-image-name,.scene-hint){color:var(--ui-muted)}

.comp-rarity-filters{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:10px 0}.comp-rarity-filters[hidden]{display:none}.comp-rarity-filters>span{font-size:12px;color:var(--ui-muted);margin-right:4px}.comp-rarity-filters button{border:1px solid var(--ui-line);border-radius:6px;padding:6px 9px;background:var(--ui-input);color:var(--ui-text)}.comp-rarity-filters button[aria-pressed=true]{background:var(--ui-reference-fill);border-color:var(--ui-reference);box-shadow:inset 0 -2px var(--ui-reference)}

.comp-item-variant{margin:0 0 24px;padding:0 0 20px;border-bottom:1px solid var(--ui-line)}.comp-item-variant>h3{font-size:17px;color:var(--ui-reference);margin:4px 0 14px}.comp-item-variant:last-child{border-bottom:0}.comp-item-variant .item-source{margin-top:14px}

body #monsterEntryEditor.clean-loot-editor{width:min(700px,95vw)}
body #monsterEntryEditor.clean-loot-editor table{width:100%;table-layout:fixed;border-collapse:collapse}
body #monsterEntryEditor.clean-loot-editor th:first-child{width:34px}
body #monsterEntryEditor.clean-loot-editor :is(td,th){padding:10px 6px;text-align:left;vertical-align:top}
body #monsterEntryEditor.clean-loot-editor tbody th{color:var(--ui-combat);padding-top:18px}
body #monsterEntryEditor.clean-loot-editor input[name^=loot_]{width:100%;max-width:none;box-sizing:border-box}
body #monsterEntryEditor.clean-loot-editor [hidden]{display:none!important}
body #monsterEntryEditor.clean-loot-editor .loot-row-actions{display:flex;gap:8px;margin-top:6px}
body #monsterEntryEditor.clean-loot-editor .loot-row-actions button{min-height:27px;padding:4px 8px;font-size:12px}
body #monsterEntryEditor.clean-loot-editor .loot-item-badge{display:flex;justify-content:space-between;gap:10px;align-items:center;width:100%;padding:8px 10px;background:var(--ui-reference-fill);border-color:var(--ui-reference);text-align:left}
body .loot-item-badge strong{font-size:14px;overflow-wrap:anywhere}body .loot-item-badge span{font-size:11px;color:var(--ui-reference);flex:none}
body #monsterEntryEditor.clean-loot-editor .item-loot-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 10px}

/* Edition variants are continuous reference prose, never raw record fields. */
body .comp-item-variant{margin:0;padding:14px 0 18px;border-bottom:1px solid var(--ui-line);background:transparent;box-shadow:none}
body .comp-item-variant:first-child{padding-top:0}
body .comp-item-variant .comp-variant-heading{position:static;background:transparent;padding:0;border:0;margin:0 0 8px}
body .comp-item-variant .comp-variant-heading h3{font-size:15px;line-height:1.4;color:var(--ui-reference);margin:0}
body .comp-variant-definition{font-size:14px;line-height:1.7}
body .comp-variant-definition p{margin:0 0 9px}
body .comp-variant-properties{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
body .comp-variant-properties>span{border:1px solid var(--ui-line);border-radius:5px;padding:3px 7px;background:var(--ui-raised);font-size:11px;color:var(--ui-text)}
body .comp-variant-note{font-size:12px;color:var(--ui-muted);margin:6px 0}
body .comp-item-variant .item-source{margin-top:8px;padding-top:6px}

body #backToLootTable{align-self:flex-start;margin:0 0 10px;padding:7px 12px;border:1px solid var(--ui-combat);border-radius:6px;background:var(--ui-combat-fill);color:var(--ui-text);font-weight:600}body #backToLootTable[hidden]{display:none!important}

body #musicClearFilters{background:var(--ui-combat-fill);border:1px solid var(--ui-combat);color:#ffe0a3;font-weight:650;border-radius:6px;padding:6px 10px}body #musicClearFilters:hover{background:#594222;border-color:#f5cc7d;color:#fff0cb}body #musicClearFilters:focus-visible{outline:2px solid #f5cc7d;outline-offset:2px}
