/* Тема: тёмная по умолчанию, светлая — html.cup-light (переключатель в шапке) */
.cups-page{--fg:255,255,255;--tx:#fff;--inp:#0E0F11;--pop:#17191C;--t-coral:#FF8A92;--t-gold:#F5C042;--t-green:#6FE3BE;--t-bronze:#E3A36A}
html.cup-light{background:#F4F2EF!important}
html.cup-light .cups-page{--fg:22,24,27;--tx:#16181B;--inp:#fff;--pop:#fff;--hbg:#F4F2EF;--hcard:#fff;--hline:rgba(22,24,27,.1);--t-coral:#D8343F;--t-gold:#A87300;--t-green:#0E8A65;--t-bronze:#A35A1B;color:#16181B}
html.cup-light .cups-page .nav{background:rgba(255,255,255,.75);border-color:rgba(22,24,27,.1);box-shadow:0 12px 40px -18px rgba(22,24,27,.25)}
html.cup-light .cups-page .brand,html.cup-light .cups-page .nav-links a.on,html.cup-light .cups-page .nav-links a:hover{color:#16181B}
html.cup-light .cups-page .nav-links a{color:rgba(22,24,27,.75)}
html.cup-light .cups-page .nav-links a:hover,html.cup-light .cups-page .nav-links a.on{background:rgba(22,24,27,.07)}
html.cup-light .cups-page .nav .btn-text{color:#16181B}
html.cup-light .cups-page .mnav summary{background:rgba(22,24,27,.08)}
html.cup-light .cups-page .acct-menu{background:#fff;border-color:var(--line)}
html.cup-light .cups-page .acct-menu a,html.cup-light .cups-page .acct-menu b{color:#16181B}
html.cup-light .cups-page .acct-menu .muted{color:rgba(22,24,27,.55)}
html.cup-light .cups-page .acct-menu a:hover{background:rgba(22,24,27,.06)}
html.cup-light .cups-page .acct-menu button{color:var(--coral-text)}
html.cup-light .cups-page .hbtn-glass{background:rgba(22,24,27,.06);border-color:rgba(22,24,27,.14);color:#16181B!important}
html.cup-light .cups-page .amb{opacity:.35}
html.cup-light .cups-page .cup-share{background:linear-gradient(140deg,rgba(255,90,100,.12),rgba(122,76,224,.1)),#fff}
html.cup-light .cups-page .cup-champ{background:linear-gradient(110deg,rgba(245,192,66,.3),rgba(255,90,100,.14) 60%,rgba(122,76,224,.12)),#fff}
html.cup-light .cups-page .mc-row.w .mc-goals{color:#fff}
html.cup-light .cups-page .cup-unsaved{color:#16181B}
html.cup-light .cups-page .cup-group::after{opacity:.07}
.cups-page,.cups-page .cup-group,.cups-page .mc,.cups-page .tie,.cups-page .cup-share,.cups-page .nav{transition:background-color .35s,color .35s,border-color .35s}

/* Переключатель темы */
.theme-tg{position:relative;width:62px;height:34px;flex:0 0 62px;border:none;border-radius:999px;cursor:pointer;padding:0;background:rgba(var(--fg),.12);box-shadow:inset 0 0 0 1px rgba(var(--fg),.16)}
.theme-tg i{position:absolute;top:3px;left:3px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1B1D21;color:#F5C042;font-style:normal;font-size:15px;box-shadow:0 4px 10px rgba(0,0,0,.35);transition:transform .45s var(--ease),background .35s}
.theme-tg i::before{content:"🌙"}
.theme-tg::after{content:"☀️";position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.55;transition:opacity .3s}
html.cup-light .theme-tg i{transform:translateX(28px) rotate(360deg);background:#fff}
html.cup-light .theme-tg i::before{content:"☀️"}
html.cup-light .theme-tg::after{content:"🌙";left:9px;right:auto}
/* Турниры Sub Cup — тёмная тема в стиле главной */
.cups-page .amb{display:block}
.cups-main{padding-top:120px;padding-bottom:90px;max-width:1280px}
.cups-page .flashes{z-index:80}
.cup-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px}
.cup-sub{margin:10px 0 0;color:rgba(var(--fg),.7);max-width:640px}
.cup-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.cup-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:24px;background:var(--hcard);border:1px solid var(--hline);text-decoration:none;color:var(--tx)!important;transition:transform .35s var(--ease),border-color .3s}
.cup-card:hover{transform:translateY(-5px);border-color:rgba(255,90,100,.6)}
.cup-card b{font-family:var(--font-display);font-weight:900;font-size:20px;line-height:1.15}
.cup-meta,.cup-date{font-size:14px;color:rgba(var(--fg),.62)}
.cup-empty{padding:30px;border-radius:24px;border:1px dashed rgba(var(--fg),.2);color:rgba(var(--fg),.7)}
.cup-stage{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.06em;background:rgba(var(--fg),.1)}
.st-groups,.st-playoff{background:rgba(255,90,100,.2);color:var(--t-coral)}
.st-groups::before,.st-playoff::before{content:"";width:7px;height:7px;border-radius:50%;background:#FF3B48;animation:livep 1.6s infinite}
.st-done{background:rgba(245,192,66,.2);color:var(--t-gold)}

/* Форма создания */
.cup-errors{padding:14px 18px;border-radius:18px;background:rgba(255,90,100,.15);border:1px solid rgba(255,90,100,.5);margin-bottom:16px;font-weight:700}
.cup-form{display:flex;flex-direction:column;gap:16px;max-width:900px}
.cup-box{border-radius:26px;background:var(--hcard);border:1px solid var(--hline);padding:24px;display:flex;flex-direction:column;gap:14px}
.cup-box h2{margin:0;font-family:var(--font-display);font-weight:900;font-size:20px;display:flex;justify-content:space-between;align-items:center}
.cfl{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;color:rgba(var(--fg),.7)}
.cfl input,.cfl textarea,.cfl select,.cup-swap select,.cup-rename input,.cup-link input{font:inherit;font-size:15px;font-weight:600;color:var(--tx);background:var(--inp);border:1px solid rgba(var(--fg),.14);border-radius:14px;padding:12px 14px;outline:none}
.cfl textarea{resize:vertical;font-family:var(--font-body)}
.cfl input:focus,.cfl textarea:focus,.cfl select:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(255,90,100,.2)}
.cf-count{font-size:14px;padding:4px 12px;border-radius:999px;background:rgba(31,191,143,.18);color:var(--t-green);font-family:var(--font-body)}
.cf-count.bad{background:rgba(255,90,100,.18);color:var(--t-coral)}
.cf-row{display:flex;flex-wrap:wrap;gap:10px}
.cf-radio,.cf-check{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--inp);border:1px solid rgba(var(--fg),.12);font-weight:700;cursor:pointer}
.cf-radio input,.cf-check input,.cf-mode input{accent-color:var(--coral)}
.cf-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cf-mode{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:var(--inp);border:2px solid rgba(var(--fg),.1);cursor:pointer;transition:border-color .25s,background .25s}
.cf-mode input{position:absolute;opacity:0}
.cf-mode b{font-family:var(--font-display);font-weight:800}
.cf-mode span{font-size:13px;color:rgba(var(--fg),.6)}
.cf-mode:has(input:checked){border-color:var(--coral);background:rgba(255,90,100,.1)}
.cf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}
.cf-preview{padding:14px 16px;border-radius:16px;background:rgba(31,191,143,.08);border:1px solid rgba(31,191,143,.3);display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700}
.cf-preview .bad{color:var(--t-coral)}
.cf-preview:has(.bad){background:rgba(255,90,100,.08);border-color:rgba(255,90,100,.35)}
.cf-submit{align-self:flex-start;min-height:56px;border:none;cursor:pointer}
.cf-submit:disabled{opacity:.4;cursor:not-allowed}
button.hbtn{border:none;cursor:pointer;font-family:inherit}

/* Шапка турнира */
.cup-top{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch;margin-bottom:16px}
.cup-top-main{flex:2 1 520px;min-width:0;display:flex;flex-direction:column;gap:10px}
.cup-top-main .hh2{margin:0}
.cup-facts{display:flex;flex-wrap:wrap;gap:8px}
.cup-facts span{padding:8px 14px;border-radius:999px;background:rgba(var(--fg),.07);border:1px solid var(--hline);font-size:14px;font-weight:700}
.cup-facts .cup-prize{background:rgba(245,192,66,.15);border-color:rgba(245,192,66,.45);color:var(--t-gold)}
.cup-desc{margin:0;color:rgba(var(--fg),.72);white-space:pre-line;max-width:760px}
.cup-share{flex:1 1 340px;border-radius:24px;padding:20px;background:linear-gradient(140deg,rgba(255,90,100,.18),rgba(122,76,224,.15)),var(--hcard);border:1px solid var(--hline);display:flex;flex-direction:column;gap:10px;justify-content:center}
.cup-link{display:flex;gap:8px}
.cup-link input{flex:1;min-width:0;font-size:14px}
.cup-link button{border:none;border-radius:14px;padding:0 16px;background:var(--coral);color:var(--ink);font-weight:900;cursor:pointer;font-family:inherit;white-space:nowrap}
.cup-live{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(var(--fg),.6)}
.cup-admin{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;padding:14px;border-radius:22px;background:rgba(var(--fg),.04);border:1px dashed rgba(var(--fg),.18);margin-bottom:22px}
.cup-admin .hbtn{min-height:46px;font-size:15px;padding:0 20px}
.cup-admin button:disabled{opacity:.5;cursor:not-allowed}
.cup-more{position:relative}
.cup-more summary{list-style:none;cursor:pointer}
.cup-more summary::-webkit-details-marker{display:none}
.cup-more-box{position:absolute;z-index:20;left:0;top:calc(100% + 8px);width:min(360px,86vw);max-height:70vh;overflow:auto;padding:16px;border-radius:20px;background:var(--pop);border:1px solid var(--hline);box-shadow:0 30px 60px -20px rgba(0,0,0,.8)}
.cup-rename{display:flex;gap:6px;margin-top:6px}
.cup-rename input{flex:1;padding:8px 10px;font-size:14px}
.cup-rename button{border:none;border-radius:10px;background:rgba(var(--fg),.12);color:var(--tx);padding:0 12px;cursor:pointer}
.cup-danger{background:rgba(255,90,100,.15);color:var(--t-coral)!important;border:1px solid rgba(255,90,100,.4)!important}

/* Победитель */
.cup-champ{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;padding:26px 30px;border-radius:28px;margin-bottom:22px;background:linear-gradient(110deg,rgba(245,192,66,.28),rgba(255,90,100,.2) 60%,rgba(122,76,224,.2));border:1px solid rgba(245,192,66,.55)}
.cup-trophy{font-size:64px;line-height:1;animation:bob 2.4s ease-in-out infinite}
.cup-champ b{display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(30px,4vw,48px);line-height:1.05}
.cup-podium{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-weight:800;color:rgba(var(--fg),.8)}
.cup-confetti i{position:absolute;top:-12px;left:var(--x);width:8px;height:14px;border-radius:2px;background:var(--c);animation:cupfall 4s linear infinite;animation-delay:var(--d)}
@keyframes cupfall{to{transform:translateY(220px) rotate(540deg);opacity:0}}

/* Секции */
.cup-sec{margin-top:30px}
.cup-sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.cup-sec-head h2{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(24px,3vw,34px)}
.cup-progress{position:relative;display:inline-flex;align-items:center;min-width:200px;height:34px;padding:0 14px;border-radius:999px;background:rgba(var(--fg),.08);overflow:hidden;font-size:13px}
.cup-progress i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(255,90,100,.5),rgba(255,90,100,.25));transition:width .6s var(--ease)}
.cup-progress b{position:relative}
.cup-note{margin:12px 0 0;font-size:13px;color:rgba(var(--fg),.55)}
.cup-dice{min-height:48px}
.cup-dice:hover{animation:dice .5s}
@keyframes dice{25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}

/* ---------- Логотип ZaykaPoehali (анимированный) ---------- */
.cup-brand{display:flex;align-items:center;gap:18px}
.zlogo{--s:96px;position:relative;flex:0 0 var(--s);width:var(--s);height:var(--s);display:grid;place-items:center;animation:zfloat 4.5s ease-in-out infinite}
.zlogo img{position:relative;z-index:2;width:78%;height:78%;border-radius:50%;box-shadow:0 10px 30px -8px rgba(255,90,100,.7);animation:ztilt 6s ease-in-out infinite}
.zlogo-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,#FF5A64,#F5C042,#7A4CE0,#FF5A64);animation:zspin 3.2s linear infinite;-webkit-mask:radial-gradient(circle,transparent 57%,#000 59%);mask:radial-gradient(circle,transparent 57%,#000 59%)}
.zlogo-ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;filter:blur(8px);opacity:.8}
.zlogo-glow{position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle,rgba(255,90,100,.45),transparent 62%);animation:zpulse 2.6s ease-in-out infinite;z-index:0}
.zlogo-orb{position:absolute;inset:-6px;z-index:3;animation:zspin 5s linear infinite reverse}
.zlogo-orb::before{content:"";position:absolute;top:0;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px rgba(245,192,66,.9)}
.zlogo-gold .zlogo-ring{background:conic-gradient(from 0deg,#F5C042,#FFF1B8,#E39B1B,#F5C042)}
.zlogo-gold .zlogo-glow{background:radial-gradient(circle,rgba(245,192,66,.5),transparent 62%)}
.zlogo-cup{position:absolute;z-index:4;right:-8px;bottom:-6px;font-size:34px;animation:zbob 2.2s ease-in-out infinite;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.zlogo-sm{--s:64px}
.zlogo-xs{--s:44px;animation:none}
.zlogo-xs .zlogo-glow,.zlogo-xs .zlogo-orb{display:none}
@keyframes zspin{to{transform:rotate(360deg)}}
@keyframes zfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ztilt{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(6deg) scale(1.04)}}
@keyframes zpulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes zbob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.zlogo,.zlogo *{animation:none!important}}
.cup-sign{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:50px;font-size:14px;color:rgba(var(--fg),.55)}
.cup-sign img{width:30px;height:30px;border-radius:50%;animation:ztilt 6s ease-in-out infinite}
.cup-sign b{color:var(--tx)}
.cup-sign a{color:var(--t-coral)}

/* ---------- Ник и аватар ---------- */
.pn{all:unset;cursor:copy;font-weight:800;overflow-wrap:break-word;word-break:normal;line-height:1.25;min-width:0;border-radius:6px;transition:color .2s,background .2s}
.pn:hover{color:var(--t-coral)}
.pn:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.pn.ghost{cursor:default;font-weight:600;color:rgba(var(--fg),.4)}
.pn.copied{color:var(--t-green)}
.av{flex:0 0 28px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:900;color:#fff;background:linear-gradient(140deg,hsl(var(--h) 70% 52%),hsl(calc(var(--h) + 40) 70% 38%))}
.av.empty{background:rgba(var(--fg),.07);color:rgba(var(--fg),.4)}
.cup-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;padding:12px 18px;border-radius:14px;background:#1FBF8F;color:#06291E;font-weight:900;box-shadow:0 20px 40px -10px rgba(0,0,0,.6);animation:hrise .3s var(--ease)}

/* ---------- Поиск себя ---------- */
.cup-find{display:flex;align-items:center;gap:10px;margin:6px 0 4px;padding:6px 6px 6px 16px;border-radius:999px;background:var(--hcard);border:1px solid var(--hline);max-width:560px}
.cup-find input{flex:1;min-width:0;background:none;border:none;outline:none;color:var(--tx);font:inherit;font-weight:700;padding:10px 0}
.cup-find-n{font-size:13px;font-weight:800;color:var(--t-coral);padding-right:12px}
.finding .mc:not(.hit),.finding .cup-table tr:not(.hit),.finding .tie:not(.hit){opacity:.28}
.finding .mc.hit,.finding .tie.hit{border-color:var(--coral);box-shadow:0 0 0 2px rgba(255,90,100,.35),0 20px 40px -20px rgba(255,90,100,.6)}
.finding .cup-tourblock:not(:has(.hit)){display:none}

/* ---------- Группы ---------- */
.cup-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.cup-groups.one{grid-template-columns:1fr}
.cup-group{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(160deg,rgba(255,90,100,.09),transparent 40%),var(--hcard);border:1px solid var(--hline);padding:16px;display:flex;flex-direction:column;gap:12px;animation:hrise .6s var(--ease) both;animation-delay:calc(var(--i,0) * .07s)}
.cup-group::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;background:url(/static/img/logo.png) center/contain no-repeat;opacity:.05;pointer-events:none}
.cup-group-head{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:900;font-size:18px}
.cup-group-n{margin-left:auto;font-family:var(--font-body);font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:rgba(var(--fg),.08);color:rgba(var(--fg),.7)}
.cup-letter{width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,#FF5A64,#C2303B);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px rgba(255,90,100,.8)}
.cup-members,.cup-seeds{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cup-members li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:rgba(var(--fg),.05);animation:hrise .5s var(--ease) both;animation-delay:calc(.2s + var(--k) * .05s)}
.cup-seeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.cup-seeds li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:var(--hcard);border:1px solid var(--hline);animation:hrise .5s var(--ease) both;animation-delay:calc(var(--k) * .04s)}
.cup-seeds li span{flex:0 0 28px;height:28px;border-radius:9px;background:rgba(255,90,100,.2);color:var(--t-coral);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.cup-swap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:12px 14px;border-radius:18px;background:rgba(var(--fg),.04);font-weight:700;font-size:14px}
.cup-swap select{padding:9px 12px;font-size:14px;max-width:100%}
.cup-table{width:100%;border-collapse:separate;border-spacing:0 3px;font-size:14px}
.cup-table th{background:none;color:rgba(var(--fg),.45);font-size:11px;font-weight:900;padding:4px 4px;text-align:center}
.cup-table td{padding:8px 4px;text-align:center;background:rgba(var(--fg),.03);transition:opacity .25s}
.cup-table td:first-child{border-radius:10px 0 0 10px;padding-left:6px}
.cup-table td:last-child{border-radius:0 10px 10px 0}
.cup-table .l{text-align:left}
.cup-table td.l{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.rk{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;font-size:12px;font-weight:900;background:rgba(var(--fg),.08)}
.cup-table tr.q td{background:rgba(255,90,100,.1)}
.cup-table tr.q .rk{background:var(--coral);color:#fff}
.cup-table tr.q td:first-child{box-shadow:inset 3px 0 0 var(--coral)}
.cup-table tr.lead td{background:rgba(245,192,66,.14)}
.cup-table tr.lead .rk{background:#F5C042;color:#2a1d00}
.cup-table td b{font-family:var(--font-display);font-size:16px}
.frm{display:inline-flex;gap:3px}
.frm i{width:7px;height:7px;border-radius:50%}
.f-w{background:#1FBF8F}.f-d{background:#9AA1A9}.f-l{background:#FF5A64}
.q-key{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--coral);margin-right:6px;vertical-align:-1px}

/* ---------- Матчи (карточки по турам) ---------- */
.cup-tabs{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(var(--fg),.06)}
.cup-tabs button{border:none;cursor:pointer;font:inherit;font-weight:900;font-size:14px;color:rgba(var(--fg),.7);background:none;padding:8px 14px;border-radius:999px;transition:background .2s,color .2s}
.cup-tabs button.on{background:var(--coral);color:#fff}
.cup-tourblock{margin-bottom:18px}
.cup-tour{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--fg),.5)}
.cup-tour::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(var(--fg),.15),transparent)}
.cup-tour span{padding:5px 12px;border-radius:999px;background:rgba(var(--fg),.07)}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.mc{display:flex;flex-direction:column;border-radius:18px;background:var(--hcard);border:1px solid var(--hline);overflow:hidden;transition:opacity .25s,border-color .25s,box-shadow .25s,transform .25s}
.mc:hover{transform:translateY(-2px)}
.mc.done{background:linear-gradient(180deg,rgba(var(--fg),.035),transparent),var(--hcard)}
.mc-head{display:flex;align-items:center;gap:8px;padding:8px 10px 6px 12px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:rgba(var(--fg),.45)}
.mc-g{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:rgba(255,90,100,.2);color:var(--t-coral);letter-spacing:0}
.mc.done .mc-st{color:var(--t-green)}
.mc-act{margin-left:auto;display:flex;gap:4px}
.mc-act button{height:28px;min-width:30px;border:none;border-radius:8px;background:var(--coral);color:#fff;font-weight:900;cursor:pointer}
.mc-act .sc-x{background:rgba(var(--fg),.1)}
.mc-row{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 12px;border-top:1px solid rgba(var(--fg),.05)}
.mc-row .pn{flex:1}
.mc-row.w{background:linear-gradient(90deg,rgba(31,191,143,.14),transparent 70%)}
.mc-row.w .pn{color:var(--tx)}
.mc-row.l .pn{color:rgba(var(--fg),.5)}
.mc-goals{flex:0 0 auto;min-width:34px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(var(--fg),.07);font-family:var(--font-display);font-weight:900;font-size:17px}
.mc-row.w .mc-goals{background:#1FBF8F;color:#06291E}
.mc:not(.done) .mc-goals{color:rgba(var(--fg),.35)}
.mc-row input,.sc input{flex:0 0 auto;width:42px;height:34px;text-align:center;border-radius:9px;border:1px solid rgba(var(--fg),.16);background:var(--inp);color:var(--tx);font-family:var(--font-display);font-weight:900;font-size:16px;padding:0}
.mc-row input:focus,.sc input:focus{border-color:var(--coral);outline:none;box-shadow:0 0 0 3px rgba(255,90,100,.2)}
.mc.dirty,.sc.dirty{border-color:#F5C042;box-shadow:0 0 0 2px rgba(245,192,66,.3)}
.mc.dirty .mc-st::after{content:" · не сохранено";color:var(--t-gold)}
.mc.saving{opacity:.6;pointer-events:none}
.flash-row{animation:flashrow 2s ease}
@keyframes flashrow{0%,40%{box-shadow:0 0 0 3px rgba(31,191,143,.6)}}

/* Сохранить все */
.cup-unsaved{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:85;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 20px;border-radius:999px;background:var(--pop);border:1px solid rgba(245,192,66,.6);box-shadow:0 24px 50px -12px rgba(0,0,0,.8);font-weight:800;white-space:nowrap}
.cup-unsaved b{color:var(--t-gold)}
.cup-unsaved .hbtn{min-height:42px;padding:0 18px}

/* Счёт в плей-офф (админ) */
.sc{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:6px;border-radius:12px;border:1px solid transparent}
.sc-lbl{flex:1 1 100%;font-size:11px;font-weight:700;color:rgba(var(--fg),.5);overflow-wrap:anywhere}
.sc-lbl i{font-style:normal;opacity:.6}
.sc select{order:5;flex:1 1 100%;height:32px;border-radius:9px;border:1px solid rgba(var(--fg),.16);background:var(--inp);color:var(--tx);font:inherit;font-size:12px}
.sc button{height:34px;min-width:32px;border:none;border-radius:9px;background:var(--coral);color:#fff;font-weight:900;cursor:pointer}
.sc .sc-x{background:rgba(var(--fg),.1)}

/* ---------- Сетка плей-офф ---------- */
.bk-hint{display:none;font-size:13px;font-weight:800;color:rgba(var(--fg),.55)}
.bk-wrap{position:relative;overflow-x:auto;padding:6px 2px 18px;margin:0 -2px;scroll-snap-type:x proximity}
.bk{--gap:46px;display:grid;grid-template-columns:repeat(var(--cols),minmax(250px,1fr));column-gap:var(--gap);min-width:calc(var(--cols) * 250px + (var(--cols) - 1) * var(--gap))}
.bk-col{display:flex;flex-direction:column;scroll-snap-align:start}
.bk-title{position:sticky;top:0;align-self:center;margin-bottom:14px;padding:6px 14px;border-radius:999px;background:rgba(255,90,100,.14);color:var(--t-coral);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bk-title.gold{background:rgba(245,192,66,.16);color:var(--t-gold)}
.bk-title.bronze{align-self:flex-start;background:rgba(205,127,50,.18);color:var(--t-bronze)}
.bk-body{flex:1;display:flex;flex-direction:column}
.bk-pair{position:relative;flex:1;display:flex;flex-direction:column}
.bk-slot{position:relative;flex:1;display:flex;align-items:center;padding:7px 0}
.bk-slot>.tie{width:100%}
/* линии: от пары вправо, вертикаль между двумя парами, вход в следующий раунд */
.bk-col:not(.is-final):not(.bk-champ-col) .bk-slot::after{content:"";position:absolute;right:calc(var(--gap) / -2);width:calc(var(--gap) / 2);top:50%;height:2px;background:rgba(var(--fg),.16)}
.bk-col:not(.is-final):not(.bk-champ-col) .bk-pair:not(.solo)::after{content:"";position:absolute;right:calc(var(--gap) / -2 - 1px);top:25%;bottom:25%;width:2px;background:rgba(var(--fg),.16)}
.bk-col:not(.is-final):not(.bk-champ-col) .bk-pair::before{content:"";position:absolute;right:calc(var(--gap) * -1);width:calc(var(--gap) / 2);top:50%;height:2px;background:rgba(var(--fg),.16)}
.bk-col .bk-slot.adv::after{background:linear-gradient(90deg,var(--coral),rgba(255,90,100,.5))!important;box-shadow:0 0 10px rgba(255,90,100,.6)}
.is-final .bk-slot::after{content:"";position:absolute;right:calc(var(--gap) * -1);width:var(--gap);top:50%;height:2px;background:rgba(245,192,66,.35)}
.is-final .bk-slot.adv::after{background:linear-gradient(90deg,#F5C042,#FFF1B8)!important;box-shadow:0 0 12px rgba(245,192,66,.8)}

.tie{position:relative;border-radius:18px;background:var(--hcard);border:1px solid var(--hline);overflow:hidden;animation:hrise .5s var(--ease) both;transition:opacity .25s,border-color .25s,box-shadow .25s}
.tie-head{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--fg),.42);background:rgba(var(--fg),.03)}
.tie-st{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.tie-st .live-dot{width:6px;height:6px}
.tie.done .tie-st{color:var(--t-green)}
.tie-logo{width:20px;height:20px;border-radius:50%;animation:ztilt 6s ease-in-out infinite}
.tie-side{display:flex;align-items:center;gap:9px;padding:10px 12px;border-top:1px solid rgba(var(--fg),.06);transition:background .3s}
.tie-side .pn{flex:1}
.tie-side.win{background:linear-gradient(90deg,rgba(255,90,100,.24),rgba(255,90,100,.04) 80%)}
.tie-side.win .pn{color:var(--tx)}
.tie-side.win .pn::after{content:" ✓";color:var(--coral)}
.tie-side.lose{opacity:.7}
.tie-side.lose .pn{text-decoration:line-through;text-decoration-color:rgba(var(--fg),.3)}
.tag{flex:0 0 auto;font-size:10px;font-weight:900;padding:3px 6px;border-radius:6px;background:rgba(var(--fg),.08);color:rgba(var(--fg),.65);min-width:26px;text-align:center}
.tie-goals{display:flex;align-items:center;gap:4px}
.tie-goals i{font-style:normal;font-size:12px;font-weight:800;color:rgba(var(--fg),.5);min-width:16px;text-align:center}
.tie-goals b{min-width:32px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(var(--fg),.08);font-family:var(--font-display);font-weight:900;font-size:16px}
.tie-side.win .tie-goals b{background:#1FBF8F;color:#06291E}
.tie-note{padding:6px 12px;font-size:12px;font-weight:800;color:var(--t-gold);border-top:1px dashed rgba(var(--fg),.08)}
.tie-note.ok{color:rgba(var(--fg),.55)}
.tie-admin{display:flex;flex-direction:column;gap:4px;padding:6px;border-top:1px dashed rgba(var(--fg),.12);background:rgba(0,0,0,.18)}
.tie-admin small{padding:4px 6px 0;font-size:11px;font-weight:800;color:rgba(var(--fg),.5)}
.tie.bye{opacity:.55}
.tie.final{border:1px solid rgba(245,192,66,.6);background:linear-gradient(160deg,rgba(245,192,66,.16),transparent 55%),var(--hcard);box-shadow:0 24px 60px -26px rgba(245,192,66,.7)}
.tie.final .tie-head{color:var(--t-gold);font-size:12px}
.tie.third{border-color:rgba(205,127,50,.5)}
.bk-third{margin-top:18px;max-width:340px;display:flex;flex-direction:column;gap:10px}

.bk-champ{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:24px 16px;border-radius:24px;border:1px dashed rgba(245,192,66,.4);background:radial-gradient(circle at 50% 0,rgba(245,192,66,.14),transparent 70%)}
.bk-champ-col .bk-body{justify-content:center}
.bk-champ.has{border-style:solid;border-color:rgba(245,192,66,.7);background:radial-gradient(circle at 50% 0,rgba(245,192,66,.32),transparent 70%),var(--hcard);box-shadow:0 30px 70px -30px rgba(245,192,66,.8)}
.bk-cup{font-size:38px;margin-top:-6px;animation:zbob 2.4s ease-in-out infinite}
.bk-champ b{font-family:var(--font-display);font-weight:900;font-size:22px;line-height:1.1;overflow-wrap:anywhere}
.bk-champ b.q{font-size:17px;color:rgba(var(--fg),.75)}
.bk-champ small{font-size:12px;color:rgba(var(--fg),.55)}
.bk-champ:not(.has) .zlogo{filter:grayscale(.6);opacity:.75}

/* Финальная карточка победителя наверху */
.cup-champ .zlogo{--s:110px}
@media (max-width:720px){
  .zlogo{--s:68px}
  .cup-brand{gap:12px}
  .cup-champ .zlogo{--s:84px}
  .bk{--gap:30px;grid-template-columns:repeat(var(--cols),minmax(272px,84vw));min-width:0}
  .cup-share{flex-basis:100%;min-width:0}
  .cup-top-main{flex-basis:100%}
  .hide-s{display:none}
  .bk-hint{display:inline}
  .cup-unsaved{left:12px;right:12px;transform:none;justify-content:space-between;white-space:normal}
  .cups-main{padding-top:100px}
  .cf-modes,.cf-grid{grid-template-columns:1fr}
  .cup-groups{grid-template-columns:1fr}
  .cup-champ{flex-direction:column;align-items:flex-start;padding:22px}
}

.cup-swap>span{color:rgba(var(--fg),.8)}
.cup-card-top{display:flex;justify-content:space-between;align-items:center}
.cup-card-top img{width:34px;height:34px;border-radius:50%;transition:transform .5s var(--ease)}
.cup-card:hover .cup-card-top img{transform:rotate(-14deg) scale(1.1)}
.mc.err,.sc.err{border-color:#FF5A64;box-shadow:0 0 0 2px rgba(255,90,100,.4)}
@media (hover:none){.mc:hover{transform:none}}
html:not(.cup-light):has(.cups-page){background:#0B0C0E}
/* Поражение — красным */
.mc-row.l{background:linear-gradient(90deg,rgba(255,90,100,.13),transparent 70%)}
.mc-row.l .mc-goals{background:#FF5A64;color:#fff}
.mc-row.l input{border-color:rgba(255,90,100,.7);background:rgba(255,90,100,.14)}
.mc-row.w input{border-color:rgba(31,191,143,.7);background:rgba(31,191,143,.14)}
.tie-side.lose .tie-goals b{background:#FF5A64;color:#fff}
