/* ============================================================
   NxaTierMC — Main Stylesheet  |  Dark Minecraft Competitive PvP
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@500;600;700&display=swap');

/* ── Design Tokens ─────────────────────────────────────────── */
:root{
  --bg-root:#080808;--bg-primary:#0f0f0f;--bg-secondary:#141414;
  --bg-card:#1a1a1a;--bg-card-hover:#202020;--bg-input:#111111;--bg-modal:#1a1a1a;
  --red-400:#f87171;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;
  --red-glow:rgba(220,38,38,.25);
  --text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#52525b;
  --border-subtle:#1f1f1f;--border:#2a2a2a;--border-strong:#3f3f46;
  --success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;
  --tier-ht5-bg:#6d28d9;--tier-ht5-text:#ede9fe;
  --tier-lt5-bg:#5b21b6;--tier-lt5-text:#ddd6fe;
  --tier-ht4-bg:#1d4ed8;--tier-ht4-text:#dbeafe;
  --tier-lt4-bg:#1e40af;--tier-lt4-text:#bfdbfe;
  --tier-ht3-bg:#059669;--tier-ht3-text:#d1fae5;
  --tier-lt3-bg:#047857;--tier-lt3-text:#a7f3d0;
  --tier-ht2-bg:#d97706;--tier-ht2-text:#fef3c7;
  --tier-lt2-bg:#b45309;--tier-lt2-text:#fde68a;
  --tier-ht1-bg:#dc2626;--tier-ht1-text:#fee2e2;
  --tier-lt1-bg:#b91c1c;--tier-lt1-text:#fecaca;
  --tier-unr-bg:#3f3f46;--tier-unr-text:#a1a1aa;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono','Fira Code','Consolas',monospace;
  --radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;
  --shadow:0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 8px 32px rgba(0,0,0,.6);
  --shadow-red:0 0 24px rgba(220,38,38,.35);
  --ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(0,0,.2,1);
  --dur-fast:150ms;--dur:250ms;--dur-slow:400ms;
}

