/* Underground Empire - stylesheet */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0c12; --bg2:#0f131d; --panel:#141927; --panel2:#1b2233;
  --line:#2a3450; --ink:#eaf0ff; --muted:#8b96b4; --gold:#ffc439;
  --green:#3ddc84; --blue:#57a6ff; --red:#ff5f6d; --pur:#a06bff;
}
html,body{height:100%}
body{background:radial-gradient(1200px 600px at 20% -10%,#182236 0%,var(--bg) 55%),var(--bg);
  color:var(--ink); font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif; overflow-x:hidden}
#app{max-width:1100px;margin:0 auto;padding:10px 12px 40px}
button{font-family:inherit; cursor:pointer; border:none; color:var(--ink)}
img{max-width:100%}
.muted{color:var(--muted)} .small{font-size:12px} .muted-sm{color:var(--muted);font-size:12px}
.row{display:flex;align-items:center;gap:6px;justify-content:space-between}
.hidden{display:none!important}
.warned{color:var(--red)}

/* ---------- top bar ---------- */
.topbar{background:linear-gradient(180deg,var(--panel2),var(--panel));
  border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.hud{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hud-main .label-uppercase{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.hud-money{font-size:32px;font-weight:800;color:var(--gold);text-shadow:0 0 24px rgba(255,196,57,.25);line-height:1.1}
.hud-line{font-size:13px;color:var(--muted);margin-top:2px}
.hud-line b{color:var(--ink)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.dot.gold{background:var(--gold)} .dot.green{background:var(--green)} .dot.blue{background:var(--blue)}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:6px;margin:14px 0 2px;flex-wrap:wrap}
.tab{background:var(--panel2);border:1px solid var(--line);padding:8px 14px;border-radius:10px;
  font-size:13.5px;font-weight:600;color:var(--muted);transition:.15s}
.tab:hover{color:var(--ink)}
.tab.active{background:var(--gold);color:#141310;border-color:var(--gold)}
.savebar{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:var(--muted)}
.mini{background:var(--panel2);border:1px solid var(--line);padding:4px 10px;border-radius:8px;font-size:12px}
.danger-ghost{color:var(--red);border-color:#4a2a30}
.mini:hover{background:#223}

/* ---------- panels ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:14px;margin-top:12px}
.panel.hidden{display:none}
.main-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:18px}
@media(max-width:820px){.main-grid{grid-template-columns:1fr}}
.col-title{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.col-title.sub{margin-top:22px}

/* ---------- clicker ---------- */
.clicker-col{display:flex;flex-direction:column;align-items:center;gap:8px;
  background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px 16px;position:relative}
.product-label{font-size:14px;font-weight:700}
.clicker{width:210px;height:210px;font-size:92px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#4b3f6e,#241b3d 70%);
  border:6px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 0 40px rgba(160,107,255,.28);
  transition:transform .06s; user-select:none; -webkit-user-select:none; line-height:1}
.clicker:hover{transform:scale(1.02)} .clicker:active,.clicker.pressed{transform:scale(.92)}
.clicker.buff{border-color:var(--gold);box-shadow:0 0 40px rgba(255,196,57,.6)}
.clicker-sub{color:var(--muted);font-size:12px}
.production-value{font-size:16px;font-weight:800;color:var(--green);min-height:22px}
.inventory-line{color:var(--muted);font-size:12.5px;text-align:center;margin-top:4px}

/* floating click fx */
.fx-float{position:fixed;font-weight:800;pointer-events:none;font-size:20px;
  text-shadow:0 2px 6px #000;transform:translate(-50%,0);animation:rise 1s ease-out forwards}
.fx-float.reg{color:#cfe3ff;font-size:17px}
.fx-float.crit{color:var(--gold);font-size:27px}
@keyframes rise{0%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-120px)}}
/* ---------- cards : buildings & upgrades & shop ---------- */
.building-list,.upgrade-list,.mixing-list,.statsgrid{display:flex;flex-direction:column;gap:8px}
.bcard,.ucard{background:var(--panel2);border:1px solid var(--line);border-radius:12px;
  padding:10px 12px; cursor:pointer; transition:.12s; user-select:none}
.bcard:hover,.ucard:hover{border-color:#3c4a74}
.bcard.locked{opacity:.35;cursor:default;filter:grayscale(1)}
.bcard.no-afford,.ucard.no-afford{opacity:.55}
.bcard.afford,.ucard.afford{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.ucard.owned{opacity:.55;cursor:default}
.bcard-top{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.bcard-name{font-size:14.5px}
.bcard-count,.lv{font-weight:800}
.bcard-desc,.ucard-desc{color:var(--muted);font-size:12px;margin-top:3px;line-height:1.35}
.bcard-bottom{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;
  color:var(--muted);font-size:12px}
.bcard .price{color:var(--gold);font-weight:700;font-size:14.5px}
.bcard .rate{color:var(--green)}
.ucard-title{font-weight:700;font-size:14px;display:flex;justify-content:space-between;gap:8px}
.ucard-foot{margin-top:7px;font-weight:800;color:var(--gold);font-size:16px;text-align:right}
.ucard-foot .big{color:var(--gold)}
.ucard.owned .ucard-foot .big,.ucard.owned .ucard-title{color:var(--green)}
.stat-lab{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
.stat-val{font-size:22px;font-weight:800;color:var(--gold)}
.statsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
#statsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
#statsGrid .ucard{cursor:default}

/* ---------- event banner ---------- */
.event-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel2);
  border:1px solid var(--gold);color:var(--gold);border-radius:12px;padding:10px 16px;margin-top:12px;
  font-weight:700;box-shadow:0 0 20px rgba(255,196,57,.15)}
.event-banner.offer{border-color:var(--pur)}
.banner-cta{background:rgba(255,196,57,.15);border:1px solid var(--gold);padding:5px 12px;
  border-radius:8px;color:var(--gold);font-weight:800;cursor:pointer;font-size:12.5px}
.event-banner.offer .banner-cta{border-color:var(--pur);color:#dfc9ff;background:rgba(160,107,255,.15)}
.banner-cta:hover{background:rgba(255,196,57,.28)}
.event-banner.hidden{display:none}

/* ---------- overlays (offline / prestige) ---------- */
.overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  background:rgba(3,5,10,.78);backdrop-filter:blur(3px);padding:20px}
.overlay-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;
  max-width:480px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.overlay-card h2{font-size:24px;margin-bottom:6px}
.overlay-card .sub{color:var(--muted);margin-bottom:16px}
.box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0}
.gem-big{font-size:44px;text-align:center;color:var(--gold);margin:6px 0}
.big-cta{display:block;width:100%;padding:13px;border-radius:12px;font-size:16px;font-weight:800;
  background:linear-gradient(180deg,#ffd257,#ffb62b);color:#231a05;margin-top:14px}
.big-cta:disabled{opacity:.4;cursor:not-allowed}
.ghost-cta{display:block;width:100%;padding:11px;border-radius:12px;font-weight:700;margin-top:8px;
  background:var(--panel2);border:1px solid var(--line)}
.pay-em{color:var(--gold)}

/* prestiges summary strip */
.strata{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:8px 0}
/* ---------- overlays (offline / prestige) ---------- */
.offline-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  background:rgba(3,5,10,.8);backdrop-filter:blur(3px);padding:20px}
.offline-box{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;
  max-width:460px;width:100%;box-shadow:0 18px 60px rgba(0,0,0,.5)}
.offline-box h2{font-size:22px;margin-bottom:6px;color:var(--ink)}
.btn-big{font-family:inherit;font-weight:800;font-size:15px;padding:12px 18px;border-radius:12px;cursor:pointer;
  background:linear-gradient(180deg,#ffd257,#ffb62b);color:#231a05;border:none;transition:.15s}
.btn-big:hover{filter:brightness(1.05)}
.btn-big.danger{background:linear-gradient(180deg,#ff8f7d,#e0525f);color:#fff}
.btn-big.ghost{background:var(--panel2);border:1px solid var(--line);color:var(--ink)}
.btn-big:disabled{opacity:.45;cursor:not-allowed;filter:none}

/* ---------- cards general (grid sections) ---------- */
.card-grid{display:flex;flex-direction:column;gap:9px}
.product-label{font-size:14px;font-weight:700;color:var(--gold);text-align:center}
.click-fx-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.col-title{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:4px 0 10px}
.col-title.sub{margin-top:22px}
.building-list{display:flex;flex-direction:column;gap:9px}
.small.warned{color:var(--red)}

/* ---------- prestige summary strip ---------- */
.prestige-summary{background:linear-gradient(135deg,rgba(160,107,255,.12),rgba(90,60,180,.06));
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px;line-height:1.7}

/* ===== Warehouse / Produktstufen (hinzugefuegt) ===== */
.warehouse{margin-top:12px;background:var(--panel2);border:1px dashed var(--line);
  border-radius:12px;padding:10px 12px;text-align:left;font-size:14px}
.warehouse .line{margin:2px 0}
.wrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.warehouse .mini{background:#1f6feb;border:none;color:#fff;font-weight:700;
  border-radius:9px;padding:6px 10px;cursor:pointer}
.toggle{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-size:13px;
  background:var(--panel);padding:5px 9px;border-radius:9px;border:1px solid var(--line)}
.padder{display:flex;flex-direction:column;gap:7px;margin:6px 0 12px}
.tier{display:flex;align-items:center;gap:10px;background:var(--panel2);
  border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.tier-icon{font-size:24px}
.tier-b{flex:1;line-height:1.2}
.tier-lock{font-size:12px;color:var(--muted);text-align:right;min-width:140px}
.tier.unlocked{border-color:#2e7d32}
.tier.locked{opacity:.7}
.pill{background:var(--green);color:#06280f;font-size:11px;font-weight:800;
  border-radius:999px;padding:2px 8px}
