/* Smurf Detector V3 */
:root{--sm-acc:#6366f1;--sm-red:#f87171;--sm-green:#4ade80;--sm-yellow:#fbbf24;--sm-orange:#fb923c;--sm-purple:#a78bfa}

/* Hero section */
.sm3-hero{background:linear-gradient(180deg,rgba(239,68,68,.06) 0%,transparent 100%);border-bottom:1px solid var(--glass-border);text-align:center;padding:3.5rem 1rem 3rem}
.sm3-hero-inner{max-width:640px;margin:0 auto}
.sm3-hero .breadcrumbs{display:flex;gap:.4rem;align-items:center;justify-content:center;font-size:.85rem;color:var(--txt-muted);margin-bottom:1.2rem;flex-wrap:wrap}
.sm3-hero .breadcrumbs a{color:var(--acc);text-decoration:none}
.sm3-hero .breadcrumbs a:hover{text-decoration:underline}
.sm3-hero .bc-sep{opacity:.4;font-size:.75rem}
.sm3-hero .bc-current{color:var(--txt)}
.sm3-icon-wrap{display:inline-flex;margin-bottom:1.25rem}
.sm3-hero-icon{width:72px;height:72px;filter:drop-shadow(0 0 10px rgba(239,68,68,.6)) drop-shadow(0 0 28px rgba(239,68,68,.35));animation:sm3Glow 3s ease-in-out infinite}
@keyframes sm3Glow{0%,100%{filter:drop-shadow(0 0 10px rgba(239,68,68,.6)) drop-shadow(0 0 28px rgba(239,68,68,.35))}50%{filter:drop-shadow(0 0 18px rgba(239,68,68,.8)) drop-shadow(0 0 40px rgba(239,68,68,.5))}}
.sm3-title{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;margin:0 0 .6rem;background:linear-gradient(135deg,#f87171,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sm3-subtitle{color:var(--txt-muted);font-size:1rem;margin:0 auto;max-width:560px;line-height:1.6}

/* Search */
.sm3-search-card{max-width:560px;margin:2rem auto;background:var(--card);border:1px solid var(--glass-border);border-radius:18px;padding:2rem}
.sm3-input-row{display:flex;gap:.6rem}
.sm3-input{flex:1;background:rgba(255,255,255,.04);border:1px solid var(--glass-border);border-radius:10px;padding:.75rem 1rem;color:var(--txt);font-size:.95rem;outline:none;transition:border .2s}
.sm3-input:focus{border-color:var(--sm-red)}
.sm3-input::placeholder{color:var(--txt-muted)}
.sm3-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:10px;padding:.75rem 1.5rem;font-weight:700;font-size:.95rem;cursor:pointer;transition:transform .15s,box-shadow .2s;white-space:nowrap}
.sm3-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(239,68,68,.3)}
.sm3-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.sm3-hints{margin-top:.8rem;font-size:.78rem;color:var(--txt-muted);line-height:1.6}
.sm3-error{margin-top:.8rem;padding:.6rem 1rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--sm-red);font-size:.85rem;display:none}
.sm3-error.visible{display:block}

/* Queue / Progress */
.sm3-queue-card{max-width:560px;margin:2rem auto;background:var(--card);border:1px solid var(--glass-border);border-radius:18px;padding:2.5rem 2rem;text-align:center;display:none}
.sm3-queue-card.visible{display:block}
.sm3-queue-spinner{width:56px;height:56px;border:3px solid var(--glass-border);border-top:3px solid var(--sm-red);border-radius:50%;animation:sm3Spin 1s linear infinite;margin:0 auto 1.5rem}
@keyframes sm3Spin{to{transform:rotate(360deg)}}
.sm3-queue-title{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:var(--txt)}
.sm3-queue-step{font-size:.9rem;color:var(--txt-muted);margin:0 0 1.5rem}
.sm3-queue-steps{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}
.sm3-step{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.sm3-step-dot{width:12px;height:12px;border-radius:50%;background:var(--glass-border);transition:background .3s}
.sm3-step-dot.active{background:var(--sm-red);box-shadow:0 0 8px rgba(239,68,68,.5)}
.sm3-step-dot.done{background:var(--sm-green)}
.sm3-step-label{font-size:.72rem;color:var(--txt-muted)}
.sm3-queue-eta{font-size:.85rem;color:var(--txt);margin:.2rem 0 0;font-weight:600}
.sm3-queue-hint{font-size:.78rem;color:var(--txt-muted);margin:.6rem 0 0;max-width:42ch;margin-left:auto;margin-right:auto;line-height:1.45}

/* Live queue position badge */
.sm3-queue-position{display:none;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;
  margin:0 auto 1.2rem;padding:.55rem 1rem;border-radius:999px;
  background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.28);
  color:var(--txt);font-size:.9rem;max-width:max-content}
.sm3-queue-position.visible{display:inline-flex}
.sm3-queue-pos-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-muted)}
.sm3-queue-pos-num{font-weight:700;font-size:1rem}
.sm3-queue-pos-num strong{font-size:1.15rem;color:#f59e0b}
.sm3-queue-pos-phase{font-size:.75rem;color:var(--txt-muted);border-left:1px solid rgba(245,158,11,.28);padding-left:.6rem}

/* Phase-2 progress bar inside queue card */
.sm3-queue-deep{display:none;margin:1rem auto 0;max-width:360px;text-align:left}
.sm3-queue-deep.visible{display:block}
.sm3-queue-deep-row{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.3rem;font-size:.78rem}
.sm3-queue-deep-label{color:var(--txt-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}
.sm3-queue-deep-text{color:var(--txt);font-weight:600}
.sm3-queue-deep-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.sm3-queue-deep-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#dc2626);
  box-shadow:0 0 10px rgba(245,158,11,.5);transition:width .5s ease;width:0%}

/* Result */
.sm3-result{max-width:820px;margin:0 auto;padding:2rem 1rem 4rem}

/* Profile */
.sm3-profile{display:flex;align-items:center;gap:1.25rem;background:var(--card);border:1px solid var(--glass-border);border-radius:18px;padding:1.5rem;flex-wrap:wrap}
.sm3-avatar{width:72px;height:72px;border-radius:14px;flex-shrink:0}
.sm3-profile-info{flex:1;min-width:160px}
.sm3-profile-name{font-size:1.3rem;font-weight:700;margin:0}
.sm3-profile-id{font-size:.78rem;color:var(--txt-muted);margin-top:.15rem}
.sm3-profile-rank{font-size:.85rem;color:var(--sm-acc);margin-top:.25rem;font-weight:600}
.sm3-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-left:auto}
.sm3-stat{text-align:center}
.sm3-stat-value{font-size:1.1rem;font-weight:700;color:var(--txt)}
.sm3-stat-label{font-size:.7rem;color:var(--txt-muted);margin-top:.1rem}

