
/* ── Rescued v1/v2 only-classes ── */

.akt-cdinfo   { font-size:9px; color:var(--t1); font-family:var(--fm); }

.akt-cost     { font-family:var(--fm); font-size:11px; color:var(--go); font-weight:700; }

.akt-desc     { font-size:10.5px; color:var(--t2); line-height:1.45; margin-top:2px; }

.akt-foot     { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px; }

.akt-grid     { display:flex; flex-direction:column; gap:10px; }

.akt-head     { display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; }

.akt-ico      { font-size:22px; flex-shrink:0; line-height:1; }

.akt-name     { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); }

.ap-opt { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:var(--rs); background:var(--raised); border:1.5px solid var(--b0); margin-bottom:4px; cursor:pointer; transition:border-color .15s,background .15s; }

.ap-opt-c { font-family:var(--fm); font-size:11px; color:var(--go); flex-shrink:0; }

.ap-opt-d { font-size:10px; color:var(--t1); }

.ap-opt-n { flex:1; font-size:13px; font-weight:700; color:var(--t3); }

.ap-strip { gap: 12px; }

.aps-aplbl {
  font-size:   10px;
  font-family: var(--fm);
  color:       var(--t1);
  letter-spacing: 1px;
}

.aps-left {
  display:     flex;
  align-items: center;
  gap:         5px;
  flex-shrink: 0;
}

.aps-mid {
  flex:        1;
  display:     flex;
  flex-direction: column;
  gap:         4px;
}

.aps-net {
  font-family: var(--fu);
  font-size:   11px;
  font-weight: 700;
}

.aps-pbar {
  height:      3px;
  background:  var(--bg2);
  border-radius: 2px;
  overflow:    hidden;
}

.aps-pfill {
  height:      100%;
  border-radius: 2px;
  transition:  width .5s ease;
  box-shadow:  0 0 6px currentColor;
}

.aps-phase {
  font-family: var(--fm);
  font-size:   10px;
  font-weight: 700;
  letter-spacing: .5px;
  flex-shrink: 0;
}

.aps-pip {
  width:       10px;
  height:      10px;
  border-radius: 50%;
  background:  var(--gh);
  border:      1.5px solid #80ffaa;
  box-shadow:  0 0 10px rgba(40,196,85,.65), 0 0 3px rgba(120,255,160,.4);
  transition:  all .2s;
}

.be-bar {
  height:       5px;
  background:   var(--bg2);
  border-radius: 3px;
  overflow:     hidden;
  margin-top:   6px;
}

.be-bar-fill {
  height:       100%;
  border-radius: 3px;
  transition:   width .5s ease;
  box-shadow:   0 0 6px currentColor;
}

.cang-rule        { padding:6px 0; border-bottom:1px solid var(--b0); }

.cang-rule-desc   { font-size:10px; color:var(--t2); margin-top:2px; }

.cang-rule-status { font-size:9px; font-family:var(--fm); margin-top:3px; }

.cang-rule-title  { font-size:11px; font-weight:600; color:var(--t3); }

.cap-sub        { font-size:10px; color:var(--t1); margin-top:4px; }

.cap-val        { font-family:var(--fu); font-size:32px; font-weight:800; }

.capital-hero   { text-align:center; padding:14px 0 10px; }

.cf-bar-fill    { height:100%; border-radius:2px; }

.cf-bar-wrap    { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:2px 0; }

.cf-breakdown   { font-size:11px; }

.cf-divider     { border:none; border-top:1px solid var(--b0); margin:6px 0; }

.cf-hist        { display:flex; align-items:flex-end; gap:2px; height:40px; margin-top:6px; }

.cf-hist-bar    { flex:1; border-radius:2px 2px 0 0; min-width:4px; transition:height .3s; }

.cf-section-lbl { font-size:9px; color:var(--t1); letter-spacing:1.5px; text-transform:uppercase;
                  font-family:var(--fm); margin:8px 0 4px; }

.chart-cur         { font-family:var(--fu); font-size:14px; font-weight:700; color:var(--t3); }

.chart-empty       { text-align:center; padding:20px; color:var(--t1); font-size:10px; font-style:italic; }

