:root {
  --bg: #070707;
  --bg-soft: #0b0b0c;
  --panel: #111113;
  --panel-2: #161618;
  --panel-3: #1c1c20;
  --text: #f7f7f8;
  --muted: #97979f;
  --line: rgba(255,255,255,.09);
  --line-strong: rgba(255,122,0,.32);
  --accent: #ff7900;
  --accent-2: #ff9a35;
  --accent-dark: #bd4e00;
  --success: #4bdd91;
  --danger: #ff5a67;
  --warning: #ffd166;
  --info: #68a9ff;
  --shadow: 0 24px 80px rgba(0,0,0,.48);
  --radius: 18px;
  --sidebar: 282px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% -10%, rgba(255,121,0,.14), transparent 28%),
    radial-gradient(circle at 90% 10%, rgba(255,121,0,.06), transparent 24%),
    var(--bg);
  overflow-x: hidden;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4,p { margin-top: 0; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.accent { color: var(--accent); }
.success { color: var(--success); }
.danger-text { color: var(--danger); }

/* Ambient effects */
.app::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999;
  opacity: .17;
  background-image: linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px);
  background-size: 100% 4px;
  mix-blend-mode: overlay;
}
.app::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 998;
  background: radial-gradient(circle at center, transparent 45%, rgba(0,0,0,.42) 100%);
}

@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
@keyframes pulseGlow { 0%,100%{box-shadow:0 0 0 rgba(255,121,0,0)} 50%{box-shadow:0 0 34px rgba(255,121,0,.25)} }
@keyframes shimmer { from{transform:translateX(-130%)} to{transform:translateX(230%)} }
@keyframes drift { from{transform:translate3d(0,0,0)} to{transform:translate3d(80px,-60px,0)} }
@keyframes slideUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes spinSlow { to{transform:rotate(360deg)} }
@keyframes borderRun { 0%{background-position:0% 50%}100%{background-position:200% 50%} }

.reveal { animation: slideUp .55s ease both; }
.reveal.delay-1 { animation-delay:.08s; }
.reveal.delay-2 { animation-delay:.16s; }
.reveal.delay-3 { animation-delay:.24s; }

