/* ============================================================
   ISO Operations Network — design system (v6) — "Shadow Forge"
   Cinematic alliance command interface: blackened steel, ember,
   frost light, tactical grid and a rotating ISO reactor core.
   ============================================================ */
:root{
  --bg:            #0A0A12;
  --glass:         rgba(255,255,255,.055);
  --glass-strong:  rgba(255,255,255,.09);
  --glass-line:    rgba(255,255,255,.14);
  --glass-line-strong: rgba(255,255,255,.26);
  --ink:           #F5F5FA;
  --ink-soft:      rgba(245,245,250,.70);
  --ink-faint:     rgba(245,245,250,.44);

  --grad-1: #FF3D8A;  /* magenta */
  --grad-2: #FF8A3D;  /* amber */
  --grad-3: #7C3AED;  /* violet — mesh only */
  --grad-4: #06B6D4;  /* cyan — mesh only */
  --accent-grad: linear-gradient(135deg, var(--grad-1), var(--grad-2));

  --success:     #34D399;
  --success-bg:  rgba(52,211,153,.16);
  --danger:      #FB7185;
  --danger-bg:   rgba(251,113,133,.16);
  --gold:        #FBBF24;
  --gold-bg:     rgba(251,191,36,.16);

  --radius-l: 26px;
  --radius-m: 18px;
  --radius-s: 13px;
  --shadow: 0 20px 60px -20px rgba(0,0,0,.55);
}

*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; }
body{
  margin:0; min-height:100vh; padding-bottom:92px;
  color:var(--ink);
  font-family:'Inter', system-ui, sans-serif;
  background-color:var(--bg);
  background-repeat:no-repeat;
  background-image:
    radial-gradient(circle, rgba(255,61,138,.30), transparent 60%),
    radial-gradient(circle, rgba(124,58,237,.26), transparent 60%),
    radial-gradient(circle, rgba(255,138,61,.22), transparent 60%),
    radial-gradient(circle, rgba(6,182,212,.20), transparent 60%);
  background-size: 780px 620px, 700px 620px, 700px 600px, 900px 720px;
  background-position: 12% -6%, 94% 8%, 100% 94%, 22% 106%;
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: no-preference){
  body{ animation:auroraDrift 28s ease-in-out infinite; }
}
@keyframes auroraDrift{
  0%, 100%{ background-position: 12% -6%,  94% 8%,  100% 94%, 22% 106%; }
  50%     { background-position: 20% 2%,   86% 18%, 90% 84%,  32% 96%;  }
}
.wrap{ max-width:480px; margin:0 auto; padding:0 20px; }
@media (min-width:760px){ .wrap{ max-width:960px; } }
@media (min-width:760px){ .wrap.narrow{ max-width:640px; } }

a{ color:inherit; text-decoration:none; }
.mono{ font-family:'JetBrains Mono', ui-monospace, monospace; }
.display{ font-family:'Unbounded', 'Inter', system-ui, sans-serif; }
img{ max-width:100%; }

/* Shared "glass" material — applied to every card/panel/list/stat surface
   in the site via this one selector group, so templates didn't need to
   change at all, only this stylesheet. */
.glass,
.tile, .panel, .stat-card, .guide-card, .list, .kpi-row, .gift-scroll,
.profile-card, .redeem-row, .bar-wrap{
  background:var(--glass); backdrop-filter:blur(22px) saturate(160%); -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid var(--glass-line); box-shadow:var(--shadow);
}