/* Verdict */
.sm3-verdict{display:flex;align-items:center;gap:1.5rem;background:var(--card);border:1px solid var(--glass-border);border-radius:18px;padding:1.5rem;margin-top:1.25rem;flex-wrap:wrap}
.sm3-verdict-ring{position:relative;width:100px;height:100px;flex-shrink:0}
.sm3-verdict-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sm3-verdict-ring .bg{fill:none;stroke:var(--glass-border);stroke-width:6}
.sm3-verdict-ring .fg{fill:none;stroke:var(--sm-red);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.sm3-verdict-score{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800}
.sm3-verdict-info{flex:1;min-width:200px}
.sm3-verdict-label{font-size:1.3rem;font-weight:700;margin-bottom:.3rem}
.sm3-verdict-desc{font-size:.88rem;color:var(--txt-muted);margin:.3rem 0;line-height:1.5}
.sm3-verdict-override{display:inline-block;font-size:.78rem;color:var(--sm-orange);margin-top:.4rem}
.sm3-verdict-subtype{display:inline-block;font-size:.78rem;color:var(--sm-purple);margin-top:.3rem;background:rgba(167,139,250,.1);padding:.2rem .6rem;border-radius:6px}

/* Confidence badges */
.sm3-confidence{display:inline-block;font-size:.72rem;padding:.2rem .5rem;border-radius:6px;margin-bottom:.3rem;font-weight:600}
.sm3-conf-high{background:rgba(239,68,68,.12);color:#f87171}
.sm3-conf-medium{background:rgba(251,191,36,.12);color:#fbbf24}
.sm3-conf-low{background:rgba(148,163,184,.12);color:#94a3b8}

/* Verdict colours */
.v-clean .sm3-verdict-label{color:var(--sm-green)}
.v-clean .fg{stroke:var(--sm-green)}
.v-suspicious .sm3-verdict-label{color:var(--sm-yellow)}
.v-suspicious .fg{stroke:var(--sm-yellow)}
.v-smurf .sm3-verdict-label{color:var(--sm-red)}
.v-smurf .fg{stroke:var(--sm-red)}
.v-stolen_account .sm3-verdict-label{color:var(--sm-purple)}
.v-stolen_account .fg{stroke:var(--sm-purple)}
.v-boost .sm3-verdict-label{color:var(--sm-orange)}
.v-boost .fg{stroke:var(--sm-orange)}
.v-turbo .sm3-verdict-label{color:#c084fc}
.v-turbo .fg{stroke:#c084fc}

/* V4.4.2: admin-override остаётся невидимым для публики — админ-метка
   рендерится как обычный auto-вердикт. Если в DOM остался legacy-бейдж,
   прячем его на случай кеша. */
.sm3-admin-badge{display:none !important}

/* Factors */
.sm3-section-title{font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;display:flex;align-items:center;gap:.5rem}
.sm3-factor-count{font-size:.8rem;color:var(--txt-muted);font-weight:400}
.sm3-factors{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}
.sm3-factor{background:var(--card);border:1px solid var(--glass-border);border-radius:14px;padding:1rem 1.2rem}
.sm3-factor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.sm3-factor-name{font-weight:600;font-size:.88rem}
.sm3-factor-score{font-weight:700;font-size:.85rem}
.sm3-factor-bar{height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.sm3-factor-fill{height:100%;border-radius:3px;transition:width .4s ease}
.sm3-factor-fill.low{background:var(--sm-green)}
.sm3-factor-fill.mid{background:var(--sm-yellow)}
.sm3-factor-fill.high{background:var(--sm-red)}
.sm3-factor-info{font-size:.78rem;color:var(--txt-muted);margin-top:.5rem;line-height:1.5}
.sm3-factor-weight{font-size:.68rem;color:rgba(255,255,255,.25);margin-top:.3rem}

/* Heroes */
.sm3-heroes{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}
.sm3-hero-card{background:var(--card);border:1px solid var(--glass-border);border-radius:12px;padding:.75rem;text-align:center}
.sm3-hero-img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.sm3-hero-name{font-size:.72rem;font-weight:600;margin-top:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm3-hero-stats{font-size:.65rem;color:var(--txt-muted);margin-top:.15rem}

/* Matches */
.sm3-matches{background:var(--card);border:1px solid var(--glass-border);border-radius:14px;overflow:hidden}
.sm3-match{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-bottom:1px solid var(--glass-border);font-size:.82rem}
.sm3-match:last-child{border-bottom:none}
.sm3-match-hero-img{width:28px;height:28px;border-radius:6px;object-fit:cover;flex-shrink:0}
.sm3-match-hero{flex:1;font-weight:500;min-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm3-match-kda{font-weight:600;min-width:60px;text-align:center}
.sm3-match-won{color:var(--sm-green)}
.sm3-match-lost{color:var(--sm-red)}
.sm3-match-gpm{color:var(--sm-yellow);min-width:60px;text-align:center}
.sm3-match-dur{color:var(--txt-muted);min-width:40px;text-align:center}
.sm3-match-link{color:var(--sm-acc);text-decoration:none;font-weight:600}

/* Admin */
.sm3-admin{max-width:1100px;margin:0 auto;padding:1rem 1rem 4rem}
.sm3-admin-stats{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}
.sm3-admin-stat{background:var(--card);border:1px solid var(--glass-border);border-radius:12px;padding:.55rem 1rem;text-align:center;min-width:80px;transition:transform .12s ease,border-color .12s ease}
.sm3-admin-stat-value{font-size:1.15rem;font-weight:700;line-height:1.1}
.sm3-admin-stat-label{font-size:.7rem;color:var(--txt-muted);margin-top:.15rem}
.sm3-admin-stat-total{border-color:rgba(99,162,255,.6)}
.sm3-admin-stat-muted{opacity:.75}
.sm3-admin-stat-v-clean{border-color:rgba(74,222,128,.55)}
.sm3-admin-stat-v-suspicious{border-color:rgba(251,191,36,.6)}
.sm3-admin-stat-v-smurf{border-color:rgba(248,113,113,.6)}
.sm3-admin-stat-v-boost{border-color:rgba(168,85,247,.6)}
.sm3-admin-stat-v-turbo{border-color:rgba(192,132,252,.6)}
.sm3-admin-stat-sub{opacity:.82;padding:.45rem .85rem}
.sm3-admin-stat-sub .sm3-admin-stat-value{font-size:1rem}
.sm3-admin-stat-label{letter-spacing:.02em}
.sm3-admin-stat-disagree{border-color:rgba(251,191,36,.75);background:rgba(251,191,36,.08)}
.sm3-admin-stat-disagree:hover{transform:translateY(-1px);border-color:rgba(251,191,36,1)}
.sm3-admin-stat-disagree-strict{border-color:rgba(248,113,113,.75);background:rgba(248,113,113,.1)}
.sm3-admin-stat-disagree-strict .sm3-admin-stat-value{color:#fca5a5}
.sm3-admin-stat-pct{font-size:.82rem;font-weight:600;opacity:.85;margin-left:.25rem}
.sm3-admin-stat-label{font-size:.72rem;color:var(--txt-muted);margin-top:.15rem}
.sm3-admin-table{width:100%;border-collapse:collapse;font-size:.82rem}
.sm3-admin-table th{text-align:left;padding:.6rem .5rem;border-bottom:2px solid var(--glass-border);font-size:.75rem;color:var(--txt-muted);text-transform:uppercase;letter-spacing:.03em}
.sm3-admin-table td{padding:.5rem;border-bottom:1px solid var(--glass-border)}
.sm3-admin-table tbody tr:hover{background:rgba(255,255,255,.02)}
.sm3-admin-btn{background:rgba(255,255,255,.06);border:1px solid var(--glass-border);border-radius:6px;padding:.3rem .6rem;color:var(--txt);font-size:.72rem;cursor:pointer;transition:background .15s}
.sm3-admin-btn:hover{background:rgba(255,255,255,.12)}
.sm3-admin-btn.active{background:var(--sm-red);border-color:var(--sm-red);color:#fff}
.sm3-admin-actions{display:flex;gap:.3rem;flex-wrap:wrap}

/* Badges */
.sm3-badge{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.72rem;font-weight:600}
.sm3-badge-clean{background:rgba(74,222,128,.12);color:var(--sm-green)}
.sm3-badge-suspicious{background:rgba(251,191,36,.12);color:var(--sm-yellow)}
.sm3-badge-smurf{background:rgba(248,113,113,.12);color:var(--sm-red)}
.sm3-badge-stolen_account{background:rgba(167,139,250,.12);color:var(--sm-purple)}
.sm3-badge-boost{background:rgba(251,146,60,.12);color:var(--sm-orange)}
.sm3-badge-turbo{background:rgba(168,85,247,.12);color:#c084fc}

/* Modal */
.sm3-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}
.sm3-modal-content{background:var(--card);border:1px solid var(--glass-border);border-radius:18px;padding:2rem;max-width:420px;width:90%}
.sm3-modal-content h3{margin:0 0 1rem;font-size:1.1rem}
.sm3-form-group{margin-bottom:.75rem}
.sm3-form-group label{display:block;font-size:.78rem;color:var(--txt-muted);margin-bottom:.25rem}
.sm3-form-group select,.sm3-form-group input,.sm3-form-group textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--glass-border);border-radius:8px;padding:.5rem .75rem;color:var(--txt);font-size:.85rem;outline:none}
.sm3-form-group select:focus,.sm3-form-group input:focus,.sm3-form-group textarea:focus{border-color:var(--sm-red)}

/* User vote (V3.4) */
.sm3-vote{max-width:820px;margin:2rem auto 1rem;padding:1.25rem 1.5rem;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:14px}
.sm3-vote .sm3-section-title{margin-top:0}
.sm3-vote-hint{color:var(--txt-muted);font-size:.88rem;margin:0 0 1rem}
.sm3-vote-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.sm3-vote-btn{padding:.5rem 1rem;border-radius:10px;border:1px solid var(--glass-border);background:rgba(255,255,255,.04);color:var(--txt);cursor:pointer;font-size:.88rem;font-weight:600;transition:transform .15s,background .2s,border-color .2s}
.sm3-vote-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.sm3-vote-btn.v-smurf{border-color:rgba(248,113,113,.35);color:#f87171}
.sm3-vote-btn.v-smurf:hover{background:rgba(248,113,113,.12)}
.sm3-vote-btn.v-boost{border-color:rgba(251,146,60,.35);color:#fb923c}
.sm3-vote-btn.v-boost:hover{background:rgba(251,146,60,.12)}
.sm3-vote-btn.v-susp{border-color:rgba(251,191,36,.35);color:#fbbf24}
.sm3-vote-btn.v-susp:hover{background:rgba(251,191,36,.12)}
.sm3-vote-btn.v-clean{border-color:rgba(74,222,128,.35);color:#4ade80}
.sm3-vote-btn.v-clean:hover{background:rgba(74,222,128,.12)}
.sm3-vote-btn.v-unknown{opacity:.75}
.sm3-vote-btn.active{outline:2px solid currentColor;transform:translateY(0);background:rgba(255,255,255,.08)}
.sm3-vote-btn:disabled{opacity:.4;cursor:wait}
.sm3-vote-row{margin-bottom:.85rem}
.sm3-vote-step-label{font-size:.78rem;color:var(--txt-muted);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}
.sm3-vote-conf{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.sm3-vote-conf-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.04);color:var(--txt);cursor:pointer;font-weight:700;transition:transform .15s,background .2s,border-color .2s}
.sm3-vote-conf-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08)}
.sm3-vote-conf-btn.active{outline:2px solid #60a5fa;color:#60a5fa;background:rgba(96,165,250,.12)}
.sm3-vote-conf-hint{font-size:.78rem;color:var(--txt-muted);margin-left:.4rem}
.sm3-vote-comment{width:100%;box-sizing:border-box;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--glass-border);background:rgba(0,0,0,.2);color:var(--txt);font-size:.88rem;resize:vertical;font-family:inherit;margin-bottom:.5rem}
.sm3-vote-actions{display:flex;gap:.6rem;align-items:center;margin:.4rem 0 .35rem}
.sm3-vote-submit{padding:.55rem 1.4rem;border-radius:10px;border:1px solid rgba(96,165,250,.5);background:linear-gradient(180deg,rgba(96,165,250,.18),rgba(96,165,250,.08));color:#bfdbfe;font-weight:700;cursor:pointer;font-size:.9rem;transition:transform .15s,filter .2s,opacity .2s}
.sm3-vote-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.15)}
.sm3-vote-submit:disabled{opacity:.4;cursor:not-allowed}
.sm3-vote-cancel{padding:.55rem 1rem;border-radius:10px;border:1px solid var(--glass-border);background:rgba(255,255,255,.04);color:var(--txt-muted);cursor:pointer;font-size:.85rem}
.sm3-vote-cancel:hover{background:rgba(255,255,255,.08);color:var(--txt)}
.sm3-vote-status{font-size:.82rem;color:var(--txt-muted);min-height:1.2rem}
.sm3-vote-status.ok{color:#4ade80}
.sm3-vote-status.err{color:#f87171}
.sm3-vote-saved{display:flex;flex-direction:column;gap:.4rem;padding:.85rem 1rem;border-radius:10px;background:rgba(96,165,250,.06);border:1px solid rgba(96,165,250,.25)}
.sm3-vote-saved-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sm3-vote-saved-label{color:var(--txt-muted);font-size:.85rem}
.sm3-vote-saved-tag{padding:.2rem .65rem;border-radius:999px;border:1px solid var(--glass-border);font-weight:600;font-size:.85rem}
.sm3-vote-saved-tag.v-smurf{color:#f87171;border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.08)}
.sm3-vote-saved-tag.v-boosted{color:#fb923c;border-color:rgba(251,146,60,.5);background:rgba(251,146,60,.08)}
.sm3-vote-saved-tag.v-suspicious{color:#fbbf24;border-color:rgba(251,191,36,.5);background:rgba(251,191,36,.08)}
.sm3-vote-saved-tag.v-clean{color:#4ade80;border-color:rgba(74,222,128,.5);background:rgba(74,222,128,.08)}
.sm3-vote-saved-tag.v-unknown{color:var(--txt-muted)}
.sm3-vote-saved-conf{font-size:.78rem;color:var(--txt-muted)}
.sm3-vote-saved-comment{font-size:.85rem;color:var(--txt);font-style:italic;opacity:.85}
.sm3-vote-saved-comment:empty{display:none}
.sm3-vote-edit{align-self:flex-start;padding:.4rem .9rem;border-radius:8px;border:1px solid var(--glass-border);background:rgba(255,255,255,.04);color:var(--txt);cursor:pointer;font-size:.82rem;transition:background .2s}
.sm3-vote-edit:hover{background:rgba(255,255,255,.1)}
.sm3-vote-summary{margin-top:.75rem;font-size:.85rem;color:var(--txt-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sm3-vote-tag{padding:.15rem .55rem;border-radius:999px;border:1px solid var(--glass-border);font-size:.78rem;background:rgba(255,255,255,.04)}
.sm3-vote-tag.v-smurf{color:#f87171;border-color:rgba(248,113,113,.35)}
.sm3-vote-tag.v-boost{color:#fb923c;border-color:rgba(251,146,60,.35)}
.sm3-vote-tag.v-boosted{color:#fb923c;border-color:rgba(251,146,60,.35)}
.sm3-vote-tag.v-suspicious{color:#fbbf24;border-color:rgba(251,191,36,.35)}
.sm3-vote-tag.v-clean{color:#4ade80;border-color:rgba(74,222,128,.35)}

/* V4.0.1 — compact 3-state "hidden profiles" filter group */
#sm3HiddenFilterGroup .sm3-admin-btn{padding:.22rem .55rem;font-size:.7rem;border-radius:6px}
#sm3HiddenFilterGroup .sm3-admin-btn.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}

/* V4.0 admin table — keep "Голоса юзеров" column bounded so that many
   vote chips wrap inside the cell instead of pushing "Действия" off-screen. */
.sm3-admin-table td.sm3-votes-cell{max-width:180px}
.sm3-admin-table td.sm3-votes-cell .sm3-votes-link{display:inline-block;text-decoration:none;max-width:100%}
.sm3-admin-table td.sm3-votes-cell .sm3-votes-chips{display:flex;flex-wrap:wrap;gap:3px;max-width:100%}
.sm3-admin-table td.sm3-votes-cell .sm3-vote-tag{font-size:.7rem;padding:.1rem .45rem;line-height:1.1}

/* Responsive */
@media (max-width:600px){
  .sm3-stats-grid{grid-template-columns:repeat(2,1fr);margin-left:0;margin-top:.75rem;width:100%}
  .sm3-factors{grid-template-columns:1fr}
  .sm3-profile{flex-direction:column;text-align:center}
  .sm3-verdict{flex-direction:column;text-align:center}
  .sm3-verdict-ring{margin:0 auto}
  .sm3-match{font-size:.75rem;gap:.4rem}
  .sm3-queue-steps{gap:1rem}
  /* Search page (/smurf) — keep hero/CTA comfortable on small phones */
  .sm3-hero{padding:2.2rem .9rem 1.8rem}
  .sm3-hero-icon{width:56px;height:56px}
  .sm3-search-card{padding:1.2rem 1rem;margin:1.25rem .85rem;border-radius:14px}
  .sm3-input-row{flex-direction:column;gap:.55rem}
  .sm3-input-row .sm3-btn{width:100%}
  .sm3-subtitle{font-size:.9rem;line-height:1.45;padding:0 .25rem}
}

/* ── V3.9 Aegis result page ──────────────────────────────────── */
.sm3-bc{max-width:1180px;margin:1.4rem auto 0;padding:0 2rem;display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--txt-muted);flex-wrap:wrap}
.sm3-bc a{color:var(--acc);text-decoration:none}
.sm3-bc a:hover{text-decoration:underline}
.sm3-bc .bc-sep{opacity:.45;font-size:.75rem}
.sm3-bc .bc-current{color:var(--txt)}

/* Aegis breadcrumbs — sit at the very top of the dark body, smooth
   fade from site header. Use aegis gold tokens and a subtle divider. */
.sm3-aegis .sm3-bc.sm3-bc-aegis{max-width:1180px;margin:0 auto;padding:1.1rem 2rem .9rem;
  display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--ag-t2);
  letter-spacing:.02em;flex-wrap:wrap;
  border-bottom:1px solid rgba(245,185,66,.08);
  background:linear-gradient(180deg,rgba(245,185,66,.035),transparent 100%)}
.sm3-aegis .sm3-bc.sm3-bc-aegis a{color:var(--ag-gold);text-decoration:none;
  transition:color .2s}
.sm3-aegis .sm3-bc.sm3-bc-aegis a:hover{color:var(--ag-gold-l);text-decoration:none;
  text-shadow:0 0 8px rgba(245,185,66,.35)}
.sm3-aegis .sm3-bc.sm3-bc-aegis .bc-sep{opacity:.45;font-size:.78rem;color:var(--ag-gold);font-weight:700}
.sm3-aegis .sm3-bc.sm3-bc-aegis .bc-current{color:var(--ag-t1);font-weight:600;
  max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Deep analysis banner restyle */
.sm3-deep-banner{max-width:1180px;margin:1rem auto 0;padding:.85rem 1.2rem;display:none;align-items:center;gap:.8rem;
  background:linear-gradient(90deg,rgba(245,158,11,.08),rgba(245,158,11,.02));
  border:1px solid rgba(245,158,11,.3);border-left:3px solid #f59e0b;border-radius:8px;
  font-size:.88rem;color:#fde68a;position:relative;overflow:hidden;flex-wrap:wrap}
.sm3-deep-banner.visible{display:flex}
.sm3-deep-pulse{width:10px;height:10px;border-radius:50%;background:#f59e0b;box-shadow:0 0 8px #f59e0b;animation:sm3PulseAeg 1.6s ease-in-out infinite;flex-shrink:0}
@keyframes sm3PulseAeg{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}
.sm3-deep-progress{flex-basis:100%;height:4px;background:rgba(245,158,11,.15);border-radius:2px;overflow:hidden;margin-top:.35rem}
.sm3-deep-fill{height:100%;background:#f59e0b;box-shadow:0 0 6px #f59e0b;transition:width .5s ease;width:0%}

/* Aegis scope — paint both the container AND the body so there's no visible
   gap between the end of .sm3-aegis and the site footer. The body-level
   background uses :has() (supported in all evergreen browsers; falls back
   silently to the container-only paint on older engines, which still works —
   there's just a small gap at the very bottom like before).
   background-attachment:fixed anchors the gradients to the viewport. */
body:has(.sm3-aegis){
  background-color:#0a0703;
  background-image:
    radial-gradient(ellipse at 50% -20%,rgba(245,185,66,.15),transparent 60%),
    radial-gradient(ellipse at 50% 120%,rgba(139,36,23,.18),transparent 50%);
  background-attachment:fixed,fixed;
  background-repeat:no-repeat,no-repeat;
  background-size:cover,cover;
}
.sm3-aegis{--ag-gold:#f5b942;--ag-gold-d:#a87420;--ag-gold-l:#fde68a;
  --ag-t1:#f5e7c4;--ag-t2:#a89b80;--ag-t3:#5e5a4f;
  --ag-crit:#dc2626;--ag-warn:#f59e0b;--ag-soft:#fde68a;
  --ag-bg:#0a0703;--ag-bg2:#1a0f05;
  max-width:none;padding:0 0 3.5rem;min-height:100vh;position:relative;
  font-family:"Inter","Segoe UI",sans-serif;
  color:var(--ag-t1);
  background-color:#0a0703;
  background-image:
    radial-gradient(ellipse at 50% -20%,rgba(245,185,66,.15),transparent 60%),
    radial-gradient(ellipse at 50% 120%,rgba(139,36,23,.18),transparent 50%);
  background-attachment:fixed,fixed;
  background-repeat:no-repeat,no-repeat;
  background-size:cover,cover;
}
.sm3-aegis h2, .sm3-aegis h1{font-family:"Cinzel",Georgia,serif;font-weight:700;letter-spacing:.02em}

/* Hero */
.sm3-aegis .sm3-hero{position:relative;z-index:1;background:none;border:0;padding:3rem 2rem 2rem;max-width:1180px;margin:0 auto;text-align:left}
.sm3-aegis .sm3-hero-grid{display:grid;grid-template-columns:auto 1fr auto;gap:2.5rem;align-items:center}
.sm3-aegis .sm3-avatar-frame{position:relative;width:140px;height:140px;flex-shrink:0}
.sm3-aegis .sm3-avatar-ring{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);animation:sm3RotSlow 60s linear infinite;pointer-events:none}
@keyframes sm3RotSlow{to{transform:rotate(360deg)}}
.sm3-aegis .sm3-avatar-frame img{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;border:3px solid var(--ag-gold);
  box-shadow:0 0 30px rgba(245,185,66,.4),inset 0 0 20px rgba(0,0,0,.5);object-fit:cover;display:block}
.sm3-aegis .sm3-avatar-placeholder{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;border:3px solid var(--ag-gold);
  background:linear-gradient(135deg,#1a0f05,#2a1a08);display:flex;align-items:center;justify-content:center;
  font-family:"Cinzel",serif;font-weight:900;font-size:3rem;color:var(--ag-gold);box-shadow:0 0 30px rgba(245,185,66,.4)}
.sm3-aegis .sm3-identity h1{font-family:"Cinzel",serif;font-weight:900;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1;margin:0 0 .45rem;color:#f5e7c4;background:none;-webkit-text-fill-color:initial;word-break:break-word}
.sm3-aegis .sm3-id{font-size:.74rem;color:var(--ag-t3);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.85rem;word-break:break-all}
.sm3-aegis .sm3-id-links{display:flex;gap:.5rem;flex-wrap:wrap}
.sm3-aegis .sm3-id-links a{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;
  border:1px solid rgba(245,185,66,.25);border-radius:4px;font-size:.72rem;color:var(--ag-t2);text-decoration:none;
  letter-spacing:.05em;background:rgba(245,185,66,.04);transition:all .2s}
.sm3-aegis .sm3-id-links a:hover{border-color:var(--ag-gold);color:var(--ag-gold);background:rgba(245,185,66,.1)}

/* Rank */
.sm3-aegis .sm3-rank{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0 .5rem}
.sm3-aegis .sm3-rank-medal{width:88px;height:88px;position:relative;filter:drop-shadow(0 0 12px rgba(245,185,66,.45));display:flex;align-items:center;justify-content:center}
.sm3-aegis .sm3-rank-medal img{width:100%;height:100%;object-fit:contain}
.sm3-aegis .sm3-rank-medal-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:"Cinzel",serif;font-weight:900;font-size:.85rem;color:var(--ag-gold-l);border:2px dashed rgba(245,185,66,.35);border-radius:50%;background:rgba(10,7,3,.4);text-align:center;line-height:1.1;padding:.3rem}
.sm3-aegis .sm3-rank-name{font-family:"Cinzel",serif;font-size:.85rem;letter-spacing:.12em;color:var(--ag-gold-l);text-transform:uppercase;font-weight:700;text-align:center}
.sm3-aegis .sm3-rank-mmr{font-size:.7rem;color:var(--ag-t3);letter-spacing:.08em}

/* Status bar */
.sm3-aegis .sm3-status-bar{max-width:1180px;margin:0 auto;padding:0 2rem}
.sm3-aegis .sm3-status{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.2rem;border-radius:6px;
  font-size:.88rem;letter-spacing:.01em;position:relative;overflow:hidden;flex-wrap:wrap}
.sm3-aegis .sm3-status-warn{border:1px solid rgba(245,158,11,.3);background:linear-gradient(90deg,rgba(245,158,11,.08),rgba(245,158,11,.02));color:var(--ag-warn)}
.sm3-aegis .sm3-status-warn::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ag-warn);box-shadow:0 0 8px var(--ag-warn)}
.sm3-aegis .sm3-status-pulse{width:10px;height:10px;border-radius:50%;background:var(--ag-warn);box-shadow:0 0 8px var(--ag-warn);animation:sm3PulseAeg 1.6s ease-in-out infinite;flex-shrink:0}

/* Verdict block */
.sm3-aegis .sm3-verdict-block{max-width:1180px;margin:2.2rem auto 0;padding:0 2rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:stretch}
.sm3-aegis .sm3-verdict-card{position:relative;padding:2.3rem 2.1rem;border-radius:14px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 0 60px rgba(0,0,0,.25)}
.sm3-aegis .sm3-verdict-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--v-edge,#f5b942),transparent)}
.sm3-aegis .sm3-verdict-card.v-smurf{--v-edge:#dc2626;
  background:linear-gradient(180deg,rgba(220,38,38,.05) 0%,rgba(0,0,0,.4) 100%),radial-gradient(circle at 30% 30%,rgba(220,38,38,.12),transparent 60%);
  border:1px solid rgba(220,38,38,.3)}
.sm3-aegis .sm3-verdict-card.v-boost{--v-edge:#fb923c;
  background:linear-gradient(180deg,rgba(251,146,60,.05) 0%,rgba(0,0,0,.4) 100%),radial-gradient(circle at 30% 30%,rgba(251,146,60,.10),transparent 60%);
  border:1px solid rgba(251,146,60,.3)}
.sm3-aegis .sm3-verdict-card.v-suspicious{--v-edge:#fbbf24;
  background:linear-gradient(180deg,rgba(251,191,36,.05) 0%,rgba(0,0,0,.4) 100%),radial-gradient(circle at 30% 30%,rgba(251,191,36,.10),transparent 60%);
  border:1px solid rgba(251,191,36,.3)}
.sm3-aegis .sm3-verdict-card.v-clean{--v-edge:#4ade80;
  background:linear-gradient(180deg,rgba(74,222,128,.05) 0%,rgba(0,0,0,.4) 100%),radial-gradient(circle at 30% 30%,rgba(74,222,128,.10),transparent 60%);
  border:1px solid rgba(74,222,128,.3)}
.sm3-aegis .sm3-verdict-card.v-unknown{--v-edge:#6b7280;
  background:linear-gradient(180deg,rgba(107,114,128,.05) 0%,rgba(0,0,0,.4) 100%);border:1px solid rgba(107,114,128,.25)}
.sm3-aegis .sm3-verdict-card.v-insufficient{--v-edge:#94a3b8;
  background:linear-gradient(180deg,rgba(148,163,184,.05) 0%,rgba(0,0,0,.4) 100%);border:1px solid rgba(148,163,184,.25)}
.sm3-aegis .sm3-verdict-card.v-insufficient .sm3-verdict-title{color:#e2e8f0;text-shadow:0 0 22px rgba(148,163,184,.3)}
/* V4.4.0 c9_turbo_verdict — фиолетовый акцент у «Турбо Воин» */
.sm3-aegis .sm3-verdict-card.v-turbo{--v-edge:#a855f7;
  background:linear-gradient(180deg,rgba(168,85,247,.05) 0%,rgba(0,0,0,.4) 100%),radial-gradient(circle at 30% 30%,rgba(168,85,247,.12),transparent 60%);
  border:1px solid rgba(168,85,247,.3)}
.sm3-aegis .sm3-verdict-card.v-turbo .sm3-verdict-title{color:#f3e8ff;text-shadow:0 0 28px rgba(168,85,247,.4)}
.sm3-aegis .sm3-verdict-eyebrow{font-family:"Cinzel",serif;font-size:.72rem;color:var(--ag-gold-l);letter-spacing:.3em;text-transform:uppercase;margin-bottom:.8rem;opacity:.85}
.sm3-aegis .sm3-verdict-title{font-family:"Cinzel",serif;font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:900;line-height:1.05;margin:0 0 1rem;
  color:#fee2e2;text-shadow:0 0 30px rgba(220,38,38,.45)}
.sm3-aegis .sm3-verdict-card.v-boost .sm3-verdict-title{color:#ffedd5;text-shadow:0 0 28px rgba(251,146,60,.4)}
.sm3-aegis .sm3-verdict-card.v-suspicious .sm3-verdict-title{color:#fef3c7;text-shadow:0 0 26px rgba(251,191,36,.35)}
.sm3-aegis .sm3-verdict-card.v-clean .sm3-verdict-title{color:#dcfce7;text-shadow:0 0 26px rgba(74,222,128,.35)}
.sm3-aegis .sm3-verdict-card.v-unknown .sm3-verdict-title{color:#e5e7eb}
.sm3-aegis .sm3-verdict-subtype{display:inline-block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ag-gold);
  padding:.3rem .8rem;border:1px solid var(--ag-gold-d);border-radius:3px;margin-bottom:1.2rem;background:rgba(245,185,66,.05)}
.sm3-aegis .sm3-verdict-desc{font-size:.95rem;line-height:1.65;color:var(--ag-t1);max-width:560px;margin:0 0 1.5rem;white-space:pre-wrap}
.sm3-aegis .sm3-verdict-meta{display:flex;gap:2rem;padding-top:1.2rem;border-top:1px dashed rgba(245,185,66,.2);flex-wrap:wrap}
.sm3-aegis .sm3-vm{font-size:.78rem;color:var(--ag-t2)}
.sm3-aegis .sm3-vm strong{display:block;color:var(--ag-gold-l);font-family:"Cinzel",serif;font-size:1.15rem;font-weight:700;margin-bottom:.15rem;letter-spacing:.02em}
/* V2.6: Dotabuff badge inside verdict-card match counter */
.sm3-aegis .sm3-vm-badge{display:inline-flex;align-items:center;margin-left:.4rem;padding:.08rem .38rem;background:linear-gradient(135deg,#b45309 0%,#f59e0b 100%);color:#1c1917;border-radius:4px;font-size:.62rem;font-weight:700;letter-spacing:.04em;box-shadow:0 1px 3px rgba(245,158,11,.35);vertical-align:middle;text-transform:uppercase}

/* Score dial — swirl rays behind SVG (mirrors v1_aegis prototype).
   sm3-dial-inner is sized to the SVG so the centered number is always
   geometrically over the ring, regardless of how tall the grid cell grows.
   ::before is oversized (200% of the max axis) and re-centred every frame
   so rotated corners never reveal the uncovered card background. */
@keyframes sm3DialRot{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
.sm3-aegis .sm3-score-dial{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:2.5rem;isolation:isolate;overflow:hidden;border:1px solid rgba(245,185,66,.15);border-radius:14px;
  background:radial-gradient(circle at center,rgba(220,38,38,.12),transparent 70%)}
.sm3-aegis .sm3-score-dial::before{content:"";position:absolute;top:50%;left:50%;z-index:0;pointer-events:none;
  width:220%;height:220%;
  background-image:repeating-conic-gradient(from 0deg,rgba(245,185,66,.06) 0deg 5deg,transparent 5deg 10deg);
  transform-origin:50% 50%;
  animation:sm3DialRot 120s linear infinite;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,#000 40%,transparent 62%);
          mask-image:radial-gradient(circle at 50% 50%,#000 0,#000 40%,transparent 62%)}
.sm3-aegis .sm3-dial-inner{position:relative;width:min(240px,60vw);height:min(240px,60vw);flex:0 0 auto;z-index:2}
.sm3-aegis .sm3-dial-svg{width:100%;height:100%;position:relative;z-index:2;overflow:visible}
.sm3-aegis .sm3-dial-svg circle{fill:none;stroke-width:8}
.sm3-aegis .sm3-dial-bg{stroke:rgba(245,185,66,.12)}
.sm3-aegis .sm3-dial-fg{stroke:url(#sm3ScoreGrad);stroke-linecap:round;
  filter:drop-shadow(0 0 14px rgba(220,38,38,.6)) drop-shadow(0 0 6px rgba(245,185,66,.35));
  transition:stroke-dashoffset 1.6s cubic-bezier(.4,1.4,.5,1)}
.sm3-aegis .sm3-dial-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;pointer-events:none}
.sm3-aegis .sm3-dial-num .n{font-family:"Cinzel",serif;font-size:clamp(2.8rem,7vw,4.8rem);font-weight:900;line-height:1;color:#fde68a;text-shadow:0 0 20px rgba(245,185,66,.5)}
.sm3-aegis .sm3-dial-num .of{display:none}
.sm3-aegis .sm3-confidence{margin-top:1rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;position:relative;z-index:2}
.sm3-aegis .sm3-confidence::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.sm3-aegis .sm3-confidence.c-high{color:#ef4444}
.sm3-aegis .sm3-confidence.c-medium{color:#f59e0b}
.sm3-aegis .sm3-confidence.c-low{color:#fde68a}

/* Stats strip — 4 equal columns, content vertically centred */
.sm3-aegis .sm3-stats-strip{max-width:1180px;margin:1.5rem auto 0;padding:0 2rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(245,185,66,.15);
  border:1px solid rgba(245,185,66,.15);border-radius:10px;overflow:hidden}
.sm3-aegis .sm3-stat{padding:1.2rem 1rem;text-align:center;background:rgba(10,7,3,.6);position:relative;
  min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sm3-aegis .sm3-stat-num{font-family:"Cinzel",serif;font-size:1.45rem;font-weight:700;color:var(--ag-gold-l);line-height:1.15}
.sm3-aegis .sm3-stat-label{font-size:.62rem;color:var(--ag-t3);letter-spacing:.2em;text-transform:uppercase;margin-top:.4rem}

/* Steam top-up — full content-width (matches hero/stats grid),
   badge rendered inline on the right of the card, not absolute. */
.sm3-aegis .sm3-topup-section{position:relative;max-width:1180px;margin:2.2rem auto 0;padding:0 2rem;display:block}
.sm3-aegis .sm3-topup{position:relative;display:flex;align-items:center;gap:1.2rem;
  width:100%;max-width:none;
  padding:1.2rem 1.6rem;
  background:linear-gradient(135deg,#1b2838 0%,#0f1a26 100%);
  border:1px solid #2a475e;border-radius:14px;text-decoration:none;color:#c7d5e0;
  overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s}
.sm3-aegis .sm3-topup::before{content:"";position:absolute;top:-50%;left:-100%;width:60%;height:200%;
  background:linear-gradient(90deg,transparent,rgba(102,192,244,.25),transparent);transform:rotate(20deg);transition:left .9s ease;pointer-events:none}
.sm3-aegis .sm3-topup:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(102,192,244,.25),0 0 0 1px #66c0f4}
.sm3-aegis .sm3-topup:hover::before{left:120%}
/* Inline badge — sits next to the arrow, never overflows, no negative positioning. */
.sm3-aegis .sm3-topup-badge{position:static;display:inline-flex;align-items:center;flex-shrink:0;
  font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;padding:.35rem .65rem;border-radius:5px;
  box-shadow:0 4px 12px rgba(34,197,94,.35);animation:sm3Pop 2.4s ease-in-out infinite;order:3}
@keyframes sm3Pop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.sm3-aegis .sm3-topup-icon{width:50px;height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(102,192,244,.15),rgba(102,192,244,.05));border:1px solid #66c0f4;border-radius:10px;color:#66c0f4;order:1}
.sm3-aegis .sm3-topup-text{flex:1 1 auto;min-width:0;order:2}
.sm3-aegis .sm3-topup-title{font-family:"Cinzel",serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.15rem}
.sm3-aegis .sm3-topup-sub{font-size:.8rem;color:#8f98a0;line-height:1.45}
.sm3-aegis .sm3-topup-arrow{color:#66c0f4;font-size:1.3rem;transition:transform .25s;flex-shrink:0;order:4;margin-left:.4rem}
.sm3-aegis .sm3-topup:hover .sm3-topup-arrow{transform:translateX(4px)}

/* Section title */
.sm3-aegis .sm3-section-title{max-width:1180px;margin:3rem auto 1.4rem;padding:0 2rem;display:flex;align-items:baseline;gap:1rem;background:none;border:0}
.sm3-aegis .sm3-section-title h2{font-family:"Cinzel",serif;font-weight:700;font-size:1.35rem;letter-spacing:.05em;color:var(--ag-gold-l);margin:0;background:none;-webkit-text-fill-color:initial}
.sm3-aegis .sm3-section-count{font-size:.74rem;color:var(--ag-t3);letter-spacing:.18em;text-transform:uppercase}
.sm3-aegis .sm3-section-line{flex:1;height:1px;background:linear-gradient(90deg,rgba(245,185,66,.3),transparent)}

/* Anomalies grid */
.sm3-aegis .sm3-factors{max-width:1180px;margin:0 auto;padding:0 2rem;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}
.sm3-aegis .sm3-factor{--severity:#fde68a;position:relative;padding:1.3rem 1.4rem 1.4rem 1.6rem;border-radius:12px;
  background:linear-gradient(180deg,rgba(20,15,8,.85),rgba(10,7,3,.85));
  border:1px solid rgba(245,185,66,.12);overflow:hidden;transition:transform .25s,border-color .25s;margin:0}
.sm3-aegis .sm3-factor:hover{transform:translateY(-2px);border-color:rgba(245,185,66,.3)}
.sm3-aegis .sm3-factor::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--severity);box-shadow:0 0 12px var(--severity)}
.sm3-aegis .sm3-factor.sev-low{--severity:#fde68a}
.sm3-aegis .sm3-factor.sev-mid{--severity:#f59e0b}
.sm3-aegis .sm3-factor.sev-hi{--severity:#ef4444}
.sm3-aegis .sm3-factor.sev-crit{--severity:#dc2626}
.sm3-aegis .sm3-factor-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.55rem}
.sm3-aegis .sm3-factor-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  background:rgba(245,185,66,.08);border:1px solid rgba(245,185,66,.18);border-radius:8px;color:var(--severity);flex-shrink:0}
.sm3-aegis .sm3-factor-icon svg{width:18px;height:18px}
.sm3-aegis .sm3-factor-name{font-family:"Cinzel",serif;font-weight:600;font-size:1rem;letter-spacing:.02em;flex:1;color:#f5e7c4}
.sm3-aegis .sm3-factor-info{font-size:.88rem;color:var(--ag-t1);line-height:1.55;margin:.2rem 0 .5rem}

/* Detail sub-blocks */
.sm3-aegis .sm3-detail-row{display:flex;gap:.5rem;font-size:.78rem;color:var(--ag-t2);margin-top:.4rem;align-items:center;flex-wrap:wrap}
.sm3-aegis .sm3-detail-sub{font-size:.72rem;color:var(--ag-t3);margin-top:.7rem;line-height:1.4;font-style:italic;opacity:.85}
.sm3-aegis .sm3-kvp{display:inline-flex;gap:.3rem;align-items:center;padding:.22rem .55rem;
  background:rgba(245,185,66,.06);border:1px solid rgba(245,185,66,.15);border-radius:4px;font-size:.76rem;color:var(--ag-t1)}
.sm3-aegis .sm3-kvp em{color:var(--ag-t3);font-style:normal;font-size:.7rem}
.sm3-aegis .sm3-kvp strong{color:var(--ag-gold-l);font-weight:700}

/* WR bar */
.sm3-aegis .sm3-wr-line{display:flex;align-items:center;gap:.55rem;margin-top:.5rem}
.sm3-aegis .sm3-wr-pct{font-family:"Cinzel",serif;font-weight:700;color:var(--severity);font-size:.9rem;min-width:52px;text-align:right}
.sm3-aegis .sm3-wr-label{font-size:.7rem;color:var(--ag-t3);letter-spacing:.08em;text-transform:uppercase;min-width:64px}
.sm3-aegis .sm3-wr-bar{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;position:relative}
.sm3-aegis .sm3-wr-bar > div{height:100%;background:linear-gradient(90deg,var(--severity),var(--ag-gold-l));border-radius:3px;box-shadow:0 0 6px var(--severity)}

/* Heroes-mini (bigger) */
.sm3-aegis .sm3-heroes-mini{display:flex;gap:.45rem;margin-top:.55rem;flex-wrap:wrap}
.sm3-aegis .sm3-hmin{position:relative;width:56px;height:56px;border-radius:8px;overflow:hidden;border:1px solid rgba(245,185,66,.22);background:#0a0a0a}
.sm3-aegis .sm3-hmin img{width:100%;height:100%;object-fit:cover;display:block}
.sm3-aegis .sm3-hmin .ch{position:absolute;bottom:0;left:0;right:0;font-size:.58rem;background:rgba(0,0,0,.72);color:var(--ag-gold-l);padding:1px 3px;text-align:center;letter-spacing:.02em}

/* Items diagram */
.sm3-aegis .sm3-items-diagram{margin-top:.6rem}
.sm3-aegis .sm3-items-row{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.sm3-aegis .sm3-items-row .lbl{width:72px;font-size:.68rem;color:var(--ag-t3);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.sm3-aegis .sm3-item-slot{position:relative;width:52px;height:40px;border-radius:5px;overflow:hidden;border:1px solid rgba(245,185,66,.25);background:#0a0a0a;flex-shrink:0}
.sm3-aegis .sm3-item-slot img{width:100%;height:100%;object-fit:cover;display:block}
.sm3-aegis .sm3-item-slot .num{position:absolute;top:1px;left:3px;font-size:.62rem;color:#fde68a;text-shadow:0 0 3px #000,0 0 2px #000;font-weight:800;z-index:2;pointer-events:none}
.sm3-aegis .sm3-items-arrow{display:flex;justify-content:center;color:var(--ag-gold);margin:.35rem 0;font-size:1.2rem}
.sm3-aegis .sm3-items-note{font-size:.72rem;color:var(--ag-warn);margin-top:.4rem}

/* Spike rows — human label + было → стало + % */
.sm3-aegis .sm3-spikes{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}
.sm3-aegis .sm3-spike-row{display:flex;flex-direction:column;gap:.2rem;padding:.45rem .6rem;
  background:rgba(245,185,66,.05);border:1px solid rgba(245,185,66,.12);border-radius:6px}
.sm3-aegis .sm3-spike-label{font-size:.8rem;color:var(--ag-t1);line-height:1.35;display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.sm3-aegis .sm3-spike-tag{font-size:.68rem;color:var(--ag-t3);background:rgba(245,185,66,.12);border:1px solid rgba(245,185,66,.2);border-radius:4px;padding:.08rem .32rem;letter-spacing:.02em;text-transform:lowercase}
.sm3-aegis .sm3-spike-delta{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;font-size:.74rem}
.sm3-aegis .sm3-spike-old{color:var(--ag-t3)}
.sm3-aegis .sm3-spike-arrow{color:var(--ag-gold);font-weight:700}
.sm3-aegis .sm3-spike-new{color:var(--ag-gold-l);font-weight:700}
.sm3-aegis .sm3-spike-pct{margin-left:auto;color:var(--ag-warn);font-weight:700;font-family:"Cinzel",serif;letter-spacing:.02em}

/* V4.2: support_party_boost peer cards */
.sm3-aegis .sm3-peer-card{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .65rem;background:rgba(245,185,66,.05);border:1px solid rgba(245,185,66,.15);border-radius:6px;min-width:220px;flex:1 1 240px}
.sm3-aegis .sm3-peer-head{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.sm3-aegis .sm3-peer-name{font-weight:700;color:var(--ag-t1);font-size:.85rem;flex:1 1 auto}
.sm3-aegis .sm3-peer-stats{font-size:.72rem;color:var(--ag-t2);line-height:1.4}

/* Confirmation bullet list (post_boost_dip etc.) */
.sm3-aegis .sm3-confirms{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.sm3-aegis .sm3-confirms li{font-size:.78rem;color:var(--ag-t1);line-height:1.45;padding-left:1rem;position:relative}
.sm3-aegis .sm3-confirms li::before{content:"•";position:absolute;left:0;color:var(--ag-gold);font-weight:700}

/* Date badge */
.sm3-aegis .sm3-date-badge{display:inline-flex;gap:.35rem;align-items:center;font-size:.7rem;color:var(--ag-gold-l);
  background:rgba(245,185,66,.08);padding:.22rem .5rem;border-radius:3px;border:1px solid rgba(245,185,66,.18);font-family:"Cinzel",serif;letter-spacing:.05em}

/* Empty state — always has top breathing space from whatever precedes it
   (topup banner when anomalies=0, section-title otherwise). */
.sm3-aegis .sm3-anomalies-empty{max-width:1180px;margin:2.4rem auto 0;padding:1.6rem 2rem;display:flex;align-items:center;gap:.8rem;
  border:1px dashed rgba(74,222,128,.25);border-radius:10px;color:#bbf7d0;font-size:.92rem;background:rgba(74,222,128,.04)}
.sm3-aegis .sm3-empty-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(74,222,128,.15);color:#4ade80;font-weight:800}

/* Top heroes + recent matches sections — Aegis palette overrides */
.sm3-aegis .sm3-heroes-list{max-width:1180px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}
.sm3-aegis .sm3-hero-card{background:linear-gradient(180deg,rgba(20,15,8,.85),rgba(10,7,3,.85));border:1px solid rgba(245,185,66,.12);border-radius:10px;padding:.85rem;text-align:center;color:var(--ag-t1);display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.sm3-aegis .sm3-hero-img{width:72px;height:40px;object-fit:cover;border-radius:4px;margin:0 auto .4rem;display:block}
.sm3-aegis .sm3-hero-name{font-size:.82rem;color:var(--ag-gold-l);font-weight:600;margin-bottom:.15rem}
.sm3-aegis .sm3-hero-stats{font-size:.72rem;color:var(--ag-t2)}
.sm3-aegis .sm3-matches{max-width:1180px;margin:0 auto;padding:0 2rem;display:grid;gap:.5rem}
.sm3-aegis .sm3-match{display:flex;align-items:center;gap:.8rem;padding:.55rem .9rem;border:1px solid rgba(245,185,66,.1);border-radius:8px;background:rgba(10,7,3,.6);color:var(--ag-t1);font-size:.85rem;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .2s ease;cursor:pointer}
.sm3-aegis .sm3-match.sm3-match-clickable:hover{border-color:rgba(245,185,66,.55);background:linear-gradient(90deg,rgba(245,185,66,.09),rgba(10,7,3,.75) 60%);box-shadow:0 6px 18px rgba(245,185,66,.12), 0 0 0 1px rgba(245,185,66,.08) inset;transform:translateX(2px)}
.sm3-aegis .sm3-match.sm3-match-clickable:hover .sm3-match-link{color:var(--ag-gold-l);transform:translateX(3px)}
.sm3-aegis .sm3-match.sm3-match-clickable:focus-visible{outline:2px solid var(--ag-gold);outline-offset:2px}
.sm3-aegis .sm3-match-hero-img{width:48px;height:27px;object-fit:cover;border-radius:3px;flex-shrink:0}
.sm3-aegis .sm3-match-hero{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ag-gold-l)}
.sm3-aegis .sm3-match-kda.sm3-match-won{color:#4ade80}
.sm3-aegis .sm3-match-kda.sm3-match-lost{color:#f87171}
.sm3-aegis .sm3-match-link{color:var(--ag-gold);text-decoration:none;transition:color .15s ease,transform .15s ease}

/* Vote (Aegis styling preserves all legacy IDs) */
.sm3-aegis .sm3-vote-aegis{max-width:1180px;margin:0 auto;padding:0 2rem;background:none;border:0}
.sm3-aegis .sm3-vote-aegis .sm3-section-title{padding:0;margin:3rem 0 1.2rem}
.sm3-aegis .sm3-vote-aegis .sm3-vote-hint{color:var(--ag-t2);font-size:.88rem;margin:0 0 1rem}
.sm3-aegis .sm3-vote-aegis .sm3-vote-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:.8rem}
.sm3-aegis .sm3-vote-aegis .sm3-vote-step-label{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ag-gold-l);min-width:110px}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btns{display:flex;flex-wrap:wrap;gap:.45rem}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn{padding:.5rem 1rem;border-radius:6px;border:1px solid rgba(245,185,66,.22);
  background:rgba(245,185,66,.04);color:var(--ag-t1);font-size:.82rem;cursor:pointer;transition:all .2s}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn:hover{border-color:var(--ag-gold);background:rgba(245,185,66,.1)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn.active{background:rgba(245,185,66,.18);border-color:var(--ag-gold);color:var(--ag-gold-l);box-shadow:0 0 12px rgba(245,185,66,.25)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn.v-smurf.active{background:rgba(220,38,38,.2);border-color:#dc2626;color:#fecaca;box-shadow:0 0 12px rgba(220,38,38,.3)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn.v-boost.active{background:rgba(251,146,60,.2);border-color:#fb923c;color:#ffedd5;box-shadow:0 0 12px rgba(251,146,60,.3)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn.v-susp.active{background:rgba(251,191,36,.2);border-color:#fbbf24;color:#fef3c7;box-shadow:0 0 12px rgba(251,191,36,.3)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-btn.v-clean.active{background:rgba(74,222,128,.2);border-color:#4ade80;color:#dcfce7;box-shadow:0 0 12px rgba(74,222,128,.3)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-conf-btn{width:36px;height:36px;border-radius:6px;border:1px solid rgba(245,185,66,.22);background:rgba(245,185,66,.04);color:var(--ag-t1);cursor:pointer;font-family:"Cinzel",serif;font-weight:700;font-size:.95rem;transition:all .2s}
.sm3-aegis .sm3-vote-aegis .sm3-vote-conf-btn:hover{border-color:var(--ag-gold)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-conf-btn.active{background:rgba(245,185,66,.2);border-color:var(--ag-gold);color:var(--ag-gold-l)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-comment{width:100%;background:rgba(10,7,3,.6);border:1px solid rgba(245,185,66,.2);border-radius:6px;color:var(--ag-t1);padding:.6rem .8rem;font-size:.88rem;margin-top:.6rem;resize:vertical;font-family:inherit}
.sm3-aegis .sm3-vote-aegis .sm3-vote-comment:focus{outline:none;border-color:var(--ag-gold)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-submit{background:linear-gradient(135deg,#f5b942,#a87420);color:#1a0f05;border:0;border-radius:6px;padding:.6rem 1.4rem;font-weight:800;font-family:"Cinzel",serif;letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;cursor:pointer;transition:all .2s}
.sm3-aegis .sm3-vote-aegis .sm3-vote-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px rgba(245,185,66,.3)}
.sm3-aegis .sm3-vote-aegis .sm3-vote-submit:disabled{opacity:.4;cursor:not-allowed}
.sm3-aegis .sm3-vote-aegis .sm3-vote-saved{background:rgba(74,222,128,.06);border-color:rgba(74,222,128,.25)}

/* Check another form */
.sm3-aegis .sm3-check-another{max-width:1180px;margin:0 auto;padding:0 2rem}
.sm3-aegis .sm3-check-form{display:flex;gap:.6rem;flex-wrap:wrap}
.sm3-aegis .sm3-check-input{flex:1;min-width:240px;background:rgba(10,7,3,.6);border:1px solid rgba(245,185,66,.22);border-radius:8px;color:var(--ag-t1);padding:.75rem 1rem;font-size:.95rem;outline:none;transition:border .2s}
.sm3-aegis .sm3-check-input:focus{border-color:var(--ag-gold)}
.sm3-aegis .sm3-check-input::placeholder{color:var(--ag-t3)}
.sm3-aegis .sm3-check-btn{background:linear-gradient(135deg,#f5b942,#a87420);color:#1a0f05;border:0;border-radius:8px;padding:.75rem 1.8rem;font-weight:800;font-family:"Cinzel",serif;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;cursor:pointer;transition:all .2s}
.sm3-aegis .sm3-check-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(245,185,66,.3)}
.sm3-aegis .sm3-check-btn:disabled{opacity:.6;cursor:wait}
.sm3-aegis .sm3-check-another-error{margin-top:.55rem;color:#fca5a5;font-size:.85rem;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:.55rem .8rem}

/* ── /smurf search page: "Что умеет детектор" + anomaly examples ──────────
   Shown only when public_beta=True (see smurf_test_search.html).
   Uses base-page palette (--card/--glass-border/--txt*) — not .sm3-aegis. */
.sm3-about{max-width:820px;margin:2.6rem auto 0;padding:0 1.25rem}
.sm3-about-inner{background:var(--card);border:1px solid var(--glass-border);border-radius:16px;padding:1.6rem 1.8rem 1.5rem}
.sm3-about-title{font-size:1.25rem;font-weight:700;color:var(--txt);margin:0 0 .75rem;letter-spacing:.01em}
.sm3-about-p{color:var(--txt);font-size:.95rem;line-height:1.6;margin:0 0 .85rem}
.sm3-about-p strong{color:#f5b942;font-weight:700}
.sm3-about-p-muted{color:var(--txt-muted);font-size:.9rem}
.sm3-about-subtitle{font-size:1.05rem;font-weight:700;color:var(--txt);margin:1.5rem 0 .9rem;letter-spacing:.01em}
.sm3-about-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}
.sm3-about-card{position:relative;background:rgba(15,23,42,.35);border:1px solid var(--glass-border);border-radius:10px;padding:.9rem 1rem .95rem 1.25rem;overflow:hidden;transition:border-color .2s,transform .2s}
.sm3-about-card:hover{border-color:rgba(245,185,66,.35);transform:translateY(-1px)}
.sm3-about-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--severity,#f5b942);box-shadow:0 0 10px var(--severity,#f5b942)}
.sm3-about-card.sev-low{--severity:#fde68a}
.sm3-about-card.sev-mid{--severity:#f59e0b}
.sm3-about-card.sev-hi{--severity:#ef4444}
.sm3-about-card-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}
.sm3-about-card-icon{width:26px;height:26px;color:var(--severity);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
.sm3-about-card-icon svg{width:100%;height:100%;display:block}
.sm3-about-card-name{font-size:.98rem;font-weight:700;color:var(--txt);line-height:1.25}
.sm3-about-card-text{font-size:.82rem;line-height:1.5;color:var(--txt-muted);margin:0}
.sm3-about-foot{color:var(--txt-muted);font-size:.85rem;line-height:1.55;margin:1.3rem 0 0}
.sm3-about-foot a{color:#f5b942;text-decoration:none;border-bottom:1px dashed rgba(245,185,66,.45)}
.sm3-about-foot a:hover{color:#fde68a;border-bottom-color:#fde68a}

/* Responsive */
@media(max-width:840px){
  .sm3-aegis .sm3-hero{padding:2rem 1rem 1.4rem}
  .sm3-aegis .sm3-hero-grid{grid-template-columns:1fr;text-align:center;gap:1.4rem;justify-items:center}
  .sm3-aegis .sm3-avatar-frame{margin:0 auto}
  .sm3-aegis .sm3-identity{text-align:center}
  .sm3-aegis .sm3-identity h1{word-break:break-word}
  .sm3-aegis .sm3-id-links{justify-content:center}
  .sm3-aegis .sm3-rank{margin:0 auto}
  .sm3-aegis .sm3-verdict-block{grid-template-columns:1fr;padding:0 1rem;gap:1.4rem}
  .sm3-aegis .sm3-verdict-card{padding:1.8rem 1.4rem}
  .sm3-aegis .sm3-stats-strip{grid-template-columns:repeat(2,1fr);padding:0 1rem}

  /* Topup — compact on mobile: two-row layout, smaller paddings/fonts,
     title no longer wraps to 3 lines, badge inline under title. */
  .sm3-aegis .sm3-topup-section{padding:0 1rem}
  .sm3-aegis .sm3-topup{max-width:100%;width:100%;padding:.9rem 1rem;gap:.75rem;
    flex-wrap:wrap;row-gap:.45rem}
  .sm3-aegis .sm3-topup-icon{width:40px;height:40px}
  .sm3-aegis .sm3-topup-icon svg{width:22px;height:22px}
  .sm3-aegis .sm3-topup-text{flex:1 1 60%;min-width:0}
  .sm3-aegis .sm3-topup-title{font-size:.98rem;letter-spacing:.01em;line-height:1.2}
  .sm3-aegis .sm3-topup-sub{font-size:.72rem;line-height:1.35;margin-top:.15rem}
  .sm3-aegis .sm3-topup-badge{font-size:.58rem;padding:.25rem .5rem;letter-spacing:.08em;
    order:4;margin-left:auto;flex-basis:auto}
  .sm3-aegis .sm3-topup-arrow{order:5;font-size:1.1rem;margin-left:.2rem}

  /* Section titles — title + subtitle stack vertically on mobile so long
     subtitles (e.g. "недавний период · по данным Stratz") never push the
     h2 onto multiple short lines. */
  .sm3-aegis .sm3-section-title{padding:0 1rem;margin-top:2rem;
    flex-wrap:wrap;align-items:baseline;gap:.35rem .8rem}
  .sm3-aegis .sm3-section-title h2{font-size:1.1rem;flex:0 0 auto;white-space:nowrap}
  .sm3-aegis .sm3-section-count{flex:1 1 100%;font-size:.62rem;letter-spacing:.14em;
    line-height:1.3;color:var(--ag-t3);opacity:.85}
  .sm3-aegis .sm3-section-line{display:none}

  .sm3-aegis .sm3-factors{padding:0 1rem;grid-template-columns:1fr}
  .sm3-aegis .sm3-vote-aegis,.sm3-aegis .sm3-check-another,
  .sm3-aegis .sm3-heroes-list,.sm3-aegis .sm3-matches,
  .sm3-aegis .sm3-anomalies-empty{padding:0 1rem}
  .sm3-aegis .sm3-vote-aegis .sm3-vote-step-label{min-width:100%}
  .sm3-aegis .sm3-status-bar{padding:0 1rem}
  .sm3-bc{padding:0 1rem}
  .sm3-aegis .sm3-bc.sm3-bc-aegis{padding:.85rem 1rem .75rem;font-size:.72rem;gap:.4rem}
  .sm3-aegis .sm3-bc.sm3-bc-aegis .bc-current{max-width:14ch}
  .sm3-deep-banner{margin-left:1rem;margin-right:1rem}

  /* /smurf search page — "about" section compact on mobile */
  .sm3-about{padding:0 1rem;margin:2rem auto 0}
  .sm3-about-inner{padding:1.2rem 1.15rem 1.25rem;border-radius:14px}
  .sm3-about-title{font-size:1.1rem}
  .sm3-about-subtitle{font-size:.98rem;margin:1.25rem 0 .75rem}
  .sm3-about-p,.sm3-about-p-muted{font-size:.88rem;line-height:1.55}
  .sm3-about-examples{grid-template-columns:1fr;gap:.7rem}
  .sm3-about-card{padding:.8rem .9rem .85rem 1.1rem}
  .sm3-about-card-name{font-size:.92rem}
  .sm3-about-card-text{font-size:.78rem}
  .sm3-about-foot{font-size:.8rem;margin-top:1.1rem}
}

/* Extra-tight mobile breakpoint (≤480px) — avoid horizontal overflow and
   keep stats/matches readable on small phones. */
@media (max-width:480px){
  .sm3-aegis .sm3-stats-strip{grid-template-columns:repeat(2,1fr);gap:.55rem}
  .sm3-aegis .sm3-stat{padding:.7rem .7rem .65rem}
  .sm3-aegis .sm3-stat-num{font-size:1.05rem}
  .sm3-aegis .sm3-stat-label{font-size:.62rem;letter-spacing:.06em}
  .sm3-aegis .sm3-match{gap:.5rem;padding:.5rem .65rem;font-size:.78rem;flex-wrap:wrap}
  .sm3-aegis .sm3-match-hero{min-width:0;flex:1 1 40%}
  .sm3-aegis .sm3-match-kda,.sm3-aegis .sm3-match-gpm,
  .sm3-aegis .sm3-match-dur{min-width:auto}
  .sm3-aegis .sm3-match-gpm{font-size:.75rem}
  .sm3-aegis .sm3-match-link{flex:0 0 auto;margin-left:auto}
  .sm3-aegis .sm3-heroes-list{grid-template-columns:repeat(2,1fr);gap:.6rem;padding:0 .85rem}
  .sm3-aegis .sm3-hero-card{padding:.6rem .45rem}
  .sm3-aegis .sm3-hero-img{width:60px;height:34px}
  .sm3-aegis .sm3-hero-name{font-size:.75rem}
  .sm3-aegis .sm3-hero-stats{font-size:.66rem}
  .sm3-aegis .sm3-verdict-card{padding:1.4rem 1.1rem}
  .sm3-aegis .sm3-verdict-title{font-size:1.15rem}
  .sm3-aegis .sm3-identity h1{font-size:1.25rem;line-height:1.2}
  .sm3-aegis .sm3-factors{padding:0 .85rem;gap:.7rem}
  .sm3-aegis .sm3-wr-label{min-width:52px;font-size:.62rem}
  .sm3-aegis .sm3-wr-pct{min-width:44px;font-size:.82rem}
  .sm3-aegis .sm3-kvp{font-size:.78rem}
  .sm3-deep-banner{margin-left:.7rem;margin-right:.7rem;padding:.7rem .85rem;font-size:.82rem}
}

/* ═══════════════════════════════════════════════════════════════════
   V2 Beta announcement (public /smurf only)
   ═══════════════════════════════════════════════════════════════════ */

.sm3-beta-pill{display:inline-flex;align-items:center;justify-content:center;
  padding:.14rem .5rem;font-size:.68rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:#f5b942;background:rgba(245,185,66,.14);
  border:1px solid rgba(245,185,66,.5);border-radius:4px;line-height:1;
  vertical-align:middle;
  /* Reset gradient-text from parent .sm3-title (which sets
     -webkit-text-fill-color:transparent + background-clip:text) so the
     pill's own text stays visible. */
  -webkit-text-fill-color:#f5b942;
  -webkit-background-clip:border-box;background-clip:border-box}
.sm3-beta-pill-accent{color:#fff;-webkit-text-fill-color:#fff;
  background:linear-gradient(135deg,#8b2417,#c83c28);
  border-color:rgba(200,60,40,.6);box-shadow:0 0 10px rgba(200,60,40,.25)}

.sm3-title-beta{display:inline-flex;gap:.35rem;margin-left:.65rem;
  vertical-align:middle;transform:translateY(-.15em);
  -webkit-text-fill-color:initial}

.sm3-bc-beta{display:inline-flex;gap:.3rem;margin-left:.5rem}

.sm3-beta-overlay{position:fixed;inset:0;z-index:9999;
  background:rgba(5,3,1,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:none;align-items:flex-start;justify-content:center;
  padding:5vh 1rem 1rem;overflow-y:auto}
.sm3-beta-overlay.visible{display:flex;animation:sm3BetaFadeIn .25s ease-out}
@keyframes sm3BetaFadeIn{from{opacity:0}to{opacity:1}}
body.sm3-beta-locked{overflow:hidden}

.sm3-beta-modal{width:100%;max-width:560px;
  background:linear-gradient(180deg,rgba(20,14,8,.98),rgba(12,8,5,.98));
  border:1px solid rgba(245,185,66,.28);
  border-radius:12px;padding:1.6rem 1.75rem 1.5rem;
  box-shadow:0 25px 60px rgba(0,0,0,.6),0 0 40px rgba(245,185,66,.1);
  color:#e6dccb;position:relative;
  animation:sm3BetaModalIn .3s cubic-bezier(.2,.7,.3,1)}
@keyframes sm3BetaModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:none}}

.sm3-beta-badge-top{display:flex;gap:.4rem;margin-bottom:.85rem}
.sm3-beta-title{margin:0 0 .7rem;font-size:1.35rem;line-height:1.25;
  font-weight:700;color:#f5b942;letter-spacing:.005em}
.sm3-beta-text{margin:0 0 .85rem;font-size:.92rem;line-height:1.55;color:#d4c8b4}
.sm3-beta-text strong{color:#f5b942;font-weight:600}

.sm3-beta-list{margin:0 0 1.15rem;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:.55rem}
.sm3-beta-list li{position:relative;padding:.6rem .8rem .6rem 1.4rem;
  font-size:.88rem;line-height:1.5;color:#cfc3ae;
  background:rgba(245,185,66,.04);border-left:2px solid rgba(245,185,66,.35);
  border-radius:4px}
.sm3-beta-list li::before{content:"";position:absolute;left:.55rem;top:.95rem;
  width:6px;height:6px;border-radius:50%;background:#f5b942;
  box-shadow:0 0 6px rgba(245,185,66,.6)}
.sm3-beta-list li strong{color:#f5b942;font-weight:600}

.sm3-beta-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.3rem}
.sm3-beta-btn{display:inline-flex;align-items:center;justify-content:center;
  gap:.45rem;padding:.65rem 1rem;font-size:.88rem;font-weight:600;
  border-radius:6px;cursor:pointer;text-decoration:none;border:1px solid transparent;
  transition:transform .15s,box-shadow .15s,background .15s;font-family:inherit}
.sm3-beta-btn:hover{transform:translateY(-1px)}
.sm3-beta-btn-tg{background:rgba(35,140,210,.12);color:#7cc6ef;
  border-color:rgba(35,140,210,.4)}
.sm3-beta-btn-tg:hover{background:rgba(35,140,210,.2);color:#a4dcf5}
.sm3-beta-btn-ok{background:linear-gradient(135deg,#8b2417,#b9331d);color:#fff;
  border-color:rgba(200,60,40,.6);min-width:64px;
  box-shadow:0 4px 14px rgba(139,36,23,.3)}
.sm3-beta-btn-ok:hover{box-shadow:0 6px 20px rgba(200,60,40,.4)}
.sm3-beta-btn-battlepass{background:linear-gradient(135deg,rgba(245,185,66,.18),rgba(245,185,66,.08));
  color:#f5b942;border-color:rgba(245,185,66,.5);
  box-shadow:0 4px 14px rgba(245,185,66,.08);flex:1 1 auto;min-width:0}
.sm3-beta-btn-battlepass:hover{background:linear-gradient(135deg,rgba(245,185,66,.28),rgba(245,185,66,.14));
  color:#ffd57e;box-shadow:0 6px 20px rgba(245,185,66,.22)}

@media (max-width:620px){
  .sm3-beta-overlay{padding:3vh .7rem .7rem;align-items:flex-start}
  .sm3-beta-modal{padding:1.2rem 1.05rem 1.05rem;border-radius:10px}
  .sm3-beta-title{font-size:1.12rem;line-height:1.22}
  .sm3-beta-text,.sm3-beta-list li{font-size:.84rem;line-height:1.45}
  .sm3-beta-list li{padding:.5rem .7rem .5rem 1.25rem}
  .sm3-beta-list li::before{top:.82rem}
  .sm3-beta-actions{flex-direction:column;gap:.5rem}
  .sm3-beta-btn{font-size:.85rem;padding:.7rem .85rem;width:100%}
  .sm3-beta-btn-battlepass,.sm3-beta-btn-tg,.sm3-beta-btn-ok{width:100%;flex:0 0 auto}
  .sm3-title-beta{display:flex;margin-left:0;margin-top:.5rem;transform:none}
}
@media (max-width:380px){
  .sm3-beta-modal{padding:1rem .85rem .9rem}
  .sm3-beta-title{font-size:1.02rem}
  .sm3-beta-text,.sm3-beta-list li{font-size:.8rem}
}

/* ═══════════════════════════════════════════════════════════════════
   V3.9.2 — Maintenance banner (public /smurf + /smurf-test)
   ═══════════════════════════════════════════════════════════════════ */

.sm3-maint-banner{max-width:560px;margin:1.5rem auto 0;
  background:linear-gradient(90deg,rgba(251,146,60,.14),rgba(251,146,60,.06));
  border:1px solid rgba(251,146,60,.35);border-left:4px solid #fb923c;
  border-radius:12px;padding:.9rem 1.1rem;color:#fed7aa;
  animation:sm3MaintFadeIn .3s ease-out}
.sm3-maint-banner[hidden]{display:none}
@keyframes sm3MaintFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sm3-maint-banner-inner{display:flex;gap:.75rem;align-items:flex-start}
.sm3-maint-banner-icon{flex-shrink:0;color:#fb923c;margin-top:.15rem;
  animation:sm3MaintPulse 2.4s ease-in-out infinite}
@keyframes sm3MaintPulse{0%,100%{opacity:1}50%{opacity:.55}}
.sm3-maint-banner-text{flex:1;min-width:0}
.sm3-maint-banner-title{font-size:.95rem;font-weight:700;color:#ffedd5;margin-bottom:.2rem;letter-spacing:.01em}
.sm3-maint-banner-msg{font-size:.85rem;line-height:1.55;color:#fed7aa;white-space:pre-wrap;word-wrap:break-word}

/* ═══════════════════════════════════════════════════════════════════
   V3.9.2 — Admin maintenance panel (at the top of /smurf-test/admin)
   ═══════════════════════════════════════════════════════════════════ */

.sm3-maint-panel{background:var(--card);border:1px solid var(--glass-border);
  border-radius:14px;padding:1.2rem 1.3rem;margin:0 0 1.2rem;
  transition:border-color .25s,box-shadow .25s}
.sm3-maint-panel.is-on{border-color:rgba(251,146,60,.55);
  box-shadow:0 0 0 1px rgba(251,146,60,.15),0 8px 24px rgba(251,146,60,.08);
  background:linear-gradient(180deg,rgba(251,146,60,.05),var(--card) 60%)}
.sm3-maint-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}
.sm3-maint-title{font-size:1.05rem;font-weight:700;margin:0 0 .25rem;color:var(--txt)}
.sm3-maint-sub{font-size:.8rem;color:var(--txt-muted);line-height:1.5;margin:0;max-width:640px}
.sm3-maint-sub code{background:rgba(255,255,255,.05);padding:.05rem .4rem;border-radius:4px;font-size:.78rem;color:#fbbf24}
.sm3-maint-status{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:999px;
  background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.3);color:#86efac;font-size:.78rem;font-weight:600;white-space:nowrap}
.sm3-maint-panel.is-on .sm3-maint-status{background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.5);color:#fed7aa}
.sm3-maint-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px rgba(74,222,128,.6)}
.sm3-maint-dot.is-on{background:#fb923c;box-shadow:0 0 8px rgba(251,146,60,.6);animation:sm3MaintPulse 2.4s ease-in-out infinite}
.sm3-maint-state{letter-spacing:.02em}

.sm3-maint-body{display:flex;flex-direction:column;gap:.85rem}

.sm3-switch{display:inline-flex;align-items:center;gap:.7rem;cursor:pointer;user-select:none;font-size:.92rem;font-weight:600;color:var(--txt)}
.sm3-switch input{position:absolute;opacity:0;pointer-events:none}
.sm3-switch-track{position:relative;width:44px;height:24px;background:rgba(255,255,255,.1);
  border:1px solid var(--glass-border);border-radius:999px;transition:background .2s,border-color .2s;flex-shrink:0}
.sm3-switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:#cbd5e1;transition:transform .2s,background .2s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.sm3-switch input:checked ~ .sm3-switch-track{background:rgba(251,146,60,.4);border-color:#fb923c}
.sm3-switch input:checked ~ .sm3-switch-track .sm3-switch-knob{transform:translateX(20px);background:#fb923c;box-shadow:0 0 8px rgba(251,146,60,.6)}
.sm3-switch input:focus-visible ~ .sm3-switch-track{outline:2px solid var(--sm-acc);outline-offset:2px}

.sm3-maint-msg-row{display:flex;flex-direction:column;gap:.3rem}
.sm3-maint-lbl{font-size:.78rem;color:var(--txt-muted);font-weight:600;letter-spacing:.02em}
.sm3-maint-msg-row textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);
  border:1px solid var(--glass-border);border-radius:8px;padding:.65rem .85rem;color:var(--txt);
  font-size:.88rem;line-height:1.55;outline:none;resize:vertical;font-family:inherit;transition:border-color .2s}
.sm3-maint-msg-row textarea:focus{border-color:var(--sm-acc)}

.sm3-maint-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}
.sm3-maint-meta{font-size:.75rem;color:var(--txt-muted)}
.sm3-maint-save{padding:.55rem 1.4rem;font-size:.85rem}

.sm3-maint-status-line{min-height:1.1rem;font-size:.8rem;color:var(--txt-muted)}
.sm3-maint-status-line.ok{color:#4ade80}
.sm3-maint-status-line.err{color:#f87171}

@media (max-width:560px){
  .sm3-maint-head{flex-direction:column;gap:.55rem}
  .sm3-maint-status{align-self:flex-start}
  .sm3-maint-actions{justify-content:flex-start}
  .sm3-maint-save{width:100%}
}

/* ═══════════════════════════════════════════════════════════════════
   V4.3.6 — Admin bulk recheck panel (/smurf-test/admin)
   ═══════════════════════════════════════════════════════════════════ */
.sm3-bulk-panel{background:var(--card);border:1px solid var(--glass-border);
  border-radius:14px;padding:1.2rem 1.3rem;margin:0 0 1.2rem;
  transition:border-color .25s,box-shadow .25s}
.sm3-bulk-panel.is-running{border-color:rgba(96,165,250,.55);
  box-shadow:0 0 0 1px rgba(96,165,250,.15),0 8px 24px rgba(96,165,250,.08);
  background:linear-gradient(180deg,rgba(96,165,250,.05),var(--card) 60%)}
.sm3-bulk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}
.sm3-bulk-title{font-size:1.05rem;font-weight:700;margin:0 0 .25rem;color:var(--txt)}
.sm3-bulk-sub{font-size:.8rem;color:var(--txt-muted);line-height:1.5;margin:0;max-width:720px}
.sm3-bulk-sub code{background:rgba(255,255,255,.05);padding:.05rem .4rem;border-radius:4px;font-size:.78rem;color:#fbbf24}
.sm3-bulk-status{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:999px;
  background:rgba(148,163,184,.08);border:1px solid rgba(148,163,184,.3);color:#cbd5e1;font-size:.78rem;font-weight:600;white-space:nowrap}
.sm3-bulk-panel.is-running .sm3-bulk-status{background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.5);color:#bfdbfe}
.sm3-bulk-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}
.sm3-bulk-dot.is-on{background:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.6);animation:sm3MaintPulse 2.4s ease-in-out infinite}
.sm3-bulk-state{letter-spacing:.02em}

.sm3-bulk-body{display:flex;flex-direction:column;gap:.85rem}
.sm3-bulk-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.sm3-bulk-btn{padding:.55rem 1.2rem;font-size:.85rem}
.sm3-bulk-btn:disabled{opacity:.55;cursor:not-allowed}
.sm3-bulk-btn-danger{background:linear-gradient(135deg,#dc2626,#991b1b);border-color:rgba(220,38,38,.6)}
.sm3-bulk-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#b91c1c)}

.sm3-bulk-progress{display:flex;flex-direction:column;gap:.35rem}
.sm3-bulk-bar{width:100%;height:8px;background:rgba(255,255,255,.06);border:1px solid var(--glass-border);border-radius:999px;overflow:hidden}
.sm3-bulk-bar-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#60a5fa,#3b82f6);transition:width .4s ease}
.sm3-bulk-meta{font-size:.78rem;color:var(--txt-muted);line-height:1.45;min-height:1.1rem}

.sm3-bulk-message{min-height:1.1rem;font-size:.8rem;color:var(--txt-muted)}
.sm3-bulk-message.ok{color:#4ade80}
.sm3-bulk-message.err{color:#f87171}

@media (max-width:560px){
  .sm3-bulk-head{flex-direction:column;gap:.55rem}
  .sm3-bulk-status{align-self:flex-start}
  .sm3-bulk-actions{flex-direction:column;align-items:stretch}
  .sm3-bulk-btn{width:100%}
}

/* ═══════════════════════════════════════════════════════════════════
   V2.5 — Aegis Ritual (public_beta=False, /smurf-test)
   All rules are scoped under `.sm3r-shell` to avoid leaking into the
   site-wide `base.html` header/footer or the legacy V2.1 layout.
   ═══════════════════════════════════════════════════════════════════ */

/* Paint the whole viewport at body level so there is no visible gap
   between the end of `.sm3r-shell` and the site footer. Same approach
   as the Aegis profile page (`body:has(.sm3-aegis)`). */
body:has(.sm3r-shell){
  background-color:#0a0703;
  background-image:
    radial-gradient(ellipse at 50% -20%,rgba(245,185,66,.15),transparent 60%),
    radial-gradient(ellipse at 50% 120%,rgba(139,36,23,.18),transparent 50%);
  background-attachment:fixed,fixed;
  background-repeat:no-repeat,no-repeat;
  background-size:cover,cover;
}

.sm3r-shell{
  --gold:#f5b942; --gold-d:#a87420; --gold-l:#fde68a;
  --aegis-bg:#0a0703; --aegis-bg2:#1a0f05;
  --parchment:#e8d9b3; --rust:#8b2417;
  --t1:#f5e7c4; --t2:#a89b80; --t3:#5e5a4f;
  --crit:#dc2626; --warn:#f59e0b; --soft:#fde68a;
  position:relative;font-family:"Inter",sans-serif;color:var(--t1);
  /* No own background — body paints the whole viewport; shell stays
     transparent so the gradient flows seamlessly from hero to footer. */
  background:transparent;
  padding:2rem 0 2rem;margin:0 calc(50% - 50vw);min-width:100vw;
  overflow:hidden;
}
.sm3r-shell::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.85  0 0 0 0 0.5  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.5;mix-blend-mode:overlay;
}
.sm3r-shell > *{position:relative;z-index:2}

/* breadcrumbs on dark Aegis background */
.sm3r-breadcrumbs{max-width:1180px;margin:0 auto .6rem;padding:.4rem 2rem 0;
  font-size:.78rem;color:var(--t2);letter-spacing:.05em}
.sm3r-breadcrumbs a{color:var(--gold-l);text-decoration:none;border-bottom:1px dotted rgba(245,185,66,.25)}
.sm3r-breadcrumbs a:hover{color:var(--gold)}
.sm3r-breadcrumbs .bc-sep{margin:0 .4rem;color:var(--t3)}
.sm3r-breadcrumbs .bc-current{color:var(--t1);font-weight:500}

/* ── Hero stage ─────────────────────────────── */
.sm3r-stage{position:relative;max-width:1280px;margin:0 auto;padding:3rem 2rem 2rem;
  display:grid;grid-template-columns:1fr .95fr;gap:3rem;align-items:center;overflow:visible}
.sm3r-stage::before{
  content:"ДЕТЕКТОР";position:absolute;left:-3rem;top:-1rem;
  font-family:"Cinzel",serif;font-weight:900;font-size:clamp(9rem,18vw,16rem);
  color:transparent;-webkit-text-stroke:1px rgba(245,185,66,.15);letter-spacing:.02em;line-height:1;
  pointer-events:none;z-index:0;white-space:nowrap;user-select:none;
}

.sm3r-hero-left{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}
.sm3r-beta-badge{display:inline-flex;gap:.35rem;margin-bottom:1.1rem}
.sm3r-beta-pill{font-family:"Cinzel",serif;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;
  padding:.35rem .8rem;border-radius:3px;border:1px solid rgba(245,185,66,.3);color:var(--gold-l);background:rgba(245,185,66,.05)}
.sm3r-beta-pill-accent{border-color:var(--crit);color:#fee2e2;background:rgba(220,38,38,.12);box-shadow:0 0 12px rgba(220,38,38,.25)}
.sm3r-title{font-family:"Cinzel",serif;font-weight:900;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.02;letter-spacing:-.01em;margin-bottom:.7rem;
  text-shadow:0 0 30px rgba(245,185,66,.25);color:var(--t1)}
.sm3r-subtitle{font-size:1rem;line-height:1.65;color:var(--t2);margin-bottom:1.5rem;max-width:560px}
.sm3r-subtitle b{color:var(--gold-l);font-weight:600}

/* maintenance banner on Aegis palette */
.sm3r-maint{margin:0 0 1.2rem;max-width:560px;border-radius:8px;border:1px dashed rgba(245,185,66,.3);
  background:linear-gradient(180deg,rgba(20,15,8,.7),rgba(10,7,3,.7));color:var(--soft)}
.sm3r-maint .sm3-maint-banner-inner{padding:.7rem .9rem;gap:.7rem}
.sm3r-maint .sm3-maint-banner-icon{color:var(--warn)}
.sm3r-maint .sm3-maint-banner-title{color:var(--gold-l);letter-spacing:.08em;font-family:"Cinzel",serif;font-weight:700;font-size:.78rem}
.sm3r-maint .sm3-maint-banner-msg{color:var(--t2);font-size:.82rem}

/* Octagon search medallion. The static D-brand seal hangs above the
   search field; a volumetric Dota 2 emblem rotates as a "compass needle"
   behind the octagon (visible as it sweeps past the edges). */
.sm3r-med-wrap{position:relative;width:100%;max-width:560px;padding:2px}
.sm3r-med-wrap::before{content:"";position:absolute;inset:-8px;
  background:
    linear-gradient(135deg,rgba(245,185,66,.45),rgba(245,185,66,.12) 40%,rgba(245,185,66,.45));
  clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%,15% 15%);
  filter:blur(3px);opacity:.55;z-index:0}

/* Static brand seal above the search — no animation, just a breathing glow. */
.sm3r-med-seal{position:absolute;top:-34px;left:50%;transform:translateX(-50%);
  width:58px;height:58px;z-index:10;pointer-events:none;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
  filter:drop-shadow(0 0 10px rgba(245,185,66,.55)) drop-shadow(0 0 22px rgba(245,185,66,.25))}
.sm3r-med-seal svg{width:100%;height:100%}

/* Stacking rules for the hero column:
   - compass:       z:-1 — furthest back, behind octagon halo + text above.
   - wrap::before:  z: 0 — octagonal gold halo right around the medallion.
   - med body:      z: 2 — the dark octagon card itself.
   - title/subtitle/badge/banner: z:5 — they always paint above the compass
     so its overflow never covers the hero copy or the maintenance banner.
   - seal (D logo): z:10 — the brand mark hanging above the medallion is
     the topmost element; it sits above the banner when they overlap.
   `.sm3r-med-wrap` must NOT form its own stacking context (no isolation,
   no z-index), otherwise its children would paint as one atomic layer
   and the per-element z-indices above would flatten. */
.sm3r-hero-left > .sm3r-beta-badge,
.sm3r-hero-left > .sm3r-title,
.sm3r-hero-left > .sm3r-subtitle,
.sm3r-hero-left > .sm3-maint-banner,
.sm3r-hero-left > #sm3MaintenanceBanner{
  position:relative;z-index:5;
}
.sm3r-med-compass{position:absolute;left:50%;top:50%;
  width:calc(100% + 120px);aspect-ratio:1;
  transform:translate(-50%,-50%);
  z-index:-1;pointer-events:none;
  filter:
    drop-shadow(0 4px 10px rgba(0,0,0,.55))
    drop-shadow(0 0 22px rgba(245,185,66,.25))
    drop-shadow(0 0 48px rgba(220,38,38,.12));
  opacity:0;will-change:transform,opacity;
  animation:
    sm3rCompassFadeIn 1.1s ease-out .15s both,
    sm3rSealSpin 22s linear .15s infinite;
}
.sm3r-med-compass svg{width:100%;height:100%;display:block}
@keyframes sm3rSealSpin{from{transform:translate(-50%,-50%) rotate(0)}
  to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes sm3rCompassFadeIn{from{opacity:0}to{opacity:.32}}

.sm3r-med{position:relative;z-index:2;padding:1.6rem 1.5rem;
  background:linear-gradient(180deg,rgba(20,15,8,.96),rgba(10,7,3,.96));
  clip-path:polygon(50% 0%,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0% 50%,15% 15%);
  display:flex;flex-direction:column;align-items:center;gap:.9rem}
.sm3r-med-label{font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.3em;color:var(--gold-l);text-transform:uppercase;opacity:.85}
.sm3r-search{display:flex;gap:.5rem;align-items:center;padding:.55rem .55rem .55rem 1rem;width:100%;max-width:430px;
  background:rgba(10,7,3,.8);border:1px solid rgba(245,185,66,.3);border-radius:10px}
.sm3r-search svg{width:18px;height:18px;color:var(--gold);opacity:.7;flex-shrink:0}
.sm3r-input{flex:1;background:transparent;border:0;outline:none;color:var(--t1);font:.95rem "Inter";padding:.55rem 0}
.sm3r-input::placeholder{color:var(--t3)}
.sm3r-search-btn{font-family:"Cinzel",serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;
  padding:.7rem 1.1rem;color:#1a0f05;background:linear-gradient(135deg,var(--gold-l),var(--gold) 55%,var(--gold-d));
  border:0;border-radius:7px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 20px rgba(245,185,66,.4)}
.sm3r-search-btn:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(245,185,66,.55)}
.sm3r-search-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.sm3r-med-hint{font-size:.7rem;color:var(--t3);letter-spacing:.08em;text-align:center;max-width:400px}
/* Ritual error banner. Sits OUTSIDE the octagonal medallion so long
   messages (daily-quota exceeded, rate-limit, network error) are not
   truncated by `.sm3r-med`'s clip-path. A positive z-index keeps it in
   front of the rotating Dota emblem that overflows the medallion. */
.sm3r-error{position:relative;z-index:6;
  max-width:460px;margin:1rem auto 0;text-align:center;
  font-family:"Inter",sans-serif;font-size:.88rem;line-height:1.45;
  color:#fca5a5}
.sm3r-error:empty{margin:0;padding:0;background:none;border:none;min-height:0}
/* When populated + `.visible` kicks in from JS (`showError`), render a
   parchment-on-crimson card so the message reads clearly against the
   dark Aegis backdrop. */
.sm3r-error.visible{
  padding:.75rem 1.1rem;
  background:linear-gradient(180deg,rgba(80,12,12,.92),rgba(40,6,6,.92));
  border:1px solid rgba(239,68,68,.55);
  border-radius:10px;
  color:#fecaca;
  box-shadow:
    0 10px 30px rgba(0,0,0,.55),
    0 0 20px rgba(239,68,68,.18),
    inset 0 0 0 1px rgba(239,68,68,.08)}

/* RIGHT: Wanted poster (now a link) */
.sm3r-poster-wrap{position:relative;z-index:2;display:flex;justify-content:center}
.sm3r-poster{
  position:relative;display:block;width:100%;max-width:420px;padding:1.5rem 1.4rem 1.4rem;
  background:
    linear-gradient(180deg,rgba(220,38,38,.05),rgba(0,0,0,.55)),
    radial-gradient(circle at 30% 25%,rgba(245,185,66,.08),transparent 60%);
  border:1px solid rgba(245,185,66,.35);border-radius:6px;
  text-decoration:none;color:inherit;
  transform:rotate(-3deg);transition:transform .4s cubic-bezier(.3,1.4,.4,1);
  box-shadow:0 25px 60px rgba(0,0,0,.55),inset 0 0 30px rgba(245,185,66,.04);
}
.sm3r-poster:hover{transform:rotate(-1.2deg) translateY(-4px)}
.sm3r-poster::before{content:"";position:absolute;inset:4px;border:1px dashed rgba(245,185,66,.25);border-radius:3px;pointer-events:none}
.sm3r-poster::after{content:"◆ WANTED ◆";position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:"Cinzel",serif;font-size:.68rem;letter-spacing:.35em;color:#0a0703;background:var(--gold);
  padding:.28rem .9rem;border-radius:2px;box-shadow:0 4px 12px rgba(245,185,66,.4)}

.sm3r-stamp{position:absolute;top:.8rem;right:-1rem;transform:rotate(12deg);
  font-family:"Cinzel",serif;font-weight:900;font-size:.72rem;letter-spacing:.22em;
  color:var(--crit);border:2px solid var(--crit);border-radius:4px;
  padding:.35rem .7rem;background:rgba(220,38,38,.05);opacity:.9;
  box-shadow:0 0 0 4px rgba(0,0,0,.35)}

.sm3r-p-head{text-align:center;font-family:"Cinzel",serif;font-size:.7rem;letter-spacing:.3em;color:var(--gold-l);text-transform:uppercase;margin-bottom:.8rem;opacity:.85}
.sm3r-p-avatar{width:120px;height:120px;margin:0 auto 1rem;border:3px solid var(--gold);border-radius:4px;overflow:hidden;
  box-shadow:0 0 26px rgba(245,185,66,.35),inset 0 0 12px rgba(0,0,0,.5);filter:sepia(.2) contrast(1.05)}
.sm3r-p-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.sm3r-p-name{font-family:"Cinzel",serif;font-weight:900;font-size:1.55rem;text-align:center;color:#fee2e2;line-height:1.1;margin-bottom:.3rem;text-shadow:0 0 20px rgba(220,38,38,.3)}
.sm3r-p-id{text-align:center;font-size:.7rem;letter-spacing:.2em;color:var(--t3);text-transform:uppercase;margin-bottom:1rem}

.sm3r-p-score-row{display:flex;gap:.8rem;align-items:center;justify-content:center;padding:.8rem 0;margin-bottom:.8rem;
  border-top:1px dashed rgba(245,185,66,.2);border-bottom:1px dashed rgba(245,185,66,.2)}
.sm3r-p-score{font-family:"Cinzel",serif;font-weight:900;font-size:3rem;line-height:1;color:var(--gold-l);text-shadow:0 0 18px rgba(245,185,66,.4)}
.sm3r-p-score small{display:block;font-size:.65rem;color:var(--t3);letter-spacing:.24em;font-weight:500;margin-top:.2rem}
.sm3r-p-meta{text-align:left}
.sm3r-p-verdict{font-family:"Cinzel",serif;font-weight:700;font-size:1rem;color:var(--gold-l);letter-spacing:.06em;margin-bottom:.15rem}
.sm3r-p-sub{font-size:.72rem;color:var(--t2);letter-spacing:.05em}
.sm3r-p-conf{display:inline-flex;gap:.3rem;align-items:center;margin-top:.3rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--warn);font-weight:700}
.sm3r-p-conf::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warn);box-shadow:0 0 6px var(--warn)}

.sm3r-p-factors{display:flex;flex-direction:column;gap:.5rem}
.sm3r-pf{display:grid;grid-template-columns:20px 1fr auto;gap:.5rem;align-items:center;padding:.45rem .6rem;
  background:rgba(10,7,3,.55);border:1px solid rgba(245,185,66,.15);border-radius:5px;font-size:.78rem;color:var(--t1)}
.sm3r-pf .idx{font-family:"Cinzel",serif;font-weight:700;color:var(--gold-l);text-align:center}
.sm3r-pf .n{font-family:"Cinzel",serif;font-weight:700;color:var(--sev)}
.sm3r-pf.s1{--sev:#f59e0b}
.sm3r-pf.s2{--sev:#fde68a}
.sm3r-pf.s3{--sev:#f59e0b}

.sm3r-p-foot{margin-top:.9rem;padding-top:.7rem;border-top:1px dashed rgba(245,185,66,.2);font-size:.7rem;color:var(--t3);text-align:center;letter-spacing:.08em}

/* ── Notice row ───────────────────────────────── */
.sm3r-notice{max-width:1180px;margin:3rem auto 0;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sm3r-note-card{padding:1.1rem 1.3rem;border:1px dashed rgba(245,185,66,.25);border-radius:10px;
  background:linear-gradient(180deg,rgba(20,15,8,.55),rgba(10,7,3,.4));font-size:.88rem;line-height:1.55;color:var(--t1)}
.sm3r-note-card strong{font-family:"Cinzel",serif;display:block;color:var(--gold-l);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.4rem}
.sm3r-note-card a{color:var(--gold);text-decoration:none;border-bottom:1px dotted rgba(245,185,66,.4)}
.sm3r-note-card a:hover{color:var(--gold-l)}

/* ── Section title & feature grid ─────────────── */
.sm3r-sec-title{max-width:1180px;margin:4rem auto 1.2rem;padding:0 2rem;display:flex;align-items:baseline;gap:1rem}
.sm3r-sec-title h2{font-family:"Cinzel",serif;font-weight:700;font-size:1.3rem;letter-spacing:.08em;color:var(--gold-l);margin:0}
.sm3r-sec-title .sub{font-size:.75rem;color:var(--t3);letter-spacing:.2em;text-transform:uppercase}
.sm3r-sec-title .line{flex:1;height:1px;background:linear-gradient(90deg,rgba(245,185,66,.3),transparent)}

.sm3r-features{max-width:1180px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sm3r-feat{position:relative;padding:1.4rem 1.4rem;border-radius:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(20,15,8,.85),rgba(10,7,3,.85));
  border:1px solid rgba(245,185,66,.12);transition:transform .25s,border-color .25s,box-shadow .25s}
.sm3r-feat:hover{transform:translateY(-3px);border-color:var(--gsev);box-shadow:0 0 30px rgba(var(--gsev-rgb),.12)}
.sm3r-feat::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--gsev);box-shadow:0 0 12px var(--gsev)}
.sm3r-feat.c1{--gsev:#dc2626;--gsev-rgb:220,38,38}
.sm3r-feat.c2{--gsev:#f59e0b;--gsev-rgb:245,158,11}
.sm3r-feat.c3{--gsev:#fde68a;--gsev-rgb:253,230,138}
.sm3r-feat.c4{--gsev:#a87420;--gsev-rgb:168,116,32}
.sm3r-feat.c5{--gsev:#8b2417;--gsev-rgb:139,36,23}
.sm3r-feat.c6{--gsev:#f5b942;--gsev-rgb:245,185,66}

.sm3r-feat-ico{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--gsev);
  background:rgba(245,185,66,.06);border:1px solid rgba(245,185,66,.15);border-radius:8px;margin-bottom:.8rem}
.sm3r-feat-ico svg{width:20px;height:20px}
.sm3r-feat-name{font-family:"Cinzel",serif;font-weight:600;font-size:1.02rem;color:var(--t1);margin-bottom:.4rem;letter-spacing:.03em}
.sm3r-feat-desc{font-size:.85rem;color:var(--t2);line-height:1.55}

/* ── Marquee: latest checks ───────────────────── */
.sm3r-marquee{position:relative;max-width:1180px;margin:0 auto;padding:0 2rem;overflow:hidden}
.sm3r-marquee-viewport{position:relative;overflow:hidden;
  border-top:1px dashed rgba(245,185,66,.2);border-bottom:1px dashed rgba(245,185,66,.2);
  padding:.9rem 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.sm3r-marquee-fade{position:absolute;top:0;bottom:0;width:90px;pointer-events:none;z-index:3}
.sm3r-marquee-fade-l{left:2rem;background:linear-gradient(90deg,var(--aegis-bg) 10%,transparent)}
.sm3r-marquee-fade-r{right:2rem;background:linear-gradient(-90deg,var(--aegis-bg) 10%,transparent)}
.sm3r-marquee-track{display:inline-flex;gap:.8rem;white-space:nowrap;animation:sm3rMarq 82s linear infinite;will-change:transform}
.sm3r-marquee:hover .sm3r-marquee-track{animation-play-state:paused}
@keyframes sm3rMarq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.sm3r-chip{display:inline-flex;align-items:center;gap:.55rem;flex:0 0 auto;
  padding:.5rem .9rem;border-radius:999px;border:1px solid rgba(245,185,66,.2);
  background:linear-gradient(180deg,rgba(20,15,8,.85),rgba(10,7,3,.85));
  font-family:"Inter",sans-serif;font-size:.8rem;color:var(--t1);text-decoration:none;
  letter-spacing:.02em;transition:transform .2s,border-color .2s,box-shadow .2s,color .2s}
.sm3r-chip:hover{transform:translateY(-2px);color:#fff;border-color:var(--gsev,var(--gold));
  box-shadow:0 6px 20px rgba(var(--gsev-rgb,245,185,66),.25)}
.sm3r-chip .sm3r-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--gsev,var(--gold));box-shadow:0 0 10px var(--gsev,var(--gold));flex-shrink:0}
.sm3r-chip .sm3r-chip-name{font-weight:600;color:var(--t1);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm3r-chip .sm3r-chip-verdict{font-family:"Cinzel",serif;font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gsev,var(--gold-l))}
.sm3r-chip .sm3r-chip-score{font-family:"Cinzel",serif;font-weight:700;color:var(--gsev,var(--gold-l));padding:.05rem .5rem;border-radius:5px;border:1px solid rgba(245,185,66,.2);background:rgba(10,7,3,.55);font-size:.75rem}

.sm3r-chip--smurf      {--gsev:#dc2626;--gsev-rgb:220,38,38}
.sm3r-chip--boost      {--gsev:#f59e0b;--gsev-rgb:245,158,11}
.sm3r-chip--suspicious {--gsev:#fde68a;--gsev-rgb:253,230,138}
.sm3r-chip--clean      {--gsev:#4ade80;--gsev-rgb:74,222,128}
.sm3r-chip--loading{color:var(--t3);border-style:dashed}
.sm3r-chip--loading .sm3r-chip-dot{background:var(--t3);box-shadow:none;animation:sm3rDotPulse 1.4s ease-in-out infinite}
@keyframes sm3rDotPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Queue card in Ritual theme. The base `.sm3-queue-card` relies on V2.1
   CSS variables (--card, --glass-border, --txt) which the Ritual shell also
   defines globally, so here we only override surface colours + typography
   to match the gold/parchment aesthetic of the surrounding page. */
.sm3r-queue-card{max-width:560px;margin:2.5rem auto 1rem;
  background:linear-gradient(180deg,rgba(26,16,5,.96),rgba(10,7,3,.96));
  border:1px solid rgba(245,185,66,.32);
  box-shadow:
    0 24px 60px rgba(0,0,0,.55),
    0 0 40px rgba(245,185,66,.08),
    inset 0 0 0 1px rgba(245,185,66,.05);
  border-radius:14px;padding:2.2rem 1.6rem 1.8rem;position:relative;overflow:hidden}
.sm3r-queue-card::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 0%,rgba(245,185,66,.12),transparent 60%)}
.sm3r-queue-card .sm3-queue-spinner{
  border-color:rgba(245,185,66,.2);
  border-top-color:#f5b942}
.sm3r-queue-card .sm3-queue-title{
  font-family:"Cinzel",serif;font-weight:700;letter-spacing:.02em;color:#f5e4c8;font-size:1.3rem}
.sm3r-queue-card .sm3-queue-step{color:#c8b78a}
.sm3r-queue-card .sm3-step-dot{background:rgba(245,185,66,.18)}
.sm3r-queue-card .sm3-step-dot.active{background:#f5b942;box-shadow:0 0 10px rgba(245,185,66,.6)}
.sm3r-queue-card .sm3-step-dot.done{background:#4ade80}
.sm3r-queue-card .sm3-step-label{color:#9c8b63;letter-spacing:.04em}
.sm3r-queue-card .sm3-queue-eta{color:#f5e4c8}
.sm3r-queue-card .sm3-queue-hint{color:#a89472}
.sm3r-queue-card .sm3-queue-position{
  background:rgba(245,185,66,.08);border-color:rgba(245,185,66,.35)}
.sm3r-queue-card .sm3-queue-pos-label{color:#9c8b63}
.sm3r-queue-card .sm3-queue-pos-num strong{color:#f5b942}
.sm3r-queue-card .sm3-queue-pos-phase{border-left-color:rgba(245,185,66,.35);color:#a89472;
  font-family:"Cinzel",serif;letter-spacing:.08em;font-size:.7rem;text-transform:uppercase}
.sm3r-queue-card .sm3-queue-deep-label{color:#9c8b63;font-family:"Cinzel",serif}
.sm3r-queue-card .sm3-queue-deep-text{color:#f5e4c8}
.sm3r-queue-card .sm3-queue-deep-bar{background:rgba(245,185,66,.1)}
.sm3r-queue-card .sm3-queue-deep-fill{
  background:linear-gradient(90deg,#f5b942,#dc2626);
  box-shadow:0 0 12px rgba(245,185,66,.5)}

/* Responsive */
@media(max-width:960px){
  .sm3r-stage{grid-template-columns:1fr;padding-top:2rem;gap:2rem}
  .sm3r-stage::before{font-size:6rem;top:.2rem;left:1rem}
  .sm3r-poster{max-width:100%}
  .sm3r-features{grid-template-columns:1fr}
  .sm3r-notice{grid-template-columns:1fr}
  .sm3r-breadcrumbs{padding:.4rem 1.2rem 0}
  .sm3r-sec-title{margin:2.5rem auto 1rem;padding:0 1.2rem}
  .sm3r-features,.sm3r-notice,.sm3r-marquee{padding-left:1.2rem;padding-right:1.2rem}
  .sm3r-marquee-fade-l{left:1.2rem}
  .sm3r-marquee-fade-r{right:1.2rem}
}
@media(max-width:560px){
  .sm3r-stage{padding:1.5rem 1.2rem}
  .sm3r-title{font-size:1.8rem}
  .sm3r-med{padding:1.2rem 1rem}
  .sm3r-search{flex-wrap:wrap}
  .sm3r-search-btn{width:100%}
}

/* ── V2.5 Ritual welcome popup ─────────────────────────────
   Builds on the existing `.sm3-beta-*` skin (gold + parchment)
   and adds Ritual-only accents: octagonal clip, Cinzel heading,
   rotating Dota seal above the modal, gold "Начать" CTA. */
.sm3r-beta-overlay{
  background:rgba(5,3,1,.82);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.sm3r-beta-modal{
  background:
    linear-gradient(180deg,rgba(26,16,5,.98),rgba(10,7,3,.98));
  border:1px solid rgba(245,185,66,.38);
  box-shadow:
    0 30px 70px rgba(0,0,0,.7),
    0 0 60px rgba(245,185,66,.12),
    inset 0 0 0 1px rgba(245,185,66,.06);
  padding-top:3.6rem; /* room for the seal hanging above */
  overflow:visible;
}
/* Subtle parchment noise overlay on the modal, matches the Ritual shell. */
.sm3r-beta-modal::before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.85  0 0 0 0 0.5  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.45;mix-blend-mode:overlay;
}
.sm3r-beta-modal > *{position:relative;z-index:2}

.sm3r-beta-seal{
  position:absolute;top:-34px;left:50%;transform:translateX(-50%);
  width:68px;height:68px;pointer-events:none;z-index:3;
  color:#f5b942;
  filter:drop-shadow(0 0 12px rgba(245,185,66,.55)) drop-shadow(0 0 26px rgba(245,185,66,.3));
}
.sm3r-beta-seal svg{width:100%;height:100%}

.sm3r-beta-title{
  font-family:"Cinzel",Georgia,serif;
  font-weight:700;letter-spacing:.01em;
  font-size:1.45rem;line-height:1.2;
  color:#fde68a;text-align:center;margin-top:.2rem;
}
.sm3r-beta-overlay .sm3-beta-badge-top{justify-content:center}

/* Compact actions row — three buttons on a single line on desktop/tablet.
   Battlepass gets the lion's share (it's the primary CTA with a longer
   label), Telegram is icon+word, OK ("Начать") sits at the end. */
.sm3r-beta-overlay .sm3-beta-actions{flex-wrap:nowrap;gap:.45rem;align-items:stretch}
.sm3r-beta-overlay .sm3-beta-btn{padding:.62rem .75rem;font-size:.82rem;white-space:nowrap}
.sm3r-beta-overlay .sm3-beta-btn-battlepass{flex:1 1 auto;min-width:0;
  padding-left:.8rem;padding-right:.8rem}
.sm3r-beta-overlay .sm3-beta-btn-tg{flex:0 0 auto;padding:.62rem .85rem}
.sm3r-beta-overlay .sm3-beta-btn-ok{flex:0 0 auto}

/* Replace the red "OK" CTA with a gold "Начать" matching the Ritual CTAs. */
.sm3r-beta-btn-ok{
  background:linear-gradient(135deg,#fde68a,#f5b942 55%,#a87420);
  color:#1a0f05;border-color:rgba(245,185,66,.6);
  font-family:"Cinzel",serif;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(245,185,66,.35);
  min-width:96px;
}
.sm3r-beta-btn-ok:hover{
  box-shadow:0 10px 26px rgba(245,185,66,.5);
  background:linear-gradient(135deg,#fff3c2,#ffcf5e 55%,#b98327);
}

@media(max-width:620px){
  .sm3r-beta-modal{padding-top:3.1rem}
  .sm3r-beta-seal{width:56px;height:56px;top:-28px}
  .sm3r-beta-title{font-size:1.14rem}
  /* On phones stacking the buttons reads better than cramming 3 wide. */
  .sm3r-beta-overlay .sm3-beta-actions{flex-wrap:wrap}
  .sm3r-beta-overlay .sm3-beta-btn{width:100%;flex:0 0 auto;font-size:.85rem}
}