.brand { display:flex; align-items:center; gap:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.brand-mark {
  position:relative; width:42px; height:42px; flex:0 0 auto;
  clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 0 30px rgba(255,121,0,.25);
}
.brand-mark::after {
  content:""; position:absolute; inset:8px;
  clip-path:inherit; background:#070707;
}
.brand small { display:block; color:var(--muted); font-size:9px; letter-spacing:.18em; margin-top:2px; }

.btn {
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  border:1px solid var(--line); color:var(--text); background:var(--panel-2);
  border-radius:12px; padding:11px 16px; font-weight:800;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  overflow:hidden;
}
.btn::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.12),transparent 80%); transform:translateX(-130%); }
.btn:hover { transform:translateY(-2px); border-color:rgba(255,121,0,.42); }
.btn:hover::before { animation:shimmer .7s ease; }
.btn.primary { background:linear-gradient(135deg,var(--accent),var(--accent-2)); color:#130800; border-color:transparent; box-shadow:0 10px 30px rgba(255,121,0,.18); }
.btn.primary:hover { box-shadow:0 14px 38px rgba(255,121,0,.32); }
.btn.ghost { background:transparent; }
.btn.danger { color:#ff929b; background:rgba(255,90,103,.09); border-color:rgba(255,90,103,.25); }
.btn.small { padding:8px 11px; font-size:12px; }
.btn.icon { width:42px; height:42px; padding:0; }

.status {
  display:inline-flex; align-items:center; gap:7px; border-radius:999px;
  padding:6px 9px; font-size:11px; font-weight:800; border:1px solid var(--line);
  background:rgba(255,255,255,.035); color:#d3d3d7;
}
.status::before { content:""; width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor; }
.status.orange { color:var(--accent-2); background:rgba(255,121,0,.08); border-color:rgba(255,121,0,.2); }
.status.green { color:var(--success); background:rgba(75,221,145,.08); border-color:rgba(75,221,145,.2); }
.status.red { color:var(--danger); background:rgba(255,90,103,.08); border-color:rgba(255,90,103,.2); }
.status.blue { color:var(--info); background:rgba(104,169,255,.08); border-color:rgba(104,169,255,.2); }

/* Public */
.public-shell { min-height:100vh; position:relative; isolation:isolate; }
.public-shell::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(120deg, transparent 0 62%, rgba(255,121,0,.035) 62% 63%, transparent 63%),
    linear-gradient(60deg, transparent 0 72%, rgba(255,255,255,.02) 72% 73%, transparent 73%);
}
.public-header {
  position:sticky; top:0; z-index:60; height:76px;
  display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw;
  border-bottom:1px solid rgba(255,255,255,.075);
  background:rgba(7,7,7,.76); backdrop-filter:blur(20px);
}
.public-nav { display:flex; align-items:center; gap:25px; color:#c2c2c8; font-size:13px; font-weight:750; }
.public-nav a { position:relative; padding:28px 0; }
.public-nav a::after { content:""; position:absolute; left:0;right:100%;bottom:18px;height:2px;background:var(--accent);transition:right .2s; }
.public-nav a:hover::after { right:0; }
.header-actions { display:flex; align-items:center; gap:10px; }
.mobile-menu { display:none; }

.hero { min-height:690px; padding:86px 4.5vw 54px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:56px; position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; width:440px;height:440px;border-radius:50%;border:1px solid rgba(255,121,0,.16);right:4%;top:70px; animation:spinSlow 28s linear infinite; }
.hero::after { content:""; position:absolute; width:300px;height:300px;border:1px dashed rgba(255,121,0,.12);right:11%;top:140px;transform:rotate(45deg);animation:spinSlow 40s linear infinite reverse; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { display:flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:900; color:var(--accent); }
.eyebrow::before { content:""; width:38px;height:2px;background:var(--accent);box-shadow:0 0 14px var(--accent); }
.hero h1 { font-size:clamp(48px,6.6vw,96px); line-height:.91; letter-spacing:-.06em; margin:20px 0 25px; text-transform:uppercase; }
.hero h1 span { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.52); }
.hero p { max-width:700px; color:#b0b0b7; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-points { display:flex; flex-wrap:wrap; gap:22px; margin-top:28px; color:#a0a0a7; font-size:13px; }
.hero-points span { display:flex;align-items:center;gap:8px; }
.hero-points i { width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent); }

.hero-stage { position:relative; min-height:520px; z-index:2; }
.hero-card { position:absolute; border:1px solid rgba(255,255,255,.11); background:linear-gradient(180deg,rgba(24,24,27,.95),rgba(11,11,12,.96)); border-radius:20px; box-shadow:var(--shadow); overflow:hidden; }
.hero-card::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(120deg,transparent,rgba(255,121,0,.45),transparent); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude; pointer-events:none; }
.hero-card.main { inset:35px 8% 55px 0; padding:22px; animation:float 5s ease-in-out infinite; }
.hero-card.top { width:230px; right:0; top:0; padding:16px; z-index:3; animation:float 4.4s ease-in-out infinite reverse; }
.hero-card.bottom { left:10%; right:0; bottom:0; padding:16px; z-index:3; animation:float 6s ease-in-out infinite; }
.card-header { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px; }
.card-title { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:#c6c6cb; }
.live-dot { width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent); animation:pulseGlow 1.4s infinite; }
.match-row { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:17px 0;border-top:1px solid var(--line); }
.team-id { display:flex;align-items:center;gap:10px; }
.team-id.right { justify-content:flex-end;text-align:right; }
.logo-token { width:44px;height:44px;border:1px solid rgba(255,121,0,.23);background:linear-gradient(135deg,#29292e,#101010);clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);display:grid;place-items:center;font-weight:950; }
.logo-token.orange { background:linear-gradient(135deg,var(--accent),#4b1b00); color:#130800; }
.versus { text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em; }
.versus strong { display:block;color:var(--text);font-size:21px;letter-spacing:0;margin-bottom:2px; }
.mini-bracket { display:grid;grid-template-columns:1fr 22px 1fr;gap:5px;align-items:center;margin-top:12px; }
.bracket-pair { display:grid;gap:7px; }
.bracket-team { display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#111114;padding:9px;border-radius:9px;font-size:11px; }
.bracket-link { height:58px;border-right:1px solid rgba(255,121,0,.35);border-top:1px solid rgba(255,121,0,.35);border-bottom:1px solid rgba(255,121,0,.35); }
.progress { height:8px;background:#252529;border-radius:999px;overflow:hidden; }
.progress span { display:block;height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent-2));box-shadow:0 0 14px rgba(255,121,0,.35); }

.section { padding:72px 4.5vw; position:relative; }
.section.alt { background:linear-gradient(180deg,rgba(255,255,255,.018),transparent); border-top:1px solid rgba(255,255,255,.045); border-bottom:1px solid rgba(255,255,255,.045); }
.section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px; }
.section-head h2 { font-size:clamp(32px,4vw,55px); letter-spacing:-.045em; margin-bottom:8px; text-transform:uppercase; }
.section-head p { max-width:680px;color:var(--muted);line-height:1.7;margin-bottom:0; }
.grid { display:grid;gap:16px; }
.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }

.glass-card, .panel, .metric-card, .feature-card, .tournament-card, .news-card, .team-card {
  border:1px solid var(--line); background:linear-gradient(180deg,rgba(24,24,27,.9),rgba(14,14,16,.95)); border-radius:var(--radius);
}
.feature-card, .tournament-card, .news-card, .team-card { padding:20px; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; position:relative;overflow:hidden; }
.feature-card:hover, .tournament-card:hover, .news-card:hover, .team-card:hover { transform:translateY(-5px);border-color:rgba(255,121,0,.32);box-shadow:0 20px 55px rgba(0,0,0,.25); }
.feature-card::after, .tournament-card::after { content:"";position:absolute;width:90px;height:90px;border:14px solid rgba(255,121,0,.045);right:-24px;top:-25px;transform:rotate(20deg); }
.feature-icon { width:50px;height:50px;border:1px solid rgba(255,121,0,.22);background:rgba(255,121,0,.08);color:var(--accent);display:grid;place-items:center;border-radius:14px;font-size:19px;margin-bottom:18px; }
.feature-card h3, .tournament-card h3, .team-card h3 { margin-bottom:8px; }
.feature-card p, .tournament-card p, .news-card p, .team-card p { color:var(--muted);line-height:1.6;font-size:13px; }
.card-cover { height:150px;border-radius:14px;margin-bottom:16px;position:relative;overflow:hidden;background:
  linear-gradient(135deg,rgba(255,121,0,.72),transparent 36%),
  repeating-linear-gradient(120deg,rgba(255,255,255,.045) 0 2px,transparent 2px 18px),
  #1a1a1d; }
.card-cover::after { content:"";position:absolute;right:-40px;bottom:-55px;width:190px;height:190px;border:30px solid rgba(255,255,255,.06);border-radius:50%; }
.card-cover.blue { background:linear-gradient(135deg,#315787,transparent 40%),repeating-linear-gradient(120deg,rgba(255,255,255,.04) 0 2px,transparent 2px 18px),#17191e; }
.card-cover.red { background:linear-gradient(135deg,#6f2930,transparent 40%),repeating-linear-gradient(120deg,rgba(255,255,255,.04) 0 2px,transparent 2px 18px),#181416; }
.card-cover .cover-label { position:absolute;left:16px;bottom:15px;font-weight:950;font-size:20px;text-transform:uppercase;z-index:2; }
.meta-row { display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px; }
.logo-row { display:flex;align-items:center;gap:12px; }
.logo-box { width:50px;height:50px;border:1px solid var(--line);background:#202024;border-radius:14px;display:grid;place-items:center;font-weight:950; }
.stat-strip { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden; }
.stat-strip > div { background:#111113;padding:21px; }
.stat-strip strong { display:block;font-size:29px;margin-bottom:4px; }
.stat-strip span { color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.cta { display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px;border:1px solid rgba(255,121,0,.24);border-radius:22px;background:linear-gradient(120deg,rgba(255,121,0,.13),rgba(255,255,255,.015));position:relative;overflow:hidden; }
.cta::after { content:"";position:absolute;width:240px;height:240px;border:35px solid rgba(255,121,0,.06);border-radius:50%;right:-60px;top:-100px; }
.footer { padding:46px 4.5vw;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px;border-top:1px solid var(--line);background:#09090a; }
.footer strong { display:block;margin-bottom:13px; }
.footer a { display:block;color:var(--muted);font-size:13px;margin:9px 0; }
.copyright { padding:17px 4.5vw;border-top:1px solid var(--line);color:#68686e;font-size:11px;background:#09090a; }

/* Organizer public page */
.org-hero { min-height:430px;padding:72px 4.5vw 45px;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--line); }
.org-hero::before { content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.63) 58%,rgba(0,0,0,.28)),
  radial-gradient(circle at 78% 45%,rgba(255,121,0,.48),transparent 23%),
  repeating-linear-gradient(120deg,rgba(255,255,255,.035) 0 2px,transparent 2px 20px),
  #18181b; }
.org-hero::after { content:"";position:absolute;right:7%;top:40px;width:330px;height:330px;border:1px solid rgba(255,121,0,.2);transform:rotate(45deg); }
.org-hero-content { position:relative;z-index:2;max-width:900px; }
.org-avatar { width:84px;height:84px;border-radius:22px;background:linear-gradient(135deg,var(--accent),#4f1c00);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;font-size:25px;font-weight:950;margin-bottom:18px;box-shadow:0 16px 40px rgba(0,0,0,.35); }
.org-hero h1 { font-size:clamp(42px,6vw,76px);letter-spacing:-.055em;margin-bottom:12px;text-transform:uppercase; }
.org-tabs { display:flex;gap:24px;padding:0 4.5vw;border-bottom:1px solid var(--line);background:#0d0d0f;overflow:auto; }
.org-tabs a { padding:18px 0;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap;border-bottom:2px solid transparent; }
.org-tabs a.active { color:#fff;border-color:var(--accent); }
.feed-grid { display:grid;grid-template-columns:1.2fr .8fr;gap:16px; }
.feed-post { padding:21px;border:1px solid var(--line);border-radius:16px;background:#121214; }
.feed-post.featured { min-height:270px;background:linear-gradient(145deg,rgba(255,121,0,.16),rgba(16,16,18,.95));display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden; }
.feed-post.featured::before { content:"";position:absolute;right:-60px;top:-80px;width:250px;height:250px;border:38px solid rgba(255,121,0,.07);border-radius:50%; }

/* Private app */
.private-shell { min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:#09090a; }
.sidebar { position:sticky;top:0;height:100vh;overflow:auto;padding:17px 13px;border-right:1px solid var(--line);background:#0d0d0f;z-index:80; }
.sidebar .brand { padding:4px 8px 17px;border-bottom:1px solid var(--line); }
.context-box { margin:15px 0;padding:12px;border:1px solid var(--line);border-radius:13px;background:#151517; }
.context-box label { display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px; }
.context-box select { width:100%;border:1px solid var(--line);background:#0f0f11;color:#fff;border-radius:9px;padding:9px; }
.context-role { display:flex;justify-content:space-between;gap:8px;margin-top:9px;font-size:10px;color:var(--muted); }
.nav-section { margin-top:18px; }
.nav-title { padding:0 10px 7px;color:#64646a;font-size:9px;text-transform:uppercase;letter-spacing:.15em;font-weight:850; }
.nav-item { width:100%;display:flex;align-items:center;gap:11px;padding:11px 10px;margin:2px 0;border:0;border-radius:10px;background:transparent;color:#adadb4;text-align:left;font-weight:700;font-size:13px;transition:.17s; }
.nav-item:hover { background:#17171a;color:#fff; }
.nav-item.active { color:var(--accent-2);background:rgba(255,121,0,.095);box-shadow:inset 3px 0 var(--accent); }
.nav-item .ico { width:20px;text-align:center;color:inherit; }
.nav-item .count { margin-left:auto;border-radius:999px;padding:2px 7px;background:#242428;font-size:9px; }
.sidebar-user { display:flex;align-items:center;gap:10px;margin-top:20px;padding:16px 8px 4px;border-top:1px solid var(--line); }
.user-avatar { width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#471a00);display:grid;place-items:center;font-weight:950;color:#190900; }
.private-main { min-width:0; }
.topbar { height:72px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(11,11,12,.86);backdrop-filter:blur(18px); }
.topbar-left,.topbar-right { display:flex;align-items:center;gap:10px; }
.mobile-sidebar { display:none; }
.search-box { width:min(360px,35vw);display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#131315;color:var(--muted); }
.search-box input { width:100%;border:0;outline:0;background:transparent;color:#fff; }
.content { padding:25px; }
.page-head { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px; }
.page-head h1 { margin:0 0 6px;font-size:clamp(27px,3vw,39px);letter-spacing:-.04em; }
.page-head p { color:var(--muted);margin:0; }
.page-actions { display:flex;gap:9px;flex-wrap:wrap; }
.metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px; }
.metric-card { padding:18px;position:relative;overflow:hidden; }
.metric-card::after { content:"";position:absolute;width:70px;height:70px;border:12px solid rgba(255,121,0,.05);right:-20px;top:-22px;transform:rotate(20deg); }
.metric-card span { color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.09em; }
.metric-card strong { display:block;font-size:29px;margin:7px 0 4px; }
.metric-card small { color:#bdbdc2; }
.panel { padding:20px; }
.panel + .panel { margin-top:15px; }
.panel-head { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px; }
.panel-head h3,.panel h3 { margin-bottom:0; }
.split { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:15px; }
.split-even { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px; }
.mini-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.mini-card { padding:15px;border:1px solid var(--line);border-radius:13px;background:#171719; }
.mini-card strong { display:block;font-size:18px;margin-top:5px; }
.table-wrap { overflow:auto;border:1px solid var(--line);border-radius:14px; }
table { width:100%;border-collapse:collapse;min-width:720px;background:#111113; }
th,td { padding:14px;text-align:left;border-bottom:1px solid var(--line);font-size:12px; }
th { color:#8b8b91;text-transform:uppercase;letter-spacing:.08em;font-size:9px;background:#171719; }
tr:last-child td { border-bottom:0; }
.task { display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line); }
.task:last-child { border-bottom:0; }
.task-dot { width:9px;height:9px;flex:0 0 auto;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(255,121,0,.4); }
.task p { margin:0; }
.task small { display:block;color:var(--muted);margin-top:3px; }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.field { min-width:0; }
.field.full { grid-column:1/-1; }
.field label { display:block;color:#c7c7cc;font-size:11px;font-weight:800;margin-bottom:7px; }
.input,.select,.textarea { width:100%;border:1px solid var(--line);border-radius:11px;background:#0f0f11;color:#fff;padding:11px 12px;outline:none;transition:border-color .18s,box-shadow .18s; }
.textarea { resize:vertical;min-height:110px; }
.input:focus,.select:focus,.textarea:focus { border-color:rgba(255,121,0,.55);box-shadow:0 0 0 3px rgba(255,121,0,.08); }
.line { height:1px;background:var(--line);margin:18px 0; }
.toggle { width:42px;height:23px;border:0;border-radius:999px;background:#2a2a2e;position:relative;flex:0 0 auto; }
.toggle::after { content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:.18s; }
.toggle.on { background:var(--accent); }
.toggle.on::after { left:22px;background:#160800; }

/* Builder */
.builder-shell { display:grid;grid-template-columns:minmax(360px,.78fr) minmax(420px,1.22fr);gap:15px;align-items:start; }
.builder-controls { position:sticky;top:90px; }
.builder-block { border:1px solid var(--line);border-radius:13px;background:#151517;padding:14px;margin-bottom:10px; }
.builder-block-head { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px; }
.builder-block-actions { display:flex;gap:5px; }
.builder-block-actions button { width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:#202024;color:#fff; }
.builder-preview { min-width:0;border:1px solid var(--line);border-radius:17px;background:#0a0a0b;overflow:hidden; }
.preview-toolbar { display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);background:#151517; }
.preview-frame { min-height:690px; }
.preview-org-hero { min-height:280px;padding:40px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:
  linear-gradient(90deg,rgba(0,0,0,.91),rgba(0,0,0,.4)),
  radial-gradient(circle at 80% 40%,rgba(255,121,0,.48),transparent 24%),
  repeating-linear-gradient(120deg,rgba(255,255,255,.04) 0 2px,transparent 2px 20px),#1b1b1e; }
.preview-org-hero::after { content:"";position:absolute;right:7%;top:30px;width:180px;height:180px;border:1px solid rgba(255,121,0,.23);transform:rotate(45deg); }
.preview-org-hero > div { position:relative;z-index:2; }
.preview-block { padding:24px;border-bottom:1px solid var(--line); }
.preview-block h2 { text-transform:uppercase;letter-spacing:-.035em; }
.preview-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.preview-card { padding:13px;border:1px solid var(--line);border-radius:11px;background:#151517; }

/* Bracket and veto */
.bracket-canvas { overflow:auto;padding:18px;border:1px solid var(--line);border-radius:14px;background:#0e0e10; }
.bracket { min-width:920px;display:grid;grid-template-columns:repeat(4,1fr);gap:38px;align-items:center; }
.round { display:grid;gap:18px; }
.round-title { color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900; }
.match-node { border:1px solid var(--line);border-radius:11px;background:#171719;overflow:hidden;position:relative; }
.match-node::after { content:"";position:absolute;top:50%;right:-39px;width:39px;height:1px;background:rgba(255,121,0,.25); }
.round:last-child .match-node::after { display:none; }
.match-team { display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:11px; }
.match-team:last-child { border-bottom:0; }
.veto-layout { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:15px; }
.map-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.map-card { min-height:118px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#242428,#101012);padding:13px;display:flex;flex-direction:column;justify-content:flex-end;transition:.18s;position:relative;overflow:hidden; }
.map-card::before { content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,121,0,.18),transparent 45%);opacity:0;transition:.18s; }
.map-card:hover,.map-card.selected { border-color:rgba(255,121,0,.55);transform:translateY(-2px); }
.map-card:hover::before,.map-card.selected::before { opacity:1; }
.map-card.banned { opacity:.36;filter:grayscale(1); }
.map-card.picked { border-color:var(--success);box-shadow:inset 0 0 0 1px rgba(75,221,145,.3); }
.map-card strong,.map-card small { position:relative;z-index:2; }
.timer { font-size:42px;font-weight:950;letter-spacing:-.05em;color:var(--accent-2); }

/* Modal-ish map */
.screen-map-button { position:fixed;right:18px;bottom:18px;z-index:220;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,121,0,.28);background:#161618;color:#fff;border-radius:13px;padding:12px 14px;box-shadow:0 15px 45px rgba(0,0,0,.45); }
.screen-map-button span { color:var(--accent); }
.screen-map { position:fixed;right:18px;bottom:72px;z-index:219;width:min(420px,calc(100vw - 36px));max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:16px;background:rgba(17,17,19,.97);backdrop-filter:blur(20px);padding:15px;box-shadow:var(--shadow);transform:translateY(12px);opacity:0;pointer-events:none;transition:.2s; }
.screen-map.open { transform:translateY(0);opacity:1;pointer-events:auto; }
.screen-map h3 { margin:0 0 12px; }
.screen-group { color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;margin:13px 0 7px; }
.screen-link { width:100%;display:flex;justify-content:space-between;gap:10px;border:0;border-radius:9px;background:transparent;color:#c2c2c7;padding:9px;text-align:left; }
.screen-link:hover { background:#222226;color:#fff; }
.toast { position:fixed;left:50%;bottom:22px;z-index:300;transform:translate(-50%,20px);opacity:0;pointer-events:none;border:1px solid rgba(255,121,0,.3);border-radius:12px;background:#18181b;color:#fff;padding:11px 15px;box-shadow:var(--shadow);transition:.2s; }
.toast.show { transform:translate(-50%,0);opacity:1; }

/* Responsive */
@media (max-width:1120px){
  .hero{grid-template-columns:1fr;min-height:auto}.hero-stage{min-height:500px}.cols-4{grid-template-columns:repeat(2,1fr)}
  .private-shell{grid-template-columns:240px 1fr;--sidebar:240px}.metrics{grid-template-columns:repeat(2,1fr)}
  .builder-shell{grid-template-columns:1fr}.builder-controls{position:static}.preview-frame{min-height:560px}
}
@media (max-width:860px){
  .public-nav{display:none}.mobile-menu{display:inline-flex}.hero{padding-top:55px}.hero-stage{min-height:430px}.hero-card.main{right:0}.hero-card.top{width:190px}.hero-card.bottom{left:0}
  .cols-3,.cols-2,.feed-grid,.split,.split-even{grid-template-columns:1fr}.stat-strip{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr 1fr}
  .private-shell{display:block}.sidebar{position:fixed;left:-294px;width:282px;transition:.22s;box-shadow:var(--shadow)}.sidebar.open{left:0}.mobile-sidebar{display:inline-flex}.search-box{display:none}.content{padding:18px}
  .veto-layout{grid-template-columns:1fr}.map-grid{grid-template-columns:repeat(2,1fr)}.preview-cards{grid-template-columns:1fr}.org-hero{min-height:360px}
}
@media (max-width:560px){
  .public-header{padding:0 18px}.header-actions .ghost{display:none}.hero,.section{padding-left:18px;padding-right:18px}.hero h1{font-size:46px}.hero-stage{min-height:380px}.hero-card.top{display:none}.hero-card.main{inset:20px 0 70px}.hero-card.bottom{left:12px}.match-row{gap:6px}.team-id small{display:none}
  .cols-4,.cols-3,.cols-2,.metrics,.form-grid,.mini-grid{grid-template-columns:1fr}.stat-strip{grid-template-columns:1fr 1fr}.section-head,.page-head,.cta{align-items:flex-start;flex-direction:column}.footer{grid-template-columns:1fr}.topbar{padding:0 14px}.topbar-right .btn{display:none}.content{padding:14px}.page-actions{width:100%}.page-actions .btn{flex:1}.map-grid{grid-template-columns:1fr}.builder-shell{display:block}.builder-preview{margin-top:15px}.screen-map-button strong{display:none}.org-tabs{padding:0 18px}.org-hero{padding-left:18px;padding-right:18px}.preview-org-hero{padding:25px}
}

/* Functional MVP additions */
.boot-screen{min-height:100vh;display:grid;place-content:center;gap:14px;text-align:center;background:#070707}.boot-screen .brand-mark{margin:auto;width:42px;height:42px}.boot-screen small{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}.field{display:grid;gap:7px}.field label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.input,.textarea,.select{width:100%;border:1px solid var(--line);background:#0d0d0d;color:var(--text);border-radius:10px;padding:12px 13px;outline:none;transition:.2s}.input:focus,.textarea:focus,.select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,108,0,.12)}.textarea{min-height:100px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:9px;color:var(--muted)}.checkbox-row input{accent-color:var(--orange)}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#070707}.auth-visual{padding:8vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 60% 30%,rgba(255,105,0,.24),transparent 35%),linear-gradient(135deg,#050505,#111)}.auth-visual h1{font-size:clamp(42px,6vw,82px);max-width:780px;margin:20px 0}.auth-card{display:grid;place-items:center;padding:30px}.auth-card .panel{width:min(460px,100%)}
.notice{border:1px solid rgba(255,108,0,.3);background:rgba(255,108,0,.08);padding:13px 15px;border-radius:10px;color:#ffbd88}.notice.error{border-color:rgba(255,60,60,.35);background:rgba(255,60,60,.08);color:#ffaaa8}.notice.success{border-color:rgba(71,220,143,.35);background:rgba(71,220,143,.08);color:#9ff0c4}
.context-select{width:100%;margin-top:13px}.sidebar .select{background:#111}.sidebar-section{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#666;padding:19px 17px 7px}.sidebar-nav button{position:relative}.sidebar-nav button .count{margin-left:auto;background:rgba(255,108,0,.14);color:var(--orange);padding:2px 7px;border-radius:999px;font-size:10px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#0c0c0c}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:rgba(255,255,255,.015)}
.actions{display:flex;flex-wrap:wrap;gap:8px}.btn.danger{border-color:rgba(255,65,65,.35);color:#ff8181}.btn.success{border-color:rgba(60,215,140,.35);color:#75eab1}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.link{border:0;padding:0;color:var(--orange);background:none}
.empty-state{text-align:center;padding:45px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:18px;margin-bottom:7px}
.modal-backdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px)}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#0b0b0b;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.55)}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.modal-close{border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}
.builder-layout{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr);gap:20px}.builder-list{display:grid;gap:10px}.builder-item{border:1px solid var(--line);border-radius:12px;padding:13px;background:#0d0d0d}.builder-item .item-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.builder-preview{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#080808;min-height:700px}.builder-preview .org-hero{min-height:330px}.builder-preview .section{padding:32px}.block-toolbar{display:flex;gap:5px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:#111;color:var(--muted);border-radius:8px;cursor:pointer}.icon-btn:hover{color:var(--orange);border-color:rgba(255,108,0,.4)}
.map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.map-card{border:1px solid var(--line);background:#0e0e0e;border-radius:12px;padding:14px;cursor:pointer;transition:.2s;position:relative;overflow:hidden}.map-card:hover{border-color:var(--orange);transform:translateY(-2px)}.map-card.used{opacity:.35;cursor:not-allowed;filter:grayscale(1)}.map-card.pick{border-color:#4ed797;background:rgba(78,215,151,.08)}.map-card.ban{border-color:#ff5f57;background:rgba(255,95,87,.07)}.map-card strong{display:block;font-size:16px}.map-card small{color:var(--muted)}
.veto-turn{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px;border:1px solid rgba(255,108,0,.3);background:rgba(255,108,0,.07);border-radius:13px}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:12px;padding-bottom:18px}.timeline-dot{width:12px;height:12px;margin:5px auto;background:var(--orange);border-radius:50%;box-shadow:0 0 15px rgba(255,108,0,.6)}.timeline-item:not(:last-child) .timeline-dot:after{content:"";display:block;width:1px;height:40px;background:var(--line);margin:12px auto}.timeline-item p{margin:3px 0;color:var(--muted)}
.bracket-board{overflow:auto;padding-bottom:12px}.bracket-columns{display:flex;gap:50px;min-width:900px}.bracket-round{width:240px;display:flex;flex-direction:column;justify-content:space-around;gap:28px}.bracket-match{border:1px solid var(--line);background:#0d0d0d;border-radius:10px;overflow:hidden}.bracket-line{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.bracket-line:last-child{border:0}.bracket-line.winner{color:var(--orange)}
.public-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-card-link{cursor:pointer}.public-card-link:hover{transform:translateY(-4px);border-color:rgba(255,108,0,.35)}
.profile-banner{min-height:260px;border-radius:18px;border:1px solid var(--line);padding:28px;display:flex;align-items:end;background:radial-gradient(circle at 70% 20%,rgba(255,108,0,.28),transparent 36%),#0a0a0a}.profile-banner .logo-box{width:88px;height:88px;font-size:25px}.profile-meta{display:flex;align-items:end;gap:18px}.profile-meta h1{margin:0 0 6px}
.steam-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#9cc8ff}
.loader{width:22px;height:22px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}
.mobile-toggle{display:none}.top-context{display:flex;align-items:center;gap:10px}.breadcrumbs{color:var(--muted);font-size:12px}.breadcrumbs span{color:var(--text)}
@media(max-width:1000px){.builder-layout{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.public-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
@media(max-width:720px){.public-list-grid{grid-template-columns:1fr}.map-grid{grid-template-columns:1fr}.profile-meta{align-items:flex-start;flex-direction:column}.mobile-toggle{display:inline-flex}.app-layout .sidebar{position:fixed;z-index:120;inset:0 auto 0 0;transform:translateX(-100%);transition:.25s}.app-layout.menu-open .sidebar{transform:translateX(0)}.app-layout .main-content{margin-left:0}.topbar{padding:12px 15px}.page-content{padding:18px 14px}.auth-card{padding:18px}.modal{padding:16px}}

/* Billing and workflow additions */
.selected-card{border-color:rgba(255,121,0,.55);box-shadow:inset 0 0 0 1px rgba(255,121,0,.18)}
.price-value{font-size:30px;font-weight:800;letter-spacing:-.04em;margin:18px 0;color:var(--text)}
.price-value small{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:4px}
.feature-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:9px;color:var(--muted)}
.feature-list li{padding-bottom:8px;border-bottom:1px solid var(--line)}
.feature-list strong{color:var(--text)}
.steam-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
@media(max-width:680px){.price-value{font-size:25px}.actions .btn{max-width:100%}.data-table .actions{min-width:150px}}

/* Platform appearance manager — v0.7 */
:root {
  --content-width: 1440px;
}
.brand-image { width:42px;height:42px;object-fit:contain;border-radius:10px;flex:0 0 auto; }
.hero { width:min(100%,var(--content-width)); margin-inline:auto; }
.section { width:min(100%,var(--content-width)); margin-inline:auto; }
.private-main .content { width:min(100%,var(--content-width)); margin-inline:auto; }
body[data-body-font="mono"] { font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; }
body[data-body-font="serif"] { font-family: Georgia,"Times New Roman",serif; }
body[data-body-font="condensed"] { font-family: "Arial Narrow","Roboto Condensed",Arial,sans-serif; }
body[data-heading-font="mono"] h1,body[data-heading-font="mono"] h2,body[data-heading-font="mono"] h3,body[data-heading-font="mono"] h4 { font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:-.04em; }
body[data-heading-font="serif"] h1,body[data-heading-font="serif"] h2,body[data-heading-font="serif"] h3,body[data-heading-font="serif"] h4 { font-family: Georgia,"Times New Roman",serif;letter-spacing:-.04em; }
body[data-heading-font="condensed"] h1,body[data-heading-font="condensed"] h2,body[data-heading-font="condensed"] h3,body[data-heading-font="condensed"] h4 { font-family:"Arial Narrow","Roboto Condensed",Impact,sans-serif;letter-spacing:-.025em;text-transform:uppercase; }
body[data-density="compact"] .content { padding:16px; }
body[data-density="compact"] .panel { padding:16px; }
body[data-density="compact"] .section { padding-top:48px;padding-bottom:48px; }
body[data-density="spacious"] .content { padding:34px; }
body[data-density="spacious"] .panel { padding:28px; }
body[data-density="spacious"] .section { padding-top:92px;padding-bottom:92px; }
body.no-animations *,body.no-animations *::before,body.no-animations *::after { animation:none!important;transition-duration:0s!important;scroll-behavior:auto!important; }
body.no-scanlines .app::before { display:none; }
body.no-vignette .app::after { display:none; }
body.no-bg-grid .public-shell::before { display:none; }
.button-spinner { width:15px;height:15px;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;border-radius:50%;animation:spin .65s linear infinite; }
.appearance-layout { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:20px;align-items:start; }
.appearance-controls { display:grid;gap:16px; }
.appearance-preview-wrap { min-width:0; }
.preview-sticky { position:sticky;top:92px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);padding:18px; }
.color-control { display:grid;grid-template-columns:48px 1fr;gap:9px;align-items:center; }
.color-control input[type="color"] { width:48px;height:43px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);padding:4px; }
.toggle-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px; }
.toggle-row { display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);padding:11px 12px; }
.toggle-row input { accent-color:var(--accent);width:18px;height:18px; }
.theme-preview { overflow:hidden;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--bg);box-shadow:var(--shadow); }
.theme-preview-header { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 90%,transparent); }
.theme-preview-header .brand { font-size:11px; }
.theme-preview-header .brand-mark,.theme-preview-header .brand-image { width:30px;height:30px; }
.theme-preview-hero { padding:34px 20px;background:radial-gradient(circle at 85% 10%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 32%),var(--bg); }
.theme-preview-hero h2 { margin:10px 0;font-size:clamp(25px,4vw,42px); }
.theme-preview-hero p { color:var(--muted);line-height:1.55; }
.theme-preview-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:var(--bg-soft); }
.diagnostic-row { padding:10px 0;border-bottom:1px solid var(--line); }
.log-viewer { max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);border-radius:12px;background:#050505;color:#c9c9cf;padding:13px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.toast.error { border-color:rgba(255,90,103,.5);background:#351216;color:#ffd7da; }
@media(max-width:1050px){.appearance-layout{grid-template-columns:1fr}.preview-sticky{position:relative;top:auto}.toggle-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.toggle-grid{grid-template-columns:1fr}.color-control{grid-template-columns:44px 1fr}.theme-preview-grid{grid-template-columns:1fr}}

/* Public directories, account profiles and team manager — v0.7.5 */
.listing-hero{width:min(100%,var(--content-width));margin:0 auto;padding:110px 38px 54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.55fr);gap:38px;align-items:end;background:radial-gradient(circle at 80% 10%,rgba(255,121,0,.20),transparent 32%)}
.listing-hero h1{font-size:clamp(42px,6vw,78px);max-width:900px;margin:12px 0 16px;letter-spacing:-.055em}
.listing-hero p{max-width:720px;color:var(--muted);font-size:17px;line-height:1.7}
.listing-search{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,17,19,.88);backdrop-filter:blur(18px)}
.listing-search .input{min-width:0}
.account-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:620px;margin-top:28px}
.account-choice article{border:1px solid rgba(255,121,0,.22);border-radius:14px;background:rgba(255,121,0,.06);padding:15px;display:grid;gap:4px}
.account-choice span{color:var(--muted);font-size:13px}
.registration-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.team-card .actions{margin-top:14px}
.team-card.selected-card{border-color:rgba(255,121,0,.55)}
.profile-banner{position:relative;overflow:hidden}
.profile-banner::after{content:"";position:absolute;inset:auto -8% -52% 40%;height:220px;background:radial-gradient(circle,rgba(255,121,0,.22),transparent 68%);pointer-events:none}
.profile-banner .profile-meta{position:relative;z-index:2}
@media(max-width:860px){.listing-hero{grid-template-columns:1fr;padding-top:75px}.listing-search{max-width:600px}.registration-actions{grid-template-columns:1fr}}
@media(max-width:560px){.listing-hero{padding-left:18px;padding-right:18px}.listing-search{display:grid}.account-choice{grid-template-columns:1fr}}

/* Arena Core 0.8 — tournament operations */
.lifecycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 18px}.lifecycle-step{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);background:var(--panel);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}.lifecycle-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);font-weight:800}.lifecycle-step.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--panel))}.lifecycle-step.active span,.lifecycle-step.done span{background:var(--primary);color:#090909;border-color:var(--primary)}.lifecycle-step small{font-weight:700}
.champion-banner{display:flex;align-items:center;justify-content:center;gap:18px;padding:17px 22px;margin:0 0 18px;border:1px solid var(--primary);background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 18%,var(--panel)),var(--panel));clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}.champion-banner span{font-size:.73rem;letter-spacing:.18em;color:var(--primary);font-weight:900}.champion-banner strong{font-size:1.25rem}
.readiness-panel{margin:18px 0}.readiness-panel.ready{border-color:rgba(77,210,145,.45)}.readiness-panel.blocked{border-color:rgba(255,121,0,.45)}.readiness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.readiness-grid .metric-card{height:100%}.check-list{display:grid;gap:7px;padding:12px 14px;border-radius:var(--radius);font-size:.92rem}.error-list{background:rgba(255,72,85,.08);color:#ff8d96;border:1px solid rgba(255,72,85,.22)}.warning-list{margin-top:10px;background:rgba(255,157,53,.08);color:#ffc078;border:1px solid rgba(255,157,53,.22)}
.tournament-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tournament-summary>div,.detail-list>div{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:calc(var(--radius) - 4px)}.tournament-summary span,.detail-list span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.tournament-actions{margin-top:18px}.operation-bar{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.stage-list{display:grid;gap:12px}.stage-card{padding:14px;border:1px solid var(--border);background:var(--panel-2);border-radius:var(--radius)}.stage-card .panel-head{margin-bottom:8px}.stage-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stage-stats span,.round-chip{padding:6px 9px;background:var(--panel);border:1px solid var(--border);border-radius:999px;font-size:.75rem}.round-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.round-chip.done{border-color:rgba(77,210,145,.45);color:#7ce2ae}
.match-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:18px;align-items:start}.tournament-views{display:grid;gap:18px}.match-stage+ .match-stage{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.match-stage>h3{margin-bottom:10px}.standings-table{min-width:680px}.standing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.bracket-panel{overflow:hidden}.bracket-stage+ .bracket-stage{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.bracket-lane+ .bracket-lane{margin-top:20px}.bracket-lane>h4{margin:0 0 10px;color:var(--primary);text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}.bracket-board{overflow-x:auto;padding:4px 0 12px}.bracket-columns{display:flex;gap:14px;min-width:max-content}.bracket-round{width:210px;display:flex;flex-direction:column;gap:10px}.bracket-round>strong{font-size:.78rem;color:var(--muted);min-height:30px}.bracket-match{display:block;width:100%;padding:0;border:1px solid var(--border);background:var(--panel-2);border-radius:10px;color:var(--text);text-align:left;cursor:pointer;overflow:hidden}.bracket-match:hover{border-color:var(--primary)}.bracket-line{display:flex;justify-content:space-between;gap:8px;padding:9px 10px}.bracket-line+ .bracket-line{border-top:1px solid var(--border)}.bracket-line.winner{background:color-mix(in srgb,var(--primary) 10%,transparent)}.bracket-line.winner span{color:var(--primary);font-weight:800}
.match-score-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:20px;margin-bottom:18px;border:1px solid var(--border);background:linear-gradient(115deg,var(--panel),color-mix(in srgb,var(--primary) 7%,var(--panel)));border-radius:var(--radius)}.match-score-hero>div{display:flex;align-items:center;justify-content:flex-end;gap:15px}.match-score-hero>div:last-child{justify-content:flex-start}.match-score-hero strong{font-size:2rem;color:var(--primary)}.match-score-hero em{text-align:center;font-style:normal;font-weight:900}.match-score-hero small{display:block;color:var(--muted);font-weight:500}.map-result-row{padding:12px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);margin-top:10px}.score-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.detail-list{display:grid;gap:9px}
.format-config{padding:16px;border:1px solid var(--border);background:var(--panel-2);border-radius:var(--radius)}.format-hidden{display:none!important}.map-pool-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:8px}.tournament-form textarea[name="rules_text"]{min-height:150px}.modal:has(.tournament-form){width:min(980px,calc(100vw - 28px));max-height:92vh;overflow:auto}
.public-tournament-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin:18px 0}.team-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.team-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:var(--radius);cursor:pointer;text-align:left}.team-chip:hover{border-color:var(--primary)}.team-chip>span{color:var(--primary);font-size:.75rem;font-weight:900}.team-chip small{color:var(--muted)}.rules-content{white-space:normal;line-height:1.7;max-height:65vh;overflow:auto}
@media(max-width:1000px){.match-layout,.public-tournament-grid{grid-template-columns:1fr}.readiness-grid{grid-template-columns:repeat(2,1fr)}.standing-grid{grid-template-columns:1fr}.lifecycle{grid-template-columns:1fr}.lifecycle-step{clip-path:none}.map-pool-editor{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.tournament-summary,.readiness-grid,.team-chip-grid,.map-pool-editor{grid-template-columns:1fr}.match-score-hero{grid-template-columns:1fr;text-align:center}.match-score-hero>div,.match-score-hero>div:last-child{justify-content:center}.match-score-hero em{order:-1}.operation-bar .btn{width:100%}}
