/* Верхняя панель страницы турнира: «← Назад» + переключатель «Турнир / Предикт» */
.td-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}
.td-mode{display:inline-flex;padding:3px;border-radius:999px;background:var(--bg-elev,#101720);border:1px solid var(--border,#243349);position:relative}
.td-mode button{appearance:none;border:0;background:transparent;color:var(--muted,#8a98ad);font:inherit;font-size:13px;font-weight:700;
  padding:6px 16px;border-radius:999px;cursor:pointer;transition:color .2s,background .25s,box-shadow .25s;white-space:nowrap}
.td-mode button:hover{color:var(--text,#e8eef8)}
.td-mode button.active{color:#fff;background:linear-gradient(135deg,var(--accent,#3D7FFF),#7a5cff);box-shadow:0 2px 14px rgba(61,127,255,.45)}

/* Раздел «Предикт» */
.pd-wrap{margin-bottom:24px;user-select:none;-webkit-user-select:none}
.pd-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.pd-title{margin:0 0 4px;font-size:22px}
.pd-hint{margin:0;max-width:640px;color:var(--muted,#8a98ad);font-size:13px;line-height:1.5}
.pd-actions{display:flex;gap:8px;flex-wrap:wrap}
.pd-sum{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.pd-pill{display:flex;flex-direction:column;gap:2px;padding:8px 14px;border-radius:12px;background:var(--bg-elev,#101720);border:1px solid var(--border,#243349);min-width:120px}
.pd-pill em{font-style:normal;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8a98ad)}
.pd-pill b{font-size:16px}
.pd-pill.gold{border-color:rgba(255,200,60,.55);background:linear-gradient(135deg,rgba(255,200,60,.14),transparent)}
.pd-pill.gold b{color:#ffc83c}

.pd-scroll{overflow-x:auto;overflow-y:hidden;border-radius:16px;border:1px solid var(--border,#243349);
  background:radial-gradient(900px 420px at 15% 0%,rgba(61,127,255,.12),transparent 70%),radial-gradient(700px 400px at 100% 100%,rgba(255,122,31,.08),transparent 70%),var(--bg,#070A10);
  -webkit-overflow-scrolling:touch}
.pd-world{position:relative;user-select:none;-webkit-user-select:none}
.pd-world::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--border,#243349) 1px,transparent 1px),linear-gradient(90deg,var(--border,#243349) 1px,transparent 1px);
  background-size:32px 32px;-webkit-mask-image:linear-gradient(#000,transparent 85%);mask-image:linear-gradient(#000,transparent 85%)}

/* скамейка */
.pd-pool{position:absolute;left:10px;right:10px;top:8px;border-radius:14px;border:1.5px dashed var(--border,#243349);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));transition:border-color .2s,background .2s,box-shadow .2s}
.pd-pool span{position:absolute;left:14px;bottom:8px;font-size:11px;letter-spacing:.04em;color:var(--muted,#8a98ad);pointer-events:none}
.pd-pool.ok{border-color:rgba(61,127,255,.6)}
.pd-pool.hot{border-color:var(--accent,#3D7FFF);background:rgba(61,127,255,.12);box-shadow:inset 0 0 30px rgba(61,127,255,.25)}

.pd-col{position:absolute;text-align:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8a98ad);pointer-events:none}
.pd-col.gold{color:#ffc83c}

/* слоты-сокеты */
.pd-slot{position:absolute;box-sizing:border-box;border-radius:12px;border:1.5px dashed rgba(138,152,173,.35);
  background:rgba(0,0,0,.18);box-shadow:inset 0 2px 8px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;
  transition:border-color .18s,background .18s,box-shadow .18s,opacity .18s}
.pd-slot.final{border-color:rgba(255,200,60,.5)}
.pd-slot.won{border-color:#ffc83c;box-shadow:inset 0 2px 8px rgba(0,0,0,.35),0 0 26px rgba(255,200,60,.35)}
.pd-slot.ok{border-style:solid;border-color:rgba(61,127,255,.65);animation:pdPulse 1.1s ease-in-out infinite}
.pd-slot.no{opacity:.35}
.pd-slot.hot{border-color:var(--accent,#3D7FFF);background:rgba(61,127,255,.2);box-shadow:0 0 0 3px rgba(61,127,255,.25),0 0 28px rgba(61,127,255,.55);animation:none;opacity:1}
@keyframes pdPulse{0%,100%{box-shadow:0 0 0 0 rgba(61,127,255,0)}50%{box-shadow:0 0 14px 1px rgba(61,127,255,.4)}}
.pd-ghost{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:13px;opacity:.32;filter:grayscale(.4)}
.pd-ghost img{width:20px;height:20px;border-radius:5px;object-fit:cover}

/* линии сетки */
.pd-lines{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.pd-lines path{fill:none;stroke:rgba(138,152,173,.3);stroke-width:2;stroke-linejoin:round}
.pd-lines path.on{stroke:var(--accent,#3D7FFF);stroke-width:2.5;filter:drop-shadow(0 0 5px rgba(61,127,255,.7))}

/* фишки-команды */
.pd-chip{position:absolute;left:0;top:0;z-index:5;box-sizing:border-box;display:flex;align-items:center;gap:8px;height:46px;
  padding:0 12px 0 7px;border-radius:12px;cursor:grab;touch-action:none;will-change:transform;
  color:var(--text,#e8eef8);background:linear-gradient(160deg,var(--bg-elev-2,#182233),var(--bg-elev,#101720));
  border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.1);
  transition:width .25s cubic-bezier(.3,1.4,.5,1),border-color .2s,box-shadow .2s,filter .25s,opacity .25s}
.pd-chip.free{width:104px;border-radius:999px;padding-right:10px}
.pd-chip.docked{width:176px}
.pd-chip.free small,.pd-chip.free .pd-x{display:none}
.pd-chip b{font-size:14px;letter-spacing:.02em;white-space:nowrap}
.pd-chip small{margin-left:auto;font-size:10.5px;color:var(--muted,#8a98ad);white-space:nowrap}
.pd-logo{flex:none;width:32px;height:32px;border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;background:rgba(255,255,255,.08)}
.pd-logo img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.pd-chip.dragging{cursor:grabbing;z-index:30;width:176px;border-color:var(--accent,#3D7FFF);
  box-shadow:0 18px 34px rgba(0,0,0,.6),0 0 0 2px rgba(61,127,255,.35),0 0 30px rgba(61,127,255,.5)}
.pd-chip.free.dragging{border-radius:12px}
.pd-chip.free.dragging small{display:block}
.pd-chip.champ{border-color:#ffc83c;background:linear-gradient(160deg,rgba(255,200,60,.28),var(--bg-elev,#101720));box-shadow:0 6px 22px rgba(255,200,60,.35),inset 0 1px 0 rgba(255,255,255,.2)}
.pd-chip.out{filter:grayscale(.85);opacity:.55}
.pd-chip .pd-x{display:none;margin-left:auto;font-style:normal;font-weight:800;color:#ff5d5d}
.pd-chip.out small{display:none}
.pd-chip.out .pd-x{display:block}

.pd-crown{position:absolute;z-index:6;font-size:30px;line-height:1;opacity:0;transform:translateY(-14px) scale(.4) rotate(-20deg);
  transition:opacity .3s,transform .5s cubic-bezier(.3,1.6,.5,1);pointer-events:none;filter:drop-shadow(0 4px 8px rgba(255,200,60,.6))}
.pd-crown.show{opacity:1;transform:translateY(0) scale(1) rotate(0)}
.pd-ripple{position:absolute;z-index:4;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2px solid var(--accent,#3D7FFF);pointer-events:none;animation:pdRipple .65s ease-out forwards}
@keyframes pdRipple{to{transform:scale(9);opacity:0}}
.pd-conf{position:absolute;z-index:40;width:8px;height:12px;border-radius:2px;pointer-events:none;animation:pdConf 1.2s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes pdConf{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}

.pd-eco{margin-bottom:12px}
.pd-eco-box{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,200,60,.4);background:linear-gradient(135deg,rgba(255,200,60,.08),transparent)}
.pd-eco-main{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.pd-third{display:flex;gap:6px}
.pd-third button{appearance:none;border:1px solid var(--border,#243349);background:transparent;color:var(--text,#e8eef8);font:inherit;font-weight:700;font-size:13px;padding:2px 10px;border-radius:999px;cursor:pointer}
.pd-third button.on{background:var(--accent,#3D7FFF);border-color:var(--accent,#3D7FFF);color:#fff}
.pd-old{margin-top:18px}
.pd-old summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted,#8a98ad)}

@media (max-width:640px){
  .pd-title{font-size:18px}
  .td-mode button{padding:6px 12px}
}
@media (prefers-reduced-motion:reduce){
  .pd-slot.ok{animation:none}
  .pd-chip,.pd-crown{transition:none}
}