.chart-head        { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }

.chart-label       { font-size:9px; color:var(--t1); font-family:var(--fm); }

.chart-minmax      { display:flex; justify-content:space-between; font-size:8px; color:var(--t1); font-family:var(--fm); }

.chart-svg         { width:100%; display:block; }

.chart-trend       { font-size:10px; font-family:var(--fm); }

.chart-wrap        { position:relative; }

.chip {
  display:     inline-flex;
  align-items: center;
  padding:     3px 9px;
  border-radius: 20px;
  font-size:   9.5px;
  font-family: var(--fm);
  font-weight: 700;
  letter-spacing: .6px;
  background:  var(--bg2);
  border:      1px solid var(--b1);
  color:       var(--t2);
}

.cp-auto          { font-size:9px; color:var(--gh); }

.cp-body          { display:flex; flex-direction:column; gap:2px; }

.cp-cat           { font-size:9px; font-family:var(--fm); color:var(--cy); }

.cp-check         { display:flex; align-items:flex-start; gap:8px; padding:5px 0;
                    border-bottom:1px solid var(--b0); font-size:11px; }

.cp-meta          { font-size:9px; color:var(--t1); margin-top:1px; }

.cp-name          { flex:1; color:var(--t2); }

.cp-phase-bar     { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin-bottom:10px; }

.cp-phase-head    { display:flex; align-items:center; justify-content:space-between;
                    font-size:10px; font-weight:600; color:var(--t2); margin:8px 0 4px; }

.cp-score         { font-family:var(--fu); font-size:36px; font-weight:800; }

.cp-score-circle  { text-align:center; padding:10px 0; }

.cp-score-info    { font-size:9px; color:var(--t1); margin-top:2px; }

.cp-score-lbl     { font-size:10px; color:var(--t1); }

.cp-score-stat    { display:flex; justify-content:center; gap:16px; margin-top:8px; }

.cp-score-val     { font-family:var(--fu); font-size:16px; font-weight:700; }

.edu-bar     { height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:4px 0; }

.edu-pill    { font-size:9px; padding:2px 7px; border-radius:10px; background:var(--gd);
               color:var(--gh); font-family:var(--fm); }

.ein-grid    { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; margin-bottom:12px; }

.ein-hd      { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }

.ein-ico     { font-size:11px; font-weight:600; color:var(--t2); font-family:var(--fm); }

.ein-sub     { font-size:9px; color:var(--t1); line-height:1.3; }

.fee-sub {
  font-size:   11px;
  color:       var(--t1);
  font-family: var(--fm);
  padding:     4px 0;
  line-height: 1.55;
}

.furn-card   { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
               padding:10px; text-align:center; transition:border-color .15s; }

.furn-desc   { font-size:9px; color:var(--t1); line-height:1.3; margin-bottom:6px; }

.furn-grid   { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:8px; }

.furn-ico    { font-size:22px; margin-bottom:4px; }

.furn-name   { font-size:11px; font-weight:600; color:var(--t3); margin-bottom:2px; }

.furn-owned  { font-size:10px; color:var(--gh); }

.goal-head          { display:flex; align-items:center; gap:6px; margin-bottom:4px; }

.goal-p             { font-size:9px; font-family:var(--fm); color:var(--gh); padding:1px 5px;
                      background:rgba(40,196,85,.1); border-radius:3px; }

.goal-sub           { font-size:9px; color:var(--t1); }

.goal-track         { flex:1; height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; margin:0 8px; }

.grow-auto-badge { font-size:9px; background:rgba(40,196,85,.12); color:var(--gh); padding:2px 6px;
                   border-radius:4px; border:1px solid rgba(40,196,85,.25); font-family:var(--fm); }

.grow-empty-state{ text-align:center; padding:20px; color:var(--t1); font-size:11px; }

.grow-header     { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }

.hs-circle {
  background: rgba(39,196,85,.14);
  border-color: rgba(39,196,85,.55);
  box-shadow: 0 2px 14px rgba(0,0,0,.5);
}

.hud-ap-count {
  font-size:      9px;
  font-family:    var(--fm);
  font-weight:    700;
  color:          var(--gh);
  letter-spacing: .5px;
}

