@font-face{font-family:"William Text Pro";src:url("../fonts/william/WilliamTextPro-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"William Text Pro";src:url("../fonts/william/WilliamTextPro-Bold.woff") format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"William Text Pro";src:url("../fonts/william/WilliamTextPro-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"CoFo Sans";src:url("../fonts/cofo/CoFoSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"CoFo Sans";src:url("../fonts/cofo/CoFoSans-Medium.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter/Inter-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter/Inter-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter/Inter-SemiBold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --bg:#E5E0D6;
  --bg-2:#f7f2ec;
  --surface:#fffaf5;
  --surface-2:#f4ede5;
  --ink:#491F15;
  --muted:#6e6258;
  --line:rgba(90,48,34,.12);
  --coffee:#5A3022;
  --coffee-2:#9E5E4C;
  --coffee-dark:#491F15;
  --beige:#C1AD93;
  --beige-light:#E5E0D6;
  --gold:#d9ab59;
  --gold-2:#f0c77a;
  --silver:#cfd6df;
  --bronze:#c88b5c;
  --blue:#0d4f8a;
  --blue-2:#2577c6;
  --green:#0d7f68;
  --green-2:#17a088;
  --dark:#101010;
  --dark-2:#2d2d2d;
  --shadow:0 20px 60px rgba(73,31,21,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Arial, sans-serif;
  color:var(--ink);
  background:
    linear-gradient(rgba(87,67,49,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(87,67,49,.06) 1px, transparent 1px),
    linear-gradient(180deg, #f3ede7 0%, #ece3d8 100%);
  background-size:120px 120px,120px 120px,100% 100%;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
.page-shell{min-height:100vh}
.container-soft{max-width:1360px;margin:0 auto;padding:0 18px}
.topbar{padding:20px 0 10px;position:sticky;top:0;z-index:70;backdrop-filter:blur(10px)}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:rgba(255,251,246,.84);border:1px solid rgba(255,255,255,.65);
  box-shadow:var(--shadow);border-radius:24px;padding:16px 20px;position:relative;
}
.brand-wrap{text-decoration:none;color:inherit;flex:0 0 auto}
.brand-logo{font-family:"William Text Pro Bld","William Text Pro","Cormorant Garamond",Georgia,serif;font-weight:700;font-size:58px;line-height:.78;letter-spacing:-.04em;color:var(--coffee)}
.brand-sub{font-size:11px;letter-spacing:.34em;color:#8f8175;margin-top:6px;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:800;font-size:14px;border-radius:999px;padding:10px 14px}
.nav-links a.active,.nav-links a:hover{background:rgba(79,38,13,.08)}
.top-pill{white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--coffee);padding:10px 14px;border-radius:999px;background:rgba(217,171,89,.16);border:1px solid rgba(217,171,89,.24)}
.menu-toggle{
  display:none;align-items:center;justify-content:center;width:48px;height:48px;border:none;
  border-radius:16px;background:rgba(79,38,13,.08);color:var(--coffee);font-size:22px;flex:0 0 auto;
}
.mobile-menu{display:none}
.hero-main,.banner-card,.world-banner,.panel-dark{
  position:relative;overflow:hidden;border-radius:34px;color:#fff;box-shadow:0 28px 90px rgba(67,33,10,.20)
}
.hero-main{
  padding:54px 40px;
  background:
    radial-gradient(circle at 85% 18%, rgba(255,255,255,.10), transparent 18%),
    radial-gradient(circle at 8% 90%, rgba(255,255,255,.06), transparent 12%),
    linear-gradient(135deg, #2d1408 0%, #4f260d 55%, #6d3710 100%);
}
.hero-main::after,.banner-card::after{
  content:"";position:absolute;width:220px;height:220px;right:-50px;top:-50px;border-radius:50%;background:rgba(255,255,255,.07)
}
.banner-card{padding:34px;background:linear-gradient(135deg,#2d1408 0%, #4f260d 55%, #6d3710 100%)}
.world-banner{min-height:280px;padding:34px;background:linear-gradient(135deg,#0b4b81 0%, #1f76c8 100%)}
.world-banner::before{content:"";position:absolute;right:60px;top:30px;width:180px;height:180px;border-radius:50%;border:2px solid rgba(255,255,255,.16);box-shadow:inset 0 0 0 18px rgba(255,255,255,.03)}
.world-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.08) 52%,transparent 52%),linear-gradient(transparent 48%,rgba(255,255,255,.08) 48%,rgba(255,255,255,.08) 52%,transparent 52%);opacity:.28}
.panel-dark{background:radial-gradient(circle at 85% 18%, rgba(255,255,255,.10), transparent 16%),linear-gradient(135deg,#341707 0%, #5a2d0c 100%);padding:26px}
.banner-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;align-items:center;position:relative;z-index:1}
.banner-art{position:relative;min-height:280px;display:flex;align-items:flex-end;justify-content:center}
.banner-art img{max-height:420px;max-width:100%;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.18))}
.banner-art--hero img{max-height:430px}
.hero-kicker,.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:12px}
.hero-kicker{color:#e9c98f}
.section-kicker{color:var(--coffee-2)}
.hero-title{font-size:clamp(44px,7vw,88px);line-height:.94;letter-spacing:-.06em;font-weight:900;margin:0 0 18px}
.hero-copy,.section-copy{line-height:1.65;margin-top:12px}
.hero-copy{max-width:820px;font-size:18px;color:rgba(255,255,255,.84);margin-bottom:28px}
.section{padding:36px 0 18px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-title{font-size:clamp(28px,4vw,56px);line-height:.98;font-weight:900;letter-spacing:-.05em;margin:0}
.section-copy{max-width:760px;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.banner-quote{display:inline-block;max-width:760px;margin-top:18px;padding:16px 20px 14px 54px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.94);font-weight:600;line-height:1.75;backdrop-filter:blur(6px);position:relative;font-style:italic}
.banner-quote--light{background:rgba(255,255,255,.10);color:rgba(255,255,255,.90)}

.btn-main,.btn-outline-bon{display:inline-flex;align-items:center;justify-content:center;min-height:52px;text-decoration:none;border-radius:16px;font-weight:800;padding:0 20px}
.btn-main{background:#fff3e3;color:var(--coffee)}
.btn-main:hover{background:#fff8ee}
.btn-outline-bon{color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.btn-outline-bon:hover{background:rgba(255,255,255,.13)}
.stat-grid{margin-top:28px}.stat-card{height:100%;border-radius:22px;padding:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}
.stat-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#d8c1aa;margin-bottom:8px}
.stat-value{font-size:22px;font-weight:900}
.panel{background:rgba(255,250,245,.90);border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);border-radius:30px;padding:26px}
.info-card,.step-card{height:100%;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px}
.info-card h3{font-size:24px;font-weight:900;margin:0 0 10px}.info-card p,.step-card p{margin:0;color:var(--muted);line-height:1.65}
.step-num{font-size:46px;line-height:1;font-weight:900;letter-spacing:-.05em;color:#e5a12b;margin-bottom:10px}
.step-card h4{font-size:22px;font-weight:900;margin:0 0 10px}
.substyle-card{height:100%;border-radius:30px;padding:28px;position:relative;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}
.substyle-card::after{content:"";position:absolute;right:-46px;top:-46px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.08)}
.substyle-card>*{position:relative;z-index:1}.substyle-card .tag{display:inline-flex;padding:8px 14px;border-radius:999px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-bottom:18px}.substyle-card h3{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.05em;margin:0 0 14px}.substyle-card p{margin:0;line-height:1.72;max-width:92%}.substyle-card .chip{margin-top:20px;display:inline-flex;padding:10px 14px;border-radius:999px;font-size:13px;font-weight:800}
.card-drinks{background:linear-gradient(135deg,#3b1b08 0%, #6f3710 100%);color:#fff}.card-drinks .tag,.card-drinks .chip{background:rgba(240,199,122,.16);color:#f0c77a}
.card-mobile{background:linear-gradient(135deg,#0d4f8a 0%, #2476c4 100%);color:#fff}.card-mobile .tag,.card-mobile .chip{background:rgba(255,255,255,.14);color:#e6f1ff}
.card-heroes{background:linear-gradient(135deg,#0f0f0f 0%, #343434 100%);color:#fff}.card-heroes .tag,.card-heroes .chip{background:rgba(217,171,89,.16);color:#f0c77a}
.table-wrap{overflow:hidden;border-radius:26px;border:1px solid var(--line);background:#fffdfb}
.table-clean{margin:0}.table-clean thead th{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#8a7d72;padding:18px 16px;border-bottom:1px solid #efe3d9;background:#fcf6ef}.table-clean tbody td{padding:18px 16px;border-bottom:1px solid #f2e8df;vertical-align:middle;font-weight:700}
.rank-badge{width:42px;height:42px;border-radius:14px;background:#f4ece4;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--coffee)}
.delta{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.delta.up{background:rgba(13,127,104,.12);color:#0d7f68}.delta.down{background:rgba(194,78,78,.12);color:#b13b3b}.delta.flat{background:rgba(85,85,85,.10);color:#666}
.group-card{background:#fffdfb;border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);border-radius:28px;overflow:hidden;height:100%}.group-top{padding:22px 22px 20px;color:#fff;background:linear-gradient(135deg,#0d4f8a 0%, #2476c4 100%)}.group-top h3{margin:0 0 6px;font-size:30px;font-weight:900}.group-top p{margin:0;color:rgba(255,255,255,.84)}.group-body{padding:14px 18px 10px}.team-row{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:14px 6px;border-bottom:1px solid #edf2f8}.team-row:last-child{border-bottom:none}.team-rank{width:40px;height:40px;border-radius:14px;background:#edf5fd;color:#0d4f8a;font-weight:900;display:flex;align-items:center;justify-content:center}.team-name{font-weight:900}.team-note{display:block;font-size:13px;color:#74839b;margin-top:3px}.team-orders{font-size:22px;font-weight:900}
.prize-card{position:relative;overflow:hidden;border-radius:24px;padding:22px;border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow);min-height:132px}
.prize-card::after{content:"";position:absolute;right:-20px;bottom:-25px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.18)}
.prize-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.9;margin-bottom:8px}
.prize-place{font-size:30px;line-height:1;font-weight:900;letter-spacing:-.05em;margin-bottom:10px}
.prize-money{font-size:20px;font-weight:800}
.prize-gold{background:linear-gradient(135deg,#a56d0d 0%, #f0c77a 100%);color:#fff}
.prize-silver{background:linear-gradient(135deg,#7c8796 0%, #dce3eb 100%);color:#fff}
.prize-bronze{background:linear-gradient(135deg,#8b4c20 0%, #dca178 100%);color:#fff}
.hero-card{height:100%;border-radius:30px;overflow:hidden;background:#fffdfb;border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);transition:transform .2s ease}.hero-card:hover{transform:translateY(-5px)}.hero-cover{min-height:220px;padding:24px;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hero-cover::after{content:"";position:absolute;right:-36px;top:-36px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08)}.hero-cover>*{position:relative;z-index:1}.hero-cover.captain{background:linear-gradient(135deg,#173963 0%, #2f63a1 100%)}.hero-cover.batman{background:linear-gradient(135deg,#0e0e0e 0%, #353535 100%)}.hero-cover.aquaman{background:linear-gradient(135deg,#0f6258 0%, #1ea38f 100%)}.hero-cover.flash{background:linear-gradient(135deg,#7e1919 0%, #d55c1f 100%)}.hero-cover.ironman{background:linear-gradient(135deg,#6a1616 0%, #b88420 100%)}.hero-cover.hulk{background:linear-gradient(135deg,#3f4d11 0%, #8da828 100%)}.hero-tag{display:inline-flex;padding:8px 12px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}.hero-icon{font-size:62px}.hero-body{padding:24px}.hero-name{font-size:34px;line-height:1;letter-spacing:-.05em;font-weight:900;margin-bottom:8px}.hero-role{font-size:18px;color:var(--coffee-2);font-weight:800;margin-bottom:12px}.hero-desc{color:var(--muted);line-height:1.68;min-height:82px;margin-bottom:18px}.hero-box{border:1px solid var(--line);background:#fcf7f1;border-radius:18px;padding:14px 16px;margin-bottom:12px}.hero-box span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#95877b;font-weight:800;margin-bottom:6px}.hero-box strong{font-size:17px;font-weight:900}
.footer{padding:28px 0 40px}.footer-line{height:1px;background:rgba(78,47,25,.10);margin-bottom:16px}.footer-meta{display:flex;justify-content:space-between;gap:12px;color:#75695f;font-weight:700}
@media (max-width: 1199.98px){.banner-grid{grid-template-columns:1fr}.banner-art{min-height:220px}.banner-art img{max-height:320px}}
@media (max-width: 991.98px){
  .topbar-inner{padding:14px 16px;flex-wrap:wrap}.section-head{flex-direction:column;align-items:start}.hero-main{padding:40px 24px}
  .nav-links{display:none}.top-pill{display:none}.menu-toggle{display:inline-flex}
  .mobile-menu{display:none;width:100%;padding-top:6px}.mobile-menu.open{display:block}
  .mobile-menu nav{display:grid;gap:8px}.mobile-menu a{text-decoration:none;color:var(--ink);font-weight:800;padding:12px 14px;border-radius:16px;background:rgba(79,38,13,.05)}.mobile-menu a.active{background:rgba(79,38,13,.10)}
}
@media (max-width: 767.98px){.hero-title{font-size:46px}.hero-copy{font-size:16px}.section-title{font-size:34px}.footer-meta{flex-direction:column}.banner-card,.world-banner,.hero-main{padding:26px 22px}.banner-art{min-height:180px}.banner-art img{max-height:250px}.team-row{grid-template-columns:46px 1fr}.team-orders{grid-column:2/3;font-size:18px}.prize-place{font-size:26px}}


/* v3 adjustments */
.hero-main.hero-main--compact{padding:34px 34px;min-height:auto}
.hero-main.hero-main--compact .hero-title{font-size:clamp(34px,4vw,58px)}
.banner-grid{align-items:center}
.banner-art{display:flex;align-items:flex-end;justify-content:flex-end;min-height:260px}
.banner-art img{width:100%;height:100%;max-height:420px;object-fit:contain;object-position:center right}
.banner-art--full img{max-height:480px;transform:scale(1.08)}
.banner-art--hero img{max-height:500px;transform:scale(1.12)}
.banner-card .banner-grid,.world-banner .banner-grid,.hero-main .banner-grid{grid-template-columns:1.05fr .95fr}
@media (max-width: 991.98px){.banner-card .banner-grid,.world-banner .banner-grid,.hero-main .banner-grid{grid-template-columns:1fr}.banner-art,.banner-art--full,.banner-art--hero{min-height:220px}.banner-art img,.banner-art--full img,.banner-art--hero img{max-height:320px;object-position:center}.hero-main.hero-main--compact{padding:26px 22px}}
.footer-meta{gap:10px;flex-wrap:wrap}
.footer-meta div:last-child{opacity:.8}

.banner-copy-stack{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:760px}
.banner-slogan{font-size:clamp(30px,4.6vw,62px);line-height:.96;font-weight:900;letter-spacing:-.05em;margin:0;color:#fff}
.banner-slogan--dark{color:var(--ink)}
.banner-intro{font-size:18px;line-height:1.65;color:rgba(255,255,255,.84);max-width:680px}
.banner-intro--dark{color:var(--muted)}
.banner-quote{display:inline-flex;max-width:720px;margin-top:0;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.92);font-weight:700;line-height:1.6;backdrop-filter:blur(6px)}
.banner-quote cite{display:block;margin-top:8px;font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.82}
.banner-quote--light{background:rgba(255,255,255,.10);color:rgba(255,255,255,.90)}
.banner-quote--dark{background:rgba(79,38,13,.06);border:1px solid rgba(79,38,13,.10);color:var(--ink)}
.hero-cover.hulk{background:linear-gradient(135deg,#34480f 0%, #7eaa22 58%, #a7c83d 100%)}
.hero-cover.hulk::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 46%)}
.hero-icon.hero-icon--emoji{font-size:58px;line-height:1}


/* v5 banner typography and quote styling */
.banner-title{font-size:clamp(44px,6vw,86px);line-height:.92;font-weight:900;letter-spacing:-.06em;margin:0;color:#fff}
.banner-title--dark{color:var(--ink)}
.banner-slogan{font-size:clamp(22px,2.6vw,34px);line-height:1.12;font-weight:800;letter-spacing:-.03em;margin:0;color:#fff;max-width:680px}
.banner-slogan--dark{color:var(--ink)}
.banner-quote{position:relative;display:block;max-width:760px;margin-top:6px;padding:18px 22px 16px 58px;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.96);font-weight:700;font-style:italic;line-height:1.7;backdrop-filter:blur(6px)}
.banner-quote::before{content:"“";position:absolute;left:18px;top:6px;font-size:56px;line-height:1;color:rgba(255,255,255,.38);font-style:normal}
.banner-quote cite{display:block;margin-top:10px;font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.82}
.banner-quote--light{background:rgba(255,255,255,.10);color:rgba(255,255,255,.92)}
.banner-quote--dark{background:rgba(79,38,13,.06);border:1px solid rgba(79,38,13,.10);color:var(--ink)}
.banner-copy-stack{gap:16px}
.hero-icon i{color:#fff}
.hero-cover.hulk .hero-icon{filter:drop-shadow(0 6px 16px rgba(0,0,0,.18))}
@media (max-width: 767.98px){.banner-title{font-size:clamp(38px,11vw,54px)}.banner-slogan{font-size:22px}.banner-quote{padding:16px 16px 14px 48px}.banner-quote::before{content:"“";position:absolute;left:18px;top:6px;font-size:56px;line-height:1;color:rgba(255,255,255,.38);font-style:normal}}


/* Mobi Cup live scoreboard + admin */
.mobi-scoreboard-panel{position:relative;overflow:hidden;border-radius:34px;padding:28px;background:linear-gradient(135deg,#083b73 0%,#126ac4 48%,#0d9ee0 100%);box-shadow:0 28px 80px rgba(13,79,138,.28)}
.mobi-scoreboard-panel::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.22),transparent 28%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.16),transparent 24%);pointer-events:none}
.mobi-scoreboard-panel>*{position:relative;z-index:1}.scoreboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;color:#fff}.scoreboard-head .section-title,.scoreboard-head .section-kicker{color:#fff}.scoreboard-meta{font-weight:800;color:rgba(255,255,255,.78)}.scoreboard-actions{display:flex;gap:10px;flex-wrap:wrap}.scoreboard-actions .btn{border-radius:18px;font-weight:900}.scoreboard-card{box-shadow:0 20px 50px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.35)}.team-row-animated{border-radius:18px;transition:background .25s ease, box-shadow .25s ease}.team-row-animated:hover{background:#f6fbff}.rank-gold{background:linear-gradient(135deg,#b27711,#ffd36e);color:#fff}.rank-silver{background:linear-gradient(135deg,#7b8795,#e7edf4);color:#fff}.rank-bronze{background:linear-gradient(135deg,#895022,#e7a477);color:#fff}.team-orders{display:flex;align-items:baseline;gap:5px}.team-orders small{font-size:11px;color:#75839a;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.rank-moved{background:#fff5d9;box-shadow:0 10px 28px rgba(255,195,75,.25)}.rank-enter{animation:rankEnter .7s ease both}@keyframes rankEnter{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.scoreboard-loader{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:#fff;font-weight:900}.scoreboard-loader span{width:10px;height:10px;border-radius:50%;background:#fff;animation:loaderPulse .75s infinite alternate}.scoreboard-loader span:nth-child(2){animation-delay:.15s}.scoreboard-loader span:nth-child(3){animation-delay:.3s}@keyframes loaderPulse{from{opacity:.35;transform:translateY(0)}to{opacity:1;transform:translateY(-7px)}}
.admin-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#fff7ec,#e9d6bf);padding:24px}.admin-card{width:min(420px,100%);background:#fffdfb;border:1px solid rgba(255,255,255,.8);border-radius:30px;padding:30px;box-shadow:0 24px 70px rgba(82,49,23,.18)}.admin-page{min-height:100vh;background:#f6eee5}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.admin-title{font-size:clamp(30px,4vw,54px);line-height:1;font-weight:900;letter-spacing:-.06em}.admin-mini-card{border:1px solid var(--line);background:#fcf7f1;border-radius:22px;padding:16px}.admin-mini-card h3{font-size:18px;font-weight:900}.admin-log-box{min-height:150px;max-height:320px;overflow:auto;padding:14px;border-radius:18px;background:#0f1720;color:#d9efff;font-size:12px;white-space:pre-wrap}.admin-table-scroll{max-height:620px;overflow:auto}.admin-table-scroll thead th{position:sticky;top:0;background:#fff7ed;z-index:2}.form-control{border-radius:14px;border-color:#eaded2}.btn-primary{background:#126ac4;border-color:#126ac4}
@media (max-width: 991.98px){.scoreboard-head,.admin-topbar{flex-direction:column;align-items:flex-start}.mobi-scoreboard-panel{padding:20px}.scoreboard-actions{width:100%}.scoreboard-actions .btn{width:100%}}


/* Brandbook typography and live Drinks Battle */
body{font-family:Inter,"CoFo Sans",Arial,sans-serif;color:var(--ink)}
.brand-logo,.hero-title,.banner-title,.section-title,.admin-title,.hero-name,.prize-place,.substyle-card h3{font-family:"William Text Pro","Cormorant Garamond",Georgia,serif;font-weight:700}
.brand-sub,.section-kicker,.hero-kicker,.top-pill,.stat-label,.prize-label,.live-badge{font-family:"CoFo Sans",Inter,Arial,sans-serif}
.brand-logo{letter-spacing:.01em;color:var(--coffee)}
.hero-main,.banner-card,.panel-dark{background:radial-gradient(circle at 85% 18%, rgba(255,255,255,.10), transparent 16%),linear-gradient(135deg,var(--coffee-dark) 0%, var(--coffee) 58%, var(--coffee-2) 100%)}
.page-enter{animation:pageEnter .72s cubic-bezier(.2,.9,.2,1) both}
@keyframes pageEnter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

.drinks-live-panel{position:relative;overflow:hidden;border-radius:34px;padding:28px;background:linear-gradient(135deg,var(--coffee-dark) 0%,var(--coffee) 46%,var(--coffee-2) 100%);box-shadow:0 28px 90px rgba(90,48,34,.24);color:#fff}
.drinks-live-panel::before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.20),transparent 28%),radial-gradient(circle at 82% 0%,rgba(193,173,147,.22),transparent 24%);pointer-events:none}
.drinks-live-panel>*{position:relative;z-index:1}
.live-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}
.live-head .section-title{color:#fff}
.live-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:rgba(255,255,255,.86)}
.live-badge span{width:9px;height:9px;border-radius:50%;background:#7cf0c3;box-shadow:0 0 0 0 rgba(124,240,195,.7);animation:livePulse 1.5s infinite}
@keyframes livePulse{70%{box-shadow:0 0 0 12px rgba(124,240,195,0)}100%{box-shadow:0 0 0 0 rgba(124,240,195,0)}}
.live-podium{margin-top:10px}
.live-card{height:100%;border-radius:26px;padding:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(8px);box-shadow:0 18px 48px rgba(0,0,0,.18)}
.live-card-1{background:linear-gradient(135deg,rgba(255,211,110,.28),rgba(255,255,255,.11))}
.live-card-2{background:linear-gradient(135deg,rgba(231,237,244,.24),rgba(255,255,255,.10))}
.live-card-3{background:linear-gradient(135deg,rgba(231,164,119,.24),rgba(255,255,255,.10))}
.live-place{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:rgba(255,255,255,.78);margin-bottom:10px}
.live-branch{font-size:clamp(22px,2.2vw,32px);line-height:1;font-weight:900;letter-spacing:-.04em;margin-bottom:12px}
.live-score{display:inline-flex;border-radius:999px;padding:9px 13px;font-weight:900;background:#fff;color:var(--coffee);margin-bottom:10px}
.live-sub{font-size:13px;color:rgba(255,255,255,.76);font-weight:700}
.skeleton-card{color:rgba(255,255,255,.72)}
.drinks-live-table{background:#fffdfb;color:var(--ink)}
.drinks-live-table .team-name{font-weight:900}
.rank-badge.rank-gold,.rank-badge.rank-silver,.rank-badge.rank-bronze{color:#fff}
.rank-badge.rank-gold{background:linear-gradient(135deg,#b27711,#ffd36e)}
.rank-badge.rank-silver{background:linear-gradient(135deg,#7b8795,#e7edf4)}
.rank-badge.rank-bronze{background:linear-gradient(135deg,#895022,#e7a477)}
.admin-status-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}
.admin-status-pill.active{background:rgba(13,127,104,.12);color:#0d7f68}
.admin-status-pill.inactive{background:rgba(120,110,102,.12);color:#75695f}
.form-check-input:checked{background-color:var(--coffee);border-color:var(--coffee)}
.import-drop{border:1px dashed rgba(90,48,34,.28);border-radius:22px;padding:16px;background:#fffaf5}
@media (max-width: 991.98px){.live-head{flex-direction:column;align-items:flex-start}.live-head .btn{width:100%}.drinks-live-panel{padding:20px}}

/* =========================================================
   BON! TEXT LOGO LOCKUP — FINAL
   Разметка логотипа теперь собирается по буквам:
   B / O / N / ! + CAFÉ FRANÇAIS + Étab.2009.
   Старые классы .brand-logo и .brand-sub оставлены только
   как fallback, но новый header их уже не использует.
   ========================================================= */

:root{
  --bg:#E5E0D6;
  --bg-2:#F7F2EC;
  --surface:#FFFAF5;
  --surface-2:#F4EDE5;
  --ink:#491F15;
  --muted:#6E6258;
  --line:rgba(90,48,34,.14);

  --coffee:#5A3022;
  --coffee-2:#9E5E4C;
  --coffee-dark:#491F15;
  --beige:#C1AD93;
  --beige-light:#E5E0D6;

  --gold:#D9AB59;
  --gold-2:#F0C77A;
  --green:#0D7F68;
  --red:#B13B3B;

  --shadow:0 20px 60px rgba(73,31,21,.10);
}

body{
  font-family:Inter,"CoFo Sans",Arial,sans-serif;
  color:var(--ink);
  background:
    linear-gradient(rgba(90,48,34,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(90,48,34,.045) 1px, transparent 1px),
    linear-gradient(180deg,#F3EDE7 0%,#ECE3D8 100%);
  background-size:120px 120px,120px 120px,100% 100%;
}

/* Header */
.topbar{
  padding:20px 0 10px;
  position:sticky;
  top:0;
  z-index:70;
  backdrop-filter:blur(10px);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,251,246,.88);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:var(--shadow);
  border-radius:24px;
  padding:16px 20px;
  position:relative;
}

/* Новый текстовый логотип */
.brand-wrap.brand-logo-lockup{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:inherit;
  flex:0 0 auto;
  min-width:205px;
  padding:2px 0 0;
}

.brand-wordmark{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  line-height:.76;
  white-space:nowrap;
  color:var(--coffee);
  font-family:"William Text Pro",Georgia,serif;
  font-weight:700;
  letter-spacing:0;
  font-kerning:normal;
  font-feature-settings:"kern" 1;
  transform:translateY(1px);
}

.brand-letter{
  display:inline-block;
  line-height:.76;
  font-family:"William Text Pro",Georgia,serif;
  font-weight:700;
}

/* Ручная подгонка под wordmark из брендбука */
.brand-letter-b{
  font-size:64px;
  transform:scaleX(1.04);
  margin-right:-4px;
}

.brand-letter-o{
  font-size:61px;
  transform:scaleX(.98) translateY(-1px);
  margin-right:-3px;
}

.brand-letter-n{
  font-size:59px;
  transform:scaleX(.93) translateY(-1px);
  margin-right:-1px;
}

.brand-letter-exclamation{
  font-size:66px;
  transform:scaleX(.80) translateY(-1px);
  margin-left:1px;
}

.brand-descriptor{
  margin-top:11px;
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:500;
  letter-spacing:.39em;
  color:rgba(90,48,34,.62);
  text-transform:uppercase;
  font-variant-caps:all-small-caps;
  font-feature-settings:"smcp" 1,"kern" 1;
  transform:translateX(.18em);
}

.brand-established{
  margin-top:8px;
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-size:14px;
  line-height:1;
  font-weight:400;
  letter-spacing:.035em;
  color:rgba(90,48,34,.54);
}

/* Старый логотип — fallback, если где-то осталась старая разметка */
.brand-logo{
  font-family:"William Text Pro",Georgia,serif;
  font-weight:700;
  font-size:58px;
  line-height:.78;
  letter-spacing:-.04em;
  color:var(--coffee);
  text-transform:none !important;
  font-variant:normal !important;
}

.brand-logo::before,
.brand-logo::after{
  content:none !important;
  display:none !important;
}

.brand-sub{
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.34em;
  color:#8F8175;
  margin-top:7px;
  text-transform:uppercase;
}

/* Navigation */
.nav-links{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.nav-links a{
  text-decoration:none;
  color:var(--ink);
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-weight:800;
  font-size:14px;
  border-radius:999px;
  padding:10px 14px;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}

.nav-links a.active,
.nav-links a:hover{
  background:rgba(90,48,34,.09);
  color:var(--coffee);
}

.top-pill{
  white-space:nowrap;
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
  color:var(--coffee);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(217,171,89,.16);
  border:1px solid rgba(217,171,89,.24);
}

.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:none;
  border-radius:16px;
  background:rgba(90,48,34,.08);
  color:var(--coffee);
  font-size:22px;
  flex:0 0 auto;
}

/* Brand typography */
.hero-title,
.banner-title,
.section-title,
.admin-title,
.hero-name,
.prize-place,
.substyle-card h3{
  font-family:"William Text Pro",Georgia,serif;
  font-weight:700;
  letter-spacing:-.035em;
}

.section-kicker,
.hero-kicker,
.stat-label,
.prize-label,
.live-badge{
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
}

/* Main brand panels */
.hero-main,
.banner-card,
.panel-dark{
  background:
    radial-gradient(circle at 85% 18%,rgba(255,255,255,.10),transparent 16%),
    linear-gradient(135deg,var(--coffee-dark) 0%,var(--coffee) 58%,var(--coffee-2) 100%);
  color:#fff;
}

.hero-main,
.banner-card,
.panel-dark{
  border-radius:34px;
}

.hero-kicker,
.banner-card .section-kicker,
.panel-dark .section-kicker{
  color:rgba(229,224,214,.86) !important;
}

.hero-title,
.banner-title,
.banner-slogan{
  color:#fff;
}

.banner-title{
  font-size:clamp(44px,6vw,82px);
  line-height:.96;
  margin:0;
}

.banner-slogan{
  font-size:clamp(22px,2.6vw,34px);
  line-height:1.14;
  font-weight:700;
  letter-spacing:-.02em;
  max-width:680px;
}

.banner-quote{
  position:relative;
  display:block;
  max-width:760px;
  margin-top:6px;
  padding:18px 22px 16px 58px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.94);
  font-family:"William Text Pro",Georgia,serif;
  font-weight:400;
  font-style:italic;
  line-height:1.65;
  backdrop-filter:blur(6px);
}

.banner-quote::before{
  content:"“";
  position:absolute;
  left:18px;
  top:6px;
  font-size:56px;
  line-height:1;
  color:rgba(255,255,255,.38);
  font-style:normal;
}

.banner-quote cite{
  display:block;
  margin-top:10px;
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-style:normal;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.82;
}

/* Neutral cards */
.panel,
.info-card,
.step-card,
.group-card,
.hero-card{
  background:rgba(255,250,245,.92);
  border:1px solid rgba(255,255,255,.78);
}

.info-card h3,
.step-card h4{
  color:var(--coffee);
}

.section-copy,
.info-card p,
.step-card p,
.hero-desc{
  color:var(--muted);
}

/* Drinks live panel */
.drinks-live-panel{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  padding:28px;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.16),transparent 24%),
    radial-gradient(circle at 82% 0%,rgba(193,173,147,.20),transparent 22%),
    linear-gradient(135deg,var(--coffee-dark) 0%,var(--coffee) 48%,var(--coffee-2) 100%);
  box-shadow:0 28px 90px rgba(90,48,34,.24);
  color:#fff;
}

.drinks-live-panel::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:
    radial-gradient(circle at 18% 22%,rgba(255,255,255,.10),transparent 28%),
    radial-gradient(circle at 82% 0%,rgba(193,173,147,.16),transparent 24%);
  pointer-events:none;
}

.drinks-live-panel>*{
  position:relative;
  z-index:1;
}

.live-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}

.live-head .section-title{
  color:#fff;
}

.live-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:rgba(255,255,255,.86);
}

.live-badge span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#7CF0C3;
  box-shadow:0 0 0 0 rgba(124,240,195,.70);
  animation:livePulse 1.5s infinite;
}

@keyframes livePulse{
  70%{box-shadow:0 0 0 12px rgba(124,240,195,0)}
  100%{box-shadow:0 0 0 0 rgba(124,240,195,0)}
}

.live-podium{
  margin-top:10px;
}

.live-card{
  height:100%;
  border-radius:26px;
  padding:20px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(8px);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}

.live-card-1{
  background:linear-gradient(135deg,rgba(255,211,110,.28),rgba(255,255,255,.11));
}

.live-card-2{
  background:linear-gradient(135deg,rgba(231,237,244,.24),rgba(255,255,255,.10));
}

.live-card-3{
  background:linear-gradient(135deg,rgba(231,164,119,.24),rgba(255,255,255,.10));
}

.live-place{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  color:rgba(255,255,255,.78);
  margin-bottom:10px;
}

.live-branch{
  font-size:clamp(22px,2.2vw,32px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  margin-bottom:12px;
}

.live-score{
  display:inline-flex;
  border-radius:999px;
  padding:9px 13px;
  font-weight:900;
  background:#fff;
  color:var(--coffee);
  margin-bottom:10px;
}

.live-sub{
  font-size:13px;
  color:rgba(255,255,255,.76);
  font-weight:700;
}

.skeleton-card{
  color:rgba(255,255,255,.72);
}

.drinks-live-table{
  background:#FFFDFB;
  color:var(--ink);
}

.drinks-live-table .team-name{
  font-weight:900;
}

.scoreboard-meta{
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-weight:800;
  color:rgba(255,255,255,.78);
}

/* Ranks and deltas */
.rank-badge.rank-gold,
.rank-badge.rank-silver,
.rank-badge.rank-bronze{
  color:#fff;
}

.rank-badge.rank-gold{
  background:linear-gradient(135deg,#B27711,#FFD36E);
}

.rank-badge.rank-silver{
  background:linear-gradient(135deg,#7B8795,#E7EDF4);
}

.rank-badge.rank-bronze{
  background:linear-gradient(135deg,#895022,#E7A477);
}

.delta.up{
  background:rgba(13,127,104,.12);
  color:#0D7F68;
}

.delta.down{
  background:rgba(194,78,78,.12);
  color:#B13B3B;
}

.delta.flat{
  background:rgba(85,85,85,.10);
  color:#666;
}

/* Admin / import */
.admin-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
}

.admin-status-pill.active{
  background:rgba(13,127,104,.12);
  color:#0D7F68;
}

.admin-status-pill.inactive{
  background:rgba(120,110,102,.12);
  color:#75695F;
}

.form-check-input:checked{
  background-color:var(--coffee);
  border-color:var(--coffee);
}

.import-drop{
  border:1px dashed rgba(90,48,34,.28);
  border-radius:22px;
  padding:16px;
  background:#FFFAF5;
}

.btn-primary{
  background:var(--coffee);
  border-color:var(--coffee);
}

.btn-primary:hover,
.btn-primary:focus{
  background:var(--coffee-dark);
  border-color:var(--coffee-dark);
}

/* Responsive */
@media (max-width:991.98px){
  .topbar-inner{
    padding:14px 16px;
    flex-wrap:wrap;
  }

  .brand-wrap.brand-logo-lockup{
    min-width:164px;
    align-items:flex-start;
  }

  .brand-letter-b{
    font-size:54px;
    margin-right:-3px;
  }

  .brand-letter-o{
    font-size:51px;
    margin-right:-2px;
  }

  .brand-letter-n{
    font-size:49px;
    transform:scaleX(.92) translateY(-1px);
  }

  .brand-letter-exclamation{
    font-size:55px;
  }

  .brand-descriptor{
    margin-top:8px;
    font-size:11px;
    letter-spacing:.32em;
  }

  .brand-established{
    margin-top:6px;
    font-size:12px;
  }

  .nav-links{
    display:none;
  }

  .top-pill{
    display:none;
  }

  .menu-toggle{
    display:inline-flex;
  }

  .mobile-menu{
    display:none;
    width:100%;
    padding-top:6px;
  }

  .mobile-menu.open{
    display:block;
  }

  .mobile-menu nav{
    display:grid;
    gap:8px;
  }

  .mobile-menu a{
    text-decoration:none;
    color:var(--ink);
    font-weight:800;
    padding:12px 14px;
    border-radius:16px;
    background:rgba(90,48,34,.06);
  }

  .mobile-menu a.active{
    background:rgba(90,48,34,.12);
  }

  .live-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .live-head .btn{
    width:100%;
  }

  .drinks-live-panel{
    padding:20px;
  }
}

@media (max-width:767.98px){
  .brand-wrap.brand-logo-lockup{
    min-width:136px;
  }

  .brand-letter-b{
    font-size:46px;
    margin-right:-2px;
  }

  .brand-letter-o{
    font-size:43px;
    margin-right:-1px;
  }

  .brand-letter-n{
    font-size:42px;
    transform:scaleX(.91) translateY(-1px);
  }

  .brand-letter-exclamation{
    font-size:47px;
    margin-left:0;
  }

  .brand-descriptor{
    margin-top:7px;
    font-size:9px;
    letter-spacing:.28em;
  }

  .brand-established{
    margin-top:5px;
    font-size:11px;
  }

  .banner-title{
    font-size:clamp(38px,11vw,54px);
  }

  .banner-slogan{
    font-size:22px;
  }

  .banner-quote{
    padding:16px 16px 14px 48px;
  }

  .banner-quote::before{
    left:16px;
    top:7px;
    font-size:48px;
  }

  .table-clean thead th,
  .table-clean tbody td{
    white-space:nowrap;
  }
}


/* =========================================================
   BON! IMAGE LOGO PATCH
   Вставить в конец старого style.css.
   Ничего в блоках конкурса не увеличивает.
   Меняет только логотип в шапке.
   ========================================================= */

.brand-wrap.brand-logo-image-lockup{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:inherit;
  flex:0 0 auto;
  width:190px;
  padding:2px 0;
}

.brand-logo-img{
  display:block;
  width:174px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}

.brand-descriptor{
  margin-top:8px;
  font-family:"CoFo Sans", Inter, Arial, sans-serif;
  font-size:11px;
  line-height:1;
  font-weight:500;
  letter-spacing:.34em;
  color:rgba(90,48,34,.62);
  text-transform:uppercase;
  transform:translateX(.17em);
  white-space:nowrap;
}

.brand-established{
  margin-top:6px;
  font-family:"CoFo Sans", Inter, Arial, sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:400;
  letter-spacing:.02em;
  color:rgba(90,48,34,.50);
  white-space:nowrap;
}

/* Старый текстовый логотип скрываем только если он случайно остался внутри image-lockup */
.brand-logo-image-lockup .brand-logo,
.brand-logo-image-lockup .brand-sub{
  display:none !important;
}

/* Исправление наложения заголовка "Турнирная таблица" и периода.
   Только отступы и line-height, без гигантизма. */
.live-head .section-title{
  line-height:1.05;
  margin-bottom:10px;
}

.scoreboard-meta{
  display:block;
  margin-top:8px;
  line-height:1.35;
}

/* Возвращаем рамки карточкам Формат / Критерий, если старый CSS перебился */
.info-card{
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--surface);
}

/* Mobile */
@media (max-width:991.98px){
  .brand-wrap.brand-logo-image-lockup{
    width:150px;
    align-items:flex-start;
  }

  .brand-logo-img{
    width:138px;
  }

  .brand-descriptor{
    margin-top:7px;
    font-size:9px;
    letter-spacing:.29em;
  }

  .brand-established{
    margin-top:5px;
    font-size:11px;
  }
}

@media (max-width:575.98px){
  .brand-wrap.brand-logo-image-lockup{
    width:128px;
  }

  .brand-logo-img{
    width:118px;
  }

  .brand-descriptor{
    font-size:8px;
    letter-spacing:.24em;
  }

  .brand-established{
    font-size:10px;
  }
}

/* Quote card — readable Bon style */
.banner-quote{
  position:relative;
  display:block;
  max-width:760px;
  margin-top:18px;
  padding:22px 26px 20px 30px;
  border-radius:22px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.92);
  font-family:Inter,"CoFo Sans",Arial,sans-serif;
  font-size:18px;
  font-weight:500;
  font-style:normal;
  line-height:1.55;
  letter-spacing:0;
  backdrop-filter:blur(8px);
}

.banner-quote::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:4px;
  border-radius:999px;
  background:rgba(229,224,214,.72);
}

.banner-quote cite{
  display:block;
  margin-top:14px;
  font-family:"CoFo Sans",Inter,Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  font-style:normal;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(229,224,214,.78);
}

.banner-quote--light{
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.92);
}
/* Drinks Battle weekly scoring clarification */
.drinks-live-table th,
.drinks-live-table td{
  white-space:nowrap;
}

.drinks-live-table td:nth-child(2){
  min-width:240px;
  white-space:normal;
}

.drinks-live-table .team-note{
  font-size:12px;
  line-height:1.35;
  color:#8A7D72;
}

.score-total{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:86px;
  border-radius:999px;
  padding:9px 13px;
  font-size:13px;
  font-weight:900;
  border:1px solid rgba(90,48,34,.12);
}

.score-total.up{
  background:rgba(13,127,104,.16);
  color:#0D7F68;
}

.score-total.down{
  background:rgba(194,78,78,.14);
  color:#B13B3B;
}

.score-total.flat{
  background:rgba(85,85,85,.10);
  color:#666;
}

.live-score.up,
.live-score.down,
.live-score.flat{
  background:#fff;
}

@media (max-width: 767.98px){
  .drinks-live-table{
    min-width:860px;
  }

  .drinks-live-table .team-note{
    max-width:220px;
  }
}

/* === 2026-05-30: Mobi Cup v2 public rules + separated admin === */
.mobi-rules-panel{background:#fbf3e8;border:1px solid rgba(111,73,43,.12);border-radius:30px;padding:clamp(18px,3vw,34px);box-shadow:0 22px 60px rgba(82,49,23,.10)}
.mobi-rules-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.mobi-rules-logo{min-width:200px;padding:15px 20px;border-radius:14px;background:#fff;color:#59170f;font-family:"William Text Pro",Georgia,serif;font-size:48px;line-height:.9;text-align:center;border:1px solid rgba(89,23,15,.08)}.mobi-rules-logo small{display:block;margin-top:9px;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.19em;color:#6d2b24}
.mobi-rule-metric{display:flex;flex-direction:column;gap:4px;padding:14px 4px;border-top:1px solid rgba(111,73,43,.12)}.mobi-rule-metric i{color:#8a674a}.mobi-rule-metric span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:#997d65}.mobi-rule-metric strong{font-size:26px;color:#533622}
.mobi-condition-card{display:flex;gap:14px;background:#fff;border-radius:17px;padding:18px;border-left:3px solid #5b91b5;box-shadow:0 7px 24px rgba(90,61,37,.05)}.mobi-condition-card:nth-child(2){border-left-color:#4b9e7b}.mobi-condition-num{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#5b91b5;color:#fff;font-size:18px;font-weight:900}.mobi-condition-num--green{background:#4b9e7b}.mobi-condition-card h3{font-size:20px;margin:5px 0 14px;color:#593e2d}.mobi-condition-card p,.mobi-condition-card li{color:#604f42;line-height:1.55}.mobi-condition-card ol{padding-left:20px}.mobi-condition-note{margin-top:12px;padding-top:11px;border-top:1px solid #eee4dc;font-size:13px;font-style:italic;color:#8a684d}.mobi-formula{margin-top:12px;padding:14px;border-radius:8px;background:#edf7f0;color:#35846b;text-align:center;font-family:"William Text Pro",Georgia,serif;font-size:36px}
.mobi-prizes-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:24px 0 10px}.mobi-prizes-head h3{font-family:"William Text Pro",Georgia,serif;font-size:38px;margin:0;color:#593e2d}.mobi-prizes-head span{color:#8c6e55;font-weight:700}.mobi-prize{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border:1px solid #eadfd4;background:#fff;border-radius:10px;color:#563b29}.mobi-prize--main{background:#6a3c24;color:#fff;border-color:#6a3c24}.mobi-prize span{font-size:20px}.mobi-prize strong{font-family:"William Text Pro",Georgia,serif;font-size:36px;letter-spacing:.04em}.mobi-prize small{font-family:Inter,sans-serif;font-size:13px;font-weight:500;letter-spacing:0}
.group-title-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-title-line h3{margin-bottom:0}.group-title-line span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.78);text-align:right}.team-row-disabled{background:#f1f1ef;opacity:.74}.team-row-disabled:hover{background:#ececeb}.rank-disabled{background:#d9d9d5!important;color:#858581!important}.team-waiting-badge{display:inline-flex;margin-left:6px;padding:3px 6px;border-radius:999px;background:#dededb;color:#74746f;font-family:Inter,sans-serif;font-size:9px;letter-spacing:.07em;text-transform:uppercase;vertical-align:middle}.empty-group{padding:20px 6px;color:#8290a2;font-weight:700}
.admin-header{position:sticky;top:0;z-index:20;background:rgba(246,238,229,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(103,72,44,.12)}.admin-header-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-brand{text-decoration:none;display:flex;align-items:baseline;gap:10px;color:#5f2f1b}.admin-brand span{font-family:"William Text Pro",Georgia,serif;font-size:32px;font-weight:700}.admin-brand small{font-size:10px;font-weight:900;letter-spacing:.14em}.admin-nav{display:flex;gap:8px;flex-wrap:wrap}.admin-nav a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;text-decoration:none;color:#6b5443;font-size:13px;font-weight:900;background:rgba(255,255,255,.44);border:1px solid transparent}.admin-nav a:hover,.admin-nav a.active{color:#fff;background:#603a25;border-color:#603a25}.admin-metric{height:100%;padding:16px;border:1px solid rgba(103,72,44,.12);background:#fffdfb;border-radius:18px;box-shadow:0 10px 30px rgba(82,49,23,.05)}.admin-metric span{display:block;color:#927661;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.09em}.admin-metric strong{display:block;margin-top:3px;color:#4f2d1b;font-family:"William Text Pro",Georgia,serif;font-size:42px;line-height:1}.admin-section-card{display:block;height:100%;padding:22px;border-radius:24px;border:1px solid rgba(103,72,44,.12);background:#fffdfb;text-decoration:none;color:#543522;box-shadow:0 14px 40px rgba(82,49,23,.07);transition:transform .2s ease,box-shadow .2s ease}.admin-section-card:hover{color:#543522;transform:translateY(-4px);box-shadow:0 20px 45px rgba(82,49,23,.12)}.admin-section-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#f5e6d7;font-size:22px;color:#77472d;margin-bottom:14px}.admin-section-card h2{font-family:"William Text Pro",Georgia,serif;font-size:28px;margin:0}.admin-section-card p{min-height:72px;color:#796353;margin:12px 0}.mobi-admin-table{min-width:1320px}.mobi-admin-row.is-active{background:rgba(13,127,104,.035)}.mobi-admin-row.is-waiting{background:rgba(130,130,120,.07)}.mobi-admin-row.is-excluded{opacity:.63;background:rgba(130,130,120,.04)}.mobi-sort-input{width:74px}
@media(max-width:767.98px){.mobi-rules-head{align-items:flex-start;flex-direction:column}.mobi-rules-logo{min-width:170px;font-size:38px}.mobi-rule-metric strong{font-size:21px}.mobi-prizes-head{align-items:flex-start;flex-direction:column}.mobi-prize span{font-size:16px}.mobi-prize strong{font-size:27px}.admin-header{position:static}.admin-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.admin-nav a{white-space:nowrap}.admin-brand small{display:none}}

/* === 2026-06-01: Drinx v6 weekly tournament matrix === */
.drinx-admin-round-meta{display:grid;gap:9px;color:#6f5949;font-size:14px}.drinx-admin-round-meta span{display:flex;gap:8px;align-items:center}.drinx-admin-round-meta i{color:#8e5d3b}.drinx-import-advanced{border-top:1px dashed rgba(103,72,44,.2);padding-top:10px}.drinx-import-advanced summary{cursor:pointer;color:#765641;font-size:13px;font-weight:800}.drinx-round-tabs{display:flex;flex-wrap:wrap;gap:8px}.drinx-round-tabs a{display:inline-flex;flex-direction:column;gap:2px;padding:10px 13px;border-radius:14px;border:1px solid rgba(103,72,44,.14);background:#fffdfb;color:#654733;text-decoration:none;font-size:13px;font-weight:900;line-height:1.1}.drinx-round-tabs a:hover,.drinx-round-tabs a.active{background:#603a25;border-color:#603a25;color:#fff}.drinx-round-tabs small{font-size:9px;letter-spacing:.09em;text-transform:uppercase;opacity:.72}.drinx-matrix-table{min-width:1120px}.drinx-matrix-table th,.drinx-matrix-table td{white-space:nowrap;vertical-align:middle}.drinx-matrix-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.drinx-matrix-table th small{display:block;margin-top:5px;font-size:10px;letter-spacing:0;text-transform:none;color:#9a806d}.drinx-cell-delta{display:block;margin-top:4px;font-size:11px;font-weight:900}.drinx-cell-delta.up{color:#0d7f68}.drinx-cell-delta.down{color:#b13b3b}.drinx-cell-delta.flat{color:#888}.drinx-process-list{display:grid;gap:10px;margin:0;padding-left:22px;color:#6f5949}.drinx-process-list li{padding-left:4px;line-height:1.45}.drinx-public-shell{padding:clamp(18px,3vw,30px);border-radius:30px;background:#fffdfb;border:1px solid rgba(103,72,44,.12);box-shadow:0 18px 54px rgba(82,49,23,.09)}.drinx-public-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.drinx-round-tabs--public a{background:rgba(255,255,255,.82)}.drinx-matrix-table--public td{background:rgba(255,255,255,.62)}
@media(max-width:767.98px){.drinx-public-head{align-items:flex-start;flex-direction:column}.drinx-round-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.drinx-round-tabs a{min-width:max-content}.drinx-matrix-table{min-width:1050px}}

/* === 2026-06-13: Referral Program v2 — unified BON card system === */
.referral-page{padding-bottom:10px}
.referral-banner{padding:clamp(26px,4vw,44px);background:radial-gradient(circle at 84% 14%,rgba(255,207,137,.17),transparent 20%),radial-gradient(circle at 8% 92%,rgba(255,255,255,.06),transparent 18%),linear-gradient(135deg,#4a2418 0%,#7b4328 58%,#b36d3d 100%)}
.referral-banner-grid{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr)}
.referral-banner .hero-kicker{color:rgba(255,225,188,.82)}
.referral-banner-copy{max-width:730px;margin:20px 0 0;color:rgba(255,255,255,.82);font-size:17px;line-height:1.65}
.referral-banner-note{display:inline-flex;align-items:center;gap:11px;max-width:690px;margin-top:20px;padding:11px 14px;border-radius:16px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.88);font-size:14px;font-weight:700;line-height:1.45}
.referral-banner-note i{font-size:20px;color:#ffd9a6}
.referral-banner-art{position:relative;min-height:330px;display:grid;place-items:center;isolation:isolate}
.referral-banner-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.18)}
.referral-banner-orbit--one{width:286px;height:286px}
.referral-banner-orbit--two{width:220px;height:220px;border-width:2px;border-color:rgba(255,221,177,.26)}
.referral-banner-icon{width:144px;height:144px;display:grid;place-items:center;border-radius:46px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 60px rgba(62,29,16,.22);backdrop-filter:blur(8px);transform:rotate(-6deg)}
.referral-banner-icon i{font-size:72px;color:#fff1df;transform:rotate(6deg)}
.referral-banner-chip{position:absolute;display:grid;min-width:172px;padding:13px 16px;border-radius:18px;background:#fffaf5;color:var(--coffee);box-shadow:0 18px 40px rgba(66,31,18,.20)}
.referral-banner-chip small{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#9d7b65}
.referral-banner-chip strong{margin-top:2px;font-family:"William Text Pro",Georgia,serif;font-size:34px;line-height:.95;letter-spacing:-.04em}
.referral-banner-chip span{font-size:12px;font-weight:900;color:#b56e40}
.referral-banner-chip--top{right:5px;top:28px}
.referral-banner-chip--bottom{left:4px;bottom:28px}
.referral-section-copy{max-width:510px;margin:0}
.referral-reward-card{position:relative;display:flex;height:100%;min-height:390px;flex-direction:column;overflow:hidden;padding:24px;border-radius:28px;border:1px solid rgba(101,55,34,.11);background:#fffaf5;box-shadow:0 18px 54px rgba(82,49,23,.09)}
.referral-reward-card::after{content:"";position:absolute;width:165px;height:165px;right:-54px;top:-58px;border-radius:50%;background:rgba(255,255,255,.12)}
.referral-reward-card>*{position:relative;z-index:1}
.referral-reward-card--light{background:linear-gradient(145deg,#fffaf5 0%,#f5e4d0 100%);color:#5b3021}
.referral-reward-card--middle{background:linear-gradient(145deg,#9d5c35 0%,#c57d48 100%);color:#fff8ef}
.referral-reward-card--dark{background:linear-gradient(145deg,#442116 0%,#6f3724 100%);color:#fff8ef}
.referral-reward-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;font-weight:900;font-size:12px;letter-spacing:.14em}
.referral-reward-topline i{font-size:24px}
.referral-reward-card--light .referral-reward-topline{color:#b66d3d}
.referral-reward-card--middle .referral-reward-topline,.referral-reward-card--dark .referral-reward-topline{color:rgba(255,235,209,.84)}
.referral-reward-amount{font-family:"William Text Pro",Georgia,serif;font-size:clamp(48px,5vw,68px);font-weight:700;line-height:.90;letter-spacing:-.06em}
.referral-reward-amount small{display:block;margin-top:8px;font-family:Inter,"CoFo Sans",Arial,sans-serif;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.referral-reward-card h3{margin:24px 0 10px;font-family:"William Text Pro",Georgia,serif;font-size:31px;font-weight:700;line-height:1.02;letter-spacing:-.03em}
.referral-reward-direction{margin:0;font-size:14px;font-weight:800;line-height:1.5}
.referral-reward-note{margin:auto 0 0;padding-top:20px;font-size:13px;line-height:1.5}
.referral-reward-card--light .referral-reward-note{color:#806b5e}
.referral-reward-card--middle .referral-reward-note,.referral-reward-card--dark .referral-reward-note{color:rgba(255,247,237,.74)}
.referral-payment-section{padding-top:30px}
.referral-payment-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:24px 28px;border-radius:26px;border:1px solid rgba(13,127,104,.20);background:linear-gradient(135deg,#f8fff9 0%,#e6f3e7 100%);box-shadow:0 16px 44px rgba(48,91,65,.08)}
.referral-payment-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#0d7f68;color:#fff;font-size:29px}
.referral-payment-card .section-kicker{margin-bottom:6px;color:#0d7f68}
.referral-payment-card h2{margin:0;font-family:"William Text Pro",Georgia,serif;font-size:clamp(28px,3vw,42px);font-weight:700;color:#3d312b}
.referral-payment-card p{margin:8px 0 0;color:#4f625a;font-size:17px;font-weight:700;line-height:1.55}
.referral-payment-card p span{padding:0 10px;color:#8aa096}
.referral-voucher-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,#fff9f1 0%,#f6e5ce 100%);border:1px solid rgba(165,107,57,.18);box-shadow:0 22px 60px rgba(82,49,23,.10)}
.referral-voucher-copy{padding:30px 34px}
.referral-voucher-card .section-kicker{color:#ad6d3c}
.referral-voucher-card h2{max-width:720px;margin:0;font-family:"William Text Pro",Georgia,serif;font-size:clamp(33px,4vw,54px);font-weight:700;line-height:.98;letter-spacing:-.04em;color:#553022}
.referral-voucher-lead{max-width:720px;margin:16px 0 0;color:#715c4f;font-size:17px;line-height:1.55}
.referral-voucher-purpose{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:10px 13px;border-radius:14px;background:rgba(181,111,61,.10);color:#865332;font-weight:800;font-size:14px}
.referral-voucher-purpose i{font-size:18px}
.referral-voucher-value{display:flex;min-width:270px;flex-direction:column;justify-content:center;padding:30px;background:linear-gradient(145deg,#9b5b34 0%,#c57b46 100%);color:#fff8ef}
.referral-voucher-value small{font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,242,224,.80)}
.referral-voucher-value strong{margin-top:7px;font-family:"William Text Pro",Georgia,serif;font-size:58px;line-height:.86;letter-spacing:-.06em}
.referral-voucher-value span{margin-top:8px;font-size:15px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#ffe3bc}
.referral-step-card{border-top:4px solid #c17846}
.referral-step-card .step-num{color:#c17846}
@media(max-width:991.98px){.referral-banner-grid{grid-template-columns:1fr}.referral-banner-art{min-height:280px}.referral-banner-chip--top{right:8%}.referral-banner-chip--bottom{left:8%}.referral-reward-card{min-height:330px}.referral-voucher-card{grid-template-columns:1fr}.referral-voucher-value{min-width:0}.referral-voucher-value strong{font-size:52px}}
@media(max-width:575.98px){.referral-banner{padding:24px 20px}.referral-banner .banner-title{font-size:48px}.referral-banner .banner-slogan{font-size:23px}.referral-banner-copy{font-size:15px}.referral-banner-note{font-size:13px}.referral-banner-art{min-height:238px}.referral-banner-orbit--one{width:220px;height:220px}.referral-banner-orbit--two{width:170px;height:170px}.referral-banner-icon{width:108px;height:108px;border-radius:34px}.referral-banner-icon i{font-size:54px}.referral-banner-chip{min-width:140px;padding:11px 12px}.referral-banner-chip strong{font-size:27px}.referral-banner-chip--top{right:0;top:16px}.referral-banner-chip--bottom{left:0;bottom:16px}.referral-payment-card{grid-template-columns:1fr;padding:20px}.referral-payment-card p{font-size:15px}.referral-payment-card p span{padding:0 3px}.referral-voucher-copy{padding:24px 20px}.referral-voucher-value{padding:23px 20px}.referral-voucher-value strong{font-size:48px}.referral-voucher-purpose{align-items:flex-start;font-size:13px}}

