:root {
  --gold: #d4af37;
  --gold-light: #f0d060;
  --gold-dark: #8b6914;
  --gold-pale: rgba(212,175,55,0.15);
  --gold-glow: rgba(212,175,55,0.25);
  --brown-dark: #0f0b05;
  --brown-mid: #1e1408;
  --brown-card: #18100a;
  --brown-header: rgba(153,101,21,0.3);
  --green: #4a9c3d;
  --green-light: #7dcf70;
  --text-main: #e8d5a0;
  --text-dim: #907838;
  --border: rgba(212,175,55,0.3);
  --border-soft: rgba(212,175,55,0.12);
  --red: #c44;
  --blue: #5b8fd4;
  --orange: #d4843a;
  --s0:#8a8a9a; --s1:#5b8fd4; --s2:#d4af37; --s3:#d4843a;
  --s4:#c44; --sx:#b060e0;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--brown-dark);
  color:var(--text-main);
  font-family:'Crimson Pro',serif;
  min-height:100vh;
  background-image:
    radial-gradient(ellipse at 15% 0%,rgba(180,120,20,0.07) 0%,transparent 55%),
    radial-gradient(ellipse at 85% 100%,rgba(100,60,10,0.09) 0%,transparent 55%),
    radial-gradient(ellipse at 50% 50%,rgba(80,40,5,0.04) 0%,transparent 70%);
  background-attachment:fixed;
}