.hud-ap-dot { width:12px; height:12px; }

.hud-ap-dots    { display:flex; align-items:center; gap:3px; }

.hud-ap-inline  { display:flex; align-items:center; gap:4px; }

.hud-center {
  display:        flex;
  align-items:    stretch;
  flex:           1;
  min-width:      0;
}

.hud-club-text  { display:flex; flex-direction:column; gap:2px; min-width:0; }

.hud-clubname {
  font-size:   15px;
  letter-spacing: .3px;
}

.hud-fs-btn { display: none !important; }

.hud-ico-lg {
  font-size: 22px;
  line-height: 1;
  margin-right: 8px;
  flex-shrink: 0;
}

.hud-lbl {
  font-size:      7.5px;
  font-family:    var(--fm);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color:          #3a5e3a;
  margin-top:     2px;
}

.hud-left {
  padding: 8px 16px 8px 14px;
  min-width: 170px;
}

.hud-right {
  display:        flex;
  align-items:    center;
  gap:            6px;
  padding:        0 10px;
  border-left:    1px solid rgba(40,196,85,.14);
  flex-shrink:    0;
  background:     rgba(4,12,5,.6);
}

.hud-val { font-size: 16px; font-weight: 800; }

.immo-body   { flex: 1; min-width: 0; }

.immo-bonus  { font-size: 10px; color: var(--green); }

.immo-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--r);
  background: linear-gradient(160deg, var(--raised), var(--bg2));
  border: 1.5px solid var(--b0);
  transition: border-color .15s;
}

.immo-cost   { font-family: var(--fm); font-size: 12px; font-weight: 700; color: var(--go); }

.immo-cta    { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }

.immo-desc   { font-size: 11px; color: var(--t1); line-height: 1.4; margin-bottom: 4px; }

.immo-grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.immo-icon   { font-size: 28px; flex-shrink: 0; margin-top: 2px; }

.immo-meta   { display: flex; flex-wrap: wrap; gap: 8px; font-size: 10px; color: var(--t1); margin-bottom: 5px; }

.immo-name   { font-size: 13px; font-weight: 700; color: var(--t3); margin-bottom: 4px; }

.immo-owned-badge { font-size: 10px; color: var(--green); font-weight: 700; padding: 3px 8px; border-radius: 20px; background: rgba(40,196,85,.12); border: 1px solid rgba(40,196,85,.3); }

.immo-rent   { color: var(--go); font-family: var(--fm); }

.immo-rent-info { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--t1); background:rgba(40,196,85,.07); border:1px solid rgba(40,196,85,.2); border-radius:6px; padding:7px 10px; margin-bottom:10px; flex-wrap:wrap; }

.immo-section     { margin-bottom:10px; }

.immo-section-lbl { font-size:9px; font-family:var(--fm); letter-spacing:1.5px; text-transform:uppercase;
                    color:var(--t1); margin-bottom:6px; }

.kc-bar      { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin:4px 0 6px; }

.kc-betrag   { font-family:var(--fu); font-size:18px; font-weight:700; color:var(--re); }

.kc-body     { font-size:11px; color:var(--t2); margin-bottom:8px; }

.kc-fill     { height:100%; border-radius:3px; background:var(--re); transition:width .4s; }

.kc-footer   { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }

.kc-head     { display:flex; align-items:center; gap:8px; margin-bottom:8px; }

.kc-icon     { font-size:20px; }

.kc-info     { font-size:9px; color:var(--t1); margin-top:2px; }

.kc-name     { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); flex:1; }

.kredit-card { background:var(--raised); border:1px solid var(--b0); border-radius:var(--r);
               padding:12px 14px; margin-bottom:8px; }

.kredit-warn { background:rgba(255,60,60,.08); border-color:rgba(255,60,60,.25); }

.kurs-badge  { font-size:9px; font-family:var(--fm); padding:2px 6px; border-radius:4px;
               background:rgba(40,196,85,.1); color:var(--gh); border:1px solid rgba(40,196,85,.2); }

.kurs-desc   { font-size:10.5px; color:var(--t2); line-height:1.45; margin:4px 0; }