/* ── Reset ───────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-sans);background:var(--bg-root);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,select,textarea{font-family:inherit}
ul,ol{list-style:none}

/* ── Typography ──────────────────────────────────────────────── */
h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.1;letter-spacing:-.03em}
h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;line-height:1.2}
h4{font-size:1.1rem;font-weight:600}
p{line-height:1.7}
.text-gradient{background:linear-gradient(135deg,#ef4444 0%,#dc2626 50%,#b91c1c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* ── Layout ──────────────────────────────────────────────────── */
.container{width:100%;max-width:1280px;margin:0 auto;padding:0 24px}
.container--narrow{max-width:860px}
.page-content {
  padding-top: 80px;
  min-height: 100vh;
  background: var(--bg-root, #080808);
  background-image: 
    radial-gradient(circle at 20% 10%, rgba(220, 38, 38, 0.12) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(185, 28, 28, 0.08) 0%, transparent 50%);
}
.section{padding:64px 0}
.section--sm{padding:40px 0}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-size:.9rem;font-weight:600;transition:all var(--dur) var(--ease);white-space:nowrap;line-height:1}
.btn:focus-visible{outline:2px solid var(--red-500);outline-offset:2px}
.btn-primary{background:var(--red-600);color:#fff;border:1px solid var(--red-700)}
.btn-primary:hover{background:var(--red-500);box-shadow:var(--shadow-red);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(0)}
.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-strong)}
.btn-outline:hover{background:var(--bg-card);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}
.btn-ghost:hover{background:var(--bg-card);color:var(--text-primary)}
.btn-danger{background:#1f0000;color:var(--danger);border:1px solid #3f0000}
.btn-danger:hover{background:#2f0000}
.btn-success{background:#052e16;color:var(--success);border:1px solid #14532d}
.btn-success:hover{background:#14532d}
.btn--sm{padding:8px 16px;font-size:.8rem;border-radius:var(--radius-sm)}
.btn--lg{padding:16px 32px;font-size:1rem;border-radius:var(--radius-lg)}
.btn--icon{padding:8px 12px}
.btn:disabled{opacity:.45;pointer-events:none}

/* ── Cards ────────────────────────────────────────────────────── */
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);overflow:hidden}
.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.card--interactive{cursor:pointer}
.card--glow:hover{box-shadow:var(--shadow-red);border-color:var(--red-700)}

/* ── Section Headers ──────────────────────────────────────────── */
.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px;flex-wrap:wrap}
.section-title{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:800}
.section-title .icon{width:32px;height:32px;background:var(--red-glow);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--red-500);font-size:1rem}

/* ── Hero ─────────────────────────────────────────────────────── */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--bg-root);padding-top:80px}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(220,38,38,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(220,38,38,.03) 1px,transparent 1px);background-size:48px 48px;animation:gridDrift 60s linear infinite}
@keyframes gridDrift{0%{transform:translate(0,0)}100%{transform:translate(48px,48px)}}
.hero__radial{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(220,38,38,.12) 0%,transparent 70%);animation:pulseGlow 4s ease-in-out infinite alternate}
@keyframes pulseGlow{from{opacity:.6}to{opacity:1}}
.hero__vignette{position:absolute;inset:0;background:radial-gradient(ellipse 100% 100% at 50% 50%,transparent 40%,rgba(8,8,8,.9) 100%)}
.hero__content{position:relative;z-index:2;max-width:800px;padding:32px 24px}
.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--red-400);letter-spacing:.05em;text-transform:uppercase;margin-bottom:24px;animation:fadeInDown .6s var(--ease-out) both}
.hero__badge .dot{width:6px;height:6px;background:var(--red-500);border-radius:50%;animation:blink 1.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero__logo{font-size:clamp(3rem,10vw,6rem);font-weight:900;letter-spacing:-.04em;line-height:1;margin-bottom:16px;animation:fadeInDown .7s var(--ease-out) .1s both}
.hero__logo span{color:var(--red-500)}
.hero__tagline{font-size:clamp(1rem,2.5vw,1.35rem);font-weight:700;margin-bottom:12px;animation:fadeInDown .7s var(--ease-out) .2s both}
.hero__subtitle{font-size:clamp(.9rem,1.5vw,1.05rem);color:var(--text-secondary);max-width:520px;margin:0 auto 40px;animation:fadeInDown .7s var(--ease-out) .3s both}
.hero__cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;animation:fadeInDown .7s var(--ease-out) .4s both}
.hero__stats{display:flex;gap:32px;justify-content:center;margin-top:48px;flex-wrap:wrap;animation:fadeInDown .7s var(--ease-out) .5s both}
.hero__stat-item{text-align:center}
.hero__stat-num{font-size:2rem;font-weight:900;color:var(--red-500);display:block}
.hero__stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}

/* ── Tier Badges ──────────────────────────────────────────────── */
.tier-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;text-transform:uppercase;transition:transform var(--dur-fast) var(--ease)}
.tier-badge:hover{transform:scale(1.05)}
.tier-badge--ht5{background:var(--tier-ht5-bg);color:var(--tier-ht5-text);box-shadow:0 0 10px rgba(109,40,217,.4)}
.tier-badge--lt5{background:var(--tier-lt5-bg);color:var(--tier-lt5-text);box-shadow:0 0 10px rgba(91,33,182,.4)}
.tier-badge--ht4{background:var(--tier-ht4-bg);color:var(--tier-ht4-text);box-shadow:0 0 10px rgba(29,78,216,.4)}
.tier-badge--lt4{background:var(--tier-lt4-bg);color:var(--tier-lt4-text);box-shadow:0 0 10px rgba(30,64,175,.4)}
.tier-badge--ht3{background:var(--tier-ht3-bg);color:var(--tier-ht3-text);box-shadow:0 0 10px rgba(5,150,105,.4)}
.tier-badge--lt3{background:var(--tier-lt3-bg);color:var(--tier-lt3-text);box-shadow:0 0 10px rgba(4,120,87,.4)}
.tier-badge--ht2{background:var(--tier-ht2-bg);color:var(--tier-ht2-text);box-shadow:0 0 10px rgba(217,119,6,.4)}
.tier-badge--lt2{background:var(--tier-lt2-bg);color:var(--tier-lt2-text);box-shadow:0 0 10px rgba(180,83,9,.4)}
.tier-badge--ht1{background:var(--tier-ht1-bg);color:var(--tier-ht1-text);box-shadow:0 0 10px rgba(220,38,38,.4)}
.tier-badge--lt1{background:var(--tier-lt1-bg);color:var(--tier-lt1-text);box-shadow:0 0 10px rgba(185,28,28,.4)}
.tier-badge--unranked{background:var(--tier-unr-bg);color:var(--tier-unr-text)}
.tier-badge--lg{font-size:.9rem;padding:6px 14px;border-radius:var(--radius)}
.tier-badge--xl{font-size:1rem;padding:8px 18px;border-radius:var(--radius)}

