.besm-tabs{border-bottom:1px solid var(--edge);padding:0 0 10px;margin-bottom:16px;display:flex;gap:6px;background:linear-gradient(90deg,color-mix(in srgb,var(--panel) 92%,transparent),transparent)}.besm-tabs .category-tab{border-radius:999px;padding:7px 13px;letter-spacing:.01em}.besm-tabs .category-tab.active{box-shadow:0 0 0 1px var(--accent),0 5px 15px #0004}.besm-sheet{clear:both;max-width:1100px}.besm-sheet .identity{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--panel),color-mix(in srgb,var(--panel) 80%,var(--accent)))}.besm-sheet .identity:before{content:'BESM 4E';position:absolute;right:16px;top:12px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.16em;opacity:.8}.besm-edit,.besm-editor button,#besm-roll-queue button{background:var(--secondary,#294034);border:1px solid var(--border,#355642);color:var(--text);border-radius:6px;padding:8px 11px;cursor:pointer;transition:transform .12s,background .12s}.besm-edit:hover,.besm-editor button:hover,#besm-roll-queue button:hover{background:var(--accent);color:#07100e;transform:translateY(-1px)}.besm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.besm-form-grid label,.besm-stat-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px;font-weight:650;text-transform:capitalize}.besm-form-grid input,.besm-form-grid textarea,.besm-stat-grid input,.besm-edit-row input,.besm-notes textarea,#besm-roll-queue input{background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:6px;padding:9px;box-shadow:inset 0 1px #fff1}.besm-form-grid textarea,.besm-notes textarea{min-height:150px;resize:vertical;line-height:1.5}.besm-form-grid .wide{grid-column:1/-1}.besm-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.besm-stat-grid label{padding:10px;border:1px solid var(--edge);border-radius:8px;background:color-mix(in srgb,var(--panel) 85%,#000)}.besm-stat-grid input{font-size:22px;font-weight:750;color:var(--accent);text-align:center}.besm-row,.besm-queue-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid color-mix(in srgb,var(--edge) 75%,transparent)}.besm-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.besm-row small,.besm-queue-row small{display:block;color:var(--muted);font-size:12px;line-height:1.35;white-space:pre-line}.besm-row em{display:block;color:color-mix(in srgb,var(--accent) 80%,var(--muted));font-size:11px;font-style:normal;margin-top:3px}.besm-source{display:inline-block;margin-top:5px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--edge) 75%,transparent);border-radius:999px;color:var(--muted);font-size:10px;font-weight:650}.besm-level{min-width:2.3rem;text-align:center;font-variant-numeric:tabular-nums;color:var(--accent);font-size:18px;font-weight:800}.besm-row .die{padding:5px 8px;border:1px solid var(--edge);font-weight:800}.besm-edit-row{display:grid;grid-template-columns:1.2fr 70px 120px 2fr auto;gap:7px;padding:6px 0}.besm-edit-section{box-shadow:0 8px 22px #0002}.besm-picker{display:flex;gap:8px;align-items:center;margin:0 0 10px;color:var(--muted);font-size:12px}.besm-picker select{min-width:220px;max-width:100%;padding:7px;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:6px}.besm-edit-section .secondary{margin-top:8px}.besm-queue-row{padding:12px 0}.besm-queue-row form{display:flex;gap:5px}.besm-notes{border-color:color-mix(in srgb,var(--accent) 55%,var(--edge))}.besm-empty-state{display:grid;gap:4px;min-height:76px;align-content:center;padding:14px;border:1px dashed color-mix(in srgb,var(--edge) 85%,transparent);border-radius:7px;background:color-mix(in srgb,var(--panel) 86%,#000)}.besm-empty-state strong{font-size:13px;color:var(--text)}.besm-empty-state span{font-size:12px;color:var(--muted);line-height:1.4}.besm-empty-state em{color:var(--accent);font-style:normal;font-weight:700}@media(max-width:650px){.besm-tabs{overflow:auto}.besm-form-grid{grid-template-columns:1fr}.besm-edit-row{grid-template-columns:1fr 70px 1fr}.besm-edit-row input[data-field="description"]{grid-column:1/-1}.besm-row,.besm-queue-row{grid-template-columns:1fr auto}.besm-row .die{grid-column:2}.besm-queue-row form{grid-column:1/-1;justify-content:flex-start}.besm-picker{align-items:stretch;flex-direction:column}.besm-picker select{min-width:0}}
.besm-edit-entity{padding:8px 0;border-bottom:1px solid color-mix(in srgb,var(--edge) 65%,transparent)}.besm-effects{margin:5px 0 0;padding:7px 9px;border-left:3px solid color-mix(in srgb,var(--accent) 55%,var(--edge));background:color-mix(in srgb,var(--panel) 80%,#000)}.besm-effects summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:650}.besm-effects small{display:block;margin-top:7px;color:var(--muted);line-height:1.35}.besm-equipped{display:block;margin:8px 0;color:var(--accent);font-size:12px}.besm-effect-row{display:grid;grid-template-columns:1fr 1fr 1.2fr 70px 1fr 64px 64px auto;gap:5px;margin:6px 0}.besm-effect-row select,.besm-effect-row input{min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:5px;padding:6px}.besm-use{padding:5px 8px;font-size:11px}@media(max-width:850px){.besm-effect-row{grid-template-columns:repeat(3,minmax(0,1fr))}.besm-effect-row button{grid-column:3}}@media(max-width:500px){.besm-effect-row{grid-template-columns:1fr 1fr}.besm-effect-row button{grid-column:2}}
.besm-tracker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--edge);padding-bottom:8px}.besm-tracker-heading h3{margin:0}.besm-tracker-heading button{font-size:12px}
/* QA layout safeguards: preserve tab scrolling and compact header labels. */
header{height:auto;min-height:58px;align-items:center;gap:16px}header h1{line-height:1.15}.header-actions{flex-wrap:wrap;justify-content:flex-end}#game-mode-label,#signed-in{white-space:nowrap;flex:0 0 auto}
/* On desktop, retain a single compact title line.  The narrow layout below
   intentionally stacks the header instead of squeezing text into columns. */
@media(min-width:651px){header h1{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{flex:0 0 auto;max-width:62%;}}
#tabs,.category-tabs.besm-tabs{overflow-x:auto;overflow-y:hidden;max-width:100%;scrollbar-width:thin;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.category-tabs.besm-tabs{flex-wrap:nowrap}.category-tabs.besm-tabs .category-tab{flex:0 0 auto}
@media(max-width:650px){header{display:block;padding:12px 14px}header h1{font-size:20px;max-width:none}.header-actions{margin-top:10px;justify-content:flex-start}.header-actions button{padding:7px 9px}#tabs,.category-tabs.besm-tabs{scrollbar-width:thin}#tabs::-webkit-scrollbar,.category-tabs.besm-tabs::-webkit-scrollbar{height:6px}#tabs::-webkit-scrollbar-thumb,.category-tabs.besm-tabs::-webkit-scrollbar-thumb{background:var(--edge);border-radius:999px}}
/* Notes are a primary working surface, not a narrow form control.  Keep the
   status on its own line and let the writing area own the available width. */
.besm-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.besm-resource-grid fieldset{min-width:0;margin:0;padding:10px;border:1px solid var(--edge);border-radius:8px;background:color-mix(in srgb,var(--panel) 84%,#000)}.besm-resource-grid legend{padding:0 4px;color:var(--accent);font-size:12px;font-weight:750}.besm-resource-grid label{display:grid;gap:4px;margin-top:7px;color:var(--muted);font-size:11px;font-weight:650}.besm-resource-grid input{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:6px;padding:7px}.besm-notes>h3{margin-bottom:4px}.besm-notes>h3+.summary{display:block;margin:0 0 15px}.besm-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.besm-note-field{display:grid;gap:7px;min-width:0}.besm-note-field.wide{grid-column:1/-1}.besm-note-field>span{font-size:13px;font-weight:750;color:var(--text)}.besm-note-field textarea{display:block;width:100%;box-sizing:border-box;min-height:190px;resize:vertical}.besm-note-field.wide textarea{min-height:250px}.besm-note-field [data-note-status]{display:block;margin-top:1px;min-height:1.25em}.besm-notes textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:2px}
@media(max-width:650px){.besm-resource-grid,.besm-notes-grid{grid-template-columns:1fr}.besm-note-field.wide{grid-column:auto}.besm-note-field textarea,.besm-note-field.wide textarea{min-height:180px}}
.besm-store-category-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:14px 0 10px}.besm-store-category-controls label{display:grid;gap:5px;min-width:min(100%,18rem);font-size:12px;font-weight:700;color:var(--muted)}.besm-store-category-controls input{box-sizing:border-box;width:100%;min-height:34px;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:6px;padding:6px 8px}.besm-store-category-controls button{min-height:34px;white-space:nowrap}.besm-store-category-list{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 15px;padding-top:10px;border-top:1px solid var(--edge)}.besm-store-category-list button{white-space:nowrap}@media(max-width:520px){.besm-store-category-controls{align-items:stretch}.besm-store-category-controls label{flex:1 1 100%}.besm-store-category-controls button{flex:1 1 auto}}
.sheet-actions + .category-tabs.besm-tabs{clear:both}.category-tabs.besm-tabs + .besm-overview-actions{float:none;clear:both;justify-content:flex-end;margin:8px 0 14px}.besm-overview-actions .besm-sheet-active{margin-right:0}
.besm-sheet-active{margin-right:auto}.besm-tracker-heading{align-items:flex-start}.besm-tracker-heading small{display:block;color:var(--muted);margin-top:3px}.besm-tracker-controls{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.besm-combat-roster{display:grid;gap:8px;margin-top:12px}.besm-tracker-character{border:1px solid var(--edge);border-left:4px solid color-mix(in srgb,var(--edge) 80%,transparent);border-radius:8px;padding:10px;background:color-mix(in srgb,var(--panel) 88%,#000)}.besm-tracker-character.tracker-current{border-left-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent) inset}.besm-tracker-character.besm-acted{opacity:.72}.besm-combatant-header{display:flex;align-items:baseline;gap:10px;padding:0;min-height:0;background:none;border:0}.besm-turn-state{font-size:11px;font-weight:750;color:var(--accent)}.besm-init{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.besm-combatant-values{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 4px;font-size:12px}.besm-combatant-values span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.besm-combatant-values button{padding:0 5px;min-width:23px;line-height:20px}.besm-combatant-actions{display:flex;gap:6px;margin-top:7px}.besm-roll-queue{border-top:1px solid var(--edge);margin-top:14px;padding-top:10px}.besm-roll-queue h4{margin:0 0 5px}@media(max-width:650px){.besm-sheet-active{margin-right:0}.sheet-actions{gap:8px}.besm-tracker-controls{justify-content:flex-start}.besm-combatant-header{align-items:flex-start;flex-wrap:wrap}.besm-init{margin-left:0;flex-basis:100%}.besm-combatant-values{gap:7px 10px}.besm-tracker-controls button{flex:1 1 auto}}
.besm-npc-toolbox{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0;padding:9px 10px;border:1px dashed color-mix(in srgb,var(--edge) 86%,transparent);border-radius:7px;color:var(--muted);font-size:12px;font-weight:700}.besm-npc-toolbox select{background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:5px;padding:5px}.besm-combatant-open{appearance:none;border:0;padding:0;background:transparent;color:var(--text);font:inherit;font-weight:800;text-align:left;cursor:pointer}.besm-combatant-open:hover,.besm-combatant-open:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.besm-npc-editor{width:min(620px,calc(100vw - 32px));padding:0;border:1px solid var(--edge);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 22px 80px #000a}.besm-npc-editor::backdrop{background:#0009}.besm-npc-editor form{padding:18px}.besm-npc-editor header,.besm-npc-editor footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.besm-npc-editor header{height:auto;min-height:0;padding:0;background:none}.besm-npc-editor h3{margin:0}.besm-npc-editor footer{justify-content:flex-end;margin-top:16px}.besm-npc-editor button{border:1px solid var(--edge);border-radius:6px;padding:8px 11px;background:var(--secondary,#294034);color:var(--text);cursor:pointer}
.besm-combatant-actions .besm-init-action{margin-left:0;align-self:center;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.besm-combatant-actions [data-besm-remove-combatant]{margin-left:auto}
/* Sheets live in the full main pane.  The original prototype caps made a
   wide desktop look like a narrow centered document with unused space to the
   right.  Let both game sheets and the BESM tracker/store panels consume the
   available pane; the responsive grids inside them still choose readable
   column counts and collapse on narrow screens. */
@media(min-width:651px){
  .sheet,.besm-sheet,.top-panel{width:100%;max-width:none}
}

/* Keep BESM category chips inside the strip's visual frame.  The original
   edge-to-edge row left the first chip a few pixels outside the intended
   inset and visually crowded the frame's top edge. */
.category-tabs.besm-tabs{padding:8px 8px 7px}

/* Rule help is intentionally a compact row affordance.  Rule prose and
   level effects live in this accessible click flyout, never as provenance or
   a second noisy line on every character-sheet entry. */
.besm-rule-trigger{appearance:none;border:0;background:transparent;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer}.besm-rule-trigger strong{color:var(--text)}.besm-rule-trigger:hover strong,.besm-rule-trigger:focus-visible strong{text-decoration:underline;color:var(--accent)}.besm-rule-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.besm-rule-flyout{width:min(720px,calc(100vw - 32px));max-height:min(80vh,760px);overflow:auto;padding:0;border:1px solid var(--edge);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px #000a}.besm-rule-flyout::backdrop{background:#000a}.besm-rule-flyout form{padding:20px}.besm-rule-flyout header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--edge);padding-bottom:12px}.besm-rule-flyout h3,.besm-rule-flyout h4{margin:0}.besm-rule-flyout h4{font-size:13px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}.besm-rule-flyout header button{font-size:20px;line-height:1;border:0;background:transparent;color:var(--text);cursor:pointer}.besm-rule-definition,.besm-rule-flyout section p{line-height:1.55;white-space:pre-wrap}.besm-rule-flyout dl{margin:8px 0 0;display:grid;gap:8px}.besm-rule-flyout dl div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:8px;border:1px solid color-mix(in srgb,var(--edge) 75%,transparent);border-radius:6px}.besm-rule-flyout dt{font-weight:800;color:var(--accent)}.besm-rule-flyout dd{margin:0;line-height:1.45}.besm-rule-flyout footer{display:flex;justify-content:flex-end;margin-top:16px}@media(max-width:650px){.besm-rule-flyout form{padding:14px}.besm-rule-flyout dl div{grid-template-columns:1fr}}


/* Activity Log + nested AF/Companion editor (build 404) */
.besm-activity-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.besm-activity-table th, .besm-activity-table td { border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent); padding: 0.35rem 0.45rem; text-align: left; vertical-align: top; }
.besm-activity-table th { opacity: 0.8; font-weight: 600; }
.besm-nested-budget { margin-top: 0.55rem; padding: 0.55rem; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 0.45rem; }
.besm-nested-entries { display: grid; gap: 0.35rem; margin: 0.45rem 0; }
.besm-nested-entry { display: grid; grid-template-columns: minmax(7rem, 1.4fr) 7rem 4.5rem 4.5rem minmax(6rem, 1fr) auto; gap: 0.3rem; align-items: center; }
@media (max-width: 900px) {
  .besm-nested-entry { grid-template-columns: 1fr 1fr; }
}


/* Guided Add dialog + labeled editor rows (build 405) */
.besm-guided-add{width:min(640px,calc(100vw - 32px));max-height:min(85vh,820px);overflow:auto;padding:0;border:1px solid var(--edge);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px #000a}
.besm-guided-add::backdrop{background:#000a}
.besm-guided-add form{padding:18px;display:grid;gap:12px}
.besm-guided-add header,.besm-guided-add footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.besm-guided-add footer{justify-content:flex-end;margin-top:4px}
.besm-guided-add h3{margin:0}
.besm-guided-add-modes{display:flex;gap:8px;flex-wrap:wrap}
.besm-edit-row{display:grid;grid-template-columns:minmax(7rem,1.3fr) 4.5rem 5.5rem 5.5rem 4.5rem minmax(8rem,1.6fr) auto;gap:7px;align-items:end;padding:8px 0}
.besm-edit-row label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:650}
.besm-edit-row label input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:6px;padding:8px;box-shadow:inset 0 1px #fff1}
.besm-edit-row .besm-field-level,.besm-edit-row .besm-field-cost,.besm-edit-row .besm-field-total{max-width:6.5rem}
.besm-edit-row .besm-field-stat{max-width:7rem}
.besm-edit-row .besm-field-desc{min-width:0}
@media(max-width:900px){.besm-edit-row{grid-template-columns:1fr 1fr}.besm-edit-row .besm-field-desc{grid-column:1/-1}.besm-edit-row .danger{grid-column:1/-1;justify-self:start}}

.besm-live-equip{display:inline-flex;align-items:center;gap:5px;margin:0 4px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--edge) 80%,transparent);border-radius:999px;color:var(--accent);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
.besm-live-equip input{accent-color:var(--accent)}
.besm-row{grid-template-columns:1fr auto auto auto auto}

.besm-catalog-type{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.besm-nested-live{display:grid;gap:2px;margin-top:4px}
.besm-nested-live small{color:var(--muted);font-size:11px;line-height:1.35}
.besm-entry-description{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);line-height:1.55;white-space:pre-wrap}
.besm-edit-row{grid-template-columns:minmax(6rem,1.1fr) minmax(6rem,1.1fr) 4.5rem 5.5rem 5.5rem 4.5rem minmax(7rem,1.4fr) auto}
.besm-edit-row .besm-field-alias{min-width:0}
@media(max-width:900px){.besm-edit-row{grid-template-columns:1fr 1fr}.besm-edit-row .besm-field-alias,.besm-edit-row .besm-field-desc{grid-column:1/-1}}
