/* One site-wide focus standard. Keep the ring within the control's own box.
   Important declarations in this layer outrank legacy unlayered overrides. */
@layer control-standard {
  :where(button,input,select,textarea,summary,[tabindex],[role="button"]):focus-visible {
    outline:2px solid var(--accent,#e8bf69) !important;
    outline-offset:-2px !important;
    box-shadow:none !important;
  }
  :where(input,select,textarea):focus {
    outline:2px solid var(--accent,#e8bf69) !important;
    outline-offset:-2px !important;
    box-shadow:none !important;
  }
  a:focus-visible {
    outline:none !important;
    box-shadow:none !important;
    text-decoration:underline !important;
    text-decoration-thickness:2px !important;
    text-underline-offset:4px !important;
  }
  a:has(img,svg):focus-visible {
    outline:2px solid var(--accent,#e8bf69) !important;
    outline-offset:-2px !important;
  }
  @media (forced-colors:active) {
    :where(button,input,select,textarea,summary,[tabindex],[role="button"]):focus-visible,
    :where(input,select,textarea):focus {outline-color:Highlight !important;}
  }
}
/* Space for text labels without changing existing horizontal field layouts. */
label:has(> :is(input:not([type="checkbox"],[type="radio"],[type="hidden"]),select,textarea)) {
  row-gap:10px;
  column-gap:12px;
}
:where(input,select,textarea,button){scroll-margin:12px}
#dice-tray .dice-actor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:14px 0 18px}
#dice-tray .dice-actor-field{display:flex;align-items:center;gap:10px;margin:0;min-width:0;font-size:.85rem;white-space:nowrap}
#dice-tray #dice-actor{width:100%;min-width:0;margin:0;padding:10px 8px}
#dice-tray #dice-private-label{display:flex;align-items:center;gap:8px;padding:0;margin:0;font-size:.85rem;white-space:nowrap}
#dice-tray #dice-private{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0}
#dice-spell-controls label{display:grid;gap:10px;margin:14px 0 0}
#dice-spell-mode{margin:0}
#dice-tray #dice-initiative{padding:8px 12px;border-radius:6px;background:var(--background);color:var(--text);border:1px solid var(--border,#594c63);margin:8px 0}

.roll-apply-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 0}.roll-apply-actions select{width:auto;max-width:100%;min-width:0;flex:1 1 140px}.roll-apply-actions button{flex:0 0 auto}.roll-effect-target{grid-template-columns:minmax(0,1fr) minmax(100px,180px)!important}