/* ── Avatars ──────────────────────────────────────────────────── */
.avatar{border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-secondary);image-rendering:pixelated}
.avatar--sm{width:32px;height:32px}.avatar--md{width:48px;height:48px}.avatar--lg{width:64px;height:64px}
.avatar--xl{width:96px;height:96px}.avatar--2xl{width:128px;height:128px}

/* ── Player Cards ─────────────────────────────────────────────── */
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.player-card{padding:20px;display:flex;align-items:center;gap:16px;cursor:pointer}
.player-card__rank{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--text-muted);min-width:28px}
.player-card__rank--top{color:var(--warning)}
.player-card__info{flex:1;min-width:0}
.player-card__name{font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.player-card__meta{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}
.player-card__points{font-family:var(--font-mono);font-size:.78rem;color:var(--red-400);font-weight:600}

/* ── Category Cards ───────────────────────────────────────────── */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.category-card{padding:24px 16px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}
.category-card__icon{width:52px;height:52px;background:rgba(220,38,38,.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.6rem;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.category-card:hover .category-card__icon{background:rgba(220,38,38,.2);transform:scale(1.1)}
.category-img-icon{object-fit:contain;image-rendering:-webkit-optimize-contrast;display:inline-block;border-radius:4px}
.category-emoji-icon{display:inline-flex;align-items:center;justify-content:center}
.category-card__name{font-weight:700;font-size:.9rem}
.category-card__count{font-size:.78rem;color:var(--text-muted)}

/* ── Test Items ───────────────────────────────────────────────── */
.test-item{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease)}
.test-item:last-child{border-bottom:none}
.test-item:hover{background:var(--bg-card-hover)}
.test-item__info{min-width:0}
.test-item__player{font-weight:600;font-size:.9rem}
.test-item__meta{font-size:.78rem;color:var(--text-secondary);margin-top:2px}
.test-item__transition{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.8rem}
.test-item__arrow{color:var(--text-muted);font-size:.7rem}
.test-item__date{font-size:.78rem;color:var(--text-muted);text-align:right}

/* ── Result Badges ────────────────────────────────────────────── */
.result-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.result-badge--passed{background:rgba(34,197,94,.15);color:var(--success);border:1px solid rgba(34,197,94,.3)}
.result-badge--failed{background:rgba(239,68,68,.15);color:var(--danger);border:1px solid rgba(239,68,68,.3)}
.result-badge--pending{background:rgba(245,158,11,.15);color:var(--warning);border:1px solid rgba(245,158,11,.3)}

/* ── Data Table ───────────────────────────────────────────────── */
.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.data-table{width:100%;border-collapse:collapse;font-size:.88rem}
.data-table thead tr{background:var(--bg-secondary);border-bottom:1px solid var(--border)}
.data-table th{padding:16px 20px;text-align:left;font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;cursor:pointer;user-select:none;transition:color var(--dur-fast) var(--ease)}
.data-table th:hover{color:var(--text-secondary)}
.data-table th.sorted{color:var(--red-400)}
.data-table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease)}
.data-table tbody tr:last-child{border-bottom:none}
.data-table tbody tr:hover{background:var(--bg-card-hover)}
.data-table td{padding:16px 20px;vertical-align:middle}
.rank-cell{font-family:var(--font-mono);font-weight:700;font-size:.85rem;color:var(--text-muted)}
.rank-cell--1{color:#fbbf24}.rank-cell--2{color:#e2e8f0}.rank-cell--3{color:#cd7c3b}
.player-cell{display:flex;align-items:center;gap:12px}
.player-cell__name{font-weight:600}
.player-cell__username{font-size:.8rem;color:var(--text-secondary);margin-top:1px}
.points-cell{font-family:var(--font-mono);font-weight:600;color:var(--red-400)}

/* ── Search ───────────────────────────────────────────────────── */
.search-wrap{position:relative;width:100%}
.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color var(--dur) var(--ease)}
.search-input{width:100%;padding:12px 16px 12px 44px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.search-input::placeholder{color:var(--text-muted)}
.search-input:focus{outline:none;border-color:var(--red-700);box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.search-wrap:focus-within .search-icon{color:var(--red-400)}
.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;max-height:360px;overflow-y:auto;display:none}
.search-suggestions.open{display:block;animation:fadeInDown .15s var(--ease-out)}
.suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background var(--dur-fast) var(--ease);border-bottom:1px solid var(--border-subtle)}
.suggestion-item:last-child{border-bottom:none}
.suggestion-item:hover{background:var(--bg-card-hover)}