.kurs-effect { font-size:10px; color:var(--cy); margin:4px 0; }

.kurs-grid   { display:flex; flex-direction:column; gap:8px; }

.kurs-head   { display:flex; align-items:center; gap:8px; margin-bottom:4px; }

.kurs-ico    { font-size:20px; flex-shrink:0; }

.kurs-meta   { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:6px; }

.kurs-name   { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); }

.lc-ap          { font-size:9px; font-family:var(--fm); color:var(--gh); }

.lc-body        { font-size:10px; color:var(--t2); line-height:1.4; margin-bottom:6px; }

.lc-footer      { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:6px; }

.lc-head        { display:flex; align-items:center; gap:8px; margin-bottom:5px; }

.lc-lock        { opacity:.4; }

.lc-verband     { font-size:9px; font-family:var(--fm); color:var(--t1); }

.lobby-cards    { display:flex; flex-direction:column; gap:8px; }

.lobby-vb-head  { font-family:var(--fu); font-size:12px; font-weight:700; color:var(--t2);
                  margin-bottom:6px; display:flex; align-items:center; justify-content:space-between; }

.m-box {
  background:    linear-gradient(170deg, var(--bg2), var(--bg1));
  border:        1.5px solid var(--b2);
  border-radius: var(--rx) var(--rx) 0 0;
  padding:       20px 18px 28px;
  width:         100%;
  max-width:     520px;
  max-height:    90dvh;
  overflow-y:    auto;
  box-shadow:    0 -20px 60px rgba(0,0,0,.8), var(--shg);
  animation:     sheetUp .28s cubic-bezier(.2,0,.3,1);
}

.m-head {
  font-family:   var(--fd);
  font-size:     20px;
  letter-spacing: 2px;
  color:         var(--t3);
  margin-bottom: 16px;
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  gap:           10px;
}

.m-overlay {
  position:   fixed;
  inset:      0;
  z-index:    800;
  display:    flex;
  align-items: flex-end;  /* Bottom-sheet style */
  justify-content: center;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
  padding:    0 0 env(safe-area-inset-bottom, 0);
}

.md-cap-bar     { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; }

.md-cap-lbl     { font-size:9px; color:var(--t1); margin-top:3px; }

.md-dyn-grid    { display:flex; flex-direction:column; gap:6px; }

.md-dyn-row {
  display:     flex;
  align-items: center;
  justify-content: space-between;
  padding:     9px 0;
  border-bottom: 1px solid var(--b0);
  font-size:   12px;
  color:       var(--t2);
  gap:         8px;
}

.md-kpi-grid    { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:8px; margin-bottom:12px; }

.md-seg         { padding:4px 0; border-bottom:1px solid var(--b0); }

.md-seg-bar     { height:5px; background:var(--bg2); border-radius:2px; overflow:hidden; }

.md-seg-chart   { position:relative; }

.md-seg-grid    { display:flex; flex-direction:column; gap:4px; }

.md-seg-item    { font-size:10px; color:var(--t2); display:flex; align-items:center; gap:6px; }

.md-seg-legend  { display:flex; flex-wrap:wrap; gap:6px; }

.mkt-arrow { font-family:var(--fm);font-size:10px;font-weight:700;text-align:right; }

.mkt-bar { height:4px;background:var(--bg2);border-radius:2px;overflow:hidden; }

.mkt-bar-wrap { }

.mkt-e { font-size:20px;flex-shrink:0; }

.mkt-events { display:flex;flex-direction:column;gap:6px; }

.mkt-evt { display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--rs);font-size:11.5px;color:var(--t2);background:linear-gradient(90deg,var(--raised),var(--bg2));border:1px solid var(--b0); }

.mkt-fill { height:100%;border-radius:2px;transition:width .4s ease; }

.mkt-name { font-size:12px;font-weight:700;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }

.mkt-nav      { display:flex; gap:6px; margin-bottom:10px; }

.mkt-nav-btn  { flex:1; padding:6px; border-radius:6px; background:var(--raised);
                border:1.5px solid var(--b0); color:var(--t2); font-size:11px; cursor:pointer; }

