:root{
  --void:#0d0b08;
  --void-2:#131009;
  --panel:#2b2419;
  --panel-2:#3a3020;
  --panel-3:#241e14;
  --bronze:#6b5836;
  --bronze-lite:#8a7449;
  --gold:#ffcb2f;
  --gold-dim:#c9a227;
  --parchment:#e6d9b8;
  --muted:#a99b78;
  --xp:#4ad04a;
  --blood:#b23a30;
  --team-a:#e04040;--team-b:#4a90d9;--team-c:#4ad04a;--team-d:#e8a832;
  --shadow:0 6px 18px rgba(0,0,0,.55);
  --frame: inset 0 0 0 2px var(--bronze), inset 0 0 24px rgba(0,0,0,.55), 0 3px 0 #000, var(--shadow);
}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--bronze) rgba(0,0,0,0.25)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:rgba(0,0,0,0.25);border-radius:4px;border:1px solid rgba(107,88,54,0.3)}
::-webkit-scrollbar-thumb{background:var(--bronze);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--bronze-lite)}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--parchment);
  background:
    radial-gradient(1200px 600px at 50% -10%, #241d12 0%, transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0 2px, transparent 2px 4px),
    linear-gradient(180deg,var(--void) 0%, var(--void-2) 100%);
  background-attachment:fixed;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Cinzel",serif;margin:0;color:var(--gold);letter-spacing:.5px;text-shadow:1px 1px 0 #000}
.hud{font-family:"Jersey 15",monospace;letter-spacing:.5px}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg,#211a10,#171208);
  box-shadow:0 2px 0 #000, 0 3px 0 var(--bronze), 0 8px 16px rgba(0,0,0,.6);
  border-bottom:1px solid #000;
}
.bar{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand .crest{width:38px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 0 #000)}
.brand b{font-family:"Cinzel",serif;font-weight:900;font-size:20px;color:var(--gold);text-shadow:1px 1px 0 #000;line-height:1}
.brand small{display:block;font-family:"Jersey 15",monospace;color:var(--muted);font-size:12px;letter-spacing:2px}

nav.main{display:flex;gap:2px;margin-left:4px;flex:1 1 auto}
nav.main a{
  font-family:"Jersey 15",monospace;font-size:18px;color:var(--parchment);
  padding:8px 10px;border-radius:4px;line-height:1;
}
nav.main a:hover{color:var(--gold);background:rgba(255,203,47,.08)}

.actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}
.btn{
  font-family:"Jersey 15",monospace;font-size:17px;line-height:1;cursor:pointer;
  color:var(--gold);border:2px solid #000;border-radius:5px;padding:9px 12px;
  background:linear-gradient(180deg,#5a4a2f,#3a2f1e);
  box-shadow:inset 0 1px 0 var(--bronze-lite), inset 0 -2px 4px rgba(0,0,0,.4);
  text-shadow:1px 1px 0 #000;white-space:nowrap;transition:transform .12s ease, filter .12s ease;
}
.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn .tag{font-size:11px;color:var(--void);background:var(--gold-dim);padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle;text-shadow:none}
.btn.join{
  font-size:20px;padding:11px 20px;color:#1a1305;font-weight:bold;
  background:linear-gradient(180deg,#ffd964,#e0a81f);
  box-shadow:inset 0 1px 0 #fff3c4, 0 0 0 1px #000, 0 0 14px rgba(255,203,47,.35);
  text-shadow:0 1px 0 rgba(255,255,255,.4);
}
.btn.icon-coin::before{content:"";display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;
  border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe98a,#c98f16);box-shadow:0 0 0 1px #000}
.btn.join svg{width:16px;height:12px;vertical-align:-1px;margin-right:7px}
.btn.ghost{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 2px var(--bronze)}
.btn.ghost:hover{background:rgba(255,203,47,.08)}

.hamburger{display:none;font-family:"Jersey 15";font-size:26px;color:var(--gold);border:2px solid #000;border-radius:5px;padding:2px 10px;cursor:pointer;background:linear-gradient(180deg,#5a4a2f,#3a2f1e)}

/* ---------- layout ---------- */
main{max-width:1200px;margin:0 auto;padding:10px 16px 40px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.col-2{grid-column:span 2}

/* ---------- panels (OSRS interface look) ---------- */
.panel{
  background:linear-gradient(180deg,var(--panel),var(--panel-3));
  border:2px solid #000;border-radius:7px;box-shadow:var(--frame);
  padding:0;overflow:hidden;
}
.panel > .head,.panel .head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;
  background:linear-gradient(180deg,#3a2f1d,#26200f);
  border-bottom:2px solid #000;box-shadow:inset 0 1px 0 var(--bronze-lite);
}
.panel .head h2{font-size:19px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.panel .head .rune{width:14px;height:14px;transform:rotate(45deg);background:linear-gradient(135deg,var(--gold),var(--gold-dim));box-shadow:0 0 0 1px #000, 0 0 8px rgba(255,203,47,.4)}
.panel .head a.more{font-family:"Jersey 15";font-size:15px;color:var(--gold-dim)}
.panel .head a.more:hover{color:var(--gold)}
.panel > .body,.panel .body{padding:14px;overflow-x:auto}

.badge{font-family:"Jersey 15";font-size:13px;color:var(--muted);border:1px solid var(--bronze);border-radius:4px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.badge-offline{color:#b08030;border-color:rgba(176,128,48,.45)}

/* ---------- hero ---------- */
.hero{
  position:relative;text-align:center;margin-bottom:18px;
  border:2px solid #000;border-radius:8px;box-shadow:var(--frame);
  background:
    radial-gradient(900px 380px at 50% 8%, rgba(255,203,47,.10), transparent 60%),
    linear-gradient(180deg,#1c1710 0%, #120e08 100%);
  padding:40px 20px 34px;overflow:hidden;
  max-width:1200px;margin:22px auto 10px;width:calc(100% - 32px);
}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg, rgba(0,0,0,.18) 0 1px, transparent 1px 3px);opacity:.35}
.hero .crest-lg{width:96px;height:112px;object-fit:contain;margin:0 auto 10px;display:block;position:relative;z-index:1;filter:drop-shadow(0 3px 0 #000)}
.hero h1{position:relative;z-index:1;font-size:clamp(38px,7vw,72px);font-weight:900;line-height:.95;
  background:linear-gradient(180deg,#fff0b0,#e0a81f);-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 0 rgba(0,0,0,.5)}
.hero .tagline{position:relative;z-index:1;font-family:"Jersey 15";font-size:clamp(18px,2.6vw,24px);color:var(--gold-dim);margin-top:6px}
.hero p.desc{position:relative;z-index:1;max-width:620px;margin:16px auto 22px;color:var(--parchment)}
.hero .cta{position:relative;z-index:1;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.coffer{position:absolute;top:16px;right:20px;z-index:2;font-family:"Jersey 15",monospace;font-size:18px;color:var(--gold);
  background:linear-gradient(180deg,rgba(90,74,47,.6),rgba(58,47,30,.7));border:1px solid rgba(255,203,47,.25);
  border-radius:6px;padding:8px 14px;text-align:center;line-height:1.3;opacity:0;transition:opacity .3s}
.coffer.loaded{opacity:1}
.coffer-label{font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.coffer-amount{font-size:26px;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.coffer-sub{font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;opacity:.7}

/* ---------- news ---------- */
.news-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed rgba(255,203,47,.18)}
.news-item:last-child{border-bottom:0;padding-bottom:0}
.news-item .pin{flex:0 0 auto;width:40px;height:40px;border-radius:6px;border:2px solid #000;display:grid;place-items:center;
  font-family:"Jersey 15";font-size:12px;color:#1a1305;text-align:center;line-height:1;background:linear-gradient(180deg,#ffd964,#d99f1c)}
.news-item .pin.promo{background:linear-gradient(180deg,#7ad07a,#3a9e3a);color:#0b1a0b}
.news-item h3{font-family:"Cinzel";font-size:17px;color:var(--parchment)}
.news-item time{font-family:"Jersey 15";font-size:14px;color:var(--muted)}
.news-item p{margin:4px 0 0;font-size:14px;color:var(--muted)}
.news-item>div{min-width:0;overflow-wrap:anywhere}
.chan-chip{display:inline;background:rgba(255,203,47,.12);border:1px solid rgba(255,203,47,.35);color:var(--gold);border-radius:4px;padding:0 5px;font-weight:700;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* ---------- events ---------- */
.event{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px dashed rgba(255,203,47,.18)}
.event:last-child{border-bottom:0;padding-bottom:0}
.event .date{border:2px solid #000;border-radius:6px;text-align:center;background:linear-gradient(180deg,#3a2f1d,#241d10);box-shadow:inset 0 1px 0 var(--bronze-lite);padding:5px 0}
.event .date .d{font-family:"Jersey 15";font-size:22px;color:var(--gold);line-height:1}
.event .date .m{font-family:"Jersey 15";font-size:12px;color:var(--muted);letter-spacing:1px}
.event .date.date-tba .d{font-size:14px;letter-spacing:1px}
.event .date.date-tba .m{color:var(--gold-dim)}
.event h3{font-family:"Cinzel";font-size:16px;color:var(--parchment)}
.event .when{font-family:"Jersey 15";font-size:18px;color:var(--gold-dim)}

/* ---------- achievements ---------- */
.ach{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px dashed rgba(255,203,47,.18)}
.ach:last-child{border-bottom:0;padding-bottom:0}
.ach .medal{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:2px solid #000;display:grid;place-items:center;font-size:18px;
  background:radial-gradient(circle at 35% 30%,#fff0b0,#c98f16);box-shadow:0 0 10px rgba(255,203,47,.3)}
.ach .ach-icon{background:var(--panel-2);overflow:hidden}
.ach .ach-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;image-rendering:pixelated}
.ach .ach-info{flex:1;min-width:0}
.ach .who{font-family:"Jersey 15";font-size:17px;color:var(--gold)}
.ach .what{font-size:14px;color:var(--parchment);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ach .ach-meta{font-family:"Jersey 15";font-size:13px;color:var(--muted);margin-top:1px}
.ach-full{padding:12px 0}
.ach-full .what{white-space:normal;overflow:visible;text-overflow:unset}
.ach-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ach-tag{font-family:"Jersey 15",monospace;font-size:12px;line-height:1;padding:2px 8px;border:1px solid;border-radius:4px;white-space:nowrap}
.ach-detail{font-size:13px;color:var(--muted);margin-top:2px}
.ach-thumb{flex:0 0 auto;width:52px;height:52px;border-radius:5px;border:2px solid #000;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px var(--bronze);transition:border-color .15s}
.ach-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ach-thumb:hover{border-color:var(--gold-dim)}

/* ---------- roster ---------- */
table.roster{width:100%;border-collapse:collapse;font-size:15px}
table.roster th{font-family:"Jersey 15";font-weight:normal;text-align:left;color:var(--muted);font-size:14px;padding:6px 8px;border-bottom:2px solid #000}
table.roster td{padding:9px 8px;border-bottom:1px dashed rgba(255,203,47,.14)}
table.roster tr:last-child td{border-bottom:0}
table.roster .ign{font-family:"Jersey 15";font-size:17px;color:var(--parchment)}
table.roster .ign a{color:var(--parchment)}
table.roster .ign a:hover{color:var(--gold)}
.roster-msg{color:var(--muted);font-family:"Jersey 15";font-size:15px;padding:10px 8px}
.rank-num{font-family:"Jersey 15",monospace;color:var(--muted);text-align:center;width:56px;white-space:nowrap}

.faq-body h3{margin:16px 0 4px}
.faq-body h3:first-child{margin-top:0}
.faq-body p{margin:4px 0;color:var(--parchment)}
.rank-table{width:100%;border-collapse:collapse}
.rank-table td{padding:10px 10px;border-bottom:1px solid var(--panel-2);vertical-align:top;line-height:1.45;overflow-wrap:break-word;word-break:break-word}
.rank-table tr:last-child td{border-bottom:none}
.rank-table .rank-icon{width:32px;font-size:20px;text-align:center}
.rank-dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.5)}

.rank{display:inline-flex;align-items:center;gap:7px;font-family:"Jersey 15";font-size:15px;color:var(--parchment)}
.rank-icon{width:18px;height:18px;object-fit:contain;image-rendering:pixelated;flex:0 0 auto;filter:drop-shadow(0 1px 0 #000)}
.chev{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--gold-dim)}
/* leadership */
.rank--owner{color:#ff8a72} .rank--owner .chev{border-bottom-color:#ff5a3c}
.rank--deputy_owner{color:var(--gold)} .rank--deputy_owner .chev{border-bottom-color:#ffcb2f}
/* officers */
.rank--colonel,.rank--captain{color:#eaeaea}
.rank--colonel .chev,.rank--captain .chev{border-bottom-color:#e2e2e2}
/* upper members */
.rank--paladin,.rank--knight,.rank--expert{color:#e0a86a}
.rank--paladin .chev,.rank--knight .chev,.rank--expert .chev{border-bottom-color:#cd7f32}
/* inquisitor */
.rank--inquisitor{color:#cf9bf0} .rank--inquisitor .chev{border-bottom-color:#b06be0}
/* base members */
.rank--striker,.rank--duellist,.rank--beast,.rank--squire{color:var(--muted)}
.rank--striker .chev,.rank--duellist .chev,.rank--beast .chev,.rank--squire .chev{border-bottom-color:#7a7a7a}

/* ---------- roster controls ---------- */
.roster-controls{display:flex;gap:12px;padding:0 0 18px;flex-wrap:wrap}
.roster-search{
  flex:1;min-width:200px;
  font-family:"Jersey 15",monospace;font-size:20px;
  padding:12px 16px;
  background:var(--void);border:2px solid var(--bronze);border-radius:5px;
  color:var(--parchment);outline:none;
}
.roster-search::placeholder{color:var(--muted)}
.roster-search:focus{border-color:var(--gold-dim);box-shadow:0 0 10px rgba(255,203,47,.2)}
.roster-filter{
  font-family:"Jersey 15",monospace;font-size:20px;
  padding:12px 16px;min-width:160px;
  background:var(--void);border:2px solid var(--bronze);border-radius:5px;
  color:var(--parchment);outline:none;cursor:pointer;
}
.roster-filter:focus{border-color:var(--gold-dim)}

/* ---------- full roster table (bigger) ---------- */
table.roster.roster-full{font-size:18px;table-layout:fixed;width:100%}
table.roster.roster-full th{font-size:18px;padding:14px 18px}
table.roster.roster-full td{padding:16px 18px}
table.roster.roster-full .ign{font-size:24px}
table.roster.roster-full .ign a{font-size:24px}
.roster-full .rank{font-size:20px;gap:10px}
.roster-full .rank-icon{width:28px;height:28px}
.roster-full .chev{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:11px solid var(--gold-dim)}

/* ---------- rank column ---------- */
th[data-sort="rank"],td .rank{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.roster.roster-full th[data-sort="rank"]{width:180px}

/* ---------- donated column ---------- */
th[data-sort="donated"]{text-align:right;width:120px}
.donated-cell{font-family:"Jersey 15",monospace;font-size:22px;color:var(--gold);text-align:right;white-space:nowrap}

/* ---------- xp column ---------- */
th[data-sort="xp"]{text-align:right;width:140px}
.xp-cell{font-family:"Jersey 15",monospace;font-size:22px;color:var(--xp);text-align:right;white-space:nowrap}

/* ---------- sortable headers ---------- */
th.sortable{cursor:pointer;user-select:none;transition:color .15s;position:relative}
th.sortable:hover{color:var(--gold)}
th.sortable::after{content:"⇅";position:absolute;margin-left:6px;opacity:.3;font-size:.8em}
th.sortable.sort-asc::after{content:"▲";opacity:1;color:var(--gold)}
th.sortable.sort-desc::after{content:"▼";opacity:1;color:var(--gold)}
th.sortable[data-sort="donated"]::after,
th.sortable[data-sort="xp"]::after{margin-left:0;right:4px}

/* ---------- pagination ---------- */
.roster-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px 0 6px;font-family:"Jersey 15",monospace;font-size:18px}
.roster-pagination:empty{padding:0}
.roster-pagination button{
  font-family:"Jersey 15",monospace;font-size:18px;
  padding:10px 16px;
  background:linear-gradient(180deg,#5a4a2f,#3a2f1e);border:2px solid #000;border-radius:5px;
  color:var(--gold);cursor:pointer;
  box-shadow:inset 0 1px 0 var(--bronze-lite);transition:filter .12s,transform .12s;
}
.roster-pagination button:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}
.roster-pagination button:active:not(:disabled){transform:translateY(1px)}
.roster-pagination button:disabled{opacity:.35;cursor:default}
.roster-pagination .page-info{color:var(--muted);padding:0 10px}

/* ---------- events page ---------- */
.ev-loading{color:var(--muted);font-family:"Jersey 15",monospace;font-size:18px}
.ev-empty{color:var(--muted);font-family:"Jersey 15",monospace;font-size:18px;margin:0}
.ev-featured{padding:24px 20px}
.ev-featured-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.ev-featured-header h3{font-family:"Cinzel",serif;font-size:clamp(22px,4vw,32px);color:var(--gold);margin:0}
.ev-status{font-family:"Jersey 15",monospace;font-size:14px;padding:4px 12px;border-radius:4px;text-transform:uppercase;letter-spacing:1px;border:2px solid #000;white-space:nowrap}
.ev-live{background:linear-gradient(180deg,#e04040,#a02020);color:#fff;box-shadow:0 0 12px rgba(224,64,64,.4);animation:ev-pulse 2s ease-in-out infinite}
.ev-upcoming{background:linear-gradient(180deg,#3a8a3a,#2a6a2a);color:#fff}
.ev-ended{background:var(--panel-2);color:var(--muted)}
@keyframes ev-pulse{0%,100%{box-shadow:0 0 8px rgba(224,64,64,.3)}50%{box-shadow:0 0 20px rgba(224,64,64,.6)}}
.ev-featured-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px;font-family:"Jersey 15",monospace;font-size:18px}
.ev-date-text{color:var(--gold-dim)}
.ev-countdown{color:var(--gold);font-size:clamp(16px,4vw,24px);background:var(--void);padding:6px 14px;border-radius:5px;border:2px solid var(--bronze)}
.ev-interested{color:var(--muted);font-size:16px}
.ev-desc{color:var(--parchment);font-size:15px;line-height:1.7;max-width:700px;margin-bottom:18px}
.dc-h1{font-family:"Cinzel",serif;font-size:22px;font-weight:800;color:var(--gold);margin:14px 0 6px}
.dc-h2{font-family:"Cinzel",serif;font-size:18px;font-weight:700;color:var(--gold);margin:12px 0 4px}
.dc-h3{font-family:"Cinzel",serif;font-size:15px;font-weight:700;color:var(--parchment);margin:10px 0 4px}

.ev-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:14px}
.ev-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--void);border:2px solid #000;border-radius:6px;box-shadow:inset 0 0 0 1px var(--bronze)}
.ev-card-date{flex:0 0 auto;width:56px;text-align:center;border:2px solid #000;border-radius:6px;background:linear-gradient(180deg,#3a2f1d,#241d10);box-shadow:inset 0 1px 0 var(--bronze-lite);padding:6px 0}
.ev-card-date .d{font-family:"Jersey 15",monospace;font-size:24px;color:var(--gold);line-height:1}
.ev-card-date .m{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);letter-spacing:1px}
.date-tba .d{font-size:16px !important;letter-spacing:1px}
.date-tba .m{color:var(--gold-dim) !important}
.ev-card-info{flex:1;min-width:0}
.ev-card-info h3{font-family:"Cinzel",serif;font-size:17px;color:var(--parchment);margin:0 0 4px}
.ev-card-meta{font-family:"Jersey 15",monospace;font-size:15px;color:var(--muted)}
.ev-card .ev-status{font-size:12px;padding:3px 8px;flex:0 0 auto}
.ev-card.ev-card-live{border-color:rgba(224,64,64,.4);box-shadow:inset 0 0 0 1px rgba(224,64,64,.3),0 0 12px rgba(224,64,64,.1)}
.ev-card.ev-card-live .ev-card-date{border-color:rgba(224,64,64,.4)}
.ev-happening{color:#e04040;font-family:"Jersey 15",monospace;font-size:22px;background:rgba(224,64,64,.08);padding:6px 14px;border-radius:5px;border:2px solid rgba(224,64,64,.3);animation:ev-pulse 2s ease-in-out infinite}
.ev-live-dot{display:inline-block;width:8px;height:8px;background:#fff;border-radius:50%;margin-right:6px;animation:ev-dot-blink 2s ease-in-out infinite}
@keyframes ev-dot-blink{0%,100%{opacity:1}50%{opacity:.3}}
.ev-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ev-clickable:hover{border-color:var(--gold-dim);box-shadow:0 0 8px rgba(255,203,47,.15)}
.ev-card-live.ev-clickable:hover{border-color:rgba(224,64,64,.6);box-shadow:0 0 12px rgba(224,64,64,.2)}
.ev-fab{position:fixed;bottom:24px;left:24px;z-index:70;display:flex;align-items:center;gap:6px;background:rgba(140,30,30,.8);color:rgba(255,255,255,.95);font-family:"Jersey 15",monospace;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;padding:10px 18px;border-radius:24px;border:1px solid rgba(224,64,64,.35);box-shadow:0 2px 12px rgba(0,0,0,.4),0 0 12px rgba(224,64,64,.25);cursor:pointer;text-decoration:none;animation:ev-fab-glow 2.5s ease-in-out infinite;touch-action:none;user-select:none;transition:opacity .3s;backdrop-filter:blur(6px)}
.ev-fab:hover{background:rgba(160,32,32,.85);box-shadow:0 0 18px rgba(224,64,64,.4)}
.ev-fab-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:14px;cursor:pointer;padding:4px;margin-left:2px;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.ev-fab-close:hover{color:#fff}
@keyframes ev-fab-glow{0%,100%{box-shadow:0 0 8px rgba(224,64,64,.2)}50%{box-shadow:0 0 20px rgba(224,64,64,.5)}}
.ev-fab.ev-fab-hidden{opacity:0;pointer-events:none}

.ga-winner-toast{position:fixed;left:50%;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;width:min(600px,90vw);background:linear-gradient(180deg,#2b2419,#1a1409);border:1px solid rgba(201,168,76,.3);border-bottom:2px solid var(--gold-dim);border-radius:0 0 8px 8px;padding:12px 28px;box-shadow:0 4px 16px rgba(0,0,0,.5),0 0 10px rgba(255,215,0,.08);transform:translate(-50%,-20px);opacity:0;transition:transform .5s ease,opacity .5s ease;overflow:hidden}
.ga-winner-toast::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,215,0,.12),transparent);animation:ga-shimmer 1s .4s ease-out forwards;pointer-events:none}
.ga-winner-toast-show{transform:translate(-50%,0);opacity:1;animation:ga-glow-pulse 2.5s 1.2s ease-in-out infinite}
@keyframes ga-shimmer{to{left:100%}}
@keyframes ga-glow-pulse{0%,100%{border-bottom-color:var(--gold-dim);box-shadow:0 4px 16px rgba(0,0,0,.5),0 0 10px rgba(255,215,0,.08)}50%{border-bottom-color:#ffd700;box-shadow:0 4px 16px rgba(0,0,0,.5),0 0 16px rgba(255,215,0,.18)}}
.ga-winner-toast-icon{flex-shrink:0;filter:drop-shadow(0 0 4px rgba(255,215,0,.3))}.ga-winner-toast-icon img{height:30px;width:auto;max-height:30px}
.ga-winner-toast-body{flex:none;text-align:center}
.ga-winner-toast-title{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase}
.ga-winner-toast-name{font-family:"Cinzel",serif;font-weight:800;font-size:1.3rem;color:#ffd700;margin-top:2px;text-shadow:0 0 8px rgba(255,215,0,.3)}
.ga-winner-toast-close{position:absolute;top:4px;right:6px;background:none;border:none;color:rgba(255,255,255,.35);font-size:16px;cursor:pointer;padding:4px;line-height:1;z-index:2}
.ga-winner-toast-close:hover{color:#fff}
.ga-winner-toast-round{font-family:"Jersey 15",monospace;font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.5px}
.ga-confetti{position:absolute;top:-6px;width:5px;height:5px;border-radius:1px;opacity:.85;pointer-events:none;animation:ga-confetti-fall linear forwards}
@keyframes ga-confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:.85}80%{opacity:.6}100%{transform:translateY(60px) rotate(360deg);opacity:0}}
@media(max-width:600px){.ga-winner-toast{left:12px;right:12px;max-width:none;transform:translateY(-20px)}.ga-winner-toast.ga-winner-toast-show{transform:translateY(0)}}

/* countdown toast (24h before event) */
.cd-toast{position:fixed;top:80px;right:24px;z-index:81;display:flex;align-items:center;gap:10px;background:rgba(30,24,16,.94);border:1px solid rgba(230,140,40,.3);border-right:3px solid #e68c28;border-radius:8px;padding:12px 14px;box-shadow:0 4px 24px rgba(0,0,0,.5),0 0 12px rgba(230,140,40,.1);backdrop-filter:blur(6px);transform:translateY(-20px);opacity:0;transition:transform .6s ease,opacity .6s ease;max-width:340px;overflow:hidden;cursor:pointer;text-decoration:none}
.cd-toast::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(230,140,40,.14),transparent);animation:cd-shimmer 1s .4s ease-out forwards;pointer-events:none}
.cd-toast-show{transform:translateY(0);opacity:1;animation:cd-glow 3s 1.2s ease-in-out infinite}
@keyframes cd-shimmer{to{left:100%}}
@keyframes cd-glow{0%,100%{border-right-color:#e68c28;box-shadow:0 4px 24px rgba(0,0,0,.5),0 0 12px rgba(230,140,40,.08)}50%{border-right-color:#f0a040;box-shadow:0 4px 24px rgba(0,0,0,.5),0 0 22px rgba(230,140,40,.2),0 0 6px rgba(230,140,40,.12)}}
.cd-toast-icon{flex-shrink:0;width:36px;height:36px;border-radius:6px;background:linear-gradient(135deg,rgba(230,140,40,.15),rgba(200,110,30,.08));border:1px solid rgba(230,140,40,.2);display:flex;align-items:center;justify-content:center}
.cd-toast-icon svg{width:18px;height:18px;fill:#e68c28}
.cd-toast-body{flex:1;min-width:0}
.cd-toast-label{font-family:"Jersey 15",monospace;font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;line-height:1}
.cd-toast-name{font-family:"Cinzel",serif;font-weight:700;font-size:13px;color:var(--parchment);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd-toast-timer{flex-shrink:0;display:flex;gap:2px;align-items:baseline}
.cd-toast-digits{font-family:"Jersey 15",monospace;font-size:22px;color:#e68c28;line-height:1;font-variant-numeric:tabular-nums;min-width:28px;text-align:center}
.cd-toast-unit{font-family:"Jersey 15",monospace;font-size:9px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:1px}
.cd-toast-sep{font-family:"Jersey 15",monospace;font-size:18px;color:rgba(230,140,40,.35);margin:0 1px;align-self:flex-start;line-height:1}
.cd-toast-dg{display:flex;flex-direction:column;align-items:center}
.cd-toast-close{position:absolute;top:2px;right:4px;background:none;border:none;color:rgba(255,255,255,.3);font-size:14px;cursor:pointer;padding:4px;line-height:1}
.cd-toast-close:hover{color:#fff}
@media(max-width:600px){.cd-toast{left:12px;right:12px;max-width:none}}

/* event modal */
.ev-modal-overlay{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.ev-modal-overlay.open{opacity:1;pointer-events:auto}
.ev-modal{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-3));border:2px solid #000;box-shadow:var(--frame),0 0 40px rgba(0,0,0,.6);border-radius:8px;width:90%;max-width:620px;max-height:85vh;overflow-y:auto;padding:24px 22px}
.ev-modal-close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--parchment);font-size:28px;cursor:pointer;line-height:1;padding:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ev-modal-close:hover{color:var(--gold)}
.ev-modal-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ev-modal-header h3{font-family:"Cinzel",serif;font-size:clamp(18px,4vw,26px);color:var(--gold);margin:0}
.ev-modal-meta{font-family:"Jersey 15",monospace;font-size:16px;color:var(--muted);margin-bottom:14px}
.ev-modal-desc{color:var(--parchment);font-size:15px;line-height:1.7}

/* ---------- referral modal ---------- */
.ref-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.ref-overlay.open{opacity:1;pointer-events:auto}
.ref-modal{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-3));border:2px solid #000;box-shadow:var(--frame),0 0 40px rgba(0,0,0,.6);border-radius:8px;width:90%;max-width:400px;padding:28px 24px;text-align:center}
.ref-close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--parchment);font-size:28px;cursor:pointer;line-height:1;padding:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ref-close:hover{color:var(--gold)}
.ref-modal h3{font-family:"Cinzel",serif;font-size:22px;color:var(--gold);margin:0 0 8px}
.ref-modal p{color:var(--muted);font-size:14px;margin:0 0 18px;line-height:1.5}
.ref-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.ref-input{background:var(--void);border:2px solid var(--bronze);border-radius:5px;padding:10px 14px;color:var(--parchment);font-family:"Jersey 15",monospace;font-size:18px;text-transform:uppercase;letter-spacing:2px;text-align:center;width:180px;max-width:100%;outline:none}
.ref-input:focus{border-color:var(--gold);box-shadow:0 0 8px rgba(255,203,47,.2)}
.ref-input::placeholder{color:var(--muted);text-transform:none;letter-spacing:0;font-size:14px}
.ref-submit{font-size:14px !important;padding:10px 18px !important}
.ref-msg{margin-top:12px;font-family:"Jersey 15",monospace;font-size:14px;min-height:20px}

/* ---------- media ---------- */
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.shot{aspect-ratio:16/10;border:2px solid #000;border-radius:6px;box-shadow:inset 0 0 0 2px var(--bronze), inset 0 0 30px rgba(0,0,0,.6);
  background:linear-gradient(135deg,#241d12,#15100a);display:grid;place-items:center;color:var(--muted);font-family:"Jersey 15";font-size:15px;gap:6px;text-align:center;overflow:hidden;position:relative}
.shot span{opacity:.6}
.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
a.shot:hover img{transform:scale(1.05)}

/* ---------- gallery page (3-col) ---------- */
.shots-gallery{grid-template-columns:repeat(3,1fr)}

/* ---------- spotlight ---------- */
.spotlight{display:block;position:relative;border:2px solid #000;border-radius:10px;overflow:hidden;box-shadow:0 0 30px rgba(255,203,47,.15), inset 0 0 0 2px var(--bronze), var(--shadow);margin-bottom:16px;cursor:pointer;transition:box-shadow .2s}
.spotlight:hover{box-shadow:0 0 40px rgba(255,203,47,.25), inset 0 0 0 2px var(--gold-dim), var(--shadow)}
.spotlight-img{width:100%;aspect-ratio:21/9;overflow:hidden}
.spotlight-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.spotlight:hover .spotlight-img img{transform:scale(1.03)}
.spotlight-info{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:linear-gradient(transparent,rgba(13,11,8,.85) 40%,rgba(13,11,8,.95))}
.spotlight-label{font-family:"Cinzel",serif;font-weight:700;font-size:18px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.spotlight-meta{font-family:"Jersey 15",monospace;font-size:14px;color:var(--parchment);text-shadow:0 1px 4px rgba(0,0,0,.6)}

/* ---------- lightbox ---------- */
.lightbox-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.lightbox-overlay.open{opacity:1;pointer-events:auto}
.lightbox-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--parchment);font-size:36px;cursor:pointer;line-height:1;padding:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;z-index:91}
.lightbox-close:hover{color:var(--gold)}
.lightbox-img{max-width:92vw;max-height:88vh;object-fit:contain;border:3px solid #000;border-radius:8px;box-shadow:0 0 40px rgba(0,0,0,.6)}

/* ---------- footer ---------- */
footer{border-top:3px solid var(--bronze);background:linear-gradient(180deg,#171208,#0c0906);box-shadow:0 -2px 0 #000}
.foot-cta{max-width:1200px;margin:0 auto;padding:26px 16px;text-align:center}
.foot-cta h2{font-size:26px;margin-bottom:8px}
.foot-cta p{color:var(--muted);margin:0 auto 16px;max-width:520px}
.foot-links{max-width:1200px;margin:0 auto;padding:16px;display:flex;flex-wrap:wrap;gap:22px;justify-content:center;font-family:"Jersey 15";font-size:16px}
.foot-links a{color:var(--parchment);padding:10px 0} .foot-links a:hover{color:var(--gold)}
.disclaimer{max-width:1200px;margin:0 auto;padding:14px 16px 26px;text-align:center;color:#6b6250;font-size:12px;line-height:1.6}

/* ---------- toast ---------- */
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;
  background:linear-gradient(180deg,var(--panel),var(--panel-3));border:2px solid #000;box-shadow:var(--frame);
  color:var(--gold);font-family:"Jersey 15";font-size:18px;padding:12px 20px;border-radius:6px;z-index:99;transition:transform .2s,opacity .2s;
  max-width:calc(100vw - 32px)}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* hide GE nav link on desktop — the action button covers it; mobile sees it in hamburger */
nav.main a[href="/ge.html"]{display:none}
/* ---------- responsive ---------- */
@media (max-width:430px){
  .bar{padding:10px 10px;gap:8px}
  .brand .crest{width:32px;height:38px}
  .brand b{font-size:17px}
  .brand small{font-size:10px;letter-spacing:1.5px}
  .actions .btn.join{font-size:15px;padding:9px 10px}
}
@media (max-width:860px){
  nav.main a[href="/ge.html"]{display:block}
  nav.main a{padding:13px 12px}
  .hamburger{display:block;order:3;min-height:44px}
  nav.main{order:5;flex-basis:100%;display:none;flex-direction:column;gap:2px;padding:8px 0 4px}
  nav.main.open{display:flex}
  .bar{flex-wrap:wrap}
  .actions{order:2;margin-left:auto}
  .actions .btn:not(.join){display:none}
  .coffer{position:static;margin:0 auto 12px;display:inline-block}
  .grid{grid-template-columns:1fr}
  .col-2{grid-column:span 1}
  .shots{grid-template-columns:repeat(2,1fr)}
  .shots-gallery{grid-template-columns:repeat(2,1fr)}
  .spotlight-img{aspect-ratio:16/9}
  .spotlight-info{padding:14px 16px}
  .spotlight-label{font-size:15px;letter-spacing:2px}
  .ach-thumb{width:44px;height:44px}
  .ev-grid{grid-template-columns:1fr}
  .panel .head a.more{padding:10px 0}
  /* roster mobile */
  table.roster.roster-full th{font-size:14px;padding:15px 6px}
  table.roster.roster-full td{padding:10px 6px}
  table.roster.roster-full .ign,
  table.roster.roster-full .ign a{font-size:17px}
  .roster-full .rank{font-size:14px;gap:6px}
  .roster-full .rank-icon{width:20px;height:20px}
  .roster-full .chev{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--gold-dim)}
  table.roster.roster-full th[data-sort="rank"]{width:120px}
  th[data-sort="donated"]{width:70px}
  .donated-cell{font-size:16px;width:70px}
  th[data-sort="xp"]{width:90px}
  .xp-cell{font-size:16px;width:90px}
  .roster-controls{gap:8px}
  .roster-search,.roster-filter{font-size:16px;padding:10px 12px}
  .roster-filter{min-width:120px}
  .roster-pagination{font-size:15px}
  .roster-pagination button{font-size:15px;padding:12px 16px}
}
@media (max-width:480px){
  .shots-gallery{grid-template-columns:1fr}
  .ref-input{width:100%}
  .roster-pagination{flex-wrap:wrap}
  .ge-tab{font-size:15px;padding:13px 14px}
}
/* ---------- event/giveaway tabs ---------- */
.ev-tabs{display:flex;gap:4px;margin-bottom:18px;background:linear-gradient(180deg,#3a2f1d,#26200f);border:2px solid #000;border-radius:7px;padding:4px;box-shadow:var(--frame)}
.ev-tab{flex:1;font-family:"Jersey 15",monospace;font-size:18px;color:var(--muted);background:transparent;border:2px solid transparent;border-radius:5px;padding:12px 16px;cursor:pointer;transition:color .15s,background .15s;text-align:center}
.ev-tab:hover{color:var(--gold-dim)}
.ev-tab.active{color:var(--gold);background:linear-gradient(180deg,#5a4a2f,#3a2f1e);border-color:#000;box-shadow:inset 0 1px 0 var(--bronze-lite)}
.ga-tab-dot{display:inline-block;width:8px;height:8px;background:#e04040;border-radius:50%;margin-left:6px;vertical-align:middle;animation:ev-pulse 2s ease-in-out infinite}

/* ---------- giveaway ---------- */
.ga-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.ga-stat{text-align:center;background:var(--void);border:2px solid var(--bronze);border-radius:6px;padding:14px 8px}
.ga-stat-value{font-family:"Jersey 15",monospace;font-size:clamp(22px,5vw,28px);color:var(--gold);line-height:1}
.ga-stat-label{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);margin-top:4px;letter-spacing:1px;text-transform:uppercase}
.ga-entries-title{font-family:"Cinzel",serif;font-size:16px;color:var(--gold);margin:0 0 10px}
.ga-entry{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(255,203,47,.18)}
.ga-entry:last-child{border-bottom:0;padding-bottom:0}
.ga-entry-player{font-family:"Jersey 15",monospace;font-size:17px;color:var(--parchment);flex:1;min-width:0}
.ga-entry-count{font-family:"Jersey 15",monospace;font-size:17px;color:var(--gold);white-space:nowrap}
.ga-entry-check{color:var(--xp);font-size:16px;flex:0 0 auto}
.ga-winner{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed rgba(255,203,47,.18)}
.ga-winner:last-child{border-bottom:0;padding-bottom:0}
.ga-winner-name{font-family:"Jersey 15",monospace;font-size:17px;color:var(--gold);flex:1}
.ga-winner-prize{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted)}
.ga-card-stats{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted);margin-top:2px}
.ga-winner-spotlight{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(255,215,0,.06),transparent);border:1px solid rgba(201,168,76,.25);border-left:3px solid #ffd700;border-radius:6px;padding:12px 14px;margin-bottom:14px}
.ga-winner-spotlight-icon{font-size:1.7rem;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(255,215,0,.3))}
.ga-winner-spotlight-content{flex:1;min-width:0}
.ga-winner-spotlight-label{font-family:"Jersey 15",monospace;font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.ga-winner-spotlight-name{font-family:"Cinzel",serif;font-weight:700;font-size:1.05rem;color:#ffd700}
.ga-winner-spotlight-round{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);white-space:nowrap}

/* Previous winner banner (between tabs and featured) */
.ev-prev-winner-wrap{margin:-8px 0 10px;padding:0}

/* Winner bar (inline banner between tabs and featured) */
.ev-winner-bar{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,rgba(255,215,0,.1),rgba(255,215,0,.03) 60%,transparent);border:1px solid rgba(201,168,76,.25);border-radius:6px;padding:12px 18px;position:relative;overflow:hidden}
.ev-winner-bar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#ffd700}
.ev-winner-bar-icon{height:2.2rem;width:auto;max-height:2.2rem;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(255,215,0,.35))}
.ev-winner-bar-main{display:flex;align-items:baseline;gap:6px;flex:1;min-width:0;flex-wrap:wrap}
.ev-winner-bar-label{font-family:"Jersey 15",monospace;font-size:1.35rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.ev-winner-bar-name{font-family:"Cinzel",serif;font-weight:800;font-size:1.35rem;color:#ffd700;white-space:nowrap}
.ev-winner-dot{color:rgba(201,168,76,.4);font-size:.9rem}
.ev-winner-event{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);letter-spacing:.5px;white-space:nowrap}

/* Event winner (trophy emoji on cards/modals) */
.ev-card-winner{font-family:"Cinzel",serif;font-size:.8rem;color:#ffd700;margin-top:4px}
.ev-winner-spotlight{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(255,215,0,.06),transparent);border:1px solid rgba(201,168,76,.25);border-left:3px solid #ffd700;border-radius:6px;padding:12px 14px;margin-top:14px}
.ev-winner-icon{font-size:1.7rem;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(255,215,0,.3))}
.ev-winner-content{flex:1;min-width:0}
.ev-winner-label{font-family:"Jersey 15",monospace;font-size:12px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}
.ev-winner-name{font-family:"Cinzel",serif;font-weight:700;font-size:1.05rem;color:#ffd700}

@media (max-width:480px){
  .ga-stats{grid-template-columns:repeat(2,1fr)}
}

/* Loot Value Leaderboard */
.lv-tag{display:inline-block;font-family:"Jersey 15",monospace;font-size:11px;color:var(--gold);background:rgba(255,203,47,.12);border:1px solid rgba(255,203,47,.3);padding:2px 8px;border-radius:3px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;vertical-align:middle}
.ws-tag{color:#4ad9e0;background:rgba(74,217,224,.12);border-color:rgba(74,217,224,.3)}
.lv-container,.ws-container{margin-top:16px}
.lv-loading{font-family:"Jersey 15",monospace;font-size:16px;color:var(--muted)}
.lv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.lv-stat{text-align:center;background:var(--void);border:2px solid var(--bronze);border-radius:6px;padding:12px 8px}
.lv-stat-icon{width:28px;height:28px;display:block;margin:0 auto 4px;image-rendering:pixelated}
.lv-stat-value{font-family:"Jersey 15",monospace;font-size:clamp(20px,4vw,26px);color:var(--gold);line-height:1}
.lv-stat-label{font-family:"Jersey 15",monospace;font-size:12px;color:var(--muted);margin-top:4px;letter-spacing:1px;text-transform:uppercase}
.lv-table{margin-bottom:14px}
.lv-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px dashed rgba(255,203,47,.18)}
.lv-row:last-child{border-bottom:0}
.lv-medal{width:28px;height:28px;image-rendering:pixelated;vertical-align:middle}
.lv-rank{font-family:"Jersey 15",monospace;font-size:18px;flex:0 0 32px;text-align:center}
.lv-rank-1 .lv-rank{color:#ffd700;text-shadow:0 0 6px rgba(255,215,0,.3)}
.lv-rank-2 .lv-rank{color:#c0c0c0;text-shadow:0 0 4px rgba(192,192,192,.2)}
.lv-rank-3 .lv-rank{color:#cd7f32;text-shadow:0 0 4px rgba(205,127,50,.2)}
.lv-player{font-family:"Jersey 15",monospace;font-size:16px;color:var(--parchment);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-kc{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted);flex:0 0 auto}
.lv-value{font-family:"Jersey 15",monospace;font-size:16px;color:var(--gold);flex:0 0 auto;text-align:right}
.lv-drops-title{font-family:"Cinzel",serif;font-size:15px;color:var(--gold);margin:12px 0 8px;display:flex;align-items:center;gap:6px}
.lv-drops-icon{width:22px;height:22px;image-rendering:pixelated}
.lv-drop{display:flex;align-items:center;gap:8px;padding:6px 0;font-family:"Jersey 15",monospace;font-size:15px}
.lv-drop-name{color:var(--parchment);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-drop-player{color:var(--muted);font-size:13px;flex:0 0 auto}
.lv-drop-value{color:var(--xp);flex:0 0 auto}
.lv-dink{font-family:"Jersey 15",monospace;font-size:12px;color:var(--muted);margin-top:10px;letter-spacing:.5px}
.lv-dink-ended{color:#e04040}

/* ---------- roster tab content inset ---------- */
#clan-lb-content .head,#event-lb-content .head{margin:0 10px;border-radius:5px}
#clan-lb-content .body,#event-lb-content .body{padding:14px 18px}

/* ---------- event leaderboard page + links ---------- */
.event-lb-card{background:var(--panel-2);border:2px solid var(--bronze);border-radius:8px;padding:20px;margin-bottom:18px}
.event-lb-ended{opacity:.85;border-color:rgba(170,135,57,.45)}
.event-lb-locked-banner{font-family:"Cinzel",serif;font-size:12px;font-weight:700;letter-spacing:1.5px;color:#e04040;background:rgba(224,64,64,.12);border:1px solid rgba(224,64,64,.25);border-radius:4px;text-align:center;padding:6px 12px;margin:-4px 0 14px}
.event-lb-card-header{margin-bottom:14px}
.event-lb-card-header h3{font-family:"Cinzel",serif;font-size:clamp(16px,3vw,20px);color:var(--gold);margin:0 0 6px}
.event-lb-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.event-lb-empty{text-align:center;padding:40px 20px;font-family:"Jersey 15",monospace;font-size:18px;color:var(--parchment)}
.event-lb-view-btn{font-family:"Jersey 15",monospace;font-size:13px;padding:4px 14px;margin-left:auto;cursor:pointer;color:var(--gold);background:rgba(255,203,47,.1);border:1px solid rgba(255,203,47,.25);border-radius:4px;white-space:nowrap;transition:background .15s}
.event-lb-view-btn:hover{background:rgba(255,203,47,.2)}
.event-lb-past{margin-top:22px}
.event-lb-past-toggle{display:flex;align-items:center;gap:10px;background:rgba(224,64,64,.1);border:1px solid rgba(224,64,64,.3);border-radius:6px;padding:12px 16px;cursor:pointer;transition:background .15s,border-color .15s;user-select:none}
.event-lb-past-toggle:hover{background:rgba(224,64,64,.16);border-color:rgba(224,64,64,.45)}
.event-lb-past-title{font-family:"Cinzel",serif;font-size:13px;font-weight:700;letter-spacing:1.5px;color:#e04040;flex:1}
.event-lb-past-count{font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted)}
.event-lb-past-chevron{font-size:14px;color:#e04040;transition:transform .25s}
.event-lb-past-open .event-lb-past-chevron{transform:rotate(90deg)}
.event-lb-past-list{display:none;padding-top:12px}
.event-lb-past-open .event-lb-past-list{display:block}
.event-lb-standings{overflow:hidden;transition:max-height .3s ease}
.event-lb-standings-btn{font-family:"Jersey 15",monospace;font-size:12px;padding:3px 12px;cursor:pointer;color:#e04040;background:rgba(224,64,64,.08);border:1px solid rgba(224,64,64,.2);border-radius:4px;white-space:nowrap;transition:background .15s}
.event-lb-standings-btn:hover{background:rgba(224,64,64,.18)}
.lv-lb-link{font-family:"Jersey 15",monospace;font-size:13px;color:var(--gold);background:rgba(255,203,47,.1);border:1px solid rgba(255,203,47,.25);padding:3px 10px;border-radius:4px;text-decoration:none;white-space:nowrap;flex:0 0 auto;margin-right:4px;transition:background .15s}
.lv-lb-link:hover{background:rgba(255,203,47,.2)}
.lv-standings-btn{font-family:"Jersey 15",monospace;font-size:15px;color:var(--gold)!important;background:rgba(255,203,47,.08)!important;border:1px solid rgba(255,203,47,.25)!important;padding:10px 18px!important}
.lv-standings-btn:hover{background:rgba(255,203,47,.18)!important}

/* ---------- team indicators ---------- */
.ev-card-teams{display:flex;gap:4px;flex:0 0 auto;margin-right:2px}
.team-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.4);box-shadow:0 0 4px rgba(0,0,0,.3)}
.team-dot.a{background:var(--team-a)}.team-dot.b{background:var(--team-b)}.team-dot.c{background:var(--team-c)}.team-dot.d{background:var(--team-d)}
.badge-teams{display:inline-flex;align-items:center;gap:5px;font-family:"Jersey 15",monospace;font-size:12px;color:var(--parchment);letter-spacing:1px;text-transform:uppercase;background:rgba(255,203,47,.06);border:1px solid rgba(255,203,47,.15);padding:3px 10px;border-radius:3px}
.badge-teams .dots{display:flex;gap:3px}
.badge-teams .dots span{width:7px;height:7px;border-radius:50%;border:1px solid rgba(0,0,0,.3)}
.team-roster{margin-top:20px;border-top:1px solid rgba(107,83,54,.3);padding-top:18px}
.team-roster-label{font-family:"Cinzel",serif;font-weight:700;font-size:15px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin:0 0 14px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.team-block{background:rgba(0,0,0,.35);border:1px solid rgba(107,83,54,.25);border-radius:6px;padding:12px;position:relative;overflow:hidden}
.team-block::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%}
.team-block.team-a::before{background:var(--team-a)}.team-block.team-b::before{background:var(--team-b)}.team-block.team-c::before{background:var(--team-c)}.team-block.team-d::before{background:var(--team-d)}
.team-block.team-a{border-color:rgba(224,64,64,.2)}.team-block.team-b{border-color:rgba(74,144,217,.2)}.team-block.team-c{border-color:rgba(74,208,74,.2)}.team-block.team-d{border-color:rgba(232,168,50,.2)}
.team-name{font-family:"Jersey 15",monospace;font-size:14px;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.team-block.team-a .team-name{color:var(--team-a)}.team-block.team-b .team-name{color:var(--team-b)}.team-block.team-c .team-name{color:var(--team-c)}.team-block.team-d .team-name{color:var(--team-d)}
.team-count{font-size:11px;opacity:.6;font-weight:normal}
.team-players{list-style:none;margin:0;padding:0}
.team-players li{font-family:"Jersey 15",monospace;font-size:14px;color:var(--parchment);padding:3px 0;padding-left:10px;border-bottom:1px solid rgba(107,83,54,.1);position:relative}
.team-players li:last-child{border-bottom:none}
.team-players li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%}
.team-block.team-a .team-players li::before{background:var(--team-a);opacity:.5}.team-block.team-b .team-players li::before{background:var(--team-b);opacity:.5}.team-block.team-c .team-players li::before{background:var(--team-c);opacity:.5}.team-block.team-d .team-players li::before{background:var(--team-d);opacity:.5}

/* ---------- participant button + popup ---------- */
.ev-cta{margin-top:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-participants{font-family:"Jersey 15",monospace;font-size:18px;padding:11px 18px;color:var(--parchment);letter-spacing:1px;background:linear-gradient(180deg,rgba(74,208,74,.15),rgba(74,208,74,.06));border:1px solid rgba(74,208,74,.3);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;margin-left:auto}
.btn-participants:hover{background:linear-gradient(180deg,rgba(74,208,74,.25),rgba(74,208,74,.12));border-color:rgba(74,208,74,.5)}
.btn-participants.ev-wild{background:linear-gradient(180deg,rgba(224,64,64,.15),rgba(224,64,64,.06));border-color:rgba(224,64,64,.3)}
.btn-participants.ev-wild:hover{background:linear-gradient(180deg,rgba(224,64,64,.25),rgba(224,64,64,.12));border-color:rgba(224,64,64,.5)}
.btn-participants.ev-social{background:linear-gradient(180deg,rgba(74,232,138,.15),rgba(74,232,138,.06));border-color:rgba(74,232,138,.3)}
.btn-participants.ev-social:hover{background:linear-gradient(180deg,rgba(74,232,138,.25),rgba(74,232,138,.12));border-color:rgba(74,232,138,.5)}
.btn-participants.ev-pvm{background:linear-gradient(180deg,rgba(192,144,255,.15),rgba(192,144,255,.06));border-color:rgba(192,144,255,.3)}
.btn-participants.ev-pvm:hover{background:linear-gradient(180deg,rgba(192,144,255,.25),rgba(192,144,255,.12));border-color:rgba(192,144,255,.5)}
.part-modal-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.part-modal-overlay.open{opacity:1;pointer-events:auto}
.part-modal{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-3));border:2px solid #000;box-shadow:var(--frame),0 0 40px rgba(0,0,0,.6);border-radius:8px;width:90%;max-width:420px;max-height:70vh;overflow-y:auto;padding:24px 22px}
.part-modal-close{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--parchment);font-size:28px;cursor:pointer;line-height:1;padding:8px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.part-modal-close:hover{color:var(--gold)}
.part-modal-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.part-modal-header h3{font-family:"Cinzel",serif;font-size:20px;color:var(--gold);margin:0;letter-spacing:2px;text-transform:uppercase}
.part-modal-count{font-family:"Jersey 15",monospace;font-size:16px;color:var(--muted);background:rgba(74,208,74,.1);border:1px solid rgba(74,208,74,.2);border-radius:4px;padding:2px 8px}
.participant-list-names{display:flex;flex-wrap:wrap;gap:6px}
.participant-chip{font-family:"Jersey 15",monospace;font-size:14px;color:var(--parchment);background:rgba(0,0,0,.35);border:1px solid rgba(107,83,54,.2);border-radius:4px;padding:5px 12px}
.part-modal.ev-wild{background:linear-gradient(180deg,#1e0c0c,#140808);border-color:#5a1a1a;box-shadow:var(--frame),0 0 40px rgba(139,32,32,.3)}
.part-modal.ev-wild .part-modal-header h3{color:#ff5544}
.part-modal.ev-wild .part-modal-count{background:rgba(224,64,64,.1);border-color:rgba(224,64,64,.2)}
.part-modal.ev-wild .participant-chip{border-color:rgba(139,32,32,.25)}
.part-modal.ev-social{background:linear-gradient(180deg,#0e1e16,#080e0c);border-color:#1a4a32;box-shadow:var(--frame),0 0 40px rgba(45,107,79,.25)}
.part-modal.ev-social .part-modal-header h3{color:#4ae88a}
.part-modal.ev-social .part-modal-count{background:rgba(74,232,138,.1);border-color:rgba(74,232,138,.2)}
.part-modal.ev-social .participant-chip{border-color:rgba(45,107,79,.25)}
.part-modal.ev-pvm{background:linear-gradient(180deg,#16101e,#0e0814);border-color:#3a2060;box-shadow:var(--frame),0 0 40px rgba(107,63,160,.25)}
.part-modal.ev-pvm .part-modal-header h3{color:#ffcb2f}
.part-modal.ev-pvm .part-modal-count{background:rgba(192,144,255,.1);border-color:rgba(192,144,255,.2)}
.part-modal.ev-pvm .participant-chip{border-color:rgba(107,63,160,.25)}

/* ---------- event themes ---------- */
/* Wilderness / PVP */
.ev-card.ev-wild{background:#1e0c0c;border-left:3px solid #8b2020;box-shadow:inset 0 0 20px rgba(139,32,32,.15)}
.ev-card.ev-wild .ev-card-date{border-color:#5a1a1a;background:linear-gradient(180deg,#3a1818,#1e0c0c)}
.ev-card.ev-wild .ev-card-date .d{color:#ff5544}
.ev-card.ev-wild .ev-card-date .m{color:#7a5a4a}
.ev-card.ev-wild .ev-card-info h3{color:#ff8866}
.ev-card.ev-wild .ev-card-meta{color:#7a5a4a}
.ev-card.ev-wild .lv-tag{background:rgba(255,85,68,.12);border-color:rgba(255,85,68,.3);color:#ff8866}
.ev-card.ev-wild.ev-clickable:hover{border-color:#8b2020;box-shadow:0 0 12px rgba(139,32,32,.3)}
.ev-featured.ev-wild{background:linear-gradient(180deg,#1a0a0a,#120606);border:2px solid #5a1a1a;border-radius:8px;padding:24px 20px;box-shadow:0 0 30px rgba(139,32,32,.25),inset 0 0 40px rgba(139,32,32,.1)}
.ev-featured.ev-wild .ev-featured-header h3{color:#ff5544}
.ev-featured.ev-wild .ev-date-text{color:#7a5a4a}
.ev-featured.ev-wild .ev-desc{color:#d4a89a}
.ev-modal.ev-wild{background:linear-gradient(180deg,#1e0c0c,#140808);border-color:#5a1a1a;box-shadow:var(--frame),0 0 40px rgba(139,32,32,.3)}
.ev-modal.ev-wild .ev-modal-header h3{color:#ff5544}
.ev-modal.ev-wild .ev-modal-meta{color:#7a5a4a}
.ev-modal.ev-wild .ev-modal-desc{color:#d4a89a}

/* Social */
.ev-card.ev-social{background:#0e1e16;border-left:3px solid #2d6b4f;box-shadow:inset 0 0 20px rgba(45,107,79,.1)}
.ev-card.ev-social .ev-card-date{border-color:#1a4a32;background:linear-gradient(180deg,#1a3a28,#0e1e16)}
.ev-card.ev-social .ev-card-date .d{color:#4ae88a}
.ev-card.ev-social .ev-card-date .m{color:#6a8a72}
.ev-card.ev-social .ev-card-info h3{color:#6af0a0}
.ev-card.ev-social .ev-card-meta{color:#6a8a72}
.ev-card.ev-social .lv-tag{background:rgba(74,232,138,.12);border-color:rgba(74,232,138,.3);color:#6af0a0}
.ev-card.ev-social.ev-clickable:hover{border-color:#2d6b4f;box-shadow:0 0 12px rgba(45,107,79,.3)}
.ev-featured.ev-social{background:linear-gradient(180deg,#0a1a14,#060e0a);border:2px solid #1a4a32;border-radius:8px;padding:24px 20px;box-shadow:0 0 30px rgba(45,107,79,.2),inset 0 0 40px rgba(45,107,79,.08)}
.ev-featured.ev-social .ev-featured-header h3{color:#4ae88a}
.ev-featured.ev-social .ev-date-text{color:#6a8a72}
.ev-featured.ev-social .ev-desc{color:#c4dcc8}
.ev-modal.ev-social{background:linear-gradient(180deg,#0e1e16,#080e0c);border-color:#1a4a32;box-shadow:var(--frame),0 0 40px rgba(45,107,79,.25)}
.ev-modal.ev-social .ev-modal-header h3{color:#4ae88a}
.ev-modal.ev-social .ev-modal-meta{color:#6a8a72}
.ev-modal.ev-social .ev-modal-desc{color:#c4dcc8}

/* PVM */
.ev-card.ev-pvm{background:#16101e;border-left:3px solid #6b3fa0;box-shadow:inset 0 0 20px rgba(107,63,160,.12)}
.ev-card.ev-pvm .ev-card-date{border-color:#3a2060;background:linear-gradient(180deg,#2a1848,#16101e)}
.ev-card.ev-pvm .ev-card-date .d{color:#ffcb2f}
.ev-card.ev-pvm .ev-card-date .m{color:#8a7aaa}
.ev-card.ev-pvm .ev-card-info h3{color:#e8d8ff}
.ev-card.ev-pvm .ev-card-meta{color:#8a7aaa}
.ev-card.ev-pvm .lv-tag{background:rgba(192,144,255,.12);border-color:rgba(192,144,255,.3);color:#c090ff}
.ev-card.ev-pvm.ev-clickable:hover{border-color:#6b3fa0;box-shadow:0 0 12px rgba(107,63,160,.3)}
.ev-featured.ev-pvm{background:linear-gradient(180deg,#140e1e,#0e0814);border:2px solid #3a2060;border-radius:8px;padding:24px 20px;box-shadow:0 0 30px rgba(107,63,160,.2),inset 0 0 40px rgba(107,63,160,.08)}
.ev-featured.ev-pvm .ev-featured-header h3{color:#ffcb2f}
.ev-featured.ev-pvm .ev-date-text{color:#8a7aaa}
.ev-featured.ev-pvm .ev-desc{color:#d0c4e0}
.ev-modal.ev-pvm{background:linear-gradient(180deg,#16101e,#0e0814);border-color:#3a2060;box-shadow:var(--frame),0 0 40px rgba(107,63,160,.25)}
.ev-modal.ev-pvm .ev-modal-header h3{color:#ffcb2f}
.ev-modal.ev-pvm .ev-modal-meta{color:#8a7aaa}
.ev-modal.ev-pvm .ev-modal-desc{color:#d0c4e0}

/* ---------- team theme overrides ---------- */
.ev-wild .team-roster{border-top-color:rgba(139,32,32,.25)}.ev-wild .team-roster-label{color:#ff8866}.ev-wild .team-players li{border-bottom-color:rgba(139,32,32,.1)}
.ev-social .team-roster{border-top-color:rgba(45,107,79,.25)}.ev-social .team-roster-label{color:#6af0a0}.ev-social .team-players li{border-bottom-color:rgba(45,107,79,.1)}
.ev-pvm .team-roster{border-top-color:rgba(107,63,160,.25)}.ev-pvm .team-roster-label{color:#c090ff}.ev-pvm .team-players li{border-bottom-color:rgba(107,63,160,.1)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- loot wheel ---------- */
.wheel-layout{display:flex;flex-direction:column;gap:24px}
@media (min-width:860px){.wheel-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}}
.wheel-section{display:flex;flex-direction:column;align-items:center;gap:18px}
.wheel-wrap{position:relative;width:100%;max-width:460px;aspect-ratio:1}
#wheel{display:block;width:100%;height:100%;cursor:pointer}
.wheel-actions{display:flex;align-items:center;gap:10px}
.wheel-spin-btn{
  font-family:"Jersey 15",monospace;font-size:22px;line-height:1;letter-spacing:4px;
  padding:13px 54px;cursor:pointer;color:#1a1305;
  background:linear-gradient(180deg,var(--gold),var(--gold-dim));
  border:2px solid #000;border-radius:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 3px 0 #000;
  transition:filter .15s,transform .1s;
}
.wheel-spin-btn:not(:disabled):hover{filter:brightness(1.08)}
.wheel-spin-btn:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 1px 0 #000}
.wheel-spin-btn:disabled{opacity:.35;cursor:not-allowed}
.wheel-popout-btn{
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,203,47,.08);border:1px solid var(--bronze);border-radius:6px;
  color:var(--gold);font-size:20px;cursor:pointer;transition:background .15s,border-color .15s;
}
.wheel-popout-btn:hover{background:rgba(255,203,47,.15);border-color:var(--gold-dim)}
.wheel-entry-panel{background:var(--panel-3);border:1px solid var(--bronze);border-radius:8px;padding:18px}
.wheel-label{font-family:"Jersey 15",monospace;font-size:16px;color:var(--gold);letter-spacing:1px;white-space:nowrap}
.wheel-source-row,.wheel-prize-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.wheel-source-row{padding-bottom:14px;border-bottom:1px solid rgba(107,88,54,.4)}
.wheel-source-row select,.wheel-prize-row input,.wheel-add-row input{
  flex:1;min-width:0;padding:9px 12px;background:var(--void-2);
  border:1px solid var(--bronze);border-radius:6px;color:var(--parchment);
  font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  outline:none;transition:border-color .15s;
}
.wheel-source-row select:focus,.wheel-prize-row input:focus,.wheel-add-row input:focus{border-color:var(--gold-dim)}
.wheel-prize-row input::placeholder,.wheel-add-row input::placeholder{color:var(--muted)}
.wheel-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.wheel-panel-header h3{font-size:16px}
.wheel-entry-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;
  background:rgba(255,203,47,.1);border:1px solid rgba(255,203,47,.25);border-radius:999px;
  font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--gold);
}
.wheel-add-row{display:flex;gap:8px;margin-bottom:12px}
.wheel-add-btn{
  font-family:"Jersey 15",monospace;font-size:16px;letter-spacing:1px;white-space:nowrap;
  padding:9px 18px;background:rgba(255,203,47,.1);border:1px solid var(--gold-dim);
  border-radius:6px;color:var(--gold);cursor:pointer;transition:background .15s;
}
.wheel-add-btn:hover{background:rgba(255,203,47,.18)}
.wheel-entry-list{
  display:flex;flex-direction:column;gap:5px;max-height:340px;overflow-y:auto;margin-bottom:12px;
}
.wheel-entry{
  display:flex;align-items:center;gap:10px;padding:7px 10px;
  background:rgba(13,11,8,.45);border:1px solid rgba(107,88,54,.35);border-radius:6px;
}
.wheel-entry:hover{background:rgba(13,11,8,.7)}
.wheel-entry-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.wheel-entry-name{
  flex:1;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--parchment);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.wheel-entry-controls{display:flex;align-items:center;flex-shrink:0}
.wheel-entry-adj{
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,203,47,.06);border:1px solid rgba(255,203,47,.2);color:var(--gold);
  font:700 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;cursor:pointer;transition:background .12s;
}
.wheel-entry-adj:hover{background:rgba(255,203,47,.15)}
.wheel-entry-adj.minus{border-radius:5px 0 0 5px}
.wheel-entry-adj.plus{border-radius:0 5px 5px 0}
.wheel-entry-qty{
  min-width:26px;height:24px;display:flex;align-items:center;justify-content:center;
  background:var(--void-2);border-top:1px solid rgba(255,203,47,.2);border-bottom:1px solid rgba(255,203,47,.2);
  font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--gold);
}
.wheel-entry-remove{
  background:none;border:none;color:var(--blood);font:400 18px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  cursor:pointer;padding:0 2px;opacity:.5;transition:opacity .12s;
}
.wheel-entry-remove:hover{opacity:1}
.wheel-entry-footer{display:flex;justify-content:flex-end}
.wheel-clear-btn{
  font-family:"Jersey 15",monospace;font-size:14px;letter-spacing:1px;
  background:none;border:1px solid rgba(178,58,48,.4);color:#e07868;
  padding:6px 14px;border-radius:6px;cursor:pointer;opacity:.7;transition:opacity .12s,background .12s;
}
.wheel-clear-btn:hover{opacity:1;background:rgba(178,58,48,.1)}
.wheel-modal{position:fixed;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}
.wheel-modal[hidden]{display:none!important}
.wheel-modal-body{
  background:var(--panel-3);border:2px solid var(--gold-dim);border-radius:10px;
  padding:40px 34px 30px;text-align:center;max-width:380px;width:100%;
  box-shadow:var(--frame);animation:wheel-modal-in .25s ease-out;
}
@keyframes wheel-modal-in{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}
.wheel-modal-badge{
  display:inline-block;padding:5px 20px;margin-bottom:18px;
  background:rgba(255,203,47,.1);border:1px solid var(--gold-dim);border-radius:999px;
  font-family:"Cinzel",serif;font-weight:800;font-size:13px;color:var(--gold);letter-spacing:3px;
}
.wheel-prize-line{
  font-family:"Cinzel",serif;font-weight:900;font-size:30px;line-height:1.1;color:var(--gold);
  margin-bottom:18px;word-break:break-word;text-shadow:1px 1px 0 #000, 0 0 24px rgba(255,203,47,.35);
}
.wheel-prize-line:empty{display:none}
.wheel-winner-name{font-family:"Jersey 15",monospace;font-size:19px;letter-spacing:1px;color:var(--parchment);margin-bottom:26px;word-break:break-word;text-shadow:1px 1px 0 #000}
.wheel-modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.wheel-modal-btn{
  font-family:"Jersey 15",monospace;font-size:16px;letter-spacing:1px;
  padding:10px 20px;background:rgba(255,203,47,.1);border:1px solid var(--gold-dim);
  border-radius:6px;color:var(--gold);cursor:pointer;transition:background .15s;
}
.wheel-modal-btn:hover{background:rgba(255,203,47,.18)}
.wheel-modal-btn.remove{background:rgba(178,58,48,.1);border-color:rgba(178,58,48,.5);color:#e07868}
.wheel-modal-btn.remove:hover{background:rgba(178,58,48,.18)}

/* ---------- strat finder ---------- */
.st-wrap{max-width:640px;margin:0 auto;padding:0 16px 50px}
.st-searchrow{display:flex;gap:8px;margin-bottom:8px}
.st-search{
  flex:1;min-width:0;padding:12px 14px;background:var(--void-2);
  border:2px solid var(--bronze);border-radius:6px;color:var(--parchment);
  font:600 15px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;outline:none;
  transition:border-color .15s;
}
.st-search:focus{border-color:var(--gold-dim)}
.st-search::placeholder{color:var(--muted)}
.st-gobtn{
  font-family:"Jersey 15",monospace;font-size:18px;letter-spacing:1px;padding:0 20px;
  background:linear-gradient(180deg,var(--gold),var(--gold-dim));color:#1a1305;
  border:2px solid #000;border-radius:6px;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 2px 0 #000;
}
.st-gobtn:hover{filter:brightness(1.08)}
.st-gobtn:active{transform:translateY(1px)}
.st-aliashint{
  font-family:"Jersey 15",monospace;font-size:13px;color:var(--muted);letter-spacing:1px;
  margin-bottom:16px;padding-left:2px;
}
.st-aliashint b{color:var(--gold-dim)}
.st-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.st-chip{
  font-family:"Jersey 15",monospace;font-size:15px;letter-spacing:1px;line-height:1;
  padding:8px 13px;border-radius:999px;cursor:pointer;user-select:none;
  background:var(--panel-3);border:1px solid var(--bronze);color:var(--muted);
  transition:color .12s,border-color .12s;
}
.st-chip:hover{color:var(--parchment);border-color:var(--bronze-lite)}
.st-chip.on{color:#1a1305;background:linear-gradient(180deg,var(--gold),var(--gold-dim));border-color:#000;font-weight:600}
.st-chip[data-c="wild"].on{background:linear-gradient(180deg,#e04040,#a02020);color:#fff}
.st-chip[data-c="raid"].on{background:linear-gradient(180deg,#c090ff,#8a5cc9);color:#160b22}
.st-chip[data-c="slay"].on{background:linear-gradient(180deg,#4ad04a,#2d8a2d);color:#07270c}
.st-chip[data-c="gwd"].on{background:linear-gradient(180deg,#4a90d9,#2f6aa8);color:#08192b}
.st-chip[data-c="dt2"].on{background:linear-gradient(180deg,#e8a832,#b57e1d);color:#221503}
.st-section{margin-bottom:26px}
.st-sect-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.st-sect-head h2{
  font-family:"Cinzel",serif;font-weight:800;font-size:17px;color:var(--gold);
  letter-spacing:1px;margin:0;text-shadow:1px 1px 0 #000;
}
.st-sect-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--bronze),transparent)}
.st-sect-count{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted);letter-spacing:1px}
.st-section[data-c="wild"] h2{color:#e04040}
.st-section[data-c="raid"] h2{color:#c090ff}
.st-section[data-c="slay"] h2{color:#4ad04a}
.st-section[data-c="gwd"] h2{color:#4a90d9}
.st-section[data-c="dt2"] h2{color:#e8a832}
.st-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media (min-width:600px){.st-tiles{grid-template-columns:repeat(3,1fr)}}
.st-tile{
  display:flex;align-items:center;gap:10px;padding:9px 10px;min-width:0;
  background:var(--panel-3);border:1px solid var(--bronze);border-left:3px solid var(--st-c,var(--gold-dim));
  border-radius:6px;cursor:pointer;transition:background .12s,border-color .12s;
}
.st-tile:hover{background:var(--panel-2);border-color:var(--bronze-lite);border-left-color:var(--st-c,var(--gold-dim))}
.st-section[data-c="wild"] .st-tile{--st-c:#e04040}
.st-section[data-c="raid"] .st-tile{--st-c:#c090ff}
.st-section[data-c="slay"] .st-tile{--st-c:#4ad04a}
.st-section[data-c="gwd"] .st-tile{--st-c:#4a90d9}
.st-section[data-c="dt2"] .st-tile{--st-c:#e8a832}
.st-recent .st-tile{--st-c:var(--gold)}
.st-recent .st-npc{border-color:var(--gold-dim)}
.st-npc{
  position:relative;width:54px;height:54px;flex:0 0 auto;border-radius:5px;overflow:hidden;
  background:radial-gradient(circle at 50% 38%, var(--panel-2) 0%, var(--void-2) 78%);
  border:1px solid var(--bronze);display:flex;align-items:center;justify-content:center;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.st-npc-init{
  font-family:"Cinzel",serif;font-weight:900;font-size:15px;color:var(--gold-dim);text-shadow:1px 1px 0 #000;
}
.st-npc img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:2px;box-sizing:border-box;transition:transform .25s ease,filter .25s ease}
.st-tile:hover .st-npc img{transform:scale(1.12);filter:brightness(1.15) drop-shadow(0 0 4px rgba(255,203,47,.25))}
.st-tile:hover .st-npc{border-color:var(--st-c,var(--gold-dim));box-shadow:0 0 8px rgba(255,203,47,.15)}
.st-npc.has-img .st-npc-init{visibility:hidden}
.st-tinfo{min-width:0}
.st-tname{display:block;font-weight:700;font-size:13px;color:var(--parchment);line-height:1.25}
.st-tsub{display:block;font-family:"Jersey 15",monospace;font-size:12px;color:var(--muted);letter-spacing:1px;line-height:1.3}

/* ---- Bracket Knockout (.bk-*) ---- */

/* Bracket-specific custom properties (HP bar colors) */
:root{
  --bk-hp-base:#d42020;--bk-hp-base-border:#881414;
  --bk-hp-shield:#3090d4;--bk-hp-shield-border:#185888;
  --bk-hp-bonus:#30c868;--bk-hp-bonus-border:#147838;
  --bk-hp-special:#9040d0;--bk-hp-special-border:#5c2088;
}

/* Code lock overlay */
.bk-lock{
  position:fixed;inset:0;z-index:60;
  background:rgba(13,11,8,0.95);
  display:flex;align-items:center;justify-content:center;
  color:var(--parchment);font-family:"Cinzel",serif;
}
.bk-lock[hidden]{display:none!important}
.bk-lock-panel{
  position:relative;
  background:
    radial-gradient(ellipse at 50% 30%,rgba(107,88,54,0.15) 0%,transparent 60%),
    var(--void-2);
  border:2px solid var(--bronze);border-radius:12px;
  max-width:380px;width:90%;overflow:hidden;
  box-shadow:0 12px 48px rgba(0,0,0,0.8),inset 0 1px 0 rgba(138,116,73,0.2);
}
.bk-lock-corner{
  position:absolute;width:16px;height:16px;
  border-color:var(--bronze-lite);border-style:solid;border-width:0;opacity:0.6;z-index:1;
}
.bk-lock-corner.tl{top:8px;left:8px;border-top-width:2px;border-left-width:2px}
.bk-lock-corner.tr{top:8px;right:8px;border-top-width:2px;border-right-width:2px}
.bk-lock-corner.bl{bottom:8px;left:8px;border-bottom-width:2px;border-left-width:2px}
.bk-lock-corner.br{bottom:8px;right:8px;border-bottom-width:2px;border-right-width:2px}
.bk-lock-topbar{
  width:100%;padding:14px 0;text-align:center;
  border-bottom:1px solid var(--bronze);
  background:linear-gradient(180deg,rgba(107,88,54,0.15),transparent);
}
.bk-lock-topbar span{
  font-weight:900;font-size:11px;letter-spacing:5px;
  text-transform:uppercase;color:var(--gold-dim);
}
.bk-lock-body{
  padding:36px 48px 44px;display:flex;flex-direction:column;align-items:center;gap:20px;
}
.bk-lock-ring{
  width:130px;height:130px;border-radius:50%;
  border:2px solid var(--bronze);
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,rgba(43,36,25,0.8),var(--void));
  box-shadow:0 0 40px rgba(0,0,0,0.6),inset 0 0 30px rgba(0,0,0,0.5);
  position:relative;
}
.bk-lock-ring::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1px solid rgba(255,203,47,0.1);
}
.bk-lock-ring img{width:80px;max-width:80px;height:auto;display:block;filter:drop-shadow(0 0 16px rgba(255,203,47,0.2))}
.bk-lock-title{
  font-weight:900;font-size:24px;color:var(--parchment);
  letter-spacing:3px;text-transform:uppercase;text-align:center;line-height:1.3;margin:0;
}
.bk-lock-title em{
  display:block;font-style:normal;color:var(--gold);
  font-size:14px;letter-spacing:5px;margin-top:4px;
}
.bk-lock-input{
  background:rgba(13,11,8,0.8);border:2px solid rgba(107,88,54,0.6);color:var(--parchment);
  font-family:"Jersey 15",monospace;font-size:18px;padding:10px 16px;border-radius:4px;
  text-align:center;width:240px;letter-spacing:2px;
}
.bk-lock-input:focus{outline:2px solid var(--gold-dim);border-color:var(--gold-dim)}
.bk-lock-error{color:var(--blood);font-size:13px;letter-spacing:1px;min-height:18px}
.bk-lock-error[hidden]{display:none}
.bk-lock-btn{
  font-family:"Cinzel",serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  padding:10px 28px;border:2px solid var(--gold-dim);border-radius:4px;cursor:pointer;
  background:linear-gradient(180deg,var(--gold),var(--gold-dim));color:var(--void);
}
.bk-lock-btn:hover{box-shadow:0 0 16px rgba(255,203,47,0.3)}

/* Entry panel */
.bk-entry-panel{background:var(--panel-3);border:1px solid var(--bronze);border-radius:8px;padding:18px;margin:14px 24px 0}
.bk-label{font-family:"Jersey 15",monospace;font-size:16px;color:var(--gold);letter-spacing:1px;white-space:nowrap}
.bk-source-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(107,88,54,.4)}
.bk-source-row select{
  flex:1;min-width:0;padding:9px 12px;background:var(--void-2);
  border:1px solid var(--bronze);border-radius:6px;color:var(--parchment);
  font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  outline:none;transition:border-color .15s;
}
.bk-source-row select:focus{border-color:var(--gold-dim)}
.bk-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.bk-panel-header h3{font-size:16px}
.bk-fighter-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;
  background:rgba(255,203,47,.1);border:1px solid rgba(255,203,47,.25);border-radius:999px;
  font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--gold);
}
.bk-add-row{display:flex;gap:8px;margin-bottom:12px}
.bk-add-row input[type="text"]{
  flex:1;min-width:0;padding:9px 12px;background:var(--void-2);
  border:1px solid var(--bronze);border-radius:6px;color:var(--parchment);
  font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  outline:none;transition:border-color .15s;
}
.bk-add-row input[type="text"]:focus{border-color:var(--gold-dim)}
.bk-add-row input[type="text"]::placeholder{color:var(--muted)}
.bk-entry-input{
  width:52px;padding:9px 6px;background:var(--void-2);
  border:1px solid var(--bronze);border-radius:6px;color:var(--parchment);
  font:600 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  text-align:center;outline:none;transition:border-color .15s;
}
.bk-entry-input:focus{border-color:var(--gold-dim)}
.bk-add-btn{
  font-family:"Jersey 15",monospace;font-size:16px;letter-spacing:1px;white-space:nowrap;
  padding:9px 18px;background:rgba(255,203,47,.1);border:1px solid var(--gold-dim);
  border-radius:6px;color:var(--gold);cursor:pointer;transition:background .15s;
}
.bk-add-btn:hover{background:rgba(255,203,47,.18)}
.bk-entry-list{
  display:flex;flex-direction:column;gap:5px;max-height:280px;overflow-y:auto;margin-bottom:12px;
}
.bk-entry{
  display:flex;align-items:center;gap:10px;padding:7px 10px;
  background:rgba(13,11,8,.45);border:1px solid rgba(107,88,54,.35);border-radius:6px;
}
.bk-entry:hover{background:rgba(13,11,8,.7)}
.bk-entry-name{
  flex:1;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--parchment);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.bk-entry-controls{display:flex;align-items:center;flex-shrink:0}
.bk-entry-adj{
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,203,47,.06);border:1px solid rgba(255,203,47,.2);color:var(--gold);
  font:700 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;cursor:pointer;transition:background .12s;
}
.bk-entry-adj:hover{background:rgba(255,203,47,.15)}
.bk-entry-adj.minus{border-radius:5px 0 0 5px}
.bk-entry-adj.plus{border-radius:0 5px 5px 0}
.bk-entry-qty{
  min-width:26px;height:24px;display:flex;align-items:center;justify-content:center;
  background:var(--void-2);border-top:1px solid rgba(255,203,47,.2);border-bottom:1px solid rgba(255,203,47,.2);
  font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--gold);
}
.bk-entry-hp{
  font:600 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--bk-hp-base);white-space:nowrap;min-width:40px;text-align:center;
}
.bk-entry-remove{
  background:none;border:none;color:var(--blood);font:400 18px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  cursor:pointer;padding:0 2px;opacity:.5;transition:opacity .12s;
}
.bk-entry-remove:hover{opacity:1}
.bk-entry-footer{display:flex;justify-content:flex-end}
.bk-clear-btn{
  font-family:"Jersey 15",monospace;font-size:14px;letter-spacing:1px;
  background:none;border:1px solid rgba(178,58,48,.4);color:#e07868;
  padding:6px 14px;border-radius:6px;cursor:pointer;opacity:.7;transition:opacity .12s,background .12s;
}
.bk-clear-btn:hover{opacity:1;background:rgba(178,58,48,.1)}

/* Controls bar */
.bk-controls{
  background:var(--panel-3);border-bottom:2px solid var(--bronze);
  padding:14px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.bk-controls-left{display:flex;align-items:center;gap:14px}
.bk-controls-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk-event-picker{
  background:var(--panel);border:1px solid var(--bronze);color:var(--parchment);
  font-family:"Jersey 15",monospace;font-size:15px;padding:7px 10px;border-radius:4px;min-width:180px;
}
.bk-event-picker:focus{outline:2px solid var(--gold-dim)}
.bk-speed-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;cursor:pointer}
.bk-speed-label input[type="range"]{width:70px;accent-color:var(--gold)}
input[type="range"].bk-speed{
  -webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;
}
input[type="range"].bk-speed::-webkit-slider-runnable-track{
  height:6px;background:var(--panel);border:1px solid var(--bronze);border-radius:3px;
}
input[type="range"].bk-speed::-webkit-slider-thumb{
  -webkit-appearance:none;width:16px;height:16px;border-radius:50%;
  background:var(--gold);border:2px solid var(--bronze);margin-top:-6px;
  box-shadow:0 1px 4px rgba(0,0,0,0.5);
}
input[type="range"].bk-speed::-moz-range-track{
  height:6px;background:var(--panel);border:1px solid var(--bronze);border-radius:3px;
}
input[type="range"].bk-speed::-moz-range-thumb{
  width:12px;height:12px;border-radius:50%;border:2px solid var(--bronze);
  background:var(--gold);box-shadow:0 1px 4px rgba(0,0,0,0.5);
}
.bk-btn{
  font-family:"Cinzel",serif;font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;
  padding:9px 18px;border:2px solid var(--gold-dim);border-radius:4px;cursor:pointer;transition:all 0.2s;
}
.bk-btn:disabled{opacity:0.4;cursor:default}
.bk-btn-start{background:linear-gradient(180deg,var(--gold),var(--gold-dim));color:var(--void)}
.bk-btn-start:hover:not(:disabled){background:linear-gradient(180deg,#f0c850,var(--gold));box-shadow:0 0 16px rgba(255,203,47,0.3)}
.bk-btn-reset{background:transparent;color:var(--muted);border-color:var(--bronze)}
.bk-btn-reset:hover:not(:disabled){color:var(--parchment);border-color:var(--muted)}

/* Status bar */
.bk-status{
  background:var(--panel-3);border-bottom:1px solid var(--bronze);
  padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:32px;
  font-size:17px;flex-wrap:wrap;
}
.bk-status-item{display:inline-flex;align-items:center;gap:4px}
.bk-status-label{color:var(--muted);font-size:14px}
.bk-status-value{color:var(--gold);margin-left:6px}
.bk-round-indicator{display:flex;align-items:center;gap:6px}
.bk-round-dot{
  width:10px;height:10px;border-radius:50%;background:var(--bronze);transition:all 0.3s;
}
.bk-round-dot.active{background:var(--gold);box-shadow:0 0 8px rgba(255,203,47,0.4)}
.bk-round-dot.done{background:var(--xp)}
.bk-round-name-label{
  color:var(--gold);font-family:"Cinzel",serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-left:4px;
}

/* Fight overlay (fixed modal) */
.bk-fight-overlay{
  position:fixed;inset:0;background:rgba(13,11,8,0.88);
  display:flex;align-items:center;justify-content:center;z-index:50;
}
.bk-fight-overlay[hidden]{display:none!important}
.bk-fight-panel{
  background:var(--panel);border:2px solid var(--bronze);border-radius:8px;
  max-width:820px;width:94%;padding:20px 28px 24px;position:relative;
}
.bk-fight-panel.shake{animation:screenShake 0.2s ease-out}
.bk-overlay-close{
  position:absolute;top:8px;right:12px;background:none;border:none;
  color:var(--muted);font-size:28px;line-height:1;cursor:pointer;padding:4px 8px;z-index:2;
}
.bk-overlay-close:hover{color:var(--parchment)}
.bk-fight-round-label{
  font-family:"Cinzel",serif;font-weight:700;font-size:15px;color:var(--gold);
  letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:4px;
}
.bk-fight-match-label{
  font-size:13px;color:var(--muted);font-family:"Cinzel",serif;
  letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-bottom:12px;
}

/* Arena / fighters */
.bk-arena{display:flex;align-items:flex-start;justify-content:center;gap:24px}
.bk-fighter{flex:1;max-width:310px;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;transition:opacity 0.4s}
.bk-fighter.defeated{opacity:0.25}
.bk-fight-indicator{height:40px;display:flex;align-items:center;justify-content:center}
img.bk-icon-shield{width:32px;height:auto;display:block}
img.bk-icon-sword{width:36px;height:auto;display:block}
img.bk-icon-trophy{width:32px;height:auto;display:block}
.bk-ind-atk .bk-icon-sword{animation:bk-pulse-atk 0.4s ease}
.bk-ind-trophy .bk-icon-trophy{animation:bk-trophy-pop 0.4s ease}
@keyframes bk-pulse-atk{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes bk-trophy-pop{0%{transform:scale(0)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.bk-fighter-name{font-size:24px;color:var(--parchment);text-align:center}
.bk-fighter-entries{font-size:13px;color:var(--muted);text-align:center}
.bk-vs-divider{
  font-family:"Cinzel",serif;font-weight:900;font-size:20px;color:var(--gold);flex-shrink:0;padding-top:28px;
}

/* HP bar (smooth) */
.bk-hp-bar-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.bk-hp-track{
  position:relative;width:100%;height:22px;border-radius:11px;
  background:var(--void-2);border:1.5px solid var(--panel-3);overflow:hidden;
}
.bk-hp-fill{
  display:flex;height:100%;border-radius:10px;
  transition:width 0.25s ease-out;overflow:hidden;
}
.bk-hp-section{height:100%}
.bk-hp-section.base{background:var(--bk-hp-base)}
.bk-hp-section.shield{background:var(--bk-hp-shield)}
.bk-hp-section.bonus{background:var(--bk-hp-bonus)}
.bk-hp-section.special{background:var(--bk-hp-special)}
.bk-hp-tick{
  position:absolute;top:2px;bottom:2px;width:1.5px;
  background:rgba(0,0,0,0.4);transform:translateX(-50%);z-index:1;
}
.bk-hp-num{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:"Jersey 15",monospace;font-size:13px;color:#fff;z-index:2;
  text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;
  pointer-events:none;
}
.bk-hp-legend{display:flex;gap:10px;justify-content:center;font-size:11px;flex-wrap:wrap}
.bk-hp-legend-item{display:flex;align-items:center;gap:3px;color:var(--muted)}
.bk-hp-legend-swatch{width:9px;height:9px;border-radius:2px}
.bk-hp-legend-swatch.base{background:var(--bk-hp-base)}
.bk-hp-legend-swatch.shield{background:var(--bk-hp-shield)}
.bk-hp-legend-swatch.bonus{background:var(--bk-hp-bonus)}
.bk-hp-legend-swatch.special{background:var(--bk-hp-special)}

/* Hit splats */
.bk-splat-area{
  min-height:56px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;padding:4px 0;
}
.bk-hit-splat{
  display:inline-flex;align-items:center;justify-content:center;
  background-size:contain;background-repeat:no-repeat;background-position:center;
  font-family:"Jersey 15",monospace;font-weight:bold;color:#fff;
  text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 2px 3px rgba(0,0,0,0.5);
  animation:splatPop 0.3s ease-out;
}
.bk-hit-splat.regular{width:44px;height:44px;font-size:22px}
.bk-hit-splat.max-hit{
  width:54px;height:54px;font-size:28px;
  filter:drop-shadow(0 0 8px rgba(255,30,30,0.5));animation:maxPop 0.4s ease-out;
}
.bk-hit-splat.zero{width:44px;height:44px;font-size:22px}
.bk-hit-splat.dim{opacity:0.25;transition:opacity 0.15s}

/* Fight log */
.bk-fight-log{font-size:16px;color:var(--muted);text-align:center;min-height:24px;margin-top:8px}
.bk-fight-log.ko{color:var(--blood);font-size:22px;font-family:"Cinzel",serif;font-weight:700}
.bk-fight-log.win{color:var(--xp);font-size:22px;font-family:"Cinzel",serif;font-weight:700}
.bk-win-trophy{width:48px;height:auto;display:inline-block;filter:drop-shadow(0 0 12px rgba(255,215,0,0.5));animation:bk-trophy-pop 0.4s ease}

/* Countdown */
.bk-countdown-wrap{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  z-index:20;pointer-events:none;border-radius:8px;background:rgba(13,11,8,0.5);
}
.bk-countdown-num{
  font-family:"Cinzel",serif;font-weight:900;font-size:80px;color:var(--gold);
  text-shadow:0 0 40px rgba(255,203,47,0.4),0 4px 8px rgba(0,0,0,0.5);
  animation:countPop 0.65s ease-out forwards;
}
.bk-countdown-fight{
  font-family:"Cinzel",serif;font-weight:900;font-size:56px;color:var(--blood);
  letter-spacing:6px;text-shadow:0 0 40px rgba(178,58,48,0.5),0 4px 8px rgba(0,0,0,0.5);
  animation:fightSlam 0.5s ease-out forwards;
}

/* Bracket layout */
.bk-bracket-container{
  padding:32px 24px;display:flex;justify-content:center;min-width:fit-content;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
}
.bk-bracket{display:flex;align-items:stretch;position:relative}
.bk-round{
  display:flex;flex-direction:column;justify-content:space-around;
  min-width:200px;position:relative;padding:0 16px;
}
.bk-round-title{
  font-family:"Cinzel",serif;font-weight:600;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--muted);text-align:center;padding-bottom:12px;position:absolute;top:-28px;left:0;right:0;
}
.bk-matchup{display:flex;flex-direction:column;gap:2px;margin:8px 0;position:relative}
.bk-matchup-bye{justify-content:center}

/* SVG connector layer */
.bk-connectors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.bk-connectors line{stroke:var(--bronze);stroke-width:1.5;opacity:.4}
.bk-connectors line.bk-conn-bright{opacity:.6}

/* Player cards */
.bk-player-card{
  background:var(--panel);border:1px solid var(--bronze);padding:8px 12px;border-radius:3px;
  display:flex;align-items:center;gap:8px;transition:all 0.4s;min-height:40px;overflow:hidden;
}
.bk-player-card.bk-fighting{
  border-color:var(--gold);background:var(--panel-2);box-shadow:0 0 10px rgba(255,203,47,0.2);
}
.bk-player-card.bk-eliminated{background:var(--void-2);border-color:transparent}
.bk-player-card.bk-eliminated .bk-player-name{
  color:var(--bronze);text-decoration:line-through;text-decoration-color:var(--blood);text-decoration-thickness:2px;
}
.bk-player-card.bk-eliminated .bk-player-seed,
.bk-player-card.bk-eliminated .bk-entry-badge{color:var(--bronze)}
.bk-player-card.bk-winner{border-color:var(--gold);box-shadow:0 0 12px rgba(255,203,47,0.25)}
.bk-player-card.bk-winner .bk-player-name{color:var(--gold)}
.bk-player-card.bk-advancing{
  border-color:var(--xp);background:linear-gradient(90deg,rgba(74,208,74,0.08),var(--panel));
}
.bk-player-card.bk-empty{border-style:dashed;border-color:var(--bronze);background:transparent}
.bk-player-card.bk-empty .bk-player-name{color:var(--muted);font-style:italic;font-size:14px}
.bk-player-seed{font-size:12px;color:var(--muted);min-width:18px;text-align:center;flex-shrink:0}
.bk-player-name{font-size:18px;color:var(--parchment);white-space:nowrap;flex:1;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bk-entry-badge{
  font-size:12px;color:var(--gold);background:rgba(255,203,47,0.1);
  padding:2px 8px;border-radius:3px;border:1px solid rgba(255,203,47,0.12);
  white-space:nowrap;flex-shrink:0;
}
.bk-rank-badge{
  font-size:9px;letter-spacing:0.5px;text-transform:uppercase;padding:1px 5px;border-radius:2px;
  font-family:"Cinzel",serif;font-weight:600;white-space:nowrap;border:1px solid;opacity:0.85;flex-shrink:0;
}

/* Champion area */
.bk-champion-area{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:200px;padding:0 24px;
}
.bk-trophy{
  margin-bottom:12px;filter:drop-shadow(0 0 16px rgba(255,215,0,0.5));
  opacity:0.3;transition:all 0.6s;
}
.bk-trophy img{width:64px;height:auto}
.bk-trophy.revealed{opacity:1;transform:scale(1.1)}
.bk-champion-label{
  font-family:"Cinzel",serif;font-weight:900;font-size:12px;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold-dim);margin-bottom:8px;
}
.bk-champion-name{
  font-family:"Cinzel",serif;font-weight:900;font-size:26px;color:var(--gold);
  text-shadow:0 0 24px rgba(255,203,47,0.4);text-align:center;min-height:36px;
}
.bk-champion-card{
  background:var(--panel);border:2px solid var(--gold-dim);border-radius:6px;padding:24px 32px;text-align:center;
}
.bk-champion-card.revealed{
  border-color:var(--gold);box-shadow:0 0 32px rgba(255,203,47,0.3),inset 0 0 24px rgba(255,203,47,0.05);
}

/* Champion Celebration */
.bk-celebration{
  display:flex;align-items:center;justify-content:center;
  padding:32px 20px;width:100%;max-width:400px;
}
.bk-celeb-scroll{
  background:linear-gradient(180deg,#2a2318,#1e1a13);
  border:2px solid var(--gold-dim);border-radius:4px;
  padding:32px 40px;text-align:center;position:relative;
  width:100%;box-shadow:0 8px 32px rgba(0,0,0,0.5);
}
.bk-celeb-scroll::before,.bk-celeb-scroll::after{
  content:"";position:absolute;left:16px;right:16px;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);
}
.bk-celeb-scroll::before{top:12px}
.bk-celeb-scroll::after{bottom:12px}
.bk-celeb-shield{
  width:56px;height:auto;display:block;margin:0 auto 14px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}
.bk-celeb-event{
  font-family:"Cinzel",serif;font-weight:700;font-size:17px;
  color:var(--parchment);margin-bottom:4px;line-height:1.3;
}
.bk-celeb-subtitle{
  font-family:"Cinzel",serif;font-weight:700;font-size:10px;
  letter-spacing:4px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:16px;
}
.bk-celeb-divider{
  width:80px;height:1px;margin:0 auto 16px;
  background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);
}
.bk-celeb-trophy{
  width:100px;height:auto;display:block;margin:0 auto 8px;
  filter:drop-shadow(0 0 20px rgba(255,203,47,0.35));
}
.bk-celeb-label{
  font-family:"Cinzel",serif;font-weight:700;font-size:10px;
  letter-spacing:3px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:4px;
}
.bk-celeb-name{
  font-family:"Cinzel",serif;font-weight:900;font-size:28px;
  color:var(--gold);text-shadow:0 0 20px rgba(255,203,47,0.35);margin-bottom:20px;
}
.bk-btn-crown{
  background:transparent;color:var(--gold);border:2px solid var(--gold-dim);
  font-family:"Cinzel",serif;font-weight:700;cursor:pointer;border-radius:4px;
  transition:all 0.2s;
}
.bk-btn-crown:hover{background:rgba(255,203,47,0.1);border-color:var(--gold)}
.bk-celeb-close{color:var(--parchment)}

/* Sparkles */
.bk-sparkles{position:fixed;inset:0;pointer-events:none;z-index:100}
.bk-sparkle{
  position:absolute;width:4px;height:4px;background:var(--gold);border-radius:50%;
  animation:sparkleFloat 1.5s ease-out forwards;
}

/* Animations */
@keyframes splatPop{
  0%{transform:scale(0) rotate(-20deg);opacity:0}
  50%{transform:scale(1.2) rotate(4deg);opacity:1}
  100%{transform:scale(1) rotate(0);opacity:1}
}
@keyframes maxPop{
  0%{transform:scale(0) rotate(-30deg);opacity:0}
  40%{transform:scale(1.4) rotate(6deg);opacity:1}
  70%{transform:scale(0.95) rotate(-2deg)}
  100%{transform:scale(1) rotate(0);opacity:1}
}
@keyframes screenShake{
  0%{transform:translate(0)}
  20%{transform:translate(-5px,3px)}
  40%{transform:translate(5px,-2px)}
  60%{transform:translate(-3px,1px)}
  80%{transform:translate(2px,-1px)}
  100%{transform:translate(0)}
}
@keyframes countPop{
  0%{transform:scale(2.5);opacity:0}
  25%{transform:scale(0.9);opacity:1}
  45%{transform:scale(1.05)}
  60%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(0.7)}
}
@keyframes fightSlam{
  0%{transform:scale(3);opacity:0}
  30%{transform:scale(0.85);opacity:1}
  50%{transform:scale(1.1)}
  70%{transform:scale(1);opacity:1}
  100%{opacity:0;transform:scale(0.8)}
}
@keyframes sparkleFloat{
  0%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-60px) scale(0)}
}

/* Tablet breakpoint */
@media(max-width:900px){
  .bk-bracket-container{padding:24px 8px}
  .bk-round{min-width:160px;padding:0 8px}
  .bk-player-name{font-size:15px}
  .bk-controls{padding:12px 16px}
  .bk-fighter-name{font-size:20px}
  .bk-hp-track{height:18px}
  .bk-hp-num{font-size:11px}
  .bk-fight-panel{padding:16px}
}

/* Mobile breakpoint */
@media(max-width:600px){
  .bk-controls{flex-direction:column;align-items:stretch;padding:10px 12px;gap:8px}
  .bk-controls-left{justify-content:center}
  .bk-controls-right{flex-direction:column;align-items:stretch;gap:6px}
  .bk-controls-right .bk-speed-label{justify-content:center}
  .bk-controls-right .bk-btn{width:100%;text-align:center}
  .bk-event-picker{width:100%;min-width:unset}
  .bk-status{padding:8px 12px;gap:12px;font-size:15px;flex-wrap:wrap;justify-content:center}
  .bk-entry-panel{margin:14px 12px 0}
  .bk-round-name-label{font-size:10px}
  .bk-bracket-container{padding:16px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .bk-round{min-width:140px;padding:0 6px}
  .bk-round-title{font-size:9px;letter-spacing:1px}
  .bk-player-card{padding:6px 8px;gap:5px;min-height:34px}
  .bk-player-name{font-size:13px}
  .bk-player-seed{font-size:10px;min-width:18px}
  .bk-entry-badge{font-size:9px;padding:1px 4px}
  .bk-fight-overlay{align-items:flex-start;padding-top:8px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .bk-fight-panel{width:98%;padding:12px 10px 14px;max-width:100%;margin-bottom:8px}
  .bk-fight-round-label{font-size:12px}
  .bk-fight-match-label{font-size:11px;margin-bottom:8px}
  .bk-arena{flex-direction:column;gap:8px;align-items:center}
  .bk-vs-divider{padding-top:0;font-size:16px}
  .bk-fighter{max-width:100%;width:100%}
  .bk-fighter-name{font-size:18px}
  .bk-fighter-entries{font-size:11px}
  .bk-hp-track{height:16px}
  .bk-hp-num{font-size:10px}
  .bk-hp-legend{font-size:10px}
  .bk-hit-splat.regular{width:36px;height:36px;font-size:18px}
  .bk-hit-splat.max-hit{width:44px;height:44px;font-size:22px}
  .bk-hit-splat.zero{width:36px;height:36px;font-size:18px}
  .bk-fight-log{font-size:14px}
  .bk-fight-log.ko,.bk-fight-log.win{font-size:18px}
  .bk-countdown-num{font-size:56px}
  .bk-countdown-fight{font-size:40px;letter-spacing:4px}
  .bk-champion-area{min-width:140px;padding:0 12px}
  .bk-champion-name{font-size:20px}
  .bk-champion-label{font-size:10px}
  .bk-trophy img{width:48px}
  .bk-rank-badge{font-size:8px;padding:1px 3px}
  .bk-celebration{padding:16px 12px}
  .bk-celeb-scroll{padding:24px 20px}
  .bk-celeb-name{font-size:22px}
  .bk-celeb-trophy{width:80px}
  .bk-lock-body{padding:28px 24px 36px}
  .bk-lock-ring{width:100px;height:100px}
  .bk-lock-ring img{width:64px;max-width:64px}
  .bk-lock-title{font-size:18px;letter-spacing:2px}
  .bk-lock-title em{font-size:12px}
  .bk-lock-input{width:200px;font-size:16px}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .bk-hit-splat,.bk-fight-panel.shake,.bk-countdown-num,.bk-countdown-fight,.bk-sparkle,
  .bk-trophy,.bk-round-dot,.bk-hp-fill,.bk-player-card,.bk-ind-atk,.bk-ind-trophy{
    animation-duration:0.01ms!important;animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
  }
}
.st-foot{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted);letter-spacing:1px;text-align:center;margin-top:8px}

/* ---------- armoury nav (.arm-*) ---------- */
.arm-nav{display:flex;align-items:center;padding:10px 20px;background:var(--panel-3);border-top:1px solid var(--bronze);border-bottom:1px solid var(--bronze);gap:16px;flex-wrap:wrap}
.arm-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.arm-brand img{width:28px;height:28px}
.arm-brand span{font-family:"Cinzel",serif;font-weight:700;font-size:14px;color:var(--gold);letter-spacing:3px}
.arm-links{display:flex;gap:4px;flex:1}
.arm-links a{font-family:"Cinzel",serif;font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;letter-spacing:1px;padding:6px 12px;border-radius:4px;transition:color .2s,background .2s}
.arm-links a:hover{color:var(--gold);background:rgba(255,203,47,.06)}
.arm-links a.active{color:var(--gold);background:rgba(255,203,47,.1)}
.arm-site{font-family:"Jersey 15",monospace;font-size:14px;color:var(--muted);text-decoration:none;letter-spacing:1px;transition:color .2s}
.arm-site:hover{color:var(--gold-dim)}
@media(max-width:600px){
  .arm-nav{padding:10px 14px;gap:10px}
  .arm-brand span{font-size:12px;letter-spacing:2px}
  .arm-links{order:3;width:100%;justify-content:center}
  .arm-links a{font-size:11px;padding:5px 8px}
  .arm-site{font-size:13px}
}

/* Dink update floater */
.dink-floater{position:fixed;bottom:24px;right:24px;z-index:999;width:310px;background:linear-gradient(165deg,#1e1809,#140f06);border:1px solid var(--bronze);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 0 1px rgba(255,180,40,.06),inset 0 1px 0 rgba(255,203,47,.04);overflow:hidden;animation:dink-in .5s cubic-bezier(.16,1,.3,1) both;animation-delay:.8s}
@keyframes dink-in{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.dink-floater::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dim),var(--gold),var(--gold-dim),transparent);animation:dink-pulse 2.5s ease-in-out infinite}
@keyframes dink-pulse{0%,100%{opacity:.4}50%{opacity:1}}
.dink-dismiss{position:absolute;top:8px;right:8px;width:26px;height:26px;border:1px solid #3a2e1a;border-radius:6px;background:rgba(13,11,8,.7);color:var(--muted);font-size:14px;cursor:pointer;display:grid;place-items:center;transition:border-color .2s,color .2s;line-height:1;padding:0}
.dink-dismiss:hover{border-color:var(--bronze);color:var(--parchment)}
.dink-fbody{padding:16px 16px 14px}
.dink-fheader{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.dink-ficon{width:38px;height:38px;border-radius:8px;background:linear-gradient(145deg,#2a2010,#1a1305);border:1px solid var(--bronze);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.dink-ficon img{width:28px;height:auto;image-rendering:pixelated}
.dink-ftitle{font-family:'Cinzel',serif;font-weight:700;font-size:14px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase}
.dink-badge{display:inline-block;background:linear-gradient(135deg,#b23a30,#8a2920);color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.5px;margin-left:6px;vertical-align:middle}
.dink-fmsg{font-family:'Jersey 15',cursive;font-size:15px;color:var(--parchment);line-height:1.5;margin-bottom:14px;padding-right:14px}
.dink-fmsg strong{color:#f0d860}
.dink-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.dink-fchip{font-size:11px;font-weight:600;padding:3px 8px;border-radius:5px;border:1px solid #3a2e1a;background:rgba(26,19,5,.8);color:var(--muted)}
.dink-fchip.fix{border-color:rgba(74,208,74,.3);color:#6dd06d}
.dink-fchip.chg{border-color:rgba(255,203,47,.2);color:var(--gold-dim)}
.dink-cta{display:block;width:100%;box-sizing:border-box;padding:10px 16px;background:linear-gradient(180deg,var(--gold),var(--gold-dim));border:1px solid #f0d860;border-radius:8px;color:#0d0b08;font-family:'Cinzel',serif;font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;transition:box-shadow .2s,transform .1s;box-shadow:0 2px 8px rgba(255,203,47,.15)}
.dink-cta:hover{box-shadow:0 4px 16px rgba(255,203,47,.3);transform:translateY(-1px)}
.dink-cta:active{transform:translateY(0)}
@media(max-width:400px){.dink-floater{left:12px;right:12px;bottom:12px;width:auto}}