/* ── Filters ──────────────────────────────────────────────────── */
.filters-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px}
.filter-select{padding:8px 32px 8px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.85rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.filter-select:focus{outline:none;border-color:var(--red-700);box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.filter-select option{background:var(--bg-card)}

/* ── Forms ────────────────────────────────────────────────────── */
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px}
.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--red-700);box-shadow:0 0 0 3px rgba(220,38,38,.15)}
.form-select{appearance:none;cursor:pointer}
.form-textarea{resize:vertical;min-height:80px}
.form-hint{font-size:.78rem;color:var(--text-muted);margin-top:4px}
.form-error{font-size:.78rem;color:var(--danger);margin-top:4px}
.form-input.error,.form-select.error{border-color:var(--danger)}

/* ── Auth ─────────────────────────────────────────────────────── */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--bg-root);position:relative}
.auth-page__bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 30%,rgba(220,38,38,.08) 0%,transparent 70%)}
.auth-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px 32px;box-shadow:var(--shadow-lg)}
.auth-card__logo{text-align:center;font-size:2rem;font-weight:900;letter-spacing:-.03em;margin-bottom:8px}
.auth-card__subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:32px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-muted);font-size:.8rem}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.auth-footer{text-align:center;margin-top:24px;font-size:.85rem;color:var(--text-secondary)}
.auth-footer a{color:var(--red-400);font-weight:600}
.auth-footer a:hover{color:var(--red-500)}

/* ── Pagination ───────────────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:32px;flex-wrap:wrap}
.page-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease)}
.page-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-strong)}
.page-btn.active{background:var(--red-600);border-color:var(--red-700);color:#fff}
.page-btn:disabled{opacity:.35;pointer-events:none}

/* ── Skeleton ─────────────────────────────────────────────────── */
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-sm)}
.skeleton--text{height:14px;border-radius:3px}.skeleton--title{height:22px;border-radius:3px}
.skeleton--avatar{border-radius:var(--radius-sm)}.skeleton--badge{height:24px;width:56px}

/* ── Spinner ──────────────────────────────────────────────────── */
.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--red-500);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}
.spinner--sm{width:16px;height:16px}.spinner--lg{width:40px;height:40px;border-width:3px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px;color:var(--text-secondary);font-size:.9rem}

/* ── Empty State ──────────────────────────────────────────────── */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;gap:16px}
.empty-state__icon{font-size:3rem;opacity:.3}
.empty-state__title{font-size:1.1rem;font-weight:700;color:var(--text-secondary)}
.empty-state__subtitle{font-size:.9rem;color:var(--text-muted);max-width:300px}

/* ── Toast ────────────────────────────────────────────────────── */
.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.toast{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:.88rem;font-weight:500;pointer-events:all;max-width:360px;animation:toastIn .3s var(--ease-out) both}
.toast.dismiss{animation:toastOut .3s var(--ease) both}
.toast--success{border-left:3px solid var(--success)}.toast--error{border-left:3px solid var(--danger)}
.toast--info{border-left:3px solid var(--info)}.toast--warning{border-left:3px solid var(--warning)}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes toastOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}