.mkt-price { font-family:var(--fm);font-size:12px;font-weight:700;color:var(--go);text-align:right; }

.mkt-rem { margin-left:auto;font-family:var(--fm);font-size:9px;color:var(--t1);background:var(--bg2);padding:2px 7px;border-radius:20px;border:1px solid var(--b0); }

.mkt-row { display:grid;grid-template-columns:1fr 80px 48px 44px;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--rs);border:1px solid transparent;transition:border-color .15s,background .15s; }

.mkt-strain { display:flex;align-items:center;gap:8px;min-width:0; }

.mkt-table { display:flex;flex-direction:column;gap:2px; }

.mkt-tipp { margin:10px 12px 0;padding:10px 14px;background:linear-gradient(135deg,rgba(40,196,85,.1),rgba(40,196,85,.04));border:1px solid rgba(40,196,85,.25);border-radius:var(--r);font-size:12px;color:var(--t2);line-height:1.5; }

.mkt-type { font-size:9px;color:var(--t1);font-family:var(--fm);letter-spacing:.5px; }

.ob-btn { width: 100%; }

.ob-btn-ghost { background: transparent; border-color: var(--b1); color: var(--t2); }

.org-amt-body   { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; }

.org-amt-btn {
  border: 0;
  outline: 0;
  font-family: inherit;
}

.org-amt-lv     { font-size:20px; margin-bottom:4px; }

.org-amt-name   { font-size:11px; font-weight:700; color:var(--t3); margin-bottom:2px; }

.org-amt-role   { background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                  padding:10px; text-align:center; }

.org-ehren      { display:flex; flex-direction:column; gap:6px; }

.org-ehren-item { display:flex; align-items:center; gap:8px; padding:6px 8px;
                  background:var(--raised); border-radius:var(--rs); font-size:11px; }

.org-warn       { background:rgba(255,180,0,.08); border:1px solid rgba(255,180,0,.25);
                  border-radius:var(--rs); padding:8px 12px; font-size:10px; color:var(--am);
                  margin-bottom:10px; display:flex; align-items:center; gap:6px; }

.path-arr       { font-size:14px; color:var(--t1); flex-shrink:0; align-self:center; }

.path-card      { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
                  padding:8px 10px; min-width:90px; text-align:center; transition:all .15s; }

.path-dc        { font-size:9px; color:var(--t1); margin:2px 0; }

.path-ic        { font-size:18px; margin-bottom:2px; }

.path-items     { display:flex; align-items:stretch; flex-wrap:nowrap; gap:6px;
                  overflow-x:auto; padding-bottom:4px;
                  scrollbar-width:thin; scrollbar-color:rgba(45,185,85,.2) transparent; }

.path-lk        { font-size:9px; color:var(--t1); margin-top:4px; }

.path-nm        { font-size:10px; font-weight:600; color:var(--t3); }

.path-ok        { font-size:12px; color:var(--gh); margin-top:4px; }

.path-pr        { font-size:11px; color:var(--go); font-weight:700; margin-top:4px; }

.path-title     { font-size:10px; font-family:var(--fm); letter-spacing:1px; color:var(--t2);
                  text-transform:uppercase; margin-bottom:8px; }

.quest-chip         { font-size:9px; padding:2px 6px; border-radius:4px; font-family:var(--fm);
                      background:rgba(40,196,85,.1); color:var(--gh); }

.quest-desc         { font-size:10px; color:var(--t2); margin-top:2px; }

.quest-done-cloud   { text-align:center; padding:20px; color:var(--gh); font-size:12px; }

.quest-item         { display:flex; align-items:flex-start; gap:8px; padding:6px 0;
                      border-bottom:1px solid var(--b0); font-size:11px; }

.quest-prog         { font-size:9px; color:var(--cy); font-family:var(--fm); margin-top:3px; }

.quest-title        { font-weight:600; color:var(--t3); }

.rep-row     { display:flex; align-items:center; justify-content:space-between;
               padding:6px 0; border-bottom:1px solid var(--b0); font-size:11px; color:var(--t2); }

.rep-stars   { display:flex; gap:2px; font-size:14px; }