/* ---------- Top status bar ---------- */
header.site{
  position:sticky; top:0; z-index:20;
  background:rgba(10,10,18,.55); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--glass-line);
}
.status-row{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand-text{ display:flex; align-items:baseline; gap:8px; }
.brand-text b{
  font-family:'Unbounded','Inter',sans-serif; font-size:1.05rem; font-weight:700;
  background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.brand-text span{ font-size:.72rem; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }

.status-right{ display:flex; align-items:center; gap:12px; }
#clock{ font-size:.72rem; color:var(--ink-faint); letter-spacing:.02em; }
.lang-toggle{ display:flex; border:1px solid var(--glass-line); border-radius:999px; overflow:hidden; font-family:'JetBrains Mono',monospace; font-size:.66rem; font-weight:600; }
.lang-toggle a{ display:block; padding:5px 10px; cursor:pointer; color:var(--ink-faint); }
.lang-toggle a.active{ background:var(--accent-grad); color:#1a0a12; font-weight:700; }

/* ---------- Hero ---------- */
.hero{ padding:38px 0 6px; }
.hero-kicker{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.16em; color:var(--ink-faint); text-transform:uppercase; }
.hero-title{
  font-family:'Unbounded','Inter',sans-serif; font-weight:800; font-size:2.9rem; letter-spacing:-.02em; line-height:1; margin:12px 0 0;
  background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{ font-family:'JetBrains Mono',monospace; font-size:.76rem; color:var(--ink-faint); margin-top:10px; }

/* Gift code card */
.gift-scroll{
  margin-top:20px; border-radius:var(--radius-m); padding:16px 18px; display:flex; align-items:center; gap:14px;
}
.gift-scroll .eyebrow{ font-family:'JetBrains Mono',monospace; font-size:.64rem; font-weight:700; letter-spacing:.08em; color:var(--grad-2); text-transform:uppercase; margin-bottom:5px; text-align:left; }
.gift-scroll .code{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:1.15rem; letter-spacing:.01em; text-align:left; color:var(--ink); }
.gift-scroll .meta{ margin-left:auto; text-align:right; flex:none; }
.gift-scroll .meta small{ display:block; color:var(--ink-faint); font-size:.62rem; margin-top:4px; }
.copy-btn{ background:var(--accent-grad); color:#1a0a12; border:0; border-radius:10px; font-family:'Inter',sans-serif; font-weight:700; font-size:.76rem; padding:9px 15px; cursor:pointer; white-space:nowrap; }
.copy-btn:active{ transform:translateY(1px); filter:brightness(.95); }
.gift-scroll-cta{
  display:flex; align-items:center; justify-content:center; gap:6px; margin-top:8px;
  padding:9px 14px; border-radius:var(--radius-s); border:1px dashed var(--glass-line-strong);
  font-size:.76rem; font-weight:600; color:var(--ink-soft); text-align:center;
}
.gift-scroll-cta:hover{ border-color:var(--grad-1); color:var(--ink); }
.gift-scroll-cta i{ font-size:.8rem; }

/* ---------- KPI strip ---------- */
.kpi-row{ margin-top:22px; display:grid; grid-template-columns:repeat(3,1fr); border-radius:var(--radius-m); overflow:hidden; }
.kpi{ padding:14px 10px; text-align:center; border-right:1px solid var(--glass-line); }
.kpi-link{ display:block; text-decoration:none; transition:background .15s; }
.kpi-link:hover{ background:rgba(255,255,255,.05); }
.kpi:last-child{ border-right:0; }
.kpi .num{ font-family:'Unbounded','Inter',sans-serif; font-weight:700; font-size:1.15rem; color:var(--ink); }
.kpi .lbl{ font-size:.62rem; color:var(--ink-faint); letter-spacing:.05em; text-transform:uppercase; margin-top:4px; }
.kpi.accent .num{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- Section headers ---------- */
.section-head{ display:flex; align-items:baseline; justify-content:space-between; margin:32px 0 12px; }
.section-head h2{ font-family:'Unbounded','Inter',sans-serif; font-size:1.1rem; font-weight:700; margin:0; text-transform:uppercase; letter-spacing:.05em; color:var(--ink); }
.section-head .tag{ font-family:'JetBrains Mono',monospace; font-size:.66rem; color:var(--ink-faint); font-weight:600; }

/* ---------- Module grid ---------- */
.bento{ display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
/* ---------- Entrance reveal (staggered fade+rise on load) ---------- */
@keyframes revealUp{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: no-preference){
  .bento > .tile, .stat-row > .stat-card, .leaderboard > .leader-row, .card-grid > .profile-card{
    animation:revealUp .55s cubic-bezier(.16,1,.3,1) both;
  }
  .bento > .tile:nth-child(1){ animation-delay:.02s; }
  .bento > .tile:nth-child(2){ animation-delay:.08s; }
  .bento > .tile:nth-child(3){ animation-delay:.14s; }
  .bento > .tile:nth-child(4){ animation-delay:.20s; }
  .stat-row > .stat-card:nth-child(1){ animation-delay:.02s; }
  .stat-row > .stat-card:nth-child(2){ animation-delay:.07s; }
  .stat-row > .stat-card:nth-child(3){ animation-delay:.12s; }
  .stat-row > .stat-card:nth-child(4){ animation-delay:.17s; }
  .leaderboard > .leader-row:nth-child(1){ animation-delay:.02s; }
  .leaderboard > .leader-row:nth-child(2){ animation-delay:.06s; }
  .leaderboard > .leader-row:nth-child(3){ animation-delay:.10s; }
  .leaderboard > .leader-row:nth-child(4){ animation-delay:.14s; }
  .leaderboard > .leader-row:nth-child(5){ animation-delay:.18s; }
  .card-grid > .profile-card:nth-child(1){ animation-delay:.02s; }
  .card-grid > .profile-card:nth-child(2){ animation-delay:.07s; }
  .card-grid > .profile-card:nth-child(3){ animation-delay:.12s; }
  .card-grid > .profile-card:nth-child(4){ animation-delay:.17s; }
}

.tile{
  border-radius:var(--radius-m); padding:18px; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  display:flex; flex-direction:column; gap:9px; min-height:134px; position:relative; overflow:hidden;
}
.tile:hover{ transform:translateY(-3px); border-color:var(--glass-line-strong); box-shadow:0 0 0 1px rgba(255,61,138,.3), 0 12px 32px -8px rgba(255,61,138,.25), var(--shadow); }
.tile.wide{ grid-column:1 / -1; }
.tile.hero{ padding:26px; min-height:196px; }
.tile.hero .icn{ width:52px; height:52px; border-radius:15px; font-size:1.35rem; }
.tile.hero h3{ font-size:1.2rem; margin-top:2px; }
.tile.hero p{ font-size:.82rem; max-width:44ch; }
.tile.hero .mini-bars{ height:38px; margin-top:6px; }
.tile.compact{ padding:14px; min-height:98px; gap:6px; }
.tile.compact .icn{ width:28px; height:28px; border-radius:9px; font-size:.85rem; }
.tile.compact h3{ font-size:.82rem; }
.tile.compact p{ display:none; }
.tile .icn{ width:36px; height:36px; border-radius:11px; background:rgba(255,255,255,.08); display:grid; place-items:center; color:var(--ink-soft); font-size:1.05rem; transition:width .2s, height .2s; }
.tile h3{ font-family:'Unbounded','Inter',sans-serif; font-size:.9rem; margin:0; font-weight:600; }
.tile p{ margin:0; font-size:.76rem; color:var(--ink-soft); line-height:1.45; max-width:34ch; }
.tile .badge{ align-self:flex-start; font-family:'Inter',sans-serif; font-size:.64rem; font-weight:700; background:rgba(255,255,255,.08); color:var(--ink-faint); padding:3px 9px; border-radius:999px; }

.tile.teal-t .icn{ background:rgba(6,182,212,.16); color:#67E8F9; }
.tile.teal-t .badge{ background:rgba(6,182,212,.16); color:#67E8F9; }
.tile.coral-t .icn{ background:rgba(255,61,138,.16); color:#FF7FB0; }
.tile.coral-t .badge{ background:rgba(255,61,138,.16); color:#FF7FB0; }
.tile.hot .icn{ background:rgba(255,138,61,.18); color:var(--grad-2); }
.tile.hot .badge{ background:rgba(255,138,61,.18); color:var(--grad-2); }

/* Optional admin-uploaded banner image — natural aspect ratio, edge-to-edge,
   capped so a portrait/screenshot photo can't blow out the mobile grid. */
/* "New content" red dot — like the old DVG notification badges */
.new-dot{
  position:absolute; top:12px; right:12px; width:11px; height:11px; border-radius:50%;
  background:#FF3B5C; box-shadow:0 0 0 3px rgba(255,59,92,.28), 0 0 10px rgba(255,59,92,.5);
  z-index:2;
}
@media (prefers-reduced-motion: no-preference){
  .new-dot{ animation:dotPulse 2.2s ease-in-out infinite; }
}
@keyframes dotPulse{
  0%, 100%{ box-shadow:0 0 0 3px rgba(255,59,92,.28), 0 0 10px rgba(255,59,92,.5); }
  50%{ box-shadow:0 0 0 6px rgba(255,59,92,.16), 0 0 16px rgba(255,59,92,.7); }
}

/* Community banner (login/profile) — kept prominent on the home page */
.community-banner{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.community-avatar{ width:52px; height:52px; border-radius:50%; object-fit:cover; flex:none; }
.community-avatar-fallback{
  display:grid; place-items:center; background:rgba(255,61,138,.16); color:#FF7FB0;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:1.2rem;
}
.community-text{ flex:1; min-width:0; }
.community-text b{ display:block; font-family:'Unbounded','Inter',sans-serif; font-size:.94rem; line-height:1.3; }
.community-text p{ margin:3px 0 0; font-size:.78rem; color:var(--ink-soft); }
.community-banner > i{ color:var(--ink-faint); font-size:1.1rem; flex:none; }
.community-member-card{ padding:0; overflow:hidden; }
.community-member-card::before{ z-index:2; }
.community-profile-link{ padding:20px; }
.community-roster-link{
  display:flex; align-items:center; gap:11px; padding:12px 16px;
  border-top:1px solid var(--glass-line); text-decoration:none;
  background:linear-gradient(90deg,rgba(110,231,245,.045),rgba(255,96,45,.025));
  transition:background .16s ease,color .16s ease;
}
.community-roster-link:hover{ background:linear-gradient(90deg,rgba(110,231,245,.09),rgba(255,96,45,.055)); }
.community-roster-icon{
  width:34px; height:34px; display:grid; place-items:center; flex:none;
  border:1px solid rgba(110,231,245,.22); background:rgba(110,231,245,.06); color:var(--frost);
}
.community-roster-copy{ display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
.community-roster-copy small{ font-family:'JetBrains Mono',monospace; font-size:.48rem; letter-spacing:.14em; color:var(--ink-faint); }
.community-roster-copy b{ font-family:'Barlow Condensed','Inter',sans-serif; font-size:.95rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; color:var(--ink); }
.community-roster-link > i{ color:var(--ink-faint); font-size:.92rem; flex:none; }
.community-banner-cta b{ display:block; font-family:'Unbounded','Inter',sans-serif; font-size:1rem; }
.community-banner-cta p{ margin:5px 0 0; font-size:.82rem; color:var(--ink-soft); }

.tile-img{
  display:block; width:calc(100% + 38px); max-width:none; height:auto; min-height:140px; max-height:240px; object-fit:cover;
  margin:-19px -19px 4px -19px;
  border-radius:var(--radius-m) var(--radius-m) 0 0;
}
.tile.wide .tile-img{ min-height:200px; max-height:420px; }
.tile:has(.tile-img) .icn{
  position:relative; margin-top:-38px; border:3px solid rgba(10,10,18,.85); box-shadow:var(--shadow); z-index:1;
}

.mini-bars{ display:flex; align-items:flex-end; gap:4px; height:28px; margin-top:2px; }
.mini-bars i{ flex:1; background:rgba(255,255,255,.14); border-radius:3px 3px 0 0; transition:height .8s cubic-bezier(.16,1,.3,1); }
.mini-bars i:last-child{ background:var(--accent-grad); }

/* ---------- Scroll list (recent guides) ---------- */
.list{ display:flex; flex-direction:column; border-radius:var(--radius-m); overflow:hidden; }
.list a, .list .row{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-bottom:1px solid var(--glass-line); }
.list a:last-child, .list .row:last-child{ border-bottom:0; }
.list a:hover{ background:rgba(255,255,255,.04); }
.list .dot{ width:7px; height:7px; border-radius:50%; background:var(--accent-grad); flex:none; }
.list .txt{ flex:1; min-width:0; }
.list .txt b{ display:block; font-size:.86rem; font-weight:600; line-height:1.3; color:var(--ink); }
.list .txt small{ color:var(--ink-faint); font-size:.68rem; font-family:'JetBrains Mono',monospace; }
.list .ts{ font-family:'JetBrains Mono',monospace; font-size:.64rem; color:var(--ink-faint); flex:none; }

/* ---------- Panels ---------- */
.panel{ border-radius:var(--radius-m); padding:20px; }
.panel + .panel{ margin-top:12px; }
.page-title{ font-family:'Unbounded','Inter',sans-serif; font-size:1.4rem; font-weight:700; letter-spacing:-.01em; line-height:1.3; margin:22px 0 6px; color:var(--ink); }
.page-sub{ font-size:.78rem; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; margin-bottom:18px; }
.prose{ font-size:.92rem; line-height:1.75; color:var(--ink-soft); }
.prose h1, .prose h2, .prose h3{ font-family:'Unbounded','Inter',sans-serif; color:var(--ink); }
.prose hr{ border:none; border-top:1px solid var(--glass-line); margin:18px 0; }
.prose img{ border-radius:var(--radius-s); }
.prose a{ color:#67E8F9; text-decoration:underline; }

/* ---------- Guide tree ---------- */
.folder-block{ margin-bottom:22px; }
.folder-head{ display:flex; align-items:center; gap:9px; font-family:'Unbounded','Inter',sans-serif; font-weight:600; font-size:.86rem; margin-bottom:10px; }
.folder-head i{ color:var(--grad-1); }
.guide-grid{ display:grid; grid-template-columns:1fr; gap:8px; }
@media (min-width:600px){ .guide-grid{ grid-template-columns:1fr 1fr; } }
.guide-card{ border-radius:var(--radius-s); padding:14px; display:flex; flex-direction:column; gap:5px; transition:border-color .15s, transform .15s; }
.guide-card:hover{ border-color:var(--glass-line-strong); transform:translateY(-1px); }
.guide-card b{ font-size:.85rem; color:var(--ink); font-weight:600; }
.guide-card small{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.62rem; }

/* ---------- Bear Trap: medal leaderboard ---------- */
.stat-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
@media (min-width:600px){ .stat-row{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:760px){ .trap-overview-stats{ grid-template-columns:repeat(4,1fr); } }
.stat-card{ border-radius:var(--radius-m); padding:16px; }
.stat-card .lbl{ font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); font-weight:700; }
.stat-card .val{ font-family:'Unbounded','Inter',sans-serif; font-weight:700; font-size:1.15rem; margin-top:6px; color:var(--ink); }
.stat-card .sub{ font-size:.72rem; color:var(--ink-soft); margin-top:4px; }
.stat-card.ember .val{ color:var(--gold); }
.stat-card.verdigris .val{ color:#67E8F9; }

.round-tabs{ display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; margin-bottom:18px; }
.round-tabs a{ flex:none; padding:7px 14px; border-radius:999px; border:1px solid var(--glass-line); font-family:'JetBrains Mono',monospace; font-size:.72rem; color:var(--ink-soft); }
.round-tabs a.active{ background:var(--accent-grad); color:#1a0a12; border-color:transparent; font-weight:700; }

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

/* Best Run Ever banner */
.trap-best-ever{ display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.trap-best-ever i{ font-size:1.4rem; color:var(--gold); flex:none; }
.trap-best-ever b{ font-family:'JetBrains Mono',monospace; font-size:1.05rem; color:var(--ink); }
.trap-best-ever-name{ display:block; font-size:.72rem; color:var(--ink-faint); margin-top:2px; }

/* Expandable per-player detail (tap a leaderboard row) */
.trap-detail{ margin:-4px 0 8px; padding:14px; border-radius:var(--radius-s); background:rgba(255,255,255,.03); border:1px solid var(--glass-line); }
.trap-detail-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(108px,1fr)); gap:8px; margin-bottom:12px; }
.trap-stat-box{ background:rgba(255,255,255,.04); border:1px solid var(--glass-line); border-radius:10px; padding:10px 6px; text-align:center; }
.trap-stat-total{ border-color:rgba(255,100,56,.28); background:rgba(255,100,56,.045); }
.trap-stat-value{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.95rem; }
.trap-stat-label{ font-size:.6rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; margin-top:3px; }
.trap-chart-wrap{ background:rgba(255,255,255,.03); border:1px solid var(--glass-line); border-radius:10px; padding:10px; }
@media (max-width:400px){ .trap-detail-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.leader-row{ display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:12px; }
.leader-row .rank{ width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-family:'Unbounded',sans-serif; font-size:.68rem; font-weight:700; color:var(--ink-faint); background:rgba(255,255,255,.08); }
.leader-row.r1 .rank{ background:linear-gradient(135deg,#FFE08A,#FBBF24); color:#1a0a12; }
.leader-row.r2 .rank{ background:linear-gradient(135deg,#E4E7EC,#9BA3AF); color:#1a0a12; }
.leader-row.r3 .rank{ background:linear-gradient(135deg,#E8A972,#B5652E); color:#1a0a12; }
.leader-row .bar-wrap{ border-radius:10px; padding:9px 13px; position:relative; overflow:hidden; border:1px solid var(--glass-line); }
.leader-row .bar-fill{ position:absolute; inset:0; z-index:0; background:rgba(103,232,249,.14); border-radius:10px 0 0 10px; transition:width 1s cubic-bezier(.16,1,.3,1); }
.leader-row.r1 .bar-fill{ background:rgba(251,191,36,.16); }
.leader-row .bar-fg{ position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; font-size:.85rem; }
.leader-row .bar-fg .name{ color:var(--ink); font-weight:600; }
.leader-row .bar-fg .round-tag{ font-family:'JetBrains Mono',monospace; font-size:.62rem; color:var(--ink-faint); margin-left:8px; }
.leader-row .dmg{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.86rem; color:var(--ink); text-align:right; }
.leader-row.r1 .dmg{ color:var(--gold); }

/* Player detail + native performance trend */
.trap-detail[hidden]{ display:none !important; }
.trap-detail:not([hidden]){ animation:trapDetailIn .24s cubic-bezier(.16,1,.3,1) both; }
.trap-detail-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.trap-detail-head > div{ min-width:0; }
.trap-detail-head span{ display:block; margin-bottom:3px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.1em; text-transform:uppercase; }
.trap-detail-head b{ display:block; overflow:hidden; color:var(--ink); font-size:.94rem; text-overflow:ellipsis; white-space:nowrap; }
.trap-detail-close{ flex:none; min-height:34px; padding:7px 10px; }
.trap-detail-close i{ margin-right:4px; }
.leader-row .dmg{ display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.trap-row-total{ display:flex; flex-direction:column; align-items:flex-end; min-width:68px; }
.trap-row-total small{
  margin-bottom:1px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace;
  font-size:.43rem; font-weight:400; line-height:1; letter-spacing:.07em; text-transform:uppercase;
}
.trap-row-total b{ color:inherit; font:inherit; line-height:1.15; }
.trap-row-chevron{ color:var(--ink-faint); font-size:.8rem; transition:transform .2s ease,color .2s ease; }
.leader-row[aria-expanded="true"] .trap-row-chevron{ color:var(--frost); transform:rotate(180deg); }
.trap-performance-chart{ overflow:hidden; border:1px solid rgba(110,231,245,.16); background:linear-gradient(145deg,rgba(10,18,24,.96),rgba(5,9,12,.98)); }
.trap-chart-head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 16px 4px; }
.trap-chart-head span{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.5rem; letter-spacing:.13em; text-transform:uppercase; }
.trap-chart-head h3{ margin:3px 0 0; color:var(--ink); font-family:'Barlow Condensed','Inter',sans-serif; font-size:1.28rem; letter-spacing:.04em; text-transform:uppercase; }
.trap-trend-chip{ flex:none; min-width:138px; padding:7px 9px; border:1px solid var(--glass-line); color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:.74rem; font-weight:700; text-align:right; }
.trap-trend-chip.up{ border-color:rgba(74,222,128,.3); color:var(--success); background:rgba(74,222,128,.055); }
.trap-trend-chip.down{ border-color:rgba(251,113,133,.3); color:var(--danger); background:rgba(251,113,133,.055); }
.trap-trend-chip.neutral{ color:var(--frost); background:rgba(110,231,245,.04); }
.trap-trend-chip > i{ margin-right:3px; }
.trap-trend-chip small{ display:block; margin-top:2px; color:var(--ink-faint); font-size:.45rem; font-weight:400; letter-spacing:.04em; }
.trap-chart-wrap{ margin:10px 12px 0; padding:5px 8px 0; overflow:hidden; }
.trap-trend-svg{ display:block; width:100%; height:auto; min-height:180px; max-height:300px; }
.trap-chart-grid{ stroke:rgba(166,190,205,.14); stroke-width:1; vector-effect:non-scaling-stroke; }
.trap-chart-axis-label,.trap-chart-date-label{ fill:rgba(198,211,220,.58); font-family:'JetBrains Mono',monospace; font-size:19px; }
.trap-chart-area{ pointer-events:none; }
.trap-chart-segment{ stroke-width:3; stroke-linecap:round; }
.trap-chart-segment.rise{ stroke:var(--success); }
.trap-chart-segment.fall{ stroke:var(--danger); }
.trap-chart-segment.steady{ stroke:var(--frost); }
.trap-chart-point{ stroke:#071016; stroke-width:3; }
.trap-chart-point.rise{ fill:var(--success); }
.trap-chart-point.fall{ fill:var(--danger); }
.trap-chart-point.steady{ fill:var(--frost); }
.trap-chart-legend{ display:flex; align-items:center; gap:14px; padding:10px 16px 14px; color:var(--ink-soft); font-size:.64rem; }
.trap-chart-legend > span{ display:flex; align-items:center; gap:6px; }
.trap-chart-legend > span i{ width:18px; height:2px; }
.trap-chart-legend .rise i{ background:var(--success); }
.trap-chart-legend .fall i{ background:var(--danger); }
.trap-chart-legend small{ margin-left:auto; color:var(--ink-faint); font-size:.54rem; text-align:right; }
.trap-chart-empty{ display:flex; align-items:center; gap:10px; padding:18px; border:1px dashed rgba(166,190,205,.22); color:var(--ink-soft); font-size:.72rem; }
.trap-chart-empty i{ flex:none; color:var(--frost); font-size:1.25rem; }
@keyframes trapDetailIn{ from{ opacity:0; transform:translateY(-5px); } to{ opacity:1; transform:translateY(0); } }
@media (max-width:520px){
  .leader-row{ grid-template-columns:24px minmax(0,1fr) auto; gap:7px; }
  .leader-row .rank{ width:24px; height:24px; }
  .leader-row .bar-wrap{ padding:9px 10px; }
  .leader-row .bar-fg .round-tag{ display:block; margin:4px 0 0; font-size:.56rem; }
  .trap-row-total{ min-width:58px; }
  .trap-row-total small{ font-size:.39rem; letter-spacing:.035em; }
  .trap-detail{ padding:11px; }
  .trap-detail-head{ align-items:flex-start; }
  .trap-detail-close{ font-size:.72rem; }
  .trap-chart-head{ align-items:flex-start; padding:13px 12px 2px; }
  .trap-chart-head h3{ font-size:1.12rem; }
  .trap-trend-chip{ min-width:112px; padding:6px 7px; font-size:.65rem; }
  .trap-chart-wrap{ margin-inline:7px; padding-inline:3px; }
  .trap-trend-svg{ min-height:150px; }
  .trap-chart-legend{ flex-wrap:wrap; gap:9px 14px; padding:9px 12px 12px; }
  .trap-chart-legend small{ flex-basis:100%; margin-left:0; text-align:left; }
}

/* ---------- Gift archive ---------- */
.gift-row{ display:flex; align-items:center; gap:12px; }
.gift-row .code{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.94rem; background:rgba(103,232,249,.12); border:1px solid var(--glass-line); border-radius:8px; padding:5px 10px; color:#67E8F9; }
.gift-row .note{ flex:1; font-size:.78rem; color:var(--ink-soft); }
.gift-row .date{ font-family:'JetBrains Mono',monospace; font-size:.64rem; color:var(--ink-faint); flex:none; }

/* ---------- Forms ---------- */
/* ---------- Bear Trap admin: per-row player + damage entry ---------- */
.trap-entry-row{ display:flex; gap:8px; margin-bottom:8px; align-items:flex-start; }
.trap-entry-row select,.trap-player-search-control{ flex:1.4; min-width:0; }
.trap-player-search-control input[type=search]{ width:100%; min-width:0; }
.trap-player-search-status{ display:block; min-height:1.2em; margin:5px 2px 0; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; line-height:1.2; }
.trap-player-search-status.matched{ color:var(--success); }
.trap-player-search-status.many{ color:var(--gold); }
.trap-player-search-status.none{ color:var(--danger); }
.trap-player-search[aria-invalid=true]{ border-color:rgba(251,113,133,.55); }
.trap-entry-row .trap-new-name{ flex:1.2; min-width:0; }
.trap-entry-row input[type=number]{ flex:.8; min-width:0; }
.trap-guest-toggle{
  flex:none; min-height:43px; display:inline-flex; align-items:center; padding:7px 10px;
  border:1px solid rgba(255,177,92,.24); background:rgba(255,153,58,.045); cursor:pointer;
  color:var(--ink-soft); user-select:none;
}
.trap-guest-toggle input{ width:auto; margin:0 7px 0 0; accent-color:var(--gold); }
.trap-guest-toggle span{ display:inline-flex; align-items:center; gap:5px; font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.06em; text-transform:uppercase; }
.trap-guest-toggle i{ color:var(--gold); font-size:.9rem; }
.trap-guest-toggle:has(input:checked){ border-color:rgba(255,177,92,.55); background:rgba(255,153,58,.11); color:var(--gold); box-shadow:inset 0 0 16px rgba(255,145,45,.045); }
.trap-guest-badge{
  display:inline-flex; align-items:center; margin-left:6px; padding:2px 5px; vertical-align:middle;
  border:1px solid rgba(255,177,92,.45); background:rgba(255,153,58,.1); color:var(--gold);
  font-family:'JetBrains Mono',monospace; font-size:.48rem; font-weight:700; line-height:1.1;
  letter-spacing:.08em; text-transform:uppercase;
}
.trap-guest-badge.mixed{ border-color:rgba(110,231,245,.36); background:rgba(110,231,245,.07); color:var(--frost); }
.trap-detail-head .trap-guest-badge{ display:inline-flex; margin:0 0 0 6px; color:var(--gold); font-size:.48rem; letter-spacing:.08em; }
.trap-detail-head .trap-guest-badge.mixed{ color:var(--frost); }

.field{ margin-bottom:16px; }
.field label{ display:block; font-size:.78rem; font-weight:700; margin-bottom:7px; color:var(--ink-soft); }
.field .hint{ font-size:.68rem; color:var(--ink-faint); margin-top:6px; }
input[type=text], input[type=password], input[type=number], input[type=date], select, textarea{
  width:100%; border:1px solid var(--glass-line); border-radius:var(--radius-s); padding:11px 13px;
  font-family:'Inter',sans-serif; font-size:.88rem; background:rgba(255,255,255,.05); color:var(--ink);
}
textarea{ font-family:'JetBrains Mono',monospace; font-size:.8rem; min-height:110px; resize:vertical; }
input:focus, select:focus, textarea:focus{ outline:2px solid var(--grad-1); outline-offset:1px; }
.checkbox-row{ display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--ink-soft); }
.checkbox-row input{ width:auto; }

.btn{ display:inline-flex; align-items:center; gap:6px; border:0; border-radius:999px; padding:11px 20px; font-weight:700; font-size:.82rem; cursor:pointer; font-family:'Inter',sans-serif; transition:transform .15s, filter .15s; position:relative; overflow:hidden; }
.btn.primary{ background:var(--accent-grad); color:#1a0a12; }
.btn.primary:hover{ filter:brightness(1.08); }
.btn.primary::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.45) 48%, transparent 66%);
  background-size:250% 100%; background-position:150% 0;
}
@media (prefers-reduced-motion: no-preference){
  .btn.primary:hover::after{ animation:btnShine .7s ease; }
}
@keyframes btnShine{ from{ background-position:150% 0; } to{ background-position:-50% 0; } }
.btn.ghost{ background:rgba(255,255,255,.05); border:1px solid var(--glass-line); color:var(--ink); }
.btn.ghost:hover{ border-color:var(--glass-line-strong); }
.btn.danger{ background:var(--danger-bg); color:var(--danger); }
.btn.small{ padding:7px 14px; font-size:.72rem; }
.btn:active{ transform:translateY(1px); }
.btn:disabled{ opacity:.5; cursor:default; }

/* ---------- Flash ---------- */
.flash{ margin-top:16px; padding:12px 16px; border-radius:var(--radius-s); font-size:.84rem; border:1px solid; }
.flash.ok{ background:var(--success-bg); color:var(--success); border-color:rgba(52,211,153,.35); }
.flash.error{ background:var(--danger-bg); color:var(--danger); border-color:rgba(251,113,133,.35); }

/* ---------- Admin ---------- */
.admin-nav{ display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.admin-nav a, .admin-nav-form button{ padding:8px 15px; border-radius:999px; border:1px solid var(--glass-line); font-size:.76rem; color:var(--ink-soft); }
.admin-nav a.active{ background:var(--accent-grad); color:#1a0a12; border-color:transparent; font-weight:700; }
.admin-nav-form{ margin:0; }
.admin-nav-form button{ background:transparent; font-family:inherit; cursor:pointer; }
.admin-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-row form{ margin:0; }
.trap-admin-subnav{ border-left:2px solid var(--ember); }
.trap-manage-intro{ display:flex; align-items:center; min-height:132px; border-left:2px solid rgba(110,231,245,.55); }
.trap-manage-intro h2{ margin:5px 0 6px; font-family:'Barlow Condensed',sans-serif; font-size:1.65rem; letter-spacing:.035em; text-transform:uppercase; }
.trap-manage-intro p{ max-width:760px; margin:0; color:var(--ink-soft); font-size:.78rem; line-height:1.55; }
.trap-count-overview{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:10px 0 14px; }
.trap-count-card{ position:relative; min-width:0; padding:12px 14px; border:1px solid var(--glass-line); background:rgba(8,14,19,.76); border-radius:2px; }
.trap-count-card.is-behind{ border-color:rgba(255,145,75,.55); background:linear-gradient(135deg,rgba(255,111,52,.08),rgba(8,14,19,.78) 55%); }
.trap-count-name{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trap-count-main{ display:flex; align-items:baseline; gap:7px; margin-top:5px; }
.trap-count-main strong{ font-family:'JetBrains Mono',monospace; font-size:1.45rem; color:var(--frost); line-height:1; }
.trap-count-main span{ font-size:.68rem; color:var(--ink-soft); }
.trap-count-meta{ display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:7px; font-family:'JetBrains Mono',monospace; font-size:.56rem; color:var(--ink-faint); }
.trap-count-warning{ display:flex; align-items:center; gap:5px; margin-top:8px; font-family:'JetBrains Mono',monospace; font-size:.58rem; color:var(--ember-hot); }
.trap-run-filters{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; }
.trap-run-filters .field{ min-width:0; margin:0; }
.trap-run-filter-actions{ grid-column:1/-1; display:flex; gap:7px; align-items:center; padding-top:2px; }
.trap-run-editor{ border-top:2px solid rgba(255,100,56,.52); }
.trap-run-editor-head{ margin-top:0; }
.trap-run-editor-head h2{ margin:5px 0 0; font-size:1.55rem; }
.trap-run-edit-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.trap-run-edit-grid .field{ min-width:0; }
.trap-run-editor-guest{ width:max-content; margin:2px 0 10px; }
.trap-bulk-panel{ display:grid; grid-template-columns:minmax(200px,.7fr) minmax(440px,1.3fr); gap:10px 20px; align-items:end; margin-bottom:12px; border-left:2px solid var(--ember); }
.trap-bulk-select-all{ min-height:46px; display:flex; align-items:center; gap:10px; color:var(--ink); font-size:.76rem; font-weight:700; cursor:pointer; }
.trap-bulk-select-all input,.trap-run-row-check input{ width:18px; height:18px; accent-color:var(--ember-hot); cursor:pointer; }
.trap-bulk-form{ display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:9px; align-items:end; }
.trap-bulk-form .field{ min-width:0; margin:0; }
.trap-bulk-form .btn{ min-height:44px; white-space:nowrap; }
.trap-bulk-form .btn:disabled{ cursor:not-allowed; opacity:.42; filter:saturate(.4); }
.trap-bulk-count{ min-width:22px; height:22px; display:inline-grid; place-items:center; margin-left:5px; padding:0 5px; border:1px solid currentColor; font-family:'JetBrains Mono',monospace; font-size:.62rem; }
.trap-bulk-panel > .hint{ grid-column:1/-1; margin:2px 0 0; }
.trap-run-manager-row{ min-height:72px; }
.trap-run-row-check{ flex:none; display:grid; place-items:center; padding:6px 3px; }
.trap-run-manager-row .txt small{ display:flex; flex-wrap:wrap; gap:5px 13px; align-items:center; margin-top:6px; }
.trap-run-manager-row .txt small span{ position:relative; }
.trap-run-manager-row .txt small span + span::before{ content:'·'; position:absolute; left:-9px; color:var(--ember-hot); }
.trap-run-manager-row .txt small strong{ color:var(--frost); font-size:.72rem; }
.trap-run-manager-actions{ display:flex; flex:none; align-items:center; gap:7px; }
.login-shell{ max-width:340px; margin:16vh auto 0; }

footer.note{ margin:36px 0 8px; text-align:center; font-size:.66rem; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; letter-spacing:.05em; }

/* ---------- Batch redeem progress ---------- */
.progress-track{ height:7px; border-radius:999px; background:rgba(255,255,255,.08); overflow:hidden; margin-top:12px; }
.progress-fill{ height:100%; width:0%; background:var(--accent-grad); transition:width .25s ease; }
.redeem-log{ margin-top:14px; max-height:280px; overflow-y:auto; display:flex; flex-direction:column; gap:6px; }
.redeem-row{ font-size:.78rem; padding:9px 12px; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid var(--glass-line); }
.redeem-row.ok{ border-color:rgba(52,211,153,.35); color:var(--success); }
.redeem-row.info{ border-color:var(--glass-line-strong); color:var(--ink-soft); }
.redeem-row.error{ border-color:rgba(251,113,133,.35); color:var(--danger); }
.redeem-row.retry{ border-color:rgba(251,191,36,.35); color:var(--gold); }

/* ---------- Bottom mobile nav ---------- */
.bottom-nav{ position:fixed; left:0; right:0; bottom:0; z-index:30; background:rgba(10,10,18,.6); backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%); border-top:1px solid var(--glass-line); display:flex; justify-content:space-around; padding:10px 6px calc(10px + env(safe-area-inset-bottom)); }
.bottom-nav a{ display:flex; flex-direction:column; align-items:center; gap:4px; font-size:.62rem; color:var(--ink-faint); padding:4px 12px; border-radius:10px; font-family:'Inter',sans-serif; }
.bottom-nav a i{ font-size:1.2rem; }
.bottom-nav a.active{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.bottom-nav a.active i{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.icn-wrap{ width:28px; height:28px; display:grid; place-items:center; }

/* ---------- More sheet ---------- */
.more-sheet{ position:fixed; inset:0; z-index:40; display:none; }
.more-sheet.open{ display:block; }
.more-sheet .backdrop{ position:absolute; inset:0; background:rgba(4,4,8,.6); }
.more-sheet .sheet{
  position:absolute; left:0; right:0; bottom:0; border-radius:24px 24px 0 0; padding:20px 20px calc(20px + env(safe-area-inset-bottom));
  background:rgba(16,16,26,.85); backdrop-filter:blur(24px) saturate(160%); -webkit-backdrop-filter:blur(24px) saturate(160%);
  border:1px solid var(--glass-line-strong); border-bottom:0; box-shadow:0 -20px 60px rgba(0,0,0,.5);
}
.more-sheet .sheet a, .more-sheet .sheet button{ width:100%; display:flex; align-items:center; gap:13px; padding:14px 4px; font-size:.9rem; border:0; border-bottom:1px solid var(--glass-line); color:var(--ink); background:transparent; font-family:inherit; text-align:left; cursor:pointer; }
.more-sheet .sheet > :last-child a, .more-sheet .sheet > :last-child button, .more-sheet .sheet > a:last-child{ border-bottom:0; }
.sheet-form{ margin:0; }
.more-sheet .sheet i{ background:var(--accent-grad); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:1.05rem; width:22px; text-align:center; }

/* ---------- Profile header (bigger, centered, more harmonious) ---------- */
.profile-header{ margin-top:14px; display:flex; flex-direction:column; align-items:center; text-align:center; padding:26px 20px; }
.profile-header-avatar-ring{
  width:112px; height:112px; border-radius:50%; padding:4px; margin-bottom:14px;
  background:var(--accent-grad); display:grid; place-items:center;
}
.profile-header-avatar{ width:104px; height:104px; border-radius:50%; object-fit:cover; display:block; }
.profile-header-avatar-fallback{
  background:#12141c; color:#fff; display:grid; place-items:center;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:2.4rem;
}
.profile-header-name{ font-family:'Unbounded','Inter',sans-serif; font-weight:700; font-size:1.3rem; line-height:1.3; margin-top:2px; }
.profile-avatar-form{ display:flex; align-items:center; gap:8px; margin-top:16px; }
.profile-badges{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:14px; }
.profile-badge{
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  background:color-mix(in srgb, var(--badge-color) 20%, transparent);
  border:1px solid color-mix(in srgb, var(--badge-color) 45%, transparent);
  color:var(--badge-color); font-size:1.05rem; cursor:default;
}
.profile-avatar-form input[type=file]{ font-size:.72rem; color:var(--ink-faint); max-width:150px; border:0; padding:0; background:none; }

/* ---------- Roster: profile "business cards" ---------- */
.card-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
.roster-search-field{ margin:18px 0 14px; }
.profile-card{
  border-radius:var(--radius-m); padding:18px 14px; display:flex; flex-direction:column; align-items:center;
  text-align:center; transition:transform .15s ease, border-color .15s ease;
}
.profile-card:hover{ transform:translateY(-2px); border-color:var(--glass-line-strong); }
.profile-card-avatar{ width:64px; height:64px; border-radius:50%; object-fit:cover; margin-bottom:10px; }
.profile-card-avatar-fallback{
  display:grid; place-items:center; background:rgba(255,61,138,.16); color:#FF7FB0;
  font-family:'Unbounded',sans-serif; font-weight:700; font-size:1.3rem;
}
.profile-card-name{ font-family:'Unbounded','Inter',sans-serif; font-weight:600; font-size:.9rem; line-height:1.3; color:var(--ink); }
.profile-card-nick{ font-size:.68rem; color:var(--ink-faint); margin-top:2px; }
.profile-card-where{ font-size:.7rem; color:var(--ink-soft); margin-top:8px; }
.profile-card-stat{
  margin-top:10px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:.78rem;
  color:var(--gold); background:var(--gold-bg); padding:4px 10px; border-radius:999px;
}

/* ============================================================
   SHADOW FORGE — visual override layer
   ============================================================ */
:root{
  --bg:#05070a;
  --surface:#0a0f14;
  --surface-2:#0e151c;
  --surface-3:#141d25;
  --glass:rgba(12,18,24,.9);
  --glass-strong:rgba(20,29,37,.96);
  --glass-line:rgba(160,181,198,.16);
  --glass-line-strong:rgba(192,211,225,.34);
  --ink:#eef3f6;
  --ink-soft:rgba(226,235,241,.72);
  --ink-faint:rgba(192,207,218,.44);
  --grad-1:#ff6438;
  --grad-2:#ffb15c;
  --grad-3:#b62d1f;
  --grad-4:#55dff5;
  --ember:#ff6438;
  --ember-hot:#ffbd73;
  --ember-dark:#7f2118;
  --frost:#6ee7f5;
  --steel:#a8bdca;
  --accent-grad:linear-gradient(115deg,#ff4d2e 0%,#ff8a3d 48%,#ffc477 100%);
  --success:#70e5aa;
  --success-bg:rgba(48,173,113,.12);
  --danger:#ff6d73;
  --danger-bg:rgba(217,48,58,.13);
  --gold:#ffc65f;
  --gold-bg:rgba(255,170,51,.12);
  --radius-l:6px;
  --radius-m:4px;
  --radius-s:3px;
  --shadow:0 24px 70px rgba(0,0,0,.44),0 1px 0 rgba(255,255,255,.025) inset;
  --pointer-x:50vw;
  --pointer-y:20vh;
}

html{ background:#030507; }
body{
  position:relative; isolation:isolate; overflow-x:hidden; padding-bottom:118px;
  background:
    radial-gradient(circle at 75% -10%,rgba(132,35,20,.18),transparent 34%),
    linear-gradient(180deg,#05070a 0%,#070b0f 44%,#040608 100%);
  background-attachment:fixed; animation:none;
  font-family:'Inter',system-ui,sans-serif;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.18;
  background-image:
    repeating-radial-gradient(circle at 0 0,transparent 0 2px,rgba(255,255,255,.045) 3px 4px),
    linear-gradient(115deg,transparent 20%,rgba(255,255,255,.018) 50%,transparent 72%);
  background-size:5px 5px,100% 100%; mix-blend-mode:soft-light;
}
.world-atmosphere{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.world-grid{
  position:absolute; inset:-20%; opacity:.22; transform:perspective(700px) rotateX(66deg) translateY(24%);
  transform-origin:center bottom;
  background-image:linear-gradient(rgba(110,231,245,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(110,231,245,.09) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:radial-gradient(ellipse at center,black 0%,transparent 67%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 67%);
}
.world-ember,.world-frost{ position:absolute; border-radius:50%; filter:blur(90px); opacity:.16; }
.world-ember{ width:580px; height:580px; right:-240px; top:-180px; background:#d83d22; }
.world-frost{ width:520px; height:520px; left:-260px; top:38%; background:#1789a1; opacity:.1; }
.world-atmosphere::after{
  content:""; position:absolute; width:520px; height:520px; left:calc(var(--pointer-x) - 260px); top:calc(var(--pointer-y) - 260px);
  border-radius:50%; background:radial-gradient(circle,rgba(255,111,62,.055),transparent 68%); transition:opacity .3s;
}
.page-shell,header.site,.bottom-nav,.more-sheet{ position:relative; }
.page-shell{ z-index:2; min-height:calc(100vh - 90px); }
.wrap{ max-width:520px; padding-left:18px; padding-right:18px; }
@media (min-width:760px){ .wrap{ max-width:1120px; padding-left:30px; padding-right:30px; } }

/* forged surfaces */
.glass,.tile,.panel,.stat-card,.guide-card,.list,.kpi-row,.gift-scroll,.profile-card,.redeem-row,.bar-wrap{
  background:
    linear-gradient(135deg,rgba(255,255,255,.032),transparent 34%),
    linear-gradient(180deg,rgba(16,23,30,.96),rgba(7,11,15,.96));
  border:1px solid var(--glass-line); border-radius:var(--radius-m);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:var(--shadow);
}
.panel,.guide-card,.profile-card,.stat-card,.list{ position:relative; }
.panel::before,.guide-card::before,.profile-card::before,.stat-card::before{
  content:""; position:absolute; left:-1px; top:14px; width:2px; height:28px; background:linear-gradient(var(--ember),transparent); opacity:.7;
}
.spotlight-card{ --mx:50%; --my:50%; position:relative; }
.spotlight-card::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0; transition:opacity .3s;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(255,122,68,.11),transparent 62%);
}
.spotlight-card:hover::after{ opacity:1; }
.spotlight-card > *{ position:relative; z-index:1; }

/* header / insignia */
header.site{
  z-index:30; background:rgba(4,7,9,.84); border:0; border-bottom:1px solid rgba(172,196,210,.14);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  transition:background .25s ease,box-shadow .25s ease;
}
header.site.scrolled{ background:rgba(3,6,8,.95); box-shadow:0 14px 42px rgba(0,0,0,.38); }
header.site::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(90deg,transparent,var(--ember),transparent); opacity:.32; }
.status-row{ min-height:72px; padding-top:10px; padding-bottom:10px; }
.brand{ gap:13px; }
.brand-sigil{
  position:relative; width:44px; height:44px; flex:none; display:grid; place-items:center;
  border:1px solid rgba(255,171,100,.5); transform:rotate(45deg);
  background:linear-gradient(135deg,rgba(255,99,56,.15),rgba(8,12,16,.9));
  box-shadow:0 0 24px rgba(255,88,42,.12),inset 0 0 16px rgba(255,98,49,.07);
}
.brand-sigil::before{ content:""; position:absolute; inset:5px; border:1px solid rgba(255,255,255,.12); }
.brand-sigil span{ transform:rotate(-45deg); font-family:'Barlow Condensed',sans-serif; font-size:.77rem; font-weight:800; letter-spacing:.08em; color:var(--ember-hot); }
.brand-sigil i{ position:absolute; width:5px; height:5px; right:-3px; top:-3px; background:var(--ember); box-shadow:0 0 10px var(--ember); }
.brand-text{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.brand-text b{ font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; line-height:1; letter-spacing:.1em; color:var(--ink); background:none; }
.brand-text span{ margin-top:4px; font-size:.57rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-faint); }
.status-right{ gap:14px; }
#clock{ padding-left:14px; border-left:1px solid var(--glass-line); font-size:.64rem; letter-spacing:.06em; }
.lang-toggle{ border-radius:2px; background:#080d11; border-color:var(--glass-line); }
.lang-toggle a{ padding:6px 9px; }
.lang-toggle a.active{ background:var(--ember); color:#080a0c; }

/* home command hero */
.command-hero{
  min-height:390px; margin-top:30px; padding:46px 48px; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); align-items:center;
  border:1px solid rgba(174,194,207,.2); border-radius:3px;
  clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));
  background:
    linear-gradient(90deg,rgba(7,11,15,.98) 0%,rgba(7,11,15,.9) 52%,rgba(12,17,22,.66) 100%),
    radial-gradient(circle at 78% 45%,rgba(255,82,39,.17),transparent 28%),
    repeating-linear-gradient(120deg,transparent 0 28px,rgba(255,255,255,.017) 29px 30px);
  box-shadow:0 45px 100px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.04);
}
.command-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,var(--ember) 0 88px,transparent 88px) top left/100% 2px no-repeat,linear-gradient(180deg,var(--frost),transparent) top right/1px 44% no-repeat;
  opacity:.72;
}
.hero-scanline{ position:absolute!important; z-index:2!important; inset:-100% 0 auto; height:60%; pointer-events:none; background:linear-gradient(transparent,rgba(110,231,245,.035),transparent); }
.system-kicker{ display:flex; align-items:center; gap:10px; font-family:'JetBrains Mono',monospace; font-size:.63rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ember-hot); }
.system-kicker i{ width:34px; height:1px; background:var(--ember); box-shadow:0 0 8px var(--ember); }
.hero-copy{ max-width:610px; }
.hero-copy h1{ margin:16px 0 15px; font-family:'Cinzel',serif; font-size:clamp(3.4rem,7.2vw,6.8rem); font-weight:700; line-height:.78; letter-spacing:-.065em; text-transform:uppercase; color:#f1f2ef; text-shadow:0 12px 50px rgba(0,0,0,.9); }
.hero-copy h1 span{ display:block; margin:0 0 16px 5px; font-family:'JetBrains Mono',monospace; font-size:.74rem; line-height:1; letter-spacing:.45em; color:var(--frost); text-shadow:0 0 15px rgba(83,220,241,.35); }
.hero-copy p{ max-width:550px; margin:0; color:var(--ink-soft); font-size:.88rem; line-height:1.7; }
.hero-actions{ display:grid; grid-template-columns:1fr; gap:10px; width:min(100%,320px); margin-top:26px; }
.hero-actions .btn{ width:100%; min-height:50px; justify-content:center; padding:13px 18px; font-size:1.02rem; }
.iso-core{ position:relative!important; width:290px; height:290px; justify-self:center; display:grid; place-items:center; filter:drop-shadow(0 24px 30px rgba(0,0,0,.55)); }
.core-ring{ position:absolute; border-radius:50%; }
.ring-one{ inset:7px; border:1px solid rgba(255,128,70,.38); background:repeating-conic-gradient(from 5deg,rgba(255,133,73,.85) 0 1deg,transparent 1deg 12deg); mask-image:radial-gradient(circle,transparent 0 47%,black 48% 50%,transparent 51%); }
.ring-one{ -webkit-mask-image:radial-gradient(circle,transparent 0 47%,black 48% 50%,transparent 51%); }
.ring-two{ inset:40px; border:1px dashed rgba(110,231,245,.34); }
.ring-three{ inset:71px; border:1px solid rgba(255,184,109,.4); box-shadow:0 0 42px rgba(255,74,35,.13),inset 0 0 32px rgba(255,90,42,.1); }
.core-center{ width:112px; height:112px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(circle,#1d1b19 0%,#0b0f13 66%); border:1px solid rgba(255,170,96,.45); box-shadow:0 0 32px rgba(255,89,39,.2),inset 0 0 25px rgba(255,92,45,.08); }
.core-center b{ font-family:'Barlow Condensed',sans-serif; font-size:2rem; line-height:.9; letter-spacing:.13em; color:var(--ember-hot); }
.core-center small{ margin-top:8px; font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.4em; color:var(--ink-faint); }
.core-tick{ position:absolute; left:50%; top:0; width:1px; height:18px; background:var(--ember-hot); transform-origin:50% 145px; box-shadow:0 0 8px var(--ember); }
.tick-two{ transform:rotate(90deg); }.tick-three{ transform:rotate(180deg); }.tick-four{ transform:rotate(270deg); }

/* data strip */
.kpi-row{ margin-top:-1px; border-radius:0; border-top-color:rgba(255,102,54,.28); box-shadow:0 30px 70px rgba(0,0,0,.3); }
.kpi{ position:relative; padding:20px 12px 18px; border-right-color:var(--glass-line); text-align:left; }
.kpi::before{ content:""; position:absolute; left:12px; top:11px; width:18px; height:1px; background:var(--ember); opacity:.6; }
.kpi .num{ margin-top:5px; font-family:'Barlow Condensed',sans-serif; font-size:1.8rem; font-weight:700; letter-spacing:.02em; }
.kpi .lbl{ margin-top:0; font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.12em; }
.kpi.accent .num{ color:var(--ember-hot); background:none; }
.kpi-link:hover{ background:rgba(255,94,43,.055); }
.kpi-record-meta{ display:flex; align-items:center; gap:7px; min-width:0; overflow:hidden; white-space:nowrap; }
.kpi-record-label{ flex:none; }
.kpi-record-name{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--frost); font-family:'Inter',system-ui,sans-serif; font-size:.96em;
  font-weight:600; letter-spacing:0; text-transform:none;
}

/* typography / section dividers */
.page-title,.section-head h2,.tile h3,.folder-head,.community-text b,.community-banner-cta b,.profile-card-name{
  font-family:'Barlow Condensed','Inter',sans-serif;
}
.display,.community-avatar-fallback,.profile-card-avatar-fallback,.profile-header-avatar-fallback{
  font-family:'Barlow Condensed','Inter',sans-serif;
}
.page-title{ position:relative; margin-top:34px; padding-left:17px; font-size:2rem; font-weight:700; letter-spacing:.035em; text-transform:uppercase; }
.page-title::before{ content:""; position:absolute; left:0; top:.18em; width:3px; height:.8em; background:var(--ember); box-shadow:0 0 12px rgba(255,95,46,.5); }
.section-head{ position:relative; align-items:center; gap:14px; margin:38px 0 14px; }
.section-head::after{ content:""; flex:1; height:1px; order:1; background:linear-gradient(90deg,var(--glass-line),transparent); }
.section-head h2{ order:0; flex:none; font-size:1.2rem; font-weight:700; letter-spacing:.12em; }
.section-head .tag{ order:2; flex:none; padding:4px 8px; border:1px solid var(--glass-line); color:var(--frost); font-size:.54rem; }
.page-sub{ letter-spacing:.035em; }
.prose{ color:var(--ink-soft); }
.prose h1,.prose h2,.prose h3{ font-family:'Barlow Condensed',sans-serif; letter-spacing:.04em; }
.prose a{ color:var(--frost); }

/* operation modules */
.bento{ grid-template-columns:repeat(12,1fr); gap:12px; }
.tile{ border-radius:3px; padding:24px; min-height:190px; gap:10px; transform-style:preserve-3d; transition:transform .2s ease,border-color .2s,box-shadow .2s; }
.tilt-card{ will-change:transform; }
.tile:hover{ border-color:rgba(255,131,73,.42); box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,94,45,.08) inset; }
.tile.wide{ grid-column:auto; }
.tile.module-bear{ grid-column:span 8; min-height:320px; padding:32px; }
.tile.module-guides{ grid-column:span 4; min-height:320px; }
.tile.module-gift{ grid-column:9 / span 4; min-height:180px; }
.tile.module-tool{ grid-column:span 4; min-height:220px; }

/* Home modules: balanced desktop cards instead of the old 8/4 staggered grid. */
@media(min-width:760px){
  .home-module-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    gap:16px;
  }
  .home-module-grid .tile.module-bear,
  .home-module-grid .tile.module-guides,
  .home-module-grid .tile.module-gift{
    grid-column:auto;
    min-width:0;
    min-height:410px;
    padding:22px;
  }
  .home-module-grid .tile-img,
  .home-module-grid .tile.module-bear .tile-img{
    width:calc(100% + 46px);
    height:188px;
    margin:-23px -23px 10px;
    object-fit:cover;
  }
  .home-module-grid .tile .icn,
  .home-module-grid .tile.hero .icn{
    display:none;
  }
  .home-module-grid .tile-topline{
    margin:0 0 8px;
    min-height:20px;
    font-size:.62rem;
  }
  .home-module-grid .tile h3,
  .home-module-grid .tile.hero h3{
    max-width:100%;
    font-size:1.65rem;
  }
  .home-module-grid .tile p{
    max-width:100%;
  }
  .home-module-grid .tile > .badge{
    align-self:flex-start;
    margin-top:auto;
  }
  .home-module-grid .mini-bars{
    margin-top:auto;
  }
}

@media(min-width:760px) and (max-width:980px){
  .home-module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-module-grid .tile.module-gift{
    grid-column:1 / -1;
    min-height:360px;
  }
}

/* Dedicated tool area on the dashboard, ready for more calculators later. */
.home-tools-grid{ gap:16px; }
@media(min-width:760px){
  .home-tools-grid{ grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); align-items:stretch; }
  .home-tools-grid .tile{ grid-column:auto; min-width:0; min-height:410px; padding:22px; }
  .home-tools-grid .tile-img{
    width:calc(100% + 46px);
    height:188px;
    margin:-23px -23px 10px;
    object-fit:cover;
  }
  .home-tools-grid .tile .icn{ display:none; }
  .home-tools-grid .tile-topline{ margin:0 0 8px; min-height:20px; font-size:.62rem; }
  .home-tools-grid .tile h3{ max-width:100%; font-size:1.65rem; }
  .home-tools-grid .tile p{ max-width:100%; }
  .home-tools-grid .tile > .badge{ align-self:flex-start; margin-top:auto; }
}
.tile.compact{ padding:24px; min-height:180px; gap:10px; }
.tile.compact p{ display:block; }
.tile::before{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 42%); }
.module-bear::before{ background:radial-gradient(circle at 90% 10%,rgba(255,87,37,.18),transparent 32%),repeating-linear-gradient(125deg,transparent 0 32px,rgba(255,255,255,.018) 33px 34px); }
.module-guides::before{ background:radial-gradient(circle at 100% 0,rgba(76,214,238,.12),transparent 38%),linear-gradient(135deg,rgba(255,255,255,.025),transparent 50%); }
.module-gift::before{ background:radial-gradient(circle at 90% 10%,rgba(255,188,91,.1),transparent 38%); }
.module-bear-optimizer::before{ background:radial-gradient(circle at 92% 8%,rgba(110,231,245,.14),transparent 36%),repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.016) 35px 36px); }
.module-championship-planner::before{ background:radial-gradient(circle at 92% 8%,rgba(255,188,91,.14),transparent 36%),repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.016) 35px 36px); }
.tile-topline{ display:flex!important; align-items:center; justify-content:space-between; margin-bottom:auto; font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.14em; color:var(--ink-faint); }
.tile-topline > i{ color:var(--ember-hot); font-size:1rem; transition:transform .2s; }
.tile:hover .tile-topline > i{ transform:translate(3px,-3px); }
.tile .icn{ width:50px; height:50px; border-radius:2px; border:1px solid var(--glass-line); background:#0a1015; color:var(--steel); font-size:1.3rem; box-shadow:none; }
.tile.hero .icn{ width:62px; height:62px; border-radius:2px; font-size:1.55rem; }
.module-bear .icn{ color:var(--ember-hot); border-color:rgba(255,116,61,.32); background:rgba(133,37,20,.12); }
.module-guides .icn{ color:var(--frost); background:rgba(27,116,133,.1); border-color:rgba(88,215,236,.26); }
.module-gift .icn{ color:var(--gold); background:rgba(137,85,21,.1); border-color:rgba(255,188,91,.25); }
.module-bear-optimizer .icn{ color:var(--frost); background:rgba(21,102,119,.12); border-color:rgba(110,231,245,.34); }
.tile h3{ font-size:1.7rem; line-height:1; text-transform:uppercase; letter-spacing:.04em; }
.tile.hero h3{ font-size:2.25rem; }
.tile p,.tile.hero p{ font-size:.78rem; line-height:1.6; color:var(--ink-soft); }
.tile .badge{ border-radius:2px; border:1px solid var(--glass-line); background:transparent!important; color:var(--ink-faint)!important; font-family:'JetBrains Mono',monospace; letter-spacing:.06em; }
.tile-img{ width:calc(100% + 50px); margin:-25px -25px 4px; border-radius:2px 2px 0 0; filter:saturate(.8) contrast(1.08) brightness(.68); }
.tile.module-bear .tile-img{ width:calc(100% + 66px); margin:-33px -33px 8px; }
.tile:has(.tile-img)::before{ z-index:1; background:linear-gradient(180deg,transparent 0%,rgba(7,11,15,.82) 42%,rgba(7,11,15,.98) 72%); }
.tile:has(.tile-img) .icn{ margin-top:-45px; border:1px solid rgba(255,126,65,.42); }
.mini-bars{ gap:5px; height:52px!important; padding-top:8px; border-bottom:1px solid var(--glass-line); }
.mini-bars i{ border-radius:0; background:linear-gradient(180deg,rgba(110,231,245,.42),rgba(110,231,245,.06)); border-top:1px solid var(--frost); }
.mini-bars i:last-child{ background:linear-gradient(180deg,var(--ember),rgba(255,80,35,.09)); border-top-color:var(--ember-hot); box-shadow:0 -8px 24px rgba(255,84,38,.16); }
.new-dot{
  top:15px; right:15px; width:9px; height:9px; border-radius:1px; transform:rotate(45deg);
  background:var(--ember-hot); box-shadow:0 0 0 3px rgba(255,107,54,.13),0 0 16px rgba(255,91,43,.72);
}

/* community / content cards */
.community-banner,.community-banner-cta{ border-left:2px solid rgba(110,231,245,.55); }
.community-avatar{ width:58px; height:58px; border-radius:2px; }
.community-avatar-fallback,.profile-card-avatar-fallback{ background:linear-gradient(135deg,rgba(255,99,56,.18),rgba(110,231,245,.08)); color:var(--ember-hot); }
.community-text b,.community-banner-cta b{ font-size:1.25rem; text-transform:uppercase; letter-spacing:.035em; }
.community-banner > i{ color:var(--frost); }
.list{ border-radius:3px; }
.list a,.list .row{ padding:16px 18px; border-bottom-color:rgba(168,189,202,.11); }
.list a:hover{ background:linear-gradient(90deg,rgba(255,96,45,.065),transparent); }
.list .dot{ width:14px; height:1px; border-radius:0; background:var(--ember); box-shadow:0 0 8px rgba(255,93,45,.4); }
.list .txt b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:.025em; }
.guide-grid{ gap:10px; }
.guide-card{ min-height:98px; justify-content:center; padding:18px; border-radius:3px; }
.guide-card:hover{ border-color:rgba(110,231,245,.35); transform:translateY(-2px); }
.guide-card b{ font-family:'Barlow Condensed',sans-serif; font-size:1.07rem; letter-spacing:.025em; }
.folder-head{ font-size:1.05rem; text-transform:uppercase; letter-spacing:.09em; }
.folder-head i{ color:var(--frost); }

/* Guide covers: compact 16:9 cards in the overview and a cinematic article hero. */
.guide-card-copy{ display:flex; flex-direction:column; gap:5px; position:relative; z-index:1; }
.guide-card.has-cover{
  display:block; min-height:0; padding:0; overflow:hidden; justify-content:initial;
  background:#080d11;
}
.guide-card-image{
  display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover;
  border-bottom:1px solid rgba(110,231,245,.16); transition:transform .35s ease,filter .35s ease;
}
.guide-card.has-cover .guide-card-copy{ min-height:82px; padding:14px 17px 16px; justify-content:center; }
.guide-card.has-cover:hover .guide-card-image{ transform:scale(1.025); filter:saturate(1.08) contrast(1.03); }

.guide-article-hero{
  position:relative; min-height:clamp(300px,46vw,520px); margin:18px 0 20px; overflow:hidden;
  border:1px solid rgba(166,190,205,.2); border-radius:3px; background:#070b0f; isolation:isolate;
  box-shadow:0 32px 85px rgba(0,0,0,.46);
}
.guide-article-hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(3,6,9,.05) 12%,rgba(3,6,9,.36) 48%,rgba(3,6,9,.96) 100%),
             linear-gradient(90deg,rgba(3,6,9,.5),transparent 64%);
}
.guide-article-hero > img{
  position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover;
}
.guide-article-hero-copy{ position:absolute; left:clamp(22px,5vw,54px); right:clamp(22px,5vw,54px); bottom:clamp(24px,5vw,52px); }
.guide-article-hero .page-title{
  max-width:850px; margin:8px 0 8px; padding:0; color:#fff; font-size:clamp(2.2rem,5vw,4.5rem);
  line-height:.95; letter-spacing:.015em; text-shadow:0 3px 24px rgba(0,0,0,.82);
}
.guide-article-hero .page-title::before{ display:none; }
.guide-hero-folder,.guide-hero-date{
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(231,241,246,.78); text-shadow:0 2px 12px rgba(0,0,0,.9);
}
.guide-hero-folder{ display:inline-flex; padding:5px 8px; border:1px solid rgba(110,231,245,.42); background:rgba(3,9,12,.48); color:#b9f3fa; }

.guide-image-admin-field{ max-width:680px; }
.guide-image-admin-preview{
  display:block; width:100%; max-width:560px; aspect-ratio:16 / 9; object-fit:cover; margin:0 0 10px;
  border:1px solid var(--glass-line); border-radius:2px; background:#070b0f;
}
.guide-image-admin-field input[type=file]{
  display:block; width:100%; padding:10px; color:var(--ink-soft); background:#080d11;
  border:1px solid rgba(166,190,205,.2); border-radius:2px;
}
.guide-image-remove{ margin-top:10px; }
.admin-guide-title-icon{ display:inline-block; margin-right:5px; color:var(--frost); vertical-align:-.08em; }

/* data cards / leaderboard */
.stat-card{ padding:19px; border-radius:3px; }
.stat-card .lbl{ font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.1em; }
.stat-card .val{ font-family:'Barlow Condensed',sans-serif; font-size:1.65rem; }
.stat-card.ember{ border-top:1px solid rgba(255,177,92,.35); }
.stat-card.verdigris{ border-top:1px solid rgba(110,231,245,.35); }
.round-tabs{ gap:7px; scrollbar-width:none; }
.round-tabs a{ border-radius:2px; padding:8px 14px; background:rgba(7,12,16,.7); letter-spacing:.05em; }
.round-tabs a.active{ background:rgba(255,100,56,.14); color:var(--ember-hot); border-color:rgba(255,111,61,.42); }
.trap-best-ever{ border-left:2px solid var(--gold); }
.leaderboard{ gap:7px; }
.leader-row{ transition:transform .15s; }
.leader-row:hover{ transform:translateX(3px); }
.leader-row .rank{ border-radius:2px; font-family:'Barlow Condensed',sans-serif; font-size:.8rem; background:#111820; }
.leader-row .bar-wrap{ border-radius:2px; padding:11px 14px; background:linear-gradient(90deg,#0f171e,#080d11); }
.leader-row .bar-fill{ border-radius:0; background:linear-gradient(90deg,rgba(67,195,214,.17),rgba(67,195,214,.03)); border-right:1px solid rgba(110,231,245,.4); }
.leader-row.r1 .bar-fill{ background:linear-gradient(90deg,rgba(255,174,72,.19),rgba(255,174,72,.025)); border-right-color:var(--gold); }
.trap-detail,.trap-stat-box,.trap-chart-wrap{ border-radius:2px; background:#080d11; }

/* archive / controls */
.gift-row .code{ border-radius:2px; color:var(--frost); background:rgba(52,165,184,.08); }
.field label{ font-family:'Barlow Condensed',sans-serif; font-size:.88rem; letter-spacing:.055em; text-transform:uppercase; }
input[type=text],input[type=password],input[type=number],input[type=date],input[type=search],select,textarea{
  width:100%; border-radius:2px; background:#080d11; border-color:rgba(166,190,205,.2); color:var(--ink); padding:12px 13px;
  box-shadow:inset 0 1px 9px rgba(0,0,0,.32);
}
input[readonly]{ color:var(--steel); background:#0c1319; border-style:dashed; cursor:not-allowed; }
input:hover,select:hover,textarea:hover{ border-color:rgba(166,190,205,.35); }
input:focus,select:focus,textarea:focus{ outline:1px solid var(--ember); border-color:var(--ember); box-shadow:0 0 0 3px rgba(255,95,45,.08); }
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--frost); outline-offset:3px;
}
.btn{ border-radius:2px; min-height:40px; padding:10px 18px; font-family:'Barlow Condensed','Inter',sans-serif; font-size:.9rem; text-transform:uppercase; letter-spacing:.07em; }
.btn.primary{ background:var(--accent-grad); color:#100b08; box-shadow:0 8px 22px rgba(214,60,26,.18); }
.btn.ghost{ background:#0a0f14; }
.btn.danger{ border:1px solid rgba(255,109,115,.28); }
.flash{ border-radius:2px; border-left-width:3px; }

/* secure access pages */
.login-shell{ position:relative; max-width:430px; margin:clamp(64px,12vh,120px) auto 0; }
.login-shell::before{
  content:"ISO // SECURE ACCESS"; display:block; margin:0 0 12px; padding:0 0 9px;
  border-bottom:1px solid var(--glass-line); color:var(--ink-faint);
  font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.18em;
}
.login-shell .panel{ padding:26px; border-top-color:rgba(255,111,57,.42); }
.login-shell .btn[type=submit]{ width:100%; justify-content:center; }
.register-shell{ max-width:520px; }
.registration-request-box{ margin-top:18px; padding-top:18px; border-top:1px solid var(--glass-line); }
.registration-request-head{ display:flex; align-items:flex-start; gap:12px; margin-bottom:16px; }
.registration-request-head > i{
  display:grid; place-items:center; flex:none; width:42px; height:42px; border:1px solid rgba(110,231,245,.3);
  color:var(--frost); background:rgba(39,151,170,.09); font-size:1.2rem;
}
.registration-request-head b{ display:block; font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.04em; }
.registration-request-head p{ margin:4px 0 0; color:var(--ink-soft); font-size:.8rem; line-height:1.55; }
.registration-request-status{
  padding:14px 16px; border-left:3px solid var(--frost); background:rgba(39,151,170,.08);
  color:var(--ink-soft); font-size:.82rem; line-height:1.5;
}
.registration-request-status.pending{ border-left-color:var(--gold); background:rgba(255,188,91,.07); }
.registration-request-status.rejected{ border-left-color:var(--danger); background:rgba(255,91,98,.07); }
.registration-request-status.info{ border-left-color:var(--frost); }

.access-request-intro{ margin-bottom:10px; border-left:2px solid var(--frost); }
.access-request-form{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:end; width:100%; }
.access-request-fields{ min-width:0; }
.access-request-fields label > span{
  display:block; margin-bottom:6px; color:var(--ink-soft); font-family:'Barlow Condensed',sans-serif;
  font-size:.78rem; letter-spacing:.055em; text-transform:uppercase;
}
.access-request-fields small{ display:block; margin-top:6px; color:var(--ink-faint); font-size:.6rem; }
.access-request-actions{ display:flex; align-items:center; gap:7px; }
.access-request-actions .btn{ width:auto; white-space:nowrap; }

/* Central player identity editor. The compact disclosure keeps long account
   lists clean while allowing the same FID-backed rename on every row. */
.player-admin-row{ flex-wrap:wrap; }
.list .player-admin-profile-link{
  display:block; flex:1; min-width:0; padding:0; border:0; background:none;
}
.list .player-admin-profile-link:hover{ background:none; }
.player-rename-control{ flex:none; min-width:0; }
.player-rename-control summary{ list-style:none; cursor:pointer; user-select:none; }
.player-rename-control summary::-webkit-details-marker{ display:none; }
.player-rename-control[open]{ order:10; flex-basis:100%; width:100%; padding-top:10px; border-top:1px solid var(--glass-line); }
.player-rename-control[open] summary{ width:max-content; margin:0 0 10px auto; }
.player-rename-form{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; width:100%;
}
.player-rename-form .field{ min-width:0; margin:0; }
.player-rename-form .btn{ white-space:nowrap; }
.player-rename-form-detail{ margin-bottom:0; padding-bottom:14px; }
.player-rename-hint{ margin:0 0 16px; padding-bottom:16px; border-bottom:1px solid var(--glass-line); line-height:1.55; }
.player-rename-list-hint{ margin:10px 2px 0; line-height:1.55; }

/* long guide content stays usable on narrow screens */
.prose table{ display:block; width:100%; overflow-x:auto; border-collapse:collapse; scrollbar-width:thin; }
.prose th,.prose td{ padding:10px; border-bottom:1px solid var(--glass-line); text-align:left; }
.prose blockquote{ margin:18px 0; padding:14px 18px; border-left:2px solid var(--ember); background:rgba(255,100,56,.045); }
.prose code{ color:var(--frost); }

/* Server #913 age counter and progression timeline guide */
.server-age-card{
  position:relative; isolation:isolate; overflow:hidden; margin:0 0 30px; padding:26px 28px;
  border:1px solid rgba(255,116,61,.34); background:
    radial-gradient(circle at 85% 20%,rgba(255,100,48,.2),transparent 34%),
    linear-gradient(125deg,rgba(28,16,15,.98),rgba(8,16,21,.98) 58%,rgba(7,30,35,.96));
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.045);
}
.server-age-card::after{
  content:"913"; position:absolute; z-index:-1; right:-10px; bottom:-40px;
  color:rgba(255,255,255,.035); font-family:'Barlow Condensed',sans-serif; font-size:11rem;
  font-weight:800; line-height:1; letter-spacing:-.05em;
}
.server-age-card__status{
  display:flex; align-items:center; gap:8px; margin-bottom:16px; color:var(--frost);
  font-family:'JetBrains Mono',monospace; font-size:.61rem; letter-spacing:.14em; text-transform:uppercase;
}
.server-age-card__status span{
  width:7px; height:7px; border-radius:50%; background:#6ee7b7;
  box-shadow:0 0 0 4px rgba(110,231,183,.1),0 0 14px rgba(110,231,183,.65);
}
.prose .server-age-card__label{ margin:0; color:var(--ink-soft); font-size:.86rem; letter-spacing:.02em; }
.server-age-card__value{ display:flex; align-items:baseline; gap:10px; margin:2px 0 5px; color:var(--ink); }
.server-age-card__value strong{
  color:var(--ember-hot); font-family:'Barlow Condensed',sans-serif; font-size:4.65rem;
  font-weight:800; line-height:.95; letter-spacing:-.035em; text-shadow:0 0 28px rgba(255,94,45,.22);
}
.server-age-card__value span{
  font-family:'Barlow Condensed',sans-serif; font-size:1.55rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.prose .server-age-card__start{
  margin:0; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.66rem; letter-spacing:.035em;
}
.server-timeline{ position:relative; margin:26px 0 4px; }
.server-timeline::before{
  content:""; position:absolute; top:5px; bottom:5px; left:113px; width:1px;
  background:linear-gradient(180deg,var(--ember),rgba(103,232,249,.5) 74%,transparent);
}
.server-timeline__item{
  position:relative; display:grid; grid-template-columns:90px minmax(0,1fr); gap:48px;
  min-height:82px; padding:0 0 20px;
}
.server-timeline__item::before{
  content:""; position:absolute; top:8px; left:108px; width:9px; height:9px; border-radius:50%;
  border:2px solid #071015; background:var(--ember-hot); box-shadow:0 0 0 4px rgba(255,99,56,.12),0 0 16px rgba(255,99,56,.42);
}
.server-timeline__day{
  padding-top:2px; color:var(--ember-hot); font-family:'JetBrains Mono',monospace;
  font-size:.68rem; font-weight:700; letter-spacing:.035em; text-align:right; white-space:nowrap;
}
.server-timeline__copy{
  padding:15px 18px 16px; border:1px solid rgba(166,190,205,.13);
  background:linear-gradient(115deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  transition:border-color .18s,background .18s,transform .18s;
}
.server-timeline__item:hover .server-timeline__copy{
  transform:translateX(3px); border-color:rgba(255,112,57,.35); background:rgba(255,100,50,.04);
}
.prose .server-timeline__copy h3{
  margin:0 0 5px; color:var(--ink); font-size:1.16rem; font-weight:700; line-height:1.18;
}
.prose .server-timeline__copy p{ margin:0; color:var(--ink-soft); font-size:.83rem; line-height:1.55; }

@media(max-width:600px){
  .server-age-card{ margin-left:-8px; margin-right:-8px; padding:22px 20px; }
  .server-age-card::after{ right:-5px; bottom:-24px; font-size:8rem; }
  .server-age-card__value strong{ font-size:3.9rem; }
  .server-age-card__value span{ font-size:1.25rem; }
  .server-timeline::before{ left:7px; }
  .server-timeline__item{ grid-template-columns:minmax(0,1fr); gap:7px; min-height:0; padding:0 0 20px 29px; }
  .server-timeline__item::before{ top:7px; left:2px; }
  .server-timeline__day{ padding:0; font-size:.68rem; text-align:left; }
  .server-timeline__copy{ padding:14px 15px; }
  .server-timeline__item:hover .server-timeline__copy{ transform:none; }
  .prose .server-timeline__copy h3{ font-size:1.08rem; }
  .prose .server-timeline__copy p{ font-size:.84rem; }
}

::selection{ background:rgba(255,100,56,.34); color:#fff; }
*{ scrollbar-color:rgba(255,111,58,.42) #080d11; }

/* admin command console */
.admin-dashboard-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.admin-dashboard-grid .tile{ grid-column:auto; min-width:0; min-height:170px; }
.admin-nav{ gap:6px; padding:9px; background:rgba(5,9,12,.72); border:1px solid var(--glass-line); }
.admin-nav a,.admin-nav-form button{ border-radius:2px; font-family:'JetBrains Mono',monospace; font-size:.59rem; letter-spacing:.06em; text-transform:uppercase; }
.admin-nav a.active{ background:var(--ember); color:#080a0c; }
.progress-track{ height:5px; border-radius:0; background:#05080b; border:1px solid var(--glass-line); }
.progress-fill{ background:linear-gradient(90deg,var(--ember-dark),var(--ember-hot)); box-shadow:0 0 15px rgba(255,99,56,.35); }
.redeem-row{ border-radius:2px; background:#080d11; }

/* KVK power growth — admin batch entry */
.power-admin-heading{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.power-admin-heading > div{ flex:1; min-width:0; }
.power-admin-heading .btn{ flex:none; }
.power-date-field{ max-width:260px; }
.power-free-topbar{ display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:14px; }
.power-free-counter{ padding:10px 12px; border:1px solid var(--glass-line); color:var(--ink-faint); font-size:.58rem; letter-spacing:.08em; }
.power-free-head,.power-free-row{ display:grid; grid-template-columns:42px minmax(180px,1fr) minmax(170px,230px) 38px; gap:9px; align-items:center; }
.power-free-head{ padding:0 8px 7px; color:var(--ink-faint); font-size:.55rem; letter-spacing:.12em; text-transform:uppercase; }
.power-free-list{ display:flex; flex-direction:column; gap:7px; }
.power-free-row{ min-height:58px; padding:8px; border:1px solid rgba(166,190,205,.14); background:#070c10; }
.power-free-row:focus-within{ border-color:rgba(255,111,58,.42); }
.power-free-rank{ display:grid; place-items:center; min-height:40px; color:var(--ember-hot); font-size:.64rem; border-right:1px solid var(--glass-line); }
.power-free-row input{ min-width:0; }
.power-free-clear{ width:38px; min-width:38px; height:38px; padding:0; justify-content:center; }
.power-free-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.power-free-actions .btn.primary{ margin-left:auto; }
.power-snapshot-list{ margin-bottom:4px; }
.power-snapshot-row{ display:grid; grid-template-columns:42px minmax(0,1fr) auto; }
.power-snapshot-icon{ width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--glass-line); color:var(--frost); }
.power-snapshot-actions{ display:flex; align-items:center; gap:7px; }
.power-snapshot-actions form{ margin:0; }
.power-entry-head,.power-entry-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,220px); gap:10px; align-items:center; }
.power-entry-head{ padding:0 12px 7px; color:var(--ink-faint); font-size:.55rem; letter-spacing:.12em; text-transform:uppercase; }
.power-entry-list{ display:flex; flex-direction:column; gap:7px; }
.power-entry-row{ min-height:60px; padding:8px; border:1px solid rgba(166,190,205,.14); background:#070c10; }
.power-entry-row:focus-within{ border-color:rgba(255,111,58,.42); }
.power-player-cell{ min-width:0; padding:0 5px; }
.power-player-cell b{ display:block; font-family:'Barlow Condensed',sans-serif; font-size:1.08rem; letter-spacing:.03em; }
.power-player-cell small{ display:block; margin-top:3px; color:var(--ink-faint); font-size:.58rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.power-entry-row input,.power-entry-row select{ min-width:0; }
.power-player-search-control{ min-width:0; }
.power-player-search-control input[type=search]{ min-width:0; }
.power-player-search-status{ display:block; min-height:1.2em; margin:5px 2px 0; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; line-height:1.2; }
.power-player-search-status.matched{ color:var(--success); }
.power-player-search-status.many{ color:var(--gold); }
.power-player-search-status.none{ color:var(--danger); }
.power-player-search-status.free{ color:var(--frost); }
.power-player-search[aria-invalid=true]{ border-color:rgba(251,113,133,.55); }
.power-empty-note{ display:flex; align-items:center; gap:9px; margin-top:12px; padding:12px; border:1px dashed var(--glass-line); color:var(--ink-soft); font-size:.78rem; }
.power-empty-note i{ color:var(--frost); font-size:1.1rem; }
.power-roster-rank{ width:28px; flex:none; color:var(--ember-hot); font-size:.65rem; }
.power-batch-form{ display:flex; flex-direction:column; gap:10px; }
.power-batch-toolbar{ display:grid; grid-template-columns:auto minmax(180px,1fr) auto; align-items:center; gap:14px; margin:0; padding:13px 14px; }
.power-select-all{ display:inline-flex; align-items:center; gap:9px; color:var(--ink); cursor:pointer; font-family:'JetBrains Mono',monospace; font-size:.61rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.power-select-all input,.power-entry-check input{ width:17px; height:17px; margin:0; accent-color:var(--ember-hot); cursor:pointer; }
.power-batch-hint{ color:var(--ink-faint); font-size:.68rem; line-height:1.42; }
.power-batch-actions{ display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.power-delete-list{ margin:0; }
.power-delete-row{ display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:11px; }
.power-entry-check{ width:24px; min-height:38px; display:grid; place-items:center; cursor:pointer; }
.power-delete-row .txt{ min-width:0; }
.power-delete-row .txt b,.power-delete-row .txt small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.power-delete-row .btn{ min-width:76px; justify-content:center; }

/* KVK power growth — public Top 20 */
.power-brief{ display:flex; align-items:center; gap:18px; margin-bottom:18px; border-left:2px solid var(--ember); }
.power-brief-mark{ width:64px; height:64px; flex:none; display:grid; place-items:center; border:1px solid rgba(255,111,58,.3); background:rgba(255,100,56,.075); color:var(--ember-hot); font-size:1.8rem; }
.power-brief span{ display:block; margin-bottom:5px; color:var(--frost); font-size:.55rem; letter-spacing:.16em; }
.power-brief h2{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.65rem; text-transform:uppercase; letter-spacing:.04em; }
.power-brief p{ margin:5px 0 0; color:var(--ink-soft); font-size:.78rem; line-height:1.5; }
.power-summary-stats{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.power-negative{ color:var(--danger)!important; }
.power-growth-list{ display:flex; flex-direction:column; gap:8px; }
.power-growth-row{ display:grid; grid-template-columns:42px minmax(0,1fr) minmax(110px,auto); gap:13px; align-items:center; padding:13px 15px; border:1px solid var(--glass-line); background:rgba(5,9,12,.82); box-shadow:0 14px 32px rgba(0,0,0,.25); }
.power-growth-row:hover{ border-color:rgba(110,231,245,.32); transform:translateX(2px); }
.power-growth-rank{ width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(166,190,205,.18); background:#101820; color:var(--ink-faint); font-size:.68rem; }
.power-growth-row.r1 .power-growth-rank{ background:linear-gradient(135deg,#FFE08A,#FBBF24); color:#15100a; border-color:transparent; }
.power-growth-row.r2 .power-growth-rank{ background:linear-gradient(135deg,#E4E7EC,#9BA3AF); color:#11161b; border-color:transparent; }
.power-growth-row.r3 .power-growth-rank{ background:linear-gradient(135deg,#E8A972,#B5652E); color:#170d07; border-color:transparent; }
.power-growth-main{ min-width:0; }
.power-growth-name-line{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.power-growth-name-line b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Barlow Condensed',sans-serif; font-size:1.17rem; letter-spacing:.035em; }
.power-growth-pct{ flex:none; color:var(--success); font-family:'JetBrains Mono',monospace; font-size:.75rem; font-weight:700; }
.power-growth-row.negative .power-growth-pct{ color:var(--danger); }
.power-growth-row.neutral .power-growth-pct{ color:var(--ink-faint); }
.power-growth-track{ height:4px; margin:7px 0 6px; overflow:hidden; background:#030608; border:1px solid rgba(166,190,205,.12); }
.power-growth-track span{ display:block; height:100%; background:linear-gradient(90deg,var(--frost),var(--ember-hot)); box-shadow:0 0 12px rgba(110,231,245,.28); }
.power-growth-row.negative .power-growth-track span{ background:var(--danger); }
.power-growth-meta{ display:flex; justify-content:space-between; gap:12px; color:var(--ink-faint); font-size:.56rem; }
.power-growth-meta i{ color:var(--ember-hot); vertical-align:-1px; }
.power-growth-delta{ min-width:110px; text-align:right; }
.power-growth-delta small{ display:block; margin-bottom:3px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; letter-spacing:.11em; text-transform:uppercase; }
.power-growth-delta b{ color:var(--success); font-family:'JetBrains Mono',monospace; font-size:.82rem; }
.power-growth-delta.negative b{ color:var(--danger); }
.power-growth-delta.neutral b{ color:var(--ink-faint); }
.power-empty-state,.power-method-note{ display:flex; align-items:center; gap:14px; }
.power-empty-state > i,.power-method-note > i{ flex:none; color:var(--frost); font-size:1.5rem; }
.power-empty-state b,.power-method-note b{ font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; letter-spacing:.04em; text-transform:uppercase; }
.power-empty-state p,.power-method-note p{ margin:4px 0 0; color:var(--ink-soft); font-size:.76rem; line-height:1.5; }
.power-more-ranks{ margin-top:10px; border:1px solid var(--glass-line); background:rgba(255,255,255,.012); }
.power-more-ranks summary{ display:flex; align-items:center; justify-content:center; gap:8px; padding:13px 15px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; list-style:none; }
.power-more-ranks summary::-webkit-details-marker{ display:none; }
.power-more-ranks summary i{ transition:transform .18s ease; }
.power-more-ranks[open] summary i{ transform:rotate(180deg); }
.power-growth-list-extra{ padding:0 10px 10px; }
.power-waiting-note{ display:flex; align-items:center; gap:7px; margin:12px 0; color:var(--ink-faint); font-size:.58rem; }
.power-method-note{ margin-top:20px; border-left:2px solid rgba(110,231,245,.48); }

/* Player names may contain stacked Unicode combining marks. A fixed line box
   keeps those glyphs from changing the vertical rhythm of surrounding rows. */
.player-name-text,
.list .txt b.player-name-text,
.profile-card-name.player-name-text,
.profile-header-name.player-name-text,
.leader-row .name.player-name-text,
.power-player-cell b,
.power-growth-name-line b{
  font-family:'Inter',system-ui,sans-serif;
  font-variant-ligatures:none;
  line-height:1.08;
  padding-block:0;
  vertical-align:middle;
}

/* profile / roster — player command card */
.profile-hero{
  position:relative; display:block; min-height:274px; padding:0; overflow:hidden; text-align:left;
  border:1px solid rgba(110,231,245,.2); border-top:2px solid rgba(255,100,56,.6);
  background:
    radial-gradient(circle at 14% 40%,rgba(255,100,56,.13),transparent 30%),
    radial-gradient(circle at 92% 10%,rgba(110,231,245,.1),transparent 32%),
    linear-gradient(135deg,rgba(12,18,24,.98),rgba(5,9,13,.98));
  isolation:isolate;
}
.profile-hero::after{
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; opacity:.28;
  background:linear-gradient(110deg,transparent 0 46%,rgba(255,255,255,.035) 46% 47%,transparent 47% 100%);
}
.profile-hero-grid{ width:100%; display:grid; grid-template-columns:196px minmax(0,1fr); gap:36px; align-items:center; padding:42px 46px; }
.profile-avatar-stage{ position:relative; width:184px; height:184px; display:grid; place-items:center; }
.profile-header-avatar-ring{
  width:184px; height:184px; margin:0; padding:4px; border-radius:28px; transform:none;
  background:linear-gradient(135deg,var(--ember),rgba(110,231,245,.85));
  box-shadow:0 22px 50px rgba(0,0,0,.42),0 0 30px rgba(255,100,56,.12);
  clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%);
}
.profile-header-avatar{
  width:176px; height:176px; border-radius:24px; transform:none; object-fit:cover;
  clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%);
}
.profile-header-avatar-fallback{ font-family:'Barlow Condensed',sans-serif; font-size:4.3rem; }
.profile-hero-copy{ min-width:0; position:relative; z-index:2; }
.profile-hero-kicker{ display:flex; flex-wrap:wrap; gap:8px 20px; color:var(--frost); font-size:.57rem; letter-spacing:.15em; text-transform:uppercase; }
.profile-hero-kicker span + span{ color:var(--ink-faint); }
.profile-header-name{ margin:10px 0 0; font-family:'Cinzel',serif; font-size:clamp(2rem,4vw,3.15rem); letter-spacing:.02em; text-transform:none; }
.profile-hero-alias{ margin:8px 0 0; color:var(--ink-soft); font-size:.8rem; }
.profile-identity-chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.profile-identity-chips span{ display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid var(--glass-line); background:rgba(255,255,255,.025); color:var(--ink-soft); font-size:.68rem; }
.profile-identity-chips i{ color:var(--ember-hot); font-size:.9rem; }
.profile-badges{ justify-content:flex-start; margin-top:15px; }
.profile-badge{ width:42px; height:42px; border-radius:5px; }
.profile-avatar-form{ justify-content:flex-start; flex-wrap:wrap; margin-top:18px; }
.profile-avatar-form input[type=file]{ max-width:220px; }

.profile-hero.is-bear-champion{
  border-color:rgba(255,207,86,.72); border-top-color:#ffe394;
  background:
    radial-gradient(circle at 13% 42%,rgba(255,194,55,.26),transparent 34%),
    radial-gradient(circle at 88% 10%,rgba(255,232,149,.14),transparent 35%),
    linear-gradient(135deg,#211807 0,#100e08 50%,#080a0d 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.46),0 0 40px rgba(255,196,55,.1),inset 0 0 80px rgba(255,190,40,.045);
}
.profile-hero.is-bear-champion::after{
  z-index:0; opacity:.7; background:linear-gradient(112deg,transparent 15%,rgba(255,230,145,.05) 34%,rgba(255,255,255,.16) 40%,rgba(255,230,145,.05) 46%,transparent 68%);
  transform:translateX(-80%);
}
.profile-hero.is-bear-champion .profile-header-avatar-ring{ background:linear-gradient(135deg,#fff0a8,#d58b13 48%,#fff3b5); box-shadow:0 0 0 1px rgba(255,225,131,.42),0 24px 55px rgba(0,0,0,.52),0 0 42px rgba(255,194,44,.3); }
.profile-hero.is-bear-champion .profile-header-name{ color:#ffe69b; text-shadow:0 0 24px rgba(255,202,64,.22); }
.profile-hero.is-kvk-champion:not(.is-bear-champion){
  border-color:rgba(255,66,83,.72); border-top-color:#ff5364;
  background:
    radial-gradient(circle at 13% 42%,rgba(255,38,61,.24),transparent 35%),
    radial-gradient(circle at 90% 8%,rgba(255,105,116,.12),transparent 33%),
    linear-gradient(135deg,#23090e 0,#10090c 52%,#080a0d 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.46),0 0 44px rgba(255,37,61,.12),inset 0 0 80px rgba(255,50,70,.045);
}
.profile-hero.is-kvk-champion:not(.is-bear-champion)::after{ z-index:0; opacity:.68; background:linear-gradient(112deg,transparent 15%,rgba(255,47,67,.045) 34%,rgba(255,130,140,.16) 40%,rgba(255,47,67,.045) 46%,transparent 68%); transform:translateX(-80%); }
.profile-hero.is-kvk-champion:not(.is-bear-champion) .profile-header-avatar-ring{ background:linear-gradient(135deg,#ff9ba5,#d1122e 48%,#ff566b); box-shadow:0 0 0 1px rgba(255,112,126,.4),0 24px 55px rgba(0,0,0,.52),0 0 44px rgba(255,36,63,.3); }
.profile-hero.is-kvk-champion:not(.is-bear-champion) .profile-header-name{ color:#ff909c; text-shadow:0 0 24px rgba(255,46,70,.26); }
.profile-hero.is-bear-champion.is-kvk-champion{
  border-color:rgba(255,143,78,.76);
  background:
    radial-gradient(circle at 12% 43%,rgba(255,196,52,.24),transparent 34%),
    radial-gradient(circle at 90% 18%,rgba(255,37,62,.23),transparent 35%),
    linear-gradient(135deg,#211806 0,#170c0b 50%,#090a0d 100%);
}
.profile-hero.is-bear-champion.is-kvk-champion .profile-header-avatar-ring{ background:linear-gradient(135deg,#fff0a8 0,#d88d12 43%,#ec3e4f 66%,#ff8c99 100%); box-shadow:0 0 0 1px rgba(255,191,105,.48),0 24px 55px rgba(0,0,0,.52),-12px 0 34px rgba(255,195,46,.18),12px 0 36px rgba(255,39,64,.2); }
.profile-hero.is-bear-champion.is-kvk-champion .profile-header-name{ background:linear-gradient(90deg,#ffe69b,#ff8895); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:none; }
.profile-avatar-crown{ position:absolute; z-index:4; top:-19px; right:-12px; width:55px; height:55px; display:grid; place-items:center; transform:rotate(10deg); border:1px solid rgba(255,227,135,.65); background:linear-gradient(145deg,#fff0a6,#d28a12); color:#1a1002; clip-path:polygon(50% 0,100% 30%,88% 86%,50% 100%,12% 86%,0 30%); box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 25px rgba(255,202,66,.35); font-size:1.55rem; }
.profile-avatar-kvk{ position:absolute; z-index:4; left:-12px; bottom:-13px; width:54px; height:54px; display:grid; place-items:center; transform:rotate(-8deg); border:1px solid rgba(255,128,140,.66); background:linear-gradient(145deg,#ff8d9a,#c60d2a); color:#240208; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); box-shadow:0 10px 30px rgba(0,0,0,.5),0 0 28px rgba(255,36,61,.38); font-size:1.55rem; }
.profile-champion-banner{ width:min(540px,100%); display:grid; grid-template-columns:52px minmax(0,1fr); gap:13px; align-items:center; margin-top:18px; padding:13px 15px; border:1px solid rgba(255,218,104,.42); background:linear-gradient(90deg,rgba(255,192,45,.15),rgba(255,226,132,.035)); box-shadow:inset 0 1px rgba(255,255,255,.08); }
.profile-champion-banner > i{ width:48px; height:48px; display:grid; place-items:center; background:linear-gradient(145deg,#ffe997,#c87a0b); color:#160e02; font-size:1.45rem; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.profile-champion-banner span,.profile-champion-banner small{ display:block; }
.profile-champion-banner span{ color:#ffe28b; font-family:'JetBrains Mono',monospace; font-size:.55rem; letter-spacing:.11em; text-transform:uppercase; }
.profile-champion-banner strong{ display:inline-block; margin:3px 8px 0 0; color:#fff3c3; font-family:'Barlow Condensed',sans-serif; font-size:1.5rem; line-height:1; }
.profile-champion-banner small{ display:inline-block; color:rgba(255,235,181,.6); font-size:.58rem; }
.profile-kvk-champion-banner{ width:min(540px,100%); display:grid; grid-template-columns:52px minmax(0,1fr); gap:13px; align-items:center; margin-top:10px; padding:13px 15px; border:1px solid rgba(255,77,95,.46); background:linear-gradient(90deg,rgba(255,31,57,.17),rgba(255,102,115,.035)); box-shadow:inset 0 1px rgba(255,255,255,.07),0 0 24px rgba(255,29,55,.055); }
.profile-kvk-champion-banner > i{ width:48px; height:48px; display:grid; place-items:center; background:linear-gradient(145deg,#ff8996,#c80c29); color:#240207; font-size:1.5rem; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.profile-kvk-champion-banner span,.profile-kvk-champion-banner small{ display:block; }
.profile-kvk-champion-banner span{ color:#ff8f9b; font-family:'JetBrains Mono',monospace; font-size:.55rem; letter-spacing:.11em; text-transform:uppercase; }
.profile-kvk-champion-banner strong{ display:inline-block; margin:3px 8px 0 0; color:#ffd2d7; font-family:'Barlow Condensed',sans-serif; font-size:1.5rem; line-height:1; }
.profile-kvk-champion-banner small{ display:inline-block; color:rgba(255,188,197,.62); font-size:.58rem; }
.profile-kvk-topfive-badge{ width:min(420px,100%); display:grid; grid-template-columns:40px minmax(0,1fr); gap:11px; align-items:center; margin-top:10px; padding:10px 12px; border:1px solid rgba(126,184,210,.28); background:linear-gradient(90deg,rgba(71,125,151,.1),rgba(7,13,18,.72)); box-shadow:inset 0 1px rgba(255,255,255,.045); }
.profile-kvk-topfive-badge > i{ width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(151,201,223,.34); background:rgba(102,167,196,.1); color:#9fd4e9; font-size:1.12rem; }
.profile-kvk-topfive-badge span,.profile-kvk-topfive-badge small{ display:block; }
.profile-kvk-topfive-badge span{ color:#9fcde0; font-family:'JetBrains Mono',monospace; font-size:.5rem; letter-spacing:.1em; text-transform:uppercase; }
.profile-kvk-topfive-badge strong{ display:inline-block; margin:3px 7px 0 0; color:#d9f2fb; font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; line-height:1; }
.profile-kvk-topfive-badge small{ display:inline-block; color:rgba(184,216,229,.58); font-size:.54rem; }
.profile-kvk-topfive-badge.rank-2{ border-color:rgba(211,222,228,.36); background:linear-gradient(90deg,rgba(184,201,209,.12),rgba(7,13,18,.72)); }
.profile-kvk-topfive-badge.rank-2 > i{ color:#dbe6eb; border-color:rgba(220,231,236,.38); background:rgba(198,215,223,.1); }
.profile-kvk-topfive-badge.rank-3{ border-color:rgba(207,143,83,.34); background:linear-gradient(90deg,rgba(174,103,48,.11),rgba(7,13,18,.72)); }
.profile-kvk-topfive-badge.rank-3 > i{ color:#e0a36c; border-color:rgba(222,160,99,.38); background:rgba(178,102,43,.11); }
.profile-champion-sparkles{ position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.profile-champion-sparkles i{ position:absolute; width:5px; height:5px; background:#ffe891; transform:rotate(45deg); box-shadow:0 0 14px #ffd45d; opacity:.2; }
.profile-champion-sparkles i:nth-child(1){ left:8%; top:15%; }.profile-champion-sparkles i:nth-child(2){ left:27%; top:74%; width:3px; height:3px; }.profile-champion-sparkles i:nth-child(3){ left:46%; top:11%; }.profile-champion-sparkles i:nth-child(4){ left:60%; top:72%; width:3px; height:3px; }.profile-champion-sparkles i:nth-child(5){ left:74%; top:19%; }.profile-champion-sparkles i:nth-child(6){ left:87%; top:65%; }.profile-champion-sparkles i:nth-child(7){ left:94%; top:30%; width:3px; height:3px; }.profile-champion-sparkles i:nth-child(8){ left:38%; top:48%; width:2px; height:2px; }
.profile-kvk-sparks{ position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }
.profile-kvk-sparks i{ position:absolute; width:5px; height:5px; border-radius:50%; background:#ff475e; box-shadow:0 0 10px #ff263f,0 0 24px rgba(255,32,58,.72); opacity:.18; }
.profile-kvk-sparks i:nth-child(1){ right:8%; top:16%; }.profile-kvk-sparks i:nth-child(2){ right:22%; top:70%; width:3px; height:3px; }.profile-kvk-sparks i:nth-child(3){ right:39%; top:12%; }.profile-kvk-sparks i:nth-child(4){ right:53%; top:78%; width:3px; height:3px; }.profile-kvk-sparks i:nth-child(5){ right:70%; top:27%; width:2px; height:2px; }.profile-kvk-sparks i:nth-child(6){ right:4%; top:52%; width:3px; height:3px; }

.profile-trap-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:stretch; }
.profile-trap-grid > .panel + .panel{ margin-top:0; }
.profile-trap-card{ display:flex; flex-direction:column; height:100%; padding:20px; overflow:hidden; }
.profile-trap-card-head{ display:flex; align-items:center; gap:12px; min-height:44px; }
.profile-trap-card-head > div:last-child{ min-width:0; }
.profile-trap-icon{ width:44px; height:44px; flex:none; display:grid; place-items:center; border:1px solid rgba(255,111,58,.34); background:rgba(255,100,56,.08); color:var(--ember-hot); font-size:1.2rem; }
.profile-trap-card-head span,.profile-trap-card-head b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.profile-trap-card-head span{ margin-bottom:4px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.1em; text-transform:uppercase; }
.profile-trap-card-head b{ font-size:1.05rem; }
.profile-trap-metrics{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:18px; border:1px solid var(--glass-line); background:var(--glass-line); }
.profile-trap-metrics > div{ min-width:0; padding:13px 11px; background:#080d12; }
.profile-trap-metrics span,.profile-trap-metrics small{ display:block; color:var(--ink-faint); font-size:.52rem; }
.profile-trap-metrics span{ letter-spacing:.08em; text-transform:uppercase; }
.profile-trap-metrics strong{ display:block; margin-top:5px; overflow:hidden; color:var(--ink); font-family:'Barlow Condensed',sans-serif; font-size:1.35rem; line-height:1; text-overflow:ellipsis; }
.profile-trap-metrics small{ margin-top:4px; white-space:nowrap; }
.profile-trap-unlink{ margin:auto 0 0; padding-top:12px; }
.profile-trap-card.champion-run{ border-color:rgba(255,211,87,.43); background:linear-gradient(145deg,rgba(255,195,45,.075),rgba(6,10,14,.93)); }
.profile-trap-card.champion-run .profile-trap-icon{ border-color:rgba(255,218,105,.52); background:rgba(255,195,45,.12); color:#ffe18a; box-shadow:0 0 22px rgba(255,193,37,.1); }

.profile-power-panel{ overflow:hidden; padding:24px; border-left:2px solid var(--frost); background:radial-gradient(circle at 90% 0,rgba(110,231,245,.09),transparent 35%),rgba(6,11,15,.94); }
.profile-power-panel.positive{ border-left-color:var(--success); }.profile-power-panel.negative{ border-left-color:var(--danger); }
.profile-power-topline{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.profile-power-topline span{ display:block; color:var(--ink-faint); font-size:.56rem; letter-spacing:.11em; text-transform:uppercase; }
.profile-power-topline strong{ display:block; margin-top:7px; font-family:'Barlow Condensed',sans-serif; font-size:clamp(2rem,5vw,3.1rem); line-height:.9; }
.profile-power-rank{ min-width:76px; padding:10px 13px; border:1px solid rgba(110,231,245,.25); background:rgba(110,231,245,.055); text-align:center; }
.profile-power-rank small{ color:var(--frost); font-size:.5rem; letter-spacing:.09em; text-transform:uppercase; }
.profile-power-rank b{ display:block; margin-top:4px; font-family:'Barlow Condensed',sans-serif; font-size:1.75rem; }
.profile-power-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:22px; border:1px solid var(--glass-line); background:var(--glass-line); }
.profile-power-stats > div{ padding:15px; background:#070c10; }
.profile-power-stats span,.profile-power-stats small{ display:block; color:var(--ink-faint); font-size:.54rem; }
.profile-power-stats span{ letter-spacing:.08em; text-transform:uppercase; }
.profile-power-stats strong{ display:block; margin:6px 0 4px; overflow:hidden; font-family:'JetBrains Mono',monospace; font-size:1rem; text-overflow:ellipsis; }
.profile-power-panel.positive .profile-power-stats > div:first-child strong,.profile-power-panel.positive .profile-power-stats > div:nth-child(2) strong{ color:var(--success); }
.profile-power-panel.negative .profile-power-stats > div:first-child strong,.profile-power-panel.negative .profile-power-stats > div:nth-child(2) strong{ color:var(--danger); }
.profile-power-chart{ height:176px; display:flex; align-items:stretch; gap:8px; margin-top:20px; padding:16px 14px 8px; border:1px solid rgba(110,231,245,.15); background:linear-gradient(rgba(110,231,245,.035) 1px,transparent 1px); background-size:100% 33%; }
.profile-power-column{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:7px; }
.profile-power-column i{ width:min(32px,72%); min-height:4px; display:block; background:linear-gradient(180deg,var(--frost),rgba(255,107,54,.72)); box-shadow:0 0 13px rgba(110,231,245,.16); }
.profile-power-column span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; white-space:nowrap; }
.profile-power-link{ margin-top:15px; }
.profile-power-empty{ display:flex; align-items:center; gap:14px; border-left:2px solid rgba(110,231,245,.38); }
.profile-power-empty > i{ flex:none; color:var(--frost); font-size:1.6rem; }.profile-power-empty b{ font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; }.profile-power-empty p{ margin:4px 0 0; color:var(--ink-soft); font-size:.76rem; line-height:1.5; }

.profile-details-panel{ overflow:hidden; }
.profile-details-panel > form{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
.profile-details-panel > form .field:has(textarea){ grid-column:1/-1; }
.profile-details-panel > form > .btn{ width:max-content; }
.profile-public-details{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; padding:1px; background:var(--glass-line); }
.profile-detail-item{ display:flex; flex-direction:column; gap:5px; min-width:0; padding:15px; background:#080d12; }
.profile-detail-item b{ color:var(--ink-faint); font-size:.56rem; letter-spacing:.07em; text-transform:uppercase; }.profile-detail-item span{ overflow-wrap:anywhere; font-size:.8rem; }

.profile-card{ min-height:260px; padding:26px 17px; border-radius:3px; overflow:hidden; }
.profile-card:hover{ transform:translateY(-4px); border-color:rgba(255,113,57,.4); }
.profile-card-avatar{ width:92px; height:92px; border-radius:18px; clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%); }
.profile-card-name{ font-size:1.15rem; text-transform:none; }
.profile-card-stat{ border-radius:2px; border:1px solid rgba(255,198,95,.2); background:transparent; }
.profile-card.is-bear-champion{ border-color:rgba(255,211,91,.56); background:radial-gradient(circle at 50% 15%,rgba(255,199,52,.17),transparent 35%),linear-gradient(145deg,#1b1508,#080b0e 70%); box-shadow:0 18px 45px rgba(0,0,0,.4),inset 0 0 45px rgba(255,197,48,.04); }
.profile-card.is-bear-champion .profile-card-avatar{ box-shadow:0 0 0 3px #e6ad35,0 0 28px rgba(255,199,54,.24); }
.profile-card.is-bear-champion .profile-card-name{ color:#ffe295; }
.profile-card.is-kvk-champion{ border-color:rgba(255,68,88,.62); background:radial-gradient(circle at 50% 15%,rgba(255,37,62,.2),transparent 36%),linear-gradient(145deg,#1d080d,#080b0e 70%); box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 28px rgba(255,31,57,.09),inset 0 0 48px rgba(255,38,62,.045); }
.profile-card.is-kvk-champion .profile-card-avatar{ box-shadow:0 0 0 3px #db2039,0 0 30px rgba(255,38,63,.3); }
.profile-card.is-kvk-champion .profile-card-name{ color:#ff929d; }
.profile-card.is-bear-champion.is-kvk-champion{ border-color:rgba(255,132,76,.72); background:radial-gradient(circle at 28% 12%,rgba(255,198,48,.19),transparent 34%),radial-gradient(circle at 78% 18%,rgba(255,38,63,.2),transparent 36%),linear-gradient(145deg,#1c1307,#15080b 58%,#080b0e); }
.profile-card.is-bear-champion.is-kvk-champion .profile-card-avatar{ box-shadow:-3px 0 0 2px #e7ad32,3px 0 0 2px #d91b37,-9px 0 25px rgba(255,195,45,.18),9px 0 27px rgba(255,35,61,.2); }
.profile-card.is-bear-champion.is-kvk-champion .profile-card-name{ background:linear-gradient(90deg,#ffe18c,#ff8793); -webkit-background-clip:text; background-clip:text; color:transparent; }
.profile-card-honors{ width:100%; min-height:18px; display:flex; flex-direction:column; align-items:center; gap:5px; margin:-4px 0 15px; }
.profile-card-champion{ display:flex; align-items:center; justify-content:center; gap:5px; color:#ffe18b; font-family:'JetBrains Mono',monospace; font-size:.48rem; letter-spacing:.07em; line-height:1.35; text-align:center; text-transform:uppercase; }
.profile-card-champion.kvk{ color:#ff8895; }
.profile-card-champion.kvk-top5{ color:#9fcde0; }
.profile-card-champion i{ font-size:.9rem; }

/* command dock */
.bottom-nav{
  position:fixed; z-index:35; left:50%; right:auto; bottom:14px; width:min(650px,calc(100% - 22px)); transform:translateX(-50%);
  justify-content:space-between; padding:7px; border:1px solid rgba(180,202,216,.22); border-radius:4px;
  background:rgba(5,9,12,.92); box-shadow:0 22px 55px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.bottom-nav::before{ content:""; position:absolute; left:24px; right:24px; top:-1px; height:1px; background:linear-gradient(90deg,transparent,var(--ember),transparent); opacity:.62; }
.bottom-nav a{ position:relative; flex:1; min-width:0; padding:7px 8px; gap:3px; border-radius:2px; font-family:'Barlow Condensed',sans-serif; font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-faint); }
.bottom-nav a i{ font-size:1.18rem; }
.bottom-nav a.active{ color:var(--ember-hot); background:linear-gradient(180deg,rgba(255,99,56,.13),rgba(255,99,56,.025)); -webkit-background-clip:border-box; background-clip:border-box; }
.bottom-nav a.active::after{ content:""; position:absolute; left:24%; right:24%; bottom:1px; height:1px; background:var(--ember); box-shadow:0 0 8px var(--ember); }
.bottom-nav a.active i{ color:var(--ember-hot); background:none; }
.more-sheet{ position:fixed; z-index:45; }
.more-sheet .backdrop{ background:rgba(1,3,5,.78); backdrop-filter:blur(4px); }
.more-sheet .sheet{ border-radius:3px 3px 0 0; background:rgba(6,10,13,.97); border-color:var(--glass-line-strong); }
.more-sheet .sheet a,.more-sheet .sheet button{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:.05em; text-transform:uppercase; }
.more-sheet .sheet i{ color:var(--ember-hot); background:none; }

footer.note{ display:flex; align-items:center; justify-content:center; gap:10px; margin:54px 0 12px; }
.footer-mark{
  display:grid; place-items:center; width:30px; height:30px; color:var(--ember-hot);
  border:1px solid rgba(255,119,62,.35); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  background:rgba(255,100,56,.055); font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.55rem;
}

/* cinematic motion */
@media (prefers-reduced-motion:no-preference){
  .bento > .tile,.stat-row > .stat-card,.leaderboard > .leader-row,.card-grid > .profile-card{ animation:none; }
  .world-ember{ animation:emberFloat 14s ease-in-out infinite alternate; }
  .world-frost{ animation:frostFloat 18s ease-in-out infinite alternate; }
  .hero-scanline{ animation:heroScan 7s linear infinite; }
  .ring-one{ animation:coreSpin 24s linear infinite; }
  .ring-two{ animation:coreSpinReverse 17s linear infinite; }
  .ring-three{ animation:coreBreathe 3.5s ease-in-out infinite; }
  .new-dot{ animation:forgePing 2.4s ease-in-out infinite; }
  .profile-hero.is-bear-champion::after{ animation:profileGoldSweep 6.5s ease-in-out infinite; }
  .profile-hero.is-kvk-champion:not(.is-bear-champion)::after{ animation:profileGoldSweep 6.5s ease-in-out infinite; }
  .profile-champion-sparkles i{ animation:profileGoldTwinkle 2.8s ease-in-out infinite; }
  .profile-champion-sparkles i:nth-child(2n){ animation-delay:.7s; }
  .profile-champion-sparkles i:nth-child(3n){ animation-delay:1.35s; }
  .profile-kvk-sparks i{ animation:profileRedSpark 2.35s ease-in-out infinite; }
  .profile-kvk-sparks i:nth-child(2n){ animation-delay:.65s; }
  .profile-kvk-sparks i:nth-child(3n){ animation-delay:1.2s; }
  .profile-card.is-kvk-champion{ animation:profileRedGlow 3.2s ease-in-out infinite; }
  .profile-card.is-bear-champion.is-kvk-champion{ animation:profileDualGlow 3.5s ease-in-out infinite; }
  .motion-ready .reveal-target{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1); }
  .motion-ready .reveal-target.is-visible{ opacity:1; transform:translateY(0); }
}
@keyframes emberFloat{ to{ transform:translate(-70px,90px) scale(1.14); } }
@keyframes frostFloat{ to{ transform:translate(100px,-80px) scale(1.12); } }
@keyframes heroScan{ from{ transform:translateY(-10%); } to{ transform:translateY(330%); } }
@keyframes coreSpin{ to{ transform:rotate(360deg); } }
@keyframes coreSpinReverse{ to{ transform:rotate(-360deg); } }
@keyframes coreBreathe{ 50%{ box-shadow:0 0 70px rgba(255,74,35,.22),inset 0 0 42px rgba(255,90,42,.14); } }
@keyframes statusPulse{ 50%{ opacity:.45; box-shadow:0 0 4px var(--success); } }
@keyframes forgePing{
  50%{ box-shadow:0 0 0 6px rgba(255,107,54,.04),0 0 24px rgba(255,91,43,.9); }
}
@keyframes profileGoldSweep{ 0%,18%{ transform:translateX(-85%); } 62%,100%{ transform:translateX(85%); } }
@keyframes profileGoldTwinkle{ 0%,100%{ opacity:.12; transform:rotate(45deg) scale(.65); } 45%{ opacity:.95; transform:rotate(45deg) scale(1.55); } }
@keyframes profileRedSpark{ 0%,100%{ opacity:.12; transform:scale(.6); } 48%{ opacity:1; transform:scale(1.65); } }
@keyframes profileRedGlow{ 0%,100%{ box-shadow:0 18px 45px rgba(0,0,0,.42),0 0 20px rgba(255,31,57,.06),inset 0 0 48px rgba(255,38,62,.04); } 50%{ box-shadow:0 20px 50px rgba(0,0,0,.48),0 0 38px rgba(255,31,57,.2),inset 0 0 58px rgba(255,38,62,.075); } }
@keyframes profileDualGlow{ 0%,100%{ box-shadow:-8px 0 28px rgba(255,195,45,.08),8px 0 28px rgba(255,31,57,.08); } 50%{ box-shadow:-12px 0 38px rgba(255,195,45,.2),12px 0 40px rgba(255,31,57,.22); } }

/* desktop command drawer */
@media (min-width:760px){
  .more-sheet .sheet{ left:auto; top:0; bottom:0; width:360px; padding:90px 28px 28px; border-radius:0; border-top:0; border-right:0; }
  .more-sheet.open .sheet{ animation:drawerIn .25s ease both; }
  @keyframes drawerIn{ from{ transform:translateX(100%); } }
  .card-grid{ grid-template-columns:repeat(3,1fr); }
  .guide-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (min-width:760px) and (max-width:960px){
  .admin-dashboard-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Phone layout: compact, readable and deliberately different from desktop. */
@media (max-width:759px){
  body{ padding-bottom:calc(108px + env(safe-area-inset-bottom)); }
  .status-row{ min-height:60px; gap:12px; padding-top:8px; padding-bottom:8px; }
  .brand{ min-width:0; gap:11px; }
  .brand-sigil{ width:36px; height:36px; }
  .brand-text b{ font-size:1.12rem; }
  .brand-text span{ max-width:92px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.51rem; }
  .status-right{ flex:none; gap:9px; margin-left:auto; }
  #clock{ border-left:0; padding-left:0; font-size:.58rem; }
  .lang-toggle a{ padding:6px 8px; }

  .command-hero{
    min-height:0; margin-top:16px; padding:28px 22px 64px; display:block;
    clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  }
  .hero-copy{ position:relative; z-index:3; max-width:none; }
  .system-kicker{ max-width:78%; font-size:.54rem; line-height:1.45; letter-spacing:.12em; }
  .system-kicker i{ width:22px; flex:none; }
  .hero-copy h1{
    max-width:82%; margin:16px 0 14px; font-size:clamp(2.55rem,13vw,3.8rem);
    line-height:.86; letter-spacing:-.055em;
  }
  .hero-copy h1 span{ margin:0 0 12px 2px; font-size:.62rem; letter-spacing:.34em; }
  .hero-copy p{ max-width:84%; font-size:.79rem; line-height:1.58; }
  .iso-core{ position:absolute!important; right:-72px; top:88px; width:220px; height:220px; opacity:.48; }
  .core-tick{ transform-origin:50% 110px; }
  .tick-two{ transform:rotate(90deg); }.tick-three{ transform:rotate(180deg); }.tick-four{ transform:rotate(270deg); }
  .hero-actions{ grid-template-columns:1fr; width:100%; max-width:100%; gap:9px; margin-top:22px; }
  .hero-actions .btn{ min-width:0; min-height:50px; padding:13px 16px; font-size:1rem; white-space:normal; }
  .kpi{ padding:17px 9px 14px; }
  .kpi .num{ font-size:1.45rem; }
  .kpi .lbl{ font-size:.68rem; line-height:1.25; letter-spacing:.06em; color:var(--ink-soft); font-weight:600; }
  .bento{ display:grid; grid-template-columns:1fr; }
  .admin-dashboard-grid{ grid-template-columns:1fr; }
  .tile.module-bear,.tile.module-guides,.tile.module-gift,.tile.module-tool{ grid-column:1; min-height:220px; }
  .tile.module-bear{ min-height:285px; }
  .home-tools-grid{ grid-template-columns:1fr; }
  .home-tools-grid .tile{ min-height:205px; }
  .home-module-grid .tile .icn,
  .home-tools-grid .tile .icn{ display:none; }
  .home-module-grid .tile:has(.tile-img) .icn,
  .home-tools-grid .tile:has(.tile-img) .icn{ margin-top:0; }
  .tile h3,.tile.hero h3{ font-size:1.65rem; }
  .tile.compact{ padding:24px; }
  .section-head h2{ font-size:1.05rem; letter-spacing:.09em; }
  .section-head .tag{ display:none; }
  .community-banner-cta .btn{ flex:1 1 105px; justify-content:center; }

  .access-request-form{ grid-template-columns:1fr; align-items:stretch; }
  .access-request-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .access-request-actions .btn{ width:100%; justify-content:center; white-space:normal; }
  .player-admin-row > .txt,.player-admin-profile-link{ flex-basis:100%; width:100%; }
  .player-admin-row > form,.player-rename-control:not([open]){ flex:1 1 120px; }
  .player-admin-row > form .btn,.player-rename-control:not([open]) summary{ width:100%; justify-content:center; }
  .player-rename-control[open] summary{ width:100%; margin-left:0; justify-content:center; }
  .player-rename-form{ grid-template-columns:1fr; }
  .player-rename-form .btn{ width:100%; justify-content:center; }

  .guide-article-hero{ min-height:340px; margin-top:14px; }
  .guide-article-hero-copy{ left:20px; right:20px; bottom:24px; }
  .guide-article-hero .page-title{ font-size:clamp(2.05rem,10vw,3.15rem); line-height:.95; }
  .guide-card.has-cover .guide-card-copy{ min-height:76px; padding:13px 15px 15px; }

  .bottom-nav{
    bottom:calc(8px + env(safe-area-inset-bottom)); width:calc(100% - 14px); padding:6px 4px;
  }
  .bottom-nav a{ padding:6px 2px; font-size:.57rem; }
  .bottom-nav a i{ font-size:1.1rem; }
  .bottom-nav a span:last-child{ display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .profile-hero{ min-height:0; }
  .profile-hero-grid{ grid-template-columns:1fr; gap:24px; padding:31px 18px 27px; text-align:center; }
  .profile-avatar-stage{ width:152px; height:152px; margin:0 auto; }
  .profile-header-avatar-ring{ width:152px; height:152px; border-radius:24px; }
  .profile-header-avatar{ width:144px; height:144px; border-radius:20px; }
  .profile-header-avatar-fallback{ font-size:3.5rem; }
  .profile-avatar-crown{ top:-18px; right:-15px; width:49px; height:49px; font-size:1.35rem; }
  .profile-hero-kicker,.profile-identity-chips,.profile-badges,.profile-avatar-form{ justify-content:center; }
  .profile-header-name{ font-size:clamp(2rem,10vw,2.8rem); }
  .profile-champion-banner,.profile-kvk-champion-banner{ grid-template-columns:46px minmax(0,1fr); text-align:left; }
  .profile-champion-banner > i,.profile-kvk-champion-banner > i{ width:42px; height:42px; font-size:1.25rem; }
  .profile-trap-grid{ grid-template-columns:1fr; }
  .profile-trap-card{ padding:17px 14px; }
  .profile-trap-metrics > div{ padding:12px 8px; }
  .profile-trap-metrics strong{ font-size:1.18rem; }
  .profile-power-panel{ padding:20px 14px; }
  .profile-power-topline strong{ font-size:2.25rem; }
  .profile-power-stats{ grid-template-columns:1fr; }
  .profile-power-chart{ height:152px; gap:4px; padding-inline:7px; }
  .profile-power-column span{ font-size:.43rem; }
  .profile-details-panel > form,.profile-public-details{ grid-template-columns:1fr; }
  .profile-details-panel > form .field:has(textarea){ grid-column:auto; }
  .profile-avatar-form input[type=file]{ width:100%; max-width:260px; }

  .trap-entry-row{ display:grid; grid-template-columns:1fr; gap:7px; padding:9px; border:1px solid rgba(166,190,205,.14); background:#070c10; }
  .trap-player-search-control,.trap-entry-row .trap-new-name,.trap-entry-row input[type=number]{ width:100%; min-width:0; }
  .trap-guest-toggle{ width:100%; justify-content:center; min-height:40px; }
  .trap-count-overview{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .trap-count-card{ padding:11px 10px; }
  .trap-count-main strong{ font-size:1.25rem; }
  .trap-run-filters{ grid-template-columns:1fr; align-items:stretch; }
  .trap-run-filter-actions{ grid-column:auto; }
  .trap-run-filter-actions{ display:grid; grid-template-columns:1fr 1fr; padding:0; }
  .trap-run-filter-actions .btn{ width:100%; justify-content:center; }
  .trap-run-edit-grid{ grid-template-columns:1fr; gap:0; }
  .trap-run-editor-guest{ width:100%; }
  .trap-bulk-panel{ grid-template-columns:1fr; align-items:stretch; }
  .trap-bulk-form{ grid-template-columns:1fr; }
  .trap-bulk-panel > .hint{ grid-column:auto; }
  .trap-run-manager-row{ align-items:flex-start; flex-direction:column; }
  .trap-run-row-check{ width:100%; display:flex; justify-content:flex-start; padding:0 0 2px; }
  .trap-run-manager-row .txt{ width:100%; }
  .trap-run-manager-actions{ width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .trap-run-manager-actions .btn,.trap-run-manager-actions form,.trap-run-manager-actions form button{ width:100%; justify-content:center; }

  .power-admin-heading{ display:block; }
  .power-admin-heading .btn{ width:100%; justify-content:center; margin-top:14px; }
  .power-date-field{ max-width:none; }
  .power-free-topbar{ display:block; }
  .power-free-counter{ margin-top:9px; }
  .power-free-head{ display:none; }
  .power-free-row{ grid-template-columns:34px minmax(0,1fr) 38px; gap:7px; }
  .power-free-row .power-player-search-control{ grid-column:2; min-width:0; }
  .power-free-row input[name="power[]"]{ grid-column:2; }
  .power-free-rank{ grid-column:1; grid-row:1 / span 2; height:100%; }
  .power-free-clear{ grid-column:3; grid-row:1 / span 2; align-self:stretch; height:auto; }
  .power-free-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .power-free-actions .btn{ width:100%; justify-content:center; }
  .power-free-actions .btn.primary{ margin-left:0; grid-column:1/-1; }
  .power-snapshot-row{ grid-template-columns:38px minmax(0,1fr); }
  .power-snapshot-actions{ grid-column:2; display:grid; grid-template-columns:1fr; gap:7px; margin-top:7px; }
  .power-snapshot-actions .btn, .power-snapshot-actions form, .power-snapshot-actions form .btn{ width:100%; justify-content:center; }
  .power-snapshot-actions form .btn{ margin-top:0; }
  .power-entry-head{ display:none; }
  .power-entry-row{ grid-template-columns:1fr; gap:7px; padding:10px; }
  .power-player-cell{ padding:2px 3px 4px; }
  .power-entry-new{ grid-template-columns:1fr; }
  .power-roster-list .row{ flex-wrap:wrap; }
  .power-roster-list .admin-row form{ margin-left:40px; }
  .power-batch-toolbar{ grid-template-columns:1fr; align-items:stretch; gap:10px; }
  .power-batch-actions{ display:grid; grid-template-columns:1fr; }
  .power-batch-actions .btn{ width:100%; justify-content:center; }
  .power-delete-row{ grid-template-columns:24px minmax(0,1fr); align-items:start; }
  .power-delete-row .btn{ grid-column:2; width:100%; margin-top:3px; }
  .power-summary-stats{ grid-template-columns:1fr; }
  .power-brief{ align-items:flex-start; padding:18px; }
  .power-brief-mark{ width:48px; height:48px; font-size:1.35rem; }
  .power-brief h2{ font-size:1.35rem; }
  .power-growth-row{ grid-template-columns:32px minmax(0,1fr); gap:10px; padding:12px 10px; }
  .power-growth-rank{ width:30px; height:30px; font-size:.61rem; }
  .power-growth-delta{ grid-column:2; min-width:0; display:flex; align-items:baseline; justify-content:space-between; text-align:left; padding-top:2px; }
  .power-growth-delta small{ margin:0; }
  .power-growth-meta{ flex-direction:column; gap:3px; }
  .power-growth-name-line b{ font-size:1.08rem; }
}

@media (max-width:520px){
  #clock{ display:none; }
}

@media (max-width:400px){
  .wrap{ padding-left:13px; padding-right:13px; }
  .brand-text span{ max-width:72px; }
  .hero-copy h1{ max-width:100%; font-size:clamp(2.35rem,12.5vw,3rem); }
  .hero-copy p{ max-width:100%; }
  .iso-core{ right:-104px; top:105px; opacity:.2; }
  .hero-actions{ grid-template-columns:1fr; }
  .hero-actions .btn{ min-height:50px; }
  .bottom-nav a{ font-size:.52rem; }
}

@media (hover:none){
  .spotlight-card::after{ display:none; }
  .tilt-card{ will-change:auto; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .world-atmosphere::after{ display:none; }
}

/* ──────────────────────────────────────────────────────────────────────────
   Bear Formation Optimizer
   ────────────────────────────────────────────────────────────────────────── */
.trap-tool-link{ display:flex; justify-content:flex-start; margin:14px 0 2px; }

.bo-hero{
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:24px;
  align-items:end; margin:18px 0 24px;
}
.bo-hero .page-title{ margin:9px 0 8px; }
.bo-hero .page-sub{ max-width:760px; margin:0; }
.bo-model-note{
  min-height:94px; display:flex; align-items:center; gap:15px; padding:18px;
  border:1px solid rgba(110,231,245,.22); background:linear-gradient(135deg,rgba(9,25,31,.92),rgba(8,13,18,.96));
  box-shadow:inset 0 0 34px rgba(70,208,225,.035);
}
.bo-model-note > i{ flex:none; font-size:1.55rem; color:var(--frost); }
.bo-model-note div{ min-width:0; display:grid; gap:4px; }
.bo-model-note b{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.09em; font-size:.92rem; }
.bo-model-note span{ color:var(--ink-soft); font-size:.72rem; line-height:1.5; }

.bear-optimizer{ display:grid; gap:18px; }
.bo-settings-panel,.bo-roster-panel,.bo-result-panel,.bo-role-result{ margin:0; }
.bo-section-head{ margin-top:0; }
.bo-settings-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bo-settings-grid .field{ min-width:0; margin:0; }
.bo-settings-grid .field > span{
  display:block; margin:0 0 7px; font-family:'Barlow Condensed',sans-serif; color:var(--ink-soft);
  font-size:.88rem; font-weight:700; letter-spacing:.055em; text-transform:uppercase;
}
.bo-settings-grid input,.bo-settings-grid select{ width:100%; }
.bo-toggle-row{
  display:flex; align-items:flex-start; gap:11px; margin-top:16px; padding:13px 14px;
  border:1px solid var(--glass-line); background:rgba(255,255,255,.018); cursor:pointer;
}
.bo-toggle-row input{ width:18px; height:18px; margin:2px 0 0; accent-color:var(--ember); flex:none; }
.bo-toggle-row span{ display:grid; gap:3px; }
.bo-toggle-row b{ font-size:.78rem; color:var(--ink); }
.bo-toggle-row small{ color:var(--ink-faint); font-size:.66rem; line-height:1.45; }
.bo-intro{ margin:0 0 15px; max-width:900px; }

.bo-filter-row{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 15px; }
.bo-filter{
  min-height:34px; padding:7px 12px; border:1px solid var(--glass-line); background:#090e13; color:var(--ink-faint);
  font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.05em; cursor:pointer; transition:.18s ease;
}
.bo-filter:hover,.bo-filter.active{ color:var(--ink); border-color:rgba(255,112,58,.55); background:rgba(255,92,41,.09); }

.bo-hero-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.bo-hero-card{
  position:relative; min-width:0; border:1px solid var(--glass-line); background:linear-gradient(150deg,rgba(13,20,27,.98),rgba(7,11,15,.98));
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; overflow:hidden;
}
.bo-hero-card[hidden]{ display:none!important; }
.bo-hero-card:hover{ border-color:rgba(166,190,205,.36); transform:translateY(-1px); }
.bo-hero-card.selected{ border-color:rgba(255,118,58,.62); box-shadow:inset 0 0 0 1px rgba(255,95,45,.09),0 12px 32px rgba(0,0,0,.22); }
.bo-hero-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--bo-troop-color,var(--steel)); opacity:.78; }
.bo-hero-select{
  width:100%; min-height:90px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center;
  padding:13px 12px 12px 15px; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer;
}
.bo-hero-emblem{
  width:42px; height:42px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--bo-troop-color) 54%,transparent);
  background:color-mix(in srgb,var(--bo-troop-color) 11%,#080c10); color:var(--bo-troop-color); font-family:'Cinzel',serif; font-size:.77rem; font-weight:800;
}
.bo-hero-main{ min-width:0; display:grid; gap:4px; }
.bo-hero-main b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Barlow Condensed',sans-serif; font-size:1.02rem; letter-spacing:.035em; }
.bo-hero-main span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.54rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-hero-check{ width:25px; height:25px; display:grid; place-items:center; border:1px solid var(--glass-line); color:transparent; font-size:.9rem; }
.bo-hero-card.selected .bo-hero-check{ border-color:var(--ember); color:var(--ember-hot); background:rgba(255,89,35,.1); }
.bo-hero-controls{ display:none; grid-template-columns:minmax(0,1fr) 92px; gap:10px; padding:0 12px 13px 15px; border-top:1px solid rgba(166,190,205,.09); }
.bo-hero-card.selected .bo-hero-controls{ display:grid; padding-top:11px; }
.bo-hero-controls.no-skill{ grid-template-columns:1fr; }
.bo-control{ min-width:0; display:grid; gap:6px; }
.bo-control label{ display:flex; justify-content:space-between; gap:8px; color:var(--ink-faint); font-size:.56rem; font-family:'JetBrains Mono',monospace; text-transform:uppercase; }
.bo-control output{ color:var(--ink); }
.bo-control input[type=range]{ width:100%; accent-color:var(--ember); }
.bo-control select{ width:100%; min-height:34px; padding:6px 8px; font-size:.72rem; }
.bo-joiner-mark{ position:absolute; right:8px; top:7px; color:var(--frost); font-size:.72rem; opacity:.8; }

.bo-roster-actions{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:16px; }
.bo-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.58rem; }

.bo-results{ min-width:0; }
.bo-empty-result{ display:flex; align-items:center; gap:15px; min-height:108px; }
.bo-empty-result[hidden]{ display:none!important; }
#bo-result-content[hidden]{ display:none!important; }
.bo-empty-result > i{ font-size:2rem; color:var(--steel); }
.bo-empty-result div{ display:grid; gap:5px; }
.bo-empty-result b{ font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; letter-spacing:.04em; text-transform:uppercase; }
.bo-empty-result span{ color:var(--ink-soft); font-size:.74rem; }
.bo-role-result{ display:flex; align-items:center; gap:16px; margin-bottom:14px; border-color:rgba(110,231,245,.22); }
.bo-role-icon{ width:48px; height:48px; display:grid; place-items:center; flex:none; border:1px solid rgba(110,231,245,.25); color:var(--frost); font-size:1.35rem; }
.bo-role-copy{ display:grid; gap:4px; }
.bo-role-copy b{ font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-role-copy span{ color:var(--ink-soft); font-size:.73rem; line-height:1.45; }
.bo-result-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bo-result-heading{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.bo-result-heading > i{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--glass-line); color:var(--ember-hot); font-size:1.1rem; }
.bo-result-heading div{ display:grid; gap:2px; }
.bo-result-heading span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.1em; text-transform:uppercase; }
.bo-result-heading h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; text-transform:uppercase; letter-spacing:.055em; }

.bo-host-result{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.bo-host-card{ min-width:0; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.bo-host-card .bo-type{ color:var(--bo-troop-color); font-family:'JetBrains Mono',monospace; font-size:.52rem; letter-spacing:.07em; text-transform:uppercase; }
.bo-host-card b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:6px 0 3px; font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; }
.bo-host-card small{ color:var(--ink-faint); font-size:.62rem; }
.bo-host-card.missing{ opacity:.58; border-style:dashed; }
.bo-host-note{ grid-column:1/-1; display:flex; align-items:flex-start; gap:7px; margin:2px 0 0; color:var(--ink-faint); font-size:.66rem; line-height:1.45; }
.bo-host-note i{ flex:none; margin-top:1px; color:var(--frost); }

.bo-joiner-result{ display:grid; gap:8px; }
.bo-join-march{ display:grid; grid-template-columns:48px minmax(0,1fr); gap:11px; padding:11px; border:1px solid var(--glass-line); background:#080d12; }
.bo-join-index{ width:48px; min-height:48px; display:grid; place-items:center; border:1px solid rgba(255,112,58,.32); color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.68rem; }
.bo-join-copy{ min-width:0; display:grid; gap:5px; }
.bo-join-title{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.bo-join-title b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; }
.bo-tier{ padding:2px 5px; border:1px solid rgba(110,231,245,.28); color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.48rem; }
.bo-join-meta{ color:var(--ink-faint); font-size:.62rem; line-height:1.45; }
.bo-join-meta strong{ color:var(--ink-soft); font-weight:600; }
.bo-join-warning{ color:#e4b477; font-size:.58rem; line-height:1.4; }

.bo-troop-panel{ margin-top:14px; }
.bo-troop-result{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.bo-formation-card{ padding:13px; border:1px solid var(--glass-line); background:#080d12; }
.bo-formation-card.recommended{ border-color:rgba(255,112,58,.54); box-shadow:inset 0 0 24px rgba(255,87,35,.035); }
.bo-formation-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.bo-formation-head b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.055em; }
.bo-formation-head span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; }
.bo-formation-bars{ display:flex; height:12px; overflow:hidden; border:1px solid rgba(255,255,255,.05); background:#05080b; }
.bo-formation-bars i{ display:block; height:100%; }
.bo-formation-bars .infantry{ background:#ef7e50; }
.bo-formation-bars .cavalry{ background:#d9af54; }
.bo-formation-bars .archer{ background:#68cdd9; }
.bo-troop-counts{ display:grid; gap:7px; margin-top:12px; }
.bo-troop-line{ display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; font-size:.66rem; }
.bo-troop-line span:first-child{ color:var(--ink-soft); }
.bo-troop-line b{ font-family:'JetBrains Mono',monospace; font-size:.65rem; }
.bo-troop-line small{ min-width:40px; text-align:right; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.bo-preview-note{ display:flex; gap:9px; align-items:flex-start; margin:13px 0 0; color:var(--ink-faint); font-size:.64rem; line-height:1.5; }
.bo-preview-note i{ color:#e4b477; font-size:.95rem; flex:none; margin-top:1px; }
.bo-copy-row{ display:flex; justify-content:flex-end; margin-top:12px; }

@media (max-width:1080px){
  .bo-settings-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bo-hero-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bo-result-grid{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .trap-tool-link .btn{ width:100%; justify-content:center; }
  .bo-hero{ grid-template-columns:1fr; gap:13px; margin-top:14px; }
  .bo-hero .page-title{ font-size:2.1rem; line-height:.95; }
  .bo-model-note{ min-height:0; padding:14px; }
  .bo-settings-panel,.bo-roster-panel,.bo-result-panel,.bo-role-result{ padding:18px; }
  .bo-settings-grid{ grid-template-columns:1fr; gap:10px; }
  .bo-filter-row{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .bo-filter-row::-webkit-scrollbar{ display:none; }
  .bo-filter{ flex:none; }
  .bo-hero-grid{ grid-template-columns:1fr 1fr; gap:8px; }
  .bo-hero-select{ grid-template-columns:36px minmax(0,1fr) 22px; min-height:82px; padding:11px 9px 10px 12px; gap:8px; }
  .bo-hero-emblem{ width:36px; height:36px; font-size:.68rem; }
  .bo-hero-main b{ font-size:.94rem; }
  .bo-hero-main span{ font-size:.47rem; }
  .bo-hero-controls,.bo-hero-card.selected .bo-hero-controls{ grid-template-columns:1fr; gap:8px; padding-left:12px; padding-right:9px; }
  .bo-roster-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .bo-save-status{ grid-column:1/-1; margin:0; }
  .bo-roster-actions .btn{ width:100%; justify-content:center; }
  .bo-role-result{ align-items:flex-start; }
  .bo-role-icon{ width:42px; height:42px; }
  .bo-host-result{ grid-template-columns:1fr; }
  .bo-join-march{ grid-template-columns:40px minmax(0,1fr); }
  .bo-join-index{ width:40px; min-height:40px; }
  .bo-troop-result{ grid-template-columns:1fr; }
  .bo-copy-row .btn{ width:100%; justify-content:center; }
}

@media (max-width:430px){
  .bo-hero-grid{ grid-template-columns:1fr; }
}

/* Bear Optimizer v2 additions */
.bo-model-note small{ color:var(--ink-faint); font-size:.5rem; letter-spacing:.04em; }
.bo-model-rules{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:14px; }
.bo-model-rules > div{ display:flex; align-items:flex-start; gap:10px; min-width:0; padding:11px 12px; border:1px solid var(--glass-line); background:#080d12; }
.bo-model-rules > div > i{ flex:none; margin-top:1px; color:var(--frost); font-size:1rem; }
.bo-model-rules span{ min-width:0; display:grid; gap:3px; }
.bo-model-rules b{ font-family:'Barlow Condensed',sans-serif; font-size:.86rem; text-transform:uppercase; letter-spacing:.045em; }
.bo-model-rules small{ color:var(--ink-faint); font-size:.61rem; line-height:1.45; }
.bo-skill-control small{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-faint); font-size:.54rem; }
.bo-role-result{ flex-wrap:wrap; }
.bo-quality-badge{ margin-left:auto; padding:7px 9px; border:1px solid rgba(110,231,245,.28); color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.54rem; text-transform:uppercase; letter-spacing:.045em; }
.bo-host-card{ display:flex; flex-direction:column; }
.bo-host-score{ display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:10px; padding-top:9px; border-top:1px solid rgba(166,190,205,.12); }
.bo-host-score span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; }
.bo-host-score strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.82rem; }
.bo-host-card p{ margin:8px 0 0; color:var(--ink-faint); font-size:.58rem; line-height:1.4; }
.bo-host-card p span{ color:var(--ink-soft); }
.bo-troop-result{ grid-template-columns:repeat(2,minmax(0,1fr)); }

@media (max-width:1080px){
  .bo-model-rules{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .bo-model-rules{ grid-template-columns:1fr; }
  .bo-quality-badge{ width:100%; margin-left:0; text-align:center; }
  .bo-host-card b{ white-space:normal; }
  .bo-troop-result{ grid-template-columns:1fr; }
}

/* Bear Optimizer v3: sorted roster, detailed development and trio scoring */
.bo-roster-toolbar{
  display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto; gap:10px; align-items:end; margin:0 0 12px;
}
.bo-search-box,.bo-sort-box{ display:grid; gap:6px; min-width:0; }
.bo-search-box > span,.bo-sort-box > span{
  color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.07em; text-transform:uppercase;
}
.bo-search-box input,.bo-sort-box select{ width:100%; min-height:42px; }
.bo-selected-count{ min-height:42px; display:flex; align-items:center; justify-content:center; white-space:nowrap; }

.bo-hero-controls{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start;
}
.bo-star-field,.bo-skill-field,.bo-widget-field{ display:grid; gap:6px; min-width:0; }
.bo-star-field > span,.bo-skill-field > span,.bo-widget-field > span{
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.025em; text-transform:uppercase;
}
.bo-star-field select,.bo-skill-field select,.bo-widget-field select{ width:100%; min-height:36px; padding:7px 8px; font-size:.69rem; }
.bo-advanced{ grid-column:1/-1; border-top:1px solid rgba(166,190,205,.10); padding-top:7px; }
.bo-advanced summary{
  color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.53rem; cursor:pointer; user-select:none;
}
.bo-advanced-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:9px; }
.bo-widget-field{ grid-column:1/-1; }
.bo-widget-field small{ font-size:.54rem; line-height:1.4; }
.bo-widget-field small.active{ color:#87d9c6; }
.bo-widget-field small.inactive{ color:var(--ink-faint); }
.bo-first-skill-note{
  grid-column:1/-1; color:var(--ink-faint); font-size:.54rem; line-height:1.45; border-top:1px solid rgba(166,190,205,.08); padding-top:8px;
}
.bo-first-skill-note b{ color:var(--ink-soft); }

.bo-role-copy small{ color:var(--ink-faint); font-size:.62rem; line-height:1.45; margin-top:2px; }
.bo-contribution-rank{
  display:block; margin:-2px 0 6px; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.48rem; letter-spacing:.05em; text-transform:uppercase;
}
.bo-host-card{ position:relative; }
.bo-team-summary,.bo-alternatives{ grid-column:1/-1; border:1px solid var(--glass-line); background:rgba(8,13,18,.72); padding:11px 12px; }
.bo-team-summary{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; }
.bo-team-summary > div{ display:grid; gap:2px; padding-right:14px; border-right:1px solid var(--glass-line); }
.bo-team-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; }
.bo-team-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:1.05rem; }
.bo-team-summary p{ margin:0; color:var(--ink-soft); font-size:.62rem; line-height:1.45; }
.bo-alternatives > b{ display:block; margin-bottom:7px; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.bo-alternatives ol{ display:grid; gap:6px; margin:0; padding:0; list-style:none; }
.bo-alternatives li{ display:flex; justify-content:space-between; gap:12px; color:var(--ink-soft); font-size:.61rem; }
.bo-alternatives li b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bo-alternatives li span{ flex:none; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
.bo-host-missing{ grid-column:1/-1; padding:18px; border:1px dashed var(--glass-line); color:var(--ink-faint); font-size:.7rem; }
.bo-joiner-reminder{ display:flex; align-items:flex-start; gap:7px; margin:0 0 2px; color:var(--ink-faint); font-size:.59rem; line-height:1.45; }
.bo-joiner-reminder i{ flex:none; color:var(--frost); margin-top:1px; }
.bo-troop-result{ grid-template-columns:repeat(3,minmax(0,1fr)); }

@media (max-width:1080px){
  .bo-roster-toolbar{ grid-template-columns:minmax(0,1fr) minmax(180px,.55fr); }
  .bo-selected-count{ grid-column:1/-1; justify-self:start; min-height:30px; }
  .bo-troop-result{ grid-template-columns:1fr; }
}

@media (max-width:759px){
  .bo-roster-toolbar{ grid-template-columns:1fr; }
  .bo-selected-count{ grid-column:auto; justify-self:stretch; }
  .bo-hero-controls,.bo-hero-card.selected .bo-hero-controls{ grid-template-columns:1fr; }
  .bo-advanced,.bo-first-skill-note{ grid-column:1; }
  .bo-advanced-grid{ grid-template-columns:1fr; }
  .bo-widget-field{ grid-column:1; }
  .bo-team-summary{ grid-template-columns:1fr; }
  .bo-team-summary > div{ border-right:0; border-bottom:1px solid var(--glass-line); padding:0 0 9px; }
  .bo-alternatives li{ align-items:flex-start; }
  .bo-alternatives li b{ white-space:normal; }
}

/* Bear Optimizer V4: explicit role and final deployment plan */
.bo-result-grid.single{ grid-template-columns:1fr; }
.bo-deployment-panel{ margin-top:14px; }
.bo-plan-control{
  display:grid; grid-template-columns:minmax(220px,340px) minmax(0,1fr); gap:16px; align-items:end;
  padding:13px; margin-bottom:12px; border:1px solid var(--glass-line); background:#080d12;
}
.bo-plan-control .field{ margin:0; }
.bo-plan-mode-text{ margin:0 0 4px; color:var(--ink-soft); font-size:.69rem; line-height:1.5; }
.bo-deployment-summary{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:12px;
}
.bo-deployment-summary > div{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px;
  border:1px solid var(--glass-line); background:#080d12;
}
.bo-deployment-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; text-transform:uppercase; letter-spacing:.06em; }
.bo-deployment-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.76rem; }
.bo-deployment-summary .is-warning{ border-color:rgba(228,180,119,.42); }
.bo-deployment-summary .is-warning strong{ color:#e4b477; }
.bo-deployment-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:10px; }
.bo-deployment-card{
  min-width:0; display:flex; flex-direction:column; padding:14px; border:1px solid var(--glass-line); background:#080d12;
}
.bo-deployment-card:first-of-type{ border-color:rgba(255,112,58,.48); }
.bo-deployment-card.is-empty{ opacity:.62; border-style:dashed; }
.bo-deployment-card-head{ display:grid; gap:5px; margin-bottom:7px; }
.bo-deployment-card-head span{ color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.54rem; letter-spacing:.1em; }
.bo-deployment-card-head b{ font-family:'Barlow Condensed',sans-serif; font-size:1.08rem; line-height:1.15; text-transform:uppercase; letter-spacing:.04em; }
.bo-deployment-meta{ min-height:34px; margin-bottom:10px; color:var(--ink-faint); font-size:.59rem; line-height:1.45; }
.bo-deployment-total{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:11px; border-top:1px solid var(--glass-line); }
.bo-deployment-total span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; }
.bo-deployment-total strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.72rem; }
.bo-deployment-warning{ display:flex; align-items:flex-start; gap:6px; margin:9px 0 0; color:#e4b477; font-size:.58rem; line-height:1.4; }
.bo-deployment-warning i{ flex:none; margin-top:1px; }
.bo-deployment-missing{
  grid-column:1/-1; display:flex; align-items:flex-start; gap:9px; padding:14px; border:1px dashed rgba(228,180,119,.42); color:#e4b477; font-size:.68rem; line-height:1.45;
}
.bo-deployment-missing i{ flex:none; margin-top:1px; }

@media (max-width:759px){
  .bo-plan-control{ grid-template-columns:1fr; gap:10px; }
  .bo-deployment-summary{ grid-template-columns:1fr; }
  .bo-deployment-grid{ grid-template-columns:1fr; }
}

/* ── KVK stockpile & points planner ─────────────────────────────────────── */
.kvkp-hero{ margin:28px 0 20px; }
.kvkp-hero .page-title{ max-width:900px; }
.kvkp-hero .page-sub{ max-width:850px; }
.kvk-stockpile-planner{ display:grid; gap:18px; }
.kvkp-section-head{ margin-bottom:14px; }
.kvkp-settings-panel,.kvkp-stock-panel{ padding:22px; }
.kvkp-settings-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.kvkp-settings-grid .field,.kvkp-current-grid .field{ margin:0; }
.kvkp-settings-grid small,.kvkp-current-grid small{ color:var(--ink-faint); font-size:.58rem; line-height:1.4; }
.kvkp-current-title{
  display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:8px;
  margin:18px 0 10px; padding-top:16px; border-top:1px solid var(--glass-line);
}
.kvkp-current-title i{ color:var(--frost); font-size:1rem; }
.kvkp-current-title b{ font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-current-title span{ color:var(--ink-faint); font-size:.6rem; }
.kvkp-current-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.kvkp-intro{ margin:0 0 15px; }
.kvkp-groups{ display:grid; gap:14px; }
.kvkp-group{ border:1px solid var(--glass-line); background:rgba(7,12,17,.72); padding:16px; }
.kvkp-group > header{ display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.kvkp-group > header i{ color:var(--ember-hot); font-size:1.05rem; }
.kvkp-group > header h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-input-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.kvkp-item-field{
  min-width:0; display:grid; gap:7px; align-content:start; padding:11px;
  border:1px solid rgba(166,190,205,.12); background:#080d12;
}
.kvkp-item-field > span{ display:flex; align-items:center; gap:7px; min-height:30px; color:var(--ink-soft); font-size:.67rem; font-weight:700; line-height:1.25; }
.kvkp-item-field > span i{ flex:none; color:var(--frost); font-size:.92rem; }
.kvkp-input-wrap{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; }
.kvkp-input-wrap input,.kvkp-input-wrap select{ width:100%; min-width:0; border-radius:2px 0 0 2px; }
.kvkp-input-wrap select{ grid-column:1/-1; border-radius:2px; }
.kvkp-input-wrap em{
  display:flex; align-items:center; padding:0 9px; border:1px solid var(--glass-line); border-left:0;
  color:var(--ink-faint); background:rgba(255,255,255,.025); font-family:'JetBrains Mono',monospace;
  font-size:.5rem; font-style:normal; text-transform:uppercase; white-space:nowrap;
}
.kvkp-item-field small{ color:var(--ink-faint); font-size:.52rem; line-height:1.42; }
.kvkp-item-field .kvkp-extra-hint{ color:#d4aa78; }

.kvkp-settings-grid-simple{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.kvkp-advanced{ margin-top:14px; border:1px solid var(--glass-line); background:rgba(255,255,255,.018); }
.kvkp-advanced > summary,.kvkp-reference > summary{
  display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; padding:12px 14px;
  color:var(--ink-soft); font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}
.kvkp-advanced > summary::-webkit-details-marker,.kvkp-reference > summary::-webkit-details-marker{ display:none; }
.kvkp-advanced > summary i,.kvkp-reference > summary i{ color:var(--frost); }
.kvkp-advanced-body{ padding:0 14px 14px; }
.kvkp-advanced-body > .field{ max-width:420px; }
.kvkp-helper-card{ margin-top:12px; padding:13px; border:1px solid rgba(166,190,205,.14); background:#080d12; }
.kvkp-helper-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:11px; }
.kvkp-helper-head > div{ display:flex; align-items:flex-start; gap:9px; min-width:0; }
.kvkp-helper-head > div > i{ flex:none; margin-top:2px; color:var(--frost); font-size:1rem; }
.kvkp-helper-head h4{ margin:0 0 2px; font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-helper-head p{ margin:0; max-width:760px; color:var(--ink-faint); font-size:.58rem; line-height:1.45; }
.kvkp-helper-rows{ display:grid; gap:8px; }
.kvkp-helper-row{ display:grid; grid-template-columns:1fr 1fr .72fr auto; gap:8px; align-items:end; }
.kvkp-helper-row label{ display:grid; gap:4px; min-width:0; }
.kvkp-helper-row label > span{ color:var(--ink-faint); font-size:.52rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-helper-row select,.kvkp-helper-row input{ width:100%; min-width:0; }
.kvkp-row-remove{ width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--glass-line); background:transparent; color:var(--ink-faint); cursor:pointer; }
.kvkp-row-remove:hover:not(:disabled){ color:#ff9b82; border-color:rgba(255,107,77,.35); }
.kvkp-row-remove:disabled{ opacity:.25; cursor:default; }
.kvkp-helper-preview{ display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:10px; padding-top:10px; border-top:1px solid var(--glass-line); color:var(--ink-faint); font-size:.58rem; }
.kvkp-helper-preview b,.kvkp-helper-preview strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; }
.kvkp-helper-preview .is-warning{ color:#e4b477; }
.kvkp-source-note{ display:block; margin-top:8px; color:var(--ink-faint); font-size:.51rem; line-height:1.45; }
.kvkp-reference{ margin-top:10px; border:1px solid rgba(166,190,205,.12); background:rgba(255,255,255,.015); }
.kvkp-reference-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0 12px 10px; }
.kvkp-reference-grid > div{ display:flex; justify-content:space-between; gap:8px; padding:7px 8px; border:1px solid rgba(166,190,205,.08); background:#080d12; }
.kvkp-reference-grid span{ color:var(--ink-soft); font-size:.55rem; }
.kvkp-reference-grid strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.54rem; }
.kvkp-reference p{ margin:0; padding:0 12px 12px; color:var(--ink-faint); font-size:.53rem; line-height:1.45; }
.kvkp-master-card{ border-color:rgba(103,232,249,.18); }
.kvkp-master-speed-field{ margin-bottom:12px; }
.kvkp-master-time-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.kvkp-master-time-grid label{ display:grid; gap:4px; min-width:0; }
.kvkp-master-time-grid label small{ color:var(--ink-faint); font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-time-grid input{ width:100%; min-width:0; }
.kvkp-master-plan-head{ display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:9px; margin:12px 0; padding-top:12px; border-top:1px solid var(--glass-line); }
.kvkp-master-plan-head .field{ margin:0; }
.kvkp-master-skill-rows{ display:grid; gap:7px; }
.kvkp-master-skill-row{ display:grid; grid-template-columns:minmax(190px,1.4fr) 1fr 1fr; gap:8px; align-items:end; padding:9px; border:1px solid rgba(166,190,205,.1); background:rgba(255,255,255,.014); }
.kvkp-master-skill-row label{ display:grid; gap:4px; min-width:0; }
.kvkp-master-skill-row label > span,.kvkp-master-skill-name > span{ color:var(--ink-faint); font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-skill-row select{ width:100%; min-width:0; }
.kvkp-master-skill-name{ min-width:0; display:grid; gap:2px; }
.kvkp-master-skill-name b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-family:'Barlow Condensed',sans-serif; font-size:.83rem; }
.kvkp-master-skill-name small{ color:#92a5af; font-size:.49rem; }
.kvkp-master-preview{ margin-top:10px; padding-top:10px; border-top:1px solid var(--glass-line); }
.kvkp-master-relationship-summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; padding:9px 10px; border:1px solid rgba(103,232,249,.14); background:rgba(103,232,249,.025); }
.kvkp-master-relationship-summary span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-master-relationship-summary strong{ display:flex; align-items:center; gap:6px; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; font-weight:600; text-align:right; }
.kvkp-master-relationship-summary i{ color:var(--ember-hot); }
.kvkp-master-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.kvkp-master-stats > div{ display:grid; gap:3px; padding:9px; border:1px solid rgba(166,190,205,.1); background:#070c10; }
.kvkp-master-stats span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-master-stats strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.75rem; }
.kvkp-master-stats small{ color:#b38d69; font-family:'JetBrains Mono',monospace; font-size:.48rem; }
.kvkp-master-stats > .is-missing{ border-color:rgba(255,112,58,.38); background:rgba(255,112,58,.045); }
.kvkp-master-stats > .is-missing strong{ color:#f0ad77; }
.kvkp-master-stats > .is-covered{ border-color:rgba(110,231,245,.28); background:rgba(110,231,245,.035); }
.kvkp-master-stats > .is-covered strong{ display:flex; align-items:center; gap:5px; color:var(--frost); }
.kvkp-master-empty{ margin:0; color:var(--ink-faint); font-size:.58rem; }
.kvkp-master-warning{ display:flex; align-items:center; gap:6px; margin-bottom:8px; padding:7px 9px; border:1px solid rgba(228,180,119,.18); color:#e4b477; font-size:.55rem; }
.kvkp-master-actions{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; }
.kvkp-master-actions small{ max-width:700px; color:var(--ink-faint); font-size:.51rem; line-height:1.45; }

.kvkp-troop-helper{ margin-top:0; }
.kvkp-troop-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.kvkp-troop-grid .field,.kvkp-gather-grid .field{ margin:0; }
.kvkp-gather-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }

.kvkp-actions{ display:flex; align-items:center; justify-content:flex-end; gap:9px; margin-top:16px; }
.kvkp-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.54rem; transition:color .2s; }
.kvkp-save-status.is-saved{ color:#86d8c5; }
.kvkp-results{ display:grid; gap:14px; }
.kvkp-empty{ display:flex; align-items:center; gap:12px; padding:20px; }
.kvkp-empty[hidden],#kvkp-result-content[hidden]{ display:none!important; }
.kvkp-empty > i{ color:var(--frost); font-size:1.5rem; }
.kvkp-empty div{ display:grid; gap:3px; }
.kvkp-empty b{ font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; text-transform:uppercase; }
.kvkp-empty span{ color:var(--ink-faint); font-size:.65rem; }
#kvkp-result-content{ display:grid; gap:14px; }
.kvkp-summary-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.kvkp-summary-card{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:4px 9px; align-items:center; padding:15px; }
.kvkp-summary-card > i{ grid-row:1/3; color:var(--ember-hot); font-size:1.25rem; }
.kvkp-summary-card span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-summary-card strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.9rem; }
.kvkp-recommendation{ display:flex; align-items:flex-start; gap:10px; padding:16px; border-color:rgba(79,205,173,.32); }
.kvkp-recommendation.is-warning{ border-color:rgba(228,180,119,.42); }
.kvkp-recommendation > i{ flex:none; color:#75d7bd; font-size:1.25rem; margin-top:1px; }
.kvkp-recommendation.is-warning > i{ color:#e4b477; }
.kvkp-recommendation div{ display:grid; gap:3px; }
.kvkp-recommendation b{ font-family:'Barlow Condensed',sans-serif; font-size:1rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-recommendation span{ color:var(--ink-faint); font-size:.64rem; line-height:1.45; }
.kvkp-day-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; align-items:stretch; }
.kvkp-day-card{ min-width:0; display:flex; flex-direction:column; padding:14px; }
.kvkp-day-card.is-complete{ border-color:rgba(79,205,173,.30); }
.kvkp-day-card.is-incomplete{ border-color:rgba(228,180,119,.26); }
.kvkp-day-card > header{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; }
.kvkp-day-card > header div{ min-width:0; }
.kvkp-day-card > header span{ color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.49rem; text-transform:uppercase; letter-spacing:.09em; }
.kvkp-day-card > header h3{ margin:3px 0 0; font-family:'Barlow Condensed',sans-serif; font-size:1rem; line-height:1.05; text-transform:uppercase; }
.kvkp-day-card > header strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.67rem; white-space:nowrap; }
.kvkp-progress{ height:4px; margin:12px 0 8px; overflow:hidden; background:rgba(255,255,255,.06); }
.kvkp-progress i{ display:block; height:100%; background:linear-gradient(90deg,var(--ember),var(--frost)); }
.kvkp-day-status{ display:flex; align-items:center; gap:5px; min-height:28px; font-size:.54rem; line-height:1.35; }
.kvkp-day-status.ok{ color:#75d7bd; }
.kvkp-day-status.missing{ color:#e4b477; }
.kvkp-current-note{ margin:2px 0 7px; color:var(--ink-faint); font-size:.5rem; }
.kvkp-day-card ul{ display:grid; gap:6px; margin:4px 0 12px; padding:0; list-style:none; }
.kvkp-day-card li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; align-items:center; padding:7px 0; border-bottom:1px solid rgba(166,190,205,.08); }
.kvkp-day-card li:last-child{ border-bottom:0; }
.kvkp-day-card li > div{ min-width:0; display:grid; gap:2px; }
.kvkp-day-card li b{ overflow:hidden; text-overflow:ellipsis; color:var(--ink-soft); font-size:.56rem; line-height:1.25; }
.kvkp-day-card li small{ color:var(--ink-faint); font-size:.48rem; }
.kvkp-day-card li strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.51rem; }
.kvkp-day-card li.is-empty{ display:block; color:var(--ink-faint); font-size:.55rem; line-height:1.45; border:0; }
.kvkp-day-card > footer{ display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:10px; border-top:1px solid var(--glass-line); }
.kvkp-day-card > footer span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; }
.kvkp-day-card > footer strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.63rem; }
.kvkp-reserve-panel{ padding:18px; }
.kvkp-result-heading{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.kvkp-result-heading > i{ color:var(--ember-hot); font-size:1.25rem; }
.kvkp-result-heading div{ display:grid; gap:1px; }
.kvkp-result-heading span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; letter-spacing:.08em; }
.kvkp-result-heading h3{ margin:0; font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; text-transform:uppercase; }
.kvkp-reserve-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.kvkp-reserve-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:10px; border:1px solid var(--glass-line); background:#080d12; }
.kvkp-reserve-row div{ min-width:0; display:grid; gap:2px; }
.kvkp-reserve-row b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-size:.61rem; }
.kvkp-reserve-row small{ color:var(--ink-faint); font-size:.51rem; }
.kvkp-reserve-row strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; }
.kvkp-reserve-empty{ margin:0; color:var(--ink-faint); font-size:.65rem; }
.kvkp-result-actions{ display:flex; justify-content:flex-end; }

@media (max-width:1180px){
  .kvkp-day-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kvkp-input-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-current-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kvkp-troop-grid,.kvkp-gather-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-reference-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-master-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .kvkp-settings-grid,.kvkp-summary-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-day-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-reserve-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:759px){
  .kvkp-hero{ margin-top:18px; }
  .kvkp-settings-panel,.kvkp-stock-panel{ padding:16px; }
  .kvkp-settings-grid,.kvkp-current-grid,.kvkp-input-grid,.kvkp-summary-grid,.kvkp-day-grid,.kvkp-reserve-grid,.kvkp-troop-grid,.kvkp-gather-grid,.kvkp-reference-grid{ grid-template-columns:1fr; }
  .kvkp-helper-row{ grid-template-columns:1fr 1fr; }
  .kvkp-helper-row .kvkp-row-remove{ width:100%; }
  .kvkp-helper-head{ display:grid; }
  .kvkp-helper-head .btn{ width:100%; justify-content:center; }
  .kvkp-master-time-grid,.kvkp-master-plan-head,.kvkp-master-skill-row,.kvkp-master-stats{ grid-template-columns:1fr; }
  .kvkp-master-relationship-summary{ display:grid; }
  .kvkp-master-relationship-summary strong{ text-align:left; flex-wrap:wrap; }
  .kvkp-master-actions{ display:grid; }
  .kvkp-master-actions .btn{ width:100%; justify-content:center; }
  .kvkp-current-title{ grid-template-columns:auto minmax(0,1fr); }
  .kvkp-current-title span{ grid-column:1/-1; }
  .kvkp-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .kvkp-save-status{ grid-column:1/-1; margin:0; }
  .kvkp-actions .btn{ width:100%; justify-content:center; }
  .kvkp-day-card > header h3{ font-size:1.12rem; }
}

/* ── Alliance Championship Planner ──────────────────────────────────────── */
.ac-hero{ margin:28px 0 20px; }
.ac-hero .page-sub{ max-width:860px; }
.ac-planner{ display:grid; gap:18px; }
.ac-section-head{ margin-bottom:15px; }
.ac-control-panel,.ac-entry-panel{ padding:22px; }
.ac-settings-grid{ display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:12px; align-items:stretch; }
.ac-settings-grid .field{ margin:0; }
.ac-settings-grid small,.ac-import-box small{ color:var(--ink-faint); font-size:.57rem; line-height:1.45; }
.ac-import-box{ display:grid; grid-template-columns:1fr; align-content:start; gap:8px; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.ac-import-box > span{ color:var(--ink-soft); font-size:.65rem; font-weight:700; }
.ac-import-box .btn{ justify-self:start; }
.ac-roster-summary{ display:grid; grid-template-columns:1fr; gap:6px; padding:12px; border:1px solid var(--glass-line); background:#080d12; }
.ac-roster-summary > div{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:5px 0; border-bottom:1px solid rgba(166,190,205,.08); }
.ac-roster-summary > div:last-child{ border-bottom:0; }
.ac-roster-summary span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.5rem; text-transform:uppercase; letter-spacing:.05em; }
.ac-roster-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.66rem; }
.ac-entry-tabs{ display:inline-flex; gap:3px; margin-bottom:14px; padding:3px; border:1px solid var(--glass-line); background:#080d12; }
.ac-entry-tabs button{ border:0; padding:8px 13px; background:transparent; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.52rem; text-transform:uppercase; cursor:pointer; }
.ac-entry-tabs button.active{ background:rgba(255,106,48,.13); color:var(--ember-hot); }
.ac-entry-view[hidden]{ display:none!important; }
.ac-add-grid{ display:grid; grid-template-columns:minmax(220px,1.35fr) minmax(170px,.8fr) auto; gap:10px; align-items:end; }
.ac-add-grid .field{ margin:0; }
.ac-add-grid .btn{ min-height:43px; }
.ac-entry-view textarea{ width:100%; resize:vertical; min-height:145px; font-family:'JetBrains Mono',monospace; font-size:.68rem; line-height:1.55; }
.ac-entry-view[data-ac-view="bulk"] .btn{ margin-top:10px; }
.ac-feedback{ min-height:24px; padding:8px 0 0; color:var(--ink-faint); font-size:.62rem; }
.ac-feedback.error{ color:#ff9b83; }
.ac-feedback.success{ color:#79d6bd; }
.ac-roster-list{ display:grid; gap:7px; margin-top:8px; }
.ac-roster-empty{ display:flex; align-items:center; gap:10px; padding:18px; border:1px dashed rgba(166,190,205,.18); color:var(--ink-faint); font-size:.64rem; }
.ac-roster-empty i{ color:var(--frost); font-size:1.25rem; }
.ac-roster-row{ display:grid; grid-template-columns:34px minmax(190px,1.4fr) minmax(145px,.8fr) minmax(120px,.65fr) minmax(125px,.65fr) 36px; gap:8px; align-items:end; padding:9px; border:1px solid rgba(166,190,205,.13); background:#080d12; }
.ac-roster-index{ align-self:center; color:var(--ink-faint); font-size:.55rem; text-align:center; }
.ac-roster-row label{ min-width:0; display:grid; gap:5px; }
.ac-roster-row label > span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.45rem; text-transform:uppercase; letter-spacing:.05em; }
.ac-roster-row input,.ac-roster-row select{ min-width:0; width:100%; height:38px; }
.ac-row-remove{ display:grid; place-items:center; width:36px; height:38px; border:1px solid rgba(255,111,78,.23); background:rgba(255,74,44,.05); color:#ff8b73; cursor:pointer; }
.ac-row-remove:hover{ background:rgba(255,74,44,.12); }
.ac-actions{ display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.ac-results{ display:grid; gap:14px; }
.ac-empty{ display:flex; align-items:center; gap:12px; padding:20px; }
.ac-empty[hidden],#ac-result-content[hidden]{ display:none!important; }
.ac-empty > i{ color:var(--frost); font-size:1.55rem; }
.ac-empty div{ display:grid; gap:3px; }
.ac-empty b{ font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; text-transform:uppercase; }
.ac-empty span{ color:var(--ink-faint); font-size:.65rem; }
#ac-result-content{ display:grid; gap:13px; }
.ac-result-summary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ac-summary-card{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:3px 10px; padding:15px; }
.ac-summary-card > i{ grid-row:1/3; color:var(--ember-hot); font-size:1.25rem; }
.ac-summary-card span{ color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.48rem; text-transform:uppercase; letter-spacing:.06em; }
.ac-summary-card strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.8rem; }
.ac-lanes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; align-items:start; }
.ac-lane-card{ min-width:0; padding:15px; }
.ac-lane-card.is-sacrifice{ border-color:rgba(228,180,119,.25); }
.ac-lane-card > header{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:start; padding-bottom:10px; border-bottom:1px solid var(--glass-line); }
.ac-lane-card > header span{ color:var(--ember-hot); font-size:.48rem; letter-spacing:.08em; text-transform:uppercase; }
.ac-lane-card > header h2{ margin:3px 0 0; font-family:'Barlow Condensed',sans-serif; font-size:1.35rem; text-transform:uppercase; }
.ac-lane-card > header strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.72rem; }
.ac-lane-stats{ display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:10px 0; }
.ac-lane-stats span{ display:grid; gap:3px; color:var(--ink-faint); font-size:.5rem; text-transform:uppercase; }
.ac-lane-stats b{ color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:.6rem; }
.ac-lane-warning{ display:flex; gap:7px; align-items:flex-start; margin-bottom:8px; padding:8px; border:1px solid rgba(255,137,87,.3); color:#e9aa82; font-size:.56rem; line-height:1.4; }
.ac-lane-players{ display:grid; gap:5px; min-height:76px; padding:4px; border:1px dashed transparent; transition:border-color .18s,background .18s; }
.ac-lane-players:empty{ border-color:rgba(166,190,205,.14); }
.ac-lane-player{ display:grid; grid-template-columns:25px minmax(0,1fr) auto 18px; gap:7px; align-items:center; padding:8px; border:1px solid rgba(166,190,205,.11); background:#080d12; cursor:grab; }
.ac-lane-player:active{ cursor:grabbing; }
.ac-lane-player.is-dragging{ opacity:.4; }
.ac-lane-player > span{ color:var(--ink-faint); font-size:.47rem; }
.ac-lane-player > div{ min-width:0; display:grid; gap:2px; }
.ac-lane-player b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-size:.62rem; }
.ac-lane-player small{ display:flex; align-items:center; gap:3px; color:#d4aa78; font-size:.46rem; }
.ac-lane-player > strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.52rem; white-space:nowrap; }
.ac-drag-handle{ color:var(--ink-faint); font-size:.9rem; }
.ac-lane-empty{ display:grid; place-items:center; min-height:70px; color:var(--ink-faint); }
.ac-result-actions{ display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.ac-result-actions #ac-save-status{ margin-right:auto; color:var(--ink-faint); font-size:.52rem; transition:color .2s; }
.ac-result-actions #ac-save-status.is-saved{ color:#75d7bd; }

@media (max-width:1100px){
  .ac-settings-grid{ grid-template-columns:1fr 1fr; }
  .ac-roster-summary{ grid-column:1/-1; grid-template-columns:repeat(3,1fr); }
  .ac-roster-row{ grid-template-columns:32px minmax(180px,1.4fr) minmax(140px,.8fr) minmax(120px,.7fr) minmax(120px,.7fr) 36px; overflow-x:auto; }
  .ac-lanes{ grid-template-columns:1fr; }
}
@media (max-width:759px){
  .ac-hero{ margin-top:18px; }
  .ac-control-panel,.ac-entry-panel{ padding:16px; }
  .ac-settings-grid,.ac-roster-summary,.ac-result-summary{ grid-template-columns:1fr; }
  .ac-add-grid{ grid-template-columns:1fr; }
  .ac-add-grid .btn{ width:100%; justify-content:center; }
  .ac-roster-row{ grid-template-columns:28px minmax(0,1fr) 36px; gap:7px; }
  .ac-roster-index{ grid-row:1/3; }
  .ac-roster-row label:nth-of-type(1){ grid-column:2; }
  .ac-roster-row label:nth-of-type(2){ grid-column:2; }
  .ac-roster-row label:nth-of-type(3){ grid-column:1/3; }
  .ac-roster-row label:nth-of-type(4){ grid-column:1/3; }
  .ac-row-remove{ grid-column:3; grid-row:1; }
  .ac-actions{ display:grid; grid-template-columns:1fr 1fr; }
  .ac-actions .btn{ width:100%; justify-content:center; }
  .ac-lane-stats{ grid-template-columns:1fr; }
  .ac-result-actions{ display:grid; grid-template-columns:1fr; }
  .ac-result-actions #ac-save-status{ margin:0; }
  .ac-result-actions .btn{ width:100%; justify-content:center; }
}
.ac-lane-move{ grid-column:2/5; display:flex; justify-content:flex-end; gap:4px; padding-top:3px; }
.ac-lane-move button{ min-width:29px; height:24px; border:1px solid var(--glass-line); background:transparent; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-size:.45rem; cursor:pointer; }
.ac-lane-move button:hover{ border-color:rgba(255,126,65,.38); color:var(--ember-hot); }
.ac-lane-move button:disabled{ border-color:rgba(79,205,173,.25); background:rgba(79,205,173,.07); color:#75d7bd; cursor:default; }


/* Member login: persistent-login option */
.login-remember-row{
  display:flex; align-items:flex-start; gap:10px; margin:2px 0 16px;
  padding:12px 13px; border:1px solid var(--glass-line); background:rgba(255,255,255,.025);
  cursor:pointer;
}
.login-remember-row input{
  width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:var(--ember);
}
.login-remember-row span{ display:grid; gap:3px; }
.login-remember-row b{ color:var(--ink); font-size:.8rem; }
.login-remember-row small{ color:var(--ink-faint); font-size:.67rem; line-height:1.4; }
.login-remember-row:has(input:checked){
  border-color:rgba(255,126,65,.45); background:rgba(255,94,45,.075);
}

/* ---------- Organized More menu ---------- */
.more-sheet .sheet{
  max-height:min(86vh,760px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.more-sheet-head{
  position:sticky;
  top:-20px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:-2px -2px 18px;
  padding:2px 2px 14px;
  background:linear-gradient(180deg,rgba(6,10,13,.99) 72%,rgba(6,10,13,0));
}
.more-sheet-head > div{ display:grid; gap:3px; }
.more-sheet-kicker{
  font-family:'JetBrains Mono',monospace;
  font-size:.52rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ember-hot);
}
.more-sheet-head strong{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.45rem;
  line-height:1;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.more-sheet .sheet .more-close{
  flex:none;
  width:38px;
  height:38px;
  min-height:0;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid var(--glass-line);
  background:rgba(255,255,255,.025);
  color:var(--ink-soft);
}
.more-sheet .sheet .more-close:hover{ border-color:rgba(255,119,62,.42); color:var(--ember-hot); }
.more-sheet .sheet .more-close i{ width:auto; font-size:1.1rem; color:currentColor; }
.more-menu-section + .more-menu-section{ margin-top:18px; }
.more-menu-label{
  margin:0 0 7px 3px;
  font-family:'JetBrains Mono',monospace;
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
.more-menu-links{
  overflow:hidden;
  border:1px solid var(--glass-line);
  background:rgba(255,255,255,.018);
}
.more-sheet .more-menu-links > a,
.more-sheet .more-menu-links > .sheet-form > button{
  min-height:48px;
  padding:12px 14px;
  border-bottom:1px solid var(--glass-line);
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.more-sheet .more-menu-links > a:last-child,
.more-sheet .more-menu-links > .sheet-form:last-child > button{ border-bottom:0; }
.more-sheet .more-menu-links > a:hover,
.more-sheet .more-menu-links > .sheet-form > button:hover{
  background:rgba(255,112,54,.065);
  color:#fff;
}
.more-sheet .more-menu-links a span,
.more-sheet .more-menu-links button span{ min-width:0; }
.more-sheet .more-menu-links i{
  flex:none;
  width:24px;
  font-size:1.08rem;
  text-align:center;
}
.more-menu-admin .more-menu-links{ border-color:rgba(255,119,62,.2); }
footer.note .admin-entry{
  text-decoration:none;
  opacity:.48;
  transition:opacity .18s ease,box-shadow .18s ease,border-color .18s ease;
}
footer.note .admin-entry:hover,
footer.note .admin-entry:focus-visible{ opacity:1; border-color:rgba(255,119,62,.65); }
footer.note .admin-entry.active{
  opacity:.9;
  box-shadow:0 0 18px rgba(255,100,56,.16);
}

@media (min-width:760px){
  .more-sheet .sheet{ max-height:none; overflow-y:auto; }
  .more-sheet-head{ top:-90px; margin-top:-4px; padding-top:4px; }
}
@media (min-width:760px){
  .more-sheet-head{ top:0; margin-top:0; padding-top:0; }
}

/* ── Admin access statistics ───────────────────────────────────────────── */
.analytics-title-row{ align-items:flex-end; gap:18px; }
.analytics-title-row > div{ min-width:0; }
.analytics-title-row .prose{ margin:7px 0 0; max-width:760px; }
.analytics-period-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.analytics-period-card{
  position:relative; overflow:hidden; min-width:0; padding:18px 20px; text-decoration:none;
  border:1px solid var(--glass-line); border-radius:4px; background:rgba(10,16,21,.74);
  display:grid; gap:5px; transition:border-color .18s,transform .18s,box-shadow .18s;
}
.analytics-period-card::after{ content:""; position:absolute; inset:auto 0 0; height:2px; background:var(--accent-grad); opacity:.28; }
.analytics-period-card:hover,.analytics-period-card.active{ transform:translateY(-2px); border-color:rgba(255,126,65,.55); box-shadow:0 16px 38px rgba(0,0,0,.32); }
.analytics-period-card.active::after{ opacity:1; }
.analytics-period-card span{ color:var(--ink-soft); font-family:'JetBrains Mono',monospace; font-size:.67rem; letter-spacing:.09em; text-transform:uppercase; }
.analytics-period-card strong{ font-family:'Unbounded','Inter',sans-serif; font-size:1.7rem; line-height:1.05; color:var(--ink); }
.analytics-period-card small{ color:var(--ink-faint); font-size:.72rem; }
.analytics-filter-panel{ padding:18px 20px; }
.analytics-filter-form{ display:grid; grid-template-columns:minmax(160px,.75fr) minmax(190px,1fr) auto; gap:12px; align-items:end; }
.analytics-filter-form .field{ margin:0; }
.analytics-filter-form .btn{ min-height:45px; justify-content:center; }
.analytics-summary-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.analytics-summary-card{ min-width:0; min-height:128px; padding:18px; border:1px solid var(--glass-line); border-radius:4px; background:linear-gradient(145deg,rgba(14,22,29,.9),rgba(8,12,17,.9)); display:grid; grid-template-columns:auto 1fr; align-items:center; gap:7px 11px; }
.analytics-summary-card > i{ grid-row:1 / span 2; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(110,231,245,.2); background:rgba(110,231,245,.07); color:var(--frost); font-size:1.25rem; }
.analytics-summary-card span{ color:var(--ink-soft); font-size:.7rem; line-height:1.25; text-transform:uppercase; letter-spacing:.06em; }
.analytics-summary-card strong{ font-family:'Unbounded','Inter',sans-serif; font-size:1.55rem; line-height:1; }
.analytics-layout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.analytics-panel{ min-width:0; margin:0!important; }
.analytics-timeline-panel,.analytics-pages-panel{ grid-column:1 / -1; }
.analytics-timeline{ display:grid; gap:8px; }
.analytics-timeline-row{ display:grid; grid-template-columns:62px minmax(80px,1fr) 54px 86px; gap:10px; align-items:center; min-width:0; }
.analytics-timeline-row > span{ color:var(--ink-faint); font-size:.64rem; }
.analytics-timeline-row > b{ text-align:right; font-size:.75rem; }
.analytics-timeline-row > small{ color:var(--ink-faint); font-size:.65rem; white-space:nowrap; }
.analytics-timeline-track,.analytics-mini-track{ position:relative; overflow:hidden; height:9px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.05); }
.analytics-timeline-track i,.analytics-mini-track i{ display:block; height:100%; min-width:0; background:linear-gradient(90deg,var(--frost),var(--ember)); box-shadow:0 0 15px rgba(255,93,43,.16); }
.analytics-breakdown{ display:grid; gap:13px; }
.analytics-breakdown-row{ min-width:0; display:grid; gap:6px; }
.analytics-breakdown-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; font-size:.76rem; }
.analytics-breakdown-head > span{ min-width:0; overflow:hidden; }
.analytics-breakdown-head b{ flex:none; font-family:'JetBrains Mono',monospace; font-size:.7rem; }
.analytics-breakdown-row > small{ color:var(--ink-faint); font-size:.63rem; }
.analytics-mini-track{ height:6px; }
.analytics-country-label,.analytics-language-label{ display:flex; align-items:center; gap:8px; min-width:0; }
.analytics-country-label > i{ width:24px; flex:none; font-style:normal; font-size:1.05rem; }
.analytics-country-label > span,.analytics-language-label > span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.analytics-country-label > em{ flex:none; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; font-style:normal; font-size:.58rem; }
.analytics-language-label > i{ flex:none; color:var(--frost); font-size:1rem; }
.analytics-empty{ margin:0; padding:16px 0; color:var(--ink-faint); font-size:.78rem; }
.analytics-privacy-note{ margin-top:14px!important; display:flex; align-items:flex-start; gap:14px; }
.analytics-privacy-note > i{ flex:none; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(110,231,245,.25); color:var(--frost); font-size:1.3rem; }
.analytics-privacy-note b{ display:block; margin-bottom:5px; }
.analytics-privacy-note p{ margin:0 0 7px; color:var(--ink-soft); font-size:.76rem; line-height:1.55; }
.analytics-privacy-note small{ color:var(--ink-faint); font-size:.67rem; line-height:1.5; }

@media (max-width:759px){
  .analytics-title-row{ align-items:flex-start; }
  .analytics-period-cards{ grid-template-columns:1fr; }
  .analytics-period-card{ min-height:104px; }
  .analytics-filter-form{ grid-template-columns:1fr; }
  .analytics-summary-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-summary-card{ min-height:112px; padding:15px 13px; grid-template-columns:auto minmax(0,1fr); }
  .analytics-summary-card > i{ width:36px; height:36px; }
  .analytics-summary-card strong{ font-size:1.2rem; }
  .analytics-layout{ grid-template-columns:1fr; }
  .analytics-timeline-panel,.analytics-pages-panel{ grid-column:1; }
  .analytics-timeline{ overflow-x:auto; padding-bottom:4px; }
  .analytics-timeline-row{ min-width:520px; }
  .analytics-privacy-note{ padding:17px; }
}


/* ── Server #913 expanded progression timeline v2 ───────────────────── */
.timeline-age-card{ margin-bottom:22px; }
.timeline-snapshot{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0 16px; }
.timeline-snapshot__card{ min-width:0; min-height:126px; position:relative; padding:18px 18px 16px 62px; border:1px solid var(--glass-line); border-radius:4px; background:linear-gradient(145deg,rgba(14,22,29,.92),rgba(7,11,15,.96)); display:flex; flex-direction:column; justify-content:center; gap:4px; overflow:hidden; }
.timeline-snapshot__card::after{ content:""; position:absolute; inset:auto 0 0; height:2px; background:var(--accent-grad); opacity:.45; }
.timeline-snapshot__card > i{ position:absolute; left:16px; top:18px; width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(110,231,245,.22); color:var(--frost); background:rgba(110,231,245,.06); font-size:1.05rem; }
.timeline-snapshot__card > span{ font-family:'JetBrains Mono',monospace; color:var(--ink-faint); font-size:.58rem; letter-spacing:.13em; }
.timeline-snapshot__card > strong{ font-family:'Unbounded','Inter',sans-serif; font-size:1.12rem; line-height:1.1; color:var(--ink); }
.timeline-snapshot__card > small{ color:var(--ink-soft); font-size:.7rem; line-height:1.35; }
.timeline-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 10px; }
.timeline-filters{ display:flex; flex-wrap:wrap; gap:6px; }
.prose .timeline-filter,.prose .timeline-history-toggle{ text-decoration:none; }
.timeline-filter{ padding:7px 10px; border:1px solid var(--glass-line); background:rgba(255,255,255,.025); color:var(--ink-faint)!important; font-family:'JetBrains Mono',monospace; font-size:.57rem; letter-spacing:.08em; transition:.18s ease; }
.timeline-filter:hover,.timeline-filter.active{ color:var(--ink)!important; border-color:rgba(255,126,65,.55); background:rgba(255,94,45,.08); }
.timeline-history-toggle{ flex:none; padding:7px 10px; border:1px solid rgba(110,231,245,.2); color:var(--frost)!important; font-family:'JetBrains Mono',monospace; font-size:.58rem; }
.timeline-legend{ display:flex; flex-wrap:wrap; gap:14px; margin:0 0 20px; color:var(--ink-faint); font-size:.62rem; }
.timeline-legend > span{ display:flex; align-items:center; gap:6px; }
.legend-dot{ width:7px; height:7px; border-radius:50%; display:inline-block; }
.legend-dot.confirmed{ background:var(--frost); box-shadow:0 0 10px rgba(110,231,245,.45); }
.legend-dot.window{ border:1px solid var(--steel); background:transparent; }
.legend-dot.projected{ background:var(--ember); box-shadow:0 0 10px rgba(255,94,45,.35); }
.server-timeline-v2{ position:relative; display:grid; gap:10px; margin:8px 0 20px; }
.server-timeline-v2::before{ content:""; position:absolute; top:0; bottom:0; left:17px; width:1px; background:linear-gradient(180deg,rgba(110,231,245,.4),rgba(255,94,45,.28),rgba(255,255,255,.04)); }
.server-timeline-v2:not(.show-history) .server-timeline-v2__item.is-history{ display:none; }
.server-timeline-v2__item{ position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; min-width:0; }
.server-timeline-v2__item.is-filtered{ display:none!important; }
.server-timeline-v2__rail{ position:relative; min-height:100%; }
.timeline-node{ position:absolute; z-index:2; top:24px; left:11px; width:13px; height:13px; border-radius:50%; border:2px solid #0a0e13; }
.timeline-node.confirmed{ background:var(--frost); box-shadow:0 0 0 3px rgba(110,231,245,.09),0 0 14px rgba(110,231,245,.38); }
.timeline-node.window{ background:#0b1117; border-color:var(--steel); box-shadow:0 0 0 3px rgba(255,255,255,.035); }
.timeline-node.projected{ background:var(--ember); box-shadow:0 0 0 3px rgba(255,94,45,.08),0 0 14px rgba(255,94,45,.28); }
.server-timeline-v2__card{ position:relative; min-width:0; padding:16px 17px 15px; border:1px solid var(--glass-line); border-radius:3px; background:linear-gradient(145deg,rgba(13,20,27,.86),rgba(8,12,17,.91)); transition:transform .18s ease,border-color .18s ease,opacity .18s ease; }
.server-timeline-v2__item.is-past .server-timeline-v2__card{ opacity:.76; }
.server-timeline-v2__item.is-upcoming .server-timeline-v2__card{ border-color:rgba(255,126,65,.22); }
.server-timeline-v2__item.is-next .server-timeline-v2__card{ opacity:1; border-color:rgba(255,126,65,.65); box-shadow:0 16px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,94,45,.06) inset; }
.server-timeline-v2__item.is-next .server-timeline-v2__card::before{ content:"NEXT"; position:absolute; right:12px; top:-9px; padding:3px 7px; background:var(--ember); color:#080b0e; font-family:'JetBrains Mono',monospace; font-size:.51rem; font-weight:800; letter-spacing:.12em; }
.server-timeline-v2__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; }
.timeline-category{ font-family:'JetBrains Mono',monospace; font-size:.53rem; letter-spacing:.13em; color:var(--ink-faint); }
.cat-heroes{ color:#ffb073; }.cat-pets{ color:#a7e89d; }.cat-pvp{ color:#ff7f91; }.cat-truegold{ color:#ffd86a; }.cat-feature{ color:var(--frost); }.cat-masters{ color:#c5a4ff; }
.server-timeline-v2__relative{ color:var(--ink-faint); font-size:.61rem; white-space:nowrap; }
.server-timeline-v2__date{ display:flex; align-items:baseline; gap:10px; margin-bottom:7px; }
.server-timeline-v2__date strong{ font-family:'JetBrains Mono',monospace; font-size:.74rem; color:var(--ink); }
.server-timeline-v2__date span{ color:var(--ink-faint); font-size:.62rem; }
.prose .server-timeline-v2__card h3{ margin:0 0 6px; font-size:1rem; line-height:1.25; }
.prose .server-timeline-v2__card p{ margin:0; color:var(--ink-soft); font-size:.76rem; line-height:1.5; }
.timeline-prediction-label{ display:inline-flex; margin-top:10px; padding:3px 7px; border:1px solid rgba(255,126,65,.3); color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.5rem; letter-spacing:.12em; }
.timeline-today-marker{ position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:12px; min-height:38px; }
.timeline-today-marker::before{ content:""; position:absolute; left:11px; top:12px; width:13px; height:13px; border-radius:50%; background:var(--ember-hot); border:2px solid #0a0e13; box-shadow:0 0 0 4px rgba(255,94,45,.13),0 0 20px rgba(255,94,45,.45); z-index:3; }
.timeline-today-marker span{ grid-column:2; align-self:center; display:flex; align-items:center; gap:10px; color:var(--ember-hot); font-family:'JetBrains Mono',monospace; font-size:.58rem; letter-spacing:.14em; }
.timeline-today-marker span::after{ content:""; height:1px; flex:1; background:linear-gradient(90deg,rgba(255,94,45,.55),transparent); }
.timeline-footnote{ margin-top:18px!important; padding:12px 14px; border-left:2px solid rgba(110,231,245,.35); background:rgba(110,231,245,.035); color:var(--ink-faint)!important; font-size:.68rem!important; line-height:1.55!important; }
@media (hover:hover){ .server-timeline-v2__card:hover{ transform:translateY(-2px); border-color:rgba(255,255,255,.16); opacity:1; } }
@media (max-width:759px){
  .timeline-snapshot{ grid-template-columns:1fr; }
  .timeline-snapshot__card{ min-height:104px; }
  .timeline-toolbar{ align-items:stretch; flex-direction:column; }
  .timeline-history-toggle{ align-self:flex-start; }
  .timeline-filters{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .timeline-filter{ text-align:center; }
  .timeline-legend{ gap:9px 12px; }
  .server-timeline-v2::before{ left:11px; }
  .server-timeline-v2__item,.timeline-today-marker{ grid-template-columns:24px minmax(0,1fr); gap:8px; }
  .timeline-node{ left:5px; width:13px; }
  .timeline-today-marker::before{ left:5px; }
  .server-timeline-v2__card{ padding:14px 13px; }
  .server-timeline-v2__meta{ align-items:flex-start; }
  .server-timeline-v2__relative{ white-space:normal; text-align:right; }
}

/* Registration: Century Games gift-code availability notice */
.registration-gift-note{
  display:flex; align-items:flex-start; gap:12px; margin:0 0 20px; padding:14px 16px;
  border:1px solid rgba(255,138,61,.26); border-left:2px solid var(--grad-2);
  background:rgba(255,138,61,.055); color:var(--ink-soft);
}
.registration-gift-note > i{ flex:none; margin-top:2px; color:var(--grad-2); font-size:1.2rem; }
.registration-gift-note b{ display:block; margin-bottom:4px; color:var(--ink); font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:.035em; text-transform:uppercase; }
.registration-gift-note p{ margin:0; font-size:.74rem; line-height:1.55; }
@media (max-width:759px){
  .registration-gift-note{ padding:13px 14px; gap:10px; }
  .registration-gift-note p{ font-size:.72rem; }
}

/* ── Home: members / guests active today ───────── */
.home-presence-strip{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:16px 18px;
  border-left:2px solid rgba(110,231,245,.55);
}
.home-presence-status{
  width:12px;
  height:12px;
  flex:none;
  border:1px solid rgba(110,231,245,.55);
  border-radius:50%;
  display:grid;
  place-items:center;
  box-shadow:0 0 16px rgba(110,231,245,.12);
}
.home-presence-status i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--frost);
  box-shadow:0 0 10px var(--frost);
}
.home-presence-main{ min-width:0; flex:1; }
.home-presence-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--ink-faint);
  font-size:.52rem;
  letter-spacing:.14em;
}
.home-presence-line{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
  font-size:.78rem;
  line-height:1.55;
}
.home-presence-line > strong{
  color:var(--ink);
  font-family:'Barlow Condensed','Inter',sans-serif;
  font-size:.92rem;
  letter-spacing:.025em;
}
.home-presence-names{
  color:var(--ink-soft);
  min-width:0;
  overflow-wrap:anywhere;
}
.home-presence-names a{
  color:var(--ink-soft);
  text-decoration:none;
  transition:color .16s ease;
}
.home-presence-names a:hover{ color:var(--frost); }
.home-presence-separator{ margin-right:3px; color:var(--ink-faint); }
.home-presence-more{
  display:inline-block;
  margin-left:7px;
  color:var(--frost);
  font-family:'JetBrains Mono',monospace;
  font-size:.58rem;
}
.home-presence-empty{ color:var(--ink-faint); }
.home-presence-guests{
  flex:none;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  column-gap:6px;
  row-gap:0;
  padding-left:16px;
  border-left:1px solid var(--glass-line);
}
.home-presence-guests > i{
  grid-row:1 / span 2;
  color:var(--ink-faint);
  font-size:1.05rem;
}
.home-presence-guests strong{
  color:var(--frost);
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;
  line-height:1;
}
.home-presence-guests span{
  color:var(--ink-faint);
  font-size:.58rem;
  line-height:1.2;
}
@media (max-width:759px){
  .home-presence-strip{
    align-items:flex-start;
    gap:10px;
    padding:15px 14px;
  }
  .home-presence-status{ margin-top:4px; }
  .home-presence-line{ display:block; font-size:.76rem; }
  .home-presence-line > strong{ display:block; margin-bottom:2px; }
  .home-presence-guests{
    padding-left:10px;
    margin-left:auto;
  }
}



/* ── Shared update indicators ───────────────────────────────────────────
   Home tiles use .new-dot; these compact variants carry the same state into
   the bottom navigation, More menu and individual Bear Trap squad tabs. */
.bottom-nav .icn-wrap{ position:relative; display:inline-flex; align-items:center; justify-content:center; }
.nav-update-dot,
.menu-update-dot,
.tab-update-dot{
  display:inline-block; width:8px; height:8px; flex:none; border-radius:50%;
  background:#ff493f; box-shadow:0 0 0 2px rgba(255,73,63,.14),0 0 9px rgba(255,73,63,.72);
}
.nav-update-dot{ position:absolute; top:-3px; right:-7px; width:7px; height:7px; }
.menu-update-dot{ margin-left:auto; }
.round-tabs a{ display:inline-flex; align-items:center; gap:7px; }
.tab-update-dot{ width:7px; height:7px; }
.round-tabs a.active .tab-update-dot{ display:none; }
@media (prefers-reduced-motion:no-preference){
  .nav-update-dot,.menu-update-dot,.tab-update-dot{ animation:updateDotPulse 2.2s ease-in-out infinite; }
}
@keyframes updateDotPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:.68; transform:scale(.82); }
}

/* ── Kingdom Defense game ─────────────────────────────────────────────── */
.game-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 0 18px}.game-page-title{margin:5px 0 7px}.game-page-sub{margin:0;max-width:700px}.game-kicker{display:block;color:var(--ember-hot);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.game-stage-card{min-width:0}.game-stage-frame{position:relative;overflow:hidden;border:1px solid rgba(255,126,65,.28);background:#090d10;box-shadow:0 28px 80px rgba(0,0,0,.48),inset 0 0 0 1px rgba(255,255,255,.025);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));touch-action:none;user-select:none}.game-stage-frame::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%,transparent 80%,rgba(255,112,48,.04));box-shadow:inset 0 0 70px rgba(0,0,0,.42)}#kingdom-defense-canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#0a0e11}.game-hud{position:absolute;z-index:7;left:14px;right:14px;top:12px;display:grid;grid-template-columns:110px 78px 82px minmax(160px,1fr);gap:7px;pointer-events:none}.game-hud-cell,.game-hud-health{border:1px solid rgba(255,255,255,.12);background:rgba(5,8,10,.7);backdrop-filter:blur(8px);padding:7px 9px;min-height:43px}.game-hud-cell span,.game-hud-health>span{display:block;font-family:'JetBrains Mono',monospace;font-size:.46rem;letter-spacing:.14em;color:#83929a}.game-hud-cell strong{display:block;margin-top:2px;font-family:'Barlow Condensed',sans-serif;font-size:1.12rem;letter-spacing:.04em;color:#f4f2ea}.game-hud-health{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.game-hud-health>span{grid-column:1/-1;margin-bottom:-2px}.game-hud-health b{font-family:'JetBrains Mono',monospace;font-size:.58rem;color:#e8eee9}.game-health-track{height:7px;background:rgba(255,255,255,.08);overflow:hidden}.game-health-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#5fe29a,#d2df71);transition:width .2s}.game-health-track i.danger{background:linear-gradient(90deg,#ff4e36,#ff9a45)}
.game-start-overlay,.game-over-overlay{position:absolute;z-index:9;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:radial-gradient(circle at 50% 42%,rgba(44,33,24,.35),rgba(4,7,9,.89) 68%);backdrop-filter:blur(3px)}.game-start-overlay h2,.game-over-overlay h2{font-family:'Cinzel',serif;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:.035em;margin:8px 0 7px;color:#f1e5cf;text-shadow:0 5px 24px #000}.game-start-overlay p{max-width:480px;margin:0 0 18px;color:#aab5b8;line-height:1.55}.game-start-overlay small{margin-top:11px;color:#6f7d82;font-size:.66rem}.game-start-sigil{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(255,142,71,.35);background:rgba(255,119,47,.07);transform:rotate(45deg);margin-bottom:10px}.game-start-sigil i{transform:rotate(-45deg);font-size:1.8rem;color:#ff9554}.game-start-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(420px,100%);margin-bottom:17px}.game-start-stats>div{padding:10px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22)}.game-start-stats span{display:block;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:#7f8b8e}.game-start-stats strong{display:block;margin-top:3px;font:700 1.35rem 'Barlow Condensed',sans-serif;color:#f1e6d0}.game-play-btn{min-width:190px;justify-content:center;font-size:1rem}.game-spin{animation:gameSpin .8s linear infinite}@keyframes gameSpin{to{transform:rotate(360deg)}}
.game-over-overlay{background:radial-gradient(circle at 50% 30%,rgba(88,34,22,.28),rgba(4,7,9,.94) 72%)}.game-over-overlay h2{margin-bottom:9px}.game-over-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(540px,100%);margin:5px 0 15px}.game-over-grid>div{padding:9px 7px;border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.3)}.game-over-grid span{display:block;font-size:.5rem;letter-spacing:.1em;text-transform:uppercase;color:#7d8a8e}.game-over-grid strong{font:700 1.18rem 'Barlow Condensed',sans-serif;color:#f4e8d2}.game-achievement{padding:7px 13px;margin-bottom:7px;border:1px solid #dfac53;color:#ffd77f;background:rgba(204,139,45,.12);font:700 .72rem 'JetBrains Mono',monospace;letter-spacing:.1em}.game-achievement.alliance{box-shadow:0 0 28px rgba(255,166,67,.19)}.game-achievement.rejected{border-color:#b54a3c;color:#ff9a86;background:rgba(191,65,48,.1)}.game-message{position:absolute;z-index:8;left:50%;top:21%;transform:translateX(-50%);padding:7px 15px;border:1px solid rgba(130,210,225,.32);background:rgba(4,8,10,.72);backdrop-filter:blur(6px);color:#dcebed;font:700 .7rem 'JetBrains Mono',monospace;letter-spacing:.12em;white-space:nowrap;pointer-events:none}.game-message.gold{border-color:rgba(255,198,94,.5);color:#ffd171}.game-message.danger{border-color:rgba(255,94,56,.55);color:#ff896c}.game-sound-toggle{position:absolute;z-index:10;right:13px;bottom:13px;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);background:rgba(4,8,10,.7);color:#a8b5b8;display:grid;place-items:center;cursor:pointer}.game-sound-toggle:hover{color:#fff;border-color:rgba(255,143,74,.45)}
.game-scoreboard{display:grid;gap:12px}.game-rank-card,.game-leaderboard-card,.game-rules-card{margin:0}.game-rank-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.game-rank-row>div{padding:9px 7px;border-left:1px solid var(--glass-line)}.game-rank-row>div:first-child{border-left:0}.game-rank-row small{display:block;font-size:.5rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em}.game-rank-row strong{display:block;margin-top:3px;font:700 1.15rem 'Barlow Condensed',sans-serif}.game-score-head{margin:0 0 9px}.game-score-head h2{margin:2px 0 0;font-size:1rem}.game-score-head>i{font-size:1.5rem;color:#e4ad52}.game-leaderboard{display:grid;gap:4px}.game-score-row{display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:36px;padding:5px 7px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.018)}.game-score-row.is-you{border-color:rgba(102,219,235,.28);background:rgba(73,184,205,.06)}.game-score-pos{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.1);font:700 .62rem 'JetBrains Mono',monospace;color:#7f8c91}.game-score-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.game-score-row strong{font:700 .82rem 'JetBrains Mono',monospace;color:#dce4e3}.game-score-row.rank-1 .game-score-pos{border-color:#c99c42;color:#ffd46c;background:rgba(201,156,66,.11)}.game-score-row.rank-2 .game-score-pos{border-color:#9aa4a8;color:#dce3e5}.game-score-row.rank-3 .game-score-pos{border-color:#9d6748;color:#e2a27d}.game-score-empty{padding:14px;text-align:center;color:var(--ink-faint);font-size:.72rem}.game-rules-card h3{margin:5px 0 10px;font-size:.95rem}.game-rule{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--glass-line)}.game-rule i{flex:none;color:#ff8d4c;font-size:1.05rem;margin-top:1px}.game-rule span{font-size:.7rem;line-height:1.45;color:var(--ink-soft)}
.game-mobile-controls{position:absolute;z-index:8;left:13px;right:13px;bottom:15px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.game-joystick,.game-fire-button{pointer-events:auto;touch-action:none}.game-joystick{position:relative;width:96px;height:96px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(3,7,9,.42);box-shadow:inset 0 0 24px rgba(0,0,0,.4)}.game-joystick::before,.game-joystick::after{content:"";position:absolute;background:rgba(255,255,255,.07)}.game-joystick::before{width:1px;top:12px;bottom:12px;left:50%}.game-joystick::after{height:1px;left:12px;right:12px;top:50%}.game-joystick i{position:absolute;left:50%;top:50%;margin:-20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(104,221,236,.42);background:rgba(82,188,208,.17);box-shadow:0 0 18px rgba(79,198,220,.11)}.game-fire-button{width:86px;height:86px;border-radius:50%;border:1px solid rgba(255,130,63,.52);background:rgba(164,58,29,.32);color:#ffd5b5;display:grid;place-items:center;align-content:center;gap:1px;font:700 .55rem 'JetBrains Mono',monospace;letter-spacing:.08em}.game-fire-button i{font-size:1.55rem}.game-fire-button:active{transform:scale(.95);background:rgba(206,71,31,.46)}
.home-games-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.tile.module-game{min-height:230px;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 36%,rgba(255,110,42,.12),transparent 30%),linear-gradient(135deg,#0a1014,#13100d)}.tile.module-game .game-tile-art{position:absolute;inset:0;pointer-events:none;overflow:hidden}.game-tile-art::before{content:"";position:absolute;right:10%;bottom:18%;width:90px;height:86px;background:linear-gradient(#50483d,#292722);clip-path:polygon(12% 20%,25% 20%,25% 0,39% 0,39% 20%,62% 20%,62% 0,76% 0,76% 20%,90% 20%,90% 100%,12% 100%);opacity:.58}.game-tile-art::after{content:"";position:absolute;right:-6%;bottom:-35%;width:270px;height:180px;border-radius:50%;border:1px solid rgba(255,128,55,.13);box-shadow:0 0 80px rgba(255,89,32,.08)}.tile.module-game>*:not(.game-tile-art){position:relative;z-index:2}.game-tile-record{display:flex;align-items:baseline;gap:7px;margin-top:auto}.game-tile-record span{font-size:.55rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}.game-tile-record strong{font:700 1.1rem 'JetBrains Mono',monospace;color:#f0c676}
@media (max-width:1040px){.game-layout{grid-template-columns:1fr}.game-scoreboard{grid-template-columns:repeat(3,1fr)}.game-leaderboard-card{grid-column:span 2}}
@media (max-width:759px){.game-page-head{align-items:flex-start;margin-top:12px}.game-page-head>.btn{display:none}.game-layout{gap:12px;margin-left:calc(var(--wrap-pad,0px)*-1);margin-right:calc(var(--wrap-pad,0px)*-1)}.game-stage-frame{clip-path:none;border-left:0;border-right:0}.game-hud{left:7px;right:7px;top:7px;grid-template-columns:84px 58px 60px minmax(0,1fr);gap:4px}.game-hud-cell,.game-hud-health{padding:5px 6px;min-height:36px}.game-hud-cell span,.game-hud-health>span{font-size:.38rem;letter-spacing:.08em}.game-hud-cell strong{font-size:.92rem}.game-hud-health{gap:4px}.game-hud-health b{font-size:.44rem}.game-start-overlay,.game-over-overlay{padding:19px 16px}.game-start-sigil{width:48px;height:48px}.game-start-overlay h2,.game-over-overlay h2{font-size:1.7rem}.game-start-overlay p{font-size:.73rem;max-width:360px}.game-start-stats{max-width:330px}.game-start-stats strong{font-size:1.1rem}.game-play-btn{min-width:165px;min-height:44px}.game-start-overlay small{font-size:.56rem;max-width:330px}.game-over-grid{grid-template-columns:repeat(3,1fr);max-width:400px}.game-over-grid strong{font-size:1rem}.game-over-grid span{font-size:.42rem}.game-message{top:17%;font-size:.57rem;max-width:78%;overflow:hidden;text-overflow:ellipsis}.game-scoreboard{grid-template-columns:1fr;padding:0 12px}.game-leaderboard-card{grid-column:auto}.game-rules-card{display:none}.game-mobile-controls{bottom:8px}.game-joystick{width:82px;height:82px}.game-fire-button{width:74px;height:74px}.game-sound-toggle{right:8px;bottom:98px;width:34px;height:34px}.tile.module-game{min-height:210px}}
@media (max-width:430px){.game-page-head{padding:0 2px}.game-page-sub{font-size:.72rem}.game-hud{grid-template-columns:76px 52px 54px minmax(0,1fr)}.game-hud-health b{display:none}.game-start-overlay{justify-content:center}.game-start-overlay .game-kicker{display:none}.game-start-overlay p{margin-bottom:12px}.game-start-overlay small{display:none}.game-start-stats{margin-bottom:12px}.game-over-grid{gap:4px}.game-over-grid>div{padding:7px 4px}}

.game-start-overlay[hidden],.game-over-overlay[hidden],.game-message[hidden],.game-mobile-controls[hidden],.game-hud[hidden],.game-achievement[hidden]{display:none!important;}
@media (max-width:759px) and (orientation:portrait){
  .game-mobile-controls{left:8px;right:8px;bottom:6px}
  .game-joystick{width:66px;height:66px}
  .game-joystick i{width:32px;height:32px;margin:-16px}
  .game-fire-button{width:62px;height:62px;font-size:.46rem}
  .game-fire-button i{font-size:1.25rem}
  .game-sound-toggle{bottom:76px;width:31px;height:31px}
}


/* ============================================================
   V8.3 UX clarity pass — readability, Bear navigation, profile tabs,
   guide library search/filtering. Existing visual language preserved.
   ============================================================ */
:root{
  --ink-soft:rgba(224,234,241,.82);
  --ink-faint:rgba(205,219,229,.64);
}
.page-sub{font-size:.84rem;line-height:1.55;color:var(--ink-soft);}
.prose{font-size:.95rem;color:var(--ink-soft);}
.field label{color:rgba(235,242,247,.88);}
.field .hint,.list .txt small,.guide-card small{color:var(--ink-faint);font-size:max(.68rem,11px);}
.tile p{color:var(--ink-soft);}

/* Bear Trap: squad/month selection is navigation; optimizer is a separate tool. */
.trap-tool-strip{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:4px 0 20px;padding:14px 16px;border:1px solid rgba(110,231,245,.22);
  background:linear-gradient(135deg,rgba(110,231,245,.055),rgba(255,112,55,.035));
  box-shadow:inset 3px 0 0 rgba(110,231,245,.48);
}
.trap-tool-strip-copy{display:grid;gap:3px;min-width:0;}
.trap-tool-strip-copy>span{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--frost);}
.trap-tool-strip-copy>b{font-family:'Barlow Condensed',sans-serif;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;}
.trap-tool-strip-copy>small{color:var(--ink-soft);font-size:.72rem;line-height:1.4;max-width:62ch;}
.trap-tool-strip .btn{flex:none;background:rgba(8,14,19,.72);}

/* Profile becomes a compact sectioned workspace instead of one long page. */
.profile-section-tabs{
  position:sticky;top:72px;z-index:12;display:flex;gap:5px;overflow-x:auto;
  margin:14px 0 18px;padding:5px;border:1px solid var(--glass-line);
  background:rgba(7,12,16,.88);backdrop-filter:blur(18px);scrollbar-width:none;
}
.profile-section-tabs::-webkit-scrollbar{display:none;}
.profile-section-tabs button{
  flex:1 0 auto;min-width:96px;display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;padding:9px 12px;border:1px solid transparent;background:transparent;color:var(--ink-soft);
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.055em;text-transform:uppercase;cursor:pointer;
}
.profile-section-tabs button i{font-size:1rem;}
.profile-section-tabs button.active{color:var(--ember-hot);border-color:rgba(255,111,61,.38);background:rgba(255,100,56,.11);}
.profile-tab-panel[hidden]{display:none!important;}
.profile-tab-panel.active{animation:profileTabIn .18s ease both;}
@keyframes profileTabIn{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.profile-details-panel form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;}
.profile-details-panel form>.field:has(textarea),.profile-details-panel form>button{grid-column:1/-1;}
.profile-details-panel form>button{justify-self:start;min-width:150px;margin-top:4px;}
.profile-settings-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.profile-settings-panel b{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;}
.profile-settings-panel p{margin:5px 0 0;color:var(--ink-soft);font-size:.8rem;line-height:1.5;}

/* Guide library: instant search and category filters. */
.guide-library-controls{margin:14px 0 22px;padding:14px;}
.guide-search-box{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 12px;border:1px solid var(--glass-line);background:#080d12;}
.guide-search-box>i{font-size:1.1rem;color:var(--frost);}
.guide-search-box input{flex:1;min-width:0;border:0!important;background:transparent!important;padding:11px 2px!important;box-shadow:none!important;color:var(--ink);font-size:.9rem;}
.guide-search-box input:focus{outline:none;}
.guide-search-box button{display:none;width:32px;height:32px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;}
.guide-search-box button.visible{display:grid;place-items:center;}
.guide-filter-tabs{display:flex;gap:6px;overflow-x:auto;margin-top:10px;padding-bottom:2px;scrollbar-width:none;}
.guide-filter-tabs::-webkit-scrollbar{display:none;}
.guide-filter-tabs button{flex:none;padding:8px 12px;border:1px solid var(--glass-line);background:rgba(7,12,16,.68);color:var(--ink-soft);font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;}
.guide-filter-tabs button.active{border-color:rgba(110,231,245,.38);background:rgba(110,231,245,.09);color:var(--frost);}
.guide-search-result{min-height:1em;margin-top:9px;color:var(--ink-faint);font-size:.58rem;text-align:right;}
.guide-card[hidden],.folder-block[hidden],.guide-search-empty[hidden]{display:none!important;}
.guide-search-empty{text-align:center;padding:25px 16px;color:var(--ink-soft);}
.guide-search-empty i{display:block;margin-bottom:7px;font-size:1.45rem;color:var(--frost);}
.guide-search-empty p{margin:0;}

@media(max-width:759px){
  .page-sub{font-size:.82rem;}
  .prose{font-size:.93rem;line-height:1.7;}
  .trap-tool-strip{align-items:stretch;flex-direction:column;gap:10px;margin-top:2px;}
  .trap-tool-strip .btn{width:100%;justify-content:center;}
  .profile-section-tabs{top:62px;margin-left:-2px;margin-right:-2px;}
  .profile-section-tabs button{min-width:88px;padding:8px 10px;font-size:.72rem;}
  .profile-details-panel form{grid-template-columns:1fr;}
  .profile-details-panel form>.field:has(textarea),.profile-details-panel form>button{grid-column:auto;}
  .profile-details-panel form>button{width:100%;justify-content:center;}
  .profile-settings-panel{align-items:stretch;flex-direction:column;}
  .profile-settings-panel .btn{width:100%;justify-content:center;}
  .guide-library-controls{padding:11px;}
}

/* KVK Charm planner clarity: make the quantity meaning and material totals unmistakable. */
.kvkp-charm-count-hint{ display:flex; gap:8px; align-items:flex-start; margin:8px 0 2px; padding:10px 12px; border:1px solid rgba(110,231,245,.14); background:rgba(110,231,245,.035); color:var(--ink-soft); font-size:.72rem; line-height:1.45; }
.kvkp-charm-count-hint i{ color:var(--frost); font-size:1rem; flex:none; margin-top:1px; }
.kvkp-charm-materials{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
.kvkp-charm-materials span{ display:flex; justify-content:space-between; gap:10px; align-items:center; padding:8px 10px; border:1px solid var(--glass-line); background:rgba(255,255,255,.018); }
.kvkp-charm-materials small{ color:var(--ink-soft); font-size:.62rem; }
.kvkp-charm-materials b{ color:var(--frost); font-family:'JetBrains Mono',monospace; }
.kvkp-charm-score{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:8px; }
@media (max-width:759px){ .kvkp-charm-materials{ grid-template-columns:1fr; } .kvkp-charm-score{ align-items:flex-start; flex-direction:column; gap:4px; } }

/* V8.3.5 — Master Academy automatic upgrade recommendation */
.kvkp-master-recommend{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin:12px 0; padding:12px 14px; border:1px solid rgba(103,232,249,.24);
  background:linear-gradient(135deg,rgba(103,232,249,.055),rgba(255,126,65,.025));
}
.kvkp-master-recommend > div{ min-width:0; display:grid; gap:4px; }
.kvkp-master-recommend span{ color:var(--frost); font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.kvkp-master-recommend p{ margin:0; max-width:760px; color:#9fb0b9; font-size:.57rem; line-height:1.5; }
.kvkp-master-recommend .btn{ flex:none; }
.kvkp-master-auto-summary{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 18px; align-items:center;
  margin-bottom:8px; padding:10px 12px; border:1px solid rgba(110,231,245,.26); background:rgba(110,231,245,.045);
}
.kvkp-master-auto-summary > div{ display:grid; gap:3px; }
.kvkp-master-auto-summary span{ color:var(--ink-faint); font-size:.49rem; text-transform:uppercase; letter-spacing:.06em; }
.kvkp-master-auto-summary strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.7rem; }
.kvkp-master-auto-summary small{ color:#9eb3bd; font-size:.51rem; line-height:1.45; text-align:right; }
.kvkp-master-auto-note{ display:flex; gap:7px; align-items:flex-start; margin-top:8px; padding:8px 10px; border:1px solid rgba(228,180,119,.16); color:#b9a081; font-size:.52rem; line-height:1.45; }
.kvkp-master-auto-note i{ flex:none; margin-top:1px; color:#e4b477; }
@media (max-width:759px){
  .kvkp-master-recommend{ display:grid; gap:10px; }
  .kvkp-master-recommend .btn{ width:100%; justify-content:center; }
  .kvkp-master-auto-summary{ grid-template-columns:1fr; }
  .kvkp-master-auto-summary small{ text-align:left; }
}

/* V8.3.6 Master planner: current-state first, automatic reachable targets. */
.kvkp-master-simple-intro{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid rgba(103,232,249,.2);background:rgba(103,232,249,.035)}
.kvkp-master-simple-intro>i{flex:none;margin-top:2px;color:var(--frost);font-size:1.05rem}
.kvkp-master-simple-intro b{display:block;color:var(--ink);font-family:'Barlow Condensed',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-simple-intro p{margin:3px 0 0;color:#aebdc5;font-size:.58rem;line-height:1.5}
.kvkp-master-plan-head-simple{grid-template-columns:1fr 1fr}
.kvkp-master-future{margin:0 0 10px;border:1px solid rgba(166,190,205,.1);background:rgba(255,255,255,.012)}
.kvkp-master-future summary{display:flex;align-items:center;gap:7px;padding:9px 10px;color:#aebdc5;cursor:pointer;font-size:.56rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-future summary i{color:var(--ember-hot)}
.kvkp-master-future-body{padding:0 10px 10px}.kvkp-master-future-body .field{margin:0}
.kvkp-master-skill-row-auto{grid-template-columns:minmax(180px,1.25fr) minmax(135px,.7fr) minmax(185px,1fr);align-items:stretch}
.kvkp-master-skill-row-auto .kvkp-master-next-step{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid rgba(166,190,205,.08)}
.kvkp-master-next-step>span,.kvkp-master-skill-result>span{color:var(--ink-faint);font-size:.48rem;text-transform:uppercase;letter-spacing:.06em}
.kvkp-master-next-step small{color:#9fb0b9;font-size:.52rem;text-align:right}.kvkp-master-next-step.is-affinity small,.kvkp-master-next-step.is-power small{color:#d7b07d}.kvkp-master-next-step.is-manuscripts small{color:#e69a78}.kvkp-master-next-step.is-max small{color:#86c8cf}
.kvkp-master-skill-result{display:grid;align-content:center;gap:3px;padding:8px 10px;border:1px solid rgba(103,232,249,.16);background:rgba(103,232,249,.025)}
.kvkp-master-skill-result strong{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.72rem}.kvkp-master-skill-result small{color:#aebdc5;font-size:.5rem;line-height:1.35}
.kvkp-master-resource-title{margin:10px 0 6px;color:var(--ink-faint);font-size:.52rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.kvkp-master-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:8px}
.kvkp-master-resource-card{display:grid;gap:7px;padding:10px;border:1px solid rgba(166,190,205,.12);background:#070c10}.kvkp-master-resource-card>span{color:var(--ink-soft);font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.kvkp-master-resource-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kvkp-master-resource-card b{display:grid;gap:2px;color:var(--ink-faint);font-size:.46rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.kvkp-master-resource-card b strong{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.68rem}.kvkp-master-resource-card.is-missing{border-color:rgba(255,112,58,.35);background:rgba(255,112,58,.035)}.kvkp-master-resource-card.is-missing b:last-child strong{color:#f0ad77}.kvkp-master-resource-card.is-ok b:last-child strong{color:#86d5dd}
.kvkp-master-next-relationship{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:8px;padding:10px;border:1px solid rgba(228,180,119,.16);background:rgba(228,180,119,.025)}.kvkp-master-next-relationship>div{display:grid;gap:2px}.kvkp-master-next-relationship span{color:var(--ink-faint);font-size:.48rem;text-transform:uppercase;letter-spacing:.05em}.kvkp-master-next-relationship strong{color:#d9c2a2;font-size:.62rem}.kvkp-master-next-relationship>div:nth-child(2){text-align:right}.kvkp-master-next-relationship>div:nth-child(2)>b{color:#e4b477;font-family:'JetBrains Mono',monospace;font-size:.62rem}.kvkp-master-next-relationship>div:nth-child(2)>small{color:#a7957b;font-size:.49rem}.kvkp-master-next-relationship p{grid-column:1/-1;margin:2px 0 0;color:#908a80;font-size:.49rem;line-height:1.4}
@media(max-width:759px){.kvkp-master-plan-head-simple,.kvkp-master-skill-row-auto,.kvkp-master-resource-grid{grid-template-columns:1fr}.kvkp-master-skill-row-auto .kvkp-master-next-step{display:grid}.kvkp-master-next-step small{text-align:left}.kvkp-master-resource-card>div{grid-template-columns:repeat(3,minmax(0,1fr))}.kvkp-master-next-relationship{grid-template-columns:1fr}.kvkp-master-next-relationship>div:nth-child(2){text-align:left}.kvkp-master-next-relationship p{grid-column:auto}}


/* KVK Pet planner: inventory + exact Pet resource requirements */
.kvkp-pet-planner{ display:grid; gap:12px; }
.kvkp-pet-inventory{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.kvkp-pet-inventory label{ display:grid; gap:5px; min-width:0; }
.kvkp-pet-inventory label>span{ color:var(--ink-soft); font-size:.6rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-pet-inventory input{ width:100%; min-width:0; }
.kvkp-pet-note{ display:block; color:var(--ink-faint); font-size:.6rem; line-height:1.5; }
.kvkp-pet-actions{ display:flex; gap:12px; align-items:center; padding:10px 0; border-top:1px solid var(--glass-line); border-bottom:1px solid var(--glass-line); }
.kvkp-pet-actions small{ color:var(--ink-faint); font-size:.6rem; line-height:1.45; }
.kvkp-pet-row{ grid-template-columns:1.1fr .72fr 1fr 1.2fr auto; padding:10px; border:1px solid rgba(166,190,205,.12); background:rgba(255,255,255,.012); }
.kvkp-pet-row-detail{ grid-column:1/-1; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; padding-top:8px; border-top:1px solid rgba(166,190,205,.09); }
.kvkp-pet-reachable{ display:grid; align-content:center; gap:5px; min-width:0; padding:8px 10px; border:1px solid rgba(107,225,244,.16); background:rgba(107,225,244,.035); }
.kvkp-pet-reachable small{ color:var(--ink-faint); font-size:.52rem; text-transform:uppercase; letter-spacing:.05em; }
.kvkp-pet-reachable strong{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.65rem; line-height:1.35; }
.kvkp-pet-gate-spacer{ min-height:1px; }
.kvkp-pet-row-detail>span{ display:grid; gap:2px; min-width:0; padding:6px 7px; background:rgba(255,255,255,.018); border:1px solid rgba(166,190,205,.08); }
.kvkp-pet-row-detail small{ color:var(--ink-faint); font-size:.5rem; text-transform:uppercase; letter-spacing:.04em; }
.kvkp-pet-row-detail b{ color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.66rem; overflow:hidden; text-overflow:ellipsis; }
.kvkp-pet-milestones{ grid-column:span 1; }
.kvkp-pet-preview{ display:grid; gap:8px; align-items:stretch; }
.kvkp-pet-resource-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; width:100%; }
.kvkp-pet-resource{ padding:9px; border:1px solid var(--glass-line); background:rgba(255,255,255,.014); }
.kvkp-pet-resource>span{ display:block; margin-bottom:7px; color:var(--ink-soft); font-size:.62rem; font-weight:700; }
.kvkp-pet-resource dl{ display:grid; gap:4px; margin:0; }
.kvkp-pet-resource dl>div{ display:flex; justify-content:space-between; gap:8px; }
.kvkp-pet-resource dt{ color:var(--ink-faint); font-size:.54rem; font-weight:400; }
.kvkp-pet-resource dd{ margin:0; color:var(--frost); font-family:'JetBrains Mono',monospace; font-size:.58rem; }
.kvkp-pet-resource.is-missing{ border-color:rgba(255,155,91,.35); }
.kvkp-pet-resource.is-missing dl>div:last-child dd{ color:#ffb071; }
.kvkp-pet-resource.is-covered dl>div:last-child dd{ color:#79e1d8; }
.kvkp-pet-score{ width:100%; }

@media (max-width:980px){
  .kvkp-pet-inventory,.kvkp-pet-resource-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kvkp-pet-row-detail{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:759px){
  .kvkp-pet-inventory,.kvkp-pet-resource-grid{ grid-template-columns:1fr 1fr; }
  .kvkp-pet-actions{ display:grid; }
  .kvkp-pet-actions .btn{ width:100%; justify-content:center; }
  .kvkp-pet-row{ grid-template-columns:1fr 1fr; }
  .kvkp-pet-select,.kvkp-pet-reachable{ grid-column:1/-1; }
  .kvkp-pet-gate-spacer{ display:none; }
  .kvkp-pet-row .kvkp-row-remove{ grid-column:1/-1; }
  .kvkp-pet-row-detail{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* V8.3.8 — clearer Governor and Hero Gear stockpile planning */
.kvkp-subsection-title{display:flex;align-items:center;gap:10px;margin:8px 0 10px;padding:9px 10px;border-left:2px solid var(--ember-hot);background:rgba(255,255,255,.015)}
.kvkp-subsection-title>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(110,231,245,.2);color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.58rem}
.kvkp-subsection-title>div{display:grid;gap:2px}.kvkp-subsection-title b{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.kvkp-subsection-title small{color:var(--ink-soft);font-size:.6rem;line-height:1.4}
.kvkp-governor-gear-score{margin-bottom:10px}
.kvkp-gear-usage-intro{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;padding:10px 11px;border:1px solid rgba(110,231,245,.14);background:rgba(110,231,245,.025);color:var(--ink-soft);font-size:.62rem;line-height:1.5}.kvkp-gear-usage-intro i{flex:none;color:var(--frost);margin-top:1px}
.kvkp-gear-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kvkp-gear-usage-card{display:grid;gap:10px;padding:12px;border:1px solid var(--glass-line);background:#070c10}
.kvkp-gear-usage-card>header{display:flex;gap:8px;align-items:flex-start}.kvkp-gear-usage-card>header>i{color:var(--frost);font-size:1.05rem;margin-top:1px}.kvkp-gear-usage-card>header>div{display:grid;gap:2px}.kvkp-gear-usage-card>header b{color:var(--ink);font-size:.7rem}.kvkp-gear-usage-card>header small{color:var(--ink-faint);font-size:.52rem;line-height:1.35}
.kvkp-gear-usage-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kvkp-gear-usage-fields label,.kvkp-mithril-eligibility{display:grid;gap:4px}.kvkp-gear-usage-fields span,.kvkp-mithril-eligibility>span{color:var(--ink-soft);font-size:.54rem;text-transform:uppercase;letter-spacing:.05em}
.kvkp-gear-estimate-hint,.kvkp-mithril-eligibility small{color:var(--ink-faint);font-size:.55rem;line-height:1.45}
.kvkp-gear-usage-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding-top:8px;border-top:1px solid rgba(166,190,205,.08)}.kvkp-gear-usage-preview>span{display:grid;gap:2px;min-width:0}.kvkp-gear-usage-preview small{color:var(--ink-faint);font-size:.46rem;text-transform:uppercase;letter-spacing:.04em}.kvkp-gear-usage-preview b{color:var(--frost);font-family:'JetBrains Mono',monospace;font-size:.62rem}.kvkp-gear-usage-preview>em,.kvkp-gear-usage-preview>.is-warning{grid-column:1/-1;display:flex;gap:6px;align-items:flex-start;color:#d8a878;font-size:.51rem;font-style:normal;line-height:1.4}.kvkp-gear-usage-preview>em i,.kvkp-gear-usage-preview>.is-warning i{flex:none;margin-top:1px}
.kvkp-gear-usage-card input:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1050px){.kvkp-gear-usage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:759px){.kvkp-gear-usage-grid{grid-template-columns:1fr}.kvkp-gear-usage-fields{grid-template-columns:1fr 1fr}.kvkp-gear-usage-preview{grid-template-columns:1fr 1fr}.kvkp-gear-usage-preview>span:last-of-type{grid-column:1/-1}}

/* V8.3.9 · Governor Gear planner: identify tiers from the in-game Power number. */
.kvkp-govgear-row{ align-items:start; }
.kvkp-govgear-row-detail{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding-top:2px;
}
.kvkp-govgear-row-detail > span,
.kvkp-govgear-totals > span{
  display:grid;
  gap:3px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--glass-line);
  background:rgba(255,255,255,.018);
}
.kvkp-govgear-row-detail small,
.kvkp-govgear-totals small{
  color:var(--ink-soft);
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.kvkp-govgear-row-detail b,
.kvkp-govgear-totals b{
  color:var(--frost);
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.kvkp-govgear-row-detail .is-warning b{ color:var(--ember-hot); }
.kvkp-govgear-row-detail .is-ok b{ color:var(--frost); }
.kvkp-govgear-totals{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
}
@media (max-width:759px){
  .kvkp-govgear-row-detail,
  .kvkp-govgear-totals{ grid-template-columns:1fr 1fr; }
}
@media (max-width:460px){
  .kvkp-govgear-row-detail,
  .kvkp-govgear-totals{ grid-template-columns:1fr; }
}

/* V8.4 — Member roster pagination + award-first ordering */
.roster-search-row{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin:18px 0 14px;
}
.roster-search-row .roster-search-field{ flex:1 1 360px; margin:0; }
.roster-search-btn{ flex:0 0 auto; min-height:46px; }
.roster-result-meta,.roster-page-meta{
  margin:0 0 14px;
  font-family:'JetBrains Mono',monospace;
  font-size:.67rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.roster-card-grid .profile-card.has-roster-award{
  order:-1;
}
.roster-pagination{
  display:grid;
  grid-template-columns:minmax(92px,auto) 1fr minmax(92px,auto);
  align-items:center;
  gap:12px;
  margin:24px 0 8px;
  padding:12px;
  border:1px solid var(--glass-line);
  background:rgba(7,11,15,.72);
}
.roster-page-numbers{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
}
.roster-page-numbers a,.roster-page-numbers span{
  min-width:34px;
  height:34px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border:1px solid var(--glass-line);
  color:var(--ink-soft);
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;
  text-decoration:none;
}
.roster-page-numbers span{ border-color:transparent; }
.roster-page-numbers a:hover{ color:var(--ink); border-color:var(--glass-line-strong); }
.roster-page-numbers a.active{
  color:#fff;
  border-color:rgba(255,126,65,.7);
  background:rgba(255,126,65,.14);
  box-shadow:0 0 20px rgba(255,90,36,.08);
}
.roster-page-nav{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--ink-soft);
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
}
.roster-page-nav:hover{ color:var(--ink); }
.roster-page-nav.disabled{ opacity:.28; pointer-events:none; }
.roster-page-meta{ text-align:center; margin-bottom:0; }
@media(max-width:759px){
  .roster-search-row{ display:grid; grid-template-columns:1fr 1fr; align-items:end; }
  .roster-search-row .roster-search-field{ grid-column:1/-1; }
  .roster-search-btn{ width:100%; justify-content:center; }
  .roster-pagination{ grid-template-columns:42px 1fr 42px; gap:6px; padding:9px; }
  .roster-page-nav span{ display:none; }
  .roster-page-numbers a,.roster-page-numbers span{ min-width:30px; height:32px; padding:0 6px; }
}

/* V8.4.2 — taller Kingdom Defense playfield on portrait phones.
   The JS switches the canvas backing size from 960x540 to 960x720;
   height:auto therefore renders a true 4:3 game area without stretching. */
@media (max-width:759px) and (orientation:portrait){
  #kingdom-defense-canvas{width:100%;height:auto;aspect-ratio:4/3;}
}

/* KVK Power Stats V8.4.9 — ranking sort + expandable full comparison */
.power-ranking-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.power-sort-control{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  padding:5px;
  border:1px solid var(--glass-line);
  background:rgba(5,9,12,.66);
}
.power-sort-label{
  padding:0 7px 0 5px;
  color:var(--ink-faint);
  font-size:.54rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.power-sort-btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid transparent;
  background:transparent;
  color:var(--ink-soft);
  font:700 .62rem/1 'JetBrains Mono',monospace;
  letter-spacing:.02em;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.power-sort-btn:hover{
  color:var(--ink);
  border-color:rgba(110,231,245,.22);
}
.power-sort-btn.active{
  border-color:rgba(110,231,245,.38);
  background:rgba(110,231,245,.09);
  color:var(--frost);
}
.power-sort-btn i{font-size:.9rem;}
.power-expand-btn.active{
  border-color:rgba(255,111,58,.34);
  color:var(--ember-hot);
}
.power-ranking-basis-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 12px;
  color:var(--ink-faint);
  font-size:.54rem;
  line-height:1.45;
}
.power-ranking-basis-note i{color:var(--ember-hot);font-size:.85rem;}
.power-growth-row[hidden]{display:none!important;}

@media (max-width:680px){
  .power-ranking-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .power-sort-control{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .power-sort-label{
    grid-column:1/-1;
    padding:2px 5px 3px;
  }
  .power-sort-btn{width:100%;}
  .power-expand-btn{width:100%;justify-content:center;}
}

/* ---------- Kingshot API sync + KVK checkpoints (v8.5) ---------- */
.power-api-sync-panel,
.power-kvk-checkpoint-panel,
.profile-live-game-data{
  position:relative;
  overflow:hidden;
}
.power-api-sync-panel::before,
.power-kvk-checkpoint-panel::before,
.profile-live-game-data::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,var(--grad-4),var(--grad-1));
  opacity:.9;
}
.power-api-sync-head,
.power-kvk-checkpoint-head,
.profile-live-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.power-api-sync-head h2,
.power-kvk-checkpoint-head h2,
.profile-live-head h2{
  margin:5px 0 0;
  font-family:'Unbounded','Inter',sans-serif;
  font-size:1rem;
}
.power-api-sync-head .prose,
.power-kvk-checkpoint-head .prose{ margin:8px 0 0; max-width:660px; }
.power-api-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--grad-4);
  font-size:.64rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.power-api-metrics,
.profile-live-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}
.power-api-metrics > div,
.profile-live-stat{
  min-width:0;
  padding:13px 14px;
  border:1px solid var(--glass-line);
  border-radius:var(--radius-s);
  background:rgba(255,255,255,.035);
}
.power-api-metrics span,
.profile-live-stat span{
  display:block;
  color:var(--ink-faint);
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.power-api-metrics strong,
.profile-live-stat strong{
  display:block;
  margin-top:6px;
  overflow-wrap:anywhere;
  font-family:'Unbounded','Inter',sans-serif;
  font-size:1rem;
}
.power-api-metrics small,
.profile-live-stat small{
  display:block;
  margin-top:5px;
  color:var(--ink-faint);
  font-size:.62rem;
}
.power-api-error{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:12px;
  padding:10px 12px;
  border:1px solid rgba(251,113,133,.35);
  border-radius:var(--radius-s);
  background:var(--danger-bg);
  color:#ffd5dc;
  font-size:.75rem;
}
.power-kvk-marks{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin-top:17px;
}
.power-kvk-mark{
  padding:14px;
  border:1px dashed var(--glass-line-strong);
  border-radius:var(--radius-s);
  background:rgba(255,255,255,.025);
}
.power-kvk-mark.set{
  border-style:solid;
  border-color:rgba(52,211,153,.36);
  background:rgba(52,211,153,.075);
}
.power-kvk-mark > span{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--ink-soft);
  font-size:.69rem;
  font-weight:700;
  text-transform:uppercase;
}
.power-kvk-mark strong{ display:block; margin-top:7px; font-family:'JetBrains Mono',monospace; font-size:.83rem; }
.power-kvk-mark small{ display:block; margin-top:5px; color:var(--ink-faint); font-size:.65rem; }
.power-kvk-arrow{ color:var(--ink-faint); }
.power-kvk-checkpoint-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-top:14px; }
.power-kvk-checkpoint-hint{ display:flex; align-items:flex-start; gap:7px; margin-top:12px; }
.power-manual-heading{ margin-top:28px; }
.tag.warn{ color:var(--grad-2); border-color:rgba(255,138,61,.35); }
.tag.ok{ color:var(--success); border-color:rgba(52,211,153,.35); }

/* Profile: API-backed Mystic Trial / power data, only for live ISO members. */
.profile-live-game-data{ margin-top:12px; }
.profile-live-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.profile-live-stat.mystic,
.profile-live-stat.mystic-rank{
  background:linear-gradient(145deg,rgba(124,58,237,.11),rgba(6,182,212,.05));
  border-color:rgba(124,58,237,.28);
}
.profile-live-stat.mystic strong,
.profile-live-stat.mystic-rank strong{ color:#e9ddff; }

@media (max-width:759px){
  .power-api-sync-head,
  .power-kvk-checkpoint-head,
  .profile-live-head{ flex-direction:column; }
  .power-api-sync-head form{ width:100%; }
  .power-api-sync-head form .btn{ width:100%; justify-content:center; }
  .power-api-metrics{ grid-template-columns:1fr; }
  .power-kvk-marks{ grid-template-columns:1fr; }
  .power-kvk-arrow{ transform:rotate(90deg); justify-self:center; }
  .profile-live-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:390px){
  .profile-live-grid{ grid-template-columns:1fr; }
}
