:root{
  --bg:#050b12;--panel:#0b1521;--panel2:#0d1a28;--line:#1e3347;--text:#f5f8fc;--muted:#8fa1b4;
  --blue:#2f8cff;--blue2:#0e5ac8;--purple:#a966ff;--green:#39d77f;--amber:#f6a918;
  --shadow:0 16px 42px rgba(0,0,0,.24);--radius:15px;
}
*{box-sizing:border-box}html{background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--text);background:radial-gradient(circle at 82% 0%,rgba(35,104,194,.12),transparent 30%),linear-gradient(180deg,#06101a 0%,#050b12 100%);min-height:100vh}
button,input,select{font:inherit}.app-shell{width:min(1460px,calc(100% - 28px));margin:0 auto;padding:0 0 28px}.card{background:linear-gradient(180deg,rgba(13,27,41,.96),rgba(8,17,27,.98));border:1px solid rgba(93,132,170,.22);border-radius:var(--radius);box-shadow:var(--shadow)}
/* Hero starts at the top edge of the page. The image is centered top and grows downward. */
.hero{min-height:178px;position:relative;overflow:hidden;display:flex;align-items:center;padding:26px 32px;border:0;border-radius:0;background-color:transparent;background-image:linear-gradient(90deg,rgba(5,11,18,.95) 0%,rgba(5,11,18,.74) 31%,rgba(5,11,18,.18) 58%,rgba(5,11,18,0) 78%),linear-gradient(180deg,rgba(5,11,18,0) 62%,var(--bg) 100%),url('../brand/zeus-header-bg.png');background-repeat:no-repeat;background-size:100% 100%,100% 100%,cover;background-position:center top,center top,center top;box-shadow:none}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,transparent 3%,transparent 97%,var(--bg) 100%);opacity:.28}.brand{display:flex;align-items:center;gap:16px;z-index:2;max-width:48%}.brand-logo{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 7px 16px rgba(25,118,255,.34))}.brand h1{font-size:clamp(30px,3.6vw,46px);line-height:1;margin:0;font-weight:800;letter-spacing:.2px;color:#47a1ff}.brand h1 span{color:#fff}.brand p{margin:7px 0 0;color:#d2dbe6;font-size:13px}
.input-card{margin-top:0;padding:16px 18px}.section-heading.compact{display:none}.input-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:10.5px;line-height:1.3;color:#e7edf5;min-height:16px;display:flex;align-items:flex-end;gap:5px}.field i{font-style:normal;width:14px;height:14px;border:1px solid #6d8095;border-radius:50%;display:inline-grid;place-items:center;font-size:9px;color:#93a7bc}.input-wrap{height:40px;border:1px solid #2a3d51;border-radius:8px;background:#08111c;display:flex;align-items:center;overflow:hidden}.input-wrap:focus-within{border-color:#388ffd;box-shadow:0 0 0 3px rgba(47,140,255,.11)}input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#fff;font-size:14px;padding:0 10px;min-width:0}.input-wrap b{font-size:11px;font-weight:500;color:#a9b7c5;padding-right:10px}select{width:100%;height:40px;padding:0 10px;border:1px solid #2a3d51;border-radius:8px;background:#08111c;color:#fff;outline:0;font-size:14px}.actions{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:13px}.btn,.guide-btn{height:40px;border-radius:8px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:.16s ease}.btn{padding:0 22px;border:1px solid transparent;font-size:12px;color:white}.btn:hover,.guide-btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(180deg,#2c8cff,#0f5ac3);min-width:190px;box-shadow:0 9px 20px rgba(17,95,196,.22)}.btn-primary .bolt{font-size:18px;margin-right:6px}.btn-secondary{background:#101c29;border-color:#2b3d50;color:#dce5ee}.guide-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid rgba(103,139,174,.18);background:rgba(9,20,31,.34);color:#8298ad;font-size:9.5px;letter-spacing:.55px}.guide-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.guide-btn .guide-dot{fill:currentColor;stroke:none}.guide-btn[aria-expanded="true"]{color:#b9c9d8;border-color:rgba(82,150,220,.3);background:rgba(13,29,44,.65)}
.guide-panel{margin-top:10px;padding:10px 12px;display:flex;align-items:flex-start;gap:9px;border:1px solid rgba(83,133,179,.17);border-radius:9px;background:rgba(7,18,29,.56);color:#9fb0c1}.guide-panel[hidden]{display:none}.guide-panel-icon{width:21px;height:21px;flex:0 0 21px;border:1px solid rgba(110,151,188,.3);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:700;color:#7fa7ca}.guide-panel strong{display:block;color:#dbe5ee;font-size:10.5px;font-weight:700;margin:0 0 3px}.guide-panel p{margin:0;font-size:10px;line-height:1.4;color:#8fa3b6;max-width:960px}.guide-panel p+p{margin-top:5px}.guide-panel p strong{display:inline;font-size:inherit}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}.summary-card{min-height:60px;padding:9px 12px;display:flex;align-items:center;gap:9px;box-shadow:none;min-width:0}.summary-icon{font-size:17px;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#0a1623;flex:0 0 auto}.summary-card>div:last-child{min-width:0}.summary-card span{display:block;color:#9eb0c1;text-transform:uppercase;font-size:8px;letter-spacing:.7px;margin-bottom:3px;white-space:nowrap}.summary-card strong{font-size:14px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.15px;white-space:nowrap}.summary-card.blue .summary-icon,.summary-card.blue strong{color:#51a1ff}.summary-card.green .summary-icon,.summary-card.green strong{color:var(--green)}.summary-card.amber .summary-icon,.summary-card.amber strong{color:var(--amber)}
.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.result-card{overflow:hidden;box-shadow:none;min-width:0}.result-header{width:100%;height:46px;border:0;background:transparent;color:inherit;padding:0 13px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.055)}.result-title{font-size:12px;font-weight:800;letter-spacing:.35px;display:flex;align-items:center;gap:7px}.monster-card .result-title,.monster-card .section-icon{color:#b278ff}.army-card .result-title,.army-card .section-icon{color:#55a4ff}.header-meta{display:flex;align-items:center;gap:9px}.badge{font-size:8px;font-weight:800;padding:4px 6px;border-radius:6px;background:#111f31;color:#9ab6d5}.monster-card .badge{background:rgba(128,72,200,.13);color:#b886ff}.army-card .badge{background:rgba(40,120,220,.12);color:#6aafff}.chevron{font-size:14px;transition:.18s}.result-header[aria-expanded="false"] .chevron{transform:rotate(180deg)}.result-body{padding:6px 8px 9px}.result-card.collapsed .result-body{display:none}.result-columns{display:grid;grid-template-columns:minmax(0,1fr) 100px 82px;gap:7px;align-items:center;padding:3px 7px 5px;color:#71859a;font-size:8px;font-weight:800;letter-spacing:.72px;text-transform:uppercase}.result-columns span:nth-child(2),.result-columns span:nth-child(3){text-align:right}.result-list{display:grid;gap:2px}.result-row{display:grid;grid-template-columns:34px minmax(0,1fr) 100px 82px;gap:7px;align-items:center;min-height:44px;padding:4px 6px;border:1px solid rgba(103,139,174,.075);border-radius:7px;background:linear-gradient(90deg,rgba(15,31,46,.4),rgba(9,20,31,.2));transition:border-color .15s ease,background-color .15s ease}.result-row:nth-child(even){background:linear-gradient(90deg,rgba(12,26,40,.36),rgba(8,18,28,.18))}.thumb{width:32px;height:32px;border-radius:7px;object-fit:cover;background:#0b1622;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 6px rgba(0,0,0,.16)}.unit-name{font-size:11.5px;font-weight:600;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.stack-cell,.total-cell{display:flex;align-items:center;justify-content:flex-end;min-width:0}.stack-cell{gap:5px}.qty{font-size:13px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.05px;white-space:nowrap;text-align:right}.qty-per-run{font-weight:750;color:#fff}.qty-total{color:#aebdcb}.copy-btn{width:24px;height:24px;flex:0 0 24px;border-radius:6px;border:1px solid #2a3e53;background:#0a1521;color:#b9c8d8;display:grid;place-items:center;cursor:pointer;transition:.15s}.copy-btn.copied{background:rgba(57,215,127,.14);border-color:rgba(57,215,127,.55);color:#55e895}.copy-icon{width:13px;height:13px;display:grid;place-items:center}.copy-icon svg{width:13px;height:13px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.copy-icon.is-check svg{display:none}.copy-icon.is-check:before{content:'✓';font-size:12px;font-weight:800}.section-note{margin:7px 2px 0;color:#75889c;font-size:9px;line-height:1.3;display:flex;gap:4px}.section-note:before{content:"ⓘ"}
.m7-toggle{width:100%;margin:3px 0 2px;padding:6px 7px;border:1px solid rgba(173,117,255,.14);border-radius:7px;background:linear-gradient(90deg,rgba(115,64,169,.08),rgba(9,20,31,.2));color:#aeb9c5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;cursor:pointer}.m7-toggle-mark{width:17px;height:17px;border-radius:5px;display:grid;place-items:center;background:rgba(155,91,229,.1);color:#b278ff;font-size:8px;font-weight:800}.m7-toggle-text{min-width:0;font-size:9px;line-height:1.25;color:#93a4b5}.m7-toggle-text strong{color:#c4a1ef;font-size:9px;letter-spacing:.4px;margin-right:4px}.m7-toggle-chevron{font-size:13px;color:#8da1b5;transition:transform .15s ease}.m7-toggle[aria-expanded="true"] .m7-toggle-chevron{transform:rotate(180deg)}.m7-group[hidden]{display:none}
.footer-card{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;box-shadow:none}.footer-card p{margin:0;color:#8195a9;font-size:10px;line-height:1.4;max-width:860px}.btn-pdf{background:#f8fafc;color:#0a1420;border-color:#d8e0e8;min-width:150px}.btn-pdf:hover{background:#fff}
@media(hover:hover) and (pointer:fine){.result-row:hover{border-color:rgba(82,150,220,.23);background:linear-gradient(90deg,rgba(17,38,57,.58),rgba(10,23,35,.32))}.copy-btn:hover{border-color:#4d7195;color:#fff;background:#0d1c2b}.m7-toggle:hover{border-color:rgba(173,117,255,.26)}}
/* Compact desktop/tablet: one results column, three input columns. */
@media(max-width:1279px){.app-shell{width:min(100% - 20px,1060px)}.hero{min-height:150px;padding:22px 26px;background-size:100% 100%,100% 100%,cover}.brand-logo{width:60px;height:60px}.brand h1{font-size:34px}.brand p{font-size:12px}.input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-grid{grid-template-columns:1fr}.result-columns{grid-template-columns:minmax(0,1fr) 118px 98px}.result-row{grid-template-columns:36px minmax(0,1fr) 118px 98px}.result-body{padding-left:10px;padding-right:10px}}
/* Tablet: two-column form, compact summary, dense table. */
@media(max-width:899px){.app-shell{width:min(100% - 14px,780px)}.hero{height:132px;min-height:132px;padding:18px 20px;background-size:100% 100%,100% 100%,auto 132px;background-position:center top,center top,right top}.brand{max-width:58%;gap:11px}.brand-logo{width:50px;height:50px}.brand h1{font-size:26px}.brand p{font-size:11px}.input-card{padding:14px}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-grid{gap:7px;margin:8px 0}.summary-card{min-height:54px;padding:8px 9px;gap:6px}.summary-icon{width:25px;height:25px;font-size:14px}.summary-card span{font-size:7.5px}.summary-card strong{font-size:12px}.result-columns{grid-template-columns:minmax(0,1fr) 100px 82px}.result-row{grid-template-columns:34px minmax(0,1fr) 100px 82px;min-height:43px}.thumb{width:31px;height:31px}.unit-name{font-size:11px}.qty{font-size:12.5px}.footer-card{align-items:stretch;flex-direction:column}.btn-pdf{width:100%}}
/* Mobile keeps the same table semantics; only widths and density change. */
@media(max-width:599px){.app-shell{width:100%;padding-bottom:18px}.hero{height:110px;min-height:110px;padding:14px 14px;background-size:100% 100%,100% 100%,auto 110px;background-position:center top,center top,right top}.hero:after{opacity:.18}.brand{max-width:66%;gap:9px}.brand-logo{width:42px;height:42px}.brand h1{font-size:22px}.brand p{font-size:10px;margin-top:4px}.input-card,.result-card,.footer-card{border-radius:0;border-left:0;border-right:0}.input-card{padding:12px;margin-top:0}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field>span{font-size:9px}.input-wrap,select{height:38px}.actions{margin-top:10px;gap:7px}.btn,.guide-btn{height:38px}.btn-primary{min-width:0;flex:1 1 150px}.btn-secondary{flex:0 0 auto}.actions-guide{flex:0 1 auto}.guide-panel{margin-top:8px}.summary-grid{margin:7px 7px;gap:5px}.summary-card{min-height:49px;padding:7px 7px;gap:5px;border-radius:10px}.summary-icon{width:22px;height:22px;font-size:12px}.summary-card span{font-size:6.8px;letter-spacing:.5px}.summary-card strong{font-size:11px}.result-card{margin-top:8px}.result-header{height:43px;padding:0 11px}.result-body{padding:5px 6px 8px}.result-columns{grid-template-columns:minmax(0,1fr) 86px 68px;gap:5px;padding:3px 5px 5px;font-size:7px}.result-row{grid-template-columns:31px minmax(0,1fr) 86px 68px;gap:5px;min-height:40px;padding:3px 5px;border-radius:6px}.thumb{width:29px;height:29px;border-radius:6px}.unit-name{font-size:10.5px}.qty{font-size:11.5px}.stack-cell{gap:4px}.copy-btn{width:22px;height:22px;flex-basis:22px}.copy-icon,.copy-icon svg{width:12px;height:12px}.m7-toggle{padding:6px}.section-note{font-size:8.5px}.footer-card{margin-top:8px;padding:9px 11px}.footer-card p{font-size:9px}}
@media(max-width:390px){.hero{height:98px;min-height:98px;padding:12px;background-size:100% 100%,100% 100%,auto 98px;background-position:center top,center top,right top}.brand{max-width:70%}.brand-logo{width:38px;height:38px}.brand h1{font-size:19px}.brand p{font-size:9px}.input-grid{grid-template-columns:1fr}.actions{display:grid;grid-template-columns:1fr 1fr}.btn-primary{grid-column:1/-1}.actions-guide{width:100%}.summary-grid{gap:4px;margin:6px 5px}.summary-card{padding:6px 5px;gap:4px}.summary-icon{display:none}.summary-card span{font-size:6.5px}.summary-card strong{font-size:10px}.result-columns{grid-template-columns:minmax(0,1fr) 80px 62px}.result-row{grid-template-columns:29px minmax(0,1fr) 80px 62px;gap:4px}.thumb{width:27px;height:27px}.unit-name{font-size:10px}.qty{font-size:11px}.copy-btn{width:21px;height:21px;flex-basis:21px}.m7-toggle-text strong{display:block;margin:0 0 1px}}

/* V2.14 input-state behavior */
.input-wrap input::placeholder{color:#6f859a;opacity:.72;font-weight:500}
.input-wrap input:focus::placeholder{color:transparent}
select.is-info{color:#6f859a}
select:not(.is-info){color:#fff}
[hidden]{display:none!important}

/* V2.15 refinements */
.input-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.guide-field{min-width:0}
.guide-field .guide-btn{width:100%;height:40px}
.actions-guide{display:none!important}

.summary-card{justify-content:center;text-align:center;gap:10px;padding:10px 14px}
.summary-card>div:last-child{display:flex;flex-direction:column;align-items:center;justify-content:center}
.summary-card span{font-size:9px;letter-spacing:.75px;margin-bottom:5px;white-space:normal;text-align:center;line-height:1.15}
.summary-card strong{font-size:18px;line-height:1.05}

.m7-toggle{min-height:54px;margin:5px 0 3px;padding:8px 10px;grid-template-columns:34px minmax(0,1fr) 24px;gap:8px;text-align:center;border-color:rgba(173,117,255,.28);background:linear-gradient(90deg,rgba(115,64,169,.13),rgba(82,43,124,.11),rgba(9,20,31,.26));box-shadow:inset 0 0 0 1px rgba(173,117,255,.035)}
.m7-toggle-mark{width:28px;height:28px;border-radius:7px;font-size:10px;background:rgba(155,91,229,.16);color:#c58cff}
.m7-toggle-text{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9.5px;line-height:1.25;color:#aeb9c5;text-align:center}
.m7-toggle-text strong{display:block;margin:0;color:#d0a8ff;font-size:10px;letter-spacing:.7px;line-height:1.1}
.m7-toggle-chevron{justify-self:center;color:#b79ad6}

@media(max-width:1279px){
  .input-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:899px){
  .input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-card strong{font-size:16px}
  .summary-card span{font-size:8px}
}
@media(max-width:599px){
  .summary-card{padding:8px 6px;gap:5px}
  .summary-card span{font-size:7px;letter-spacing:.45px}
  .summary-card strong{font-size:13px}
  .m7-toggle{grid-template-columns:30px minmax(0,1fr) 20px;padding:7px 8px}
  .m7-toggle-mark{width:25px;height:25px}
  .m7-toggle-text{font-size:8.5px;gap:2px}
  .m7-toggle-text strong{font-size:9px}
}
@media(max-width:390px){
  .input-grid{grid-template-columns:1fr}
  .guide-field .guide-btn{width:100%}
  .summary-card span{font-size:6.5px}
  .summary-card strong{font-size:12px}
}

/* V2.16 premium hero + input icons */
.top-stage{
  position:relative;
  margin:0 0 12px;
  padding:0 0 18px;
  isolation:isolate;
  overflow:hidden;
}
.top-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    radial-gradient(circle at 78% 8%, rgba(69,135,255,.28), transparent 20%),
    linear-gradient(180deg, rgba(5,11,18,.08) 0%, rgba(5,11,18,.32) 54%, rgba(5,11,18,.72) 79%, rgba(5,11,18,.95) 100%),
    linear-gradient(90deg, rgba(5,11,18,.95) 0%, rgba(5,11,18,.82) 24%, rgba(5,11,18,.38) 52%, rgba(5,11,18,.08) 68%, rgba(5,11,18,0) 84%),
    url('../brand/zeus-header-bg.png');
  background-repeat:no-repeat;
  background-size:100% 100%,100% 100%,100% 100%,cover;
  background-position:center top,center top,center top,center top;
}
.top-stage::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  z-index:-1;
  background:linear-gradient(180deg, rgba(5,11,18,0) 0%, rgba(5,11,18,.78) 48%, var(--bg) 100%);
}
.hero{
  min-height:248px;
  background:none!important;
  padding:34px 32px 88px;
  align-items:flex-start;
}
.hero::after{display:none}
.brand{max-width:46%}
.input-card{
  position:relative;
  margin:-56px 12px 0;
  padding:18px 18px 16px;
  background:linear-gradient(180deg, rgba(10,20,32,.82), rgba(8,17,27,.95));
  backdrop-filter:blur(6px) saturate(1.08);
  border-color:rgba(115,153,190,.22);
  box-shadow:0 18px 46px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.03);
}
.field-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  margin-left:3px;
}
.field-icon img{
  width:26px;
  height:26px;
  object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.22));
}
.input-wrap.has-icon{padding-left:3px}
.input-wrap.has-icon input,
.select-wrap select{padding-left:4px}
.select-wrap{
  position:relative;
  padding-right:30px;
}
.select-wrap select{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  height:100%;
  padding-right:4px;
}
.select-wrap .select-caret{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  color:#91a6ba;
  pointer-events:none;
}
.guide-field .guide-btn{background:rgba(8,18,29,.58)}

@media(max-width:1279px){
  .top-stage::before{background-position:center top,center top,center top,center top}
  .hero{min-height:224px;padding:28px 26px 82px}
  .input-card{margin:-52px 10px 0}
}
@media(max-width:899px){
  .top-stage{padding-bottom:14px}
  .top-stage::before{
    background-size:100% 100%,100% 100%,100% 100%,auto 236px;
    background-position:center top,center top,center top,right top;
  }
  .hero{min-height:178px;height:auto;padding:18px 20px 60px}
  .brand{max-width:60%}
  .input-card{margin:-34px 8px 0;padding:14px}
  .field-icon{width:30px;height:30px;flex-basis:30px}
  .field-icon img{width:22px;height:22px}
  .select-wrap{padding-right:28px}
}
@media(max-width:599px){
  .top-stage{padding-bottom:10px}
  .top-stage::before{
    background-size:100% 100%,100% 100%,100% 100%,auto 198px;
    background-position:center top,center top,center top,right top;
  }
  .hero{min-height:142px;padding:14px 14px 42px}
  .brand{max-width:68%}
  .input-card,.result-card,.footer-card{border-radius:0;border-left:0;border-right:0}
  .input-card{margin:-18px 0 0;padding:12px}
  .field-icon{width:28px;height:28px;flex-basis:28px;margin-left:2px}
  .field-icon img{width:20px;height:20px}
  .select-wrap{padding-right:26px}
}
@media(max-width:390px){
  .top-stage::before{background-size:100% 100%,100% 100%,100% 100%,auto 174px}
  .hero{min-height:126px;padding:12px 12px 34px}
  .brand{max-width:72%}
  .field-icon{width:26px;height:26px;flex-basis:26px}
  .field-icon img{width:18px;height:18px}
}

/* V2.20 larger result thumbnails with tighter row spacing */
.result-row{
  grid-template-columns:42px minmax(0,1fr) 100px 82px;
  min-height:44px;
  padding:1px 5px;
  column-gap:7px;
}
.thumb{
  width:40px;
  height:40px;
  border-radius:7px;
}
@media(max-width:1279px){
  .result-row{grid-template-columns:42px minmax(0,1fr) 118px 98px;padding:1px 5px}
  .thumb{width:40px;height:40px}
}
@media(max-width:899px){
  .result-row{grid-template-columns:40px minmax(0,1fr) 100px 82px;min-height:42px;padding:1px 5px}
  .thumb{width:38px;height:38px}
}
@media(max-width:599px){
  .result-row{grid-template-columns:38px minmax(0,1fr) 86px 68px;min-height:40px;padding:1px 4px}
  .thumb{width:36px;height:36px;border-radius:6px}
}
@media(max-width:390px){
  .result-row{grid-template-columns:36px minmax(0,1fr) 80px 62px;min-height:38px;padding:1px 3px}
  .thumb{width:34px;height:34px;border-radius:6px}
}


/* V2.25 Army/Monster grouping + lighter stack typography */
.army-card .result-list{row-gap:2px}
.army-card .result-row.army-segment-end{
  position:relative;
  margin-bottom:10px;
}
.army-card .result-row.army-segment-end::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(85,164,255,0),rgba(85,164,255,.42) 14%,rgba(85,164,255,.72) 50%,rgba(85,164,255,.42) 86%,rgba(85,164,255,0));
  box-shadow:0 0 8px rgba(55,138,225,.18);
  pointer-events:none;
}
.qty-per-run{font-weight:400}
@media(max-width:599px){
  .army-card .result-row.army-segment-end{margin-bottom:9px}
  .army-card .result-row.army-segment-end::after{bottom:-6px;left:3px;right:3px}
}


/* V2.25 Monster divider: after M9 - Trickster II */
.monster-card .result-row.monster-segment-end{
  position:relative;
  margin-bottom:10px;
}
.monster-card .result-row.monster-segment-end::after{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:-7px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(192,97,255,0),rgba(192,97,255,.42) 14%,rgba(192,97,255,.72) 50%,rgba(192,97,255,.42) 86%,rgba(192,97,255,0));
  box-shadow:0 0 8px rgba(170,76,235,.18);
  pointer-events:none;
}
@media(max-width:599px){
  .monster-card .result-row.monster-segment-end{margin-bottom:9px}
  .monster-card .result-row.monster-segment-end::after{bottom:-6px;left:3px;right:3px}
}


/* V2.26 access gate concept */

body.is-locked{overflow:hidden}
.login-gate{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    linear-gradient(180deg,rgba(5,11,18,.38) 0%,rgba(5,11,18,.72) 68%,rgba(5,11,18,.9) 100%),
    radial-gradient(circle at 82% 16%,rgba(71,137,255,.36),transparent 18%),
    radial-gradient(circle at 18% 68%,rgba(22,52,94,.28),transparent 22%),
    url('../brand/login-bg.png') center top / cover no-repeat fixed;
}
.login-gate::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,11,18,.82) 0%,rgba(5,11,18,.52) 28%,rgba(5,11,18,.18) 58%,rgba(5,11,18,.62) 100%);
  pointer-events:none;
}
.login-card-wrap{position:relative;z-index:2;width:min(100%,560px);display:flex;justify-content:center}
.login-card{
  width:100%;
  padding:28px 28px 24px;
  border-radius:24px;
  border:1px solid rgba(101,154,212,.55);
  background:linear-gradient(180deg,rgba(8,18,29,.78),rgba(5,13,22,.88));
  box-shadow:0 28px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(9px) saturate(1.08);
}
.login-brandline{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.login-brand-logo{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(46,132,255,.28))}
.login-kicker{font-size:14px;color:#e8eef6;letter-spacing:.02em;margin-bottom:4px}
.login-brand-name{font-size:28px;line-height:1.05;font-weight:700;color:#c6d8ef}
.login-brand-name span{color:#f2c36a}
.login-divider{height:1px;margin:12px 0 18px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(154,190,229,.75),rgba(255,255,255,0))}
.login-card h1{margin:0;font-size:clamp(34px,4.6vw,56px);line-height:1.02;letter-spacing:.03em;text-align:center;font-family:Georgia,serif;color:#f4f7fb}
.login-lead{margin:12px 0 0;text-align:center;font-size:20px;line-height:1.35;color:#d3deea;font-family:Georgia,serif}
.login-symbol{margin:14px 0 10px;text-align:center;color:#e9c36c;font-size:26px;line-height:1}
.login-body{max-width:420px;margin:0 auto 18px;text-align:center;color:#b7c7d9;font-size:15px;line-height:1.55}
.login-label{display:block;margin:0 0 8px;color:#eaf1f8;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.login-input-wrap{height:56px;border-radius:14px;border:1px solid rgba(90,129,167,.65);background:rgba(7,16,26,.82);display:flex;align-items:center;padding:0 16px;gap:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.login-input-wrap:focus-within{border-color:#49a0ff;box-shadow:0 0 0 4px rgba(63,145,245,.12)}
.login-input-icon{font-size:20px;line-height:1;color:#79a7d6;opacity:.85}
#loginId{height:100%;border:0;outline:0;background:transparent;color:#f6f9fc;font-size:30px;letter-spacing:.02em;padding:0;min-width:0}
#loginId::placeholder{color:#6d87a5}
.enter-olympus-btn{
  width:100%;margin-top:18px;height:64px;border:1px solid rgba(242,198,108,.88);border-radius:16px;cursor:pointer;
  color:#f6dfaa;font-size:21px;font-family:Georgia,serif;letter-spacing:.04em;
  background:
    linear-gradient(180deg,rgba(92,62,20,.92),rgba(44,29,9,.94)),
    linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,0));
  box-shadow:0 0 0 1px rgba(255,214,144,.16) inset, 0 14px 26px rgba(0,0,0,.22), 0 0 24px rgba(223,175,79,.15);
}
.enter-olympus-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.login-note{display:flex;gap:7px;align-items:flex-start;margin:16px 0 10px;color:#a9bdd1;font-size:13px;line-height:1.5}
.login-message{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:rgba(12,25,40,.72);border:1px solid rgba(88,133,181,.2);font-size:13px;line-height:1.45;color:#d7e6f6}
.login-message.error{border-color:rgba(218,92,92,.35);color:#ffd1d1;background:rgba(57,16,16,.42)}
.login-message.success{border-color:rgba(57,215,127,.35);color:#d8ffe8;background:rgba(18,54,30,.38)}
.admin-link{display:block;margin:18px auto 0;border:0;background:none;color:#b8cadb;font-size:13px;letter-spacing:.03em;cursor:pointer;opacity:.88}
.admin-link:hover{opacity:1;color:#e1ebf5}
.login-sigil{position:absolute;z-index:1;pointer-events:none}
.login-sigil-left{left:36px;top:96px}
.sigil-panel{
  width:162px;padding:32px 22px;border:1px solid rgba(181,137,68,.38);border-left-width:3px;
  background:linear-gradient(180deg,rgba(7,17,28,.72),rgba(7,17,28,.35));
  clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
}
.sigil-copy{font-family:Georgia,serif;font-size:15px;line-height:1.55;letter-spacing:.08em;color:#d9e6f3;text-transform:uppercase;text-align:center}
.sigil-wreath{margin-top:18px;text-align:center;color:#d8b368;font-size:18px}
.login-sigil-right-top{right:190px;bottom:176px}.login-sigil-right-bottom{right:48px;bottom:34px}
.stone-copy{font-family:Georgia,serif;font-size:16px;line-height:1.45;letter-spacing:.08em;color:rgba(236,198,113,.9);text-transform:uppercase;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.35)}

.admin-modal{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:rgba(4,10,16,.72);backdrop-filter:blur(8px);z-index:50}
.admin-panel{width:min(100%,920px);padding:18px 18px 20px;max-height:min(88vh,900px);overflow:auto}
.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.admin-eyebrow{margin:0 0 4px;color:#8fb4da;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.admin-header h2{margin:0;font-size:24px}
.admin-close,.utility-btn{height:34px;padding:0 12px;border-radius:9px;border:1px solid rgba(90,132,175,.28);background:#0c1825;color:#d8e6f4;cursor:pointer}
.admin-actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.admin-inline-note{margin:10px 0 0;color:#95a8bb;font-size:12px;line-height:1.45}.admin-inline-note code{background:#0a121b;border:1px solid rgba(255,255,255,.06);padding:2px 5px;border-radius:6px;color:#f2f5f8}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-card-sub{padding:14px;border:1px solid rgba(91,132,171,.18);border-radius:14px;background:rgba(7,15,24,.5)}
.admin-card-sub h3{margin:0 0 8px;font-size:16px}.admin-card-sub p{margin:0;color:#9db1c4;font-size:13px;line-height:1.5}
.admin-manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:12px}
.admin-list-card{margin-top:12px}
.admin-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.admin-list-head h3{margin:0}
.access-list{display:grid;gap:8px}
.access-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid rgba(90,132,171,.14);background:linear-gradient(90deg,rgba(12,25,38,.5),rgba(7,15,23,.34))}
.access-id{font-weight:700;color:#eff6fd;word-break:break-word}.access-status{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#61da8b}
.remove-access-btn{height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(180,92,92,.22);background:rgba(54,16,16,.32);color:#ffd6d6;cursor:pointer}
.access-empty{padding:18px;border:1px dashed rgba(101,141,179,.24);border-radius:12px;color:#90a4b8;text-align:center;font-size:13px}

.app-utility-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 8px;color:#bfd0df;font-size:13px}
.app-utility-user{display:flex;align-items:center;gap:8px;min-width:0}.app-utility-actions{display:flex;gap:8px;flex-wrap:wrap}
.utility-btn:hover,.admin-close:hover{transform:translateY(-1px)}

@media (max-width: 1199px){
  .login-sigil-left{left:18px;top:68px}
  .login-sigil-right-top{right:92px;bottom:156px}
}
@media (max-width: 899px){
  .login-gate{padding:16px;background-attachment:scroll}
  .login-gate::after{background:linear-gradient(180deg,rgba(5,11,18,.76) 0%,rgba(5,11,18,.38) 38%,rgba(5,11,18,.82) 100%)}
  .login-card{padding:22px 18px 20px;border-radius:20px}
  .login-brand-logo{width:58px;height:58px}.login-brand-name{font-size:24px}
  .login-card h1{font-size:34px}.login-lead{font-size:18px}.login-body{font-size:14px}
  #loginId{font-size:26px}
  .login-sigil-left,.login-sigil-right-top,.login-sigil-right-bottom{display:none}
  .admin-grid{grid-template-columns:1fr}
}
@media (max-width: 599px){
  .login-card{padding:18px 14px 16px}
  .login-brandline{gap:12px}.login-brand-logo{width:48px;height:48px}
  .login-kicker{font-size:12px}.login-brand-name{font-size:21px}
  .login-card h1{font-size:28px}.login-lead{font-size:16px}
  .login-input-wrap{height:50px;border-radius:12px;padding:0 12px}#loginId{font-size:22px}
  .enter-olympus-btn{height:56px;font-size:18px}
  .app-utility-bar{padding:10px 10px 6px;flex-direction:column;align-items:flex-start}
  .app-utility-actions{width:100%}
}
