/* 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:.8rem;color:var(--txt-muted);margin: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)}

/* 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-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-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)}

/* 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)}
.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}

/* 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)}

/* ── /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%}
}
