/* Private Force Builder and Table Command: neutral by default, faction identity only on chosen player data. */
.vs-force-command { display:grid; gap:1.15rem; }
.vs-force-command__layout { display:grid; grid-template-columns:minmax(15rem,.58fr) minmax(0,1.42fr); gap:1.15rem; align-items:stretch; }.vs-force-command__layout > .vs-player__panel { margin-top:0; }
.vs-force-command :is(.vs-player__panel, [data-vs-component="tactical-panel"]) { min-width:0; }
.vs-force-command__archive ul { display:grid; gap:.55rem; margin:1rem 0 0; padding:0; list-style:none; }
.vs-force-command__archive a { display:grid; gap:.2rem; padding:.7rem .8rem; border:1px solid color-mix(in srgb, var(--vs-context-accent) 42%, rgba(240,236,226,.28)); color:inherit; text-decoration:none; background:rgba(8,10,12,.33); }
.vs-force-command__archive a:hover,.vs-force-command__archive a:focus-visible,.vs-force-command__archive a.is-current { border-color:var(--vs-context-accent); background:color-mix(in srgb,var(--vs-context-muted) 72%,#121416); box-shadow:inset 3px 0 0 var(--vs-context-accent); }
.vs-force-command__archive span,.vs-force-command__empty,.vs-force-command__hint { color:rgba(240,236,226,.76); font-size:.92rem; line-height:1.45; }
.vs-force-command__create { display:flex; flex-direction:column; }.vs-force-command__create h2 { margin:.1rem 0 .45rem; }.vs-force-command__create .vs-force-command__form { margin-top:auto; }
.vs-force-command__form { display:grid; gap:.9rem; margin-top:1rem; }
.vs-force-command__form--compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1rem; align-items:end; }
.vs-force-command__form--compact > label:first-child { grid-column:1 / -1; }
.vs-force-command__form--compact > button { box-sizing:border-box; grid-column:1 / -1; width:100%; height:var(--vs-control-height,2.5rem); min-height:var(--vs-control-height,2.5rem); margin:0; padding:.35rem .75rem; line-height:1.2; white-space:nowrap; }
.vs-force-command label { display:grid; gap:.35rem; min-width:0; color:var(--vs-context-strong); font-weight:700; }
.vs-force-command :is(input[type="text"],input[type="number"],select,textarea) { box-sizing:border-box; width:100%; min-height:var(--vs-control-height,2.5rem); margin:0; padding:.42rem .62rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 54%,rgba(240,236,226,.45)); border-radius:.35rem; background:#0b0d0e; color:var(--vs-pale-ash); font:inherit; line-height:1.25; }
.vs-force-command :is(input[type="text"],input[type="number"],select) { height:var(--vs-control-height,2.5rem); min-height:var(--vs-control-height,2.5rem); padding:.35rem .65rem; line-height:1.2; }.vs-force-command textarea { min-height:7rem; resize:vertical; max-width:100%; }
.vs-force-command input[type="number"] { min-width:0; }
.vs-force-command__form-grid,.vs-force-command__scoreboard { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; }
.vs-force-command__editor { display:grid; gap:1.1rem; border-top:3px solid var(--vs-context-accent) !important; background:linear-gradient(135deg,color-mix(in srgb,var(--vs-context-muted) 58%,#111416),rgba(12,15,17,.97)) !important; }
.vs-force-command__editor-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(15rem,.78fr); gap:1rem; align-items:start; padding-bottom:.9rem; border-bottom:1px solid color-mix(in srgb,var(--vs-context-accent) 44%,rgba(240,236,226,.25)); }
.vs-force-command__editor-header h2 { margin:.1rem 0 .25rem; color:var(--vs-context-strong); }
.vs-force-command__editor-header p { margin:.2rem 0; }
.vs-force-command__metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(5.75rem,1fr)); gap:.55rem; width:100%; margin:0; }
.vs-force-command__metrics div { padding:.6rem .7rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 45%,rgba(240,236,226,.3)); background:rgba(8,10,12,.38); }
.vs-force-command__metrics dt { margin:0 0 .2rem; color:var(--vs-context-strong); font-size:.77rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.vs-force-command__metrics dd { margin:0; color:var(--vs-context-accent); font-size:1.35rem; font-weight:700; }
.vs-force-command__metrics .is-over { color:#ed6a70; }.vs-force-command__metrics .is-ready { color:#9ed99a; }
.vs-force-command__unit-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(17rem,1fr)); gap:.8rem; }
.vs-force-command__unit-grid article { display:grid; grid-template-columns:4.4rem minmax(0,1fr) 4.8rem; gap:.7rem; align-items:center; padding:.65rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 42%,rgba(240,236,226,.28)); background:rgba(7,9,11,.4); }
.vs-force-command__unit-image { display:grid; width:4.4rem; height:5.8rem; place-items:center; overflow:hidden; border:1px solid color-mix(in srgb,var(--vs-context-accent) 55%,rgba(240,236,226,.35)); color:var(--vs-context-strong); background:#111; text-decoration:none; }
.vs-force-command__unit-image img { width:100%; height:100%; object-fit:cover; }
.vs-force-command__unit-grid h3 { margin:0 0 .2rem; font-size:1.03rem; line-height:1.15; }.vs-force-command__unit-grid h3 a { color:var(--vs-context-strong); }.vs-force-command__unit-grid p { margin:.1rem 0; }.vs-force-command__unit-grid small { color:var(--vs-context-accent); }
.vs-force-command__quantity { align-self:stretch; grid-template-rows:auto 1fr; font-size:.82rem; }.vs-force-command__quantity input { text-align:center; font-size:1.15rem; }
.vs-force-command__table-links { display:flex; flex-wrap:wrap; gap:.45rem; }
.vs-force-command__scoreboard { grid-template-columns:repeat(3,minmax(0,1fr)); padding:.85rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 42%,rgba(240,236,226,.25)); background:rgba(7,9,11,.34); }
.vs-force-command__log { padding-top:.1rem; border-top:1px solid color-mix(in srgb,var(--vs-context-accent) 42%,rgba(240,236,226,.25)); }.vs-force-command__log h3 { margin:.6rem 0; color:var(--vs-context-strong); }.vs-force-command__log ol { display:grid; gap:.45rem; margin:0; padding:0; list-style:none; }.vs-force-command__log li { display:grid; grid-template-columns:minmax(8rem,max-content) 1fr; gap:.8rem; padding:.6rem .7rem; background:rgba(7,9,11,.3); }.vs-force-command__log time { color:var(--vs-context-accent); font-size:.88rem; }
.vs-force-command__dice-tray { display:grid; gap:.8rem; padding:.95rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 46%,rgba(240,236,226,.3)); background:linear-gradient(120deg,rgba(7,9,11,.58),color-mix(in srgb,var(--vs-context-muted) 28%,rgba(10,12,14,.76))); }.vs-force-command__dice-tray header { display:grid; grid-template-columns:minmax(0,1fr) minmax(7.5rem,10rem); gap:1rem; align-items:end; }.vs-force-command__dice-tray h3 { margin:.1rem 0 .25rem; color:var(--vs-context-strong); }.vs-force-command__dice-tray header p:last-child { margin:.2rem 0 0; color:rgba(240,236,226,.76); font-size:.9rem; line-height:1.4; }.vs-force-command__dice { display:flex; flex-wrap:wrap; gap:.55rem; min-height:3.25rem; }.vs-force-command__die { display:grid; width:3.1rem; height:3.1rem; place-items:center; margin:0; padding:.2rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 70%,rgba(240,236,226,.45)); border-radius:.52rem; background:radial-gradient(circle at 24% 21%,rgba(255,255,255,.22) 0 .11rem,transparent .13rem),linear-gradient(135deg,color-mix(in srgb,var(--vs-context-accent) 66%,#202326),color-mix(in srgb,var(--vs-context-muted) 84%,#0a0c0e)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 .35rem .7rem rgba(0,0,0,.26); color:#f0ece2; font:700 1rem/1 Georgia,serif; cursor:pointer; transition:transform .14s ease,opacity .14s ease,filter .14s ease,border-style .14s ease; }.vs-force-command__die:hover { transform:translateY(-2px); }.vs-force-command__die:focus-visible { outline:3px solid var(--vs-context-strong); outline-offset:3px; }.vs-force-command__die.is-spent { border-style:dashed; filter:saturate(.25); opacity:.44; transform:scale(.9); }.vs-force-command__die.is-spent:hover { transform:scale(.9) translateY(-1px); }.vs-force-command__dice-status,.vs-force-command__dice-empty { min-height:1.3em; margin:0; color:rgba(240,236,226,.76); font-size:.84rem; }
.vs-force-command__delete { margin-top:-.25rem; }.vs-command-centre__module--force-builder,.vs-command-centre__module--table-command { border-top-color:var(--vs-weathered-brass); }
@media (max-width:800px) { .vs-force-command__layout { grid-template-columns:1fr; }.vs-force-command__editor-header { grid-template-columns:1fr; }.vs-force-command__metrics { width:100%; } }
@media (max-width:560px) { .vs-force-command__form--compact,.vs-force-command__form-grid,.vs-force-command__scoreboard { grid-template-columns:1fr; }.vs-force-command__unit-grid { grid-template-columns:1fr; }.vs-force-command__unit-grid article { grid-template-columns:4rem minmax(0,1fr) 4.5rem; }.vs-force-command__unit-image { width:4rem; height:5.25rem; }.vs-force-command__log li { grid-template-columns:1fr; gap:.2rem; }.vs-force-command__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.vs-force-command__dice-tray header { grid-template-columns:1fr; }.vs-force-command__dice { gap:.45rem; }.vs-force-command__die { width:2.8rem; height:2.8rem; } }

/* Command Dice: tap an available die to open its command picker. */
.vs-force-command__dice-menu { position:fixed; z-index:10020; width:min(27rem,calc(100vw - 1rem)); padding:.8rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 76%,rgba(240,236,226,.5)); border-radius:.5rem; background:linear-gradient(145deg,color-mix(in srgb,var(--vs-context-muted) 86%,#101315),#090b0c); box-shadow:0 1rem 2.4rem rgba(0,0,0,.56),inset 0 0 0 1px rgba(255,255,255,.08); }.vs-force-command__dice-menu[hidden] { display:none; }.vs-force-command__dice-menu header { display:flex; align-items:start; justify-content:space-between; gap:.8rem; }.vs-force-command__dice-menu h4 { margin:.05rem 0; color:var(--vs-context-strong); }.vs-force-command__dice-menu header .vs-eyebrow { margin:0; }.vs-force-command__dice-menu > p { margin:.5rem 0 .7rem; color:rgba(240,236,226,.76); font-size:.85rem; line-height:1.35; }.vs-force-command__dice-menu-close { display:grid; width:2rem; height:2rem; min-height:0; place-items:center; margin:0; padding:0; border:1px solid color-mix(in srgb,var(--vs-context-accent) 55%,rgba(240,236,226,.45)); border-radius:.35rem; background:#0b0d0e; color:var(--vs-pale-ash); font:700 1.2rem/1 sans-serif; cursor:pointer; }.vs-force-command__dice-menu-close:hover,.vs-force-command__dice-menu-close:focus-visible { border-color:var(--vs-context-strong); background:color-mix(in srgb,var(--vs-context-muted) 70%,#111416); }.vs-force-command__dice-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }.vs-force-command__dice-actions button { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.38rem; align-items:center; min-height:2.4rem; margin:0; padding:.38rem .45rem; border:1px solid color-mix(in srgb,var(--vs-context-accent) 44%,rgba(240,236,226,.35)); border-radius:.32rem; background:rgba(7,9,11,.54); color:var(--vs-pale-ash); text-align:left; cursor:pointer; }.vs-force-command__dice-actions button > span { color:var(--vs-context-accent); font:700 .7rem/1.1 system-ui,sans-serif; letter-spacing:.035em; }.vs-force-command__dice-actions button strong { overflow:hidden; font-size:.78rem; line-height:1.12; text-overflow:ellipsis; white-space:nowrap; }.vs-force-command__dice-actions button:hover,.vs-force-command__dice-actions button:focus-visible { border-color:var(--vs-context-strong); background:color-mix(in srgb,var(--vs-context-muted) 64%,#101214); outline:none; }.vs-force-command__die { grid-template-rows:1fr auto; width:3.65rem; height:3.65rem; min-height:3.65rem; }.vs-force-command__die-symbol { display:block; font-size:.82rem; letter-spacing:.04em; }.vs-force-command__die-label { display:block; width:100%; overflow:hidden; color:inherit; font-size:.56rem; font-weight:700; line-height:1.1; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.vs-force-command__die.is-spent { opacity:.66; }.vs-force-command__die.is-spent:hover { transform:scale(.9) translateY(-1px); }@media (max-width:560px) { .vs-force-command__dice-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.vs-force-command__dice-actions button { min-height:2.3rem; }.vs-force-command__die { width:3.1rem; height:3.1rem; min-height:3.1rem; }.vs-force-command__die-symbol { font-size:.73rem; }.vs-force-command__die-label { font-size:.5rem; } }