/* ─── HEADER ─── */
.page-header{
  background:linear-gradient(180deg,#3d2914 0%,#1a1209 100%);
  border-bottom:3px solid var(--gold);
  padding:11px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  box-shadow:0 4px 20px rgba(0,0,0,0.5);
}
.page-header-brand{display:flex;flex-direction:column;}
.page-header-brand h1{
  font-family:'Cinzel',serif;font-size:clamp(0.9rem,2.5vw,1.25rem);color:var(--gold);
  margin:0;letter-spacing:0.3px;
}
.page-header-brand p{font-size:0.68rem;color:#f4e4a6;opacity:0.68;margin:2px 0 0;}
.header-nav{display:flex;gap:7px;align-items:center;}
.nav-btn{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;background:rgba(212,175,55,0.08);
  border:1px solid rgba(212,175,55,0.35);border-radius:6px;
  color:var(--gold);font-family:'Cinzel',serif;font-size:0.72rem;font-weight:600;
  text-decoration:none;letter-spacing:0.5px;white-space:nowrap;transition:all 0.2s;
}
.nav-btn:hover{background:rgba(212,175,55,0.22);border-color:var(--gold);box-shadow:0 0 12px rgba(212,175,55,0.28);transform:translateY(-1px);}
.nav-btn-icon{width:20px;height:20px;object-fit:contain;border-radius:3px;}

/* ─── TOTALS BAR ─── */
.totals-bar{
  background:rgba(8,5,1,0.94);border-bottom:1px solid rgba(212,175,55,0.12);
  padding:7px 30px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  position:relative;z-index:9;
}
.totals-bar-label{font-family:'Cinzel',serif;font-size:0.58rem;color:var(--text-dim);letter-spacing:1.5px;margin-right:4px;text-transform:uppercase;}
.totals-bar-item{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,0.03);border:1px solid rgba(212,175,55,0.12);
  border-radius:3px;padding:4px 12px;transition:border-color 0.2s;
}
.totals-bar-item:hover{border-color:rgba(212,175,55,0.25);}
.totals-bar-val{font-family:'Cinzel',serif;font-size:0.76rem;}
.totals-bar-cm{color:#f5c842;}.totals-bar-wb{color:#c0d8ff;}.totals-bar-fm{color:#e08080;}.totals-bar-cp{color:#7dcf70;}

/* ─── FILTERS ─── */
.filters-bar{
  background:rgba(10,7,2,0.92);border-bottom:1px solid rgba(212,175,55,0.1);
  padding:10px 24px;display:flex;flex-direction:column;gap:8px;
  position:relative;z-index:8;
}
.filters-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.filters-row-1{flex-wrap:nowrap;}
.filter-inline-group{display:flex;align-items:center;gap:5px;flex-shrink:0;}
.search-wrap{position:relative;flex:1;min-width:120px;}
.search-wrap input{
  width:100%;padding:7px 12px 7px 32px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(212,175,55,0.2);border-radius:3px;
  color:var(--text-main);font-family:'Crimson Pro',serif;font-size:0.9rem;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.search-wrap input:focus{outline:none;border-color:rgba(212,175,55,0.45);box-shadow:0 0 0 2px rgba(212,175,55,0.07);}
.search-wrap input::placeholder{color:rgba(144,120,56,0.55);}
.search-wrap::before{content:'🔍';position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:0.75rem;pointer-events:none;}
.filter-label{font-family:'Cinzel',serif;font-size:0.58rem;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
select.filter-select{
  padding:6px 10px;background:rgba(255,255,255,0.04);border:1px solid rgba(212,175,55,0.2);border-radius:3px;
  color:var(--text-main);font-family:'Crimson Pro',serif;font-size:0.85rem;cursor:pointer;transition:border-color 0.2s;
}
select.filter-select:focus{outline:none;border-color:rgba(212,175,55,0.45);}
select.filter-select option{background:#0f0b05;color:var(--text-main);}
.filter-pills{display:flex;gap:5px;flex-wrap:wrap;}
.medal-filter-pills{display:flex;gap:5px;flex-wrap:wrap;}
.pill{
  padding:4px 12px;border:1px solid rgba(212,175,55,0.2);border-radius:20px;
  font-family:'Cinzel',serif;font-size:0.6rem;color:rgba(144,120,56,0.8);
  cursor:pointer;transition:all 0.2s;letter-spacing:0.5px;white-space:nowrap;
}
.pill:hover,.pill.active{background:rgba(212,175,55,0.12);border-color:var(--gold);color:var(--gold-light);box-shadow:0 0 8px rgba(212,175,55,0.08);}
.pill.active[data-val="Cavalry"]{border-color:#7baaf5;color:#7baaf5;background:rgba(123,170,245,0.1);}
.pill.active[data-val="Footmen"]{border-color:#e8a060;color:#e8a060;background:rgba(232,160,96,0.1);}
.pill.active[data-val="Archer"]{border-color:#70c870;color:#70c870;background:rgba(112,200,112,0.1);}
.filter-count{font-family:'Cinzel',serif;font-size:0.65rem;color:var(--text-dim);white-space:nowrap;margin-left:auto;flex-shrink:0;}

.skill-troop-filter{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 10px 0;border-bottom:1px solid rgba(212,175,55,0.1);margin-bottom:10px;}
.skill-troop-pill{padding:4px 12px;border:1px solid rgba(212,175,55,0.2);border-radius:16px;font-family:'Cinzel',serif;font-size:0.6rem;color:rgba(144,120,56,0.8);cursor:pointer;transition:all 0.18s;letter-spacing:0.5px;user-select:none;}
.skill-troop-pill:hover,.skill-troop-pill.active{background:rgba(212,175,55,0.14);border-color:var(--gold);color:var(--gold-light);}
.skill-troop-pill.active[data-troop="Cavalry"]{border-color:#7baaf5;color:#7baaf5;background:rgba(123,170,245,0.1);}
.skill-troop-pill.active[data-troop="Footmen"]{border-color:#e8a060;color:#e8a060;background:rgba(232,160,96,0.1);}
.skill-troop-pill.active[data-troop="Archer"]{border-color:#70c870;color:#70c870;background:rgba(112,200,112,0.1);}
.skill-troop-pill.active[data-troop="ALL"]{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,0.1);}

/* ─── MAIN LAYOUT ─── */
.main-wrap{display:grid;grid-template-columns:1fr 460px;gap:0;min-height:calc(100vh - 130px);}
@media(max-width:900px){.main-wrap{grid-template-columns:1fr;}}

/* ─── GRID ─── */
.grid-panel{padding:22px 22px 22px 28px;}
.season-section{margin-bottom:32px;}
.season-title{
  font-family:'Cinzel',serif;font-size:0.72rem;color:var(--text-dim);
  letter-spacing:4px;text-transform:uppercase;padding-bottom:10px;margin-bottom:16px;
  display:flex;align-items:center;gap:12px;position:relative;
}
.season-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(212,175,55,0.3) 0%,transparent 100%);}
.season-badge{padding:3px 10px;background:rgba(212,175,55,0.07);border:1px solid rgba(212,175,55,0.25);border-radius:2px;font-size:0.65rem;color:var(--gold);letter-spacing:1px;}
.research-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;}

/* ─── CARDS ─── */
.research-card{
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  background:linear-gradient(160deg,rgba(28,18,8,0.97) 0%,rgba(13,9,3,0.99) 100%);
  border:1px solid rgba(212,175,55,0.18);border-radius:5px;
  cursor:pointer;transition:transform 0.22s cubic-bezier(0.2,0,0,1),border-color 0.22s,box-shadow 0.22s;
  overflow:hidden;position:relative;
}
.research-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(212,175,55,0.04) 0%,transparent 60%);
  opacity:0;transition:opacity 0.25s;pointer-events:none;
}
.research-card:hover{border-color:rgba(212,175,55,0.5);transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,0.6),0 0 18px rgba(212,175,55,0.07);}
.research-card:hover::before{opacity:1;}
.research-card.active{
  border-color:var(--gold);
  box-shadow:0 0 0 1px rgba(212,175,55,0.3),0 8px 24px rgba(0,0,0,0.6),0 0 24px rgba(212,175,55,0.15);
  animation:cardPulse 2s ease-in-out infinite;
}
.research-card.active::before{opacity:1;}
@keyframes cardPulse {
  0%  {box-shadow:0 0 0 1px rgba(212,175,55,0.3),0 8px 24px rgba(0,0,0,0.6),0 0 18px rgba(212,175,55,0.12);}
  50% {box-shadow:0 0 0 2px rgba(212,175,55,0.55),0 8px 28px rgba(0,0,0,0.7),0 0 36px rgba(212,175,55,0.28),0 0 60px rgba(212,175,55,0.1);}
  100%{box-shadow:0 0 0 1px rgba(212,175,55,0.3),0 8px 24px rgba(0,0,0,0.6),0 0 18px rgba(212,175,55,0.12);}
}

/* ─── CARD QUICK INFO POPUP ─── */
.card-quick-info{
  position:absolute;
  z-index:200;
  width:190px;
  background:linear-gradient(160deg,rgba(22,14,4,0.98) 0%,rgba(12,8,2,0.99) 100%);
  border:1px solid rgba(212,175,55,0.45);
  border-radius:5px;
  padding:10px 12px;
  box-shadow:0 8px 32px rgba(0,0,0,0.8),0 0 24px rgba(212,175,55,0.12);
  pointer-events:auto;
  opacity:0;
  transform:scale(0.9) translateY(4px);
  transition:opacity 0.2s ease,transform 0.2s ease;
}
.card-quick-info.visible{
  opacity:1;
  transform:scale(1) translateY(0);
}
.card-quick-info::before{
  content:'';
  position:absolute;top:-1px;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,0.6),transparent);
}
.cqi-title{
  font-family:'Cinzel',serif;font-size:0.68rem;color:var(--gold);
  letter-spacing:1px;margin-bottom:8px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cqi-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:3px 0;
  border-bottom:1px solid rgba(212,175,55,0.06);
  font-size:0.72rem;
}
.cqi-row:last-child{border-bottom:none;}
.cqi-label{color:var(--text-dim);font-size:0.62rem;letter-spacing:0.5px;}
.cqi-val{font-family:'Cinzel',serif;color:var(--gold-light);font-size:0.7rem;}
.cqi-val.cm{color:#f5c842;}
.cqi-val.wb{color:#c0d8ff;}
.cqi-val.fm{color:#e08080;}
.cqi-val.green{color:#7dcf70;}
.cqi-val.res{color:var(--text-dim);}
.cqi-medal-row{display:flex;align-items:center;gap:5px;margin-bottom:6px;}
.cqi-medal-img{width:16px;height:16px;object-fit:contain;}
.cqi-divider{height:1px;background:rgba(212,175,55,0.12);margin:5px 0;}
.research-card.hidden{display:none;}
.card-img-wrap{
  position:relative;width:100%;padding-top:72%;
  background:linear-gradient(160deg,rgba(26,16,6,0.9) 0%,rgba(8,5,1,0.95) 100%);overflow:hidden;
}
.card-img-wrap::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(212,175,55,0.05) 0%,transparent 70%);pointer-events:none;}
.card-img-wrap img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px;
  transition:transform 0.35s cubic-bezier(0.2,0,0,1),filter 0.25s;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,0.5));
}
.research-card:hover .card-img-wrap img{transform:scale(1.1);filter:drop-shadow(0 4px 14px rgba(212,175,55,0.18));}
.card-season-tag{
  position:absolute;top:6px;right:6px;padding:2px 7px;
  background:rgba(0,0,0,0.75);border:1px solid rgba(212,175,55,0.18);border-radius:2px;
  font-family:'Cinzel',serif;font-size:0.58rem;color:var(--gold);letter-spacing:0.5px;
}
.card-body{padding:10px 12px 12px;}
.card-name{font-family:'Cinzel',serif;font-size:0.75rem;color:var(--gold-light);letter-spacing:0.3px;margin-bottom:6px;line-height:1.35;}
.card-meta{display:flex;gap:4px;flex-wrap:wrap;}
.card-tag{padding:2px 6px;background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.13);border-radius:2px;font-size:0.57rem;color:rgba(155,120,55,0.8);}
.card-sub-count{margin-top:5px;font-size:0.67rem;color:var(--text-dim);font-style:italic;}
.card-sub-count span{color:var(--gold);font-style:normal;}
.card-progress-wrap{margin-top:7px;position:relative;}
.card-progress-bar-bg{height:2px;background:rgba(255,255,255,0.06);border-radius:2px;overflow:hidden;}
.card-progress-bar-fill{height:100%;border-radius:2px;transition:width 0.5s cubic-bezier(0.2,0,0.2,1);}
.card-progress-label{font-size:0.56rem;font-family:'Cinzel',serif;letter-spacing:0.5px;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;color:var(--text-dim);}
.card-no-subs{opacity:0.4;}
.card-medal-icon{
  position:absolute;top:6px;left:6px;width:22px;height:22px;
  background:rgba(0,0,0,0.75);border:1px solid rgba(255,255,255,0.1);border-radius:3px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.card-medal-icon img{width:15px;height:15px;object-fit:contain;}
.card-medal-row{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap;}
.medal-badge{display:flex;align-items:center;gap:3px;padding:2px 6px;border-radius:2px;font-size:0.6rem;font-family:'Cinzel',serif;border:1px solid;}
.medal-cm{color:#f5c842;border-color:rgba(245,200,66,0.35);background:rgba(245,200,66,0.07);}
.medal-wb{color:#c0d8ff;border-color:rgba(192,216,255,0.35);background:rgba(192,216,255,0.06);}
.medal-fm{color:#e08080;border-color:rgba(224,128,128,0.35);background:rgba(224,128,128,0.07);}
.completion-bar-wrap{margin-top:6px;}
.completion-bar-bg{height:2px;background:rgba(255,255,255,0.05);border-radius:2px;overflow:hidden;}
.completion-bar-fill{height:100%;border-radius:2px;transition:width 0.5s;}
.completion-label{font-size:0.56rem;color:var(--text-dim);margin-top:3px;}

/* season borders */
.research-card[data-season="S0"]{border-top:2px solid #5a5a6a;}
.research-card[data-season="S1"]{border-top:2px solid #2a5f9a;}
.research-card[data-season="S2"]{border-top:2px solid #a07a10;}
.research-card[data-season="S3"]{border-top:2px solid #a05010;}
.research-card[data-season="S4"]{border-top:2px solid #883434;}
.research-card[data-season^="X"]{border-top:2px solid #7030b0;}

/* ─── DETAIL PANEL ─── */
.detail-panel{
  background:rgba(10,7,2,0.97);border-left:1px solid rgba(212,175,55,0.12);
  position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;
}
.detail-panel::-webkit-scrollbar{width:3px;}
.detail-panel::-webkit-scrollbar-track{background:transparent;}
.detail-panel::-webkit-scrollbar-thumb{background:rgba(212,175,55,0.3);border-radius:2px;}
.detail-panel::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,0.5);}
.detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-dim);padding:30px;text-align:center;}
.detail-empty-icon{font-size:3rem;opacity:0.2;}
.detail-empty p{font-size:0.88rem;font-style:italic;opacity:0.7;}
.detail-header{
  background:linear-gradient(180deg,rgba(26,16,5,0.98) 0%,rgba(14,9,2,0.96) 100%);
  border-bottom:1px solid rgba(212,175,55,0.12);padding:18px;position:relative;
}
.detail-header::after{content:'';position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,0.35),transparent);}
.detail-img-name{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.detail-img{
  width:90px!important;height:90px!important;object-fit:contain;
  background:linear-gradient(160deg,rgba(30,18,6,0.9),rgba(8,5,1,0.95));
  border:1px solid rgba(212,175,55,0.22);border-radius:5px;padding:6px;
  filter:drop-shadow(0 0 14px rgba(212,175,55,0.18));
}
.detail-name{font-family:'Cinzel',serif;font-size:1.05rem;color:var(--gold);letter-spacing:1px;text-shadow:0 0 20px rgba(212,175,55,0.25);line-height:1.3;}
.detail-season{font-size:0.78rem;color:var(--text-dim);margin-top:4px;letter-spacing:0.5px;}
.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.detail-stat{background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.1);border-radius:4px;padding:8px 10px;transition:border-color 0.2s;}
.detail-stat:hover{border-color:rgba(212,175,55,0.2);}
.detail-stat-label{font-size:0.6rem;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;}
.detail-stat-val{font-size:0.95rem;color:var(--gold-light);font-family:'Cinzel',serif;margin-top:2px;}
.detail-medal-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;}
.detail-medal-box{background:rgba(0,0,0,0.35);border:1px solid rgba(212,175,55,0.1);border-radius:4px;padding:8px;text-align:center;transition:border-color 0.2s;}
.detail-medal-box:hover{border-color:rgba(212,175,55,0.22);}
.detail-medal-box-label{font-size:0.58rem;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;}
.detail-medal-box-val{font-family:'Cinzel',serif;font-size:0.85rem;margin-top:2px;}
.detail-medal-box.cm .detail-medal-box-val{color:#f5c842;}
.detail-medal-box.wb .detail-medal-box-val{color:#c0d8ff;}
.detail-medal-box.fm .detail-medal-box-val{color:#e08080;}
.detail-days-row{display:flex;gap:6px;margin-top:6px;}
.detail-days-pill{flex:1;background:rgba(0,0,0,0.25);border:1px solid rgba(212,175,55,0.1);border-radius:4px;padding:6px 8px;text-align:center;}
.detail-days-pill-label{font-size:0.56rem;color:var(--text-dim);letter-spacing:1px;}
.detail-days-pill-val{font-family:'Cinzel',serif;font-size:0.8rem;color:var(--gold-light);margin-top:1px;}
.source-credit{margin-top:8px;padding:6px 10px;background:rgba(212,175,55,0.04);border:1px solid rgba(212,175,55,0.1);border-radius:3px;font-size:0.68rem;color:var(--text-dim);font-style:italic;}

/* tabs */
.detail-tabs{display:flex;border-bottom:1px solid rgba(212,175,55,0.1);background:rgba(0,0,0,0.3);}
.detail-tab{flex:1;padding:10px;background:none;border:none;color:rgba(144,120,56,0.6);font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:1.5px;cursor:pointer;transition:all 0.2s;border-bottom:2px solid transparent;text-transform:uppercase;}
.detail-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.detail-tab:hover{color:var(--gold-light);}
.detail-body{flex:1;padding:14px;}
.tab-content{display:none;}
.tab-content.active{display:block;}

/* sub list */
.sub-list{display:flex;flex-direction:column;gap:6px;}
.sub-item{background:rgba(255,255,255,0.02);border:1px solid rgba(212,175,55,0.09);border-radius:4px;padding:10px 12px;cursor:pointer;transition:border-color 0.18s,background 0.18s;}
.sub-item:hover{border-color:rgba(212,175,55,0.28);background:rgba(212,175,55,0.025);}
.sub-item.expanded{border-color:rgba(212,175,55,0.32);background:rgba(212,175,55,0.045);}
.sub-top *{pointer-events:none;}
.sub-top{display:flex;align-items:center;gap:8px;}
.sub-order{width:22px;height:22px;background:rgba(212,175,55,0.08);border:1px solid rgba(212,175,55,0.22);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cinzel',serif;font-size:0.62rem;color:var(--gold);flex-shrink:0;}
.sub-name{font-family:'Cinzel',serif;font-size:0.76rem;color:var(--text-main);flex:1;}
.sub-lvl{font-size:0.68rem;color:var(--text-dim);}
.sub-tags{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap;}
.sub-tag{padding:2px 7px;border-radius:3px;font-size:0.58px;border:1px solid;letter-spacing:0.3px;}
.sub-tag{padding:2px 7px;border-radius:3px;font-size:0.58rem;border:1px solid;}
.sub-tag.troop-footmen{color:#e8a060;border-color:rgba(232,160,96,0.35);background:rgba(232,160,96,0.07);}
.sub-tag.troop-archer{color:#70c870;border-color:rgba(112,200,112,0.35);background:rgba(112,200,112,0.07);}
.sub-tag.troop-cavalry{color:#7baaf5;border-color:rgba(123,170,245,0.35);background:rgba(123,170,245,0.07);}
.sub-tag.troop-all{color:var(--gold);border-color:rgba(212,175,55,0.25);background:rgba(212,175,55,0.07);}
.sub-tag.troop-legion{color:#c080e0;border-color:rgba(192,128,224,0.35);background:rgba(192,128,224,0.07);}
.sub-tag.troop-lofty{color:#a0f0c0;border-color:rgba(160,240,192,0.35);background:rgba(160,240,192,0.07);}
.sub-tag.campo{color:var(--text-dim);border-color:rgba(160,128,64,0.2);background:rgba(160,128,64,0.04);}
.sub-buff{margin-top:8px;padding:8px 10px;background:rgba(0,0,0,0.3);border-left:2px solid rgba(212,175,55,0.4);font-size:0.8rem;color:var(--text-main);font-style:italic;line-height:1.5;border-radius:0 3px 3px 0;}
.sub-costs{margin-top:8px;}
.sub-costs-title{font-size:0.62rem;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px;}
.costs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;}
.cost-cell{background:rgba(212,175,55,0.05);border:1px solid rgba(212,175,55,0.09);border-radius:3px;padding:4px;text-align:center;font-size:0.58rem;transition:background 0.15s;}
.cost-cell:hover{background:rgba(212,175,55,0.09);}
.cost-cell-lv{color:var(--text-dim);display:block;margin-bottom:1px;}
.cost-cell-val{color:var(--gold-light);font-family:'Cinzel',serif;}
.cost-cell-total{grid-column:1/-1;background:rgba(212,175,55,0.1);border-color:rgba(212,175,55,0.22);display:flex;justify-content:space-between;align-items:center;padding:5px 8px;}

/* ─── SPEC GUIDE ─── */
.spec-section{margin-bottom:14px;}
.spec-section h3{font-family:'Cinzel',serif;font-size:0.66rem;color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;border-bottom:1px solid rgba(212,175,55,0.1);padding-bottom:5px;display:flex;align-items:center;gap:6px;}
.spec-input-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.spec-pts-display{font-family:'Cinzel',serif;font-size:1.5rem;color:var(--gold);width:54px;text-align:center;flex-shrink:0;}
.spec-pts-label{font-size:0.7rem;color:var(--text-dim);}
input.spec-slider{width:100%;accent-color:var(--gold);}
.spec-result-box{background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(100,60,10,0.18));border:1px solid rgba(212,175,55,0.25);border-radius:4px;padding:10px 14px;margin-bottom:10px;}
.spec-result-main{font-family:'Cinzel',serif;font-size:1.1rem;color:var(--gold);}
.spec-result-sub{font-size:0.75rem;color:var(--text-dim);margin-top:3px;}
.spec-tier-table{width:100%;border-collapse:collapse;font-size:0.72rem;}
.spec-tier-table th{background:rgba(212,175,55,0.08);color:var(--gold);font-family:'Cinzel',serif;padding:5px 8px;text-align:left;font-size:0.58rem;letter-spacing:1.5px;border:1px solid rgba(212,175,55,0.14);}
.spec-tier-table td{padding:4px 8px;border:1px solid rgba(212,175,55,0.07);color:var(--text-main);}
.spec-tier-table tr.active-tier td{background:rgba(212,175,55,0.1);color:var(--gold-light);}
.spec-tier-table td.days{color:var(--green-light);font-family:'Cinzel',serif;}
.spec-steps{display:flex;flex-direction:column;gap:8px;}
.spec-step{background:rgba(255,255,255,0.02);border:1px solid rgba(212,175,55,0.1);border-radius:4px;padding:10px 12px;position:relative;}
.spec-step-num{position:absolute;top:-1px;left:-1px;background:var(--gold-dark);color:#000;font-family:'Cinzel',serif;font-size:0.58rem;padding:2px 6px;border-radius:3px 0 4px 0;letter-spacing:1px;}
.spec-step-title{font-family:'Cinzel',serif;font-size:0.74rem;color:var(--gold-light);margin-bottom:4px;margin-left:30px;}
.spec-step p{font-size:0.75rem;color:var(--text-main);line-height:1.5;}
.spec-step .warn{color:#f0a040;font-style:italic;}
.wb-alloc-label{font-size:0.66rem;color:var(--text-dim);margin-bottom:6px;font-style:italic;}
.wb-quad-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;}
.wb-quad{background:rgba(0,0,0,0.35);border:1px solid rgba(212,175,55,0.14);border-radius:4px;padding:8px;text-align:center;}
.wb-quad-val{font-family:'Cinzel',serif;font-size:1.1rem;color:var(--gold);}
.wb-quad-label{font-size:0.58rem;color:var(--text-dim);margin-top:2px;}
.wb-quad.highlight{border-color:rgba(212,175,55,0.38);background:rgba(212,175,55,0.07);}
.reset-skill-list{display:flex;flex-direction:column;gap:3px;max-height:280px;overflow-y:auto;}
.reset-skill-item{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.02);border:1px solid rgba(212,175,55,0.08);border-radius:3px;padding:5px 8px;cursor:pointer;transition:background 0.15s;}
.reset-skill-item:hover{background:rgba(212,175,55,0.05);}
.reset-skill-item input[type=checkbox]{accent-color:var(--gold);width:14px;height:14px;}
.reset-skill-name{flex:1;font-size:0.72rem;color:var(--text-main);}
.reset-skill-tier{font-size:0.58rem;padding:1px 5px;border-radius:2px;border:1px solid;font-family:'Cinzel',serif;}
.reset-skill-tier.A{color:#a0c0ff;border-color:rgba(160,192,255,0.35);background:rgba(160,192,255,0.05);}
.reset-skill-tier.L{color:#a0f0c0;border-color:rgba(160,240,192,0.35);background:rgba(160,240,192,0.05);}
.reset-skill-cost{font-family:'Cinzel',serif;font-size:0.68rem;color:var(--gold-light);width:52px;text-align:right;}
.reset-total-bar{background:linear-gradient(135deg,rgba(212,175,55,0.12),rgba(100,60,10,0.18));border:1px solid rgba(212,175,55,0.25);border-radius:4px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.reset-total-label{font-family:'Cinzel',serif;font-size:0.62rem;color:var(--text-dim);letter-spacing:1.5px;}
.reset-total-val{font-family:'Cinzel',serif;font-size:1.1rem;color:var(--gold);}
.btn-sel-all{padding:4px 10px;background:rgba(212,175,55,0.08);border:1px solid rgba(212,175,55,0.2);border-radius:3px;color:var(--gold);font-family:'Cinzel',serif;font-size:0.58rem;cursor:pointer;letter-spacing:0.5px;margin-right:4px;transition:all 0.2s;}
.btn-sel-all:hover{background:rgba(212,175,55,0.16);border-color:var(--gold);}

/* ─── CALCULATOR ─── */
.calc-section{background:rgba(0,0,0,0.25);border:1px solid rgba(212,175,55,0.14);border-radius:4px;padding:14px;margin-bottom:12px;}
.calc-title{font-family:'Cinzel',serif;font-size:0.72rem;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.calc-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:6px 8px;background:rgba(255,255,255,0.02);border:1px solid rgba(212,175,55,0.07);border-radius:3px;transition:background 0.15s,border-color 0.15s;}
.calc-row:hover{background:rgba(212,175,55,0.025);border-color:rgba(212,175,55,0.14);}
.calc-row-name{flex:1;font-size:0.76rem;color:var(--text-main);}
.calc-row input[type=range]{width:70px;accent-color:var(--gold);}
.calc-row-level{font-family:'Cinzel',serif;font-size:0.68rem;color:var(--gold);width:20px;text-align:center;}
.calc-row-cost{font-family:'Cinzel',serif;font-size:0.68rem;color:var(--gold-light);width:60px;text-align:right;}
.calc-total{background:linear-gradient(135deg,rgba(212,175,55,0.1),rgba(153,101,21,0.14));border:1px solid rgba(212,175,55,0.28);border-radius:4px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1px 0 rgba(212,175,55,0.08);}
.calc-total-label{font-family:'Cinzel',serif;font-size:0.68rem;color:var(--text-dim);letter-spacing:1.5px;}
.calc-total-val{font-family:'Cinzel',serif;font-size:1.15rem;color:var(--gold);}
.calc-medal-type{font-size:0.62rem;color:var(--text-dim);text-align:right;}
.calc-reset-btn{width:100%;margin-top:8px;padding:7px;background:rgba(212,175,55,0.06);border:1px solid rgba(212,175,55,0.18);border-radius:3px;color:var(--text-dim);font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:1.5px;cursor:pointer;transition:all 0.2s;text-transform:uppercase;}
.calc-reset-btn:hover{background:rgba(212,175,55,0.14);color:var(--gold);border-color:rgba(212,175,55,0.38);}
.no-costs-notice{padding:14px;background:rgba(255,200,0,0.04);border:1px solid rgba(255,200,0,0.14);border-radius:4px;font-size:0.78rem;color:var(--text-dim);font-style:italic;text-align:center;}

/* info tab */
.info-section{margin-bottom:14px;}
.info-section h3{font-family:'Cinzel',serif;font-size:0.67rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;border-bottom:1px solid rgba(212,175,55,0.1);padding-bottom:5px;display:flex;align-items:center;gap:6px;}
.info-tag-list{display:flex;gap:5px;flex-wrap:wrap;}

/* medal filter pills */
.pill.medal-cm.active{background:rgba(245,200,66,0.12);border-color:#f5c842;color:#f5c842;}
.pill.medal-wb.active{background:rgba(192,216,255,0.08);border-color:#c0d8ff;color:#c0d8ff;}
.pill.medal-fm.active{background:rgba(224,128,128,0.08);border-color:#e08080;color:#e08080;}
.pill.medal-res.active{background:rgba(100,200,100,0.08);border-color:#7dcf70;color:#7dcf70;}

/* ── BACK TO TOP ── */
.back-to-top{display:none;position:fixed;bottom:20px;right:16px;z-index:400;width:40px;height:40px;border-radius:50%;background:rgba(212,175,55,0.82);border:none;cursor:pointer;font-size:1.1rem;line-height:1;box-shadow:0 4px 16px rgba(0,0,0,0.6);transition:opacity 0.2s,transform 0.2s;}
.back-to-top:hover{transform:scale(1.1);}
@media(max-width:900px){.back-to-top{display:flex;align-items:center;justify-content:center;}}

/* swipe */
.swipe-nav{display:none;justify-content:space-between;align-items:center;padding:6px 14px;background:rgba(0,0,0,0.5);border-bottom:1px solid rgba(212,175,55,0.07);font-family:'Cinzel',serif;font-size:0.58rem;color:var(--text-dim);}
@media(max-width:900px){.swipe-nav{display:flex;}}
.swipe-nav button{background:rgba(212,175,55,0.08);border:1px solid rgba(212,175,55,0.2);color:var(--gold);padding:4px 10px;border-radius:3px;font-size:0.63rem;font-family:'Cinzel',serif;cursor:pointer;}
.swipe-nav button:disabled{opacity:0.25;cursor:default;}

.empty-grid{grid-column:1/-1;padding:48px;text-align:center;color:var(--text-dim);font-style:italic;opacity:0.6;}

/* ─── FOOTER ─── */
.credits-bar{background:rgba(8,5,1,0.96);border-top:1px solid rgba(212,175,55,0.1);padding:14px 30px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;}
.credits-bar-title{font-family:'Cinzel',serif;font-size:0.62rem;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;width:100%;text-align:center;margin-bottom:4px;}
.credits-source{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.02);border:1px solid rgba(212,175,55,0.14);border-radius:4px;padding:6px 14px;}
.credits-source-name{font-family:'Cinzel',serif;font-size:0.7rem;color:var(--gold-light);}
.credits-source a{font-size:0.63rem;color:var(--text-dim);text-decoration:none;border:1px solid rgba(212,175,55,0.14);border-radius:2px;padding:2px 8px;transition:all 0.2s;}
.credits-source a:hover{color:var(--gold);border-color:rgba(212,175,55,0.38);}
.site-footer{background:linear-gradient(180deg,#1a1209 0%,#0d0b08 100%);border-top:2px solid rgba(212,175,55,0.22);padding:28px 20px;margin-top:40px;text-align:center;}
.footer-logo{height:34px;width:auto;object-fit:contain;opacity:0.72;margin-bottom:10px;display:block;margin-left:auto;margin-right:auto;}
.footer-text{font-family:'Cinzel',serif;font-size:0.72rem;color:#d4c4a8;margin:0 0 5px;}
.footer-text strong{color:var(--gold);}
.footer-copy{font-size:0.62rem;color:#a08860;}
.footer-copy a{color:var(--gold);text-decoration:none;}
.ct-ad{display:flex;justify-content:center;width:100%;}
.vip-hide{display:none !important;}

/* ─── MOBILE ─── */
@media(max-width:900px){
  .main-wrap{grid-template-columns:1fr;}
  .grid-panel{padding:10px 12px;}
  .page-header{padding:10px 14px;}
  .page-header-brand h1{font-size:0.95rem;}
  .nav-btn span{display:none;}
  .nav-btn{padding:7px 10px;}
  .research-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .research-card{display:flex;flex-direction:column;}
  .card-img-wrap{padding-top:70%;height:auto;}
  .card-img-wrap img{width:100%;height:100%;padding:12px;}
  .card-season-tag{font-size:0.5rem;padding:1px 5px;}
  .card-body{padding:6px 8px 9px;}
  .card-name{font-size:0.62rem;margin-bottom:3px;line-height:1.25;}
  .card-meta{gap:3px;margin-bottom:2px;}
  .card-tag{font-size:0.48rem;padding:1px 4px;}
  .card-sub-count{font-size:0.55rem;margin-top:2px;}
  .card-progress-wrap{margin-top:4px;}
  .card-progress-label{margin-bottom:3px;}
  .card-progress-label span:first-child{font-size:0.5rem;}
  .card-progress-label span:last-child{font-size:0.57rem;}
  .card-progress-bar-bg{height:2px;}
  .season-badge{font-size:0.58rem;padding:2px 6px;}
  .season-title{font-size:0.68rem;letter-spacing:2.5px;margin-bottom:10px;}
  .detail-panel{position:fixed;inset:0;width:100%;height:100%;z-index:300;transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);border-left:none;border-top:none;overflow-y:auto;-webkit-overflow-scrolling:touch;}
  .detail-panel.open{transform:translateY(0);}
  .detail-panel-close{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:rgba(0,0,0,0.75);border-bottom:1px solid rgba(212,175,55,0.15);position:sticky;top:0;z-index:10;}
  .detail-panel-close-title{font-family:'Cinzel',serif;font-size:0.73rem;color:var(--gold);letter-spacing:1px;}
  .close-btn{background:rgba(212,175,55,0.12);border:1px solid rgba(212,175,55,0.3);color:var(--gold);padding:6px 14px;border-radius:3px;cursor:pointer;font-size:0.73rem;font-family:'Cinzel',serif;}
  .detail-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
  .detail-tab{white-space:nowrap;font-size:0.62rem;padding:7px 10px;}
  .detail-body{padding:12px;padding-bottom:40px;}
  .detail-stats{grid-template-columns:1fr 1fr;}
  .detail-medal-totals{grid-template-columns:1fr 1fr 1fr;}
  .detail-days-row{flex-wrap:wrap;}
  .sub-item{padding:8px 10px;}
  .filters-bar{padding:8px 12px;gap:6px;}
  .filters-row-1{flex-wrap:nowrap;}
  .search-wrap input{font-size:0.85rem;padding:6px 8px 6px 28px;}
  .filter-label{font-size:0.55rem;}
  .filter-select{font-size:0.78rem;padding:5px 6px;}
  .pill{font-size:0.58rem;padding:3px 9px;}
  .totals-bar{padding:6px 12px;gap:6px;}
  .totals-bar-label{display:none;}
  .totals-bar-val{font-size:0.7rem;}
}
@media(min-width:901px){
  .detail-panel-close{display:none;}
  .swipe-nav{display:none;}
}

/* ── IMPROVEMENT 4: slide animation for skill expand ── */
.sub-expand{
  overflow:hidden;
  transition:max-height 0.28s cubic-bezier(0.4,0,0.2,1), opacity 0.22s ease;
  max-height:0;
  opacity:0;
}
.sub-expand.open{
  max-height:1200px;
  opacity:1;
}


/* ── IMPROVEMENT 5: calc total flash ── */
@keyframes calcFlash {
  0%   {color:var(--gold);}
  30%  {color:#fff8c0;text-shadow:0 0 12px rgba(255,240,100,0.8);}
  100% {color:var(--gold);}
}
.calc-total-val.flash{
  animation:calcFlash 0.4s ease-out;
}

/* ── IMPROVEMENT 7: season section alternating bg ── */
.season-section:nth-child(even){
  background:rgba(212,175,55,0.018);
  border-radius:6px;
  padding:10px 8px 2px;
  margin-left:-8px;margin-right:-8px;
}
.season-section:nth-child(odd){
  padding:0 8px;
}

/* ── IMPROVEMENT 8: detail header radial glow behind image ── */
.detail-img-wrap-glow{
  position:relative;
  flex-shrink:0;
}
.detail-img-wrap-glow::before{
  content:'';
  position:absolute;
  inset:-14px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(212,175,55,0.2) 0%,transparent 70%);
  pointer-events:none;
  animation:imgGlow 3s ease-in-out infinite;
}
@keyframes imgGlow {
  0%,100%{opacity:0.6;}
  50%{opacity:1;}
}

/* ── S0 resource icon fallback ── */
.card-resource-icon{
  position:absolute;top:6px;left:6px;
  width:22px;height:22px;
  background:rgba(0,0,0,0.75);
  border:1px solid rgba(180,140,40,0.3);
  border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;
  line-height:1;
}

/* ─── CARD ACTIONS ─────────────────────────────────────────────────── */
.card-actions{
  display:flex;gap:5px;margin-top:8px;
}
.card-action-btn{
  flex:1;padding:5px 4px;
  background:rgba(212,175,55,0.07);
  border:1px solid rgba(212,175,55,0.2);
  border-radius:3px;
  color:var(--text-dim);
  font-family:'Cinzel',serif;font-size:0.55rem;
  letter-spacing:0.5px;cursor:pointer;
  transition:all 0.18s;
  white-space:nowrap;
}
.card-action-btn:hover{background:rgba(212,175,55,0.16);color:var(--gold);border-color:rgba(212,175,55,0.45);}
.card-action-detail:hover{border-color:#7baaf5;color:#7baaf5;background:rgba(123,170,245,0.1);}
.card-action-buffs:hover{border-color:#70c870;color:#70c870;background:rgba(112,200,112,0.1);}

/* ─── BUFF SUMMARY MODAL ───────────────────────────────────────────── */
.bsum-overlay{
  position:fixed;inset:0;z-index:600;
  background:rgba(0,0,0,0.75);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  opacity:0;transition:opacity 0.22s;
  backdrop-filter:blur(3px);
}
.bsum-overlay.open{opacity:1;}
.bsum-modal{
  width:100%;max-width:520px;max-height:85vh;
  background:linear-gradient(160deg,rgba(22,14,5,0.99) 0%,rgba(10,7,2,0.99) 100%);
  border:1px solid rgba(212,175,55,0.35);
  border-radius:6px;
  overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 16px 48px rgba(0,0,0,0.85),0 0 40px rgba(212,175,55,0.08);
  transform:scale(0.95);
  transition:transform 0.22s cubic-bezier(0.2,0,0.2,1);
}
.bsum-overlay.open .bsum-modal{transform:scale(1);}

.bsum-header{
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;
  background:linear-gradient(180deg,rgba(30,18,6,0.98) 0%,rgba(18,11,3,0.95) 100%);
  border-bottom:1px solid rgba(212,175,55,0.2);
  flex-shrink:0;
  position:relative;
}
.bsum-header::after{
  content:'';position:absolute;bottom:-1px;left:10%;right:10%;
  height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,0.5),transparent);
}
.bsum-header-img-wrap{flex-shrink:0;}
.bsum-header-img{
  width:64px;height:64px;object-fit:contain;
  background:rgba(0,0,0,0.4);border:1px solid rgba(212,175,55,0.25);
  border-radius:5px;padding:5px;
  filter:drop-shadow(0 0 10px rgba(212,175,55,0.2));
}
.bsum-title{font-family:'Cinzel',serif;font-size:1rem;color:var(--gold);letter-spacing:1px;}
.bsum-subtitle{font-size:0.75rem;color:var(--text-dim);margin-top:3px;}
.bsum-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;}
.bsum-tag{
  padding:2px 7px;border-radius:3px;font-size:0.58rem;
  font-family:'Cinzel',serif;border:1px solid;letter-spacing:0.3px;
}
.bsum-close{
  margin-left:auto;flex-shrink:0;
  background:rgba(212,175,55,0.08);border:1px solid rgba(212,175,55,0.2);
  color:var(--text-dim);width:28px;height:28px;border-radius:50%;
  cursor:pointer;font-size:0.75rem;display:flex;align-items:center;justify-content:center;
  transition:all 0.18s;
}
.bsum-close:hover{background:rgba(212,175,55,0.2);color:var(--gold);}

.bsum-body{
  overflow-y:auto;padding:14px 16px;flex:1;
}
.bsum-body::-webkit-scrollbar{width:3px;}
.bsum-body::-webkit-scrollbar-thumb{background:rgba(212,175,55,0.3);border-radius:2px;}

.bsum-section{
  margin-bottom:12px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(212,175,55,0.1);
  border-radius:4px;overflow:hidden;
}
.bsum-section-title{
  font-family:'Cinzel',serif;font-size:0.65rem;color:var(--gold);
  letter-spacing:2px;text-transform:uppercase;
  padding:7px 12px;
  background:rgba(212,175,55,0.07);
  border-bottom:1px solid rgba(212,175,55,0.1);
}
.bsum-troop-row{
  display:flex;align-items:flex-start;gap:10px;
  padding:7px 12px;
  border-bottom:1px solid rgba(212,175,55,0.06);
}
.bsum-troop-row:last-child{border-bottom:none;}
.bsum-troop-label{
  font-family:'Cinzel',serif;font-size:0.65rem;
  width:70px;flex-shrink:0;padding-top:1px;
  letter-spacing:0.5px;
}
.bsum-attr-list{display:flex;flex-wrap:wrap;gap:5px;flex:1;}
.bsum-attr{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;
  background:rgba(212,175,55,0.06);
  border:1px solid rgba(212,175,55,0.12);
  border-radius:3px;
  font-size:0.7rem;color:var(--text-main);
}
.bsum-attr-val{
  font-family:'Cinzel',serif;font-size:0.68rem;
  color:var(--gold-light);font-weight:600;
}

@media(max-width:600px){
  .bsum-modal{max-height:92vh;}
  .bsum-header{padding:12px 14px;}
  .bsum-header-img{width:52px;height:52px;}
  .bsum-title{font-size:0.88rem;}
}

/* ─── BUFF SUMMARY SUB-CATEGORIES ─────────────────────────────────── */
.bsum-subcat {
  border-top: 1px solid rgba(212,175,55,0.08);
}
.bsum-subcat:first-child { border-top: none; }
.bsum-subcat-title {
  padding: 5px 12px 3px;
  font-family: 'Cinzel', serif;
  font-size: 0.6rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(212,175,55,0.55);
  background: rgba(212,175,55,0.04);
}
