  /* ===== Дизайн-система в стиле apple.com (25.09) =====
     Шкала отступов: 4 · 8 · 12 · 16 · 20 · 24 · 32. Экран - 16px по бокам,
     карточки - 20px внутри, между карточками 12px, перед заголовком секции 24px. */
  :root{
    color-scheme: light;
    --bg:#f5f5f7;
    --surface:#ffffff;
    --surface-2:#f0f0f3;
    --fill:#e8e8ed;
    --border:rgba(0,0,0,.08);
    --text:#1d1d1f;
    --text-dim:#636368;        /* 13.10: AA и на сером фоне карточек (#86868b был 3.5:1) */
    --text-faint:#6e6e73;
    --accent:#0071e3;
    --accent-text:var(--at-l, #0066cc);
    --gold:var(--at-l, #0066cc);           /* акцентный текст (исторически «gold») */
    --gold-fill:#0071e3;       /* основная кнопка */
    --teal:#1b7232;
    --magenta:#e30000;
    --positive:#1b7232;
    --warn:#b25000;
    --shadow:0 2px 12px rgba(0,0,0,.05);
    --radius:18px;
    --bar:rgba(245,245,247,.8);
    --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Inter",system-ui,sans-serif;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      color-scheme: dark;
      --bg:#000000; --surface:#1c1c1e; --surface-2:#2c2c2e; --fill:#3a3a3c; --border:rgba(255,255,255,.1);
      --text:#f5f5f7; --text-dim:#aeaeb2; --text-faint:#98989d;
      --accent:#0a84ff; --accent-text:var(--at-d, #2997ff); --gold:var(--at-d, #2997ff); --gold-fill:#0a84ff;
      --teal:#30d158; --magenta:#ff453a; --positive:#30d158; --warn:#ff9f0a;
      --shadow:none; --bar:rgba(22,22,23,.8);
    }
  }
  :root[data-theme="dark"]{
    color-scheme: dark;
    --bg:#000000; --surface:#1c1c1e; --surface-2:#2c2c2e; --fill:#3a3a3c; --border:rgba(255,255,255,.1);
    --text:#f5f5f7; --text-dim:#aeaeb2; --text-faint:#98989d;
    --accent:#0a84ff; --accent-text:var(--at-d, #2997ff); --gold:var(--at-d, #2997ff); --gold-fill:#0a84ff;
    --teal:#30d158; --magenta:#ff453a; --positive:#30d158; --warn:#ff9f0a;
    --shadow:none; --bar:rgba(22,22,23,.8);
  }
  /* «Классика», тёмная: заливка кнопок под белым текстом - темнее акцента (#0a84ff даёт 3.6:1, нужно 4.5). */
  :root[data-design="classic"][data-theme="dark"]{--accent-fill:#0a6fd6;}
  @media (prefers-color-scheme: dark){ :root[data-design="classic"]:not([data-theme="light"]){--accent-fill:#0a6fd6;} }

  *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  html,body{height:100%;}
  body{background:var(--bg);margin:0;padding:0;font-family:var(--font);color:var(--text);font-size:15px;line-height:1.4;
    -webkit-font-smoothing:antialiased;letter-spacing:-.01em;}
  .mono{font-variant-numeric:tabular-nums;}
  h1,h2,h3{font-family:var(--font);margin:0;text-wrap:balance;letter-spacing:-.02em;}
  a{color:var(--accent-text);text-decoration:none;}

  .app{display:flex;flex-direction:column;height:100vh;max-width:560px;margin:0 auto;}

  .topbar{
    display:flex;align-items:center;justify-content:space-between;
    padding:10px 16px;min-height:52px;flex-shrink:0;
    background:var(--bar);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
    border-bottom:.5px solid var(--border);position:relative;z-index:5;
  }
  .topbar h1{font-size:17px;font-weight:600;display:flex;align-items:center;}
  .topbar .badge-live{
    display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--positive);margin-right:8px;
  }
  .theme-btn{
    width:44px;height:44px;border-radius:50%;border:none;background:var(--fill);
    display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);
  }
  .theme-btn:active{transform:scale(.94);}

  .screens{flex:1;overflow-y:auto;padding:8px 16px 24px;-webkit-overflow-scrolling:touch;}
  .screen{display:none;animation:fade .2s ease;}
  .screen.active{display:block;}
  @keyframes fade{from{opacity:0;}to{opacity:1;}}
  .large-title{font-size:32px;font-weight:700;letter-spacing:-.03em;margin:12px 4px 16px;}

  .t-card{
    background:var(--surface);border:none;border-radius:var(--radius);
    padding:20px;margin-bottom:12px;box-shadow:var(--shadow);
  }
  .t-card .row-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .t-card h3{font-size:19px;font-weight:600;line-height:1.25;}
  .pill{
    font-weight:600;font-size:12px;letter-spacing:0;
    padding:4px 10px;border-radius:99px;white-space:nowrap;
  }
  .pill.open{background:color-mix(in srgb, var(--positive) 14%, transparent);color:var(--positive);}
  .t-card .meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:14px;color:var(--text-dim);}
  .t-card .meta b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;}
  .slots-track{height:4px;border-radius:2px;background:var(--fill);margin-top:16px;overflow:hidden;}
  .slots-fill{height:100%;background:var(--accent);border-radius:2px;}
  .slots-lbl{display:flex;justify-content:space-between;font-size:12px;color:var(--text-faint);margin-top:6px;}
  .cta{
    margin-top:16px;width:100%;border:none;border-radius:980px;padding:12px 20px;min-height:44px;
    background:var(--accent);color:#fff;font-family:var(--font);font-weight:600;
    font-size:15px;cursor:pointer;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    text-align:center;line-height:1.2;transition:opacity .15s, transform .1s;
  }
  .cta:active{transform:scale(.98);opacity:.85;}
  /* 🎯 «На места»: кнопки мест (палец: не меньше 44px) и таблица очков */
  a.cta{text-decoration:none;box-sizing:border-box;}
  .pl-h{font:700 17px var(--font);color:var(--text);margin:20px 0 8px;}
  .pl-places{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;}
  .pl-pb{min-height:48px;border:none;border-radius:14px;background:var(--fill);color:var(--text);font:600 17px var(--font);cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:4px;transition:transform .1s, background .15s;}
  .pl-pb:active{transform:scale(.96);}
  .pl-pb.on{background:var(--accent-fill,var(--accent));color:#fff;box-shadow:0 0 0 2px var(--accent-fill,var(--accent));}
  .pl-cant{margin-top:12px;}
  .pl-hostbox{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
  .pl-tbl{margin-top:8px;border-radius:14px;background:var(--surface);overflow:hidden;}
  .pl-tr{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;min-height:44px;font-size:15px;}
  .pl-tr + .pl-tr{border-top:.5px solid var(--border);}
  .pl-tr.pl-th{font-size:12px;color:var(--text-faint);min-height:0;padding-top:8px;padding-bottom:8px;}
  .pl-tr.mine{box-shadow:inset 3px 0 0 var(--accent);font-weight:600;}
  .pl-tr.out{opacity:.55;}
  .pl-rk{text-align:center;}
  .pl-nm{min-width:0;overflow-wrap:anywhere;}
  .pl-nm small{display:block;font-size:12px;font-weight:400;color:var(--text-faint);margin-top:2px;}
  .pl-nm i{font-size:12px;color:var(--text-faint);}
  .pl-nm i.pl-pass{font-style:normal;font-weight:600;color:var(--text-dim);white-space:nowrap;}
  .pl-pt{font-size:17px;}
  .pl-tabs{margin:4px 0 8px;} .pl-tabs .chip{min-height:44px;}     /* вкладки комнат: палец не промахнётся */
  .cta:disabled{opacity:.45;cursor:default;transform:none;}
  .cta.ghost{background:var(--fill);color:color-mix(in srgb, var(--accent-text) 85%, var(--text));}
  .cta.teal{background:var(--fill);color:var(--positive);}
  .cta.danger{background:var(--fill);border:none;color:var(--magenta);}
  .cta.small{padding:8px 14px;font-size:14px;min-height:44px;}

  .profile-head{display:flex;align-items:center;gap:16px;margin:8px 4px 20px;}
  .avatar{
    width:64px;height:64px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(180deg,#a1a1a6,#6e6e73);
    display:flex;align-items:center;justify-content:center;
    font-weight:600;font-size:26px;color:#fff;
  }
  .profile-head .name{font-size:22px;font-weight:700;letter-spacing:-.02em;}
  .profile-head .handle{font-size:14px;color:var(--text-dim);margin-top:2px;}

  .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
  .stat-tile{background:var(--surface);border:none;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);}
  .stat-tile .v{font-weight:700;font-size:28px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1;}
  .stat-tile .l{font-size:13px;color:var(--text-dim);margin-top:4px;}
  .stat-tile.wide{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;}

  .tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
  .tier{background:var(--surface);border:none;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);cursor:pointer;text-align:left;color:var(--text);font:inherit;}
  .tier .g{font-weight:700;font-size:19px;letter-spacing:-.02em;}
  .tier .s{font-size:14px;color:var(--accent-text);margin-top:4px;font-weight:600;}
  .tier .p{font-size:12px;color:var(--text-dim);margin-top:2px;}
  .sec-title{font-weight:700;font-size:22px;letter-spacing:-.02em;margin:24px 4px 12px;}
  .screen > div > .sec-title:first-child, .screen > .sec-title:first-child{margin-top:4px;}
  .rank-card{background:var(--surface);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;box-shadow:var(--shadow);}
  .rank-card .rank-title{font-weight:600;font-size:17px;}
  .rank-card .rank-tip{font-size:13px;color:var(--text-dim);margin-top:4px;}

  .lb-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:.5px solid var(--border);}
  .lb-row:last-child{border-bottom:none;}
  .lb-rank{width:28px;height:28px;border-radius:50%;background:var(--fill);display:flex;align-items:center;justify-content:center;
    font-size:13px;font-weight:600;color:var(--text-dim);flex-shrink:0;font-variant-numeric:tabular-nums;}
  .lb-row:nth-child(1) .lb-rank{background:#ffcc00;color:#1d1d1f;}
  .lb-row:nth-child(2) .lb-rank{background:#d1d1d6;color:#1d1d1f;}
  .lb-row:nth-child(3) .lb-rank{background:#e3b27d;color:#1d1d1f;}
  .lb-name{flex:1;font-size:15px;}
  .lb-wins{font-size:14px;color:var(--text-dim);font-variant-numeric:tabular-nums;}

  .tabbar{
    display:flex;border-top:.5px solid var(--border);background:var(--bar);flex-shrink:0;
    backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;
    color:var(--text-faint);cursor:pointer;font-size:10.5px;font-weight:500;background:none;border:none;font-family:var(--font);}
  .tab.active{color:var(--accent);}

  .note{background:var(--surface);border:none;border-radius:14px;padding:14px 16px;font-size:14px;color:var(--text-dim);margin-bottom:12px;line-height:1.45;}
  #nMath:empty{display:none;}   /* форма «Новый турнир»: у «на места» строки про матчи нет - без пустой плашки */

  svg.icon{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  svg.icon.icon-fill{fill:currentColor;stroke:none;}
  .icon-tab{width:24px;height:24px;}
  .icon-md{width:18px;height:18px;}
  .icon-sm{width:14px;height:14px;}
  .icon-xs{width:12px;height:12px;}
  .icon-lg{width:24px;height:24px;}
  .inline-ic{display:inline-flex;align-items:center;gap:3px;vertical-align:-2px;}

  .t-card{animation:rise .3s ease both;}
  @keyframes rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  .pill.warn{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent-text);}
  .pill.mag{background:color-mix(in srgb, var(--magenta) 12%, transparent);color:var(--magenta);}
  .pill.dim{background:var(--fill);color:var(--text-dim);}
  .pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
  .btn-row{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;}
  .btn-row .cta{margin-top:0;flex:1 1 calc(50% - 4px);min-width:0;}
  .seg{display:flex;background:var(--fill);border-radius:10px;padding:2px;gap:2px;margin-bottom:16px;}
  .seg button{flex:1;border:none;background:none;border-radius:8px;padding:7px 6px;font:500 14px var(--font);color:var(--text);cursor:pointer;min-height:44px;}
  .seg button.on{background:var(--surface);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12);}
  #bsSeg{overflow-x:auto;scrollbar-width:none;} #bsSeg::-webkit-scrollbar{display:none;} #bsSeg button{flex:1 0 auto;min-width:44px;padding:7px 8px;font-size:13px;}
  .t-filters{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
  .t-filters .field{margin-bottom:0;}
  .t-filters .seg{margin-bottom:0;}
  :root[data-theme="dark"] .seg button.on{background:#636366;}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .seg button.on{background:#636366;} }
  .field{width:100%;padding:12px 14px;min-height:44px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:400 16px var(--font);margin-top:8px;}
  .field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);}
  select.field{appearance:none;-webkit-appearance:none;}
  label.lbl{display:block;font-size:13px;font-weight:500;color:var(--text-dim);margin:16px 4px 0;}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px;}
  .fold{margin:16px 0 4px;} .fold summary{cursor:pointer;list-style:none;font-size:15px;font-weight:600;padding:12px 16px;border-radius:14px;background:var(--card);display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line);}
  .fold summary::-webkit-details-marker{display:none;} .fold summary::after{content:'›';font-size:20px;color:var(--text-faint);transition:transform .3s var(--spring);} .fold[open] summary::after{transform:rotate(90deg);} .fold .chips{margin-top:12px;}
  .tipbox summary{cursor:pointer;font-weight:500;list-style:none;display:flex;align-items:center;min-height:44px;color:var(--accent-text);} .tipbox summary::-webkit-details-marker{display:none;} .tipbox[open] summary{margin-bottom:8px;}
  .admtabs{display:flex;gap:8px;overflow-x:auto;padding:0 0 16px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none;} .admtabs::-webkit-scrollbar{display:none;} .admtabs .chip{white-space:nowrap;}
  .botcard{white-space:normal;line-height:1.5;} .botcard .setup{font-size:15px;color:var(--text);}
  .botcard .btn-row{margin-top:8px;} .botcard .cta{flex:1 1 calc(50% - 4px);}
  .chip{border:none;background:var(--fill);color:var(--text);border-radius:99px;padding:8px 14px;min-height:44px;font:500 14px var(--font);cursor:pointer;transition:background .15s;}
  .chip.on{background:var(--text);color:var(--bg);}
  .ach-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
  .ach{border:none;border-radius:16px;padding:14px;background:var(--surface);opacity:.45;box-shadow:var(--shadow);}
  .ach.on{opacity:1;}
  .ach .at{font-weight:600;font-size:14px;}
  .ach .ad{font-size:12px;color:var(--text-dim);margin-top:4px;}
  .kv{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:12px 0;border-bottom:.5px solid var(--border);}
  .kv:last-child{border-bottom:none;}
  .kv span:last-child{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;}
  .linkbox{font-size:13px;background:var(--surface-2);border-radius:12px;padding:12px 14px;word-break:break-all;margin-top:12px;color:var(--text-dim);}
  .setup{font-size:14px;color:var(--text-dim);margin-top:8px;line-height:1.45;}
  .h2h{font-size:13px;color:var(--text-dim);margin-top:8px;}
  .br-m .h2h{font-size:11px;color:var(--text-faint);padding:0 12px 8px;margin-top:0;}

  .overlay{position:fixed;inset:0;background:var(--bg);z-index:20;display:none;flex-direction:column;}
  .overlay.open{display:flex;animation:fade .2s ease;}
  .ov-head{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:52px;background:var(--bar);
    backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid var(--border);}
  .ov-head h2{font-size:17px;font-weight:600;flex:1;}
  .ov-body{flex:1;overflow:auto;padding:16px;}
  .br-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;}
  .br-col{min-width:200px;flex-shrink:0;}
  .br-col h4{font:600 13px var(--font);color:var(--text-faint);margin:0 0 8px 4px;}
  .br-phase{font:700 17px var(--font);color:var(--text);margin:24px 0 12px;padding-top:16px;border-top:.5px solid var(--border);}
  .br-phase:first-of-type{margin-top:0;padding-top:0;border-top:none;}
  .br-m{border:none;border-radius:14px;background:var(--surface);margin-bottom:12px;overflow:hidden;font-size:14px;box-shadow:var(--shadow);}
  .br-m.mine{box-shadow:0 0 0 2px var(--accent);}
  .br-m.live{animation:pulse 1.6s ease-in-out infinite;}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 2px var(--accent);}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 30%, transparent);}}
  .br-p{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;}
  .br-p + .br-p{border-top:.5px solid var(--border);}
  .br-p.win{font-weight:600;}
  .br-p.tbd{color:var(--text-faint);}
  .br-st{font-size:12px;color:var(--text-faint);padding:0 12px 8px;}
  .br-info{font-size:12px;color:var(--text-dim);padding:0 12px 8px;line-height:1.45;}
  .br-info .warn{color:var(--warn);margin-bottom:2px;}
  .br-act{display:flex;gap:8px;padding:0 12px 12px;}
  .br-act .cta{margin:0;padding:8px;font-size:13px;min-height:36px;}

  .dlg-back{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40;display:none;align-items:flex-end;justify-content:center;padding:16px;
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
  .dlg-back.open{display:flex;animation:fade .15s ease;}
  .dlg{background:var(--surface);border-radius:20px;padding:24px 20px 20px;width:100%;max-width:480px;box-shadow:0 10px 40px rgba(0,0,0,.25);max-height:80vh;overflow:auto;}
  .dlg-msg{font-size:15px;line-height:1.5;white-space:pre-wrap;}
  .dlg-pic{display:block;width:96px;height:96px;margin:0 auto 12px;border-radius:18px;object-fit:cover;}
  .tabbar .tab.hidden{display:none;}
  #bsSort button{font-size:12px;padding:7px 2px;}

  /* ===== «Жидкое стекло» и анимации (25.09) =====
     Плавающие стеклянные панели (шапка и таб-бар-капсула) над мягким
     цветным фоном, который медленно «дышит»; стекло - размытие + насыщение +
     блик по верхней кромке + тонкий светлый контур. Пружинящие нажатия,
     скользящий индикатор вкладки, каскадное появление карточек, счётчики.
     prefers-reduced-motion - всё движение выключается. */
  :root{
    --glass:rgba(255,255,255,.62);
    --glass-strong:rgba(255,255,255,.78);
    --glass-edge:rgba(255,255,255,.75);
    --glass-line:rgba(0,0,0,.06);
    --card:rgba(255,255,255,.72);
    --blob1:#7cc4ff; --blob2:#c9a7ff; --blob3:#ffc49b;
    --spring:cubic-bezier(.34,1.56,.64,1);
    --ease:cubic-bezier(.22,1,.36,1);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --glass:rgba(40,40,44,.55); --glass-strong:rgba(44,44,48,.72); --glass-edge:rgba(255,255,255,.18);
      --glass-line:rgba(255,255,255,.08); --card:rgba(28,28,30,.72);
      --blob1:#0a3d91; --blob2:#4b1f7a; --blob3:#6b2a14;
    }
  }
  :root[data-theme="dark"]{
    --glass:rgba(40,40,44,.55); --glass-strong:rgba(44,44,48,.72); --glass-edge:rgba(255,255,255,.18);
    --glass-line:rgba(255,255,255,.08); --card:rgba(28,28,30,.72);
    --blob1:#0a3d91; --blob2:#4b1f7a; --blob3:#6b2a14;
  }
  body::before{
    content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
    background:
      radial-gradient(38% 32% at 18% 22%, color-mix(in srgb, var(--blob1) 55%, transparent), transparent 70%),
      radial-gradient(36% 30% at 82% 30%, color-mix(in srgb, var(--blob2) 50%, transparent), transparent 70%),
      radial-gradient(40% 34% at 55% 88%, color-mix(in srgb, var(--blob3) 45%, transparent), transparent 70%),
      var(--bg);
    filter:blur(10px);animation:drift 26s ease-in-out infinite alternate;
  }
  @keyframes drift{
    0%{transform:translate3d(0,0,0) scale(1);}
    50%{transform:translate3d(-3%,2%,0) scale(1.06);}
    100%{transform:translate3d(3%,-2%,0) scale(1.02);}
  }
  body{background:transparent;}
  .glass{
    background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 40%), var(--glass);
    backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);
    box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line), 0 8px 32px rgba(0,0,0,.12);
  }
  .app{position:relative;overflow:hidden;}
  .topbar{
    position:absolute;top:8px;left:12px;right:12px;border-radius:22px;border:none;min-height:48px;padding:6px 8px 6px 16px;
    background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 45%), var(--glass);
    backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);
    box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line), 0 6px 24px rgba(0,0,0,.08);
    transition:background .3s var(--ease), box-shadow .3s var(--ease);
  }
  .topbar.scrolled{background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,0) 45%), var(--glass-strong);}
  .theme-btn{background:rgba(127,127,127,.14);}
  .screens{padding:72px 16px 120px;scroll-behavior:smooth;}
  .tabbar{
    position:absolute;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));
    border-radius:32px;border:none;padding:6px;gap:0;
    background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 50%), var(--glass);
    backdrop-filter:blur(26px) saturate(200%);-webkit-backdrop-filter:blur(26px) saturate(200%);
    box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line), 0 12px 40px rgba(0,0,0,.18);
  }
  .tab{position:relative;z-index:1;border-radius:26px;padding:8px 0 7px;transition:color .25s var(--ease), transform .25s var(--spring);}
  .tab:active{transform:scale(.92);}
  .tab-lens{
    position:absolute;z-index:0;top:6px;bottom:6px;left:6px;border-radius:26px;pointer-events:none;
    background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.15));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(0,0,0,.04), 0 2px 10px rgba(0,0,0,.08);
    transition:transform .45s var(--spring), width .45s var(--spring);
  }
  :root[data-theme="dark"] .tab-lens{background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 2px 10px rgba(0,0,0,.3);}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .tab-lens{background:linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 2px 10px rgba(0,0,0,.3);} }

  /* карточки - полупрозрачное «матовое стекло» */
  .t-card,.stat-tile,.tier,.rank-card,.note,.ach,.br-m{
    background:var(--card);
    backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
    box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line), 0 4px 20px rgba(0,0,0,.06);
  }
  .br-m.mine{box-shadow:inset 0 1px 0 var(--glass-edge), 0 0 0 2px var(--accent);}

  /* кнопки: основная - «капля» с бликом, вторичные - стеклянные */
  /* 13.10: заливка - --accent-fill (свой цвет затемнён до 4.5:1 под белым), блик - только тонкой линией сверху,
     а не осветлением всей кнопки (было 2.9:1 в тёмной теме). */
  .cta{background:linear-gradient(180deg, var(--accent-fill,var(--accent)), color-mix(in srgb, var(--accent-fill,var(--accent)) 86%, #000));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 6px 18px color-mix(in srgb, var(--accent) 35%, transparent);
    transition:transform .35s var(--spring), box-shadow .25s var(--ease), opacity .2s;}
  .cta:active{transform:scale(.96);opacity:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent);}
  .cta.ghost,.cta.teal,.cta.danger,.chip,.seg,.theme-btn{
    background:rgba(127,127,127,.12);box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  .chip{transition:transform .3s var(--spring), background .2s;}
  .chip:active{transform:scale(.94);}
  .chip.on{background:var(--text);color:var(--bg);box-shadow:none;}
  .field{background:rgba(127,127,127,.1);border:.5px solid var(--glass-line);}

  /* появление */
  .screen.active{animation:screenIn .5s var(--ease) both;}
  @keyframes screenIn{from{opacity:0;transform:translateY(10px) scale(.99);filter:blur(4px);}to{opacity:1;transform:none;filter:none;}}
  .t-card,.stat-tile,.ach,.lb-row{animation:rise .55s var(--ease) both;}
  .t-card:nth-child(2),.stat-tile:nth-child(2),.ach:nth-child(2){animation-delay:.05s}
  .t-card:nth-child(3),.stat-tile:nth-child(3),.ach:nth-child(3){animation-delay:.1s}
  .t-card:nth-child(4),.stat-tile:nth-child(4),.ach:nth-child(4){animation-delay:.15s}
  .t-card:nth-child(n+5),.ach:nth-child(n+5){animation-delay:.2s}
  @keyframes rise{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
  .large-title{animation:titleIn .6s var(--ease) both;}
  @keyframes titleIn{from{opacity:0;transform:translateX(-8px);}to{opacity:1;transform:none;}}
  .slots-fill{transform-origin:left;animation:grow 1s var(--ease) both .2s;}
  @keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  .dlg{background:var(--glass-strong);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
    box-shadow:inset 0 1px 0 var(--glass-edge), 0 20px 60px rgba(0,0,0,.3);animation:sheet .45s var(--spring) both;}
  @keyframes sheet{from{transform:translateY(40px) scale(.96);opacity:0;}to{transform:none;opacity:1;}}
  .skeleton{border-radius:18px;height:120px;margin-bottom:12px;
    background:linear-gradient(100deg, rgba(127,127,127,.10) 30%, rgba(127,127,127,.22) 50%, rgba(127,127,127,.10) 70%);
    background-size:300% 100%;animation:shimmer 1.3s ease-in-out infinite;}
  @keyframes shimmer{from{background-position:100% 0;}to{background-position:0 0;}}
  .ov-head{margin:8px 12px 0;border-radius:22px;border:none;}
  .pill{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}

  .now-card{position:relative;overflow:hidden;border-radius:24px;padding:20px;margin-bottom:12px;color:#fff;
    background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 88%, #5e5ce6), color-mix(in srgb, #5e5ce6 70%, #bf5af2));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 40px color-mix(in srgb, var(--accent) 35%, transparent);animation:rise .55s var(--ease) both;}
  .now-card::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(120% 60% at 0% 0%, rgba(255,255,255,.28), transparent 55%);}
  .now-card.pay{background:linear-gradient(135deg,#ff9f0a,#ff375f);box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 40px rgba(255,90,60,.35);}
  .now-card.checkin{background:linear-gradient(135deg,#30d158,#0a84ff);box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 14px 40px rgba(48,209,88,.3);}
  .now-card.soft{background:var(--card);color:var(--text);box-shadow:inset 0 1px 0 var(--glass-edge), inset 0 0 0 .5px var(--glass-line), 0 4px 20px rgba(0,0,0,.06);}
  .now-card .k{font-size:13px;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.04em;}
  .now-card h3{font-size:22px;font-weight:700;margin-top:4px;letter-spacing:-.02em;}
  .now-card .vs{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 4px;}
  .now-card .vs .who{flex:1;font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .now-card .vs .who:last-child{text-align:right;}
  .now-card .vs .x{font-size:13px;font-weight:700;opacity:.8;padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.18);}
  .now-card .timer{font-size:34px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:10px;}
  .now-card .sub{font-size:14px;opacity:.9;margin-top:6px;line-height:1.4;}
  .now-card .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
  .now-card .tagchip{border:none;border-radius:99px;padding:8px 14px;font:600 14px var(--font);color:#fff;background:rgba(255,255,255,.2);cursor:pointer;}
  .now-card .tagchip.primary{background:#fff;color:#1d1d1f;}
  .now-card .cta{background:#fff;color:#1d1d1f;box-shadow:0 6px 18px rgba(0,0,0,.18);}
  .now-card .cta.ghost{background:rgba(255,255,255,.2);color:#fff;box-shadow:none;}
  .now-card.soft .cta{background:linear-gradient(180deg, color-mix(in srgb, #fff 18%, var(--accent)), var(--accent));color:#fff;}
  .tab .dot{position:absolute;top:6px;left:calc(50% + 8px);width:9px;height:9px;border-radius:50%;background:#ff3b30;
    box-shadow:0 0 0 2px var(--bg);animation:pop .4s var(--spring);}
  @keyframes pop{from{transform:scale(0);}to{transform:scale(1);}}
  .hero-actions{display:flex;gap:8px;margin:0 4px 16px;}
  .hero-actions .cta{margin:0;flex:1;}

  /* ===== Волна 5 (25.09): аватарки, кольца, шторки, дерево сетки, победа, обложки, темы ===== */
  .ava{--s:32px;position:relative;width:var(--s);height:var(--s);border-radius:50%;flex-shrink:0;overflow:hidden;display:inline-flex;
    align-items:center;justify-content:center;font:600 calc(var(--s) * .42) var(--font);color:#fff;
    /* 13.10: буква белая - фон от заливки акцента (4.5:1), а не осветлённый акцент (было 2.4-3.2:1) */
    background:linear-gradient(135deg, var(--accent-fill,var(--accent)), color-mix(in srgb, var(--accent-fill,var(--accent)) 72%, #1e1b4b));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px rgba(0,0,0,.12);}
  .ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .profile-head .ava{--s:72px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 8px 24px color-mix(in srgb, var(--accent) 35%, transparent);}
  .lb-row{cursor:pointer;} .lb-row .ava{--s:34px;} .lb-row:active{transform:scale(.98);}

  /* кольца «как в Фитнесе» */
  .rings-card{display:flex;align-items:center;gap:18px;}
  .rings{position:relative;width:118px;height:118px;flex-shrink:0;}
  .rings svg{width:100%;height:100%;transform:rotate(-90deg);}
  .rings circle{fill:none;stroke-linecap:round;stroke-width:11;}
  .rings .bg{opacity:.18;}
  .rings .fg{transition:stroke-dashoffset 1.4s var(--ease);filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 50%, transparent));}
  .ring-legend{flex:1;display:flex;flex-direction:column;gap:8px;font-size:14px;}
  .ring-legend .rl{display:flex;align-items:center;gap:8px;} .ring-legend .rl i{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
  .ring-legend b{font-variant-numeric:tabular-nums;margin-left:auto;}
  .quest{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:.5px solid var(--border);font-size:15px;}
  .quest:last-child{border-bottom:none;} .quest .qi{font-size:20px;width:28px;text-align:center;}
  .quest.done{color:var(--text-dim);} .quest.done .qt{text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--positive) 60%, transparent);}
  .quest .qc{margin-left:auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--fill);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;}
  .quest.done .qc{background:var(--positive);border-color:var(--positive);animation:pop .4s var(--spring);}

  /* шторка снизу (bottom sheet) со свайпом вниз */
  .sheet-back{position:fixed;inset:0;z-index:45;background:rgba(0,0,0,.38);display:none;align-items:flex-end;justify-content:center;}
  .sheet-back.open{display:flex;animation:fade .2s ease;}
  .sheet{width:100%;max-width:560px;max-height:88vh;overflow:auto;border-radius:28px 28px 0 0;padding:8px 20px calc(24px + env(safe-area-inset-bottom,0px));
    background:var(--glass-strong);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
    box-shadow:inset 0 1px 0 var(--glass-edge), 0 -10px 50px rgba(0,0,0,.25);animation:sheetUp .5s var(--spring) both;touch-action:pan-y;}
  @keyframes sheetUp{from{transform:translateY(100%);}to{transform:none;}}
  .sheet .grab{width:40px;height:5px;border-radius:3px;background:rgba(127,127,127,.4);margin:4px auto 14px;}
  .pl-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:16px;}
  .pl-head .ava{--s:88px;}
  .pl-head .name{font-size:24px;font-weight:700;letter-spacing:-.02em;}
  .pl-head .rank{font-size:14px;color:var(--text-dim);}
  .h2h-big{display:flex;align-items:center;justify-content:center;gap:16px;font-size:40px;font-weight:800;letter-spacing:-.04em;margin:4px 0 12px;font-variant-numeric:tabular-nums;}
  .h2h-big span:nth-child(2){font-size:14px;font-weight:600;color:var(--text-faint);letter-spacing:0;}

  /* прогнозы */
  .pred{padding:14px 0;border-bottom:.5px solid var(--border);} .pred:last-child{border-bottom:none;}
  .pred .pt{font-size:12px;color:var(--text-faint);margin-bottom:8px;}
  .pred-row{display:flex;gap:8px;}
  .pred-btn{position:relative;flex:1;overflow:hidden;border:none;border-radius:14px;padding:12px 10px;font:600 14px var(--font);color:var(--text);
    background:rgba(127,127,127,.12);cursor:pointer;text-align:left;transition:transform .3s var(--spring);}
  .pred-btn:active{transform:scale(.96);}
  .pred-btn .bar{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb, var(--accent) 22%, transparent);transition:width .8s var(--ease);}
  .pred-btn span{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pred-btn small{position:relative;display:block;font-weight:500;color:var(--text-dim);margin-top:2px;}
  .pred-btn.on{box-shadow:0 0 0 2px var(--accent);}

  /* «Я готов» на карточке матча */
  .ready-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;}
  .ready-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);} .ready-dot.on{background:#30d158;box-shadow:0 0 0 4px rgba(48,209,88,.3);animation:pulse 1.6s ease-in-out infinite;}
  .now-card .vs .who{display:flex;align-items:center;gap:8px;} .now-card .vs .who:last-child{justify-content:flex-end;cursor:pointer;}
  .now-card .vs .ava{--s:30px;box-shadow:0 0 0 2px rgba(255,255,255,.5);}

  /* обложки турниров по формату */
  .t-cover{position:relative;margin:-20px -20px 16px;height:92px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;display:flex;
    align-items:flex-end;justify-content:space-between;padding:12px 16px;color:#fff;}
  .t-cover::before{content:"";position:absolute;inset:0;opacity:.35;
    background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.9) 1px, transparent 1.5px);background-size:14px 14px;}
  .t-cover::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 120% at 100% 0%, rgba(255,255,255,.35), transparent 55%);}
  .t-cover .cov-ic{position:absolute;right:14px;top:6px;font-size:54px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));transform:rotate(-8deg);z-index:1;}
  .t-cover .cov-lbl{position:relative;z-index:1;font:700 12px var(--font);letter-spacing:.06em;text-transform:uppercase;
    padding:5px 10px;border-radius:99px;background:rgba(0,0,0,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
  .cov-single{background:linear-gradient(135deg,#0a84ff,#5e5ce6);} .cov-double{background:linear-gradient(135deg,#ff9f0a,#ff375f);}
  .cov-team{background:linear-gradient(135deg,#30d158,#0fb5ae);}  .cov-clan{background:linear-gradient(135deg,#bf5af2,#5e5ce6);}
  .t-card.bump{animation:bump .8s var(--spring);} @keyframes bump{30%{transform:scale(1.025);box-shadow:0 0 0 2px var(--accent);}100%{transform:none;}}
  .t-card.fresh{animation:rise .6s var(--ease) both, bump 1s var(--spring) .6s;}

  /* дерево сетки: линии-коннекторы и зум */
  .br-tree{position:relative;display:flex;gap:40px;padding:4px 4px 16px;align-items:stretch;width:max-content;}
  .br-tree .br-col{display:flex;flex-direction:column;justify-content:space-around;min-width:190px;}
  .br-tree .br-col h4{position:absolute;top:-22px;}
  .br-tree .br-col{position:relative;margin-top:22px;}
  .br-lines{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;}
  .br-lines path{fill:none;stroke:rgba(127,127,127,.45);stroke-width:2;}
  .br-lines path.won{stroke:var(--accent);stroke-width:2.5;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 60%, transparent));}
  .br-zoomwrap{overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;}
  .br-zoom{position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:25;display:flex;gap:8px;}
  .br-zoom button{width:44px;height:44px;border-radius:50%;border:none;font:600 22px var(--font);color:var(--text);cursor:pointer;
    background:var(--glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 var(--glass-edge), 0 6px 20px rgba(0,0,0,.18);}
  .br-p.tap{cursor:pointer;}
  .br-p.fly{animation:fly .9s var(--spring) both;}
  @keyframes fly{from{transform:translateX(-60px) scale(.9);opacity:0;background:color-mix(in srgb, var(--accent) 40%, transparent);}
    60%{background:color-mix(in srgb, var(--accent) 25%, transparent);}to{transform:none;opacity:1;}}

  /* экран победы */
  .win-ov{position:fixed;inset:0;z-index:60;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;
    background:radial-gradient(80% 60% at 50% 35%, color-mix(in srgb, #ffd36b 40%, transparent), transparent 70%), rgba(0,0,0,.72);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;}
  .win-ov.open{display:flex;animation:fade .3s ease;}
  .win-ov canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
  .win-cup{font-size:120px;line-height:1;filter:drop-shadow(0 0 40px rgba(255,211,107,.8));animation:cup 1.2s var(--spring) both;}
  @keyframes cup{from{transform:scale(.2) rotate(-25deg);opacity:0;}to{transform:none;opacity:1;}}
  .win-ov h2{font-size:40px;font-weight:800;letter-spacing:-.03em;margin-top:12px;animation:rise .6s var(--ease) .4s both;}
  .win-ov .sub{font-size:17px;opacity:.9;margin-top:8px;animation:rise .6s var(--ease) .55s both;}
  .win-ov .btn-row{width:100%;max-width:360px;margin-top:28px;animation:rise .6s var(--ease) .7s both;position:relative;z-index:1;}
  .win-ov .cta{background:#fff;color:#1d1d1f;} .win-ov .cta.ghost{background:rgba(255,255,255,.18);color:#fff;}

  /* потяни, чтобы обновить */
  .ptr{position:absolute;left:50%;top:64px;z-index:6;width:36px;height:36px;margin-left:-18px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:var(--glass-strong);box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-60px);opacity:0;pointer-events:none;font-size:18px;}
  .ptr.spin span{animation:spin .8s linear infinite;display:inline-block;} @keyframes spin{to{transform:rotate(360deg);}}

  /* глянцевые иконки вкладок */
  .tab .icon-tab{transition:transform .35s var(--spring);}
  .tab.active .icon-tab{transform:translateY(-1px) scale(1.08);filter:drop-shadow(0 2px 4px color-mix(in srgb, var(--accent) 45%, transparent));}

  /* выбор акцента */
  .accents{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;}
  .accents button{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.5), 0 2px 8px rgba(0,0,0,.15);transition:transform .3s var(--spring);}
  .accents button.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px currentColor;transform:scale(1.08);}

  /* деньги в админке */
  .money-bars{display:flex;align-items:flex-end;gap:6px;height:120px;margin:12px 0 4px;}
  .money-bars .b{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;font-size:10px;color:var(--text-faint);}
  .money-bars .b i{display:block;width:100%;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg, color-mix(in srgb, #fff 25%, var(--accent)), var(--accent));
    transform-origin:bottom;animation:growY .9s var(--ease) both;min-height:2px;}
  @keyframes growY{from{transform:scaleY(0);}to{transform:none;}}

  /* сезонные темы - фон «дышит» другими цветами */
  body.season-autumn{--blob1:#ff9f0a;--blob2:#ff453a;--blob3:#b8860b;}
  body.season-winter{--blob1:#64d2ff;--blob2:#bf5af2;--blob3:#e5f4ff;}
  body.season-spring{--blob1:#30d158;--blob2:#ff6fb5;--blob3:#ffe066;}
  body.season-summer{--blob1:#ffd60a;--blob2:#0a84ff;--blob3:#ff9f0a;}
  body.season-ramadan{--blob1:#1e6f5c;--blob2:#d4a017;--blob3:#2c3e8c;}
  body.season-newyear{--blob1:#ff375f;--blob2:#30d158;--blob3:#ffd60a;}

  /* ===== Разметка по макету «IVN · Турниры» (29.09): карточка турнира с
     обложкой и призом, фильтры, «Сейчас», команды, «Мои турниры».
     Здесь только раскладка на общих переменных - работает в обоих
     оформлениях; игровой вид (обводки, «полки», цвета) - в блоке «Арена». */
  .c-easy{color:var(--easy,#1A9E55);} .c-mid{color:var(--mid,#B25000);} .c-pro{color:var(--pro,#E0352B);}
  .a-diff{display:inline-flex;align-items:flex-end;gap:2px;height:12px;flex:none;}
  .a-diff i{display:block;width:4px;border-radius:2px;background:currentColor;opacity:.28;}
  .a-diff i:nth-child(1){height:5px;} .a-diff i:nth-child(2){height:8px;} .a-diff i:nth-child(3){height:12px;}
  .a-diff.d1 i:nth-child(1),.a-diff.d2 i:nth-child(-n+2),.a-diff.d3 i{opacity:1;}
  .t-card.a-tc{padding:0;overflow:hidden;}
  .a-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:12px;}
  .a-body > *{margin-top:0;}
  .a-body h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .t-cover.a-cv{margin:0;height:118px;border-radius:0;flex-direction:column;align-items:stretch;justify-content:space-between;padding:12px;}
  .a-cv > *{position:relative;z-index:1;}
  .a-cv .a-motif{position:absolute;right:-8px;top:-6px;height:132px;width:auto;opacity:.26;pointer-events:none;z-index:0;}
  .a-cv-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;}
  .a-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:9px;background:rgba(8,5,24,.5);color:#fff;
    font:700 12px/1 var(--font);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis;flex:none;
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
  .a-cv-row .a-pill:first-child{flex:0 1 auto;}
  .a-pill .c-easy{color:#3DDC84;} .a-pill .c-mid{color:#FFC53D;} .a-pill .c-pro{color:#FF7A8E;}
  .a-prize{display:flex;align-items:flex-end;gap:8px;min-width:0;}
  .a-prize svg{width:30px;height:30px;flex:none;margin-bottom:1px;}
  .a-prize .amt{font:800 30px/32px var(--display,var(--font));text-shadow:0 3px 0 rgba(5,3,15,.8);font-variant-numeric:tabular-nums;white-space:nowrap;}
  .a-prize .amt.txt{font:800 16px/20px var(--font);text-shadow:0 2px 0 rgba(5,3,15,.6);white-space:normal;min-width:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .a-prize .lbl{font:700 11px/14px var(--font);letter-spacing:.08em;text-transform:uppercase;opacity:.85;padding-bottom:4px;}
  /* денежная плашка приза (решение владельца 14.10 - только цвет): тёмная подложка под белым текстом даёт контраст AA
     на любом цвете обложки; сумма и подпись - как были. На золотой обложке пропуска в «Арене» - светлая подложка. */
  .a-prize{align-self:flex-start;max-width:100%;padding:4px 12px 4px 8px;border-radius:12px;background:rgba(5,3,15,.55);color:#fff;}
  .a-prize:empty{display:none;}
  .a-prize .lbl{opacity:1;}
  .a-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--text-dim);font:600 14px/20px var(--font);}
  .a-meta > span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
  .a-meta .icon{width:16px;height:16px;}
  .a-fee{height:28px;padding:0 10px;border-radius:9px;background:color-mix(in srgb, #FFC53D 18%, transparent);color:var(--warn-text,var(--warn));font:800 14px/1 var(--font);gap:4px!important;}
  .a-fee svg{width:16px;height:16px;flex:none;}
  .a-fee.free{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--ok-text,var(--positive));}
  .a-seats{display:flex;flex-direction:column;gap:6px;}
  .a-seats-l{display:flex;justify-content:space-between;gap:8px;font:600 13px/18px var(--font);color:var(--text-dim);}
  .a-seats-l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
  .a-seats-l b{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;}
  .a-progress{height:12px;border-radius:99px;background:var(--fill);overflow:hidden;}
  .a-progress > span{display:block;height:100%;border-radius:99px;background-color:var(--accent);
    background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.2) 0 6px,transparent 6px 12px);
    transform-origin:left;animation:grow 1s var(--ease) both .2s;}
  .a-progress.hot > span{background-color:var(--pro,#E0352B);}
  .a-progress.full > span{background-color:var(--text-faint);}
  .a-body .cta{margin-top:0;}
  .a-more{display:flex;gap:8px;flex-wrap:wrap;}
  .a-more .cta{flex:1 1 auto;width:auto;margin:0;}
  .t-details{margin-top:12px;}
  .t-details > summary{cursor:pointer;color:var(--text);font-weight:600;padding:10px 0;}
  .t-details > summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px;}
  .t-details[open] > summary{margin-bottom:8px;}
  .t-details .a-more,.t-details .md-sec{margin-top:12px;}
  [data-design="matchday"] .md-tk-top.p7-top{display:block;}
  [data-design="matchday"] .md-fields.p7-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
  [data-design="matchday"] .md-fields.p7-seats{grid-template-columns:1fr;margin:12px 0;}
  .a-sech{display:flex;align-items:center;justify-content:space-between;gap:12px;}
  .a-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px;border-radius:8px;font:700 12px/1 var(--font);
    white-space:nowrap;background:var(--fill);color:var(--text-dim);flex:none;letter-spacing:0;}
  /* текст акцента с примесью основного текста: в светлой теме темнее, в тёмной светлее - контраст AA на подложке акцента */
  .a-badge.acc{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent-text) 80%, var(--text));}
  .a-badge.ok{background:color-mix(in srgb, var(--positive) 16%, transparent);color:var(--ok-text,var(--positive));}
  .a-badge.warn{background:color-mix(in srgb, #FFC53D 20%, transparent);color:var(--warn-text,var(--warn));}
  /* фильтры */
  .a-search{display:flex;align-items:center;gap:10px;margin-top:0;padding:0 14px;color:var(--text-faint);cursor:text;}
  .a-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:500 16px/22px var(--font);padding:11px 0;}
  .a-search input::placeholder{color:var(--text-faint);}
  .a-search .icon{width:20px;height:20px;}
  .t-filters{gap:10px;}
  .t-filters .chips{margin:0;}
  .a-fchip{display:inline-flex;align-items:center;gap:8px;min-height:44px;}
  .a-switch{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font:600 14px/18px var(--font);color:var(--text);}
  .a-switch input{appearance:none;-webkit-appearance:none;flex:none;width:50px;height:30px;border-radius:99px;background:var(--fill);
    position:relative;margin:0;cursor:pointer;transition:background .22s;}
  .a-switch input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;
    box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .22s var(--spring);}
  .a-switch input:checked{background:var(--accent);}
  .a-switch input:checked::after{transform:translateX(20px);}
  /* пустое состояние */
  .t-card.a-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 20px;}
  .a-empty .art{width:96px;height:96px;border-radius:28px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-text);}
  .a-empty .art .icon{width:48px;height:48px;}
  .a-empty h3{font-size:17px;}
  .a-empty p{margin:0;font-size:13px;color:var(--text-dim);}
  .a-empty .cta{width:auto;margin:0;}
  /* «Сейчас» */
  .a-now-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  .a-now-top .k{display:inline-flex;align-items:center;gap:8px;min-width:0;}
  .a-now-top .k span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .a-live{width:8px;height:8px;border-radius:50%;flex:none;background:#FFE066;animation:livePulse 1.6s ease-out infinite;}
  @keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(255,224,102,.6);}100%{box-shadow:0 0 0 8px rgba(255,224,102,0);}}
  .a-now-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:10px;background:rgba(5,3,15,.38);
    font:700 13px/1 var(--font);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;}
  .a-now-chip .icon{width:16px;height:16px;}
  .now-card .vs.a-vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin:14px 0 6px;}
  .now-card .vs.a-vs .who,.now-card .vs.a-vs .who:last-child{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    gap:8px;min-width:0;text-align:center;font:700 14px/20px var(--font);}
  .now-card .vs.a-vs .who .nm{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .now-card .vs.a-vs .ava{--s:56px;}
  .a-now-mid{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;}
  .a-now-mid > div{min-width:0;}
  .a-now-mid h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .now-card .a-now-mid .timer{margin:0;flex:none;}
  /* команды и «Мои турниры» */
  .a-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
  .a-head > div{min-width:0;}
  .a-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .a-sb{font:500 13px/18px var(--font);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .a-members{display:flex;flex-direction:column;gap:4px;margin-top:10px;}
  .a-member{display:flex;align-items:center;gap:10px;min-height:44px;}
  .a-member.tap{cursor:pointer;}
  .a-member .who{flex:1;min-width:0;display:flex;flex-direction:column;}
  .a-member .nm{display:flex;align-items:center;gap:6px;min-width:0;font:700 15px/20px var(--font);}
  .a-member .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .a-member .ava{--s:32px;}
  .a-member.free .ava{opacity:.35;}
  .a-member .cta.kick{width:44px;min-width:44px;min-height:44px;padding:0;margin:0;flex:none;}
  .a-cap{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;background:#FFC53D;color:#2A1700;flex:none;}
  .a-cap .icon{width:12px;height:12px;stroke-width:2.4;}
  .a-divider{height:2px;background:var(--border);border-radius:2px;margin:12px 0 0;}
  .a-row{display:flex;align-items:center;gap:12px;}
  .a-row .grow{flex:1;min-width:0;display:flex;flex-direction:column;}
  .a-row .nm{font:700 15px/20px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .a-icbox{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--accent);color:#fff;}
  .a-icbox .icon{width:20px;height:20px;}

  /* ===== 🏟 Дизайн «Арена» (29.09, по макету «IVN · Турниры» из Claude Design) =====
     Включается атрибутом html[data-design="arena"] (по умолчанию), старый
     дизайн - data-design="classic": переключатель в «Профиль → Оформление».
     Всё ниже - только переопределения; классический дизайн не тронут.
     Игровой стиль: толстая тёмная обводка и «полка» снизу у карточек и
     кнопок (нажатие - кнопка опускается на полку), фиолетовый акцент одной
     переменной --accent, Unbounded - заголовки и цифры, Onest - текст.
     Стекло - только у плавающих панелей; фон не «дышит». */
  :root[data-design="arena"]{
    color-scheme:light;
    --font:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --display:"Unbounded","Onest",system-ui,sans-serif;
    --accent:#7C4DFF; --gold-fill:var(--accent); --cta-ink:#FFFFFF; --on-accent:#FFFFFF;
    --star:#FFC53D; --on-star:#2A1700; --ok:#2ED47A; --on-ok:#05290F; --danger-fill:#E0284A;
    --radius:20px; --spring:cubic-bezier(.34,1.56,.64,1); --ease:cubic-bezier(.2,.8,.2,1);
    --bg:#F2F0FA; --surface:#FFFFFF; --surface-2:#EEEBF8; --fill:#E2DDF3; --border:#DAD4EE;
    --ink:#1B1537; --card-border:#DCD5F0; --card-ledge:#D2CAEB;
    --text:#15102C; --text-dim:#463F68; --text-faint:#625B87;
    --accent-text:var(--at-l, color-mix(in srgb, var(--accent) 82%, #000)); --gold:var(--accent-text);
    --accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);
    --glass:color-mix(in srgb, #FFFFFF 78%, transparent); --glass-strong:#FFFFFF; --glass-edge:var(--card-border); --glass-line:var(--border);
    --bar:var(--glass); --card:#FFFFFF; --glow:color-mix(in srgb, var(--accent) 16%, transparent); --scrim:rgba(21,16,44,.45);
    --shadow:0 4px 0 var(--card-ledge);
    --easy:#12A150; --mid:#B87A00; --pro:#D02846; --win:#0B72C4; --loss:#D02846;
    --ok-text:#0E7A3E; --warn-text:#8A5A00; --danger-text:#C21E3A; --info-text:#0B6BB0;
    --teal:var(--ok-text); --positive:var(--ok-text); --magenta:var(--danger-text); --warn:var(--warn-text);
  }
  :root[data-design="arena"][data-theme="dark"]{
    color-scheme:dark;
    --bg:#0E0B1F; --surface:#1A1538; --surface-2:#241E4A; --fill:#302863; --border:#2C2657;
    --ink:#05030F; --card-border:#2C2657; --card-ledge:#05030F;
    --text:#F5F2FF; --text-dim:#BDB6E0; --text-faint:#9A93C4;
    --accent-text:var(--at-d, color-mix(in srgb, var(--accent) 55%, #fff));
    --accent-soft:color-mix(in srgb, var(--accent) 24%, transparent);
    --glass:color-mix(in srgb, #1A1538 80%, transparent); --glass-strong:#1A1538; --card:#1A1538;
    --glow:color-mix(in srgb, var(--accent) 34%, transparent); --scrim:rgba(5,3,15,.68);
    --easy:#3DDC84; --mid:#FFC53D; --pro:#FF5C74; --win:#3DB5FF; --loss:#FF6B82;
    --ok-text:#5BE89A; --warn-text:#FFD166; --danger-text:#FF7A8E; --info-text:#7CCBFF;
  }
  @media (prefers-color-scheme: dark){
    :root[data-design="arena"]:not([data-theme="light"]){
      color-scheme:dark;
      --bg:#0E0B1F; --surface:#1A1538; --surface-2:#241E4A; --fill:#302863; --border:#2C2657;
      --ink:#05030F; --card-border:#2C2657; --card-ledge:#05030F;
      --text:#F5F2FF; --text-dim:#BDB6E0; --text-faint:#9A93C4;
      --accent-text:var(--at-d, color-mix(in srgb, var(--accent) 55%, #fff));
      --accent-soft:color-mix(in srgb, var(--accent) 24%, transparent);
      --glass:color-mix(in srgb, #1A1538 80%, transparent); --glass-strong:#1A1538; --card:#1A1538;
      --glow:color-mix(in srgb, var(--accent) 34%, transparent); --scrim:rgba(5,3,15,.68);
      --easy:#3DDC84; --mid:#FFC53D; --pro:#FF5C74; --win:#3DB5FF; --loss:#FF6B82;
      --ok-text:#5BE89A; --warn-text:#FFD166; --danger-text:#FF7A8E; --info-text:#7CCBFF;
    }
  }
  [data-design="arena"] body::before{animation:none;filter:none;inset:0;
    background:radial-gradient(110% 380px at 50% -40px, var(--glow), transparent 72%), var(--bg);}
  [data-design="arena"] body{letter-spacing:0;font-family:var(--font);}
  [data-design="arena"] :is(h1,h2,h3){font-family:var(--font);letter-spacing:0;}
  [data-design="arena"] .large-title{font:700 24px/30px var(--display);letter-spacing:-.005em;margin:10px 2px 16px;animation:none;}
  [data-design="arena"] .sec-title{font:700 18px/24px var(--display);letter-spacing:0;margin:24px 2px 12px;}
  [data-design="arena"] .topbar h1{font:700 15px/20px var(--display);}
  [data-design="arena"] .badge-live{background:var(--ok);}
  /* карточки: сплошные, толстая кромка и «полка» */
  [data-design="arena"] :is(.t-card,.stat-tile,.tier,.rank-card,.note,.ach,.br-m,.fold summary,.pred-btn){
    background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;
    border:2px solid var(--card-border);box-shadow:0 4px 0 var(--card-ledge);}
  [data-design="arena"] .t-card{border-radius:20px;padding:16px;margin-bottom:16px;}
  [data-design="arena"] .t-card.a-tc{padding:0;}
  [data-design="arena"] .t-card h3{font:700 17px/22px var(--font);}
  [data-design="arena"] .t-card .meta b{font-weight:700;}
  [data-design="arena"] .note{color:var(--text-dim);border-radius:16px;}
  [data-design="arena"] .stat-tile{border-radius:16px;padding:12px 14px;}
  [data-design="arena"] .stat-tile .v{font:700 20px/26px var(--display);letter-spacing:0;}
  [data-design="arena"] .stat-tile .l{font:600 12px/16px var(--font);color:var(--text-dim);margin-top:2px;}
  [data-design="arena"] .tier .g{font:700 17px/22px var(--display);}
  [data-design="arena"] .slots-track{height:12px;border-radius:99px;background:var(--fill);border:2px solid var(--ink);}
  [data-design="arena"] :is(.slots-fill,.a-progress > span){background-color:var(--accent);
    background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.2) 0 6px,transparent 6px 12px);box-shadow:inset 0 2px 0 rgba(255,255,255,.3);}
  [data-design="arena"] .a-progress{background:var(--fill);border:2px solid var(--ink);}
  [data-design="arena"] .a-progress.hot > span{background-color:var(--pro);}
  [data-design="arena"] .a-progress.full > span{background-color:var(--text-faint);}
  [data-design="arena"] .kv,[data-design="arena"] .lb-row,[data-design="arena"] .quest,[data-design="arena"] .pred{border-bottom:2px solid var(--border);}
  [data-design="arena"] .kv:last-child,[data-design="arena"] .lb-row:last-child,[data-design="arena"] .quest:last-child{border-bottom:none;}
  /* бейджи статусов */
  [data-design="arena"] .pill{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:8px;font:700 12px/1 var(--font);
    background:var(--fill);color:var(--text-dim);backdrop-filter:none;-webkit-backdrop-filter:none;}
  [data-design="arena"] .pill.open{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok-text);}
  [data-design="arena"] .pill.warn{background:color-mix(in srgb, var(--star) 20%, transparent);color:var(--warn-text);}
  [data-design="arena"] .pill.mag{background:var(--accent-soft);color:var(--accent-text);}
  [data-design="arena"] .pill.dim{background:var(--fill);color:var(--text-dim);}
  [data-design="arena"] .a-badge{background:var(--fill);}
  [data-design="arena"] .a-badge.acc{background:var(--accent-soft);color:var(--accent-text);}
  [data-design="arena"] .a-badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok-text);}
  [data-design="arena"] .a-badge.warn{background:color-mix(in srgb, var(--star) 20%, transparent);color:var(--warn-text);}
  [data-design="arena"] .a-fee{background:color-mix(in srgb, var(--star) 16%, transparent);color:var(--warn-text);}
  [data-design="arena"] .a-fee.free{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok-text);}
  /* кнопки: объёмные, с кромкой; нажатие - кнопка опускается на «полку» */
  [data-design="arena"] .cta{--b:var(--accent);--f:var(--on-accent);background:var(--b);color:var(--f);
    border:2px solid var(--ink);border-radius:12px;min-height:48px;padding:0 18px;font:700 15px/20px var(--font);letter-spacing:0;
    box-shadow:0 4px 0 var(--ink),inset 0 2px 0 rgba(255,255,255,.16);backdrop-filter:none;-webkit-backdrop-filter:none;
    transition:transform .12s cubic-bezier(.3,.7,.4,1), box-shadow .12s cubic-bezier(.3,.7,.4,1), filter .12s;}
  [data-design="arena"] .cta:active{transform:translateY(3px);opacity:1;filter:brightness(.94);
    box-shadow:0 1px 0 var(--ink),inset 0 2px 0 rgba(255,255,255,.1);}
  [data-design="arena"] .cta.ghost{--b:var(--surface-2);--f:var(--text);}
  [data-design="arena"] .cta.teal{--b:var(--ok);--f:var(--on-ok);}
  [data-design="arena"] .cta.danger{--b:var(--danger-fill);--f:#FFFFFF;}
  [data-design="arena"] .cta.a-stars{--b:var(--star);--f:var(--on-star);background-image:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0) 60%);}
  [data-design="arena"] .cta.small{min-height:44px;padding:0 14px;font-size:14px;border-radius:12px;}
  [data-design="arena"] .cta:disabled{--b:var(--surface-2);--f:var(--text-faint);background-image:none;border-color:var(--border);
    box-shadow:0 2px 0 var(--ink);transform:none;filter:none;opacity:1;}
  [data-design="arena"] .theme-btn{width:44px;height:44px;border-radius:12px;background:var(--surface-2);border:2px solid var(--card-border);
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  /* чипы, сегменты, поля, переключатель */
  [data-design="arena"] .chip{min-height:44px;padding:0 14px;border-radius:99px;border:2px solid var(--border);background:var(--surface);color:var(--text-dim);
    font:600 14px/18px var(--font);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
    transition:transform .12s ease-out, background .22s, border-color .22s;}
  [data-design="arena"] .chip:active{transform:scale(.96);}
  [data-design="arena"] .chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text);}
  [data-design="arena"] .seg{background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:4px;gap:4px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  [data-design="arena"] .seg button{min-height:44px;border-radius:12px;font:600 14px/18px var(--font);color:var(--text-dim);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .22s;}
  :root[data-design="arena"] .seg button.on{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--ink);}
  [data-design="arena"] .field{min-height:48px;border-radius:16px;background:var(--surface);border:2px solid var(--border);font-family:var(--font);}
  [data-design="arena"] .field:focus,[data-design="arena"] .field:focus-within{border-color:var(--accent);box-shadow:none;}
  [data-design="arena"] .a-switch input{background:var(--fill);border:2px solid var(--ink);}
  [data-design="arena"] .a-switch input::after{top:2px;left:2px;width:22px;height:22px;box-shadow:0 2px 0 var(--ink);}
  [data-design="arena"] .a-switch input:checked{background:var(--accent);}
  [data-design="arena"] .fold summary{border-radius:16px;}
  /* плавающие панели: шапка и вкладки - стекло с кромкой */
  [data-design="arena"] :is(.topbar,.tabbar){background:var(--glass);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
    border:2px solid var(--card-border);box-shadow:0 4px 0 var(--card-ledge),0 18px 40px rgba(0,0,0,.3);}
  [data-design="arena"] .topbar{border-radius:20px;}
  [data-design="arena"] .tabbar{border-radius:24px;padding:6px;}
  [data-design="arena"] .tab{font:600 11px/13px var(--font);color:var(--text-faint);border-radius:18px;transition:color .15s ease, transform .1s ease-out;}
  [data-design="arena"] .tab:active{transform:scale(.94);}
  [data-design="arena"] .tab.active{color:var(--text);}
  [data-design="arena"] .tab.active .icon-tab{stroke:var(--accent-text);filter:none;transform:none;}
  [data-design="arena"] .tab-lens{background:var(--accent-soft);border-radius:18px;box-shadow:none;transition:none;}
  [data-design="arena"] .tab .dot{width:10px;height:10px;background:var(--pro);box-shadow:none;border:2px solid var(--surface);}
  /* аватарки - скруглённый квадрат с обводкой */
  [data-design="arena"] .ava{border-radius:calc(var(--s) * .3);border:2px solid var(--ink);background:var(--fill);
    box-shadow:0 2px 0 var(--ink);font-family:var(--display);color:var(--text);}
  [data-design="arena"] .lb-rank{font:700 13px/1 var(--display);background:var(--fill);color:var(--text-dim);border-radius:9px;}
  [data-design="arena"] .lb-row:nth-child(1) .lb-rank{background:var(--star);color:var(--on-star);}
  [data-design="arena"] .lb-row:nth-child(2) .lb-rank{background:#D6D3E6;color:#15102C;}
  [data-design="arena"] .lb-row:nth-child(3) .lb-rank{background:#E3A36B;color:#2A1700;}
  [data-design="arena"] .lb-wins{font:700 13px/1 var(--display);color:var(--accent-text);}
  /* «Сейчас» - яркая карточка на акценте */
  [data-design="arena"] .a-now-h{display:none;}
  [data-design="arena"] .now-card{position:relative;color:#fff;border-radius:24px;padding:16px;margin-bottom:20px;overflow:hidden;
    border:2px solid var(--ink);
    background:linear-gradient(155deg, color-mix(in srgb, var(--accent) 92%, #fff 8%) 0%, color-mix(in srgb, var(--accent) 62%, #0E0B1F) 100%);
    box-shadow:0 5px 0 var(--ink),0 22px 44px color-mix(in srgb, var(--accent) 32%, transparent);
    animation:materialize .42s cubic-bezier(.23,1,.32,1) both;}
  [data-design="arena"] .now-card::after{display:none;}
  [data-design="arena"] .now-card::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 12px,transparent 12px 34px);
    -webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 100%);mask-image:linear-gradient(90deg,transparent 35%,#000 100%);}
  [data-design="arena"] .now-card > *{position:relative;}
  [data-design="arena"] .now-card.soft{color:var(--text);background:var(--surface);border-color:var(--card-border);box-shadow:0 4px 0 var(--card-ledge);}
  [data-design="arena"] .now-card.soft::before{display:none;}
  [data-design="arena"] .now-card .k{font:800 12px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;opacity:1;color:inherit;}
  [data-design="arena"] .now-card h3{font:700 17px/22px var(--font);margin-top:0;}
  [data-design="arena"] .now-card .timer{font:800 44px/48px var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 3px 0 var(--ink);}
  [data-design="arena"] .now-card.soft .timer{text-shadow:none;font-size:30px;line-height:36px;}
  [data-design="arena"] .now-card .sub{color:rgba(255,255,255,.86);opacity:1;font:500 14px/20px var(--font);}
  [data-design="arena"] .now-card.soft .sub{color:var(--text-dim);}
  [data-design="arena"] .now-card .vs .x{width:46px;height:46px;padding:0;border-radius:50%;display:grid;place-items:center;background:#FFE066;color:#2A1700;
    border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font:800 14px/1 var(--display);transform:rotate(-8deg);opacity:1;}
  [data-design="arena"] .now-card .vs .ava{box-shadow:0 3px 0 var(--ink);border-color:var(--ink);}
  [data-design="arena"] .now-card .tagchip{min-height:44px;border-radius:12px;padding:0 14px;border:2px solid var(--ink);background:rgba(255,255,255,.14);color:#fff;
    font:700 14px/18px var(--font);box-shadow:0 3px 0 var(--ink);transition:transform .1s ease-out;}
  [data-design="arena"] .now-card .tagchip:active{transform:scale(.97);}
  [data-design="arena"] .now-card .tagchip.primary{background:#fff;color:#15102C;}
  [data-design="arena"] .now-card .cta{--b:#FFFFFF;--f:#15102C;}
  [data-design="arena"] .now-card .cta.ghost{--b:rgba(255,255,255,.14);--f:#FFFFFF;}
  [data-design="arena"] .now-card .cta.teal{--b:var(--ok);--f:var(--on-ok);}
  [data-design="arena"] .now-card .cta.a-stars{--b:var(--star);--f:var(--on-star);}
  [data-design="arena"] .now-card.soft .cta{--b:var(--accent);--f:var(--on-accent);}
  [data-design="arena"] .ready-dot{background:rgba(255,255,255,.35);}
  [data-design="arena"] .ready-dot.on{background:var(--ok);}
  [data-design="arena"] body.season-winter .now-card:not(.soft)::after{display:block;content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
    background-image:radial-gradient(circle,#fff 1.2px,transparent 1.6px),radial-gradient(circle,#fff .8px,transparent 1.2px);
    background-size:38px 38px,23px 23px;background-position:0 0,11px 17px;}
  @keyframes materialize{from{opacity:0;transform:scale(.96) translateY(-6px);}to{opacity:1;transform:none;}}
  /* обложки турниров по формату */
  [data-design="arena"] .t-cover{border-bottom:2px solid var(--ink);}
  [data-design="arena"] .t-cover::before{display:none;}
  [data-design="arena"] .t-cover::after{display:none;}
  [data-design="arena"] .cov-single{background:linear-gradient(135deg,#7B52FF 0%,#3A1CA6 100%);}
  [data-design="arena"] .cov-double{background:linear-gradient(135deg,#2F86FF 0%,#15398F 100%);}
  [data-design="arena"] .cov-team{background:linear-gradient(135deg,#FF7A1A 0%,#B3380A 100%);}
  [data-design="arena"] .cov-clan{background:linear-gradient(135deg,#E83FB2 0%,#6E168A 100%);}
  [data-design="arena"] .a-empty .art{border:2px solid var(--card-border);box-shadow:0 4px 0 var(--card-ledge);border-radius:32px;}
  [data-design="arena"] .a-divider{background:var(--border);}
  [data-design="arena"] .a-icbox{border:2px solid var(--ink);}
  /* шторки и диалоги - сплошной материал; фон «уезжает» назад */
  [data-design="arena"] .sheet{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:28px 28px 0 0;
    border:2px solid var(--card-border);border-bottom:none;box-shadow:0 -12px 40px rgba(0,0,0,.4);animation:none;touch-action:pan-y;}
  [data-design="arena"] .sheet .grab{width:44px;height:5px;background:var(--fill);opacity:1;}
  [data-design="arena"] .sheet-back{background:var(--scrim);}
  [data-design="arena"] .sheet-back.open{animation:none;}
  [data-design="arena"] .app{transition:transform .35s cubic-bezier(.32,.72,0,1), border-radius .35s, filter .35s;transform-origin:50% 0;}
  [data-design="arena"] body.sheet-open .app{transform:scale(.94) translateY(10px);border-radius:24px;filter:brightness(.85);}
  [data-design="arena"] .dlg{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid var(--card-border);
    border-radius:24px;box-shadow:0 4px 0 var(--card-ledge),0 20px 60px rgba(0,0,0,.35);}
  [data-design="arena"] .dlg-back{background:var(--scrim);}
  [data-design="arena"] .overlay{background:var(--bg);}
  [data-design="arena"] .ov-head{background:var(--glass);border:2px solid var(--card-border);box-shadow:0 4px 0 var(--card-ledge);}
  [data-design="arena"] .ov-head h2{font:700 15px/20px var(--display);}
  /* сетка: текущий матч - рамка акцента; линия победителя прорисовывается */
  [data-design="arena"] .br-m{border-radius:12px;box-shadow:0 3px 0 var(--card-ledge);}
  [data-design="arena"] .br-m.mine{border-color:var(--accent);box-shadow:0 3px 0 var(--ink),0 0 0 4px var(--accent-soft);}
  [data-design="arena"] .br-p + .br-p{border-top:2px solid var(--border);}
  [data-design="arena"] .br-p.win{background:var(--accent-soft);color:var(--text);font-weight:700;}
  [data-design="arena"] .br-col h4{font:700 11px/14px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
  [data-design="arena"] .br-lines path{stroke:var(--border);}
  [data-design="arena"] .br-lines path.won{stroke:var(--accent);filter:none;stroke-dasharray:600;animation:draw .6s cubic-bezier(.77,0,.175,1) both;}
  @keyframes draw{from{stroke-dashoffset:600;}to{stroke-dashoffset:0;}}
  [data-design="arena"] .br-zoom button{background:var(--surface-2);color:var(--text);border:2px solid var(--ink);border-radius:12px;
    box-shadow:0 4px 0 var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none;}
  /* профиль, достижения, победа */
  [data-design="arena"] .profile-head .name,[data-design="arena"] .pl-head .name{font:700 22px/28px var(--display);letter-spacing:0;}
  [data-design="arena"] .profile-head .ava,[data-design="arena"] .pl-head .ava{border-width:3px;box-shadow:0 4px 0 var(--ink);}
  [data-design="arena"] .h2h-big{font-family:var(--display);}
  [data-design="arena"] .ach{border-radius:18px;}
  [data-design="arena"] .ach.on{border-color:var(--accent);}
  [data-design="arena"] .quest .qc{border:2px solid var(--border);}
  [data-design="arena"] .win-ov h2{font:800 36px/42px var(--display);}
  [data-design="arena"] .win-ov .cta{--b:#FFFFFF;--f:#15102C;}
  [data-design="arena"] .win-ov .cta.ghost{--b:rgba(255,255,255,.14);--f:#FFFFFF;}
  [data-design="arena"] .accents button{border:2px solid var(--ink);box-shadow:0 2px 0 var(--ink);}
  [data-design="arena"] .accents button.on{box-shadow:0 0 0 3px var(--bg), 0 0 0 5px currentColor;}
  [data-design="arena"] .ptr{background:var(--surface);border:2px solid var(--card-border);}
  [data-design="arena"] .skeleton{border-radius:20px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--fill) 50%,var(--surface-2) 100%);background-size:200% 100%;}
  [data-design="arena"] .design-seg{margin-top:8px;margin-bottom:0;}
  /* появление: коротко, 8 px, шаг 40 мс, без размытия экрана */
  [data-design="arena"] .screen.active{animation:fade .18s ease both;}
  [data-design="arena"] :is(.t-card,.stat-tile,.ach,.lb-row){animation:arenaRise .22s cubic-bezier(.2,.8,.2,1) both;}
  [data-design="arena"] :is(.t-card,.stat-tile,.ach):nth-child(2){animation-delay:.04s}
  [data-design="arena"] :is(.t-card,.stat-tile,.ach):nth-child(3){animation-delay:.08s}
  [data-design="arena"] :is(.t-card,.stat-tile,.ach):nth-child(4){animation-delay:.12s}
  [data-design="arena"] :is(.t-card,.ach):nth-child(n+5){animation-delay:.16s}
  @keyframes arenaRise{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-transparency: reduce){
    [data-design="arena"] :is(.topbar,.tabbar){background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;}
  }
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation:none!important;transition:none!important;}
  }

  /* 🎖 Сезонный пропуск: шкала, уровни, выбор оформления, рамки, фон карточки */
  .sp-bar{height:8px;border-radius:6px;background:rgba(127,127,127,.18);overflow:hidden;margin:8px 0 4px;}
  .sp-bar i{display:block;height:100%;background:linear-gradient(90deg, var(--accent), var(--gold, #d4a017));border-radius:6px;}
  /* невзятый уровень - приглушённый заголовок без прозрачности (прозрачность роняла контраст подписи ниже AA) */
  .sp-lv{padding:6px 0;border-top:1px solid rgba(127,127,127,.15);}
  .sp-lv:not(.on) > b{color:var(--text-dim);}
  .sp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px;}
  .sp-chips button{border:1px solid rgba(127,127,127,.3);background:transparent;color:inherit;border-radius:999px;padding:0 14px;min-width:44px;min-height:44px;font:inherit;font-size:13px;cursor:pointer;}
  .sp-chips button.on{background:var(--accent-fill,var(--accent));border-color:var(--accent-fill,var(--accent));color:var(--on-accent, #fff);}
  .sp-title{font-size:12px;font-weight:600;color:var(--gold, #d4a017);}
  .sp-preview{border-radius:12px;padding:8px;}
  .ava.fr-silver{box-shadow:0 0 0 2px #c9ced6, 0 0 8px rgba(201,206,214,.6);}
  .ava.fr-gold{box-shadow:0 0 0 2px #f5c542, 0 0 10px rgba(245,197,66,.65);}
  .ava.fr-pulse{box-shadow:0 0 0 2px var(--accent);animation:spPulse 1.8s ease-in-out infinite;}
  .ava.fr-legend{box-shadow:0 0 0 2px #f5c542, 0 0 0 4px #bf5af2, 0 0 14px rgba(191,90,242,.7);}
  @keyframes spPulse{0%,100%{box-shadow:0 0 0 2px var(--accent), 0 0 4px var(--accent);}50%{box-shadow:0 0 0 3px var(--accent), 0 0 14px var(--accent);}}
  @media (prefers-reduced-motion: reduce){.ava.fr-pulse{animation:none;}}
  .profile-head.card-gold, .sp-preview.card-gold{background:linear-gradient(135deg, rgba(245,197,66,.28), rgba(212,160,23,.08));border-radius:16px;}

  /* 💰 Растущий фонд в карточке турнира */
  .fund-box{border-left:3px solid var(--gold, #d4a017);font-weight:600;}

  /* ===== 🎟 Дизайн «Матчдэй» (29.09, по макету из Claude Design v2) =====
     По умолчанию: html[data-design="matchday"]; «Арена» и «Классическое» -
     из «Профиль → Оформление». Всё ниже - только переопределения под атрибутом.
     Светлая «белая арена»: мягкие тени вместо обводок, синий акцент #3355FF
     (одна переменная --accent), Tektur - заголовки и цифры, Onest - текст.
     Турнир - билет с корешком (взнос · старт · места), «Сейчас» - табло
     матча с флап-таймером, команда 3×3 - слоты. Разметка - app.js, «Матчдэй». */
  :root[data-design="matchday"]{
    color-scheme:light;
    --font:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --display:"Tektur","Onest",system-ui,sans-serif;
    --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
    --accent:#3355FF; --gold-fill:var(--accent); --on-accent:#FFFFFF; --cta-ink:#FFFFFF;
    --star:#FFC21A; --on-star:#3A2600; --ok:#16A34A; --live:#FF3B30; --danger-fill:#DC2045;
    --easy:#16A34A; --mid:#F5A300; --pro:#E11D48; --win:#0B72C4; --loss:#D02846;
    --radius:20px; --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.3,1.3,.5,1);
    --bg:#F6F7FA; --surface:#FFFFFF; --surface-2:#F2F3F7; --fill:#E7E9F0; --border:#E6E8EE; --line-2:#CCD1DC;
    --ink:#0E1116; --card-border:var(--border); --card-ledge:transparent; --card:#FFFFFF;
    --text:#0E1116; --text-dim:#4A5163; --text-faint:#5F6677;   /* 13.10: #6A7182 на сером фоне было 4.2-4.4:1 */
    --accent-text:var(--at-l, color-mix(in oklab, var(--accent) 88%, #000)); --gold:var(--accent-text);
    --accent-soft:color-mix(in oklab, var(--accent) 9%, #fff); --accent-tint:color-mix(in oklab, var(--accent) 20%, #fff);
    --star-ink:#8A5A00; --clan-ink:#A21CAF; --hot-ink:#C2410C;
    --ok-text:#12803D; --warn-text:#8A5A00; --danger-text:#BE123C; --info-text:#0B6BB0;
    --ok-soft:#E8F7EE; --warn-soft:#FFF4D9; --danger-soft:#FDE8EC; --star-soft:#FFF5D6; --clan-soft:#FBE8FC; --hot-soft:#FFEEE6;
    --teal:var(--ok-text); --positive:var(--ok-text); --magenta:var(--danger-text); --warn:var(--warn-text);
    --sh-1:0 1px 2px rgba(16,24,40,.06); --sh-2:0 1px 2px rgba(16,24,40,.05),0 8px 24px rgba(16,24,40,.07); --sh-3:0 18px 50px rgba(16,24,40,.16);
    --tk-shadow:drop-shadow(0 1px 1px rgba(16,24,40,.07)) drop-shadow(0 8px 18px rgba(16,24,40,.07));
    --shadow:var(--sh-2); --glass:rgba(255,255,255,.86); --glass-strong:#FFFFFF; --glass-edge:transparent; --glass-line:var(--border);
    --bar:rgba(255,255,255,.86); --scrim:rgba(14,17,22,.36); --glow:transparent;
  }
  :root[data-design="matchday"][data-theme="dark"]{
    color-scheme:dark; --accent:#5B7BFF; --accent-fill:#4060FF;
    --bg:#0B0D12; --surface:#151821; --surface-2:#1C202B; --fill:#262B38; --border:#232836; --line-2:#394052; --card:#151821;
    --text:#F3F5F9; --text-dim:#B0B7C6; --text-faint:#8E95A6;
    --accent-text:var(--at-d, color-mix(in oklab, var(--accent) 62%, #fff));
    --accent-soft:color-mix(in oklab, var(--accent) 16%, #151821); --accent-tint:color-mix(in oklab, var(--accent) 30%, #151821);
    --star-ink:#FFD35C; --clan-ink:#F08CF7; --hot-ink:#FF9E6B;
    --ok-text:#5BE08F; --warn-text:#FFCD5C; --danger-text:#FF8095; --info-text:#7CCBFF;
    --ok-soft:#133022; --warn-soft:#33280E; --danger-soft:#3A1520; --star-soft:#33290E; --clan-soft:#35143A; --hot-soft:#3A2012;
    --easy:#3DDC84; --mid:#FFC53D; --pro:#FF5C74; --win:#3DB5FF; --loss:#FF6B82;
    --sh-1:0 1px 0 rgba(255,255,255,.03); --sh-2:0 0 0 1px #232836,0 10px 30px rgba(0,0,0,.35); --sh-3:0 18px 50px rgba(0,0,0,.55);
    --tk-shadow:drop-shadow(0 0 1px rgba(255,255,255,.12)) drop-shadow(0 10px 24px rgba(0,0,0,.4));
    --glass:rgba(21,24,33,.9); --glass-strong:#151821; --bar:rgba(21,24,33,.9); --scrim:rgba(0,0,0,.55);
  }
  @media (prefers-color-scheme: dark){
    :root[data-design="matchday"]:not([data-theme="light"]){
      color-scheme:dark; --accent:#5B7BFF; --accent-fill:#4060FF;
      --bg:#0B0D12; --surface:#151821; --surface-2:#1C202B; --fill:#262B38; --border:#232836; --line-2:#394052; --card:#151821;
      --text:#F3F5F9; --text-dim:#B0B7C6; --text-faint:#8E95A6;
      --accent-text:var(--at-d, color-mix(in oklab, var(--accent) 62%, #fff));
      --accent-soft:color-mix(in oklab, var(--accent) 16%, #151821); --accent-tint:color-mix(in oklab, var(--accent) 30%, #151821);
      --star-ink:#FFD35C; --clan-ink:#F08CF7; --hot-ink:#FF9E6B;
      --ok-text:#5BE08F; --warn-text:#FFCD5C; --danger-text:#FF8095; --info-text:#7CCBFF;
      --ok-soft:#133022; --warn-soft:#33280E; --danger-soft:#3A1520; --star-soft:#33290E; --clan-soft:#35143A; --hot-soft:#3A2012;
      --easy:#3DDC84; --mid:#FFC53D; --pro:#FF5C74; --win:#3DB5FF; --loss:#FF6B82;
      --sh-1:0 1px 0 rgba(255,255,255,.03); --sh-2:0 0 0 1px #232836,0 10px 30px rgba(0,0,0,.35); --sh-3:0 18px 50px rgba(0,0,0,.55);
      --tk-shadow:drop-shadow(0 0 1px rgba(255,255,255,.12)) drop-shadow(0 10px 24px rgba(0,0,0,.4));
      --glass:rgba(21,24,33,.9); --glass-strong:#151821; --bar:rgba(21,24,33,.9); --scrim:rgba(0,0,0,.55);
    }
  }
  [data-design="matchday"] body{font-family:var(--font);letter-spacing:0;background:var(--bg);}
  [data-design="matchday"] body::before{animation:none;filter:none;inset:0;background:var(--bg);}
  [data-design="matchday"] :is(h1,h2,h3){font-family:var(--font);letter-spacing:-.01em;}
  [data-design="matchday"] .md-ic{width:20px;height:20px;flex:none;display:block;}
  /* эмодзи → SVG: иконка слева от текста кнопки/чипа/плашки, глиф ⭐ - справа от суммы */
  [data-design="matchday"] .md-emo{width:18px;height:18px;flex:none;display:inline-block;vertical-align:-3px;}
  [data-design="matchday"] :is(.pill,.a-badge,.chip) .md-emo{width:14px;height:14px;vertical-align:-2px;}
  [data-design="matchday"] :is(.sec-title,.fold summary,.note > summary,.tagchip,.t-card > h3,.rank-title,.note) > .md-emo{margin-right:8px;}
  [data-design="matchday"] .note > .md-emo{color:var(--accent-text);}
  [data-design="matchday"] .md-eb{font:700 12px/14px var(--display);font-stretch:88%;letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);}
  [data-design="matchday"] .md-num{font-family:var(--display);font-stretch:78%;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
  [data-design="matchday"] .c-easy{color:var(--easy);} [data-design="matchday"] .c-mid{color:var(--mid);} [data-design="matchday"] .c-pro{color:var(--pro);}
  /* шапка и вкладки - во всю ширину, матовые */
  [data-design="matchday"] .topbar{top:0;left:0;right:0;border-radius:0;border:0;min-height:56px;padding:0 16px;
    background:color-mix(in oklab, var(--bg) 86%, transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:none;}
  [data-design="matchday"] .topbar.scrolled{background:color-mix(in oklab, var(--bg) 86%, transparent);box-shadow:0 1px 0 var(--border);}
  [data-design="matchday"] .topbar h1{font:800 15px/1 var(--display);font-stretch:85%;letter-spacing:.06em;text-transform:uppercase;}
  [data-design="matchday"] .badge-live{width:8px;height:8px;margin-right:8px;background:var(--live);animation:mdPulse 1.8s var(--ease) infinite;}
  [data-design="matchday"] .theme-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);
    box-shadow:var(--sh-1);backdrop-filter:none;-webkit-backdrop-filter:none;transition:transform 90ms cubic-bezier(.3,.7,.4,1);}
  [data-design="matchday"] .theme-btn:active{transform:scale(.92);}
  [data-design="matchday"] .screens{padding:64px 16px calc(112px + env(safe-area-inset-bottom,0px));}
  [data-design="matchday"] .tabbar{left:0;right:0;bottom:0;border-radius:0;border:0;border-top:1px solid var(--border);
    padding:6px 8px calc(10px + env(safe-area-inset-bottom,0px));background:var(--bar);
    backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:none;}
  [data-design="matchday"] .tab-lens{display:none;}
  [data-design="matchday"] .tab{gap:3px;padding:0 2px;min-height:52px;border-radius:0;font:600 12px/14px var(--font);color:var(--text-faint);min-width:max-content;}   /* 6 вкладок в админке: «Статистика» не обрезается */
  [data-design="matchday"] .tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .tab .icon-tab{width:52px;height:32px;padding:4px 14px;border-radius:16px;transform:none;filter:none;transition:background .2s var(--ease);}
  [data-design="matchday"] .tab.active{color:var(--text);}
  [data-design="matchday"] .tab.active .icon-tab{background:var(--accent-soft);stroke:var(--accent-text);transform:none;filter:none;}
  [data-design="matchday"] .tab .dot{top:2px;left:calc(50% + 12px);width:9px;height:9px;background:var(--live);box-shadow:0 0 0 2px var(--surface);border:0;}
  /* заголовки */
  [data-design="matchday"] .large-title{font:900 46px/44px var(--display);font-stretch:78%;text-transform:uppercase;letter-spacing:-.005em;margin:6px 0 20px;animation:none;}
  [data-design="matchday"] .sec-title{font:800 21px/26px var(--font);letter-spacing:-.02em;margin:26px 0 12px;}
  /* карточки - белые, мягкая тень */
  [data-design="matchday"] :is(.t-card,.stat-tile,.tier,.rank-card,.note,.ach,.br-m,.fold summary,.pred-btn){
    background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:var(--sh-2);}
  [data-design="matchday"] .t-card{border-radius:20px;padding:16px;margin-bottom:14px;}
  [data-design="matchday"] .t-card h3{font:700 17px/22px var(--font);letter-spacing:-.01em;}
  [data-design="matchday"] .note{border-radius:14px;color:var(--text-dim);box-shadow:var(--sh-1);border:1px solid var(--border);}
  [data-design="matchday"] .stat-tile{border-radius:14px;padding:12px;box-shadow:var(--sh-1);border:1px solid var(--border);}
  [data-design="matchday"] .stat-tile .v{font:800 22px/26px var(--display);font-stretch:80%;letter-spacing:-.01em;}
  [data-design="matchday"] .stat-tile .l{font:500 12px/16px var(--font);color:var(--text-dim);margin-top:2px;}
  [data-design="matchday"] .tier .g{font:800 17px/22px var(--display);font-stretch:82%;}
  [data-design="matchday"] :is(.kv,.lb-row,.quest,.pred){border-bottom:1px solid var(--border);}
  [data-design="matchday"] :is(.kv,.lb-row,.quest):last-child{border-bottom:none;}
  [data-design="matchday"] .fold summary{border-radius:14px;}
  [data-design="matchday"] .a-divider{height:1px;background:var(--border);}
  [data-design="matchday"] .a-icbox{border-radius:11px;background:var(--accent);color:#fff;}
  /* пустые состояния (макет 14): без карточки, значок в круге с пунктирным кольцом */
  [data-design="matchday"] .t-card.a-empty{background:none;box-shadow:none;padding:26px 18px;animation:none;}
  [data-design="matchday"] .a-empty .art{position:relative;width:104px;height:104px;border-radius:50%;background:var(--surface-2);color:var(--accent-text);}
  [data-design="matchday"] .a-empty .art::before{content:"";position:absolute;inset:14px;border-radius:50%;border:2px dashed var(--line-2);background:var(--surface);}
  [data-design="matchday"] .a-empty .art > *{position:relative;}
  [data-design="matchday"] .a-empty .art .icon{width:40px;height:40px;}
  [data-design="matchday"] .a-empty h3{font:700 17px/22px var(--font);}
  [data-design="matchday"] .skeleton{border-radius:20px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--fill) 50%,var(--surface-2) 100%);background-size:200% 100%;}
  [data-design="matchday"] .a-progress{height:8px;border:0;background:var(--fill);}
  [data-design="matchday"] .a-progress > span{background-color:var(--accent);background-image:none;box-shadow:none;}
  [data-design="matchday"] .a-progress.hot > span{background-color:var(--pro);}
  [data-design="matchday"] .a-progress.full > span{background-color:var(--text-faint);}
  /* плашки */
  [data-design="matchday"] :is(.pill,.a-badge){display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:8px;flex:none;max-width:100%;
    font:600 12.5px/1 var(--font);white-space:nowrap;background:var(--surface-2);color:var(--text-dim);backdrop-filter:none;-webkit-backdrop-filter:none;}
  [data-design="matchday"] :is(.pill,.a-badge) > span{overflow:hidden;text-overflow:ellipsis;}
  [data-design="matchday"] :is(.pill,.a-badge) :is(.md-ic,.icon){width:14px;height:14px;}
  [data-design="matchday"] :is(.pill.open,.a-badge.ok,.md-p-ok){background:var(--ok-soft);color:var(--ok-text);}
  [data-design="matchday"] :is(.pill.warn,.a-badge.warn,.md-p-warn){background:var(--warn-soft);color:var(--warn-text);}
  [data-design="matchday"] :is(.pill.mag,.a-badge.acc,.md-p-acc){background:var(--accent-soft);color:var(--accent-text);}
  [data-design="matchday"] .md-p-star{background:var(--star-soft);color:var(--star-ink);}
  [data-design="matchday"] .md-p-hot{background:var(--hot-soft);color:var(--hot-ink);}
  [data-design="matchday"] .md-p-clan{background:var(--clan-soft);color:var(--clan-ink);}
  [data-design="matchday"] .a-fee{background:var(--star-soft);color:var(--star-ink);}
  [data-design="matchday"] .a-fee.free{background:var(--ok-soft);color:var(--ok-text);}
  /* кнопки: основная - акцент с тенью, Stars - жёлтая, отклик - сжатие */
  [data-design="matchday"] .cta{--b:var(--accent-fill,var(--accent));--f:var(--on-accent);background:var(--b);color:var(--f);border:1px solid transparent;border-radius:14px;
    min-height:50px;padding:0 18px;font:700 15px/20px var(--font);letter-spacing:-.005em;backdrop-filter:none;-webkit-backdrop-filter:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 16px color-mix(in oklab, var(--accent) 28%, transparent);
    transition:transform 90ms cubic-bezier(.3,.7,.4,1),filter 90ms,background-color .2s;}
  [data-design="matchday"] .cta > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
  [data-design="matchday"] .cta:active{transform:scale(.97);filter:brightness(.93);opacity:1;}
  [data-design="matchday"] .cta.ghost{--b:var(--surface);--f:var(--text);border-color:var(--line-2);box-shadow:none;}
  [data-design="matchday"] .cta.teal{--b:#15803D;--f:#FFFFFF;box-shadow:0 6px 16px color-mix(in oklab, var(--ok) 25%, transparent);}
  [data-design="matchday"] .cta.danger{--b:transparent;--f:var(--danger-text);box-shadow:none;}
  [data-design="matchday"] .cta.a-stars{--b:var(--star);--f:var(--on-star);background-image:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0) 60%);
    box-shadow:inset 0 -2px 0 rgba(160,100,0,.25),0 6px 16px rgba(255,194,26,.3);}
  [data-design="matchday"] .cta.small{min-height:44px;padding:0 14px;font-size:14px;border-radius:12px;}
  [data-design="matchday"] .cta.small .md-ic{width:16px;height:16px;}
  [data-design="matchday"] .cta:disabled{--b:var(--fill);--f:var(--text-faint);background-image:none;border-color:transparent;box-shadow:none;transform:none;filter:none;opacity:1;}
  /* оплата Stars - во всю ширину (как в макете); поле названия команды не сжимается кнопкой */
  [data-design="matchday"] .btn-row .cta.a-stars{flex:1 1 100%;}
  [data-design="matchday"] .btn-row > .field{flex:1 1 auto;min-width:0;margin-top:0;}
  [data-design="matchday"] .btn-row > .field + .cta{flex:0 0 auto;width:auto;}
  /* чипы, сегменты, поле, переключатель */
  [data-design="matchday"] .chip{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 15px;border-radius:999px;
    border:1px solid var(--line-2);background:var(--surface);color:var(--text);font:600 14px/18px var(--font);white-space:nowrap;
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .2s var(--ease),border-color .2s,transform 90ms;}
  [data-design="matchday"] .chip:active{transform:scale(.95);}
  [data-design="matchday"] .chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent);}
  [data-design="matchday"] .chip .md-ic{width:16px;height:16px;}
  [data-design="matchday"] .chips.md-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 28px),transparent);}
  [data-design="matchday"] .chips.md-scroll::-webkit-scrollbar{display:none;}
  [data-design="matchday"] .seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;padding:3px;border-radius:14px;border:0;
    background:var(--fill);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  [data-design="matchday"] .seg button{min-height:44px;border-radius:11px;padding:0 10px;color:var(--text-dim);font:600 14px/18px var(--font);
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .2s var(--ease);}
  :root[data-design="matchday"] .seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(16,24,40,.12),0 2px 8px rgba(16,24,40,.06);}
  [data-design="matchday"] .field{min-height:50px;border-radius:14px;background:var(--surface);border:1px solid var(--line-2);color:var(--text);font:500 16px/22px var(--font);}
  [data-design="matchday"] :is(.field:focus,.field:focus-within){outline:none;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 16%, transparent);}
  [data-design="matchday"] .a-search input{padding:13px 0;}
  [data-design="matchday"] .t-filters{gap:10px;margin-bottom:8px;}
  [data-design="matchday"] .a-switch input{width:51px;height:31px;border:0;background:var(--fill);}
  [data-design="matchday"] .a-switch input::after{top:2px;left:2px;width:27px;height:27px;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:transform .42s var(--spring);}
  [data-design="matchday"] .a-switch input:checked{background:var(--ok);}
  /* «Сейчас» - табло на акценте, разметка корта на фоне */
  [data-design="matchday"] .a-now-h{display:none;}
  [data-design="matchday"] .now-card{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:14px;
    border-radius:26px;padding:16px;margin-bottom:22px;color:var(--on-accent);border:0;background:var(--accent-fill,var(--accent));
    box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 16px 36px color-mix(in oklab, var(--accent) 34%, transparent);}
  [data-design="matchday"] .now-card.md-swap{animation:mdSwap .26s var(--ease) both;}
  [data-design="matchday"] .now-card::before,[data-design="matchday"] .now-card::after{display:none;}
  [data-design="matchday"] .now-card > *{margin-top:0;margin-bottom:0;}
  [data-design="matchday"] .md-court{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.16;pointer-events:none;}
  [data-design="matchday"] .now-card.soft{color:var(--text);background:var(--surface);box-shadow:var(--sh-2);}
  [data-design="matchday"] .now-card .k{font:700 12px/14px var(--display);font-stretch:88%;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.82);opacity:1;}
  [data-design="matchday"] .now-card.soft .k{color:var(--text-faint);}
  [data-design="matchday"] .now-card .a-live{background:#fff;animation:mdPulseW 1.8s var(--ease) infinite;}
  [data-design="matchday"] .now-card.soft .a-live{background:var(--live);animation-name:mdPulse;}
  [data-design="matchday"] .now-card .a-now-chip{background:rgba(255,255,255,.16);color:#fff;border-radius:10px;}
  [data-design="matchday"] .now-card h3{font:800 21px/26px var(--font);letter-spacing:-.02em;}
  [data-design="matchday"] .now-card .sub{font:500 13px/18px var(--font);color:rgba(255,255,255,.82);opacity:1;}
  [data-design="matchday"] .now-card.soft .sub{color:var(--text-dim);}
  [data-design="matchday"] .now-card .timer{font:900 34px/1 var(--display);font-stretch:78%;font-variant-numeric:tabular-nums;}
  [data-design="matchday"] .now-card .cta{--b:#FFFFFF;--f:#0E1116;box-shadow:none;margin:0;}
  [data-design="matchday"] .now-card .cta.a-stars{--b:var(--star);--f:var(--on-star);box-shadow:inset 0 -2px 0 rgba(160,100,0,.25);}
  [data-design="matchday"] .now-card .cta:is(.ghost,.md-onacc){--b:rgba(255,255,255,.16);--f:#FFFFFF;border-color:rgba(255,255,255,.28);}
  [data-design="matchday"] .now-card.soft .cta{--b:var(--accent-fill,var(--accent));--f:var(--on-accent);}
  [data-design="matchday"] .now-card .tagchip{min-height:44px;border-radius:12px;padding:0 14px;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.28);font:700 14px/18px var(--font);}
  [data-design="matchday"] .now-card .tagchip.primary{background:#fff;color:#0E1116;}
  [data-design="matchday"] .md-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;}
  [data-design="matchday"] .md-side{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center;}
  [data-design="matchday"] .md-side.tap{cursor:pointer;}
  [data-design="matchday"] .md-side .who{font:700 14px/18px var(--font);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-side .lab{font:700 12px/1 var(--display);font-stretch:88%;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.75);}
  [data-design="matchday"] .md-side .ava{color:#fff;background:rgba(255,255,255,.2);box-shadow:0 0 0 3px rgba(255,255,255,.9);font:800 20px/1 var(--display);}
  [data-design="matchday"] .md-side.ready .ava{box-shadow:0 0 0 3px #39E07F;}
  [data-design="matchday"] .md-clock{display:flex;flex-direction:column;align-items:center;gap:6px;}
  [data-design="matchday"] .md-clock .cap{font:600 12px/15px var(--font);color:rgba(255,255,255,.82);text-align:center;max-width:120px;}
  [data-design="matchday"] .md-flap{display:inline-flex;align-items:center;gap:3px;perspective:300px;}
  [data-design="matchday"] .md-flap b{position:relative;display:grid;place-items:center;width:30px;height:42px;border-radius:7px;
    background:linear-gradient(#FFFFFF 0 50%,#EEF1F7 50% 100%);color:#0E1116;font:900 30px/1 var(--display);font-stretch:78%;box-shadow:0 2px 0 rgba(0,0,0,.18);}
  [data-design="matchday"] .md-flap b::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(14,17,22,.16);}
  [data-design="matchday"] .md-flap b.flip{animation:mdFlip .36s var(--ease);}
  [data-design="matchday"] .md-flap i{font:900 26px/1 var(--display);font-style:normal;color:#fff;padding:0 1px;}
  [data-design="matchday"] .md-flap.lg b{width:40px;height:56px;font-size:42px;}
  [data-design="matchday"] .md-flap-t{font:800 24px/1 var(--display);font-stretch:80%;white-space:nowrap;}
  [data-design="matchday"] .now-card.soft .md-flap b{background:linear-gradient(var(--surface-2) 0 50%,var(--fill) 50% 100%);color:var(--text);box-shadow:0 2px 0 var(--line-2);}
  [data-design="matchday"] .now-card.soft .md-flap i{color:var(--text);}
  [data-design="matchday"] .md-room{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;border-radius:14px;
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font:500 13px/18px var(--font);}
  [data-design="matchday"] .md-room .grow{flex:1;min-width:0;}
  [data-design="matchday"] .md-tag::after{content:"";position:absolute;inset:-4px 0;}   /* зона касания 44 px, вид прежний */
  [data-design="matchday"] .md-bsp-tag .md-tag::after{content:none;}
  [data-design="matchday"] .md-tag{position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:10px;border:0;flex:none;cursor:pointer;
    background:#fff;color:#0E1116;font:700 13px/1 var(--mono);}
  [data-design="matchday"] .md-tag .md-ic{width:14px;height:14px;}
  [data-design="matchday"] .md-ready{display:flex;align-items:center;gap:8px;font:600 13.5px/18px var(--font);}
  [data-design="matchday"] .md-ready i{width:9px;height:9px;border-radius:50%;flex:none;background:rgba(255,255,255,.4);}
  [data-design="matchday"] .md-ready i.on{background:#39E07F;box-shadow:0 0 0 3px rgba(57,224,127,.3);}
  [data-design="matchday"] .md-acts{display:flex;flex-wrap:wrap;gap:8px;}
  [data-design="matchday"] .md-acts .cta{flex:1 1 0;width:auto;min-width:0;}
  [data-design="matchday"] .md-acts .md-full{flex:1 1 100%;}
  [data-design="matchday"] .md-acts .md-icb{flex:0 0 50px;padding:0;}
  [data-design="matchday"] .md-topbtn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:10px;flex:none;cursor:pointer;
    border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.16);color:#fff;font:700 13px/1 var(--font);}
  [data-design="matchday"] .md-topbtn .md-ic{width:16px;height:16px;}
  [data-design="matchday"] .md-pay-h{display:flex;flex-direction:column;gap:6px;}
  [data-design="matchday"] .md-pay-t{display:flex;justify-content:center;}
  [data-design="matchday"] .a-now-mid{align-items:center;}
  /* турнир - билет: верх (обложка + приз) и корешок (взнос · старт · места) с вырезами по краям */
  [data-design="matchday"] .t-card.md-tk{padding:0;margin-bottom:16px;border:0;border-radius:0;overflow:visible;background:none;box-shadow:none;
    backdrop-filter:none;-webkit-backdrop-filter:none;filter:var(--tk-shadow);}
  [data-design="matchday"] :is(.md-tk-top,.md-tk-stub){position:relative;background:var(--surface);}
  [data-design="matchday"] .md-tk-top{border-radius:20px 20px 0 0;overflow:hidden;
    -webkit-mask:radial-gradient(circle 11px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat;
    mask:radial-gradient(circle 11px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat;}
  [data-design="matchday"] .md-tk-stub{border-radius:0 0 20px 20px;padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;
    -webkit-mask:radial-gradient(circle 11px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat;
    mask:radial-gradient(circle 11px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat;}
  [data-design="matchday"] .md-tk-stub::before{content:"";position:absolute;left:18px;right:18px;top:-1px;border-top:2px dashed var(--line-2);}
  [data-design="matchday"] .md-tk-stub .cta{margin:0;}
  [data-design="matchday"] .t-cover.md-cv{position:relative;margin:0;height:100px;padding:12px 14px;border:0;border-radius:0;overflow:hidden;
    display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;color:#fff;}
  [data-design="matchday"] .t-cover.md-cv::before,[data-design="matchday"] .t-cover.md-cv::after{display:none;}
  [data-design="matchday"] .md-cv .a-motif{position:absolute;left:38%;top:-4px;width:auto;height:108px;opacity:.22;pointer-events:none;}
  [data-design="matchday"] .md-wm{position:absolute;right:-6px;bottom:-26px;font:900 128px/1 var(--display);font-stretch:75%;letter-spacing:-.02em;
    color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.42);pointer-events:none;white-space:nowrap;}
  [data-design="matchday"] .md-cv > .pill{position:relative;z-index:1;}
  [data-design="matchday"] .md-cv > .pill:first-of-type{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;}
  [data-design="matchday"] .md-cvp{background:rgba(14,17,22,.34);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
  [data-design="matchday"] .md-cvd{background:#fff;color:#4A5163;box-shadow:0 1px 3px rgba(0,0,0,.15);}
  [data-design="matchday"] .md-cvd.md-easy{color:#12803D;} [data-design="matchday"] .md-cvd.md-medium{color:#8A5A00;} [data-design="matchday"] .md-cvd.md-pro{color:#BE123C;}
  [data-design="matchday"] .md-cvd .a-diff i{background:currentColor;}
  [data-design="matchday"] .cov-single{background:linear-gradient(120deg,#1D4ED8,#3B82F6);}
  [data-design="matchday"] .cov-double{background:linear-gradient(120deg,#5B21B6,#8B5CF6);}
  [data-design="matchday"] .cov-team{background:linear-gradient(120deg,#C2410C,#FB923C);}
  [data-design="matchday"] .cov-clan{background:linear-gradient(120deg,#86198F,#D946EF);}
  [data-design="matchday"] .md-tk-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:12px;}
  [data-design="matchday"] .md-tk-body h3{font:800 19px/24px var(--font);letter-spacing:-.02em;margin:0;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  [data-design="matchday"] .md-pills{display:flex;flex-wrap:wrap;gap:6px;}
  [data-design="matchday"] .md-prize{display:flex;flex-direction:column;gap:4px;}
  [data-design="matchday"] .md-amt{display:flex;align-items:center;gap:6px;}
  [data-design="matchday"] .md-amt .md-num{font-size:52px;line-height:46px;}
  [data-design="matchday"] .md-amt svg{width:34px;height:34px;flex:none;}
  [data-design="matchday"] .md-amt-t{font:800 17px/22px var(--font);}
  [data-design="matchday"] .md-marker{background:linear-gradient(transparent 58%,var(--accent-tint) 58%,var(--accent-tint) 92%,transparent 92%);padding:0 .08em;}
  [data-design="matchday"] .md-math{display:flex;flex-wrap:wrap;gap:4px 12px;font:500 12.5px/16px var(--font);color:var(--text-faint);}
  [data-design="matchday"] .md-math span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
  [data-design="matchday"] .md-math .md-ic{width:14px;height:14px;}
  [data-design="matchday"] .md-fund{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--star-soft);}
  [data-design="matchday"] .md-fund .md-eb{color:var(--star-ink);}
  [data-design="matchday"] .md-fund-v{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
  [data-design="matchday"] .md-fund-v .md-num{font-size:40px;line-height:38px;}
  [data-design="matchday"] .md-fund-v > svg{width:26px;height:26px;flex:none;}
  [data-design="matchday"] .md-fund-g{display:inline-flex;align-items:center;gap:4px;font:600 13px/18px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-fund-g svg{width:16px;height:16px;}
  /* ступени фонда: взятые - залиты, следующая - штриховка; растут снизу с пружиной */
  [data-design="matchday"] .md-steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:4px;align-items:end;height:30px;margin-top:14px;}
  [data-design="matchday"] .md-steps span{position:relative;border-radius:4px;background:color-mix(in oklab,var(--star) 30%,var(--surface));}
  [data-design="matchday"] .md-steps span.f{background:var(--star);transform-origin:bottom;animation:mdStep .5s var(--spring) both;}
  [data-design="matchday"] .md-steps span.f + span.f{animation-delay:60ms;}
  [data-design="matchday"] .md-steps span.nx{background:repeating-linear-gradient(-45deg,color-mix(in oklab,var(--star) 55%,var(--surface)) 0 4px,transparent 4px 8px);box-shadow:inset 0 0 0 1.5px var(--star);}
  [data-design="matchday"] .md-steps b{position:absolute;top:-17px;left:0;right:0;text-align:center;font:800 12px/1 var(--display);font-stretch:85%;color:var(--star-ink);}
  [data-design="matchday"] .md-fund-n{display:flex;align-items:flex-start;gap:6px;font:600 13px/18px var(--font);color:var(--star-ink);}
  [data-design="matchday"] .md-fund-n .md-ic{width:16px;height:16px;margin-top:1px;}
  [data-design="matchday"] .md-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  [data-design="matchday"] .md-fields > div{display:flex;flex-direction:column;gap:3px;padding:0 10px;min-width:0;}
  [data-design="matchday"] .md-fields > div:first-child{padding-left:0;}
  [data-design="matchday"] .md-fields > div + div{border-left:1px solid var(--border);}
  [data-design="matchday"] .md-fields .v{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;white-space:nowrap;
    font:800 17px/22px var(--display);font-stretch:82%;}
  [data-design="matchday"] .md-fields .v svg{width:18px;height:18px;flex:none;}
  [data-design="matchday"] .md-fields .v small{font:600 12px/1 var(--font);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;}
  [data-design="matchday"] .md-fields .v small.md-old{text-decoration:line-through;flex:none;}
  [data-design="matchday"] .md-fields .a-progress{height:5px;margin-top:3px;}
  [data-design="matchday"] .md-sec{display:flex;gap:4px;margin:-6px -8px 0;}
  [data-design="matchday"] .md-sec .cta{--b:transparent;--f:var(--accent-text);flex:1 1 0;min-width:0;width:auto;margin:0;padding:0 6px;gap:6px;border-color:transparent;box-shadow:none;}
  [data-design="matchday"] .md-sec .cta:active{background-color:var(--accent-soft);}
  [data-design="matchday"] .a-sech{display:flex;align-items:center;justify-content:space-between;}
  /* команда 3×3 - слоты и шкала оплат */
  [data-design="matchday"] .md-slots{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:8px;margin-top:14px;}
  [data-design="matchday"] .md-slot{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 6px 10px;
    border-radius:14px;background:var(--surface-2);text-align:center;}
  [data-design="matchday"] .md-slot.tap{cursor:pointer;}
  [data-design="matchday"] .md-slot .n{font:700 13px/17px var(--font);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-slot .pill{height:20px;padding:0 7px;font-size:12px;}
  [data-design="matchday"] .md-slot.empty{background:transparent;border:1.5px dashed var(--line-2);color:var(--text-faint);}
  [data-design="matchday"] .md-slot.empty .ava{opacity:.5;}
  [data-design="matchday"] .md-slot-a{position:relative;display:inline-flex;}
  [data-design="matchday"] .md-bi{position:absolute;right:-4px;bottom:-2px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 2px var(--surface-2);}
  [data-design="matchday"] .md-bi.ok{background:var(--ok);} [data-design="matchday"] .md-bi.wait{background:#F5A300;}
  [data-design="matchday"] .md-bi .md-ic{width:13px;height:13px;}
  [data-design="matchday"] .md-kick{position:absolute;top:0;left:0;z-index:1;width:36px;height:36px;border-radius:50%;border:0;background:transparent;
    color:var(--text-faint);display:grid;place-items:center;cursor:pointer;}
  [data-design="matchday"] .md-kick .md-ic{width:16px;height:16px;}
  [data-design="matchday"] .md-paid{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
  [data-design="matchday"] .md-paid-l{display:flex;justify-content:space-between;align-items:center;gap:8px;font:700 13px/18px var(--font);}
  [data-design="matchday"] .md-paid-l .md-num{font-size:18px;}
  [data-design="matchday"] .md-seg{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:4px;}
  [data-design="matchday"] .md-seg span{height:8px;border-radius:99px;background:var(--fill);}
  [data-design="matchday"] .md-seg span.f{background:var(--ok);}
  /* дуэли (макет 07): рейтинг, быстрая дуэль, вызовы, избранное, мои дуэли */
  [data-design="matchday"] .t-card.md-elo{display:flex;align-items:center;gap:12px;}
  [data-design="matchday"] .md-elo .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
  [data-design="matchday"] .md-elo-v{display:flex;align-items:baseline;gap:6px;}
  [data-design="matchday"] .md-elo-v .md-num{font-size:40px;line-height:40px;}
  [data-design="matchday"] .md-elo-v small{font:600 13px/1 var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-elo .cta{width:auto;flex:none;margin:0;}
  [data-design="matchday"] .md-elo .cta .md-ic{width:18px;height:18px;}
  [data-design="matchday"] .now-card.md-quick{flex-direction:row;align-items:center;gap:12px;width:100%;padding:14px;border-radius:20px;font:700 16px/21px var(--font);text-align:left;cursor:pointer;transition:transform 90ms cubic-bezier(.3,.7,.4,1);}
  [data-design="matchday"] .now-card.md-quick:active{transform:scale(.98);}
  [data-design="matchday"] .md-quick .grow{flex:1;min-width:0;}
  [data-design="matchday"] .md-quick-i{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--accent);display:grid;place-items:center;flex:none;}
  [data-design="matchday"] .md-link{color:var(--accent-text);font:700 14px/20px var(--font);text-decoration:none;white-space:nowrap;}
  [data-design="matchday"] .sec-title.a-sech{gap:12px;align-items:baseline;}
  [data-design="matchday"] .t-card.md-ch,[data-design="matchday"] .t-card.md-my{display:flex;flex-direction:column;gap:10px;}
  [data-design="matchday"] .md-ch .cta,[data-design="matchday"] .md-my .cta{margin-top:2px;}
  [data-design="matchday"] .md-ch-h{display:flex;align-items:center;gap:10px;}
  [data-design="matchday"] .md-ch-h .grow{flex:1;min-width:0;display:flex;flex-direction:column;}
  [data-design="matchday"] :is(.md-ch-h,.md-vs) .nm{font:700 15px/20px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-elo-s{font:500 13px/18px var(--font);color:var(--text-faint);}
  [data-design="matchday"] .md-elo-s b{color:var(--text);font-size:15px;}
  [data-design="matchday"] .md-ch-r{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;max-width:45%;}
  [data-design="matchday"] .md-stake{display:inline-flex;align-items:center;gap:4px;}
  [data-design="matchday"] .md-stake .md-num{font-size:22px;line-height:24px;}
  [data-design="matchday"] .md-stake svg{width:20px;height:20px;}
  [data-design="matchday"] .md-stake{flex-wrap:wrap;justify-content:flex-end;}
  [data-design="matchday"] .md-stake small{flex-basis:100%;text-align:right;font:500 12px/16px var(--font);color:var(--text-faint);}
  [data-design="matchday"] :is(.md-my-h h3,.tier .g) .md-stake{justify-content:flex-start;}
  [data-design="matchday"] :is(.md-my-h h3,.tier .g) .md-stake small{text-align:left;}
  [data-design="matchday"] .md-my-h h3 .md-num{font-size:26px;}
  [data-design="matchday"] .tier .g .md-num{font-size:28px;line-height:30px;}
  [data-design="matchday"] .tier .g svg{width:22px;height:22px;}
  [data-design="matchday"] .md-stake-t{font:800 15px/20px var(--font);text-align:right;}
  [data-design="matchday"] .md-p-ok{background:var(--ok-soft);color:var(--ok-text);}
  [data-design="matchday"] .md-p-live{background:var(--danger-soft);color:var(--danger-text);}
  [data-design="matchday"] .md-p-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--live);animation:mdPulse 1.8s var(--ease) infinite;}
  [data-design="matchday"] .md-fav{display:inline-flex;align-items:center;flex:none;}
  [data-design="matchday"] .md-fav .chip{border-radius:999px 0 0 999px;border-right:0;}
  [data-design="matchday"] .md-fav-x{min-height:44px;width:40px;border:1px solid var(--line-2);border-left:0;border-radius:0 999px 999px 0;background:var(--surface);color:var(--text-faint);display:grid;place-items:center;cursor:pointer;}
  [data-design="matchday"] .md-fav-x .md-ic{width:16px;height:16px;}
  [data-design="matchday"] .md-my-h{display:flex;align-items:center;justify-content:space-between;gap:10px;}
  [data-design="matchday"] .md-my-h h3{font:900 22px/26px var(--display);font-stretch:80%;margin:0;min-width:0;}
  [data-design="matchday"] .md-vs{display:flex;align-items:center;gap:8px;min-width:0;}
  [data-design="matchday"] .md-vs .nm{font-size:14px;}
  [data-design="matchday"] .md-vs-o{display:inline-flex;align-items:center;gap:8px;min-width:0;}
  [data-design="matchday"] .md-vs-x{font:800 12px/1 var(--display);font-stretch:85%;color:var(--text-faint);letter-spacing:.06em;}
  [data-design="matchday"] .md-dim{color:var(--text-faint);}
  [data-design="matchday"] .md-foot{display:flex;justify-content:center;margin-top:8px;}
  [data-design="matchday"] .md-foot .cta{width:auto;--b:transparent;--f:var(--accent-text);border-color:transparent;}
  /* мастер создания дуэли (макет 08): шапка, полоски шагов, варианты-плитки */
  [data-design="matchday"] .md-wiz{display:flex;flex-direction:column;gap:12px;}
  [data-design="matchday"] .md-wiz-h{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  [data-design="matchday"] .md-wiz-h b{font:700 17px/22px var(--font);}
  [data-design="matchday"] .md-wiz-h .theme-btn{display:grid;place-items:center;cursor:pointer;}
  [data-design="matchday"] .md-wiz-bar{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:6px;}
  [data-design="matchday"] .md-wiz-bar span{height:4px;border-radius:99px;background:var(--fill);}
  [data-design="matchday"] .md-wiz-bar span.f{background:var(--accent);}
  [data-design="matchday"] .md-wiz-t{font:800 28px/32px var(--font);letter-spacing:-.025em;margin:-6px 0 4px;}
  [data-design="matchday"] .md-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  [data-design="matchday"] .md-opt{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:72px;padding:12px;border-radius:14px;border:1px solid var(--border);
    background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer;box-shadow:var(--sh-1);transition:transform 90ms,background .2s var(--ease),border-color .2s;}
  [data-design="matchday"] .md-opt:active{transform:scale(.97);}
  [data-design="matchday"] .md-opt b{font:700 15px/20px var(--font);overflow-wrap:anywhere;}
  [data-design="matchday"] .md-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);}
  [data-design="matchday"] .md-opt-row{flex-direction:row;align-items:center;min-height:64px;width:100%;}
  [data-design="matchday"] .md-opt-i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-dim);flex:none;}
  [data-design="matchday"] .md-opt.on .md-opt-i{background:var(--accent);color:#fff;}
  [data-design="matchday"] .md-opt-i .md-ic{width:18px;height:18px;}
  [data-design="matchday"] .md-wiz .tier-grid{margin-top:4px;}
  [data-design="matchday"] .md-wiz .tier .s svg{width:16px;height:16px;vertical-align:-3px;}
  [data-design="matchday"] .md-comm{background:var(--clan-soft);color:var(--clan-ink);border:0;}
  [data-design="matchday"] .md-wiz-next{position:sticky;bottom:0;margin-top:8px;z-index:1;}
  [data-design="matchday"] .md-sh-t{font:800 21px/26px var(--font);margin:4px 0 8px;}
  /* профиль (макет 09): шапка-карточка с Elo, рамки-кольца, задания, абонемент со штампами */
  [data-design="matchday"] .t-card.md-phead{display:flex;flex-direction:column;gap:12px;}
  [data-design="matchday"] .md-phead .profile-head{margin:0;gap:12px;align-items:center;}
  [data-design="matchday"] .md-phead .name{font:800 21px/26px var(--font);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;}
  [data-design="matchday"] .md-phead .hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;margin:0;}
  [data-design="matchday"] .md-phead .hero-actions .cta{margin:0;width:100%;}
  [data-design="matchday"] .md-pelo{display:flex;flex-direction:column;align-items:flex-end;flex:none;}
  [data-design="matchday"] .md-pelo .md-num{font-size:30px;line-height:30px;}
  [data-design="matchday"] .sp-title{display:inline-flex;align-items:center;height:20px;margin-top:4px;padding:0 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text);
    font:700 12px/1 var(--display);font-stretch:88%;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
  [data-design="matchday"] .ava:is(.fr-silver,.fr-gold,.fr-legend,.fr-pulse){border:3px solid transparent;box-shadow:0 0 0 2px var(--surface);animation:none;
    background:linear-gradient(var(--fill),var(--fill)) padding-box,var(--md-fr) border-box;}
  [data-design="matchday"] .ava.fr-silver{--md-fr:conic-gradient(from 200deg,#F4F6FA,#9AA3B5,#EEF1F6,#7D879B,#F4F6FA);}
  [data-design="matchday"] .ava.fr-gold{--md-fr:conic-gradient(from 200deg,#FFF3C2,#E0A100,#FFE38A,#B87D00,#FFF3C2);}
  [data-design="matchday"] .ava.fr-legend{--md-fr:conic-gradient(from 200deg,#FFF3C2,#E0A100,#FFE38A,#B87D00,#FFF3C2);box-shadow:0 0 0 2px var(--surface),0 0 0 4px #E0A100,0 6px 18px rgba(224,161,0,.35);}
  [data-design="matchday"] .ava.fr-pulse{--md-fr:conic-gradient(from var(--md-a),#3355FF,#8B5CF6,#FF4FA3,#FFC21A,#16C47F,#3355FF);animation:mdFrSpin 3.2s linear infinite;}
  [data-design="matchday"] .quest{gap:12px;border-bottom:1px solid var(--border);}
  [data-design="matchday"] .quest .qi{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-dim);flex:none;}
  [data-design="matchday"] .quest .qi .md-ic{width:18px;height:18px;}
  [data-design="matchday"] .quest.done .qi{background:var(--ok-soft);color:var(--ok-text);}
  [data-design="matchday"] .quest .qc{border:2px solid var(--line-2);}
  [data-design="matchday"] .quest .qc .md-ic{width:12px;height:12px;}
  [data-design="matchday"] .quest.done .qc{background:var(--ok);border-color:var(--ok);}
  [data-design="matchday"] .rings .fg{filter:none;}
  [data-design="matchday"] .rings .bg{opacity:.14;}
  [data-design="matchday"] .md-pass{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;margin-bottom:14px;padding:22px 16px 18px;border-radius:20px;background:var(--surface);box-shadow:var(--sh-2);}
  [data-design="matchday"] .md-pass::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--accent) 0 18px,transparent 18px 26px);}
  [data-design="matchday"] .md-pass-h{display:flex;align-items:center;justify-content:space-between;gap:8px;}
  [data-design="matchday"] .md-pass-h .md-eb{color:var(--accent-text);}
  [data-design="matchday"] .md-pass-l{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
  [data-design="matchday"] .md-pass-k{display:block;font:600 13px/18px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-pass-n{font-size:52px;line-height:46px;}
  [data-design="matchday"] .md-pass-p{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font:500 12px/16px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-pass-p .md-num{font-size:24px;color:var(--text);}
  [data-design="matchday"] .md-stamps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;}
  [data-design="matchday"] .md-stamps::before{content:"";position:absolute;left:10%;right:10%;top:26px;height:2px;background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 10px);}
  [data-design="matchday"] .md-stamp-c{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;}
  [data-design="matchday"] .md-stamp{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px dashed var(--line-2);color:var(--text-faint);
    font:900 20px/1 var(--display);font-stretch:80%;}
  [data-design="matchday"] .md-stamp.done{border:2.5px solid var(--accent);color:var(--accent-text);background:var(--accent-soft);transform:rotate(-9deg);box-shadow:inset 0 0 0 3px var(--surface),inset 0 0 0 4.5px var(--accent);}
  [data-design="matchday"] .md-stamp.cur{border:2.5px solid var(--accent);color:var(--accent-text);box-shadow:0 0 0 5px var(--accent-soft);}
  [data-design="matchday"] .md-stamp.just{animation:mdStamp .48s var(--spring) both;}
  [data-design="matchday"] .md-stamp-p{font:800 12px/1 var(--display);font-stretch:85%;color:var(--text-dim);white-space:nowrap;}
  [data-design="matchday"] .md-pass-rw{display:flex;flex-direction:column;gap:6px;}
  [data-design="matchday"] .md-pass-r{display:flex;gap:10px;align-items:flex-start;font:500 13px/18px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-pass-r b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--text-faint);font:800 12px/1 var(--display);}
  [data-design="matchday"] .md-pass-r.on b{background:var(--accent-fill,var(--accent));color:var(--on-accent);}
  [data-design="matchday"] .md-pass-r.on span{color:var(--text);}
  [data-design="matchday"] .md-pass-x svg{width:16px;height:16px;flex:none;margin-top:1px;}
  [data-design="matchday"] .md-pass-x{color:var(--text-dim);}
  /* топ (макет 11): пьедестал и строки */
  [data-design="matchday"] .md-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;margin:18px 0 16px;}
  [data-design="matchday"] .md-pod{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;cursor:pointer;text-align:center;}
  [data-design="matchday"] .md-pod .nm{font:700 14px/18px var(--font);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-pod-b{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border-radius:14px 14px 0 0;background:var(--surface);box-shadow:var(--sh-2);}
  [data-design="matchday"] .md-pod-b .md-num{font-size:40px;line-height:40px;}
  [data-design="matchday"] .md-pod-b .v{font:600 12px/16px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-pod-b .v .md-num{font-size:12px;line-height:16px;font-family:var(--font);font-weight:700;}
  [data-design="matchday"] .md-pod.p1 .md-pod-b{min-height:120px;background:var(--accent-fill,var(--accent));color:var(--on-accent);}
  [data-design="matchday"] .md-pod.p1 .md-pod-b .v{color:#FFFFFF;}
  [data-design="matchday"] .md-pod-b .v small{font-size:12px;}
  [data-design="matchday"] .md-pod.p2 .md-pod-b{min-height:96px;}
  [data-design="matchday"] .md-pod.p3 .md-pod-b{min-height:76px;}
  [data-design="matchday"] .md-pod.p1 .ava{box-shadow:0 0 0 3px #E0A100,0 6px 18px rgba(224,161,0,.35);}
  [data-design="matchday"] .md-crown{position:absolute;top:-14px;left:50%;transform:translateX(-50%);color:#E0A100;z-index:1;}
  [data-design="matchday"] .md-crown .md-ic{width:22px;height:22px;fill:#FFC21A;}
  [data-design="matchday"] .md-pod.me .nm{color:var(--accent-text);}
  [data-design="matchday"] .t-card.md-lb{padding:0;overflow:hidden;}
  [data-design="matchday"] .md-lb .lb-row{gap:12px;padding:8px 14px;min-height:56px;}
  [data-design="matchday"] .md-lb .lb-row.me{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);}
  [data-design="matchday"] .md-rank{width:30px;flex:none;text-align:center;font:900 26px/1 var(--display);font-stretch:75%;color:var(--text-faint);font-variant-numeric:tabular-nums;}
  [data-design="matchday"] .md-lb .lb-wins{color:var(--text);white-space:nowrap;}
  [data-design="matchday"] .md-lb .lb-wins small{font:500 12px/1 var(--font);color:var(--text-faint);}
  /* статистика (макеты 12-13): поиск сверху, вкладки с подчёркиванием, карточка игрока, плитки бравлеров */
  [data-design="matchday"] #stats-content > .t-card:first-child{background:none;box-shadow:none;padding:0;margin-bottom:10px;}
  [data-design="matchday"] #stats-content > .t-card:first-child .cta.ghost{width:auto;--b:transparent;--f:var(--accent-text);border-color:transparent;padding:0 4px;}
  [data-design="matchday"] .md-tabs{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 16px;padding:0 16px;border-bottom:1px solid var(--border);
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);}
  [data-design="matchday"] .md-tabs::-webkit-scrollbar{display:none;}
  [data-design="matchday"] .md-tabs button{appearance:none;flex:none;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;min-width:44px;padding:0;border:0;background:none;
    color:var(--text-faint);font:700 14px/18px var(--font);white-space:nowrap;cursor:pointer;transition:color .2s var(--ease);}
  [data-design="matchday"] .md-tabs button.on{color:var(--text);}
  [data-design="matchday"] .md-tabs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--accent);}
  [data-design="matchday"] .md-tabs .md-emo{width:16px;height:16px;}
  [data-design="matchday"] .t-card.md-bsp{display:flex;flex-direction:column;gap:14px;}
  [data-design="matchday"] .md-bsp-h{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border);}
  [data-design="matchday"] .md-bsp-h .grow{flex:1;min-width:0;}
  [data-design="matchday"] .md-bsp-h .name{font:800 19px/24px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-bsp-tag{display:flex;align-items:center;gap:6px;font:500 13px/18px var(--mono);color:var(--text-dim);}
  /* кнопка копирования тега: палец - 44×44, видно - плашку 28×28 (отрицательные поля не меняют высоту строки) */
  [data-design="matchday"] .md-bsp-tag .md-tag{position:relative;isolation:isolate;justify-content:center;width:44px;height:44px;margin:-8px -8px -8px -8px;padding:0;
    background:none;color:var(--text-dim);}
  [data-design="matchday"] .md-bsp-tag .md-tag::before{content:"";position:absolute;inset:8px;z-index:-1;border-radius:8px;background:var(--surface-2);}
  [data-design="matchday"] .md-bsp-club{font:600 13px/18px var(--font);}
  [data-design="matchday"] .md-bsp-tr{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
  [data-design="matchday"] .md-bsp-tr .md-amt .md-ic{width:32px;height:32px;color:#E0A100;}
  [data-design="matchday"] .md-bsp-tr .md-num.md-marker{font-size:48px;line-height:44px;}
  [data-design="matchday"] .md-bsp-best{display:flex;flex-direction:column;align-items:flex-end;}
  [data-design="matchday"] .md-bsp-best .md-num{font-size:18px;}
  [data-design="matchday"] .md-grows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  [data-design="matchday"] .md-grow{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:12px;background:var(--ok-soft);color:var(--ok-text);min-width:0;}
  [data-design="matchday"] .md-grow.down{background:var(--danger-soft);color:var(--danger-text);}
  [data-design="matchday"] .md-grow .md-num{font-size:22px;line-height:24px;}
  [data-design="matchday"] .md-grow span{font:500 12px/16px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-tiles3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 8px;}
  /* шторки, диалоги, сетка */
  [data-design="matchday"] .sheet{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:28px 28px 0 0;
    box-shadow:var(--sh-3);animation:none;touch-action:pan-y;}
  [data-design="matchday"] .sheet .grab{width:40px;height:5px;background:var(--line-2);opacity:1;}
  [data-design="matchday"] .sheet-back{background:var(--scrim);}
  [data-design="matchday"] .sheet-back.open{animation:none;}
  [data-design="matchday"] .dlg{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:26px;box-shadow:var(--sh-3);}
  [data-design="matchday"] .dlg-back{background:var(--scrim);}
  [data-design="matchday"] .overlay{background:var(--bg);}
  [data-design="matchday"] .ov-head{background:var(--bar);border:0;box-shadow:var(--sh-1);}
  [data-design="matchday"] .ov-head h2{font:800 15px/20px var(--display);font-stretch:85%;letter-spacing:.04em;text-transform:uppercase;}
  [data-design="matchday"] .ov-body{background-image:radial-gradient(circle at 1px 1px,var(--line-2) 1px,transparent 1.4px);background-size:20px 20px;}
  [data-design="matchday"] .br-m{border-radius:12px;}
  [data-design="matchday"] .br-m.mine{box-shadow:0 0 0 2px var(--accent),var(--sh-2);}
  [data-design="matchday"] .br-p + .br-p{border-top:1px solid var(--border);}
  [data-design="matchday"] .br-p.win{background:var(--accent-soft);color:var(--text);font-weight:700;}
  [data-design="matchday"] .br-col h4{font:800 12px/14px var(--display);font-stretch:85%;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
  [data-design="matchday"] .br-lines path{stroke:var(--line-2);}
  [data-design="matchday"] .br-lines path.won{stroke:var(--accent);filter:none;}
  [data-design="matchday"] .br-zoom button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh-1);
    backdrop-filter:none;-webkit-backdrop-filter:none;}
  /* сетка (макет 05): компактный матч, метка статуса, вкладки раундов, низ «Победитель · Мой матч» */
  [data-design="matchday"] .br-col{min-width:170px;}
  [data-design="matchday"] .br-m{display:flex;flex-direction:column;margin-bottom:14px;font-size:12.5px;}
  [data-design="matchday"] .br-m.mine{cursor:pointer;}
  [data-design="matchday"] .br-m.live{animation:mdRing 1.8s var(--ease) infinite;}
  [data-design="matchday"] .br-p{align-items:center;justify-content:flex-start;gap:6px;height:32px;padding:0 9px;color:var(--text-dim);font:500 12.5px/16px var(--font);}
  [data-design="matchday"] .br-p > span:not(.ava):first-of-type,[data-design="matchday"] .br-p > .ava + span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .br-p > .ava{flex:none;width:22px;height:22px;}
  [data-design="matchday"] .br-p .ava{font-size:11px;}
  [data-design="matchday"] .br-p.win{background:none;color:var(--text);font-weight:700;box-shadow:inset 3px 0 0 var(--accent);}
  [data-design="matchday"] .br-p.win > span:last-child{color:var(--accent-text);}
  [data-design="matchday"] .br-p.tbd{color:var(--text-faint);font-style:italic;}
  [data-design="matchday"] .br-st{order:-1;padding:6px 9px 2px;font:600 12px/14px var(--font);color:var(--text-faint);}
  [data-design="matchday"] .br-st.st-confirmed{color:var(--ok-text);} [data-design="matchday"] .br-st.st-disputed{color:var(--danger-text);}
  [data-design="matchday"] .br-st.st-reported{color:var(--warn-text);} [data-design="matchday"] .br-st.st-bye{color:var(--accent-text);}
  [data-design="matchday"] .md-br-tabs{position:sticky;left:0;margin:0 0 12px;padding:0 4px;}
  [data-design="matchday"] .md-br-foot{position:fixed;left:0;right:0;bottom:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bar);border-top:1px solid var(--border);
    backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);font:600 14px/18px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-br-foot > span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  [data-design="matchday"] .md-br-foot .md-ic{width:18px;height:18px;flex:none;}
  [data-design="matchday"] .md-br-foot .cta{width:auto;margin:0;flex:none;}
  [data-design="matchday"] .br-zoom{bottom:calc(82px + env(safe-area-inset-bottom,0px));}
  [data-design="matchday"] .ov-body{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));}
  [data-design="matchday"] .md-brs{display:flex;flex-direction:column;gap:10px;}
  [data-design="matchday"] .md-brs .br-m{margin:0;box-shadow:0 0 0 2px var(--accent),var(--sh-2);}
  [data-design="matchday"] .md-brs .br-info{display:flex;flex-direction:column;gap:6px;font:500 14px/20px var(--font);color:var(--text-dim);}
  [data-design="matchday"] .md-brs .br-act{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  [data-design="matchday"] .md-brs .br-act .cta{margin:0;}
  /* оформление (макет 10): предпросмотр сверху, чипы с выбором, рамки - плитками */
  [data-design="matchday"] .sp-chips{gap:8px;margin:8px 0 14px;}
  [data-design="matchday"] .sp-chips button{min-height:44px;padding:0 15px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font:600 14px/18px var(--font);
    transition:background .2s var(--ease),border-color .2s,transform 90ms;}
  [data-design="matchday"] .sp-chips button:active{transform:scale(.95);}
  [data-design="matchday"] .sp-chips button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent);}
  [data-design="matchday"] .md-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  [data-design="matchday"] .md-frames button{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:104px;padding:12px 6px;border-radius:14px;}
  [data-design="matchday"] .md-frames button span:not(.ava){font:700 13px/17px var(--font);}
  [data-design="matchday"] .md-style .sp-preview{border-radius:14px;padding:10px 12px;margin:6px 0 10px;background:var(--surface-2);box-shadow:none;}
  [data-design="matchday"] .md-style .sp-preview.card-gold{background:linear-gradient(90deg,#FFF1C2,#FFE08A);color:#0E1116;}
  /* шторки и диалоги (макет 04): варианты входа строками, «Принимаю» во всю ширину, фон без размытия */
  [data-design="matchday"] :is(.sheet-back,.dlg-back){backdrop-filter:none;-webkit-backdrop-filter:none;}
  [data-design="matchday"] .md-opts{display:flex;flex-direction:column;gap:8px;margin:4px 0 6px;}
  [data-design="matchday"] .md-opt-row b{flex:1;min-width:0;text-align:left;}
  [data-design="matchday"] .md-opt-row > .md-ic{width:18px;height:18px;color:var(--text-faint);flex:none;}
  [data-design="matchday"] .md-opt-pay{border-color:var(--star);background:var(--star-soft);}
  [data-design="matchday"] .md-opt-pay .md-opt-i{background:var(--star);}
  [data-design="matchday"] .md-opt-pay .md-opt-i svg{width:20px;height:20px;}
  [data-design="matchday"] .md-opt-tk .md-opt-i{background:color-mix(in oklab,#14B8A6 16%,var(--surface));color:#0B766F;}
  [data-design="matchday"] .md-opt-inv .md-opt-i{background:var(--ok-soft);color:var(--ok-text);}
  [data-design="matchday"] .md-p-ticket{background:color-mix(in oklab,#14B8A6 16%,var(--surface));color:#0B766F;}
  [data-design="matchday"] .cta.md-link-btn{display:flex;--b:transparent;--f:var(--accent-text);border-color:transparent;box-shadow:none;margin:0 auto;width:auto;}
  [data-design="matchday"] .md-consent + .btn-row{flex-direction:column-reverse;gap:6px;}
  [data-design="matchday"] .md-consent + .btn-row .cta{width:100%;flex:none;margin:0;}
  [data-design="matchday"] .md-consent + .btn-row .cta.ghost{--b:transparent;--f:var(--accent-text);border-color:transparent;box-shadow:none;}
  [data-design="matchday"] .dlg{text-align:center;}
  [data-design="matchday"] .dlg #dlgMsg{font:700 17px/23px var(--font);color:var(--text);}
  /* профиль, топ, пропуск, победа */
  [data-design="matchday"] :is(.profile-head,.pl-head) .name{font:800 28px/32px var(--font);letter-spacing:-.025em;}
  [data-design="matchday"] .h2h-big{font-family:var(--display);font-stretch:78%;}
  [data-design="matchday"] .lb-rank{font:800 14px/1 var(--display);font-stretch:82%;background:var(--surface-2);color:var(--text-dim);border-radius:9px;}
  [data-design="matchday"] .lb-row:nth-child(1) .lb-rank{background:var(--star);color:var(--on-star);}
  [data-design="matchday"] .lb-row:nth-child(2) .lb-rank{background:#DDE1EA;color:#0E1116;}
  [data-design="matchday"] .lb-row:nth-child(3) .lb-rank{background:#E3A36B;color:#2A1700;}
  [data-design="matchday"] .lb-wins{font:800 15px/1 var(--display);font-stretch:82%;color:var(--accent-text);}
  [data-design="matchday"] .ach{border-radius:18px;}
  [data-design="matchday"] .ach.on{box-shadow:0 0 0 2px var(--accent),var(--sh-2);}
  [data-design="matchday"] .win-ov h2{font:900 44px/44px var(--display);font-stretch:78%;text-transform:uppercase;}
  [data-design="matchday"] .win-ov .cta{--b:#FFFFFF;--f:#0E1116;}
  [data-design="matchday"] .win-ov .cta.ghost{--b:rgba(255,255,255,.16);--f:#FFFFFF;border-color:rgba(255,255,255,.28);}
  [data-design="matchday"] .accents button.on{box-shadow:0 0 0 3px var(--bg),0 0 0 5px currentColor;}
  [data-design="matchday"] .ptr{background:var(--surface);box-shadow:var(--sh-2);}
  [data-design="matchday"] .design-seg{margin-top:8px;margin-bottom:0;}
  /* движение (макет v3): смена вкладки - снизу 6 px; карточки лесенкой - 10 px, шаг 40 мс, до 6 шт.
     Билеты - только при открытии вкладки (.md-stagger), не при фоновом обновлении раз в 30 с. */
  [data-design="matchday"] .screen.active{animation:mdView .2s var(--ease) both;}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach,.lb-row){animation:mdRise .2s var(--ease) both;}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach):nth-child(2){animation-delay:.04s}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach):nth-child(3){animation-delay:.08s}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach):nth-child(4){animation-delay:.12s}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach):nth-child(5){animation-delay:.16s}
  [data-design="matchday"] :is(.md-stagger > .t-card,.stat-tile,.ach):nth-child(n+6){animation-delay:.2s}
  @keyframes mdRise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  @keyframes mdView{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
  @keyframes mdSwap{from{opacity:0;transform:scale(.97);}to{opacity:1;transform:none;}}
  @keyframes mdStamp{0%{transform:scale(1.7) rotate(-26deg);opacity:0;}60%{transform:scale(.92) rotate(-6deg);opacity:1;}100%{transform:scale(1) rotate(-9deg);}}
  @keyframes mdFrSpin{to{--md-a:360deg;}}
  @property --md-a{syntax:'<angle>';initial-value:0deg;inherits:false;}
  @keyframes mdRing{0%{box-shadow:0 0 0 2px var(--accent),0 0 0 2px color-mix(in oklab,var(--accent) 45%,transparent);}100%{box-shadow:0 0 0 2px var(--accent),0 0 0 12px transparent;}}
  @keyframes mdStep{from{transform:scaleY(.15);}to{transform:scaleY(1);}}
  @keyframes mdFlip{0%{transform:rotateX(0);}50%{transform:rotateX(-90deg);}100%{transform:rotateX(0);}}
  @keyframes mdPulse{0%{box-shadow:0 0 0 0 rgba(255,59,48,.45);}100%{box-shadow:0 0 0 9px rgba(255,59,48,0);}}
  @keyframes mdPulseW{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6);}100%{box-shadow:0 0 0 9px rgba(255,255,255,0);}}
  @media (prefers-reduced-motion: reduce){
    [data-design="matchday"] *,[data-design="matchday"] *::before,[data-design="matchday"] *::after{animation:none!important;transition:none!important;}
  }

  /* ---- доступность (шаг 6) ---- */
  /* Поля карточки турнира - список «подпись → значение» (dl): у dl и dd браузер ставит отступы. */
  .md-fields,.md-fields dt,.md-fields dd{margin:0;}
  /* Видимый фокус с клавиатуры (палец его не включает): поля уже подсвечены своей рамкой. */
  /* Цветом текста, а не акцента: рядом с синей кнопкой синий контур не видно; tabindex="-1" - служебный фокус окон. */
  :is(button,a,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--text);outline-offset:2px;}
  [tabindex="-1"]:focus{outline:none;}
  /* iPhone (WebKit): нажатие на div/span доходит до общего слушателя на document (кнопки data-click в app.js),
     только если у элемента cursor:pointer - раньше это давал встроенный onclick (code-review #90). */
  [data-click]{cursor:pointer;}
  /* Кружки цвета 34 px: зона касания 44 px невидимой рамкой (зазор 10 px - соседние зоны не перекрываются). */
  .accents button{position:relative;}
  .accents button::after{content:"";position:absolute;inset:-5px;border-radius:50%;}

  /* ---- 13.10: цвет ника и статистика Brawl Stars (во всех трёх дизайнах) ---- */
  /* Цвет ника из игры и из пропуска (data-nc, app.js nc()): игровые цвета светлые - их рисуют на тёмном фоне игры.
     Тёмная тема - как есть; светлая - 45% цвета + 55% цвета текста: оттенок узнаётся, контраст ≥4.5:1 (было 1.0-3.4:1). */
  [data-nc]{color:var(--nc);}
  :root[data-theme="light"] [data-nc]{color:color-mix(in oklab, var(--nc) 45%, var(--text));}
  @media (prefers-color-scheme: light){ :root:not([data-theme]) [data-nc]{color:color-mix(in oklab, var(--nc) 45%, var(--text));} }

  /* Цвета уровней - как на картинках сервера (/bsgrid, /bscard): 2000+ розовый, 1000+ фиолетовый, 750+ золотой,
     500+ голубой, меньше - оранжевый, 0 - серый; сила: 11 - золото, 9-10 - фиолет, 7-8 - синий. Цифры - белые с обводкой. */
  .bs-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
  :is(.bs-tile,.bs-sw,.bs-bd-p){--tc:#8C93A6;--tc2:#5B6275;}
  :is(.bs-tile,.bs-sw,.bs-bd-p).t5{--tc:#E5468A;--tc2:#A51D5B;}
  :is(.bs-tile,.bs-sw,.bs-bd-p).t4{--tc:#7A5CF5;--tc2:#4A2EBE;}
  :is(.bs-tile,.bs-sw,.bs-bd-p).t3,:is(.bs-tile,.bs-sw).p11{--tc:#F2B300;--tc2:#B07400;}
  :is(.bs-tile,.bs-sw,.bs-bd-p).t2{--tc:#8DB3FF;--tc2:#4C76D4;}
  :is(.bs-tile,.bs-sw,.bs-bd-p).t1{--tc:#F2893A;--tc2:#B5521A;}
  :is(.bs-tile,.bs-sw).p9{--tc:#7A5CF5;--tc2:#4A2EBE;}
  :is(.bs-tile,.bs-sw).p7{--tc:#3D8BF2;--tc2:#1E56B6;}
  .bs-tile,.bs-btc,.bs-sw,.bs-tv,.bs-btv{--bs-ink:#1B1035;}
  /* белые цифры с тёмной обводкой и тенью снизу - как в Brawl Stars: обводка на 8 сторон, чтобы край был ровным */
  .bs-tv,.bs-btv,.bs-sw{text-shadow:0 -1.5px 0 var(--bs-ink),1.5px 0 0 var(--bs-ink),-1.5px 0 0 var(--bs-ink),-1px -1px 0 var(--bs-ink),1px -1px 0 var(--bs-ink),
    -1px 1px 0 var(--bs-ink),1px 1px 0 var(--bs-ink),0 2.5px 0 var(--bs-ink);}
  .bs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px;}
  .bs-tile{position:relative;display:block;width:100%;height:54px;margin:0;padding:0;border:0;border-radius:11px;overflow:hidden;cursor:pointer;
    color:#fff;font:inherit;text-align:left;-webkit-user-select:none;user-select:none;
    background:linear-gradient(100deg,color-mix(in oklab,var(--tc) 68%,#fff) 0%,var(--tc) 46%,var(--tc2) 100%);
    box-shadow:inset 0 -3px 0 rgba(0,0,0,.22),inset 0 0 0 1.5px rgba(16,8,40,.38),0 1px 2px rgba(16,24,40,.14);
    transition:transform 90ms cubic-bezier(.3,.7,.4,1);}
  .bs-tile:active{transform:scale(.95);}
  .bs-tile.p11{box-shadow:inset 0 -3px 0 rgba(0,0,0,.22),inset 0 0 0 2px #FFE07A,0 1px 2px rgba(16,24,40,.14);}
  .bs-tile::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 58%,rgba(255,255,255,.16) 58% 66%,transparent 66%);}
  .bs-tp{position:absolute;left:0;top:0;bottom:0;width:48%;background:rgba(16,8,40,.16);}
  .bs-tp img,.bs-bd-p img,.bs-btp img,.bs-fav-p img{display:block;width:100%;height:100%;object-fit:cover;}
  .bs-pw{position:absolute;left:3px;top:3px;z-index:1;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#5B6275;color:#fff;
    font:800 12px/1 "Tektur",var(--font);font-stretch:85%;box-shadow:0 0 0 1.5px #fff,0 1px 2px rgba(0,0,0,.4);}
  .bs-pw.max{background:#7C3AED;}
  .bs-grid.by-pw .bs-tile .bs-pw{display:none;}
  .bs-pr{position:absolute;left:3px;bottom:3px;z-index:1;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border-radius:8px;
    background:#C81E3A;color:#fff;font:800 12px/1 "Tektur",var(--font);box-shadow:0 0 0 1.5px #fff;}
  /* поиск по тегу: «Найти» - по ширине текста, поле - всё остальное (в «Классике» кнопка забирала половину строки) */
  .btn-row .cta.bs-find{flex:0 0 auto;padding-left:20px;padding-right:20px;}
  /* значок клуба в шапке клуба */
  .bs-cl-badge{flex:none;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(16,8,40,.3));}
  .bs-cl-head{gap:12px;}
  .bs-top{margin-bottom:16px;} .t-card > .bs-top{margin:10px 0 0;}
  .bs-tv{position:absolute;right:6px;top:5px;z-index:1;font:900 21px/1 "Tektur",var(--font);font-stretch:82%;letter-spacing:.01em;font-variant-numeric:tabular-nums;}
  .bs-tk{position:absolute;right:6px;bottom:6px;z-index:1;display:flex;gap:2px;}
  .bs-tk i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(16,8,40,.38);}
  .bs-tk i.on{box-shadow:0 0 0 1px rgba(16,8,40,.6);}
  .bs-dot{display:inline-block;flex:none;width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(16,8,40,.28);vertical-align:middle;}
  .bs-tk .sp.on,.bs-dot.sp{background:#FFC21A;}
  .bs-tk .ga.on,.bs-dot.ga{background:#3DDC84;}
  .bs-tk .hc.on,.bs-dot.hc{background:#FF5CC8;}
  .bs-tk .ge.on,.bs-dot.ge{background:#4CB8FF;}
  /* баффи - перламутр, как на плакате: плитка в сортировке «по силе», образец в легенде, точка в сводке и карточке */
  :is(.bs-tile,.bs-sw).buff{background:linear-gradient(115deg,#94CEFF 0%,#FFFFED 48%,#FFA8DE 100%);}
  .bs-dot.bf{background:linear-gradient(135deg,#94CEFF,#FFFFED 50%,#FFA8DE);}
  /* сводка над сеткой: 2×2 - на 11 силе, звёздные силы, гаджеты, гиперзаряды */
  .bs-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;}
  .bs-chip{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--sh-1,none);}
  .bs-chip > div{min-width:0;}
  .bs-chip .bs-pw{position:static;flex:none;}
  .bs-chip b{display:block;font:800 18px/22px "Tektur",var(--font);font-stretch:85%;font-variant-numeric:tabular-nums;}
  .bs-chip > div > span{display:block;font-size:12px;line-height:16px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  /* легенда цветов и точек - свёрнута, чтобы не отнимать место у сетки */
  .bs-legend{margin:0 0 12px;}
  .bs-lg{display:flex;flex-direction:column;gap:10px;padding:12px 4px 4px;}
  .bs-lg-t{font-size:13px;line-height:18px;color:var(--text-dim);}
  .bs-lg-row{display:flex;flex-wrap:wrap;gap:6px 12px;}
  .bs-sw{display:inline-flex;align-items:center;height:26px;padding:0 9px;border-radius:8px;color:#fff;font:800 13px/1 "Tektur",var(--font);font-stretch:85%;
    background:linear-gradient(100deg,var(--tc),var(--tc2));box-shadow:inset 0 0 0 1px rgba(16,8,40,.3);}
  .bs-lg-row:has(.bs-sw){gap:6px;}
  .bs-lg-d{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:18px;}
  .bs-lg .setup{margin:0;}
  /* шторка бравлера и боя */
  .bs-bd{display:flex;align-items:center;gap:14px;margin:0 0 14px;}
  .bs-bd-p{position:relative;flex:none;width:76px;height:76px;border-radius:16px;overflow:hidden;
    background:linear-gradient(135deg,color-mix(in oklab,var(--tc) 70%,#fff),var(--tc2));box-shadow:inset 0 -3px 0 rgba(0,0,0,.2),inset 0 0 0 1.5px rgba(16,8,40,.3);}
  .bs-bd-p.bs-btc{display:block;padding:0;aspect-ratio:auto;min-height:0;cursor:default;}
  .bs-bd-i{min-width:0;}
  .bs-bd-i h3{margin:0 0 4px;font:800 22px/26px var(--display,var(--font));overflow-wrap:anywhere;}
  .bs-bd-i > span{font-size:14px;line-height:20px;color:var(--text-dim);}
  .bs-ks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;}
  .bs-k{min-width:0;padding:10px 12px;border-radius:12px;background:var(--surface-2);}
  .bs-k b{display:block;font:800 20px/24px "Tektur",var(--font);font-stretch:85%;font-variant-numeric:tabular-nums;}
  .bs-k > span,.bs-k > div > span{display:block;font-size:12px;line-height:16px;color:var(--text-dim);}
  .bs-k.up b{color:var(--positive);} .bs-k.down b{color:var(--magenta);}
  .bs-k.fav{grid-column:1/-1;display:flex;align-items:center;gap:10px;}
  .bs-k.fav b{font:700 16px/20px var(--font);}
  .bs-fav-p{flex:none;width:40px;height:40px;border-radius:10px;overflow:hidden;background:var(--fill);}
  .bs-bd-r{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border);}
  .bs-bd-r .bs-dot{margin-top:4px;}
  .bs-bd-r b{display:block;font-size:15px;line-height:20px;}
  .bs-bd-r span{display:block;font-size:15px;line-height:21px;color:var(--text-dim);}
  .bs-res{display:inline-block;margin-top:2px;padding:3px 9px;border-radius:8px;font:700 13px/18px var(--font);background:var(--fill);color:var(--text);}
  .bs-res.victory{background:#15803D;color:#fff;} .bs-res.defeat{background:#C8283E;color:#fff;}
  /* бои: сводка, сетка 5 в ряд, режимы */
  .bs-bt-h{display:flex;flex-direction:column;gap:12px;}
  .bs-bt-h .bs-ks{margin:0;}
  .bs-wr{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;}
  .bs-wr b{font:900 44px/1 "Tektur",var(--font);font-stretch:80%;font-variant-numeric:tabular-nums;}
  .bs-wr span{font-size:14px;line-height:20px;color:var(--text-dim);}
  .bs-wl{display:flex;gap:2px;height:12px;border-radius:6px;overflow:hidden;background:var(--fill);}
  .bs-wl i{display:block;min-width:4px;} .bs-wl .victory{background:#22A04B;} .bs-wl .draw{background:#8C93A6;} .bs-wl .defeat{background:#E0384D;}
  .bs-btg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 8px;}
  .bs-btc{--tc:#8C93A6;--tc2:#5B6275;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;aspect-ratio:1/1.08;min-height:52px;
    margin:0;padding:0 0 5px;border:0;border-radius:11px;overflow:hidden;cursor:pointer;color:#fff;font:inherit;
    background:linear-gradient(180deg,color-mix(in oklab,var(--tc) 78%,#fff),var(--tc) 55%,var(--tc2));box-shadow:inset 0 -3px 0 rgba(0,0,0,.22),inset 0 0 0 1.5px rgba(16,8,40,.3);
    transition:transform 90ms cubic-bezier(.3,.7,.4,1);}
  .bs-btc:active{transform:scale(.94);}
  .bs-btc.victory{--tc:#22A04B;--tc2:#13703A;} .bs-btc.defeat{--tc:#E0384D;--tc2:#A0182E;}
  .bs-btp{position:absolute;left:50%;top:5px;width:62%;aspect-ratio:1/1;transform:translateX(-50%);border-radius:9px;overflow:hidden;background:rgba(16,8,40,.2);box-shadow:0 0 0 1.5px rgba(16,8,40,.35);}
  .bs-btv{position:relative;z-index:1;font:900 14px/1 "Tektur",var(--font);font-stretch:85%;font-variant-numeric:tabular-nums;}
  .bs-mvp{position:absolute;right:3px;top:3px;z-index:1;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#FFC21A;color:#5A3A00;font:900 12px/1 var(--font);box-shadow:0 0 0 1.5px #fff;}
  .bs-mode{padding:8px 0;} .bs-mode + .bs-mode{border-top:1px solid var(--border);}
  .bs-mode-t{display:flex;justify-content:space-between;gap:8px;font-size:15px;line-height:20px;}
  .bs-mode-t b{font-variant-numeric:tabular-nums;}
  .bs-bar{height:8px;margin:6px 0 4px;border-radius:4px;overflow:hidden;background:var(--fill);}
  .bs-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#22A04B,#3DDC84);}
  .bs-mode small{font-size:12px;line-height:16px;color:var(--text-dim);}
  /* картинки сервера: превью (сетка 16:9, карточка 9:16), пока грузится - переливание, не загрузилась - подпись */
  .bs-img > h3{margin:0 0 10px;}
  .bs-img-pv{position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:zoom-in;color:inherit;
    background:linear-gradient(110deg,var(--fill) 30%,var(--surface-2) 50%,var(--fill) 70%);background-size:200% 100%;animation:bsShim 1.4s linear infinite;}
  @keyframes bsShim{from{background-position:100% 0;}to{background-position:-100% 0;}}
  .bs-img.grid .bs-img-pv{aspect-ratio:16/9;}
  .bs-img-pv img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
  .bs-img-na{position:absolute;inset:0;display:grid;place-items:center;padding:8px;font-size:12px;line-height:16px;color:var(--text-dim);text-align:center;}
  .bs-img-pv:has(img) .bs-img-na{visibility:hidden;}
  .bs-img-pv:not(:has(img)){animation:none;cursor:default;}
  .bs-img.card{display:flex;align-items:flex-start;gap:14px;}
  .bs-img.card .bs-img-pv{flex:none;width:96px;aspect-ratio:9/16;border-radius:12px;}
  .bs-img-r{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;}
  .bs-img-r h3{margin:0;} .bs-img-r .setup{margin:0;}
  .bs-img-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
  .bs-img .bs-img-acts .cta{flex:1 1 auto;width:auto;margin:0;min-height:44px;}
  .bs-img.card .bs-img-acts{flex-direction:column;margin-top:6px;}
  .bs-img:not(:has(.bs-img-pv img)) .bs-img-acts .cta.ghost{display:none;}
  /* просмотр на весь экран */
  .bs-viewer{position:fixed;inset:0;z-index:70;display:none;flex-direction:column;color:#fff;background:rgba(6,6,14,calc(.985 * var(--bs-v-fade,1)));touch-action:none;}
  .bs-viewer.open{display:flex;animation:bsVin .18s ease-out both;}
  @keyframes bsVin{from{opacity:0;}to{opacity:1;}}
  .bs-v-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;
    padding:calc(60px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)) 12px 8px;}
  .bs-v-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
    transform-origin:center center;will-change:transform;}
  .bs-v-x{position:absolute;right:12px;top:calc(8px + var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));width:44px;height:44px;
    display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer;}
  .bs-v-bar{display:flex;gap:8px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px) + var(--tg-safe-area-inset-bottom,0px));}
  .bs-v-bar{flex-wrap:wrap;}
  .bs-viewer .bs-v-bar .cta{flex:1 1 0;width:auto;margin:0;min-height:48px;white-space:nowrap;}
  .bs-viewer .bs-v-bar .cta:not(.ghost){flex-basis:100%;}   /* «В сторис» - во всю ширину, «В чат» и «Скачать» - рядом под ней */
  .bs-viewer .bs-v-bar .cta.ghost{--b:rgba(255,255,255,.14);--f:#FFFFFF;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:none;}
  @media (prefers-reduced-motion: reduce){
    .bs-img-pv,.bs-viewer.open{animation:none;}
    .bs-tile,.bs-btc{transition:none;}
  }

  /* 🚨 «Срочно к организатору» (bot/webapp/urgent_api.py): красная кнопка и карточка, обе темы и все оформления */
  .cta.urgent{background:var(--danger-fill,#E0284A);color:#fff;border:none;}
  [data-design="arena"] .cta.urgent{--b:var(--danger-fill,#E0284A);--f:#FFFFFF;}
  [data-design="matchday"] .cta.urgent{--b:var(--danger-fill,#E0284A);--f:#FFFFFF;border-color:transparent;}
  .ug-card{border:1.5px solid color-mix(in srgb, var(--danger-fill,#E0284A) 55%, transparent);
    background:color-mix(in srgb, var(--danger-fill,#E0284A) 8%, var(--surface));}
  .ug-card h3{color:var(--danger-text,#C21E3A);}
  .ug-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border);}
  .ug-row .cta{flex:none;width:auto;margin:0;}
  .ug-t{min-width:0;flex:1 1 auto;font-size:15px;font-weight:600;overflow-wrap:anywhere;}
  .ug-t small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--text-dim);}
  .ug-money{font-weight:800;color:var(--danger-text,#C21E3A);}
  .ug-item{padding:10px 0;border-top:1px solid var(--border);}
  .ug-item .btn-row{margin-top:8px;}
  .ug-item .note{margin:8px 0 0;}