/* ── Modal ────────────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--bg-modal);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);transform:scale(.95) translateY(10px);transition:transform var(--dur) var(--ease)}
.modal-overlay.open .modal{transform:scale(1) translateY(0)}
.modal__header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;font-size:1.1rem;font-weight:700}
.modal__close{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:all var(--dur-fast) var(--ease)}
.modal__close:hover{background:var(--bg-card-hover);color:var(--text-primary)}
.modal__body{padding:24px}
.modal__footer{padding:0 24px 24px;display:flex;gap:12px;justify-content:flex-end}

/* ── Profile ──────────────────────────────────────────────────── */
.profile-hero{background:linear-gradient(180deg,rgba(220,38,38,.08) 0%,transparent 100%);border-bottom:1px solid var(--border);padding:48px 0 32px}
.profile-hero__inner{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.profile-hero__avatar img.avatar-square{width:128px;height:128px;border-radius:var(--radius-lg);image-rendering:pixelated;border:3px solid var(--border-strong)}

/* Authentic MCTiers 3D NPC Character Display Card */
.mctier-character-card {
  position: relative;
  width: 220px;
  height: 360px;
  background: radial-gradient(circle at 50% 35%, rgba(30, 41, 59, 0.85) 0%, rgba(15, 23, 42, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
}

.mctier-character-card:hover {
  transform: translateY(-4px);
  border-color: rgba(239, 68, 68, 0.4);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.7), 0 0 25px rgba(239, 68, 68, 0.25);
}

.mctier-character-img {
  height: 320px !important;
  width: auto !important;
  max-width: 200px !important;
  border: none !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  image-rendering: pixelated;
  filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 16px rgba(255, 255, 255, 0.2));
  transition: transform 0.3s ease;
}

.mctier-character-card:hover .mctier-character-img {
  transform: scale(1.04);
}
.profile-hero__info{flex:1;min-width:200px}
.profile-hero__username{font-size:2.5rem;font-weight:900;letter-spacing:-.03em;margin-bottom:8px}
.profile-hero__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;box-shadow:0 2px 8px rgba(0,0,0,0.2);transition:all 0.2s ease}
.stat-card:hover{border-color:rgba(255,255,255,0.15);background:var(--bg-card-hover,rgba(30,41,59,0.5))}
.stat-card__value{font-size:1.45rem;font-weight:900;color:var(--red-400);font-family:var(--font-mono);display:block;white-space:nowrap;line-height:1.2}
.stat-card__value--unranked{font-size:1.05rem !important;color:#64748b !important;font-weight:800;letter-spacing:-0.01em}
.stat-card__label{font-size:0.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;margin-top:4px;white-space:nowrap}
.cat-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cat-tier-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius)}
.cat-tier-item__cat{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600}

/* ── Timeline ─────────────────────────────────────────────────── */
.timeline{position:relative;padding-left:32px}
.timeline::before{content:'';position:absolute;left:16px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;padding-bottom:24px}
.timeline-item::before{content:'';position:absolute;left:-24px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--red-600);border:2px solid var(--bg-root);z-index:1}
.timeline-item__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}
.timeline-item__date{font-size:.78rem;color:var(--text-muted)}
.timeline-item__notes{font-size:.82rem;color:var(--text-secondary);margin-top:4px}

/* ── Admin ────────────────────────────────────────────────────── */
.admin-layout{display:flex;min-height:100vh;padding-top:80px}
.admin-sidebar{width:260px;flex-shrink:0;background:var(--bg-secondary);border-right:1px solid var(--border);padding:24px 0;position:sticky;top:80px;height:calc(100vh - 80px);overflow-y:auto}
.admin-sidebar__section-label{padding:12px 24px;font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}
.admin-nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all var(--dur-fast) var(--ease);border-left:3px solid transparent}
.admin-nav-item:hover{color:var(--text-primary);background:rgba(220,38,38,.05)}
.admin-nav-item.active{color:var(--red-400);background:rgba(220,38,38,.08);border-left-color:var(--red-500)}
.admin-nav-item .icon{font-size:1rem;width:20px}
.admin-main{flex:1;overflow-x:hidden;padding:32px}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}
.admin-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}
.admin-stat-card__icon{font-size:1.5rem;margin-bottom:12px}
.admin-stat-card__val{font-size:2rem;font-weight:900;font-family:var(--font-mono)}
.admin-stat-card__label{font-size:.8rem;color:var(--text-muted);margin-top:4px}

/* ── Tiers Page ───────────────────────────────────────────────── */
.tier-chart{display:flex;flex-direction:column;gap:16px}
.tier-row{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center}
.tier-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:24px}
.tier-bar__name{font-size:1.1rem;font-weight:800;font-family:var(--font-mono);min-width:80px}
.tier-bar__desc{font-size:.88rem;color:var(--text-secondary);flex:1}
.tier-bar__count{font-size:.85rem;color:var(--text-muted);font-family:var(--font-mono)}

