/* Generators wiki — role-model player documentation */
.generator-page-header{padding-bottom:16px;margin-bottom:20px}
.generator-page-header h1{max-width:none}
.generator-discovery{margin-bottom:38px}
.generator-discovery .wiki-discovery-links{justify-content:flex-start}

/* Overview */
.generator-overview-section{padding-top:0!important;border-top:0!important}
.generator-overview{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,320px);gap:34px;align-items:stretch;margin-top:18px}
.generator-overview-copy{display:flex;align-items:center;min-height:100%}
.generator-overview p{margin:0;max-width:62ch;color:#c4d1d6;font-size:1.01rem;line-height:1.78}
.generator-overview figure{margin:0;justify-self:end;width:100%;max-width:320px;height:100%;display:flex}
.generator-overview img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center;border:1px solid rgba(142,208,236,.2);background:#071019;box-shadow:0 12px 30px rgba(0,0,0,.18)}

/* Strong visual section dividers without extra boxes */
.generator-types-section,.generator-production-section,.generator-fueling-section{padding-top:38px!important;border-top:1px solid rgba(142,208,236,.18)!important}

/* Generator types */
.generator-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 18px}
.generator-type-card{position:relative;min-height:142px;padding:17px 17px 16px;border:1px solid rgba(142,208,236,.16);background:linear-gradient(180deg,rgba(14,32,43,.78),rgba(7,18,26,.74));box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:border-color .16s ease,transform .16s ease,background .16s ease}
.generator-type-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,#52b4e1,rgba(82,180,225,.08));opacity:.7}
.generator-type-card:hover{transform:translateY(-1px);border-color:rgba(142,208,236,.3);background:linear-gradient(180deg,rgba(17,38,50,.84),rgba(8,21,30,.78))}
.generator-type-title{display:flex;align-items:center;gap:11px;margin-bottom:10px}
.generator-output-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border:1px solid rgba(142,208,236,.15);background:#08151e}
.generator-output-icon img{width:30px;height:30px;object-fit:contain;image-rendering:pixelated}
.generator-type-card h3{margin:0!important;color:#eff7fa!important;font-family:var(--serif)!important;font-size:1.1rem!important;line-height:1.2!important}
.generator-type-card p{margin:0!important;color:#aebec5!important;font-size:.89rem!important;line-height:1.52!important}
.generator-type-card strong{color:#dcecf2}
.generator-prerequisites{margin:18px 0 0!important;padding-top:16px;border-top:1px solid rgba(142,208,236,.1);color:#95a9b2!important;font-size:.87rem!important;line-height:1.58!important}
.generator-prerequisites strong{color:#d9e7ec}

/* Production table */
.generator-table-wrap{margin-top:18px;border:1px solid rgba(142,208,236,.14);background:rgba(7,18,26,.46)}
.generator-production-table{margin:0!important;font-size:.9rem}
.generator-production-table th{padding:12px 14px;background:rgba(82,180,225,.06);color:#8fb5c5}
.generator-production-table td{padding:11px 14px}
.generator-production-table td:first-child{width:29%;color:#e9f2f5;font-weight:850;white-space:nowrap}
.generator-production-table td:nth-child(2){color:#c2d0d5}
.generator-production-table td:last-child{width:24%;color:#9fd7ed;font-weight:750;white-space:nowrap}
.generator-production-table tbody tr:last-child td{border-bottom:0}

/* Fuel steps */
.generator-fuel-steps{counter-reset:generator-fuel-step;display:grid;margin:17px 0 24px;padding:0;list-style:none;border-top:1px solid var(--wiki-line)}
.generator-fuel-steps li{counter-increment:generator-fuel-step;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;margin:0;padding:10px 0;border-bottom:1px solid var(--wiki-line);color:#bdcbd1;font-size:.92rem;line-height:1.4}
.generator-fuel-steps li::before{content:counter(generator-fuel-step);display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(82,180,225,.42);border-radius:50%;color:#a5def4;font-size:.69rem;font-weight:900}
.generator-fuel-steps strong{color:#eef6f8}

/* Fuel crate quadrant */
.generator-fuel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0 22px}
.generator-fuel-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;align-items:center;min-height:92px;padding:15px 16px;border:1px solid rgba(142,208,236,.16);background:rgba(7,18,26,.66)}
.generator-fuel-card img{width:52px;height:52px;object-fit:contain;image-rendering:pixelated}
.generator-fuel-card h3{margin:0 0 4px!important;color:#eef6f8!important;font-family:var(--serif)!important;font-size:1.08rem!important}
.generator-fuel-card p{margin:0!important;color:#aabcc3!important;font-size:.87rem!important;line-height:1.45!important}
.generator-fuel-card strong{color:#dcebf0}

/* Recipe reveal */
.generator-recipes{margin-top:18px;border:1px solid rgba(142,208,236,.17)!important;background:rgba(7,18,26,.42)}
.generator-recipes summary{position:relative;padding:13px 16px!important;color:#e7f2f6!important;list-style:none}
.generator-recipes summary::-webkit-details-marker{display:none}
.generator-recipes summary:after{content:"+";position:absolute;right:16px;color:#7fc9e8;font-size:1.1rem;font-weight:900}
.generator-recipes[open] summary:after{content:"–"}
.generator-recipes>div{padding:0 16px 16px!important}
.generator-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:3px}
.generator-recipe-card{margin:0;padding:0 0 12px;border:1px solid rgba(142,208,236,.14);background:rgba(5,14,21,.72);overflow:hidden}
.generator-recipe-card-empty{grid-column:1/-1;max-width:540px;width:100%;justify-self:center}
.generator-recipe-card>img{display:block;width:100%;height:auto;background:#071019;border-bottom:1px solid rgba(142,208,236,.12)}
.generator-recipe-card figcaption{display:grid;gap:5px;padding:10px 12px 0;color:#93a8b1;font-size:.79rem;line-height:1.45}
.generator-recipe-heading{display:flex!important;align-items:center;gap:8px;color:#e8f2f5}
.generator-recipe-heading img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}
.generator-recipe-heading strong{font-size:.87rem}

@media(max-width:980px){
  .generator-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .generator-overview{grid-template-columns:minmax(0,1fr) minmax(240px,280px);gap:24px}
  .generator-overview figure{max-width:280px}
  .generator-overview img{min-height:240px}
}
@media(max-width:760px){
  .generator-overview{grid-template-columns:1fr;align-items:start}
  .generator-overview-copy{display:block}
  .generator-overview figure{justify-self:start;width:min(100%,420px);max-width:none;height:auto}
  .generator-overview img{width:100%;height:auto;min-height:0;aspect-ratio:1/1}
  .generator-type-grid,.generator-fuel-grid,.generator-recipe-grid{grid-template-columns:1fr}
  .generator-recipe-card-empty{grid-column:auto;max-width:none}
  .generator-production-table td:first-child,.generator-production-table td:last-child{white-space:normal}
}
@media(max-width:520px){
  .generator-type-card{min-height:0}
  .generator-output-icon{width:39px;height:39px;flex-basis:39px}
  .generator-output-icon img{width:28px;height:28px}
  .generator-fuel-card{grid-template-columns:46px minmax(0,1fr)}
  .generator-fuel-card img{width:46px;height:46px}
}
