/* Shared visual language. Component layouts and damage-type colors remain local. */
:root{--ui-font:"Segoe UI",Inter,Arial,sans-serif;--ui-bg:#0b1220;--ui-surface:#111d2e;--ui-raised:#1c2c42;--ui-line:#52647d;--ui-text:#e8eef7;--ui-muted:#b2c1d4;--ui-accent:#f6cf76;--ui-link:#86d9fa;--ui-radius:8px;color-scheme:dark}
html,body{font-family:var(--ui-font)!important;background:var(--ui-bg);color:var(--ui-text);font-size:14px;line-height:1.5}body :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,dialog,.session-panel,#viewCompendium){font-family:var(--ui-font)!important;letter-spacing:normal}body h1{font-size:17px!important;font-weight:700;letter-spacing:.035em}body h2{font-size:19px!important;font-weight:650;line-height:1.35}body h3{font-size:15px;font-weight:650;line-height:1.4}body h4{font-size:12px;font-weight:700;line-height:1.4}body .ui-small-text{font-size:11px!important}body :is(.text-slate-400,.text-slate-500,.text-slate-600){color:var(--ui-muted)!important}body :is(button,input,select,textarea){font-size:13px;line-height:1.4}body button{min-height:28px;min-width:28px;cursor:pointer;transition:background-color .12s,border-color .12s,box-shadow .12s}body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#0b1626;color:var(--ui-text);padding:8px 10px}body input::placeholder,body textarea::placeholder{color:#9eb0c8;opacity:1}body :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--ui-accent)}body :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-link)!important;outline-offset:3px!important;box-shadow:none!important}body button:not(:disabled):hover{filter:brightness(1.15);border-color:#9aafca}body button:active:not(:disabled){transform:translateY(1px)}body button:disabled{opacity:.48!important;cursor:not-allowed;filter:none}body button[aria-pressed=true],body button[aria-current=page],body .choice-selector button[aria-pressed=true],body .choice-grid button[aria-pressed=true]{background:#44351b!important;color:#ffe5a3!important;border-color:#e0b354!important;box-shadow:inset 0 -2px #e0b354!important;font-weight:700!important}body .choice-selector button,body .choice-grid button{font-size:12px!important;min-height:28px;color:var(--ui-muted)!important}body .roll-mode-segment button{font-size:11px;min-height:28px;padding:5px 8px}body .roll-mode-segment button[data-md="mode:advantage"][aria-pressed=true]{background:#164936!important;color:#b5f5d4!important;border-color:#68d8a2!important;box-shadow:inset 0 -2px #68d8a2!important}body .roll-mode-segment button[data-md="mode:disadvantage"][aria-pressed=true]{background:#512735!important;color:#ffd2dc!important;border-color:#f395a9!important;box-shadow:inset 0 -2px #f395a9!important}
body>header{background:#111d2ef2;border-bottom:1px solid var(--ui-line)}body>header nav{gap:4px}body>header nav button{font-size:12px!important;min-height:32px;border:1px solid transparent;border-radius:7px}body .session-panel,body dialog{border-color:var(--ui-line);border-radius:12px;background:var(--ui-surface);color:var(--ui-text)}body dialog::backdrop{background:#030917bd;backdrop-filter:blur(2px)}body dialog label{font-size:12px!important;color:var(--ui-muted);line-height:1.5}body dialog :is(h2,h3){color:#f6cf76}body dialog button{min-height:32px}body dialog textarea{line-height:1.6}body .popup-topbar{border-color:var(--ui-line)}body .popup-close{min-width:32px!important}body .session-panel h2{color:var(--ui-text)}body .session-panel p{color:var(--ui-muted);line-height:1.6}body .session-row{gap:12px}body .session-card{padding:14px;border-color:#40536d;border-radius:9px}body .session-upload{font-size:13px;min-height:32px}body .session-card a{color:var(--ui-link);text-decoration:underline;text-underline-offset:3px}
body #viewCompendium{padding:16px;border-radius:12px}body .item-compendium-tabs{gap:8px;margin:0 0 16px}body .item-compendium-tabs button{padding:8px 14px;font-size:13px!important;min-height:34px}body .item-library-heading h2{margin:0 0 6px}body .item-library-heading p{font-size:12px;color:var(--ui-muted)}body .item-filters{gap:10px;margin:12px 0}body .item-filters label{font-size:12px;color:var(--ui-muted)}body .item-filters>input{min-height:36px;font-size:14px}body .item-card{padding:13px!important;gap:9px;border-color:#425773!important;border-radius:8px}body .item-card strong{font-size:14px;line-height:1.45;color:var(--ui-text)}body .item-card small{font-size:11px;color:var(--ui-muted);line-height:1.5}body .item-tags span{font-size:11px;padding:3px 6px;line-height:1.4}body #compCount,body #itemCount{font-size:12px;color:var(--ui-muted);margin:10px 0}body .comp-entry-selected{background:#3c301d!important;border-color:#e0b354!important;box-shadow:inset 3px 0 #e0b354!important}body .comp-detail-heading{background:#17263b;border-color:var(--ui-line)}body .comp-detail-heading h2{font-size:19px!important;color:var(--ui-text)}body :is(.comp-prose,.item-rules,#compRelatedBody){font-size:15px;line-height:1.75;color:#dde7f4}body .comp-field{margin:16px 0;border-color:#40536d}body .comp-field h4{font-size:12px;color:#9bcce2;margin:7px 0;letter-spacing:.03em}body :is(#compDetailBody,#compRelatedBody) strong{color:#f8d897;font-weight:700}body :is(#compDetailBody,#compRelatedBody) em{color:#d3c5f8}body .comp-reference-link{color:var(--ui-link)!important;text-underline-offset:4px}body .comp-rule-table td{padding:9px;border-color:#52647d;font-size:13px}body .comp-rule-table tr:first-child{color:#f8e0aa;background:#23354c}body .item-source{font-size:11px;line-height:1.6;color:var(--ui-muted)}body #compRelated header{border-bottom:1px solid #52647d}body .comp-related-controls{gap:8px}body #compHistoryDialog .comp-history-list button{padding:12px;min-height:52px}body .comp-history-list strong{font-size:14px}
body #screenEnemyPicker{gap:7px}body #screenEnemyPicker button{font-size:12px;padding:6px 10px;min-height:32px;border-color:#52647d}body #screenEnemyPicker small{font-size:12px;color:var(--ui-muted);font-variant-numeric:tabular-nums}body .enemy-info-card{border-color:#40536d;border-radius:9px}body .md-section-head{gap:8px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #344961}body .md-section-head :is(button,h4){font-size:12px!important}body .md-section-head button{min-height:28px!important;padding:5px 9px!important}body .md-entry{padding:9px 0;border-color:#344961}body .md-entry>div{gap:5px}body .md-entry strong{font-size:13px;line-height:1.5}body .md-description{font-size:13px;line-height:1.65;color:#dce7f4}body .md-description summary{font-size:12px;color:#a7d3e8;min-height:24px;cursor:pointer}body .md-description[open]>summary{color:#f6cf76}body .md-description blockquote{border-color:#597491;padding-left:10px}body .md-ability-grid{gap:6px}body .md-ability-grid button{min-height:44px;border-color:#52647d!important}body .md-save-grid button{min-height:28px;font-variant-numeric:tabular-nums}body .md-save-grid span{color:var(--ui-muted);font-size:11px}body .md-save-grid strong{font-size:14px}body .md-saves-heading{font-size:11px;color:var(--ui-muted);margin:12px 0 7px}body .enemy-summary-header h3{font-size:16px!important}body #screenRollResult{border-color:#8a7241;background:#292319;font-variant-numeric:tabular-nums}body .roll-breakdown-value{font-size:13px;line-height:1.5}body :is(.md-skill-badge,.md-info-badge,.condition-badge){font-size:11px;line-height:1.45}body #initiativeRail{border-color:#52647d}body .enemy-context{gap:7px}body .vendor-table td,body .vendor-table th{padding:10px;border-color:#425773;font-size:13px}body .vendor-table th{color:#c6d9ef;background:#17263b}body .vendor-table small{font-size:11px;color:var(--ui-muted)}body .ui-save-indicator{font-size:11px;color:#aaf0cd;white-space:nowrap;padding:5px 8px;border:1px solid #32634f;border-radius:6px;background:#112b22}body .ui-save-indicator[data-error=true]{color:#ffd3dc;border-color:#b17482;background:#452632}
@media(prefers-reduced-motion:reduce){body *{transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){body #viewCompendium{padding:10px}.comp-workspace{gap:10px}body :is(.comp-prose,.item-rules,#compRelatedBody){font-size:14px}body>header nav button{padding:6px 8px}.ui-save-indicator{display:none}}

.comp-category-browser{border-bottom:1px solid #40536d;padding-bottom:14px;margin:14px 0}.comp-category-browser h3{margin:0;font-size:13px}.comp-category-browser p{margin:4px 0 10px;font-size:12px;color:var(--ui-muted)}.comp-category-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.comp-category-buttons button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:6px;min-height:34px;padding:6px 9px;font-size:12px!important;border:1px solid #52647d!important;background:#1c2c42;color:#c8d7ea}.comp-category-buttons small{font-size:11px;color:inherit;opacity:.9}.comp-category-buttons button[aria-pressed=true]::before{content:"✓";color:#ffe5a3}@media(max-width:1000px){.comp-category-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
.comp-category-families{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.comp-category-family{padding:10px;border:1px solid #40536d;border-radius:8px;background:#101b2b}.comp-category-family h4{color:#b7d8ea;font-size:12px!important;margin:0 0 8px}.comp-category-family>div{display:grid;grid-template-columns:1fr;gap:5px}.comp-category-family:last-child{grid-column:1/-1}.comp-category-family:last-child>div{grid-template-columns:repeat(2,minmax(0,1fr))}.comp-category-all{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px!important;border:1px solid #52647d!important;background:#1c2c42;color:#c8d7ea}.comp-category-all[aria-pressed=true]::before{content:"✓"}.comp-category-all small{margin-left:auto;color:inherit}@media(max-width:700px){.comp-category-families{grid-template-columns:1fr}.comp-category-family:last-child>div{grid-template-columns:1fr}}
.comp-category-family{padding:0}.comp-category-family>summary{padding:10px 12px;cursor:pointer;font-size:13px;font-weight:600;color:#c8d7ea;min-height:38px;line-height:1.5;list-style:revert}.comp-category-family>summary:hover{background:#1c2c42}.comp-category-family>summary:focus-visible{outline:3px solid #86d9fa;outline-offset:2px}.comp-category-family>div{padding:0 10px 10px}.comp-family-selection{display:block;font-size:11px;font-weight:500;margin:3px 0 0 16px;color:#ffe5a3}.comp-family-selection:empty{display:none}.comp-category-family.has-selected-category{border-color:#e0b354}.comp-category-family[open]>summary{color:#f6cf76}.comp-category-family:last-child{grid-column:auto}.comp-category-family:last-child>div{grid-template-columns:1fr}
body .md-ability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 16px}body .md-ability-grid>.md-stat-tile{padding:9px 8px 7px;border:1px solid #425773;border-radius:9px;background:linear-gradient(145deg,#17263a,#0e192a);gap:3px}body .md-stat-label{display:flex;align-items:center;justify-content:space-between;gap:5px}body .md-stat-label strong{font-size:12px!important;color:#b7cce6;letter-spacing:.06em}body .md-stat-label span{font-size:12px!important;background:#263850;border:1px solid #52647d;border-radius:5px;padding:1px 5px;color:#d5e2f3;line-height:1.4}body .md-ability-grid .md-stat-roll{font-size:29px!important;font-weight:750!important;line-height:1.1!important;min-height:38px;padding:3px!important;background:transparent!important;border:1px solid transparent!important;color:#f8d897!important;font-variant-numeric:tabular-nums}body .md-ability-grid .md-stat-roll:hover{border-color:#e0b354!important;background:#44351b!important}body .md-stat-caption{font-size:11px!important;color:#aabdd4;line-height:1.3}body .md-saves-heading{padding-top:12px;border-top:1px solid #40536d;font-weight:650;letter-spacing:.035em;margin-bottom:9px}body .md-save-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:15px}body .md-save-grid button{padding:7px 8px!important;background:#17293f!important;border-color:#52647d!important;min-height:36px}body .md-save-grid strong{font-size:19px!important;font-weight:700;color:#9dddf7}body .md-save-grid span{font-size:11px!important;font-weight:600;color:#b7cce6}body .md-skills{border-top:1px solid #40536d;padding-top:12px;margin-top:12px;gap:7px}

/* Saving throws are the primary combat interaction; ability checks remain compact. */
body .md-ability-grid{gap:6px;margin:8px 0 10px}body .md-ability-grid>.md-stat-tile{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:7px 8px;gap:5px;background:#111e30;border-color:#344961;min-height:42px}body .md-stat-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px}body .md-stat-label strong{font-size:11px!important;color:#aebfd5;letter-spacing:.04em}body .md-stat-label span{background:none;border:0;padding:0;font-size:12px!important;color:#c6d5e8;line-height:1.2}body .md-ability-grid .md-stat-roll{font-size:18px!important;font-weight:650!important;color:#c9d8ec!important;min-height:28px!important;min-width:28px;padding:2px 3px!important}body .md-saves-heading{font-size:12px!important;color:#d5e8f8;font-weight:700;margin-top:8px;padding-top:10px}body .md-save-grid{gap:7px;margin-bottom:14px}body .md-save-grid button{min-height:46px!important;padding:8px 9px!important;background:#1b3047!important;border-color:#5c829d!important}body .md-save-grid strong{font-size:23px!important;color:#a5e3fc!important}body .md-save-grid span{font-size:12px!important;color:#d0e4f5!important}

body .md-saves-heading{border-top:0;padding-top:0;margin-top:3px;margin-bottom:9px}body .md-save-grid button{min-height:58px!important;align-items:center;gap:8px;padding:8px 10px!important}body .md-save-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.3}body .md-save-identity .md-save-name{font-size:12px!important;font-weight:700;color:#d0e4f5}body .md-save-identity .md-save-score{font-size:12px!important;font-weight:400;color:#b2c1d4}body .md-save-grid strong{font-size:24px!important;font-variant-numeric:tabular-nums}
#compFilterPath{display:grid;gap:6px;margin:8px 0}body .comp-filter-step{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;background:#44351b;border:1px solid #e0b354;border-radius:7px;color:#ffe5a3;font-size:13px;font-weight:650}body .comp-filter-step button{width:26px;min-width:26px;min-height:26px;padding:0;background:transparent;border:1px solid #a58a51;display:flex;align-items:center;justify-content:center}#compDrillChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;align-items:start}body #compDrillChoices button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:7px 10px;font-size:12px;border:1px solid #52647d;background:#1c2c42;text-align:left}#compDrillChoices small{color:#b2c1d4;font-size:11px}.comp-drill-end{grid-column:1/-1;font-size:12px;color:#b2c1d4;margin:3px 0}