.sc-cost { font-family:var(--fm); font-size:11px; color:var(--go); margin-left:auto; flex-shrink:0; }

.sc-effect { font-size:10px; color:var(--t1); line-height:1.4; margin-top:2px; }

.scene-tooltip {
  background: rgba(4,10,5,.97);
  border-color: rgba(39,196,85,.45);
  color: #cceacc;
  font-size: 11.5px;
  box-shadow: 0 4px 18px rgba(0,0,0,.7), var(--shg);
}

.scroll-btn {
  background: rgba(39,196,85,.08);
  border-color: rgba(39,196,85,.22);
  transition: all var(--dur-mid);
  font-size: 10.5px;
}

.scroll-overlay { background: rgba(0,0,0,.88); backdrop-filter: blur(4px); }

.scroll-paper {
  border-left-color: rgba(39,196,85,.18);
  border-right-color: rgba(39,196,85,.18);
}

.scroll-rod {
  box-shadow:
    inset 0 2px 5px rgba(255,220,100,.28),
    inset 0 -2px 4px rgba(0,0,0,.45),
    0 4px 12px rgba(0,0,0,.6);
}

.setup-input {
  background:   linear-gradient(170deg, var(--bg2), var(--bg1));
  border:       1.5px solid var(--b1);
  border-radius: var(--r);
  padding:      13px 16px;
  color:        var(--t3);
  font-size:    14px;
  font-family:  var(--fb);
  width:        100%;
  min-height:   var(--touch);
  transition:   border-color .15s, box-shadow .15s;
}

.shop-item   { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
               padding:10px; transition:border-color .15s; }

.si-desc     { font-size:10px; color:var(--t2); line-height:1.3; margin-bottom:6px; }

.si-icon     { font-size:20px; margin-bottom:4px; }

.si-name     { font-size:12px; font-weight:700; color:var(--t3); margin-bottom:3px; }

.si-owned    { font-size:10px; color:var(--gh); padding:4px 0; }

.si-price    { font-size:11px; color:var(--go); font-family:var(--fm); font-weight:700; margin-bottom:4px; }

.slot-acts       { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }

.slot-bar        { height:6px; background:var(--bg2); border-radius:3px; overflow:hidden; margin:4px 0; }

.slot-detail     { background:var(--raised); border:1px solid var(--b1); border-radius:var(--r);
                   padding:12px 14px; }

.slot-detail-head{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }

.slot-emoji      { font-size:18px; }

.slot-eq         { font-size:9px; color:var(--cy); font-family:var(--fm); }

.slot-lock-hint  { font-size:10px; color:var(--t1); margin-top:6px; }

.slot-lock-ico   { font-size:24px; opacity:.4; }

.slot-name       { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); flex:1; }

.slot-num        { font-family:var(--fm); font-size:9px; color:var(--t1); }

.slot-plus       { text-align:center; padding:12px; color:var(--t1); font-size:11px; }

.slot-warn       { font-size:10px; color:var(--am); }

.slots-grid      { display:flex; flex-direction:column; gap:8px; }

.soc-ev-ap      { font-size:9px; font-family:var(--fm); }

.soc-ev-cost    { font-size:11px; color:var(--go); font-family:var(--fm); font-weight:700; }

.soc-ev-desc    { font-size:10px; color:var(--t2); line-height:1.4; margin-top:2px; }

.soc-ev-effect  { font-size:10px; color:var(--cy); margin:5px 0;
                  padding:4px 7px; background:rgba(0,200,180,.05); border-radius:3px; border-left:2px solid rgba(0,200,180,.2); }

.soc-ev-free    { font-size:11px; color:var(--gh); font-family:var(--fm); }

.soc-ev-grid    { display:flex; flex-direction:column; gap:8px; }

.soc-ev-head    { display:flex; align-items:center; gap:10px; margin-bottom:4px; }

.soc-ev-ico     { font-size:20px; flex-shrink:0; }

.soc-ev-locked  { font-size:10px; color:var(--t1); font-style:italic; padding:4px 0; }

.soc-ev-meta    { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:6px; }

.soc-ev-name    { font-family:var(--fu); font-size:13px; font-weight:700; color:var(--t3); }

