/* Development 33 local preview: theme-aware encounter desk. */
#dc-root { --dc-line:color-mix(in srgb,var(--cx-accent,#d2b26d) 23%,transparent); --dc-panel:var(--cx-surface-1,#151711); scroll-margin-top:24px; }
#dc-root .dc-section { padding:28px; border:1px solid var(--dc-line); border-radius:20px; background:linear-gradient(140deg,color-mix(in srgb,var(--cx-accent) 4%,var(--dc-panel)),var(--dc-panel) 52%); }
#dc-root .dc-head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:24px; }
#dc-root [hidden] { display:none!important; }
#dc-root .dc-title { font-family:Cinzel,Georgia,serif; color:var(--cx-text-strong); font-size:clamp(23px,2.4vw,34px); margin:7px 0 8px; letter-spacing:-.025em; }
#dc-root .dc-eyebrow,.dc-library .dc-eyebrow { display:block; color:var(--cx-accent); font:600 10px system-ui,sans-serif; letter-spacing:.18em; }
#dc-root .dc-console-sub { font-size:15px; line-height:1.5; color:var(--cx-text-soft); }
#dc-root .dc-head-tools { justify-content:flex-end; max-width:410px; gap:8px; }
#dc-root .dc-enc-name { width:100%; max-width:none; font-size:17px; }
#dc-root .dc-head-tools #dc-status { min-height:18px; width:100%; text-align:right; font-size:12px; }
#dc-root .dc-active-banner { padding:23px 25px; border-radius:13px; margin-bottom:14px; border:1px solid var(--dc-line); border-left:4px solid var(--cx-accent); background:linear-gradient(100deg,color-mix(in srgb,var(--cx-accent) 12%,transparent),transparent); }
#dc-root .dc-active-banner strong { font-size:29px; margin:4px 0; }
#dc-root .dc-active-kicker { font-family:system-ui,sans-serif; font-size:11px; }
#dc-root .dc-active-actions button { min-height:46px; }
#dc-root .dc-active-actions .primary { color:var(--cx-surface-1,#151711); background:var(--cx-accent); font-weight:700; }
#dc-root .dc-overview { gap:18px; margin:18px 0 25px; }
#dc-root .dc-overview span { background:none; border:0; padding:0; font:12px system-ui,sans-serif; color:var(--cx-text-soft); }
#dc-root .dc-workspace { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }
#dc-root .dc-battle,#dc-root .dc-sidebar { min-width:0; }
#dc-root .dc-toolbar { margin:0 0 20px; padding:0; background:none; border:0; gap:7px; }
#dc-root .dc-toolbar .items-edit-btn { min-height:35px; font-size:10px; padding:7px 10px; }
#dc-root .dc-toolbar-spacer { flex-basis:100%; height:0; }
#dc-root .dc-order-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:14px 0; }
#dc-root .dc-order-heading h4 { margin:0; font:600 18px Cinzel,Georgia,serif; color:var(--cx-text-strong); }
#dc-root .dc-order-heading span { font:11px system-ui,sans-serif; color:var(--cx-text-dim); }
#dc-root .dc-list { display:grid; gap:11px; }
#dc-root .dc-card { display:block; border-radius:12px; padding:15px; background:rgba(0,0,0,.14); }
#dc-root .dc-card.active { border-color:var(--cx-accent); box-shadow:none; background:color-mix(in srgb,var(--cx-accent) 6%,transparent); }
#dc-root .dc-card-main { display:grid; grid-template-columns:18px 25px 46px 38px minmax(90px,1fr) 95px; gap:10px; align-items:center; }
#dc-root .dc-select span { display:none; }
#dc-root .dc-active-btn { height:25px; width:25px; font-size:12px; }
#dc-root .dc-initbox { grid-column:auto; }
#dc-root .dc-init { font:600 22px system-ui,sans-serif; height:39px; width:46px; border-radius:7px; }
#dc-root .dc-portrait { width:38px; height:38px; border-radius:10px; }
#dc-root .dc-name { font:600 16px Cinzel,Georgia,serif; color:var(--cx-text-strong); line-height:1.45; }
#dc-root .dc-name em { display:block; font:600 8px system-ui,sans-serif; letter-spacing:.12em; color:var(--cx-text-dim); }
#dc-root .dc-subline { font:11px system-ui,sans-serif; line-height:1.8; }
#dc-root .dc-vitals { display:block; text-align:right; }
#dc-root .dc-hptext { justify-content:flex-end; align-items:baseline; flex-wrap:wrap; gap:5px; font:12px system-ui,sans-serif; }
#dc-root .dc-hptext strong { font-size:24px; }
#dc-root .dc-hptext em { flex-basis:100%; font-size:11px; }
#dc-root .dc-hpbar { display:block; height:5px; margin:7px 0; border:0; }
#dc-root .dc-card.wounded .dc-hpbar i { background:#d2ac65; }
#dc-root .dc-card.critical .dc-hpbar i { background:#d67f6e; }
#dc-root .dc-card-actions { margin:13px 0 0 64px; display:flex; justify-content:flex-start; max-width:none; gap:5px; }
#dc-root .dc-card-actions button { min-height:30px; padding:5px 9px; font:11px system-ui,sans-serif; border-color:var(--dc-line); border-radius:6px; }
#dc-root [data-dc-damage] { color:#eda89e; }
#dc-root [data-dc-heal] { color:#aad3b7; }
#dc-root .dc-card-notes { margin:10px 0 0 64px; }
#dc-root .dc-card-notes input { font:12px system-ui,sans-serif; padding:8px; }
#dc-root .dc-chip { font:10px system-ui,sans-serif; padding:4px 7px; }
.dc-library { border:1px solid var(--dc-line,color-mix(in srgb,var(--cx-accent) 23%,transparent)); border-radius:12px; padding:18px; background:rgba(0,0,0,.16); min-width:0; }
.dc-rail-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.dc-rail-heading h4 { margin:7px 0 0; font:600 22px Cinzel,Georgia,serif; color:var(--cx-text-strong); }
.dc-search { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid color-mix(in srgb,var(--cx-accent) 30%,transparent); border-radius:8px; color:var(--cx-accent); background:rgba(0,0,0,.25); }
.dc-search input { min-width:0; width:100%; background:none; border:0; color:var(--cx-text-strong); font:13px system-ui,sans-serif; outline:none; }
.dc-search:focus-within { outline:2px solid var(--cx-accent); outline-offset:2px; }
.dc-bx-count { margin:12px 0; font:11px system-ui,sans-serif; color:var(--cx-text-dim); }
.dc-library-list { max-height:430px; overflow:auto; scrollbar-width:thin; }
.dc-creature { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:10px; padding:15px 0; align-items:center; border-top:1px solid color-mix(in srgb,var(--cx-accent) 13%,transparent); }
.dc-creature-mark { display:grid; place-items:center; width:30px; height:35px; border:1px solid color-mix(in srgb,var(--cx-accent) 20%,transparent); border-radius:8px; color:var(--cx-accent); font:600 16px Cinzel,Georgia,serif; }
.dc-creature strong { display:block; font:600 13px Cinzel,Georgia,serif; color:var(--cx-text-strong); }
.dc-creature span,.dc-creature small { display:block; font:11px system-ui,sans-serif; color:var(--cx-text-dim); margin-top:5px; line-height:1.45; }
.dc-creature small { color:var(--cx-text-soft); }
.dc-add-creature { padding:8px; min-height:34px; background:color-mix(in srgb,var(--cx-accent) 8%,transparent); border:1px solid color-mix(in srgb,var(--cx-accent) 35%,transparent); border-radius:7px; color:var(--cx-accent-bright); cursor:pointer; font:600 11px system-ui,sans-serif; }
.dc-add-creature:hover { background:var(--cx-accent); color:var(--cx-surface-1); }
.dc-bx-feedback,.dc-empty { font:12px/1.6 system-ui,sans-serif; color:var(--cx-text-soft); padding-top:12px; }
#dc-root .dc-player-roll { padding:12px 0; font:12px system-ui,sans-serif; }
#dc-root #dc-player-rolls { max-height:300px; overflow:auto; }
#dc-root .dc-player-roll-head strong { font-size:12px; }
#dc-root .dc-player-roll-head span { font-size:10px; }
#dc-root .dc-player-roll-result strong { font-size:24px; }
#dc-root .dc-panel { border-radius:12px; }
#dc-root .dc-panel>summary { padding:16px; font-size:12px; }
#dc-root .dc-roll20-relay .cx-hint { font:11px/1.6 system-ui,sans-serif; }
#dc-root .dc-rollers { margin-top:22px; }
#dc-root .dc-roller { padding:20px; border-radius:12px; }
#dc-root .dc-dice-tray { display:flex; gap:7px; margin-top:14px; flex-wrap:wrap; }
#dc-root .dc-dice-tray button { flex:1; min-width:40px; min-height:44px; border:1px solid var(--dc-line); border-radius:8px; color:var(--cx-accent-bright); background:rgba(0,0,0,.18); font:600 14px Cinzel,Georgia,serif; cursor:pointer; }
#dc-root .dc-dice-tray button:hover { background:color-mix(in srgb,var(--cx-accent) 13%,transparent); border-color:var(--cx-accent); }
.dc-statblock { font-size:16px; line-height:1.6; color:var(--cx-text-soft); }
.dc-statblock h4 { text-transform:capitalize; color:var(--cx-accent); }
.dc-statline { display:flex; gap:18px; padding:12px 0; border-block:1px solid color-mix(in srgb,var(--cx-accent) 20%,transparent); }
#dc-root button:focus-visible,.dc-library button:focus-visible { outline:2px solid var(--cx-accent); outline-offset:3px; }
@media(min-width:1400px){#dc-root .dc-workspace { grid-template-columns:minmax(0,1fr) 360px; } #dc-root .dc-card-main { grid-template-columns:18px 28px 52px 44px minmax(150px,1fr) 110px; }}
@media(max-width:1080px){#dc-root .dc-workspace { grid-template-columns:1fr; }#dc-root .dc-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:16px; }#dc-root .dc-sidebar>.dc-panel { margin:0; }#dc-root .dc-roll20-relay { grid-column:1/-1; }}
@media(max-width:680px){#dc-root .dc-section { padding:16px; }#dc-root .dc-head { flex-direction:column; gap:16px; }#dc-root .dc-head-tools { max-width:none; }#dc-root .dc-sidebar { display:block; }#dc-root .dc-sidebar>.dc-panel { margin-top:14px; }#dc-root .dc-active-banner { padding:18px; }#dc-root .dc-card-main { grid-template-columns:18px 25px 42px minmax(75px,1fr) 76px; gap:7px; }#dc-root .dc-portrait { display:none; }#dc-root .dc-identity { grid-column:4; }#dc-root .dc-vitals { grid-column:5; grid-row:1; }#dc-root .dc-name { font-size:14px; }#dc-root .dc-hptext strong { font-size:20px; }#dc-root .dc-card-actions,#dc-root .dc-card-notes { margin-left:0; }#dc-root .dc-order-heading { align-items:flex-start; flex-direction:column; gap:6px; }#dc-root .dc-toolbar .items-edit-btn { flex:1 1 120px; }#dc-root .dc-card-actions button { flex:1 1 auto; }}

#dc-root #dc-atk-adv { width:auto; min-width:125px; }
@media(max-width:680px){#dc-root .dc-dice-tray { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }}

/* Complete creature sheet, kept inside the encounter. */
#dc-modal.dc-stat-modal .dc-modal-card { width:min(1060px,96vw); max-height:90vh; }
#dc-modal.dc-stat-modal .dc-modal-head { padding:18px 24px; }
#dc-modal.dc-stat-modal .dc-modal-head h3 { font-size:23px; }
#dc-modal.dc-stat-modal .dc-modal-body { padding:0 24px 24px; }
.dc-statblock { font:15px/1.65 Georgia,serif; overflow-wrap:anywhere; }
.dc-statblock p,.dc-statblock dd { white-space:pre-wrap; }
.dc-sb-type { color:var(--cx-text-dim); font-style:italic; }
.dc-sb-vitals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:18px; border:1px solid color-mix(in srgb,var(--cx-accent) 25%,transparent); border-radius:10px; background:color-mix(in srgb,var(--cx-accent) 6%,transparent); }
.dc-sb-vitals>div { display:flex; flex-direction:column; }
.dc-sb-vitals span { font:11px system-ui,sans-serif; text-transform:uppercase; letter-spacing:.1em; color:var(--cx-text-dim); }
.dc-sb-vitals strong { font:600 28px system-ui,sans-serif; color:var(--cx-text-strong); margin:5px 0; }
.dc-sb-vitals small { font:12px system-ui,sans-serif; color:var(--cx-text-soft); }
.dc-sb-layout { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(0,1.4fr); gap:28px; align-items:start; }
.dc-statblock h4 { font:600 17px Cinzel,Georgia,serif; margin:24px 0 12px; padding-bottom:8px; border-bottom:1px solid color-mix(in srgb,var(--cx-accent) 22%,transparent); }
.dc-sb-abilities { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; text-align:center; margin:16px 0; }
.dc-sb-abilities>div { display:flex; flex-direction:column; padding:8px 0; border-radius:6px; background:rgba(0,0,0,.18); }
.dc-sb-abilities b,.dc-sb-abilities span { font:10px system-ui,sans-serif; color:var(--cx-text-dim); }
.dc-sb-abilities strong { font:600 19px system-ui,sans-serif; margin:7px 0; color:var(--cx-text-strong); }
.dc-sb-line { margin-bottom:10px; }
.dc-sb-line dt { display:inline; font-weight:700; color:var(--cx-text-strong); margin-right:6px; }
.dc-sb-line dd { display:inline; margin:0; }
.dc-sb-action { margin:16px 0 22px; }
.dc-sb-action h5 { display:flex; flex-wrap:wrap; gap:8px; align-items:baseline; font:600 17px Georgia,serif; color:var(--cx-text-strong); margin:0 0 8px; }
.dc-sb-action h5 span { font:11px system-ui,sans-serif; border:1px solid color-mix(in srgb,var(--cx-accent) 22%,transparent); border-radius:5px; padding:3px 6px; color:var(--cx-accent); }
.dc-sb-action p { margin:7px 0; }
.dc-sb-attack { font:12px/1.6 system-ui,sans-serif; color:var(--cx-text-dim); }
.dc-sb-rolls { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.dc-sb-rolls button { font:600 11px system-ui,sans-serif; padding:9px 12px; border-radius:6px; border:1px solid color-mix(in srgb,var(--cx-accent) 35%,transparent); color:var(--cx-accent-bright); background:color-mix(in srgb,var(--cx-accent) 7%,transparent); cursor:pointer; }
.dc-sb-rolls button:hover { background:color-mix(in srgb,var(--cx-accent) 18%,transparent); }
.dc-sb-rolls button:focus-visible { outline:2px solid var(--cx-accent); outline-offset:2px; }
.dc-sb-private { border-left:2px solid var(--cx-accent); padding-left:14px; }
.dc-sb-result { position:sticky; bottom:0; padding:14px; margin:18px 0 0; border:1px solid color-mix(in srgb,var(--cx-accent) 30%,transparent); border-radius:8px; background:var(--cx-surface-1,#18140f); color:var(--cx-accent-bright); font:13px/1.5 system-ui,sans-serif; box-shadow:0 -8px 18px rgba(0,0,0,.18); }
@media(max-width:720px){.dc-sb-layout { grid-template-columns:1fr; gap:0; }#dc-modal.dc-stat-modal .dc-modal-head { padding:14px; }#dc-modal.dc-stat-modal .dc-modal-body { padding:0 14px 20px; }.dc-sb-vitals { gap:8px; padding:12px; }.dc-sb-vitals strong { font-size:22px; }.dc-sb-vitals span { font-size:9px; }}

/* Shared Bestiary / SRD encounter library. */
.dc-library [hidden]{display:none!important}
.dc-library-tabs{display:flex;gap:6px;margin:12px 0}.dc-library-tabs button{flex:1;min-width:0;padding:9px 5px;font-size:11px;white-space:normal}.dc-library-tabs button[aria-pressed="true"]{background:rgba(207,173,89,.17);color:var(--gold,#e4c879);border-color:currentColor}
.dc-srd-edition,.dc-srd-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted,#baad91)}.dc-srd-edition{margin-bottom:12px}.dc-srd-body select{width:100%;min-width:0;padding:9px 6px;background:#17140e;color:#e9dec3;border:1px solid #55462a;border-radius:7px;font:inherit}
.dc-srd-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.dc-srd-count,.dc-srd-feedback,.dc-srd-license{font-size:11px;line-height:1.6;color:var(--muted,#baad91);margin:10px 0}.dc-srd-license a{color:var(--gold,#e4c879)}
.dc-srd-creature{padding:12px 0;border-bottom:1px solid rgba(198,166,88,.15);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.dc-srd-creature strong,.dc-srd-creature span,.dc-srd-creature small{display:block}.dc-srd-creature strong{font-size:14px}.dc-srd-creature span,.dc-srd-creature small{font-size:11px;color:var(--muted,#baad91);margin-top:4px}.dc-srd-actions{display:flex;flex-direction:column;gap:6px}.dc-srd-actions button{font-size:10px;padding:7px 9px}.dc-srd-actions [data-srd-add]{border-color:var(--gold,#d9b968);color:var(--gold,#d9b968)}.dc-srd-more{width:100%;margin-top:8px}.dc-srd-body .dc-library-list{max-height:510px;overflow:auto;overscroll-behavior:contain}

.dc-library-tabs button,.dc-srd-body button{background:transparent;color:var(--gold,#e4c879);border:1px solid rgba(198,166,88,.4);border-radius:8px;cursor:pointer;font-family:inherit;line-height:1.35}.dc-library-tabs button:hover,.dc-srd-body button:hover{background:rgba(207,173,89,.12)}.dc-library-tabs button:focus-visible,.dc-srd-body button:focus-visible{outline:2px solid var(--gold,#e4c879);outline-offset:2px}

/* DM's private dice palette. */
.dc-dice-settings .dc-panel-body{max-width:850px}.dc-dice-toggle{display:flex;align-items:center;gap:9px;font-weight:600}.dc-dice-toggle input{width:18px;height:18px;accent-color:var(--cx-accent)}.dc-dice-presets,.dc-dice-textures,.dc-dice-colors{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.dc-dice-settings button{padding:9px 12px;border:1px solid color-mix(in srgb,var(--cx-accent) 40%,transparent);border-radius:7px;background:transparent;color:var(--cx-text-strong);font:inherit;cursor:pointer}.dc-dice-settings button[aria-pressed="true"]{outline:2px solid var(--cx-accent);outline-offset:1px;background:color-mix(in srgb,var(--cx-accent) 15%,transparent)}.dc-dice-settings button:focus-visible{outline:2px solid var(--cx-accent);outline-offset:3px}.dc-dice-colors label{display:flex;flex-direction:column;gap:7px;min-width:85px}.dc-dice-colors input{width:65px;height:36px;background:transparent;border:1px solid var(--cx-accent);padding:3px;border-radius:6px;cursor:pointer}.dc-dice-upload,.dc-dice-copy{display:flex;flex-direction:column;gap:10px;margin-top:18px}.dc-dice-upload input{max-width:100%}.dc-dice-preview{display:inline-block;width:72px;height:72px;object-fit:cover;border-radius:8px;vertical-align:middle;margin:8px 14px 8px 0}.dc-dice-settings [role=status]{font:12px/1.6 system-ui,sans-serif;min-height:20px;color:var(--cx-text-dim)}