/* ── Utilities ────────────────────────────────────────────────── */
.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}
.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.min-w-0{min-width:0}.w-full{width:100%}
.text-center{text-align:center}.text-right{text-align:right}
.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}
.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}
.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}
.text-red{color:var(--red-400)}.text-success{color:var(--success)}
.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}
.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}
.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}
.p-4{padding:16px}.p-6{padding:24px}.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.divider{height:1px;background:var(--border);margin:24px 0}
.region-tag{display:inline-block;padding:2px 8px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}
.badge-new{display:inline-block;padding:2px 7px;background:rgba(220,38,38,.2);border:1px solid rgba(220,38,38,.4);border-radius:var(--radius-full);font-size:.68rem;font-weight:700;color:var(--red-400);text-transform:uppercase;letter-spacing:.08em}

/* ── Animations ───────────────────────────────────────────────── */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.animate-fade-in{animation:fadeIn .4s var(--ease-out) both}
.animate-fade-in-up{animation:fadeInUp .4s var(--ease-out) both}
.animate-fade-in-down{animation:fadeInDown .4s var(--ease-out) both}
.animate-scale-in{animation:scaleIn .3s var(--ease-out) both}
.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}
.stagger>*:nth-child(3){animation-delay:120ms}.stagger>*:nth-child(4){animation-delay:180ms}
.stagger>*:nth-child(5){animation-delay:240ms}.stagger>*:nth-child(6){animation-delay:300ms}
.stagger>*:nth-child(7){animation-delay:360ms}.stagger>*:nth-child(8){animation-delay:420ms}
.stagger>*:nth-child(9){animation-delay:480ms}.stagger>*:nth-child(10){animation-delay:540ms}

/* ── Footer ───────────────────────────────────────────────────── */
.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:48px 0 32px;margin-top:auto}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer__brand h3{font-size:1.5rem;font-weight:900;margin-bottom:12px}
.footer__brand h3 span{color:var(--red-500)}
.footer__brand p{font-size:.85rem;color:var(--text-secondary);line-height:1.7}
.footer__col h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px}
.footer__col ul{display:flex;flex-direction:column;gap:8px}
.footer__col ul li a{font-size:.88rem;color:var(--text-secondary);transition:color var(--dur-fast) var(--ease)}
.footer__col ul li a:hover{color:var(--text-primary)}
.footer__bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer__bottom p{font-size:.8rem;color:var(--text-muted)}

/* ── Scrollbar ────────────────────────────────────────────────── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-root)}
::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
::selection{background:rgba(220,38,38,.25);color:var(--text-primary)}

/* ── Premium Account Badges & 3D Skin Renders ───────────────────── */
.badge-account {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  user-select: none;
}

.badge-premium {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25) 0%, rgba(217, 119, 6, 0.35) 100%);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.5);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.2);
}

.badge-cracked {
  background: rgba(100, 116, 139, 0.2);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}

.badge-icon {
  font-size: 0.85rem;
  line-height: 1;
}

.verified-mojang-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
}

.skin-3d-box {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.skin-3d-box:hover {
  transform: translateY(-2px) scale(1.03);
  border-color: rgba(239, 68, 68, 0.4);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.skin-3d-img {
  height: 130px;
  image-rendering: pixelated;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.6));
}

/* ── Authentic MCTiers 3-Column Profile Dashboard ───────────────────── */
.mctier-profile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.mctier-profile-title-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
}

.mctier-username-title {
  font-size: 2.2rem;
  font-weight: 900;
  font-family: var(--font-mono);
  letter-spacing: -0.02em;
  color: #ffffff;
  text-shadow: 0 0 15px rgba(255, 255, 255, 0.2);
}

.mctier-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(18, 24, 38, 0.8);
  padding: 4px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.mctier-tab-btn {
  padding: 8px 18px;
  border-radius: 8px;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: transparent;
  transition: all 0.2s ease;
}

.mctier-tab-btn.active {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.mctier-profile-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 22px;
}

@media (max-width: 1024px) {
  .mctier-profile-grid {
    grid-template-columns: 1fr;
  }
}