.soc-ev-req     { font-size:9px; color:var(--t1); font-family:var(--fm); }

.sps-arrow         { display:inline-flex; align-items:center; color:var(--t1); font-size:14px; }

.sps-mo            { font-size:8px; color:var(--t1); }

.sps-num           { font-family:var(--fm); font-size:9px; color:var(--gh); }

.ss-kpi            { background:var(--raised); border:1px solid var(--b0); border-radius:var(--rs);
                     padding:8px 10px; text-align:center; }

.ss-l              { font-size:8.5px; color:var(--t1); font-family:var(--fm); letter-spacing:.8px;
                     text-transform:uppercase; margin-top:3px; }

.ss-v              { font-family:var(--fu); font-size:16px; font-weight:800; line-height:1; }

.stat-2col         { display:grid; grid-template-columns:1fr 1fr; gap:8px; }

.stat-phase-step   { display:inline-flex; flex-direction:column; align-items:center; padding:4px 8px; }

.stat-summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:4px; }

.subtab {
  display:        flex;
  align-items:    center;
  gap:            5px;
  padding:        9px 14px;
  min-height:     40px;
  border-radius:  var(--rs) var(--rs) 0 0;
  font-family:    var(--fu);
  font-size:      11px;
  font-weight:    600;
  letter-spacing: .3px;
  color:          var(--t1);
  cursor:         pointer;
  border:         1.5px solid transparent;
  border-bottom:  none;
  transition:     all .18s;
  white-space:    nowrap;
  position:       relative;
  flex-shrink:    0;
}

.subtab-bar {
  display:    flex;
  gap:        4px;
  padding:    10px 12px 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-bottom: 1px solid var(--b0);
  background: rgba(2,5,2,.6);
  position:   sticky;
  top:        var(--header-h);
  z-index:    40;
  backdrop-filter: blur(10px);
}

.subtab-lbl { font-size:10.5px; }

.upgrade-path   { margin-bottom:14px; }

.vb-grid        { display:flex; flex-direction:column; gap:8px; }

.vb-intro       { font-size:10px; color:var(--t2); margin-bottom:6px; }

.vh-eq-badge { color:var(--green); font-size:16px; }

.vh-eq-body { flex:1; min-width:0; }

.vh-eq-card { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:var(--rs); background:var(--raised); border:1.5px solid var(--b0); }

.vh-eq-desc { font-size:10px; color:var(--t1); margin-top:2px; }

.vh-eq-grid { display:flex; flex-direction:column; gap:8px; }

.vh-eq-icon { font-size:22px; flex-shrink:0; }

.vh-eq-name { font-size:12px; font-weight:700; color:var(--t3); }

.vs-agenda-card  { display:flex; align-items:center; gap:12px; padding:10px 14px;
                   background:var(--raised); border:1.5px solid var(--b0); border-radius:var(--r);
                   cursor:pointer; text-align:left; transition:border-color .15s; width:100%; }

.vs-agenda-cat   { font-size:9px; margin-top:2px; font-family:var(--fm); }

.vs-agenda-info  { flex:1; min-width:0; }

.vs-agenda-list  { display:flex; flex-direction:column; gap:6px; }

.vs-agenda-title { font-size:12px; font-weight:700; color:var(--t3); }

.vs-cat        { font-size:9px; font-family:var(--fm); letter-spacing:2px; font-weight:700; }

.vs-header     { padding:16px 18px 12px; background:var(--raised); margin-bottom:0; }

.vs-hint       { padding:8px 18px 14px; font-size:9px; color:var(--t1); }

.vs-modal      { max-width:500px; width:95vw; padding:0; overflow:hidden; }

.vs-opt        { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; border-radius:var(--r);
                 background:var(--raised); border:1.5px solid var(--b0); cursor:pointer;
                 text-align:left; transition:border-color .15s, background .15s; width:100%; }

.vs-opt-body   { flex:1; min-width:0; }

.vs-opt-c      { font-size:10px; color:var(--amber); margin-top:3px; }

.vs-opt-free   { font-size:10px; color:var(--green); margin-top:3px; }

