/* The sheet fits the actual browser viewport; the developer preview is optional. */
@media screen {
 body.responsive-sheet { --editor-rail-width: 300px; --database-sidebar-width: var(--editor-rail-width); --database-brand-width: 210px; }
 .responsive-sheet .database-workspace { padding: calc(var(--database-header-height) + 12px) 12px 12px calc(var(--editor-rail-width) + 12px); }
 .responsive-sheet .character-sheet { margin: 0 auto; }
 .sheet-editor-rail { position: fixed; z-index: 220; inset: var(--database-header-height) auto 0 0; width: var(--editor-rail-width); padding: 10px; border-right: 1px solid var(--ui-blue); background: var(--ui-navy); color: white; overflow: auto; font: 12px/1.45 var(--body-font); }
 .sheet-rail-controls { display: grid; gap: 8px; }
 .sheet-editor-rail summary { padding: 8px; color: #cfe7ff; cursor: pointer; font-weight: 700; text-transform: uppercase; border: 1px solid var(--ui-line); border-radius: 4px; }
 .sheet-editor-rail .database-sidebar { position: static; width: 100%; border: 0; }
 .sheet-editor-rail .database-sidebar h2 { display: none; }
 .sheet-editor-rail .database-sidebar a { font-size: 12px; padding: 8px; }
 .sheet-editor-rail .layout-controls { display: flex; flex-direction: column; gap: 8px; margin: 0; width: 100%; }
 .sheet-editor-rail .layout-mode-menu { width: 100%; }
 .sheet-editor-rail .layout-mode-menu button { min-height: 34px; font-size: 12px; }
 .sheet-editor-rail .skill-edit-menu { display: flex; flex-wrap: wrap; width: 100%!important; }
 .sheet-editor-rail .toolbar-group { flex-wrap: wrap; }
 .sheet-editor-rail .skill-edit-menu button { font-size: 12px; min-height: 32px; }
 .sheet-editor-rail .rich-text-menu { flex-wrap: wrap; width: 100%!important; overflow: visible; }
 .sheet-editor-rail .rich-text-menu button,.sheet-editor-rail .rich-text-menu input { height: 28px; font-size: 12px; }
 .sheet-editor-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
 .sheet-editor-rail .companion-launcher { position: static!important; width: auto!important; height: auto!important; min-height: 40px; font-size: 12px; text-transform: uppercase; }
 .sheet-editor-rail .character-builder,.sheet-editor-rail .experience-shop { position: absolute!important; left: 10px!important; right: 10px!important; top: var(--editor-panel-top,240px)!important; bottom: 10px!important; width: auto!important; height: auto!important; max-height: none; margin: 0; min-height: 180px; }
 .sheet-editor-rail :is(.character-builder,.experience-shop) :is(p,label,input,textarea,select,button,summary,strong,span,li) { font-size: 12px; }
 .sheet-editor-rail :is(.character-builder,.experience-shop) :is(h2,h3,h4) { font-size: 14px; }
 .sheet-editor-rail :is(.character-builder,.experience-shop) :is(input:not([type=checkbox]):not([type=radio]),select,button) { min-height: 28px; }
 .sheet-editor-rail .experience-shop-header { position: sticky; top: 0; z-index: 5; }
 .sheet-editor-rail button:disabled { opacity: .5; cursor: default; }
 .sheet-editor-hint { margin: 14px 4px; color: #b9c8d3; font-size: 12px; }
 .responsive-sheet.layout-edit-mode .sheet-editor-hint { display: none; }
}
@media screen and (max-width: 1450px) and (min-width: 901px) { body.responsive-sheet { --editor-rail-width: 280px; } }
@media screen and (max-width: 900px) {
 body.responsive-sheet { --editor-rail-width: 0px; }
 .responsive-sheet .database-workspace { padding: calc(var(--database-header-height) + 12px) 8px 12px; overflow-x: auto; }
 .sheet-editor-rail { position: relative; inset: auto; width: 100%; height: 360px; margin-top: var(--database-header-height); }
 .responsive-sheet .database-workspace { padding-top: 12px; }
 .sheet-editor-rail .character-builder,.sheet-editor-rail .experience-shop { position: relative!important; inset: auto!important; width: 100%!important; height: 300px!important; margin-top: 10px; }
 .sheet-editor-rail .sheet-rail-controls { max-width: 600px; margin: auto; }
}
@media print { .sheet-editor-rail { display: none!important; } .character-sheet { zoom: 1!important; } }

@media screen {
 .sheet-editor-rail .layout-mode-menu[hidden] { display: none!important; }
 .sheet-navigation-toggle { position: relative; z-index: 242; width: 100%; min-height: 36px; padding: 8px; border: 1px solid var(--ui-blue); border-radius: 4px; color: white; background: var(--ui-slate); font: 700 14px var(--body-font); cursor: pointer; text-align: center; }
 .sheet-navigation-toggle[aria-expanded=true] { background: var(--ui-blue); }
 #sheet-navigation-drawer { position: absolute; z-index: 241; inset: 54px 0 0; overflow: auto; background: var(--ui-slate); transform: translateX(-102%); visibility: hidden; transition: transform 220ms ease, visibility 220ms; }
 .navigation-open #sheet-navigation-drawer { transform: translateX(0); visibility: visible; }
 .sheet-editor-rail #sheet-navigation-drawer .database-sidebar a { padding: 14px 10px; font-size: 14px; }
 .sheet-editor-rail .sheet-mode-input { display: grid; gap: 6px; width: 100%; font-size: 14px; font-weight: 700; color: #cfe7ff; }
 #sheet-mode { width: 100%; min-height: 36px; padding: 7px 10px; border: 1px solid var(--ui-blue); border-radius: 4px; background: var(--ui-slate); color: white; font: 600 14px var(--body-font); }
 .sheet-editor-rail .skill-edit-menu { padding: 0; border: 0; }
 .sheet-editor-rail .skill-edit-menu [data-toolbar-group=Save] { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; width: 100%; }
 .sheet-editor-rail .skill-edit-menu .toolbar-divider { display: none; }
 .sheet-editor-rail .skill-edit-menu button { border: 1px solid var(--ui-blue); border-radius: 4px; clip-path: none; background: var(--ui-slate); }
 .sheet-editor-rail [data-character-save-status] { grid-column: 1 / -1; }
 .sheet-editor-rail [data-character-save-status]:empty { display: none; }
 .sheet-editor-rail .layout-controls > details { width: 100%; }
 .sheet-editor-rail :focus-visible { outline: 2px solid #a7d7ff; outline-offset: 2px; }
}
@media (prefers-reduced-motion: reduce) { #sheet-navigation-drawer { transition: none; } }

/* Restore the original full-height navigation panel with an edge drawer handle. */
@media screen {
 .sheet-editor-rail { overflow-x: hidden; }
 .sheet-editor-rail .sheet-navigation-toggle { position: absolute; top: 0; left: 0; width: 24px; min-height: 46px; padding: 0; border: 0; border-right: 1px solid var(--ui-blue); border-bottom: 1px solid var(--ui-blue); border-radius: 0; color: var(--ui-blue); background: var(--ui-navy); font: 600 18px Arial,sans-serif; transition: left 220ms ease; }
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle { left: calc(100% - 24px); background: var(--ui-navy); }
 .sheet-editor-rail .sheet-mode-input { padding-top: 0; text-indent: 22px; }
 .sheet-editor-rail .sheet-mode-input select { text-indent: 0; }
 .sheet-editor-rail #sheet-navigation-drawer { inset: 0; background: #2d3e4a; border-top: 1px solid var(--ui-blue); }
 .sheet-editor-rail #sheet-navigation-drawer .database-sidebar { min-height: 100%; background: #2d3e4a; }
 .sheet-editor-rail #sheet-navigation-drawer .database-sidebar h2 { display: block; height: 46px; margin: 0; padding: 10px 26px; border-bottom: 1px solid var(--ui-blue); color: var(--ui-blue); background: #1d2d3b; font: 600 18px var(--body-font); letter-spacing: .18em; text-align: center; }
 .sheet-editor-rail #sheet-navigation-drawer .database-sidebar a { padding: 5px 10px; border: 0; font: 700 14px var(--body-font); letter-spacing: .035em; text-align: center; text-transform: none; }
}
@media (prefers-reduced-motion: reduce) { .sheet-editor-rail .sheet-navigation-toggle { transition: none; } }

/* Leave the drawer's narrow blue-edged lip visible while closed. */
@media screen {
 .sheet-editor-rail { padding-left: 24px; }
 .sheet-editor-rail::before { content: ''; position: absolute; z-index: 240; inset: 0 auto 0 0; width: 14px; box-sizing: border-box; background: #2d3e4a; border-right: 1px solid var(--ui-blue); pointer-events: none; }
 .sheet-editor-rail .sheet-navigation-toggle { width: 14px; min-height: 43px; font-size: 11px; }
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle { left: calc(100% - 14px); }
 .sheet-editor-rail .sheet-mode-input { text-indent: 0; }
 .sheet-editor-rail .character-builder,.sheet-editor-rail .experience-shop { left: 24px!important; }
}
@media screen and (max-width: 900px) {
 .sheet-editor-rail .character-builder,.sheet-editor-rail .experience-shop { left: auto!important; }
}

/* The open handle sits flush inside the navigation heading. */
@media screen {
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle {
  top: 1px;
  left: calc(100% - 14px);
  width: 14px;
  height: 45px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #1d2d3b;
  color: var(--ui-blue);
  font: 400 10px Arial,sans-serif;
  box-shadow: none;
 }
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle:hover,
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle:focus-visible {
  color: #cfe7ff;
  background: #1d2d3b;
 }
 .sheet-editor-rail.navigation-open .sheet-navigation-toggle:focus-visible {
  outline-offset: -2px;
 }
}

@media screen {
 .sheet-editor-rail .sheet-mode-input { display: grid; grid-template-columns: 84px minmax(0,1fr); gap: 0; align-items: stretch; overflow: hidden; border: 1px solid #000; border-radius: 10px; background: var(--ui-blue); color: white; }
 .sheet-mode-input > span { display: grid; place-items: center; padding: 6px; }
 .sheet-editor-rail #sheet-mode { min-width: 0; border: 0; border-left: 1px solid var(--ui-line); border-radius: 0; text-align: center; }
 body:not(.layout-edit-mode) .sheet-format-options { display: none!important; }
 .sheet-zoom-controls { display: grid; grid-template-columns: 32px 1fr 32px auto; align-items: center; gap: 5px; width: 100%; }
 .sheet-zoom-controls button { min-height: 30px; padding: 4px 7px; border: 1px solid var(--ui-blue); border-radius: 4px; background: var(--ui-slate); color: white; font: 600 12px var(--body-font); cursor: pointer; }
 .sheet-zoom-controls output { text-align: center; font-size: 12px; }
 .sheet-rail-resize { position: fixed; top: var(--database-header-height); bottom: 0; width: 7px; z-index: 250; cursor: col-resize; touch-action: none; }
 .sheet-rail-resize:hover,.sheet-rail-resize:focus-visible { background: var(--ui-blue); outline: none; }
}
@media screen and (min-width: 901px) {
 .responsive-sheet .database-workspace { position: fixed; inset: var(--database-header-height) 0 0 var(--editor-rail-width); padding: 12px; overflow: auto; }
}
@media screen and (max-width: 900px) { .sheet-rail-resize { display: none; } }
@media print { .sheet-rail-resize { display: none; } }

@media screen {
 .sheet-zoom-controls { position: fixed; z-index: 230; bottom: 8px; left: calc(50% + var(--editor-rail-width) / 2); transform: translateX(-50%); width: 240px; padding: 6px; border: 1px solid var(--ui-blue); border-radius: 6px; background: var(--ui-navy); color: white; box-shadow: 0 3px 12px #0006; }
 .sheet-zoom-controls button:disabled { opacity: .5; cursor: default; }
 .sheet-editor-rail .sheet-rail-controls,
 .sheet-editor-rail .layout-controls { gap: 20px; }
 .sheet-editor-rail .skill-edit-menu [data-toolbar-group=Save] { row-gap: 20px; }
 .sheet-editor-rail .sheet-format-options[open] > :not(summary) { margin-top: 20px; }
 .sheet-editor-rail .sheet-editor-hint { margin-top: 20px; }
}
@media screen and (min-width: 901px) {
 .responsive-sheet .database-workspace { bottom: 52px; }
}
@media screen and (max-width: 900px) {
 .sheet-zoom-controls { left: 50%; }
 .responsive-sheet .database-workspace { padding-bottom: 64px; }
}
@media print { .sheet-zoom-controls { display: none; } }

@media screen {
 .responsive-sheet .database-workspace,
 .sheet-editor-rail,
 .sheet-editor-rail :is(dialog,textarea,#sheet-navigation-drawer) {
  scrollbar-width: thin;
  scrollbar-color: #4d6b80 var(--ui-navy);
 }
 .responsive-sheet .database-workspace::-webkit-scrollbar,
 .sheet-editor-rail::-webkit-scrollbar,
 .sheet-editor-rail ::-webkit-scrollbar { width: 7px; height: 7px; }
 .responsive-sheet .database-workspace::-webkit-scrollbar-track,
 .sheet-editor-rail::-webkit-scrollbar-track,
 .sheet-editor-rail ::-webkit-scrollbar-track { background: var(--ui-navy); }
 .responsive-sheet .database-workspace::-webkit-scrollbar-thumb,
 .sheet-editor-rail::-webkit-scrollbar-thumb,
 .sheet-editor-rail ::-webkit-scrollbar-thumb { background: #4d6b80; border: 1px solid var(--ui-navy); border-radius: 7px; }
 .responsive-sheet .database-workspace::-webkit-scrollbar-corner { background: var(--ui-navy); }
 .sheet-editor-rail .sheet-mode-input { grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: var(--ui-carbon); }
 .sheet-editor-rail .sheet-mode-input > span { background: var(--ui-carbon); }
 .sheet-editor-rail #sheet-mode { width: 100%; color-scheme: dark; }
 .sheet-editor-rail .sheet-rail-controls button {
  padding: 5.6px 7px;
  border: .7px solid var(--ui-line);
  border-radius: 4.9px;
  clip-path: none;
  color: white;
  background: var(--ui-navy);
  font-family: var(--body-font);
  font-weight: 700;
  cursor: pointer;
 }
 .sheet-editor-rail .sheet-rail-controls button:enabled:hover,
 .sheet-editor-rail .sheet-rail-controls button:enabled:focus-visible { border-color: var(--ui-blue); background: var(--ui-blue-soft); }
 .sheet-editor-rail .sheet-rail-controls button[aria-pressed=true] { border-color: var(--ui-blue); background: var(--ui-blue-soft); }
 .sheet-editor-rail .sheet-rail-controls button:disabled { opacity: .45; cursor: not-allowed; }
}

@media screen and (min-width: 901px) {
 .responsive-sheet .database-workspace { bottom: 0; }
}
@media screen {
 .sheet-editor-rail .character-database-dialog { position: absolute; inset: var(--editor-panel-top,240px) 10px 10px 24px; width: auto; height: auto; max-width: none; max-height: none; margin: 0; overflow: auto; border: 1px solid var(--ui-blue); background: var(--ui-slate); color: white; }
 .sheet-editor-rail .character-database-dialog form { gap: 20px; padding: 12px; }
 .sheet-editor-rail .character-database-dialog h2 { font-size: 14px; text-align: center; }
 .sheet-editor-rail .character-database-dialog label { gap: 6px; font-size: 12px; }
 .sheet-editor-rail .character-database-dialog select { min-height: 32px; font-size: 12px; color-scheme: dark; }
 .sheet-editor-rail .character-database-status { font-size: 12px; }
 .sheet-editor-rail .character-database-actions { gap: 10px; justify-content: center; }
 .sheet-editor-rail .character-database-actions button { min-height: 30px; font: 700 12px var(--body-font); border: .7px solid var(--ui-line); border-radius: 4.9px; background: var(--ui-navy); }
 .sheet-editor-panels:has(.character-database-dialog[open]) .sheet-editor-hint { visibility: hidden; }
}
@media screen and (max-width: 900px) {
 .sheet-editor-rail .character-database-dialog { position: relative; inset: auto; width: 100%; height: 300px; margin-top: 10px; }
}

@media screen {
 .sheet-zoom-drawer { position: fixed; z-index: 230; bottom: 0; left: calc(50% + var(--editor-rail-width) / 2); width: 240px; transform: translateX(-50%); transition: transform 220ms ease; }
 .sheet-zoom-drawer .sheet-zoom-controls { position: relative; inset: auto; transform: none; width: 100%; border-radius: 6px 6px 0 0; }
 .sheet-zoom-handle { display: block; width: 38px; height: 22px; margin: 0 auto; padding: 0; border: 1px solid var(--ui-blue); border-bottom: 0; border-radius: 4px 4px 0 0; color: #cfe7ff; background: var(--ui-navy); font: 600 14px Arial,sans-serif; cursor: pointer; }
 .sheet-zoom-handle:hover { background: var(--ui-slate); }
 .sheet-zoom-handle:focus-visible { outline: 2px solid #a7d7ff; outline-offset: -2px; }
 .sheet-zoom-drawer.is-closed { transform: translate(-50%, calc(100% - 22px)); }
}
@media screen and (max-width: 900px) { .sheet-zoom-drawer { left: 50%; } }
@media (prefers-reduced-motion: reduce) { .sheet-zoom-drawer { transition: none; } }
@media print { .sheet-zoom-drawer { display: none; } }

/* A quiet, full-width grip remains visible in either drawer state. */
@media screen {
 .sheet-zoom-drawer .sheet-zoom-handle {
  width: 100%;
  height: 14px;
  margin: 0;
  border: 1px solid #38566e;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  background: #152532;
  color: #7391a8;
  font: 400 10px/12px Arial,sans-serif;
 }
 .sheet-zoom-drawer .sheet-zoom-handle:hover,
 .sheet-zoom-drawer .sheet-zoom-handle:focus-visible {
  color: #cfe7ff;
  background: #1d3040;
 }
 .sheet-zoom-drawer .sheet-zoom-controls { border-radius: 0; border-top-color: #38566e; }
 .sheet-zoom-drawer.is-closed { transform: translate(-50%, calc(100% - 14px)); }
}

@media screen {
 .sheet-editor-rail { padding-top: 0; }
 .sheet-editor-rail .sheet-mode-input {
  width: calc(100% + 34px);
  margin-left: -24px;
  min-height: 46px;
  border: 0;
  border-bottom: 1px solid var(--ui-blue);
  border-radius: 0;
 }
 .sheet-editor-rail .sheet-mode-input > span { padding-left: 20px; }
 .sheet-editor-rail .sheet-mode-input #sheet-mode { border-radius: 0; min-height: 46px; }
 .sheet-editor-rail .sheet-editor-hint {
  margin: -12px 0 0;
  color: #b9c8d3;
  font-size: 12px;
  font-style: italic;
  text-align: center;
 }
 .sheet-editor-rail .sheet-mode-input:has(+ .sheet-editor-hint) { margin-bottom: 0; }
}

@media screen {
 .sheet-editor-rail .layout-controls { align-items: stretch; }
 .sheet-editor-rail .sheet-mode-input { height: 46px; min-height: 46px; flex-shrink: 0; border-radius: 0; }
 .sheet-editor-rail .sheet-mode-input #sheet-mode { height: 45px; min-height: 45px; }
 .sheet-editor-rail .sheet-editor-tabs { display: none!important; }
 .sheet-editor-rail .layout-controls > .character-database-dialog { position: static!important; inset: auto!important; width: 100%!important; height: auto!important; min-height: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
 .sheet-editor-rail .character-database-dialog form { padding: 0; }
 .sheet-editor-rail .character-database-dialog h2 { display: none; }
 .sheet-editor-rail .character-load-description { margin: 0; font: italic 12px/1.5 var(--body-font); text-align: center; }
 .sheet-editor-rail .layout-controls:has(.character-database-dialog[open]) > .sheet-editor-hint { display: none; }
 .sheet-editor-rail .character-database-dialog select { width: 100%; }
 .sheet-editor-rail .character-database-status:empty { display: none; }
}

/* Keep the grip at the viewport edge while only the controls slide. */
@media screen {
 .sheet-zoom-drawer,
 .sheet-zoom-drawer.is-closed { height: 13px; transform: translateX(-50%); }
 .sheet-zoom-drawer .sheet-zoom-handle { position: relative; z-index: 2; height: 13px; font-size: 10px; line-height: 11px; }
 .sheet-zoom-drawer .sheet-zoom-controls { position: absolute; left: 0; right: 0; top: auto; bottom: 13px; transition: transform 220ms ease; }
 .sheet-zoom-drawer.is-closed .sheet-zoom-controls { transform: translateY(calc(100% + 13px)); }
}
@media (prefers-reduced-motion: reduce) { .sheet-zoom-drawer .sheet-zoom-controls { transition: none; } }

@media screen {
 .sheet-editor-rail:not([data-active-panel=edit]) .skill-edit-menu,
 .sheet-editor-rail:not([data-active-panel=edit]) .sheet-format-options,
 .sheet-editor-rail:not([data-active-panel=edit]) .character-database-dialog { display: none!important; }
 .sheet-zoom-drawer .sheet-zoom-handle { display: flex; align-items: center; justify-content: center; line-height: 1; }
 .sheet-zoom-controls { align-items: center; }
 .sheet-zoom-controls button,.sheet-zoom-controls output { display: flex; align-items: center; justify-content: center; line-height: 1; }
 .sheet-zoom-controls output { min-height: 30px; }
}
@media screen and (min-width: 901px) {
 .responsive-sheet .database-workspace { bottom: 13px; }
}

@media screen {
 .sheet-editor-rail .sheet-mode-input { height: 43px; min-height: 43px; }
 .sheet-editor-rail .sheet-mode-input #sheet-mode { width: 100%; max-width: 100%; height: 42px; min-height: 42px; padding: 6px 2px; font-size: 11px; letter-spacing: 0; }
 .sheet-editor-rail .sheet-mode-input > span { font-size: 12px; }
}

@media screen {
 .sheet-zoom-slide { position: absolute; left: 0; right: 0; bottom: 13px; overflow: hidden; pointer-events: none; }
 .sheet-zoom-drawer .sheet-zoom-slide .sheet-zoom-controls { position: relative; inset: auto; transform: translateY(0); pointer-events: auto; box-shadow: none; transition: transform 220ms ease; }
 .sheet-zoom-drawer.is-closed .sheet-zoom-slide .sheet-zoom-controls { transform: translateY(100%); pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) { .sheet-zoom-drawer .sheet-zoom-slide .sheet-zoom-controls { transition: none; } }

@media screen {
 .sheet-zoom-controls button {
  padding: 5.6px 7px;
  border: .7px solid var(--ui-line);
  border-radius: 4.9px;
  color: white;
  background: var(--ui-navy);
  font: 700 12px/1 var(--body-font);
  text-transform: uppercase;
  cursor: pointer;
 }
 .sheet-zoom-controls button:enabled:hover,
 .sheet-zoom-controls button:enabled:focus-visible {
  border-color: var(--ui-blue);
  background: var(--ui-blue-soft);
 }
 .sheet-zoom-controls button:focus-visible { outline: 2px solid #a7d7ff; outline-offset: -2px; }
 .sheet-zoom-controls button:disabled { opacity: .45; cursor: not-allowed; }
}

@media screen {
 .sheet-editor-rail #sheet-mode:focus { outline: none; box-shadow: none; }
 .sheet-editor-rail #sheet-mode:focus-visible { outline: 1px solid #a7d7ff; outline-offset: -3px; }
}

@media screen {
 .sheet-zoom-slide { border-radius: 8px 8px 0 0; }
 .sheet-zoom-drawer .sheet-zoom-slide .sheet-zoom-controls { border-radius: 8px; }
}

@media screen {
 .sheet-editor-rail:not([data-active-panel=edit]) .sheet-character-picker { display: none; }
 .sheet-character-picker { display: grid; gap: 20px; color: white; }
 .sheet-character-picker > label { display: grid; gap: 6px; font: 700 12px var(--body-font); }
 .sheet-character-combo { display: grid; grid-template-columns: minmax(0,1fr) 30px; border: 1px solid var(--ui-blue); border-radius: 4px; overflow: hidden; }
 .sheet-character-combo input,.sheet-character-combo select { width: 100%; min-width: 0; min-height: 34px; padding: 5px 7px; border: 0; border-radius: 0; background: var(--ui-slate); color: white; color-scheme: dark; font: 12px var(--body-font); }
 .sheet-character-combo select { padding: 0; border-left: 1px solid var(--ui-line); color: transparent; }
 .sheet-character-combo select option,.sheet-character-combo select optgroup { color: white; background: var(--ui-navy); }
 .sheet-editor-rail .character-database-dialog { display: none!important; }
}

@media screen {
 .sheet-character-combo select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23cfe7ff' stroke-width='2'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; }
}

@media screen {
 .sheet-character-row { display: grid; grid-template-columns: 84px minmax(0,1fr); min-height: 28px; border: 1px solid #17212a; border-radius: 9px; overflow: hidden; background: #53636f; }
 .sheet-character-row > label { display: grid; place-items: center; padding: 4px; background: #10171c; color: white; font: 700 10px var(--body-font); }
 .sheet-character-row .sheet-character-combo { border: 0; border-radius: 0; }
 .sheet-character-row input,.sheet-character-row select { width: 100%; min-width: 0; min-height: 28px; border: 0; border-radius: 0; padding: 4px 6px; background-color: #53636f; color: white; color-scheme: dark; font: 12px var(--body-font); text-align: center; }
 .sheet-character-row input::placeholder { color: #d3dce2; font-style: italic; }
 .sheet-character-row .sheet-character-combo select { color: transparent; }
 .sheet-character-row select option { color: white; background: var(--ui-navy); }
}

@media screen {
 .sheet-character-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .sheet-character-row > label { background: var(--ui-blue); }
}

/* Editor titles form a second full-width header directly beneath MODE. */
@media screen {
 .sheet-editor-rail[data-active-panel=element] .character-builder,
 .sheet-editor-rail[data-active-panel=experience] .experience-shop {
  top: 43px!important;
  left: 14px!important;
  right: 0!important;
  bottom: 0!important;
  margin: 0;
  border: 0;
  border-radius: 0;
 }
 .sheet-editor-rail :is(.character-builder,.experience-shop) > .experience-shop-header:first-child {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 43px;
  min-height: 43px;
  margin: 0;
  padding: 0 10px;
  border-radius: 0;
  border-bottom: 1px solid var(--ui-blue);
 }
 .sheet-editor-rail :is(.character-builder,.experience-shop) > .experience-shop-header:first-child h2 {
  margin: 0;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
 }
}
@media screen and (max-width: 900px) {
 .sheet-editor-rail[data-active-panel=element] .character-builder,
 .sheet-editor-rail[data-active-panel=experience] .experience-shop { position: absolute!important; width: auto!important; height: auto!important; }
}

@media screen {
 .sheet-editor-rail .sheet-rail-controls,
 .sheet-editor-rail .layout-controls,
 .sheet-editor-rail .sheet-character-picker { gap: 8px; }
 .sheet-editor-rail .skill-edit-menu [data-toolbar-group=Save] { row-gap: 8px; }
 .sheet-editor-rail .sheet-format-options[open] > :not(summary) { margin-top: 8px; }
 .sheet-editor-rail .sheet-editor-hint { margin: 0; }
 .sheet-editor-rail .character-builder-body,
 .sheet-editor-rail .builder-start { gap: 6px; }
 .sheet-editor-rail :is(.skill-edit-menu,.toolbar-group,.builder-actions,.builder-quick-links,.builder-wizard-nav) { background: transparent; box-shadow: none; }
}

@media screen {
 .sheet-editor-rail .experience-shop > .experience-shop-header:first-child { background: var(--ui-blue); color: white; }
 .sheet-editor-rail .experience-shop > .experience-shop-header:first-child h2 { color: white; }
 .experience-shop-lock { padding: 8px; margin: 8px; border: 1px solid var(--ui-blue); border-radius: 4px; color: #cfe7ff; background: var(--ui-navy); font: 12px/1.4 var(--body-font); text-align: center; }
 .experience-shop-lock[hidden] { display: none; }
}

@media screen {
 .sheet-zoom-drawer { --zoom-scrollbar-gap: 16px; }
 .sheet-zoom-drawer .sheet-zoom-slide { bottom: calc(13px + var(--zoom-scrollbar-gap)); }
}

.portals-calendar{width:min(301px,calc(100vw - 22.4px))}.portals-calendar-body{display:grid;gap:8.4px;padding:11.2px}.portals-calendar-controls{display:grid;grid-template-columns:auto minmax(84px,1fr) 64.4px auto;gap:4.2px}.portals-calendar-controls select,.portals-calendar-controls input{min-width:0;padding:4.9px 5.6px;border:0.7px solid var(--ui-line);border-radius:5.6px;color:#fff;background:var(--ui-navy);font:8.4px var(--body-font)}.calendar-step{width:25.2px;padding:0}.portals-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3.5px}.portals-calendar-week span{padding:1.4px;color:#91a4b2;font:600 7px var(--display-font);text-align:center}.portals-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3.5px}.portals-calendar-day{aspect-ratio:1;border:0.7px solid var(--ui-line);border-radius:5.6px;color:#eef4f7;background:var(--ui-navy);font:600 8.4px var(--body-font);cursor:pointer}.portals-calendar-day:hover,.portals-calendar-day:focus-visible{border-color:var(--ui-blue);outline:0;background:#315c7a}.portals-calendar-day[aria-current="date"]{border-color:var(--ui-blue);background:var(--ui-blue)}.portals-calendar-note{margin:0;color:#aebdca;font:7.7px var(--body-font)}
.portals-calendar{width:min(238px,calc(100vw - 16.8px))}.portals-calendar .dialog-head{padding:6.3px 8.4px}.portals-calendar .dialog-head h2{font-size:11.2px}.portals-calendar-body{gap:5.6px;padding:7px}.portals-calendar-controls{grid-template-columns:21px minmax(70px,1fr) minmax(57.4px,1fr) 21px;gap:2.8px}.portals-calendar-controls select{min-width:0;height:21px;padding:2.8px 4.2px;border:0.7px solid var(--ui-line);border-radius:4.9px;color:#fff;background:var(--ui-navy);font:7.7px var(--body-font)}.portals-calendar .calendar-step{width:21px;min-width:21px;min-height:21px;padding:0}.portals-calendar-week{gap:2.1px}.portals-calendar-week span{padding:0.7px;font-size:6.3px}.portals-calendar-days{gap:2.1px}.portals-calendar-day{min-height:21px;border-radius:4.2px;font-size:7.7px}.portals-calendar-blank{min-height:21px}.portals-calendar-note{font-size:7px}.portals-calendar .dialog-actions{margin-top:1.4px;padding-top:5.6px}.portals-calendar .dialog-actions .button{min-height:21px;padding:2.8px 6.3px;font-size:7.7px}
.portals-calendar{width:min(217px,calc(100vw - 16.8px))}.portals-calendar-controls{grid-template-columns:19.6px minmax(65.8px,1fr) minmax(57.4px,1fr) 19.6px}.portals-calendar-year{display:flex;align-items:center;height:21px;border:0.7px solid var(--ui-line);border-radius:4.9px;color:#9fb1be;background:var(--ui-navy);font:7px var(--display-font);letter-spacing:.04em}.portals-calendar-year span{padding-left:4.9px}.portals-calendar-year input{width:100%;min-width:0;height:19.6px;padding:2.1px 4.2px 2.1px 2.8px;border:0;color:#fff;background:transparent;font:7.7px var(--body-font);appearance:textfield}.portals-calendar-year input:focus{outline:0}.portals-calendar-year input::-webkit-inner-spin-button,.portals-calendar-year input::-webkit-outer-spin-button{appearance:none;margin:0}.portals-calendar-week{gap:0;border-right:0.7px solid var(--ui-line);border-bottom:0.7px solid var(--ui-line)}.portals-calendar-week span{padding:2.1px 0;border-left:0.7px solid var(--ui-line);font-size:5.6px}.portals-calendar-days{gap:0;border-right:0.7px solid var(--ui-line)}.portals-calendar-day{min-height:16.1px;aspect-ratio:auto;border:0;border-bottom:0.7px solid var(--ui-line);border-left:0.7px solid var(--ui-line);border-radius:0;color:#dce6ec;background:transparent;font:500 7px var(--body-font)}.portals-calendar-day:hover,.portals-calendar-day:focus-visible{border-color:var(--ui-line);outline:0;color:#fff;background:#315c7a}.portals-calendar-day[aria-current="date"]{border-color:var(--ui-line);background:var(--ui-blue)}
.portals-calendar{width:min(231px,calc(100vw - 16.8px))}.portals-calendar .dialog-head h2{font-size:12.6px}.portals-calendar-controls{display:grid;grid-template-columns:1fr 1fr;gap:3.5px}.calendar-nudger{display:grid;grid-template-columns:17.5px minmax(0,1fr) 17.5px;align-items:center;min-width:0;border:0.7px solid var(--ui-line);border-radius:4.9px;overflow:hidden;background:var(--ui-navy)}.calendar-nudger .calendar-step{width:17.5px;min-width:17.5px;min-height:21px;border:0;border-radius:0;background:transparent;font-size:9.8px}.calendar-nudger .calendar-step:hover{background:#315c7a}.calendar-nudger select{height:21px;border:0;border-right:0.7px solid var(--ui-line);border-left:0.7px solid var(--ui-line);border-radius:0;font-size:8.4px;text-align:center}.calendar-nudger .portals-calendar-year{height:21px;border:0;border-right:0.7px solid var(--ui-line);border-left:0.7px solid var(--ui-line);border-radius:0}.portals-calendar-year span{font-size:7px;font-weight:700}.portals-calendar-year input{font-size:8.4px}.portals-calendar-week span{padding:2.8px 0;font:700 7px var(--display-font)}.portals-calendar-day{width:100%;min-height:0;aspect-ratio:1;border-radius:0;font:600 8.4px var(--body-font)}.portals-calendar-note{font-size:7.7px}.portals-calendar .dialog-actions .button{font-size:8.4px}
.calendar-nudger select{-webkit-appearance:none;appearance:none;background-image:none;cursor:pointer}.calendar-nudger .portals-calendar-year span{padding:0 2.8px;text-align:center}.portals-calendar-days{margin-top:-5.6px}.portals-calendar .dialog-actions{justify-content:flex-end}
.calendar-nudger .portals-calendar-year{display:flex;justify-content:center}.calendar-nudger .portals-calendar-year span{flex:0 0 auto;padding:0 2.1px 0 0}.calendar-nudger .portals-calendar-year input{flex:0 1 5ch;width:5ch;padding:2.1px 0;text-align:left}.portals-calendar-week{border-top:0.7px solid var(--ui-line)}.portals-calendar-days{border-right:0}.portals-calendar-day:nth-child(7n),.portals-calendar-day:last-child{border-right:0.7px solid var(--ui-line)}
.calendar-nudger .portals-calendar-year{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.calendar-nudger .portals-calendar-year span{display:flex;align-items:center;justify-content:flex-end;padding:0 2.1px 0 0;text-align:right}.calendar-nudger .portals-calendar-year input{width:100%;min-width:0;padding:2.1px 0;text-align:left}
.calendar-nudger .portals-calendar-year span{font-size:8.4px}
.calendar-nudger .portals-calendar-year input{text-align:center}
.calendar-nudger .portals-calendar-year input{position:relative;left:-7px}
.portals-calendar-day:disabled{border-color:var(--ui-line);color:transparent;background:transparent;cursor:default}.portals-calendar-day:disabled:hover{border-color:var(--ui-line);background:transparent}
@media screen {
 .sheet-version-combo { display:grid;grid-template-columns:minmax(0,1fr) 32px 24px;min-width:0; }
 .sheet-version-combo select { appearance:none;color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='white'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat; }
 .sheet-version-combo select option { color:white; }
 .sheet-version-combo .version-calendar-button { padding:0!important;font-size:9px!important;min-height:28px; }
 .version-name-note { margin:0;color:#b9c8d3;font:italic 11px/1.4 var(--body-font); }
 .portals-calendar { border:1px solid var(--ui-blue);border-radius:6px;padding:0;background:var(--ui-slate);color:white; }
 .portals-calendar .dialog-head { display:flex;justify-content:space-between;align-items:center;background:var(--ui-navy); }
 .portals-calendar::backdrop { background:#0008; }
}

@media screen {
 #version-calendar-dropdown { position:fixed; z-index:400; margin:0; max-height:calc(100dvh - 16px); overflow:auto; box-shadow:0 8px 20px #0007; }
 .sheet-version-combo { grid-template-columns:minmax(0,1fr) 20px 24px; }
 .sheet-version-combo .version-calendar-button { font-size:18px!important;line-height:1;padding:0!important; }
 .sheet-character-combo select,.sheet-version-combo select { appearance:none; background-image:none; cursor:pointer; }
 .sheet-editor-rail #sheet-mode { appearance:none; background-image:none; }
}

@media screen {
 .sheet-version-combo .version-calendar-button { display:flex;align-items:center;justify-content:center;font-size:0!important; }
 .sheet-version-combo .version-calendar-button::before { content:'';display:block;width:7px;height:7px;background:#fff;flex:none; }
}

.sheet-version-combo .version-calendar-button,
.sheet-version-combo .version-calendar-button:hover,
.sheet-version-combo .version-calendar-button:focus { background:#53636f!important;border:0!important;border-radius:0!important;box-shadow:none!important; }

.sheet-character-combo { grid-template-columns:minmax(0,1fr); }
.sheet-version-combo { grid-template-columns:minmax(0,1fr) 24px; }
.sheet-character-combo select[hidden],.sheet-version-combo select[hidden] { display:none!important; }
.character-input-choices { position:fixed;z-index:410;box-sizing:border-box;overflow:auto;background:#293e4d;color:#fff;border:1px solid var(--ui-blue);font:12px/1.4 var(--body-font);scrollbar-color:#4d6b80 #0f202f;scrollbar-width:thin; }
.character-input-choices [role=option] { padding:7px 8px;cursor:pointer;overflow-wrap:anywhere; }
.character-input-choices [role=option]:hover,.character-input-choices .active { background:#315c7a; }
.character-input-choices [aria-selected=true] { font-weight:bold; }

/* Group formatting controls by purpose, with sheet-wide actions separate. */
.sheet-editor-rail .sheet-format-options summary { padding:9px 10px;color:#d9eeff;cursor:pointer; }
.sheet-editor-rail .format-help { margin:10px 0;color:#b9c8d3;font:italic 11px/1.5 var(--body-font); }
.sheet-editor-rail .sheet-format-options .rich-text-menu { display:flex;flex-direction:column;gap:12px;padding:0;border:0;background:transparent;box-shadow:none;align-items:stretch; }
.format-control-group { display:grid;gap:5px;min-width:0; }
.format-group-label { display:block;color:var(--ui-blue);font:700 10px/1.4 var(--body-font);text-transform:uppercase;letter-spacing:.07em; }
.format-control-row { display:flex;gap:5px;align-items:center; }
.sheet-editor-rail .format-control-row button { flex:1;min-width:0;padding:5px 4px!important;font-size:10px!important; }
.sheet-editor-rail .format-size .format-control-row { display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr; }
.sheet-editor-rail .format-size input { width:100%;min-width:0;box-sizing:border-box;background:#53636f;color:white;border:1px solid #637989;border-radius:3px;text-align:center; }
.sheet-editor-rail .format-size input[type=color] { padding:3px; }
.format-reset .format-group-label:empty { display:none; }
.sheet-editor-rail .sheet-format-options [data-toolbar-group=Sheet] { display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #496071;padding:12px 0 0;margin-top:14px; }
.sheet-editor-rail .sheet-format-options [data-toolbar-group=Sheet] .format-group-label { grid-column:1 / -1; }
.sheet-editor-rail .sheet-format-options [data-toolbar-group=Sheet] button { padding:5px 4px!important;font-size:10px!important; }

.sheet-editor-rail .rich-text-menu[aria-disabled="true"] .format-control-row { opacity:.4; }
.sheet-editor-rail .rich-text-menu[aria-disabled="true"] :is(button,input,select) { cursor:not-allowed; }

.sheet-editor-rail .format-section-title { margin:12px 0 6px;padding:8px 0;border-bottom:1px solid #496071;color:#d9eeff;font:700 11px/1.4 var(--body-font);text-transform:uppercase;letter-spacing:.05em; }
.sheet-editor-rail .sheet-format-options .rich-text-menu { display:grid;grid-template-columns:1fr 1fr;gap:12px 10px; }
.sheet-editor-rail .rich-text-menu .format-size,.sheet-editor-rail .rich-text-menu .format-reset { grid-column:1 / -1; }
.sheet-editor-rail .rich-text-menu .format-control-group:nth-child(4) { grid-column:1 / -1; }
.sheet-editor-rail .format-control-row button { display:flex;align-items:center;justify-content:center;min-height:30px; }
.sheet-editor-rail .format-control-row button svg { flex:none;pointer-events:none; }
.sheet-editor-rail .format-control-row button[aria-pressed=true] { background:#315c7a!important;border-color:#9cd3ff!important;box-shadow:inset 0 -2px #9cd3ff!important; }
.sheet-editor-rail .format-control-row button strong,.sheet-editor-rail .format-control-row button em,.sheet-editor-rail .format-control-row button u { font-size:14px; }

/* Flat formatting toolbar controls. */
.sheet-editor-rail .sheet-format-options button { border:0!important;border-radius:3px!important;background:transparent!important;box-shadow:none!important;color:#e5edf4;clip-path:none;text-transform:none; }
.sheet-editor-rail .sheet-format-options button:not(:disabled):hover { background:#3c5263!important; }
.sheet-editor-rail .sheet-format-options button:focus-visible { outline:2px solid #90c9f5;outline-offset:1px; }
.sheet-editor-rail .sheet-format-options button[aria-pressed=true] { background:#3d607a!important;color:#fff;box-shadow:inset 0 -2px #90c9f5!important; }
.sheet-editor-rail .format-control-row { gap:3px;padding:3px;border-radius:4px;background:#253744; }
.sheet-editor-rail .format-size .format-control-row { grid-template-columns:30px minmax(36px,1fr) 30px 30px; }
.sheet-editor-rail .rich-text-menu button[data-font-size-step] { width:30px;height:30px;min-width:30px;min-height:30px;max-height:30px;padding:0!important;flex:none;font:18px/1 Arial,sans-serif!important; }
.sheet-editor-rail .format-size input { height:30px;border:0;border-radius:2px;background:#354b5c; }
.sheet-editor-rail .sheet-format-options button:disabled { cursor:not-allowed; }

.sheet-editor-rail .format-size .format-control-row { grid-template-columns:30px 30px 30px minmax(30px,1fr); }
.sheet-editor-rail .format-size input[data-rich-font-size] { width:30px;height:30px;padding:0; }
.sheet-editor-rail .format-size input[type=color] { width:100%;height:30px;padding:0;border:0; }
.sheet-editor-rail .format-size input[type=color]::-webkit-color-swatch-wrapper { padding:0; }
.sheet-editor-rail .format-size input[type=color]::-webkit-color-swatch { border:0;border-radius:2px; }
.sheet-editor-rail .format-size input[type=color]::-moz-color-swatch { border:0;border-radius:2px; }
.sheet-editor-rail .clear-sheet-action { grid-column:1; width:100%; }

.sheet-editor-rail .skill-edit-menu [data-toolbar-group=Save] button { white-space:nowrap; }

/* Mode selector doubles as the panel's two stacked headers. */
.sheet-editor-rail .sheet-mode-input { grid-template-columns:minmax(0,1fr);grid-template-rows:43px 43px;height:86px;min-height:86px;border:0; }
.sheet-editor-rail .sheet-mode-input > span { height:43px;box-sizing:border-box;padding:0;background:var(--ui-carbon);border-bottom:1px solid #496071; }
.sheet-editor-rail .sheet-mode-input #sheet-mode { height:43px;min-height:43px;padding:0 10px;background:var(--ui-blue);color:white;border:0;border-radius:0;font-size:12px;font-weight:700; }
.sheet-editor-rail #sheet-mode option { background:var(--ui-slate);color:white; }
.sheet-editor-rail .skill-edit-menu [data-toolbar-group=Save] .clear-sheet-action { grid-column:1 / -1;justify-self:center;width:calc((100% - 6px) / 2); }
@media screen and (min-width:901px) {
 .sheet-editor-rail[data-active-panel=element] .character-builder,
 .sheet-editor-rail[data-active-panel=experience] .experience-shop { top:86px!important; }
 .sheet-editor-rail[data-active-panel=element] .character-builder > .experience-shop-header:first-child,
 .sheet-editor-rail[data-active-panel=experience] .experience-shop > .experience-shop-header:first-child { display:none; }
}

.sheet-editor-rail .sheet-mode-input > span { font-size:15px;letter-spacing:.06em; }
.sheet-editor-rail .sheet-mode-input #sheet-mode {
 font-size:15px;letter-spacing:.02em;padding:0 32px;cursor:pointer;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 12px center;background-size:14px 9px;
}
.sheet-editor-rail .sheet-mode-input #sheet-mode:hover { background-color:#468fd0; }

.sheet-mode-input #sheet-mode[hidden] { display:none!important; }
.sheet-editor-rail #sheet-mode-search { box-sizing:border-box;width:100%;min-width:0;height:43px;border:0;border-radius:0;padding:0 30px;background:var(--ui-blue);color:white;text-align:center;font:700 15px var(--body-font);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M2 2l5 5 5-5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center; }
#sheet-mode-search-choices { max-width:100vw; }

.panel-select-search { box-sizing:border-box;min-width:0;width:100%;border:1px solid #496071;border-radius:3px;background:#293e4d;color:white;padding:5px;font:inherit; }
.sheet-editor-rail select[data-search-enhanced][hidden],#version-calendar-dropdown select[data-search-enhanced][hidden] { display:none!important; }

.sheet-editor-rail :is(.format-section-title,.format-help,.version-name-note) { text-align:center; }
.sheet-editor-rail .sheet-format-options button[aria-pressed=true] { box-shadow:none!important;border:0!important; }
.rich-color-control { position:relative;min-width:0; }
.rich-color-control input[hidden] { display:none!important; }
.sheet-editor-rail .rich-color-trigger { width:100%;height:30px;border-bottom:5px solid var(--text-color,#000)!important;font-size:16px!important; }
.rich-color-panel { position:absolute;right:0;top:36px;width:240px;box-sizing:border-box;padding:10px;background:#172633;border:1px solid #496071;border-radius:6px;z-index:450;box-shadow:0 8px 24px #0008; }
.rich-color-panel[hidden] { display:none; }
.rich-color-panel canvas { display:block;width:100%;height:120px;border-radius:3px;touch-action:none; }
.rich-color-heading { display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:11px; }
.rich-color-panel label { display:flex;align-items:center;gap:6px;margin:6px 0;color:#cad9e5;font-size:11px; }
.sheet-editor-rail .rich-color-panel input[type=checkbox] { width:16px;height:16px;accent-color:#3d85c6; }
.sheet-editor-rail .rich-color-panel input[type=range] { flex:1;width:100%;accent-color:#3d85c6; }
.sheet-editor-rail .rich-color-panel input[type=text] { width:100%;background:#293e4d;color:white; }
.rich-color-presets { display:flex;gap:5px; }
.sheet-editor-rail .rich-color-presets button { width:24px;min-width:24px;height:24px;min-height:24px;padding:0!important;background:var(--swatch)!important; }

#sheet-mode-search-choices [role=option] { text-align:center; }
body:has(.sheet-editor-rail.navigation-open) .character-input-choices { display:none!important; }

.sheet-editor-rail .version-name-note { color:#fff; }
.sheet-editor-rail .format-size input[type=color] { color-scheme:dark; }
.native-color-done { grid-column:1 / -1;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:white;font-size:11px; }
.native-color-done[hidden] { display:none; }
.sheet-editor-rail .format-size .native-color-done input { width:14px;height:14px;accent-color:#3d85c6; }

/* Unified, readable version calendar. */
#version-calendar-dropdown { background:#1d2d3b;border:1px solid #496071;border-radius:5px;color:#eef4f7; }
#version-calendar-dropdown .dialog-head { background:transparent;padding:10px 12px;border-bottom:1px solid #3b5061; }
#version-calendar-dropdown .dialog-head h2 { font-size:15px; }
#version-calendar-dropdown .portals-calendar-body { padding:10px;gap:8px; }
#version-calendar-dropdown .portals-calendar-controls { gap:8px; }
#version-calendar-dropdown .calendar-nudger { grid-template-columns:22px minmax(0,1fr) 22px;border:0;background:#293e4d;border-radius:3px; }
#version-calendar-dropdown .calendar-step { width:22px;min-width:22px;min-height:30px;font-size:16px;background:transparent; }
#version-calendar-dropdown .calendar-nudger :is(select,.panel-select-search) { height:30px;font-size:12px;border:0;background:transparent;text-align:center;padding:2px; }
#version-calendar-dropdown .portals-calendar-year { height:30px;border:0; }
#version-calendar-dropdown .portals-calendar-year span { font-size:12px;padding:0;text-align:center;justify-content:center; }
#version-calendar-dropdown .portals-calendar-year input { position:static;height:30px;font-size:12px;padding:0;text-align:center; }
#version-calendar-dropdown .portals-calendar-week { border:0;gap:2px; }
#version-calendar-dropdown .portals-calendar-week span { border:0;padding:5px 0;color:#aebfcd;font-size:11px; }
#version-calendar-dropdown .portals-calendar-days { margin:0;border:0;gap:2px; }
#version-calendar-dropdown .portals-calendar-day { border:0;border-radius:3px;font-size:12px;min-height:28px;background:transparent; }
#version-calendar-dropdown .portals-calendar-day:not(:disabled):hover { background:#3c5870; }
#version-calendar-dropdown .portals-calendar-note { font-size:11px;line-height:1.4;text-align:center;color:#b9c8d3; }
#version-calendar-dropdown .portals-calendar-body > button { min-height:30px;border:0;border-radius:3px;background:#315c7a;color:white;font-size:12px; }

/* Builder mode title above the current guided step. */
.sheet-editor-rail[data-active-panel=element] #sheet-mode-search,
.sheet-editor-rail[data-active-panel=element] .sheet-mode-input #sheet-mode { background-color:var(--ui-slate); }
.sheet-editor-rail[data-active-panel=element] .character-builder > .experience-shop-header:first-child {
 display:flex;position:sticky;top:0;z-index:5;align-items:center;justify-content:center;
 box-sizing:border-box;width:100%;height:43px;min-height:43px;margin:0;padding:0 10px;
 background:var(--ui-blue);color:white;border:0;border-radius:0;
}
.sheet-editor-rail[data-active-panel=element] #character-builder-title { margin:0;color:white;font-size:15px;line-height:1.3;text-align:center;text-transform:uppercase; }

/* The builder landing screen uses the mode dropdown as its only builder title. */
.sheet-editor-rail[data-active-panel=element]:has([data-element-builder-empty]:not([hidden])) #sheet-mode-search,
.sheet-editor-rail[data-active-panel=element]:has([data-element-builder-empty]:not([hidden])) .sheet-mode-input #sheet-mode { background-color:var(--ui-blue); }
.sheet-editor-rail[data-active-panel=element]:has([data-element-builder-empty]:not([hidden])) .character-builder > .experience-shop-header:first-child { display:none; }

/* Trait entries keep uniform table-row geometry, including searchable inputs. */
.sheet-editor-rail [data-traits-builder] .builder-merit-card { --trait-row-height:20px; }
.sheet-editor-rail [data-traits-builder] :is(.builder-trait-name-field,.builder-merit-modifiers>h5,.builder-merit-modifier,.builder-merit-description-field) { height:var(--trait-row-height);min-height:var(--trait-row-height);margin:0;box-sizing:border-box; }
.sheet-editor-rail [data-traits-builder] :is(.builder-trait-name-field,.builder-merit-modifiers>h5,.builder-merit-modifier,.builder-merit-description-field) > :is(input,select,textarea,button,span) { height:var(--trait-row-height)!important;min-height:var(--trait-row-height)!important;max-height:var(--trait-row-height)!important;box-sizing:border-box;margin-top:0;margin-bottom:0; }
.sheet-editor-rail [data-traits-builder] .builder-merit-description-field textarea { padding-top:2px;padding-bottom:2px;line-height:15px;resize:none;overflow:auto; }
.sheet-editor-rail [data-traits-builder] .panel-select-search { padding:0 3px;line-height:18px;border-radius:0; }
.sheet-editor-rail [data-traits-builder] .builder-add-merit-modifier { height:20px!important;min-height:20px!important;padding:0!important; }

/* Consistent readable type throughout Traits Builder. */
.sheet-editor-rail [data-traits-builder],
.sheet-editor-rail [data-traits-builder] * {
 font-size:12px!important;
}
.sheet-editor-rail [data-traits-builder] :is(input,select,textarea,button) { font-family:var(--body-font); }
.sheet-editor-rail [data-traits-builder] :is(input,textarea)::placeholder { font-size:12px!important; }
.sheet-editor-rail [data-traits-builder] :is(.builder-trait-name-label,.builder-merit-modifiers>h5) { line-height:18px; }

/* Blue separation between individual trait entries. */
.sheet-editor-rail [data-traits-builder] .builder-merit-input-table > .builder-merit-list { gap:3px;padding:3px;box-sizing:border-box;background:var(--ui-blue); }
.sheet-editor-rail [data-traits-builder] .builder-merit-input-table .builder-merit-card + .builder-merit-card { margin-top:0; }

/* Center stat modifier content without changing the uniform row height. */
.sheet-editor-rail [data-traits-builder] .builder-merit-modifiers > h5 { display:grid;place-items:center;padding-top:0;padding-bottom:0;line-height:1; }
.sheet-editor-rail [data-traits-builder] .builder-merit-modifier { align-items:center; }
.sheet-editor-rail [data-traits-builder] .builder-merit-modifier :is(input,select) { padding-top:0!important;padding-bottom:0!important;line-height:18px; }
.sheet-editor-rail [data-traits-builder] :is(.builder-add-merit-modifier,.builder-merit-modifier-remove) { display:grid;place-items:center;padding:0!important;line-height:1; }

.sheet-editor-rail [data-traits-builder] .builder-merit-input-table { border-width:0;background:var(--ui-blue); }

@media screen and (min-width:601px) and (min-height:601px), screen and (min-width:1001px) {
 .sheet-editor-rail .character-builder textarea,
 .sheet-editor-rail [data-traits-builder] .builder-merit-description-field > textarea { height:var(--description-height,20px)!important;min-height:20px!important;max-height:none!important;overflow-y:hidden;resize:none;box-sizing:border-box; }
 .sheet-editor-rail [data-traits-builder] .builder-merit-description-field,
 .sheet-editor-rail .builder-inventory-description { height:auto;min-height:20px; }
 .sheet-editor-rail [data-traits-builder] .builder-merit-description-field > .builder-trait-description-toggle { height:100%!important;max-height:none!important; }
}

@media screen and (min-width:601px) and (min-height:601px), screen and (min-width:1001px) {
 .sheet-editor-rail .character-builder [data-traits-builder] .builder-merit-card .builder-merit-description-field {
  height:auto!important;min-height:20px;max-height:none!important;
 }
 .sheet-editor-rail .character-builder [data-traits-builder] .builder-merit-card .builder-merit-description-field > textarea {
  height:var(--description-height,20px)!important;min-height:20px!important;max-height:none!important;overflow-y:hidden!important;
 }
 .sheet-editor-rail .character-builder [data-traits-builder] .builder-merit-card .builder-merit-description-field > .builder-trait-description-toggle {
  height:100%!important;max-height:none!important;
 }
}

.builder-save-status { margin:6px 0;color:#b9c8d3;text-align:center;font-size:12px; }
.builder-save-status:empty { display:none; }

.sheet-editor-rail .character-builder .builder-skill-card strong > .builder-skill-heading-label {
 font-size:10px!important;line-height:1.2;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding:4px 3px!important;letter-spacing:0;
}
.sheet-editor-rail .character-builder .builder-skill-card strong > .builder-skill-name-field > input { font-size:11px!important; }

/* Center the action pair around the same gap as Back / Next. */
.sheet-editor-rail .character-builder .builder-actions:has(> [data-builder-save-character]) {
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:19.6px;row-gap:8px;align-items:center;justify-content:center;width:100%;
}
.sheet-editor-rail .character-builder .builder-actions > [data-builder-save-character] { justify-self:end;margin:0; }
.sheet-editor-rail .character-builder .builder-actions:has(> [data-builder-save-character]) > button:not([data-builder-save-character]):not([hidden]) { justify-self:start;margin:0; }
.sheet-editor-rail .character-builder .builder-actions:has(> [data-builder-save-character]) > button { min-width:0;max-width:100%; }

.sheet-editor-rail .character-builder .builder-actions:has(> [data-builder-save-character]):not(:has(> [data-clear-builder-skills], > [data-clear-builder-traits], > [data-clear-builder-inventory])) > [data-builder-save-character] {
 grid-column:1 / -1;justify-self:center;
}

.character-sheet .aura-details { display:flex;flex-direction:column; }
.character-sheet .aura-details > .box-title { flex:0 0 auto; }
.character-sheet .aura-details > #aura-details { flex:1 0 auto;align-self:stretch;width:100%;box-sizing:border-box; }
.character-sheet .aura-details.is-class-hidden { display:none; }

/* The sheet drawer controls its own visibility, independently of other pages. */
body.responsive-sheet.database-navigation-collapsed #sheet-navigation-drawer .database-sidebar nav{display:block!important}

/* The sheet drawer owns its width even when shared navigation is collapsed. */
@media screen {
 body.responsive-sheet #sheet-navigation-drawer .database-sidebar {
  width:100%;max-width:none;min-width:0;box-sizing:border-box;
 }
 body.responsive-sheet #sheet-navigation-drawer .database-sidebar :is(nav,ul,li) {
  display:block;width:100%;min-width:0;max-width:none;margin:0;padding:0;
 }
 body.responsive-sheet #sheet-navigation-drawer .database-sidebar a {
  display:flex;align-items:center;justify-content:center;width:100%;min-height:36px;
  box-sizing:border-box;padding:8px 16px;text-align:center;white-space:nowrap;
 }
}