.mctier-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mctier-card {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.mctier-card--skin {
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.mctier-card-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.mctier-tag-soon {
  font-size: 0.65rem;
  font-weight: 800;
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #94a3b8;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

.mctier-badges-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.mctier-badge-slot {
  aspect-ratio: 1;
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}

.mctier-skins-row {
  display: flex;
  gap: 8px;
}

.mctier-skin-thumb {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(30, 41, 59, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.mctier-skin-thumb img {
  width: 36px;
  height: 36px;
  image-rendering: pixelated;
}

.mctier-cat-pill-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0 6px;
  width: 100%;
}

.mctier-cat-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 4px;
  background: rgba(30, 41, 59, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  flex: 1 1 0;
  min-width: 44px;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.mctier-cat-pill:hover {
  background: rgba(51, 65, 85, 0.65);
  border-color: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}

.mctier-cat-pill__icon {
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 20px;
}

.mctier-cat-pill__badge {
  font-size: 0.65rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  letter-spacing: 0.02em;
}

.mctier-cat-pill--unranked {
  background: rgba(15, 23, 42, 0.35);
  border-color: rgba(255, 255, 255, 0.04);
  opacity: 0.65;
}

.mctier-cat-pill--unranked .mctier-cat-pill__icon {
  filter: grayscale(40%) opacity(0.75);
}

.tier-code-unranked {
  color: #64748b !important;
  font-weight: 700;
}

.mctier-card-header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mctier-time-pills {
  display: flex;
  gap: 4px;
  background: rgba(30, 41, 59, 0.6);
  padding: 3px;
  border-radius: 6px;
}

.mctier-time-pill {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 4px;
}

.mctier-time-pill.active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.mctier-name-history-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mctier-name-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(30, 41, 59, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
}

.mctier-name-item__left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mctier-name-idx {
  font-size: 0.85rem;
  font-weight: 800;
  color: #38bdf8;
}

.mctier-name-text {
  font-weight: 700;
  font-size: 0.92rem;
  color: #f1f5f9;
}

.mctier-name-item__right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mctier-name-date {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.mctier-copy-btn {
  background: transparent;
  border: none;
  font-size: 0.85rem;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.mctier-copy-btn:hover { opacity: 1; }

.mctier-status-pill {
  font-size: 0.72rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.mctier-status-pill.offline {
  background: rgba(100, 116, 139, 0.2);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.mctier-status-pill.online {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

.mctier-subtabs {
  display: flex;
  gap: 6px;
  background: rgba(30, 41, 59, 0.6);
  padding: 4px;
  border-radius: 8px;
}

.mctier-subtab {
  flex: 1;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-muted);
  background: transparent;
}
.mctier-subtab.active {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.mctier-activity-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.mctier-activity-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(30, 41, 59, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  font-size: 0.82rem;
}

.mctier-act-rank {
  font-weight: 800;
  color: #38bdf8;
  width: 16px;
}

.mctier-act-icon {
  margin-right: 8px;
}

.mctier-act-name {
  font-weight: 700;
  color: #f1f5f9;
  flex: 1;
}

.mctier-act-count {
  color: var(--text-muted);
  font-size: 0.76rem;
}

/* ── Combat Overview & Top Masteries Sidebar ──────────────────── */
.mctier-card-header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.mctier-card-title {
  font-size: 0.95rem;
  font-weight: 800;
  white-space: nowrap;
  letter-spacing: -0.01em;
}

.mctier-combat-overview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.mctier-overview-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(18, 24, 38, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  transition: all 0.2s ease;
}

.mctier-overview-item:hover {
  background: rgba(30, 41, 59, 0.65);
  border-color: rgba(255, 255, 255, 0.14);
}

.mctier-overview-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #94a3b8;
}

.mctier-overview-val {
  font-size: 0.85rem;
  font-weight: 800;
  color: #f8fafc;
}

.mctier-overview-val.title-gold {
  color: #f59e0b;
  text-shadow: 0 0 10px rgba(245, 158, 11, 0.4);
}

.mctier-overview-val.text-cyan {
  color: #ef4444;
}

.mctier-overview-val.text-green {
  color: #22c55e;
}

.mctier-winrate-bar-wrap {
  height: 6px;
  background: rgba(15, 23, 42, 0.8);
  border-radius: 3px;
  overflow: hidden;
  margin-top: 4px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.mctier-winrate-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #dc2626 0%, #ef4444 100%);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
  border-radius: 3px;
  transition: width 0.6s ease;
}

.mctier-top-masteries {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.mctier-mastery-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 12px;
  background: rgba(18, 24, 38, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  transition: all 0.2s ease;
}

.mctier-mastery-row:hover {
  background: rgba(30, 41, 59, 0.65);
  border-color: rgba(255, 255, 255, 0.14);
}

.mctier-mastery-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mctier-mastery-icon {
  font-size: 1rem;
  display: flex;
  align-items: center;
}

.mctier-mastery-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #e2e8f0;
}

.cyber-stat-bar-wrap {
  margin-top: 12px;
}

.cyber-stat-bar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

.cyber-stat-bar-track {
  height: 8px;
  background: rgba(30, 41, 59, 0.6);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.cyber-stat-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #ef4444 0%, #3b82f6 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Authentic MCTiers 3D NPC Stage & Model ───────────────────── */
.npc-stage-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-width: 140px;
  min-height: 180px;
  padding: 10px 16px;
}

.npc-stage-pedestal {
  position: absolute;
  bottom: 0;
  width: 120px;
  height: 24px;
  background: radial-gradient(ellipse at center, rgba(239, 68, 68, 0.35) 0%, rgba(15, 23, 42, 0.8) 70%);
  border-radius: 50%;
  border: 1px solid rgba(239, 68, 68, 0.4);
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.4), inset 0 0 10px rgba(0, 0, 0, 0.8);
  z-index: 1;
}

.npc-model-3d {
  position: relative;
  z-index: 2;
  height: 175px;
  image-rendering: pixelated;
  filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.8)) drop-shadow(0 0 16px rgba(255, 255, 255, 0.2));
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.npc-stage-container:hover .npc-model-3d {
  transform: translateY(-6px) scale(1.05);
}

/* ── Unique Cyber-Holographic 3D Stage & Obsidian Glass System ───── */
.cyber-holo-stage {
  position: relative;
  width: 100%;
  height: 420px;
  background: radial-gradient(circle at 50% 35%, rgba(220, 38, 38, 0.25) 0%, rgba(15, 15, 15, 0.96) 75%);
  border: 1.5px solid rgba(239, 68, 68, 0.4);
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8), inset 0 0 30px rgba(220, 38, 38, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
}

.cyber-holo-stage::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg at 50% 50%, rgba(239, 68, 68, 0.08) 0deg, transparent 60deg, rgba(59, 130, 246, 0.08) 180deg, transparent 240deg);
  animation: cyberRotate 15s linear infinite;
  pointer-events: none;
}

@keyframes cyberRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.cyber-holo-pedestal {
  position: absolute;
  bottom: 12px;
  width: 160px;
  height: 32px;
  background: radial-gradient(ellipse at center, rgba(239, 68, 68, 0.6) 0%, rgba(15, 23, 42, 0.9) 70%);
  border-radius: 50%;
  border: 2px solid rgba(248, 113, 113, 0.6);
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.6), inset 0 0 15px rgba(255, 255, 255, 0.4);
  z-index: 1;
}

.cyber-holo-pedestal::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px dashed rgba(239, 68, 68, 0.5);
  animation: pulseRing 3s ease-in-out infinite alternate;
}

@keyframes pulseRing {
  0% { transform: scale(0.95); opacity: 0.5; }
  100% { transform: scale(1.1); opacity: 1; }
}

.cyber-model-3d {
  position: relative;
  z-index: 2;
  height: 330px;
  max-height: 85%;
  max-width: 90%;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 14px 25px rgba(0, 0, 0, 0.9)) drop-shadow(0 0 20px rgba(239, 68, 68, 0.3));
  animation: cyberFloat 4s ease-in-out infinite alternate;
}

@keyframes cyberFloat {
  0% { transform: translateY(0); }
  100% { transform: translateY(-8px); }
}

/* ── Metallic Shimmer & Progress Bars ────────────────────────────── */
.shimmer-rank-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.25) 0%, rgba(168, 85, 247, 0.25) 100%);
  border: 1px solid rgba(248, 113, 113, 0.5);
  color: #f8fafc;
  font-weight: 800;
  font-size: 0.85rem;
  box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
  position: relative;
  overflow: hidden;
}

.shimmer-rank-badge::after {
  content: '';
  position: absolute;
  top: 0; left: -100%; width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
  animation: shimmerSweep 3s infinite;
}

@keyframes shimmerSweep {
  0% { left: -100%; }
  50%, 100% { left: 100%; }
}

.cyber-stat-bar-wrap {
  margin-top: 12px;
}

.cyber-stat-bar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.cyber-stat-bar-track {
  height: 8px;
  background: rgba(30, 41, 59, 0.6);
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.cyber-stat-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #ef4444 0%, #3b82f6 100%);
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