.vs-opt-letter { width:22px; height:22px; border-radius:50%; background:var(--b1);
                 color:var(--cy); font-size:11px; font-weight:700; display:flex;
                 align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }

.vs-opt-lock   { font-size:9px; color:var(--danger); align-self:center; flex-shrink:0; }

.vs-opt-msg    { font-size:10px; color:var(--t1); margin-top:3px; line-height:1.4; }

.vs-opt-t      { font-size:12px; font-weight:700; color:var(--t3); line-height:1.4; }

.vs-opts       { padding:10px 14px; display:flex; flex-direction:column; gap:7px; }

.vs-progress-bar  { flex:1; height:4px; background:var(--b0); border-radius:2px; overflow:hidden; }

.vs-progress-fill { height:100%; border-radius:2px; transition:width .3s; }

.vs-progress-lbl  { font-size:9px; color:var(--t1); flex-shrink:0; }

.vs-progress-wrap { display:flex; align-items:center; gap:8px; }

.vs-title      { font-size:15px; font-weight:800; color:var(--t3); margin:4px 0 10px; line-height:1.3; }

.vs-topic      { font-size:12px; font-weight:700; color:var(--t2); padding:12px 18px 8px; border-bottom:1px solid var(--b0); }

.wk-actions   { display:flex; align-items:center; gap:6px; margin-top:4px; }

.wk-card      { background:var(--raised); border:1.5px solid var(--b0); border-radius:var(--r);
                padding:10px 12px; display:flex; flex-direction:column; gap:5px; }

.wk-cart-bar  { display:flex; align-items:center; gap:8px; padding:10px 12px;
                background:rgba(45,185,85,.1); border-radius:var(--rs);
                border:1.5px solid rgba(45,185,85,.3); margin-top:10px; }

.wk-cnt       { display:inline-block; background:var(--cy); color:#000; border-radius:10px;
                font-size:9px; font-weight:700; padding:0 5px; margin-left:3px; }

.wk-desc      { font-size:10px; color:var(--t1); line-height:1.5; }

.wk-fx        { display:flex; flex-wrap:wrap; gap:3px; }

.wk-fx-tag    { background:rgba(45,185,85,.15); border:1px solid rgba(45,185,85,.3);
                color:var(--go); border-radius:4px; font-size:9px; padding:1px 5px;
                font-family:var(--fm); }

.wk-head      { display:flex; align-items:center; gap:8px; }

.wk-icon      { font-size:22px; flex-shrink:0; }

.wk-info      { flex:1; min-width:0; }

.wk-lock-msg  { font-size:10px; color:var(--t1); margin-top:4px; }

.wk-name      { font-size:12px; font-weight:700; color:var(--t3); }

.wk-price     { font-family:var(--fm); font-size:13px; font-weight:700; color:var(--go);
                flex-shrink:0; }

.wk-qty       { font-family:var(--fm); font-weight:700; min-width:20px; text-align:center;
                color:var(--cy); }

.wk-section   { display:none; grid-template-columns:1fr 1fr; gap:8px; margin-top:4px; }

.wk-tab       { flex:1; min-width:80px; padding:6px 4px; border-radius:6px; background:var(--raised);
                border:1.5px solid var(--b0); color:var(--t2); font-size:11px; cursor:pointer;
                white-space:nowrap; text-align:center; transition:all .15s; }

.wk-tabs      { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:12px; }

.zpanel-head        { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }

.zpanel-locked      { opacity:.45; }

.zpanel-phase-name  { font-size:12px; color:var(--t2); }

.zpanel-phase-num   { font-family:var(--fu); font-size:24px; font-weight:800; color:var(--gh); }

.zpanel-ready       { border-color:rgba(40,196,85,.5); }

.zpanel-targets     { display:flex; flex-direction:column; gap:4px; }

.zpt-bar            { flex:1; height:4px; background:var(--bg2); border-radius:2px; overflow:hidden; }

.zpt-fill           { height:100%; border-radius:2px; background:var(--gh); transition:width .4s; }

.zpt-row            { display:flex; align-items:center; gap:8px; padding:4px 0;
                      border-bottom:1px solid var(--b0); font-size:11px; }