:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --card2:#ffffff;
  --text:#0b1220;
  --muted:#556575;
  --accent:#2563eb;
  --danger:#dc2626;
  --border:rgba(15,23,42,.12);
  --shadow: 0 10px 30px rgba(15,23,42,.08);
  --radius: 18px;
}

body.theme-dark{
  --bg:#0f1419;
  --card:#141b22;
  --card2:#10161c;
  --text:#e8eef5;
  --muted:#9aa7b3;
  --accent:#4f8cff;
  --danger:#ff5a6b;
  --border:rgba(255,255,255,.08);
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit}

.muted{color:var(--muted)}
.small{font-size:12px}
.h1{margin:0;font-size:26px;letter-spacing:-.02em}
.authh{margin:0 0 12px 0}
.i{width:20px;height:20px;display:block}
.i-sm{width:16px;height:16px}
.iconbtn{border:1px solid var(--border);background:rgba(15,23,42,.02);color:var(--text);border-radius:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px}
.iconbtn:hover{background:rgba(15,23,42,.04)}

/* --- Enterprise Shell --- */
.shell{min-height:100vh;display:flex}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40}
.overlay.is-open{opacity:1;pointer-events:auto}

.sidebar{position:fixed;inset:0 auto 0 0;width:280px;z-index:50;background:#0b1220;color:#e8eef5;border-right:1px solid rgba(255,255,255,.08);transform:translateX(-105%);transition:transform .18s ease;display:flex;flex-direction:column}
.sidebar.is-open{transform:translateX(0)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-close{display:none;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:#e8eef5}
.sidebar-close:hover{background:rgba(255,255,255,.10)}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}
.brand-logo{height:28px;width:auto;display:block}
.brand-mark{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-weight:800;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.brand-text{display:flex;flex-direction:column;min-width:0}
.brand-title{font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-sub{font-size:12px;color:rgba(232,238,245,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

.sidebar-nav{padding:10px;display:flex;flex-direction:column;gap:6px;overflow:auto}
.snav{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;text-decoration:none;color:rgba(232,238,245,.88);border:1px solid transparent}
.snav:hover{background:rgba(255,255,255,.06)}
.snav.is-active{background:rgba(79,140,255,.18);border-color:rgba(79,140,255,.22)}
.snav-ic{width:24px;height:24px;display:grid;place-items:center;color:#cfe0ff}
.snav-ch{margin-left:auto;opacity:.55}

.sidebar-foot{margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.08)}
.userchip{display:flex;align-items:center;gap:10px}
.avatar{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-weight:800;color:#fff}
.avatar-sm{width:34px;height:34px}
.userchip-meta{min-width:0}
.userchip-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.userchip-role{font-size:12px;color:rgba(232,238,245,.70)}

.main{flex:1;min-width:0;margin-left:0}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:rgba(245,247,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
body.theme-dark .topbar{background:rgba(15,20,25,.88)}
.burger{border-color:var(--border)}

/* Mobile-only topbar title */
.topbar-title-only{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.topbar-page{font-weight:900;letter-spacing:-.02em;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}
.topbar-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}

.container{width:100%;max-width:var(--container-max,1180px);margin:0 auto;padding:18px 16px 96px}
.container-app{max-width:100%}
.content{min-height:60vh}

@media (min-width: 980px){
  .overlay{display:none}
  .sidebar{position:fixed;top:0;bottom:0;left:0;transform:none;overflow-y:auto}
  .sidebar.is-open{transform:none}
  .sidebar-close{display:none}
  .topbar{display:none}
  .burger{display:none}
  .main{margin-left:280px}
  .container{padding-bottom:28px}
}

@media (max-width: 979px){
  .sidebar-close{display:inline-flex}
}

.flash{margin:0 0 12px 0;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(15,23,42,.02)}
.flash-success{border-color:rgba(16,185,129,.30);background:rgba(16,185,129,.08)}
.flash-error{border-color:rgba(220,38,38,.30);background:rgba(220,38,38,.08)}
.flash-warning{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.10)}
.flash-info{border-color:rgba(37,99,235,.30);background:rgba(37,99,235,.08)}


.flash{display:block}
.flash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.flash-text{flex:1;line-height:1.35}
.flash-close{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;padding:2px 6px;border-radius:10px;cursor:pointer}
.flash-close:hover{background:rgba(15,23,42,.06);color:var(--text)}
.flash-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(15,23,42,.18)}
.flash-code{display:block;max-width:100%;overflow:auto;padding:6px 10px;border-radius:12px;background:rgba(15,23,42,.06);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}

/* --- Mobile Bottom Nav (kept, but premium) --- */
.mnav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(245,247,251,.92);backdrop-filter:blur(10px);border-top:1px solid var(--border);transition:transform .18s ease,opacity .18s ease}
.mnav.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
.mnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;padding:10px 6px;border-radius:16px;color:var(--muted);border:1px solid transparent}
.mnav-item:hover{background:rgba(15,23,42,.03)}
.mnav-item.is-active{background:rgba(37,99,235,.10);border-color:rgba(37,99,235,.18);color:var(--text)}
.mnav-item.is-primary{background:rgba(37,99,235,.14);border-color:rgba(37,99,235,.25);color:var(--text)}
.mnav-item.is-primary .mnav-ic{color:var(--accent)}
.mnav-ic{display:grid;place-items:center}
.mnav-tx{font-size:11px;white-space:nowrap;line-height:1.05}
@media (min-width: 980px){
  .mnav{display:none}
}

.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:8px 0 16px}
.page-header h1{margin:0;font-size:22px}
.page-header p{margin:6px 0 0}
.header-actions{display:flex;gap:8px;flex-wrap:wrap}

.text-muted{color:var(--muted)}
.text-danger{color:var(--danger)}
.link{color:var(--accent);cursor:pointer}

.section{margin:18px 0}
.section-title{margin:0 0 10px;font-size:16px}
.section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.section-link{color:var(--accent);text-decoration:none}

.card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
body.theme-dark .card{background:linear-gradient(180deg,var(--card),var(--card2));box-shadow:none}
.card-body{padding:12px 12px}
.card-link{text-decoration:none;display:block}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.card-meta{margin-top:6px;font-size:12px}

.kpi{display:flex;align-items:flex-end;justify-content:space-between}
.kpi-label{font-size:12px;color:var(--muted)}
.kpi-value{font-size:18px;font-weight:800}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.grid-2{grid-template-columns:1fr}}

.quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(15,23,42,.02);text-decoration:none}
.action-btn.accent{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.10)}
.action-btn.danger{border-color:rgba(220,38,38,.25);background:rgba(220,38,38,.08)}

.btn{border:1px solid var(--border);background:rgba(15,23,42,.02);color:var(--text);padding:10px 12px;border-radius:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{background:rgba(15,23,42,.04)}
.btn-sm{padding:7px 10px;border-radius:12px;font-size:12px}
.btn-full{width:100%}
.btn-primary{border-color:rgba(37,99,235,.30);background:rgba(37,99,235,.12)}
.btn-primary:hover{background:rgba(37,99,235,.16)}
.btn-accent{border-color:rgba(37,99,235,.30);background:rgba(37,99,235,.12)}
.btn-accent:hover{background:rgba(37,99,235,.16)}
.btn-danger{border-color:rgba(220,38,38,.30);background:rgba(220,38,38,.10)}
.btn-danger:hover{background:rgba(220,38,38,.14)}
.btn-outline{background:transparent}

.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);font-size:12px}
.pill-muted{color:var(--muted)}

.form{border:1px solid var(--border);background:rgba(15,23,42,.02);border-radius:16px;padding:12px}
.form-compact{margin-top:10px}
.form-inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap;border:0;background:transparent;padding:0}
.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-group{flex:1;min-width:180px}
.form-group label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}
input,select,textarea{width:100%;padding:10px 10px;border-radius:14px;border:1px solid var(--border);background:#fff;color:var(--text);outline:none}
body.theme-dark input,body.theme-dark select,body.theme-dark textarea{background:rgba(0,0,0,.28);color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:rgba(37,99,235,.40)}
.input-sm{padding:8px 10px;border-radius:12px;font-size:12px}
.check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.check input{width:auto}

.alert{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(15,23,42,.02)}
.alert-warning{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.10)}
.alert-info{border-color:rgba(37,99,235,.30);background:rgba(37,99,235,.08)}

.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02)}
.status-live{border-color:rgba(220,38,38,.30);background:rgba(220,38,38,.08)}
.status-completed{border-color:rgba(16,185,129,.25)}

.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--border)}
.table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
body.theme-dark .table{background:rgba(0,0,0,.18)}
.table th,.table td{padding:10px 10px;border-bottom:1px solid var(--border);vertical-align:top}
.table th{font-size:12px;color:var(--muted);text-align:left;background:rgba(15,23,42,.02)}
.table tr:last-child td{border-bottom:0}

.empty-state{padding:16px;border:1px dashed var(--border);border-radius:16px;color:var(--muted);background:rgba(15,23,42,.02)}

.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);font-size:12px}

.code-inline{display:inline-block;padding:4px 8px;border-radius:12px;border:1px solid var(--border);background:rgba(15,23,42,.02);color:var(--muted)}

/* Global form/wizard utilities */
.form-hint{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.wiz-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text)}
.status-badge--info{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.08)}
.status-badge--warning{border-color:rgba(245,158,11,.30);background:rgba(245,158,11,.08)}
.status-badge--success{border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.08)}

/* Auth form utilities */
.auth-header{margin-bottom:16px}
.auth-header h1{font-size:22px;margin:0 0 4px}
.auth-form{display:flex;flex-direction:column;gap:10px}
.auth-footer{text-align:center;font-size:13px;color:var(--muted);margin-top:10px}

details summary{list-style:none}
details summary::-webkit-details-marker{display:none}

/* ---- Public layout ---- */
.pheader{position:sticky;top:0;z-index:20;background:rgba(245,247,251,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.pheader-inner{max-width:1180px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pnav{display:flex;gap:8px;align-items:center}
.pmain{max-width:1180px;margin:0 auto;padding:26px 16px 40px}
.pfooter{border-top:1px solid var(--border)}
.pfooter-inner{max-width:1180px;margin:0 auto;padding:18px 16px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}

.pulse-public__hero{margin:12px 0 22px}
.pulse-public__hero h1{margin:0 0 8px;font-size:44px;letter-spacing:-.02em}
.pulse-public__hero p{margin:0;color:var(--muted)}

.pulse-view{max-width:1040px;margin:0 auto}
.pulse-section{margin:18px 0}
.pulse-section-title{margin:0 0 10px;font-size:16px;color:var(--text)}
.pulse-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:900px){.pulse-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:620px){.pulse-list{grid-template-columns:1fr;}.pulse-public__hero h1{font-size:34px}}
.pulse-card{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:12px;text-decoration:none;display:block;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.pulse-card--accent{border-color:rgba(37,99,235,.25);background:rgba(37,99,235,.06)}
.pulse-muted{color:var(--muted);font-size:12px}
.pulse-badge{display:inline-flex;align-items:center;font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);margin-top:8px}
.pulse-badge--info{border-color:rgba(37,99,235,.25)}
.pulse-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:14px;border:1px solid var(--border);text-decoration:none;margin:6px 6px 0 0}
.pulse-btn--primary{border-color:rgba(37,99,235,.30);background:rgba(37,99,235,.12)}
.pulse-btn--secondary{background:rgba(15,23,42,.02)}

/* ---- Schedule ---- */
.sch-match-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:13px}
.sch-ref-pill{display:inline-flex;align-items:center;gap:6px;max-width:260px;min-width:0;white-space:nowrap;overflow:hidden}
.sch-ref-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* ---- Auth ---- */
.auth{background:linear-gradient(180deg,#0b1220 0%, #0f172a 100%);color:#e8eef5;min-height:100vh}
.auth-shell{max-width:1180px;margin:0 auto;min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:28px 16px;align-items:center;justify-content:center}
.auth-panel{padding:18px 18px 18px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
.auth-brand{display:flex;gap:14px;align-items:center}
.auth-title{font-size:22px;font-weight:800;letter-spacing:-.01em}
.auth-sub{color:rgba(232,238,245,.75);margin-top:3px}
.auth-points{margin-top:18px;display:grid;gap:10px}
.auth-point{padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:rgba(232,238,245,.85)}
.auth-card{background:#ffffff;color:var(--text);border-radius:24px;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 60px rgba(0,0,0,.25);padding:18px}
.auth-card-brand{display:none;margin-bottom:14px;justify-content:center}
.auth-card-brand .brand{justify-content:center}
.auth-card-brand .brand-logo{height:30px}
.auth-card-brand .brand-title{font-size:15px}
.auth-card-brand .brand-mark{background:rgba(15,23,42,.06);border-color:rgba(15,23,42,.10);color:var(--text)}
.auth-card-brand .brand-sub{color:var(--muted)}
@media (max-width: 980px){
  .auth-shell{grid-template-columns:1fr;align-items:center;justify-content:center;padding:20px 16px}
  .auth-panel{display:none}
  .auth-card-brand{display:block}
}


/* --- Team documents panel --- */
.docs-details summary::-webkit-details-marker{display:none}
.docs-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;user-select:none;padding:6px 0}
.docs-left{display:flex;align-items:center;gap:10px}
.docs-title{font-weight:700}
.docs-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);font-size:12px}
.docs-right{display:flex;align-items:center;gap:8px}
.docs-caret{transition:transform .18s ease}
details[open] .docs-caret{transform:rotate(90deg)}

.doc-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:rgba(15,23,42,.02);white-space:nowrap}
.doc-badge--ok{border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.08)}
.doc-badge--pending{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.10)}
.doc-badge--bad{border-color:rgba(220,38,38,.30);background:rgba(220,38,38,.08)}

/* ── Status badges (global) ── */
.hub-status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}
.hub-status--muted{color:var(--muted);background:rgba(15,23,42,.04)}
.hub-status--info{color:#2563eb;background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.20)}
.hub-status--success{color:#059669;background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.20)}
.hub-status--warning{color:#d97706;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.20)}
.hub-status--danger{color:#dc2626;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.20)}

/* ── S3.5 product-grade error states ── */
.pulse-error-body{min-height:100vh;margin:0;background:
  radial-gradient(circle at 18% 12%,rgba(46,113,255,.19),transparent 34%),
  radial-gradient(circle at 86% 88%,rgba(23,193,170,.12),transparent 31%),#071426;color:#eaf1fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pulse-error-shell{width:min(720px,calc(100% - 32px));min-height:100vh;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:32px 0;box-sizing:border-box}
.pulse-error-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:18px;letter-spacing:-.02em}.pulse-error-brand img{width:38px;height:38px}.pulse-error-brand b{color:#72a7ff}
.pulse-error-card{width:100%;box-sizing:border-box;padding:clamp(26px,5vw,48px);border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.075);box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(18px);text-align:center}
.pulse-error-code{display:inline-flex;padding:7px 11px;border:1px solid rgba(114,167,255,.28);border-radius:999px;background:rgba(114,167,255,.11);color:#a9c9ff;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pulse-error-card h1{max-width:600px;margin:18px auto 12px;color:#fff;font-size:clamp(28px,5vw,46px);line-height:1.04;letter-spacing:-.045em}.pulse-error-card>p{max-width:590px;margin:0 auto;color:rgba(234,241,251,.74);font-size:15px;line-height:1.7}
.pulse-error-context{max-width:460px;margin:20px auto 0;padding:13px 15px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(0,0,0,.13);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.pulse-error-context span{color:rgba(234,241,251,.58);font-size:12px}.pulse-error-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pulse-error-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.pulse-error-actions .btn{min-height:44px;padding:11px 17px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff}.pulse-error-actions .btn-accent{border-color:transparent;background:linear-gradient(135deg,#2867f0,#164bd0)}
.pulse-error-body--suspended .pulse-error-code,.pulse-error-body--failure .pulse-error-code{border-color:rgba(255,105,120,.32);background:rgba(255,105,120,.1);color:#ffb2bc}.pulse-error-body--pending .pulse-error-code{border-color:rgba(255,191,71,.35);background:rgba(255,191,71,.1);color:#ffd28a}
@media(max-width:560px){.pulse-error-shell{width:min(100% - 20px,720px);padding:16px 0}.pulse-error-card{padding:25px 18px;border-radius:22px}.pulse-error-actions{align-items:stretch;flex-direction:column}.pulse-error-actions .btn{width:100%}}

/* S3.57 — PWA foundation: install/update notices and iOS install guide. */
.pulse-pwa-notice{position:fixed;z-index:1200;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:min(430px,calc(100vw - 28px));display:flex;gap:14px;align-items:center;justify-content:space-between;padding:14px 15px;border:1px solid rgba(148,163,184,.28);border-radius:18px;background:#0b1220;color:#e8eef5;box-shadow:0 20px 50px rgba(2,6,23,.28);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pulse-pwa-notice-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.pulse-pwa-notice-copy strong{font-size:13px;line-height:1.25}.pulse-pwa-notice-copy span{font-size:11px;line-height:1.4;color:#a8b8cb}.pulse-pwa-notice-actions{display:flex;gap:6px;flex:0 0 auto}.pulse-pwa-notice button{border:0;border-radius:11px;padding:8px 10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.pulse-pwa-notice-primary{background:#2b83f6;color:#fff}.pulse-pwa-notice-secondary{background:rgba(255,255,255,.08);color:#dbe7f4}
.pulse-pwa-modal-backdrop{position:fixed;z-index:1300;inset:0;display:grid;place-items:center;padding:20px;background:rgba(2,6,23,.72);backdrop-filter:blur(5px)}.pulse-pwa-modal{width:min(440px,100%);padding:22px;border-radius:22px;background:#fff;color:#0f172a;box-shadow:0 28px 80px rgba(0,0,0,.38);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pulse-pwa-modal strong{display:block;font-size:18px}.pulse-pwa-modal p{margin:10px 0 18px;color:#475569;line-height:1.55}.pulse-pwa-modal button{border:0;border-radius:13px;padding:10px 14px;background:#2563eb;color:#fff;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:640px){.pulse-pwa-notice{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:auto;align-items:flex-start;flex-direction:column}.pulse-pwa-notice-actions{width:100%}.pulse-pwa-notice-actions button{flex:1}}
@media(max-width:900px){body.pulse-app .pulse-pwa-notice{bottom:calc(86px + env(safe-area-inset-bottom))}}

/* ─────────────────────────────────────────────────────────────
   Areno Pulse — Public portal (extra premium)
   Keep this file small & focused. Uses tokens from pulse.css.
   ───────────────────────────────────────────────────────────── */

/* Header */
.pub-header{background:rgba(245,247,251,.92);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}
body.theme-dark .pub-header{background:rgba(15,20,25,.86)}
.pub-header-inner{max-width:1040px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pub-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.pub-brand-mark{height:28px;width:28px;display:block}
.pub-brand-text{font-size:14px;font-weight:900;letter-spacing:-.02em}
.pub-brand-text b{color:var(--accent)}
.pub-nav{display:flex;align-items:center;gap:6px}

/* Main */
.pub-main{max-width:1040px;margin:0 auto;padding:20px 16px 40px}
.pub-main--portal{max-width:1100px;padding-top:14px}
.pub-main--home{padding-bottom:40px}
@media(max-width:680px){
  .pub-main--home{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}

/* Footer */
.pub-footer{border-top:1px solid var(--border);padding:20px 16px;text-align:center;font-size:12px;color:var(--muted)}
.pub-footer a{color:var(--accent);text-decoration:none}

/* Home hero */
.ph-hero{padding:34px 0 18px;text-align:center}
.ph-hero-title{font-size:clamp(30px,5vw,46px);font-weight:950;letter-spacing:-.04em;line-height:1.06;margin:0}
.ph-hero-title span{color:var(--accent)}
.ph-hero-sub{font-size:16px;color:var(--muted);margin:12px auto 0;max-width:560px;line-height:1.55}
.ph-hero-cta{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}
@media(max-width:520px){
  .ph-hero{padding:22px 0 12px}
  .ph-hero-sub{font-size:14px;margin-top:10px}
  .ph-hero-cta{margin-top:12px}
  .ph-hero-cta .btn{width:100%;max-width:360px}
}

/* Home quick microcards + search */
.ph-quick{margin-top:6px}

/* Use flex so 3 cards stay centered and wrap nicely (grid with 4 cols left an empty column). */
.ph-microgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}
.ph-microcard{flex:1 1 260px;max-width:360px}
@media(max-width:860px){.ph-microcard{max-width:520px}}
@media(max-width:680px){
  /* On mobile, microcards move into a bottom bar (more premium + saves vertical space) */
  .pub-main--home .ph-microgrid{display:none}
}

/* Home bottom action bar (mobile only) */
.ph-homebar{display:none}
@media(max-width:680px){
  .ph-homebar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:8px;justify-content:space-around;align-items:stretch;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(245,247,251,.92);backdrop-filter:blur(12px);border-top:1px solid var(--border)}
}
.ph-homebar-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border-radius:16px;border:1px solid transparent;text-decoration:none;color:var(--muted);position:relative}
.ph-homebar-item:hover{background:rgba(15,23,42,.03)}
.ph-homebar-item .i{width:18px;height:18px}
.ph-homebar-item.is-disabled{opacity:.5;pointer-events:none}
.ph-homebar-ic{display:grid;place-items:center}
.ph-homebar-tx{font-size:11px;font-weight:900;letter-spacing:-.01em;line-height:1.05;white-space:nowrap}
.ph-homebar-badge{position:absolute;top:8px;right:10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;font-weight:950;display:grid;place-items:center;border:1px solid var(--border);background:var(--card);color:var(--text);opacity:.9}

.ph-homebar-item--reg{background:rgba(37,99,235,.06);border-color:rgba(37,99,235,.14)}
.ph-homebar-item--live{background:rgba(220,38,38,.05);border-color:rgba(220,38,38,.14)}
.ph-homebar-item--up{background:rgba(245,158,11,.05);border-color:rgba(245,158,11,.16)}

.ph-microcard{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:var(--card);text-decoration:none;color:var(--text);cursor:pointer;transition:transform .14s, box-shadow .14s, border-color .14s;appearance:none;font:inherit;text-align:left}
.ph-microcard:hover{border-color:rgba(37,99,235,.18);transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.08)}
.ph-microcard.is-disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.ph-microcard.is-disabled:hover{border-color:var(--border)}

.ph-micro-ico{width:36px;height:36px;border-radius:14px;border:1px solid var(--border);background:rgba(15,23,42,.03);display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.ph-micro-ico .i{width:18px;height:18px}
.ph-micro-body{min-width:0;flex:1}
.ph-micro-title{font-size:13px;font-weight:950;letter-spacing:-.01em;line-height:1.05}
.ph-micro-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.ph-micro-num{font-size:18px;font-weight:950;color:var(--text);opacity:.85}
@media(max-width:680px){
  .ph-microcard{padding:11px 13px;border-radius:16px}
  .ph-micro-ico{width:34px;height:34px;border-radius:13px}
  .ph-micro-num{font-size:16px}
}

.ph-microcard--search .ph-micro-num{opacity:.55}

.ph-microcard--live .ph-micro-ico{background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.16)}
.ph-microcard--reg .ph-micro-ico{background:rgba(37,99,235,.06);border-color:rgba(37,99,235,.16)}
.ph-microcard--up .ph-micro-ico{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.18)}
.ph-microcard--search .ph-micro-ico{background:rgba(16,185,129,.06);border-color:rgba(16,185,129,.18)}

.ph-search{margin-top:12px}
.ph-searchbox{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.72)}
body.theme-dark .ph-searchbox{background:rgba(15,20,25,.55)}
.ph-search-ico{display:grid;place-items:center;color:var(--muted)}
.ph-search-ico .i{width:18px;height:18px}
.ph-searchbox input{flex:1;min-width:0;border:none;background:transparent;font-size:14px;outline:none;color:var(--text)}
.ph-search-hint{font-size:12px;color:var(--muted);margin-top:6px;padding-left:6px}

.ph-search-empty{margin-top:16px;padding:16px;border:1px dashed var(--border);border-radius:18px;background:rgba(255,255,255,.45);display:flex;gap:12px;align-items:flex-start}
body.theme-dark .ph-search-empty{background:rgba(15,20,25,.35)}
.ph-search-empty b{font-weight:950}

/* Public cards */
.ph-section{margin-top:28px}
.ph-section-title{font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;margin:0 0 12px}
.ph-live-dot{width:10px;height:10px;border-radius:50%;background:#dc2626;animation:phBlink 1.2s infinite}
@keyframes phBlink{0%,100%{opacity:1}50%{opacity:.35}}

.ph-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:680px){.ph-grid{grid-template-columns:1fr}}

.ph-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--card);text-decoration:none;color:var(--text);transition:transform .14s, box-shadow .14s, border-color .14s}
.ph-card:hover{border-color:rgba(37,99,235,.22);transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.10)}
.ph-card--live{border-color:rgba(220,38,38,.18);background:linear-gradient(135deg,rgba(220,38,38,.03),transparent)}
.ph-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ph-card-name{font-size:16px;font-weight:900;letter-spacing:-.01em;margin:0;line-height:1.15}
.ph-card-meta{font-size:13px;color:var(--muted)}
.ph-card-org{font-size:12px;color:var(--muted);margin-top:2px}
.ph-sport{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:10px;font-size:11px;background:rgba(15,23,42,.04);border:1px solid var(--border);color:var(--muted)}

.ph-cta-section{margin-top:40px;padding:30px;text-align:center;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,rgba(37,99,235,.04),rgba(16,185,129,.03))}
.ph-cta-section h2{font-size:20px;font-weight:950;margin:0 0 6px}

/* Status pill */
.hub-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;padding:3px 9px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}
.hub-status--info{color:#2563eb;background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.20)}
.hub-status--warning{color:#d97706;background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.20)}
.hub-status--danger{color:#dc2626;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.20)}
.hub-status--success{color:#059669;background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.20)}
.hub-status--muted{color:var(--muted);background:rgba(15,23,42,.04)}

/* Tournament portal */
.pt-hero{position:relative;overflow:hidden;padding:clamp(16px,3vw,26px);border:1px solid var(--border);border-radius:26px;background:linear-gradient(140deg,rgba(37,99,235,.12),rgba(16,185,129,.07) 58%,rgba(255,255,255,.72));box-shadow:0 18px 48px rgba(15,23,42,.08)}
.pt-hero::after{content:"";position:absolute;inset:-45%;background:radial-gradient(circle at 32% 25%,rgba(37,99,235,.20),transparent 38%),radial-gradient(circle at 76% 72%,rgba(16,185,129,.15),transparent 34%);pointer-events:none}
.pt-hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}
.pt-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pt-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.pt-back{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:8px 12px;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:rgba(255,255,255,.68);font-size:13px;font-weight:850;text-decoration:none}
.pt-iconbtn{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:rgba(255,255,255,.68);color:var(--text);cursor:pointer;transition:transform .14s ease,background .14s ease}
.pt-iconbtn:hover,.pt-back:hover{background:rgba(255,255,255,.92);transform:translateY(-1px)}
.pt-iconbtn.is-copied::after{content:"✓";font-weight:950}
.pt-iconbtn.is-copied svg{display:none}
.pt-live-dot{width:8px;height:8px}
.pt-brand{display:flex;align-items:center;gap:14px;min-width:0}
.pt-brand-logo{width:56px;height:56px;object-fit:contain;flex:0 0 auto;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(15,23,42,.08);padding:6px}
.pt-brand-copy{min-width:0}
.pt-eyebrow{margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.pt-title{margin:0;font-size:clamp(24px,4vw,40px);font-weight:950;letter-spacing:-.035em;line-height:1.05;overflow-wrap:anywhere}
.pt-meta{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.pt-meta span{display:inline-flex;align-items:center;gap:6px}
.pt-pill{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border:1px solid rgba(37,99,235,.14);border-radius:999px;background:rgba(37,99,235,.07)}
.pt-desc{max-width:900px;margin:0;color:var(--muted);font-size:14px;line-height:1.55}

.pt-tabs{position:sticky;top:8px;z-index:15;display:flex;gap:7px;margin:14px 0 20px;padding:6px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--border);border-radius:18px;background:rgba(245,247,251,.88);backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.pt-tabs::-webkit-scrollbar{display:none}
.pt-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;flex:1 0 auto;border:0;border-radius:13px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;cursor:pointer}
.pt-tab:hover{color:var(--text);background:rgba(15,23,42,.04)}
.pt-tab.is-active{color:#fff;background:#14284b;box-shadow:0 7px 18px rgba(20,40,75,.18)}
.pt-tab--cta{color:#0b1220;background:#ffd400}
.pt-tab--cta:hover{color:#0b1220;background:#ffe04d}

.pt-panel{animation:ptFade .16s ease}
.pt-panel[hidden]{display:none!important}
@keyframes ptFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.pt-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}
.pt-panel-head h2{margin:2px 0 0;font-size:clamp(19px,3vw,26px);letter-spacing:-.025em}
.pt-kicker{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.pt-panel-count,.pt-day-count{color:var(--muted);font-size:11px;font-weight:850;white-space:nowrap}
.pt-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--border);border-radius:20px;background:rgba(255,255,255,.52)}
.pt-filter-empty{margin-top:12px}

.pt-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:8px;margin-bottom:14px;padding:10px;border:1px solid var(--border);border-radius:18px;background:var(--card)}
.pt-filter{display:flex;flex-direction:column;gap:5px;min-width:0}
.pt-filter>span{padding-left:2px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.pt-filter select{width:100%;min-height:42px;padding:8px 34px 8px 11px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;font-weight:750}
.pt-filter-reset{min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.pt-filter-reset:hover{color:var(--text);background:rgba(15,23,42,.04)}

.pt-day{margin-bottom:18px}
.pt-day[hidden]{display:none!important}
.pt-day-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:0 4px;color:var(--text);font-size:13px;font-weight:950}
.pt-match-list{display:grid;gap:9px}
.pt-match{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.045)}
.pt-match[hidden]{display:none!important}
.pt-match--live{border-color:rgba(220,38,38,.28);box-shadow:0 10px 28px rgba(220,38,38,.08)}
.pt-match--cancelled{opacity:.72}
.pt-match-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border);background:rgba(15,23,42,.025)}
.pt-match-context{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:11px;font-weight:800}
.pt-match-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-match-time{color:var(--text);font-size:13px;font-weight:950;white-space:nowrap}
.pt-match-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.pt-match-status--live{color:#b91c1c;background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.20)}
.pt-match-status--finished{color:#047857;background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.20)}
.pt-match-status--suspended,.pt-match-status--cancelled{color:#b45309;background:rgba(245,158,11,.09);border-color:rgba(245,158,11,.22)}
.pt-match-body{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;min-height:92px;padding:14px}
.pt-side{display:flex;align-items:center;gap:11px;min-width:0}
.pt-side--away{flex-direction:row-reverse;text-align:right}
.pt-team{min-width:0;font-size:14px;font-weight:900;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.pt-team.muted{color:var(--muted);font-weight:800}
.pt-team-logo,.pt-team-initials{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--border);border-radius:11px;background:rgba(15,23,42,.035);object-fit:contain;color:var(--muted);font-size:10px;font-weight:950}
.pt-team-logo--match,.pt-team-initials.pt-team-logo--match{width:44px;height:44px;border-radius:13px;padding:3px}
.pt-match-scorebox{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:58px}
.pt-score{display:flex;align-items:center;justify-content:center;gap:7px;min-width:58px;padding:7px 9px;border-radius:13px;background:#14284b;color:#fff;font-size:18px;font-weight:950;letter-spacing:-.025em;white-space:nowrap}
.pt-score span{opacity:.55;font-size:13px}
.pt-score--live{background:#b91c1c}
.pt-vs{color:var(--muted);font-size:11px;font-weight:950;letter-spacing:.08em}
.pt-match-scorebox small{color:var(--muted);font-size:10px;font-weight:800}
.pt-match-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}
.pt-match-meta span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.12)}

.pt-standings-section{margin-top:18px}
.pt-standings-title{margin:0 0 9px;font-size:17px;font-weight:950;letter-spacing:-.015em}
.pt-standings-subtitle{display:inline-flex;margin:4px 0 7px;padding:5px 9px;border-radius:999px;background:rgba(37,99,235,.07);color:var(--text);font-size:11px;font-weight:900}
.pt-table-shell{width:100%;overflow:auto;border:1px solid var(--border);border-radius:19px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.04);scrollbar-width:thin}
.pt-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;font-size:12px}
.pt-table th,.pt-table td{height:48px;padding:8px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--card)}
.pt-table th{position:sticky;top:0;z-index:3;height:42px;color:var(--muted);font-size:10px;font-weight:950;letter-spacing:.035em;background:#f7f8fb}
.pt-table tbody tr:last-child td{border-bottom:0}
.pt-table tbody tr:hover td{background:#fafbfe}
.pt-row--top td{background:rgba(255,212,0,.055)}
.pt-row--top:hover td{background:rgba(255,212,0,.09)!important}
.pt-col-pos{position:sticky;left:0;z-index:2;width:44px;min-width:44px;max-width:44px}
.pt-col-team{position:sticky;left:44px;z-index:2;min-width:220px;max-width:300px;text-align:left!important;box-shadow:8px 0 12px -12px rgba(15,23,42,.35)}
.pt-table th.pt-col-pos,.pt-table th.pt-col-team{z-index:5;background:#f7f8fb}
.pt-pos{font-size:14px;font-weight:950;color:var(--muted)}
.pt-table-team{display:flex;align-items:center;gap:9px;min-width:0}
.pt-table-team strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.pt-goals{font-variant-numeric:tabular-nums}
.pt-positive{color:#047857;font-weight:950}
.pt-negative{color:#c2414b;font-weight:950}
.pt-col-points{width:50px;min-width:50px}
.pt-pts{color:#14284b;font-size:15px;font-weight:950}

.pt-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px}
.pt-team-card{display:flex;align-items:center;gap:12px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 7px 20px rgba(15,23,42,.035)}
.pt-team-logo--card,.pt-team-initials.pt-team-logo--card{width:46px;height:46px;border-radius:14px;padding:4px}
.pt-team-card-copy{min-width:0}
.pt-team-card-name{font-size:14px;font-weight:950;line-height:1.22;overflow-wrap:anywhere}
.pt-team-card-meta{margin-top:3px;color:var(--muted);font-size:11px}

body.theme-dark .pt-hero{background:linear-gradient(140deg,rgba(37,99,235,.20),rgba(16,185,129,.10) 58%,rgba(20,27,34,.9))}
body.theme-dark .pt-back,body.theme-dark .pt-iconbtn{background:rgba(20,27,34,.76);border-color:rgba(255,255,255,.10)}
body.theme-dark .pt-tabs{background:rgba(15,20,25,.88)}
body.theme-dark .pt-tab:hover,body.theme-dark .pt-filter-reset:hover{background:rgba(255,255,255,.05)}
body.theme-dark .pt-table th,body.theme-dark .pt-table th.pt-col-pos,body.theme-dark .pt-table th.pt-col-team{background:#10161c}
body.theme-dark .pt-table tbody tr:hover td{background:#171f27}
body.theme-dark .pt-row--top td{background:rgba(255,212,0,.035)}
body.theme-dark .pt-empty{background:rgba(15,20,25,.35)}

@media(max-width:720px){
  .pub-main--portal{padding:8px 10px 30px}
  .pt-hero{border-radius:22px;padding:14px}
  .pt-brand-logo{width:48px;height:48px}
  .pt-title{font-size:clamp(22px,7vw,31px)}
  .pt-back span{display:none}
  .pt-tabs{top:4px;margin-top:10px;border-radius:16px}
  .pt-tab{flex:0 0 auto;min-width:max-content;padding-inline:13px}
  .pt-panel-head{align-items:center}
  .pt-filters{grid-template-columns:1fr 1fr}
  .pt-filter-reset{grid-column:1/-1}
  .pt-match-body{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:12px 9px;min-height:104px}
  .pt-side{flex-direction:column;gap:7px;text-align:center}
  .pt-side--away{flex-direction:column;text-align:center}
  .pt-team{font-size:12px;-webkit-line-clamp:3}
  .pt-team-logo--match,.pt-team-initials.pt-team-logo--match{width:42px;height:42px}
  .pt-score{min-width:52px;padding:7px 8px;font-size:17px}
  .pt-match-meta{justify-content:center}
  .pt-col-team{min-width:190px;max-width:230px}
}

@media(max-width:420px){
  .pt-hero-top{align-items:flex-start}
  .pt-hero-actions{gap:5px}
  .hub-status{max-width:90px;overflow:hidden;text-overflow:ellipsis}
  .pt-iconbtn{width:39px;height:39px;border-radius:13px}
  .pt-brand{align-items:flex-start}
  .pt-brand-logo{width:44px;height:44px;border-radius:13px}
  .pt-meta{font-size:12px}
  .pt-filters{grid-template-columns:1fr}
  .pt-filter-reset{grid-column:auto}
  .pt-match-head{padding:8px 9px}
  .pt-match-context{gap:5px}
  .pt-match-body{gap:5px;padding-inline:7px}
  .pt-team-logo--match,.pt-team-initials.pt-team-logo--match{width:38px;height:38px}
  .pt-team{font-size:11.5px}
  .pt-score{min-width:48px;padding-inline:6px;font-size:16px}
  .pt-col-team{min-width:175px;max-width:210px}
}
.pt-withdrawn-badge{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:2px 5px;border-radius:999px;color:#b45309;background:rgba(245,158,11,.12);white-space:nowrap}
.pt-release-meta{margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.72)}

/* S2.4 — public parent experience. Functional foundation; premium polish follows separately. */
.pe-header{max-width:1180px;margin:0 auto 14px;padding:16px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#14284b,#1f3d68);color:#fff;box-shadow:0 12px 34px rgba(15,23,42,.12)}
.pe-back{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.78);font-size:12px;font-weight:850;text-decoration:none}
.pe-identity{display:flex;align-items:center;gap:14px;margin-top:14px;min-width:0}.pe-identity>div{min-width:0}.pe-identity h1{margin:2px 0 0;font-size:clamp(24px,4vw,38px);line-height:1.08;overflow-wrap:anywhere}.pe-identity p{margin:5px 0 0;color:rgba(255,255,255,.72);font-size:13px}.pe-eyebrow{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.pe-header-nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.pe-header-nav a{padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#fff;text-decoration:none;font-size:11px;font-weight:850;background:rgba(255,255,255,.06)}
.pe-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--border);border-radius:13px;background:#fff;object-fit:contain;padding:3px;color:#14284b;font-size:11px;font-weight:950}.pe-mark--initials{background:#eef2f8}.pe-mark--hero{width:58px;height:58px;border-radius:17px}.pe-mark--score{width:72px;height:72px;border-radius:20px}
.pe-card{max-width:1180px;margin:12px auto 0;padding:15px;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:0 8px 24px rgba(15,23,42,.04)}.pe-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pe-card-head h2{margin:0;font-size:18px}.pe-card-head>span{color:var(--muted);font-size:11px;font-weight:800}
.pe-two-col{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pe-two-col>.pe-card{width:auto;margin-top:12px}
.pe-match-hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:center;gap:16px;padding:20px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:0 10px 28px rgba(15,23,42,.06)}.pe-match-side{text-align:center;min-width:0}.pe-match-side a,.pe-match-side{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:var(--text)}.pe-match-side strong{font-size:15px;line-height:1.25;overflow-wrap:anywhere}.pe-score-center{text-align:center}.pe-score{margin:8px 0 3px;font-size:clamp(34px,6vw,56px);font-weight:950;letter-spacing:-.05em}.pe-score-center small{color:var(--muted)}
.pe-facts{max-width:1180px;margin:10px auto 0;display:flex;gap:7px;flex-wrap:wrap}.pe-facts span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted);font-size:11px;font-weight:750}
.pe-timeline{display:grid}.pe-timeline-row{display:grid;grid-template-columns:38px 12px minmax(0,1fr);gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border)}.pe-timeline-row:last-child{border-bottom:0}.pe-timeline-row>b{font-size:12px;color:var(--muted);text-align:right}.pe-timeline-row div{display:flex;flex-direction:column;gap:2px}.pe-timeline-row div span{color:var(--muted);font-size:11px}.pe-event-dot{width:10px;height:10px;border-radius:999px;background:#64748b}.pe-event-dot--goal,.pe-event-dot--penalty_goal{background:#10b981}.pe-event-dot--yellow_card,.pe-event-dot--second_yellow{border-radius:2px;background:#facc15}.pe-event-dot--red_card{border-radius:2px;background:#dc2626}
.pe-report-summary{line-height:1.65}.pe-report-facts{display:grid;grid-template-columns:110px 1fr;gap:7px;margin:14px 0 0}.pe-report-facts dt{color:var(--muted)}.pe-report-facts dd{margin:0;font-weight:750}
.pe-lineups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pe-lineups h3{margin:0 0 8px;font-size:15px}.pe-roster-list,.pe-simple-list{list-style:none;margin:0;padding:0}.pe-roster-list li{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}.pe-roster-list li>span{width:30px;color:var(--muted);font-weight:850}.pe-roster-list li>a,.pe-roster-list li>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-decoration:none}.pe-roster-list li small{margin-left:auto;color:var(--muted);font-size:10px}.pe-muted{color:var(--muted)}
.pe-stat-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.pe-stat-grid>div{padding:14px;border:1px solid var(--border);border-radius:17px;background:var(--card);text-align:center}.pe-stat-grid b{display:block;font-size:24px}.pe-stat-grid span{color:var(--muted);font-size:11px;font-weight:750}.pe-club-link,.pe-player-context{max-width:1180px;margin:10px auto;color:var(--muted);font-size:13px}.pe-club-link a,.pe-player-context a{color:var(--text);font-weight:850;text-decoration:none}.pe-player-context{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pe-standing{display:grid;grid-template-columns:auto 1fr auto;gap:6px 12px;align-items:center}.pe-standing>b{font-size:28px}.pe-standing>span{color:var(--muted)}.pe-standing>strong{text-align:right}.pe-standing>small{grid-column:1/-1;color:var(--muted)}.pe-simple-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.pe-simple-list li span{color:var(--muted);font-size:11px}
.pe-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.pe-player-card{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:14px}.pe-player-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(37,99,235,.08);font-weight:900}.pe-player-card>div{display:flex;flex-direction:column;min-width:0}.pe-player-card a,.pe-player-card strong{color:var(--text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-player-card small{color:var(--muted)}
.pe-match-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.pe-match-row:last-child{border-bottom:0}.pe-match-when{display:flex;flex-direction:column}.pe-match-when span{color:var(--muted);font-size:10px}.pe-match-teams{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:8px;align-items:center;text-align:center}.pe-match-teams span:first-child{text-align:right}.pe-match-teams span:last-child{text-align:left}.pe-match-teams b{padding:5px;border-radius:9px;background:#14284b;color:#fff}
.pe-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.pe-team-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--border);border-radius:16px;color:var(--text);text-decoration:none}.pe-team-card>div{display:flex;flex-direction:column;min-width:0}.pe-team-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-team-card span{color:var(--muted);font-size:11px}
.pe-ranking{list-style:none;margin:0;padding:0}.pe-ranking li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.pe-ranking li>b{color:var(--muted)}.pe-ranking li>div{display:flex;flex-direction:column}.pe-ranking a,.pe-ranking strong{color:var(--text);text-decoration:none}.pe-ranking span{color:var(--muted);font-size:11px}.pe-ranking em{font-style:normal;font-weight:900}.pt-col-team small{display:block;color:var(--muted);font-weight:500}.pt-col-team a{color:var(--text);text-decoration:none;font-weight:850}
.pe-bracket-section{overflow:hidden}.pe-bracket{display:flex;gap:12px;overflow:auto;padding-bottom:8px}.pe-bracket-round{flex:1 0 230px;display:flex;flex-direction:column;justify-content:space-around;gap:10px}.pe-bracket-round h3{margin:0 0 4px;font-size:13px;text-align:center}.pe-bracket-match{display:block;padding:9px;border:1px solid var(--border);border-radius:14px;color:var(--text);text-decoration:none;background:rgba(15,23,42,.02)}.pe-bracket-match>div{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;padding:4px 0}.pe-bracket-match>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-bracket-match>div b{text-align:right}.pe-bracket-match small{display:block;padding-top:5px;border-top:1px solid var(--border);color:var(--muted);font-size:10px}

@media(max-width:760px){.pe-two-col,.pe-lineups{grid-template-columns:1fr}.pe-match-hero{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);gap:6px;padding:14px 8px}.pe-mark--score{width:52px;height:52px;border-radius:15px}.pe-match-side strong{font-size:12px}.pe-match-row{grid-template-columns:78px minmax(0,1fr)}.pe-match-row>.pt-match-status{grid-column:1/-1;justify-self:start}.pe-match-teams{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);font-size:11px}.pe-header{padding:13px}.pe-identity h1{font-size:26px}}
@media(max-width:420px){.pe-header-nav{overflow:auto;flex-wrap:nowrap}.pe-header-nav a{flex:0 0 auto}.pe-match-hero{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr)}.pe-mark--score{width:44px;height:44px}.pe-score{font-size:28px}.pe-facts span{width:100%;border-radius:12px}.pe-standing{grid-template-columns:auto 1fr}.pe-standing>strong{grid-column:1/-1;text-align:left}}
.pt-match-detail-link{display:inline-flex;align-items:center;gap:3px;margin-left:auto;color:var(--text);font-size:11px;font-weight:900;text-decoration:none}.pt-team-card{text-decoration:none;color:var(--text)}

/* ═══════════════════════════════════════════════════════════════
   S3.3 — Public Premium Experience
   One responsive experience for parents, clubs and organizers.
   ═══════════════════════════════════════════════════════════════ */
.public-site{
  --pub-ink:#071426;
  --pub-ink-soft:#15304f;
  --pub-blue:#155eef;
  --pub-blue-2:#0a48c7;
  --pub-cyan:#28b7e9;
  --pub-green:#10a779;
  --pub-amber:#d97706;
  --pub-red:#dc3545;
  --pub-surface:#ffffff;
  --pub-surface-soft:#f3f7fc;
  --pub-line:#dfe7f1;
  --pub-muted:#607086;
  --pub-shadow:0 18px 50px rgba(7,20,38,.10);
  --pub-shadow-soft:0 8px 28px rgba(7,20,38,.07);
  background:#eef3f9;
  color:var(--pub-ink);
}
.public-site .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.public-site .pub-skip{position:fixed;left:12px;top:-80px;z-index:9999;padding:10px 14px;border-radius:12px;background:#fff;color:var(--pub-ink);box-shadow:var(--pub-shadow);font-weight:850;text-decoration:none;transition:top .15s}
.public-site .pub-skip:focus{top:12px}
.public-site .pub-main{width:100%;max-width:1240px;padding:24px 20px 64px}
.public-site .pub-main--portal{max-width:1240px;padding-top:12px}
.public-site .pub-header{background:rgba(255,255,255,.88);border-bottom:1px solid rgba(7,20,38,.08);backdrop-filter:blur(18px)}
.public-site .pub-header-inner{max-width:1240px;padding:12px 20px}
.public-site .pub-brand{gap:9px}
.public-site .pub-brand-mark{width:31px;height:31px}
.public-site .pub-brand-text{font-size:15px;font-weight:900;color:var(--pub-ink)}
.public-site .pub-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:12px;color:var(--pub-ink);font-size:12px;font-weight:850;text-decoration:none}
.public-site .pub-nav-link:hover{background:#f2f6fb}
.public-site button.pub-nav-link{font-family:inherit;background:transparent;cursor:pointer}
.public-site .pub-nav-link--primary{background:var(--pub-ink);color:#fff;border-color:var(--pub-ink)}
.public-site .pub-nav-link--primary:hover{background:var(--pub-ink-soft)}
.public-site .pub-footer{background:var(--pub-ink);border:0;color:rgba(255,255,255,.62);padding:34px 20px}
.public-site .pub-footer-inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;text-align:left}
.public-site .pub-footer .pub-brand-text{color:#fff}
.public-site .pub-footer p{margin:0;text-align:center}
.public-site .pub-brand--footer{color:#fff}
.public-site .pub-toast{position:fixed;left:50%;bottom:24px;z-index:200;transform:translate(-50%,18px);opacity:0;padding:11px 16px;border-radius:999px;background:var(--pub-ink);color:#fff;box-shadow:var(--pub-shadow);font-size:12px;font-weight:850;transition:.18s ease}
.public-site .pub-toast.is-visible{transform:translate(-50%,0);opacity:1}
.public-site button,.public-site input,.public-site select{font:inherit}
.public-site button:focus-visible,.public-site a:focus-visible,.public-site input:focus-visible,.public-site select:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid rgba(21,94,239,.28);outline-offset:2px}

/* Home */
.ph-hero--premium{position:relative;isolation:isolate;overflow:hidden;min-height:440px;margin:-24px -20px 0;padding:86px 48px 42px;border-radius:0 0 34px 34px;background:linear-gradient(125deg,#061326 0%,#0b2d59 54%,#0b66bb 100%);color:#fff;text-align:left}
.ph-hero--premium::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,11,24,.18),transparent 62%),radial-gradient(circle at 82% 18%,rgba(40,183,233,.34),transparent 27%)}
.ph-hero-glow{position:absolute;right:-70px;bottom:-170px;z-index:-1;width:510px;height:510px;border-radius:50%;border:90px solid rgba(255,255,255,.055);box-shadow:0 0 0 45px rgba(255,255,255,.025)}
.ph-hero-content{max-width:760px}
.ph-overline{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;color:#8bdcff}
.ph-overline::before{content:"";width:24px;height:2px;border-radius:99px;background:currentColor}
.ph-overline--dark{color:var(--pub-blue)}
.ph-overline--light{color:#87d9ff}
.ph-hero--premium h1{margin:17px 0 0;max-width:780px;font-size:clamp(38px,6.5vw,72px);font-weight:950;letter-spacing:-.055em;line-height:.98}
.ph-hero--premium h1 span{color:#77d5ff}
.ph-hero--premium p{max-width:650px;margin:22px 0 0;color:rgba(255,255,255,.76);font-size:17px;line-height:1.65}
.ph-hero-actions{display:flex;align-items:center;gap:11px;margin-top:28px;flex-wrap:wrap}
.ph-primary-action,.ph-secondary-action{min-height:48px;padding:12px 17px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;font-size:13px;text-decoration:none;cursor:pointer}
.ph-primary-action{border:1px solid #fff;background:#fff;color:var(--pub-ink);box-shadow:0 12px 30px rgba(0,0,0,.14)}
.ph-primary-action:hover{transform:translateY(-1px)}
.ph-secondary-action{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(9px)}
.ph-live-summary{position:absolute;right:42px;bottom:38px;display:grid;grid-template-columns:repeat(3,1fr);width:min(440px,45%);border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(3,14,31,.28);backdrop-filter:blur(16px);overflow:hidden}
.ph-live-summary a{min-width:0;padding:15px 16px;border-right:1px solid rgba(255,255,255,.11);color:#fff;text-decoration:none}
.ph-live-summary a:last-child{border-right:0}
.ph-live-summary strong{display:block;font-size:24px;letter-spacing:-.04em}
.ph-live-summary span{display:block;margin-top:3px;color:rgba(255,255,255,.6);font-size:12px;font-weight:750}
.ph-discovery{scroll-margin-top:78px;padding-top:42px}
.ph-discovery-head{display:flex;align-items:end;justify-content:space-between;gap:24px}
.ph-discovery-head h2{margin:9px 0 0;font-size:clamp(27px,4vw,42px);letter-spacing:-.04em;line-height:1.05}
.ph-discovery-head p{margin:8px 0 0;color:var(--pub-muted);font-size:14px}
.ph-result-count{flex:0 0 auto;color:var(--pub-muted);font-size:12px;font-weight:750}
.ph-result-count b{color:var(--pub-ink);font-size:18px}
.ph-filterbar{position:sticky;top:69px;z-index:35;display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(140px,.5fr)) auto;gap:8px;margin:22px 0 30px;padding:10px;border:1px solid rgba(7,20,38,.08);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 36px rgba(7,20,38,.07);backdrop-filter:blur(16px)}
.ph-filterbar label{min-width:0}
.ph-filterbar input,.ph-filterbar select{height:44px;border:1px solid var(--pub-line);border-radius:12px;background:#fff;color:var(--pub-ink);font-size:12px}
.ph-search-field{position:relative;display:flex;align-items:center}
.ph-search-field .i{position:absolute;left:13px;z-index:1;width:17px;height:17px;color:var(--pub-muted)}
.ph-search-field input{padding-left:40px}
.ph-clear-filters{height:44px;padding:0 13px;border:0;border-radius:12px;background:#edf3fb;color:var(--pub-ink);font-size:13px;font-weight:850;cursor:pointer}
.ph-tournament-section{margin-top:34px}
.ph-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.ph-section-title-wrap{display:flex;align-items:center;gap:9px}
.ph-section-heading h3{margin:0;font-size:18px;letter-spacing:-.02em}
.ph-section-heading>span{color:var(--pub-muted);font-size:13px;font-weight:750}
.ph-live-dot{display:inline-block;width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#f04452;box-shadow:0 0 0 5px rgba(240,68,82,.1);animation:phBlink 1.4s infinite}
.ph-tournament-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ph-tournament-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(7,20,38,.09);border-radius:22px;background:#fff;color:var(--pub-ink);box-shadow:0 8px 28px rgba(7,20,38,.055);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.ph-tournament-card:hover{transform:translateY(-3px);border-color:rgba(21,94,239,.3);box-shadow:0 18px 42px rgba(7,20,38,.12)}
.ph-card-cover{position:relative;height:104px;padding:16px;background:linear-gradient(135deg,#0a1830,#174b80);overflow:hidden}
.ph-tournament-card--live .ph-card-cover{background:linear-gradient(135deg,#3b1017,#b5223b)}
.ph-tournament-card--registration .ph-card-cover{background:linear-gradient(135deg,#082d2a,#0d8b72)}
.ph-tournament-card--scheduled .ph-card-cover{background:linear-gradient(135deg,#14274a,#2369c9)}
.ph-tournament-card--completed .ph-card-cover{background:linear-gradient(135deg,#232b38,#526170)}
.ph-card-cover::after{content:"";position:absolute;width:190px;height:190px;right:-72px;top:-76px;border:35px solid rgba(255,255,255,.08);border-radius:50%}
.ph-card-brand{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:17px;background:#fff;color:var(--pub-ink);box-shadow:0 8px 22px rgba(0,0,0,.16);font-size:13px;font-weight:950}
.ph-card-brand img{width:100%;height:100%;object-fit:contain;padding:5px;border-radius:16px}
.ph-status-chip{position:absolute;right:13px;top:13px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.18);color:#fff;font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;backdrop-filter:blur(10px)}
.ph-status-chip i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.16)}
.ph-card-content{display:flex;flex:1;flex-direction:column;padding:17px 17px 14px}
.ph-card-organizer{color:var(--pub-blue);font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-card-content h4{margin:6px 0 0;font-size:18px;line-height:1.18;letter-spacing:-.025em;overflow-wrap:anywhere}
.ph-card-details{display:grid;gap:7px;margin-top:15px}
.ph-card-details span{display:flex;align-items:flex-start;gap:7px;color:var(--pub-muted);font-size:13px;line-height:1.35}
.ph-card-details .i{flex:0 0 auto;margin-top:1px;color:#7890ac}
.ph-card-metrics{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:16px}
.ph-card-metrics span{padding:5px 7px;border-radius:8px;background:#f1f5fa;color:var(--pub-muted);font-size:13px;font-weight:800}
.ph-card-metrics b{color:var(--pub-ink)}
.ph-card-metrics .is-live{background:#fff0f2;color:#bb1f35}
.ph-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 17px;border-top:1px solid #edf1f6;color:var(--pub-ink);font-size:13px;font-weight:900}
.ph-card-footer .i{color:var(--pub-blue)}
.ph-discovery-empty{padding:46px 20px;border:1px dashed #cbd7e6;border-radius:22px;background:rgba(255,255,255,.55);text-align:center}
.ph-discovery-empty>div{width:52px;height:52px;margin:0 auto;display:grid;place-items:center;border-radius:16px;background:#eaf2ff;color:var(--pub-blue)}
.ph-discovery-empty h3{margin:13px 0 0}
.ph-discovery-empty p{margin:6px 0 0;color:var(--pub-muted)}
.ph-organizer-cta{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:58px;padding:38px;border-radius:28px;background:linear-gradient(125deg,#061426,#0b3b72);color:#fff}
.ph-organizer-cta::after{content:"";position:absolute;right:-80px;top:-120px;width:300px;height:300px;border:60px solid rgba(255,255,255,.05);border-radius:50%}
.ph-organizer-cta>div,.ph-organizer-cta>a{position:relative;z-index:1}
.ph-organizer-cta h2{max-width:680px;margin:10px 0 0;font-size:clamp(25px,4vw,40px);line-height:1.08;letter-spacing:-.04em}
.ph-organizer-cta p{max-width:650px;margin:10px 0 0;color:rgba(255,255,255,.68);line-height:1.55}
.ph-organizer-cta>a{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:13px 16px;border-radius:13px;background:#fff;color:var(--pub-ink);font-size:12px;font-weight:900;text-decoration:none}

/* Shared status */
.public-site .pub-status{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:5px 8px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:950;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.public-site .pub-status i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:phBlink 1.3s infinite}
.public-site .pub-status--live{color:#c8273d;background:#fff0f2;border-color:#f6cdd3}
.public-site .pub-status--registration{color:#087d63;background:#e9faf5;border-color:#bdebdc}
.public-site .pub-status--scheduled{color:#2a5fa8;background:#edf5ff;border-color:#cfdef2}
.public-site .pub-status--finished{color:#536174;background:#f0f3f6;border-color:#dae1e9}
.public-site .pub-status--cancelled,.public-site .pub-status--suspended{color:#9e5d08;background:#fff6e9;border-color:#f0d8b5}
.public-site .pub-status--muted{color:#637286;background:#f2f4f7;border-color:#dee4eb}

/* Tournament portal */
.public-site--tournament .pub-main,.public-site--detail .pub-main{padding-top:12px;padding-bottom:60px}
.pt-portal{max-width:1200px;margin:0 auto}
.pt-topbar{position:sticky;top:8px;z-index:48;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px 10px;border:1px solid rgba(7,20,38,.08);border-radius:16px;background:rgba(255,255,255,.91);box-shadow:0 10px 35px rgba(7,20,38,.08);backdrop-filter:blur(16px)}
.pt-topbar-brand{display:flex;align-items:center;gap:8px;color:var(--pub-ink);font-size:13px;font-weight:900;text-decoration:none}
.pt-topbar-brand img{width:27px;height:27px}
.pt-topbar-brand b{color:var(--pub-blue)}
.pt-topbar-actions{display:flex;gap:6px}
.pt-topbar-btn{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--pub-line);border-radius:10px;background:#fff;color:var(--pub-ink);font-size:12px;font-weight:850;text-decoration:none;cursor:pointer}
.pt-topbar-btn:hover{border-color:#b9c9dd;background:#f7f9fc}
.pt-hero-premium{position:relative;isolation:isolate;overflow:hidden;padding:30px;border-radius:28px;background:linear-gradient(128deg,#061426,#0c315d 58%,#0f70b9);color:#fff;box-shadow:0 22px 55px rgba(7,20,38,.18)}
.pt-hero-premium::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 85% 8%,rgba(72,198,245,.25),transparent 28%),linear-gradient(90deg,rgba(2,10,24,.12),transparent)}
.pt-hero-orb{position:absolute;z-index:-1;right:-90px;bottom:-170px;width:420px;height:420px;border-radius:50%;border:76px solid rgba(255,255,255,.055);box-shadow:0 0 0 38px rgba(255,255,255,.025)}
.pt-hero-main{display:flex;align-items:flex-start;gap:18px}
.pt-tournament-logo{flex:0 0 auto}
.pt-tournament-logo .pe-mark{width:76px;height:76px;border-radius:21px;padding:6px;box-shadow:0 14px 32px rgba(0,0,0,.18)}
.pt-hero-copy{min-width:0}
.pt-hero-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:rgba(255,255,255,.62);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.pt-hero-copy h1{max-width:850px;margin:9px 0 0;font-size:clamp(30px,5vw,52px);line-height:1.02;letter-spacing:-.05em;overflow-wrap:anywhere}
.pt-hero-meta{display:flex;align-items:center;gap:8px 15px;flex-wrap:wrap;margin-top:15px;color:rgba(255,255,255,.72)}
.pt-hero-meta span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700}
.pt-hero-meta .i{color:#86d8ff}
.pt-hero-copy>p{max-width:760px;margin:15px 0 0;color:rgba(255,255,255,.68);font-size:13px;line-height:1.65}
.pt-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:25px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.pt-hero-stats>div{padding:13px 15px;border-right:1px solid rgba(255,255,255,.1)}
.pt-hero-stats>div:last-child{border-right:0}
.pt-hero-stats b{display:block;font-size:22px;letter-spacing:-.04em}
.pt-hero-stats span{display:block;margin-top:2px;color:rgba(255,255,255,.58);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.pt-featured-match{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(0,0,0,.16);color:#fff;text-decoration:none;backdrop-filter:blur(10px)}
.pt-featured-match:hover{background:rgba(0,0,0,.24)}
.pt-featured-match.is-live{border-color:rgba(255,129,143,.42);background:rgba(118,9,28,.26)}
.pt-featured-label{display:flex;align-items:flex-start;flex-direction:column;gap:5px}
.pt-featured-label small{color:rgba(255,255,255,.62);font-size:13px}
.pt-featured-teams{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:10px;text-align:center}
.pt-featured-teams strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pt-featured-teams b{padding:7px;border-radius:10px;background:#fff;color:var(--pub-ink);font-size:16px}
.pt-tabs-premium{position:sticky;top:66px;z-index:45;display:flex;align-items:center;gap:5px;margin:13px 0 0;padding:7px;border:1px solid rgba(7,20,38,.09);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 32px rgba(7,20,38,.07);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(15px)}
.pt-tabs-premium::-webkit-scrollbar{display:none}
.pt-tabs-premium button,.pt-tabs-premium a{flex:0 0 auto;min-height:39px;display:inline-flex;align-items:center;gap:6px;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:var(--pub-muted);font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;white-space:nowrap}
.pt-tabs-premium button:hover,.pt-tabs-premium a:hover{background:#f2f6fb;color:var(--pub-ink)}
.pt-tabs-premium button.is-active{background:var(--pub-ink);color:#fff;box-shadow:0 7px 18px rgba(7,20,38,.18)}
.pt-tabs-premium b{min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:rgba(96,112,134,.12);font-size:12px}
.pt-tabs-premium button.is-active b{background:rgba(255,255,255,.15)}
.pt-tabs-premium .is-cta{margin-left:auto;background:#eaf2ff;color:var(--pub-blue)}
.pt-content-panel{padding-top:30px;animation:pubPanelIn .18s ease}
@keyframes pubPanelIn{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.pt-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.pt-panel-heading span{color:var(--pub-blue);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.pt-panel-heading h2{margin:5px 0 0;font-size:clamp(24px,3.6vw,34px);letter-spacing:-.035em}
.pt-panel-heading p{margin:0;color:var(--pub-muted);font-size:13px}
.pt-panel-heading p b{color:var(--pub-ink)}
.pt-filterbar,.pt-team-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(140px,.42fr)) auto;gap:8px;margin-bottom:18px;padding:9px;border:1px solid var(--pub-line);border-radius:16px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pt-filterbar label,.pt-team-toolbar label{min-width:0}
.pt-filterbar input,.pt-filterbar select,.pt-team-toolbar input,.pt-team-toolbar select{height:42px;border:1px solid #dce5ef;border-radius:11px;background:#fbfcfe;color:var(--pub-ink);font-size:13px}
.pt-search-filter{position:relative;display:flex;align-items:center}
.pt-search-filter .i{position:absolute;left:12px;z-index:1;color:#8090a5}
.pt-search-filter input{padding-left:38px}
.pt-filter-reset{height:42px;padding:0 12px;border:0;border-radius:11px;background:#edf3fb;color:var(--pub-ink);font-size:12px;font-weight:850;cursor:pointer}
.pt-day{margin-top:18px}
.pt-day-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px 9px;color:var(--pub-muted);font-size:12px;font-weight:800}
.pt-day-header>div{display:flex;align-items:center;gap:8px}
.pt-day-header strong{color:var(--pub-ink);font-size:13px}
.pt-day-dot{width:7px;height:7px;border-radius:50%;background:var(--pub-blue);box-shadow:0 0 0 4px rgba(21,94,239,.09)}
.pt-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pt-match-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #dfe7f0;border-radius:18px;background:#fff;color:var(--pub-ink);box-shadow:0 7px 22px rgba(7,20,38,.045);text-decoration:none;transition:.15s ease}
.pt-match-card:hover{transform:translateY(-2px);border-color:#b9cde6;box-shadow:0 14px 34px rgba(7,20,38,.09)}
.pt-match-card.is-live{border-color:#f1aab4;box-shadow:0 10px 28px rgba(200,39,61,.10)}
.pt-match-card.is-finished{background:#fcfdff}
.pt-match-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 13px 8px}
.pt-match-time-block{display:flex;align-items:baseline;gap:8px;min-width:0}
.pt-match-time-block time{font-size:18px;font-weight:950;letter-spacing:-.03em}
.pt-match-time-block span{color:var(--pub-muted);font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-match-card-body{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);align-items:center;gap:7px;padding:9px 13px 13px}
.pt-card-team{min-width:0;display:flex;align-items:center;gap:8px}
.pt-card-team--away{flex-direction:row-reverse;text-align:right}
.pt-card-team strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pt-card-team-logo{width:37px!important;height:37px!important;flex:0 0 auto;border-radius:11px!important}
.pt-card-score{padding:7px 5px;border-radius:10px;background:var(--pub-ink);color:#fff;font-size:15px;font-weight:950;text-align:center;letter-spacing:-.025em}
.pt-match-card.is-live .pt-card-score{background:#c8273d}
.pt-match-card-foot{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;margin-top:auto;padding:9px 13px;border-top:1px solid #edf1f5;color:var(--pub-muted);font-size:13px;font-weight:750}
.pt-match-card-foot span{display:inline-flex;align-items:center;gap:4px}
.pt-match-card-foot .pt-result-tag{margin-left:auto;color:#9c640a;background:#fff6e5;padding:3px 6px;border-radius:7px}
.pt-empty{padding:30px 20px;border:1px dashed #cad6e4;border-radius:18px;background:rgba(255,255,255,.55);color:var(--pub-muted);text-align:center;font-size:12px}
.pt-standings-stack{display:grid;gap:18px}
.pt-standing-division{display:grid;gap:10px}
.pt-standing-division-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pt-standing-division-head h3{margin:0;font-size:17px}
.pt-standing-division-head span{color:var(--pub-muted);font-size:12px;font-weight:800}
.pt-standing-card{overflow:hidden;border:1px solid var(--pub-line);border-radius:18px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pt-standing-card>h4{margin:0;padding:11px 14px;border-bottom:1px solid #e9eef4;background:#f7f9fc;font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.pt-table-shell{overflow:auto;scrollbar-color:#cbd6e3 transparent}
.pt-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0;background:#fff}
.pt-table th,.pt-table td{height:50px;padding:9px 11px;border-bottom:1px solid #edf1f5;text-align:center;font-size:13px;white-space:nowrap}
.pt-table th{position:sticky;top:0;z-index:3;height:38px;background:#f7f9fc;color:#77869a;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.pt-table tbody tr:last-child td{border-bottom:0}
.pt-table tbody tr:hover td{background:#f9fbfe}
.pt-table .pt-col-pos{position:sticky;left:0;z-index:2;width:52px;background:#fff}
.pt-table th.pt-col-pos{z-index:5;background:#f7f9fc}
.pt-table .pt-col-team{position:sticky;left:52px;z-index:2;min-width:220px;text-align:left;background:#fff;box-shadow:8px 0 12px -12px rgba(7,20,38,.4)}
.pt-table th.pt-col-team{z-index:5;background:#f7f9fc}
.pt-table .pt-col-points{font-size:13px}
.pt-position{width:27px;height:27px;display:inline-grid;place-items:center;border-radius:9px;background:#f0f4f8;color:#526174;font-weight:950}
.pt-position.is-top{background:#e8f1ff;color:var(--pub-blue)}
.pt-table-team{display:flex;align-items:center;gap:9px;color:var(--pub-ink);text-decoration:none}
.pt-table-team>span{display:flex;min-width:0;flex-direction:column}
.pt-table-team strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.pt-table-team small{color:#a34f08;font-size:12px;font-weight:850;text-transform:uppercase}
.pt-table-logo{width:31px!important;height:31px!important;border-radius:9px!important}
.pt-table .is-positive{color:#078760;font-weight:850}.pt-table .is-negative{color:#c23a4d;font-weight:850}
.pt-team-toolbar{grid-template-columns:minmax(240px,1fr) minmax(150px,.35fr)}
.pt-team-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pt-team-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--pub-line);border-radius:16px;background:#fff;color:var(--pub-ink);box-shadow:0 6px 20px rgba(7,20,38,.035);text-decoration:none;transition:.15s ease}
.pt-team-entry:hover{transform:translateY(-2px);border-color:#b7cbe4;box-shadow:var(--pub-shadow-soft)}
.pt-team-entry-logo{width:44px!important;height:44px!important;border-radius:13px!important}
.pt-team-entry>div{display:flex;min-width:0;flex-direction:column}
.pt-team-entry strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pt-team-entry div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-muted);font-size:13px}
.pt-team-entry em{padding:4px 6px;border-radius:7px;background:#f0f5fb;color:#53657a;font-size:12px;font-style:normal;font-weight:850;white-space:nowrap}
.pt-team-entry>.i{color:#8091a5}
.pt-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pt-info-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--pub-line);border-radius:17px;background:#fff;box-shadow:0 6px 20px rgba(7,20,38,.035)}
.pt-info-card>span{width:41px;height:41px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#eaf2ff;color:var(--pub-blue)}
.pt-info-card h3{margin:0;font-size:13px}.pt-info-card p{margin:5px 0 0;color:var(--pub-muted);font-size:12px;line-height:1.55}
.pt-publication-note{margin-top:14px;padding:10px 12px;border-radius:12px;background:#eef3f8;color:var(--pub-muted);font-size:13px;font-weight:750}

/* Detail page shared chrome */
.pe-header{position:relative;overflow:hidden;max-width:1200px;margin:0 auto 14px;padding:18px 20px 20px;border:0;border-radius:25px;background:linear-gradient(127deg,#061426,#0c3869);color:#fff;box-shadow:0 20px 50px rgba(7,20,38,.16)}
.pe-header::after{content:"";position:absolute;right:-80px;top:-130px;width:310px;height:310px;border:58px solid rgba(255,255,255,.05);border-radius:50%}
.pe-header-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.pe-back,.pe-share{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:13px;font-weight:850;text-decoration:none;cursor:pointer}
.pe-share:hover,.pe-back:hover{background:rgba(255,255,255,.12)}
.pe-identity{position:relative;z-index:1;display:flex;align-items:center;gap:14px;margin-top:16px;min-width:0}
.pe-identity>div{min-width:0}
.pe-identity h1{margin:3px 0 0;font-size:clamp(27px,4.8vw,46px);line-height:1.03;letter-spacing:-.045em;overflow-wrap:anywhere}
.pe-identity p{margin:7px 0 0;color:rgba(255,255,255,.67);font-size:13px}
.pe-eyebrow{color:#86d8ff;font-size:13px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.pe-header-nav{position:relative;z-index:1;display:flex;gap:5px;flex-wrap:wrap;margin-top:18px}
.pe-header-nav a{padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.78);font-size:13px;font-weight:850;text-decoration:none}
.pe-header-nav a.is-active,.pe-header-nav a:hover{background:#fff;color:var(--pub-ink)}
.pe-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dce5ef;border-radius:13px;background:#fff;object-fit:contain;padding:3px;color:#14284b;font-size:12px;font-weight:950}
.pe-mark--initials{background:#eef3f9}.pe-mark--hero{width:64px;height:64px;border-color:rgba(255,255,255,.3);border-radius:18px;box-shadow:0 12px 26px rgba(0,0,0,.16)}
.pe-card{max-width:1200px;margin:12px auto 0;padding:17px;border:1px solid var(--pub-line);border-radius:20px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pe-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}
.pe-card-head>div>span{color:var(--pub-blue);font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.pe-card-head h2{margin:4px 0 0;font-size:19px;letter-spacing:-.025em}
.pe-card-head>b,.pe-card-head>a{color:var(--pub-muted);font-size:13px;font-weight:850;text-decoration:none}
.pe-two-col{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pe-two-col>.pe-card{width:auto;margin-top:12px}
.pe-profile-summary{max-width:1200px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid var(--pub-line);border-radius:20px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pe-profile-main{display:flex;align-items:center;gap:13px;min-width:0}.pe-profile-main>div{min-width:0}.pe-profile-main>div>span{color:var(--pub-blue);font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.pe-profile-main h2{margin:4px 0 0;font-size:24px;letter-spacing:-.035em;overflow-wrap:anywhere}.pe-profile-main a,.pe-profile-main p{display:inline-flex;margin:5px 0 0;color:var(--pub-muted);font-size:12px;font-weight:750;text-decoration:none}
.pe-mark--profile{width:68px;height:68px;border-radius:19px}.pe-profile-badge{flex:0 0 auto;padding:10px 14px;border-radius:14px;background:#eef4fc;text-align:center}.pe-profile-badge b{display:block;font-size:22px}.pe-profile-badge span{color:var(--pub-muted);font-size:12px;font-weight:800}
.pe-form>span{display:block;margin-bottom:5px;color:var(--pub-muted);font-size:12px;font-weight:850;text-align:right;text-transform:uppercase}.pe-form>div{display:flex;gap:4px}.pe-form b{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#fff;font-size:13px}.pe-form .is-win{background:#0a9b70}.pe-form .is-draw{background:#8491a2}.pe-form .is-loss{background:#d33f52}
.pe-shirt-number{flex:0 0 auto;width:72px;height:72px;display:grid;place-items:center;border-radius:20px;background:var(--pub-ink);color:#fff}.pe-shirt-number span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pe-shirt-number b{font-size:29px;line-height:1}
.pe-stat-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.pe-stat-grid>div{padding:14px;border:1px solid var(--pub-line);border-radius:16px;background:#fff;text-align:left;box-shadow:0 5px 17px rgba(7,20,38,.03)}.pe-stat-grid b{display:block;font-size:24px;letter-spacing:-.04em}.pe-stat-grid span{display:block;margin-top:3px;color:var(--pub-muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.pe-player-context{max-width:1200px;margin:10px auto;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.pe-player-context a{display:inline-flex;align-items:center;gap:5px;color:var(--pub-muted);font-size:13px;font-weight:850;text-decoration:none}
.pe-match-hero{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;gap:20px;padding:25px;border:1px solid var(--pub-line);border-radius:22px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pe-match-side{text-align:center;min-width:0}.pe-match-side a,.pe-match-side{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--pub-ink);text-decoration:none}.pe-match-side>span,.pe-match-side a>span{color:var(--pub-muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pe-match-side strong{max-width:100%;font-size:15px;line-height:1.2;overflow-wrap:anywhere}.pe-mark--score{width:78px;height:78px;border-radius:22px}.pe-score-center{text-align:center}.pe-score{margin:8px 0 2px;font-size:clamp(40px,7vw,66px);font-weight:950;letter-spacing:-.065em}.pe-score-center small{display:block;color:var(--pub-muted);font-size:13px}.pe-score-center em{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:7px;background:#fff5e7;color:#9c640a;font-size:12px;font-style:normal;font-weight:850}
.pe-facts{max-width:1200px;margin:9px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pe-facts>span{display:flex;align-items:center;gap:8px;min-width:0;padding:11px 12px;border:1px solid var(--pub-line);border-radius:13px;background:#fff;color:#7a899c}.pe-facts b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-ink);font-size:13px}
.pe-official-note{max-width:1200px;margin:9px auto 0;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #f0d9ac;border-radius:14px;background:#fff8ea}.pe-official-note>span{color:#a76a04}.pe-official-note strong{font-size:12px}.pe-official-note p{margin:3px 0 0;color:#7b6845;font-size:13px}
.pe-card--timeline,.pe-card--report{min-height:300px}.pe-timeline{display:grid}.pe-timeline-row{display:grid;grid-template-columns:38px 12px minmax(0,1fr);gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.pe-timeline-row:last-child{border-bottom:0}.pe-timeline-row>b{font-size:12px;color:var(--pub-muted);text-align:right}.pe-timeline-row div{display:flex;flex-direction:column;gap:2px}.pe-timeline-row div strong{font-size:12px}.pe-timeline-row div span{color:var(--pub-muted);font-size:12px}.pe-event-dot{width:10px;height:10px;border-radius:999px;background:#64748b}.pe-event-dot--goal,.pe-event-dot--penalty_goal{background:#10a779;box-shadow:0 0 0 4px rgba(16,167,121,.1)}.pe-event-dot--yellow_card,.pe-event-dot--second_yellow{border-radius:2px;background:#f3bf21}.pe-event-dot--red_card{border-radius:2px;background:#d83a4d}
.pe-report-summary{margin:0;padding:15px;border-left:3px solid var(--pub-blue);border-radius:0 12px 12px 0;background:#f2f6fc;color:#31445a;font-size:12px;line-height:1.7}
.pe-report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}.pe-report-facts>div{padding:10px;border-radius:11px;background:#f5f8fb}.pe-report-facts dt{color:var(--pub-muted);font-size:12px}.pe-report-facts dd{margin:3px 0 0;font-size:12px;font-weight:850}
.pe-lineups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pe-lineup-team{overflow:hidden;border:1px solid var(--pub-line);border-radius:16px}.pe-lineup-team>header{display:flex;align-items:center;gap:9px;padding:11px;background:#f6f9fc}.pe-lineup-team header>div{display:flex;flex-direction:column}.pe-lineup-team header span{color:var(--pub-muted);font-size:12px;text-transform:uppercase}.pe-lineup-team h3{margin:2px 0 0;font-size:12px}.pe-mark--lineup{width:38px;height:38px;border-radius:11px}.pe-lineup-team>.pe-muted{padding:14px}.pe-roster-list{list-style:none;margin:0;padding:0}.pe-roster-list li{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid #edf1f5}.pe-roster-list li:last-child{border-bottom:0}.pe-roster-list li>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf3fa;color:#53657a;font-size:13px;font-weight:900}.pe-roster-list li>div{display:flex;min-width:0;flex-direction:column}.pe-roster-list a,.pe-roster-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-ink);font-size:12px;text-decoration:none}.pe-roster-list small{color:var(--pub-muted);font-size:12px}.pe-roster-list em{display:flex;align-items:center;gap:5px;color:var(--pub-muted);font-size:12px;font-style:normal}.pe-roster-list em span{width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:var(--pub-ink);color:#fff;font-size:12px;font-weight:900}
.pe-standing{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center}.pe-standing>b{grid-row:1/3;font-size:42px;letter-spacing:-.06em;color:var(--pub-blue)}.pe-standing>div{display:flex;flex-direction:column}.pe-standing span{color:var(--pub-muted);font-size:13px}.pe-standing strong{font-size:17px}.pe-standing>small{grid-column:1/-1;padding-top:8px;border-top:1px solid #edf1f5;color:var(--pub-muted);font-size:13px}
.pe-simple-list{list-style:none;margin:0;padding:0}.pe-simple-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #edf1f5}.pe-simple-list li:last-child{border-bottom:0}.pe-person-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#edf3fa;color:#48617d;font-size:12px;font-weight:950}.pe-simple-list li>div:nth-child(2){display:flex;flex-direction:column}.pe-simple-list strong{font-size:12px}.pe-simple-list span{color:var(--pub-muted);font-size:12px}.pe-simple-list em{padding:4px 6px;border-radius:7px;background:#eaf7f3;color:#087d63;font-size:12px;font-style:normal;font-weight:850}
.pe-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.pe-player-card{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--pub-line);border-radius:14px;background:#fbfcfe}.pe-player-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:var(--pub-blue);font-size:13px;font-weight:950}.pe-player-card>div{display:flex;min-width:0;flex-direction:column}.pe-player-card a,.pe-player-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-ink);font-size:12px;text-decoration:none}.pe-player-card small{color:var(--pub-muted);font-size:12px}
.pe-match-row{display:grid;grid-template-columns:64px minmax(0,1fr) 96px;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid #edf1f5;color:var(--pub-ink);text-decoration:none}.pe-match-row:last-child{border-bottom:0}.pe-match-row:hover{background:#f9fbfd}.pe-match-row.is-live{background:#fff7f8}.pe-match-when{display:flex;flex-direction:column}.pe-match-when strong{font-size:13px}.pe-match-when span{color:var(--pub-muted);font-size:12px}.pe-match-teams{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);gap:7px;align-items:center}.pe-match-team{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:7px}.pe-match-team--away{justify-content:flex-start}.pe-match-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pe-match-teams>b{padding:6px 4px;border-radius:8px;background:var(--pub-ink);color:#fff;font-size:12px;text-align:center}.pe-mark--match-row{width:28px;height:28px;border-radius:8px}.pe-match-trail{display:flex;align-items:flex-end;flex-direction:column;gap:4px}.pe-match-trail small{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-muted);font-size:12px}
.pe-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.pe-team-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--pub-line);border-radius:15px;background:#fbfcfe;color:var(--pub-ink);text-decoration:none}.pe-team-card:hover{border-color:#b9cce4;background:#fff}.pe-team-card>div{display:flex;min-width:0;flex-direction:column}.pe-team-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pe-team-card span{color:var(--pub-muted);font-size:12px}.pe-team-card>.i{color:#8393a6}
.pe-top-performer{max-width:1200px;margin:10px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-radius:20px;background:linear-gradient(120deg,#061426,#0d477f);color:#fff;box-shadow:var(--pub-shadow)}.pe-top-performer>div{display:flex;align-items:center;gap:12px}.pe-top-performer>div>div{display:flex;flex-direction:column}.pe-top-performer span{color:#83d7ff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pe-top-performer a,.pe-top-performer strong{margin-top:3px;color:#fff;font-size:17px;font-weight:900;text-decoration:none}.pe-top-performer small{margin-top:2px;color:rgba(255,255,255,.62);font-size:13px}.pe-top-performer>b{display:flex;flex-direction:column;align-items:center;font-size:32px;line-height:1}.pe-top-performer>b span{margin-top:4px;color:rgba(255,255,255,.6);font-size:12px}.pe-mark--performer{width:60px;height:60px;border-radius:17px}
.pe-ranking{list-style:none;margin:0;padding:0}.pe-ranking li{display:grid;grid-template-columns:24px auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f5}.pe-ranking li:last-child{border-bottom:0}.pe-ranking li>b{color:var(--pub-muted);font-size:13px}.pe-ranking li>div:not(.pe-discipline-card){display:flex;min-width:0;flex-direction:column}.pe-ranking a,.pe-ranking strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pub-ink);font-size:12px;text-decoration:none}.pe-ranking span{color:var(--pub-muted);font-size:12px}.pe-ranking em{font-size:13px;font-style:normal;font-weight:950}.pe-mark--ranking{width:32px;height:32px;border-radius:9px}.pe-discipline-card{position:relative;width:32px;height:30px}.pe-card-yellow,.pe-card-red{position:absolute;width:15px;height:22px;border-radius:3px;transform:rotate(-7deg)}.pe-card-yellow{left:2px;top:3px;background:#f2c225}.pe-card-red{right:2px;top:3px;background:#d73b4e;transform:rotate(7deg)}
.pe-bracket-section{overflow:hidden}.pe-bracket{display:flex;gap:12px;overflow:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.pe-bracket-round{flex:1 0 250px;display:flex;flex-direction:column;scroll-snap-align:start}.pe-bracket-round>header{text-align:center}.pe-bracket-round>header span{color:var(--pub-blue);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.pe-bracket-round h3{margin:3px 0 10px;font-size:13px}.pe-bracket-round-matches{display:flex;flex:1;flex-direction:column;justify-content:space-around;gap:10px}.pe-bracket-match{display:block;overflow:hidden;border:1px solid var(--pub-line);border-radius:14px;background:#fbfcfe;color:var(--pub-ink);text-decoration:none;box-shadow:0 5px 16px rgba(7,20,38,.035)}.pe-bracket-match:hover{border-color:#b6cbe5;background:#fff}.pe-bracket-match.is-live{border-color:#efafb8;background:#fff7f8}.pe-bracket-team{display:grid;grid-template-columns:auto minmax(0,1fr) 25px;gap:7px;align-items:center;padding:8px 9px;border-bottom:1px solid #edf1f5}.pe-bracket-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.pe-bracket-team b{text-align:right;font-size:13px}.pe-mark--bracket{width:27px;height:27px;border-radius:8px}.pe-bracket-match footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;color:var(--pub-muted);font-size:12px}
.pe-muted{color:var(--pub-muted);font-size:13px}

@media(max-width:1020px){
  .ph-live-summary{position:static;width:100%;margin-top:30px}
  .ph-hero--premium{min-height:0}
  .ph-tournament-grid,.pt-team-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ph-filterbar{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,.5fr));top:66px}
  .ph-filterbar .ph-clear-filters{grid-column:auto}
  .pt-filterbar{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(130px,.5fr))}
  .pt-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .public-site .pub-main{padding:14px 12px 48px}
  .public-site .pub-main--portal{padding-top:8px}
  .public-site .pub-header-inner{padding:10px 12px}
  .public-site .pub-nav-link{padding:7px 9px}.public-site .pub-nav-link--primary{display:none}
  .public-site .pub-footer-inner{grid-template-columns:1fr;text-align:center}.public-site .pub-footer p{text-align:center}
  .ph-hero--premium{margin:-14px -12px 0;padding:58px 20px 24px;border-radius:0 0 26px 26px}
  .ph-hero--premium h1{font-size:clamp(37px,12vw,55px)}
  .ph-hero--premium p{font-size:14px}
  .ph-hero-actions{align-items:stretch;flex-direction:column}.ph-primary-action,.ph-secondary-action{width:100%}
  .ph-live-summary{grid-template-columns:repeat(3,1fr)}.ph-live-summary a{padding:12px 9px}.ph-live-summary strong{font-size:19px}.ph-live-summary span{font-size:12px}
  .ph-discovery{padding-top:30px}.ph-discovery-head{align-items:flex-start;flex-direction:column;gap:10px}.ph-result-count{align-self:flex-end}
  .ph-filterbar{position:relative;top:auto;grid-template-columns:1fr 1fr;margin-top:16px;padding:8px}.ph-search-field{grid-column:1/-1}.ph-clear-filters{grid-column:1/-1}
  .ph-tournament-grid{grid-template-columns:1fr}.ph-tournament-section{margin-top:28px}
  .ph-organizer-cta{align-items:flex-start;flex-direction:column;padding:25px}.ph-organizer-cta>a{width:100%;justify-content:center}
  .pt-topbar{top:6px}.pt-topbar-btn span{display:none}
  .pt-hero-premium{padding:21px 16px;border-radius:22px}.pt-hero-main{gap:12px}.pt-tournament-logo .pe-mark{width:58px;height:58px;border-radius:17px}.pt-hero-copy h1{font-size:32px}.pt-hero-meta{align-items:flex-start;flex-direction:column;gap:7px}
  .pt-hero-stats{grid-template-columns:repeat(2,1fr)}.pt-hero-stats>div:nth-child(2){border-right:0}.pt-hero-stats>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .pt-featured-match{grid-template-columns:1fr auto;gap:10px}.pt-featured-label{grid-column:1/-1}.pt-featured-teams{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)}
  .pt-tabs-premium{top:57px;margin-left:-2px;margin-right:-2px;border-radius:14px}
  .pt-content-panel{padding-top:23px}.pt-panel-heading{align-items:flex-start;flex-direction:column;gap:4px}.pt-panel-heading p{align-self:flex-end}
  .pt-filterbar,.pt-team-toolbar{grid-template-columns:1fr 1fr}.pt-search-filter{grid-column:1/-1}.pt-filter-reset{grid-column:1/-1}
  .pt-match-grid{grid-template-columns:1fr}
  .pt-team-directory{grid-template-columns:1fr}.pt-info-grid{grid-template-columns:1fr}
  .pe-header{padding:14px;border-radius:20px}.pe-back span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-identity h1{font-size:29px}.pe-mark--hero{width:52px;height:52px;border-radius:15px}
  .pe-header-nav{overflow:auto;flex-wrap:nowrap;scrollbar-width:none}.pe-header-nav::-webkit-scrollbar{display:none}.pe-header-nav a{flex:0 0 auto}
  .pe-profile-summary{align-items:flex-start}.pe-form{display:none}.pe-mark--profile{width:55px;height:55px;border-radius:16px}.pe-profile-main h2{font-size:19px}
  .pe-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pe-stat-grid>div{padding:11px}.pe-stat-grid b{font-size:20px}
  .pe-two-col,.pe-lineups{grid-template-columns:1fr}
  .pe-match-hero{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:6px;padding:17px 8px}.pe-mark--score{width:55px;height:55px;border-radius:16px}.pe-match-side strong{font-size:12px}.pe-score{font-size:36px}
  .pe-facts{grid-template-columns:1fr}.pe-facts b{white-space:normal}
  .pe-report-facts{grid-template-columns:1fr 1fr}
  .pe-match-row{grid-template-columns:49px minmax(0,1fr)}.pe-match-trail{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:space-between}.pe-match-teams{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.pe-match-team .pe-mark{display:none}.pe-match-team span{font-size:12px}
  .pe-top-performer{padding:14px}.pe-top-performer a,.pe-top-performer strong{font-size:14px}.pe-top-performer>b{font-size:26px}
}
@media(max-width:430px){
  .ph-live-summary{grid-template-columns:1fr}.ph-live-summary a{display:flex;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.ph-live-summary a:last-child{border-bottom:0}.ph-live-summary strong{font-size:17px}.ph-live-summary span{margin:0}
  .ph-filterbar{grid-template-columns:1fr}.ph-search-field{grid-column:auto}.ph-clear-filters{grid-column:auto}
  .pt-filterbar,.pt-team-toolbar{grid-template-columns:1fr}.pt-search-filter{grid-column:auto}.pt-filter-reset{grid-column:auto}
  .pt-hero-copy h1{font-size:27px}.pt-hero-stats b{font-size:18px}
  .pt-featured-teams strong{font-size:13px}.pt-featured-match{padding:11px}
  .pt-match-card-body{grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);padding-left:9px;padding-right:9px}.pt-card-team{align-items:center;flex-direction:column;text-align:center;gap:4px}.pt-card-team--away{flex-direction:column}.pt-card-team strong{max-width:100%;font-size:13px}.pt-card-team-logo{width:31px!important;height:31px!important}.pt-card-score{font-size:12px}
  .pt-team-entry{grid-template-columns:auto minmax(0,1fr) auto}.pt-team-entry em{grid-column:2}.pt-team-entry>.i{grid-row:1/3;grid-column:3}
  .pe-profile-summary{padding:13px}.pe-profile-badge{display:none}.pe-shirt-number{width:58px;height:58px;border-radius:16px}.pe-shirt-number b{font-size:24px}
  .pe-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pe-match-hero{grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)}.pe-mark--score{width:44px;height:44px}.pe-score{font-size:29px}.pe-score-center .pub-status{font-size:12px;padding:4px 5px}
  .pe-report-facts{grid-template-columns:1fr}
  .pe-roster-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.public-site *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* S3.3 — public registration journey */
.public-site--registration .pub-main{max-width:none;padding-top:10px}
.pr-container{max-width:980px;margin:14px auto 0;padding:0 16px 54px}
.pr-intro-card,.pr-state-card{position:relative;overflow:hidden;border:1px solid rgba(7,20,38,.09);border-radius:24px;background:#fff;box-shadow:var(--pub-shadow-soft)}
.pr-intro-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);gap:20px;padding:26px}
.pr-intro-card::after{content:"";position:absolute;right:-90px;top:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(40,183,233,.15),transparent 68%);pointer-events:none}
.pr-intro-card h2,.pr-state-card h2{margin:6px 0 9px;color:var(--pub-ink);font-size:clamp(23px,3.5vw,34px);line-height:1.08;letter-spacing:-.035em}
.pr-intro-card p,.pr-state-card p{max-width:680px;margin:0;color:var(--pub-muted);font-size:13px;line-height:1.65}
.pr-eyebrow{color:var(--pub-blue);font-size:13px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.pr-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-self:start;margin:0;padding:0;list-style:none}
.pr-steps li{min-width:0;padding:11px 8px;border:1px solid #e0e8f2;border-radius:14px;background:#f8fafd;text-align:center}
.pr-steps b{width:26px;height:26px;display:grid;place-items:center;margin:0 auto 6px;border-radius:9px;background:#e8f1ff;color:var(--pub-blue);font-size:12px}
.pr-steps span{display:block;overflow:hidden;color:var(--pub-ink);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.pr-capacity{grid-column:1/-1;position:relative;z-index:1;padding-top:16px;border-top:1px solid #edf1f5}
.pr-capacity-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--pub-muted);font-size:12px}.pr-capacity-copy b{color:var(--pub-ink)}
.pr-capacity-bar{width:100%;height:8px;display:block;overflow:hidden;border:0;border-radius:999px;background:#edf2f8;appearance:none}
.pr-capacity-bar::-webkit-progress-bar{background:#edf2f8;border-radius:999px}.pr-capacity-bar::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--pub-blue),var(--pub-cyan))}.pr-capacity-bar::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--pub-blue),var(--pub-cyan))}
.pr-form{display:flex;flex-direction:column;gap:13px;margin-top:14px}
.pr-section{padding:22px;border:1px solid rgba(7,20,38,.09);border-radius:20px;background:#fff;box-shadow:0 6px 22px rgba(7,20,38,.045)}
.pr-section-heading{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:18px}
.pr-section-heading>span{width:46px;height:30px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:var(--pub-blue);font-size:12px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.pr-section-heading h2{margin:1px 0 5px;color:var(--pub-ink);font-size:17px;letter-spacing:-.02em}.pr-section-heading p{margin:0;color:var(--pub-muted);font-size:13px;line-height:1.55}
.pr-section-heading--action{grid-template-columns:54px minmax(0,1fr) auto}.pr-section-heading--action .pr-btn{align-self:center}
.pr-field{min-width:0;margin-bottom:13px}.pr-field:last-child{margin-bottom:0}.pr-field--short{flex:0 0 110px}
.pr-row{display:flex;gap:11px}.pr-row>.pr-field{flex:1}
.pr-label{display:block;margin-bottom:6px;color:var(--pub-ink);font-size:12px;font-weight:850}.pr-req{color:var(--pub-red)}
.pr-input{width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid #d9e3ee;border-radius:12px;background:#fbfcfe;color:var(--pub-ink);font:inherit;font-size:12px;transition:border-color .15s,box-shadow .15s,background .15s}
.pr-input:hover{border-color:#c3d1e1;background:#fff}.pr-input:focus{outline:0;border-color:var(--pub-blue);background:#fff;box-shadow:0 0 0 4px rgba(21,94,239,.09)}textarea.pr-input{min-height:96px;resize:vertical}
.pr-combobox{position:relative}.pr-suggestions{position:absolute;z-index:80;left:0;right:0;top:72px;max-height:270px;overflow:auto;border:1px solid #d5e0ec;border-radius:14px;background:#fff;box-shadow:0 20px 45px rgba(7,20,38,.15)}
.pr-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:0;border-bottom:1px solid #edf1f5;background:#fff;color:var(--pub-ink);text-align:left;cursor:pointer}.pr-suggestion:last-child{border-bottom:0}.pr-suggestion:hover{background:#f4f8fd}.pr-suggestion span{font-size:13px;font-weight:800}.pr-suggestion small{color:var(--pub-muted);font-size:13px}
.pr-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:9px 11px;border:1px solid #aee3cf;border-radius:11px;background:#eefbf6;color:#087452;font-size:12px;font-weight:750}.pr-selection button{border:0;background:transparent;color:inherit;font-size:13px;font-weight:950;cursor:pointer}
.pr-team-list{display:flex;flex-direction:column;gap:11px}.pr-team-row{padding:15px;border:1px solid #dfe7f0;border-radius:16px;background:#f9fbfd}.pr-team-row:focus-within{border-color:#bed0e5;background:#fff}
.pr-team-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.pr-team-number{color:var(--pub-ink);font-size:13px;font-weight:950}.pr-team-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pr-link-button{padding:5px 7px;border:0;border-radius:8px;background:transparent;color:var(--pub-blue);font-size:12px;font-weight:900;cursor:pointer}.pr-link-button:hover{background:#eaf2ff}.pr-remove-team{color:var(--pub-red)}.pr-remove-team:hover{background:#fff0f2}
.pr-btn{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid transparent;border-radius:12px;font-size:12px;font-weight:950;text-decoration:none;cursor:pointer;transition:transform .14s,box-shadow .14s,background .14s}.pr-btn:hover{transform:translateY(-1px)}.pr-btn:disabled{opacity:.58;cursor:wait;transform:none}
.pr-btn--primary{background:linear-gradient(135deg,var(--pub-blue),var(--pub-blue-2));color:#fff;box-shadow:0 10px 22px rgba(21,94,239,.19)}.pr-btn--secondary{border-color:#d6e1ec;background:#fff;color:var(--pub-ink);box-shadow:none}.pr-btn--small{min-height:38px;padding:8px 11px;white-space:nowrap}
.pr-submit-bar{position:sticky;bottom:10px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px 13px 17px;border:1px solid rgba(7,20,38,.1);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(7,20,38,.15);backdrop-filter:blur(16px)}.pr-submit-bar p{max-width:580px;margin:0;color:var(--pub-muted);font-size:13px;line-height:1.5}
.pr-notice{margin:12px 0;padding:12px 14px;border:1px solid;border-radius:13px;font-size:12px;line-height:1.55}.pr-notice--info{border-color:#bed7ff;background:#f1f6ff;color:#174c9e}.pr-notice--danger{border-color:#ffc3cb;background:#fff3f5;color:#9c2433}.pr-notice--success{border-color:#b9e7d7;background:#f0fbf7;color:#116d51}
.pr-state-card{max-width:720px;margin:28px auto 0;padding:38px 28px;text-align:center}.pr-state-card::before{content:"";position:absolute;left:50%;top:-160px;width:390px;height:260px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(16,167,121,.16),transparent 68%);pointer-events:none}.pr-state-card--danger::before{background:radial-gradient(circle,rgba(220,53,69,.13),transparent 68%)}
.pr-state-card>*{position:relative}.pr-state-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 15px;border-radius:20px;background:#e9faf4;color:var(--pub-green);font-size:25px;font-weight:950;box-shadow:0 9px 24px rgba(16,167,121,.13)}.pr-state-card--danger .pr-state-icon{background:#fff0f2;color:var(--pub-red)}.pr-state-icon .i{width:28px;height:28px}.pr-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:20px}
.pr-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media(max-width:760px){
  .pr-container{padding:0 0 44px}.pr-intro-card{grid-template-columns:1fr;padding:20px;border-radius:20px}.pr-intro-card h2{font-size:25px}.pr-steps{order:3}.pr-section{padding:17px;border-radius:17px}.pr-section-heading,.pr-section-heading--action{grid-template-columns:44px minmax(0,1fr)}.pr-section-heading--action .pr-btn{grid-column:2;justify-self:start}.pr-section-heading>span{width:40px}.pr-row{flex-direction:column;gap:0}.pr-field--short{flex:auto}.pr-submit-bar{bottom:7px;align-items:stretch;flex-direction:column;padding:12px}.pr-submit-bar .pr-btn{width:100%}.pr-submit-bar p{text-align:center}.pr-team-row{padding:12px}.pr-state-card{margin-top:12px;padding:30px 18px}.pr-actions{align-items:stretch;flex-direction:column}.pr-actions .pr-btn{width:100%}
}
@media(max-width:430px){.pr-steps{grid-template-columns:repeat(2,1fr)}.pr-team-row-head{align-items:flex-start;flex-direction:column}.pr-team-actions{justify-content:flex-start}.pr-section-heading h2{font-size:15px}}

/* ── S3.5 authenticated account state on the public surface ── */
.access-state{position:relative;min-height:calc(100vh - 180px);display:grid;place-items:center;overflow:hidden;padding:42px 18px}.access-state__glow{position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(21,94,239,.17),transparent 67%);filter:blur(2px)}
.access-state__card{position:relative;width:min(680px,100%);box-sizing:border-box;padding:clamp(26px,5vw,48px);border:1px solid rgba(7,20,38,.1);border-radius:28px;background:rgba(255,255,255,.93);box-shadow:0 26px 80px rgba(7,20,38,.14);text-align:center;backdrop-filter:blur(18px)}
.access-state__brand{display:inline-flex;align-items:center;gap:9px;color:var(--pub-ink);font-size:17px;text-decoration:none}.access-state__brand img{width:34px;height:34px}.access-state__eyebrow{display:block;margin-top:24px;color:var(--pub-blue);font-size:12px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.access-state__card h1{margin:9px auto 13px;color:var(--pub-ink);font-size:clamp(27px,5vw,43px);line-height:1.05;letter-spacing:-.045em}.access-state__card>p{max-width:570px;margin:0 auto;color:var(--pub-muted);font-size:14px;line-height:1.7}
.access-state__org{max-width:460px;margin:20px auto 0;padding:13px 15px;border:1px solid #e0e8f1;border-radius:15px;background:#f8fafd;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.access-state__org span{color:var(--pub-muted);font-size:12px}.access-state__org strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-state__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}.access-state__actions .ph-primary-action,.access-state__actions .ph-secondary-action{min-height:44px}.access-state__hint{margin-top:18px!important;font-size:11px!important;color:#8291a4!important}.access-state--suspended .access-state__eyebrow{color:var(--pub-red)}.access-state--pending .access-state__eyebrow{color:#b76d00}
@media(max-width:560px){.access-state{padding:16px 10px}.access-state__card{padding:25px 17px;border-radius:21px}.access-state__actions{align-items:stretch;flex-direction:column}.access-state__actions a{width:100%}}

/* ── S3.9 public UI closure: long identities and image edge cases ── */
:where(.ph-card-copy,.pt-hero-copy,.pe-identity,.pe-profile-main>div,.pe-top-performer>div>div){min-width:0}
:where(.ph-card-copy,.pt-hero-copy,.pe-identity,.pe-profile-main,.pe-card-head) :where(h1,h2,h3,strong,p,a,span){overflow-wrap:anywhere}
.ph-card-brand,.pe-mark{overflow:hidden}.ph-card-brand img,.pe-mark{box-sizing:border-box}.ph-card-brand img,.pe-mark[src]{object-fit:contain}
@media(max-width:480px){.ph-card-title,.pt-hero-copy h1,.pe-identity h1{hyphens:auto}.pe-top-performer{align-items:flex-start;flex-direction:column}.pe-top-performer>b{align-items:flex-start}}

/* ── S3.13 public category navigation and registration mobile polish ── */
.pt-category-rail{max-width:1200px;display:flex;gap:8px;margin:0 auto 10px;padding:0 2px 4px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.pt-category-rail::-webkit-scrollbar{display:none}
.pt-category-rail button{-webkit-appearance:none;appearance:none;display:flex;min-width:max-content;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--pub-line);border-radius:999px;background:#fff;color:var(--pub-muted);font:inherit;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.pt-category-rail button small{color:#8a98a9;font-size:9px;font-weight:850}
.pt-category-rail button.is-active{border-color:#90b7ed;background:#eaf3ff;color:var(--pub-blue);box-shadow:0 4px 14px rgba(21,94,239,.10)}
.pr-club-location.is-catalog .pr-input[readonly]{border-color:#b8decf;background:#f2fbf7;color:#155f48;cursor:default}
.pr-section-heading>span{width:38px!important;height:38px!important;border-radius:50%!important;font-size:13px!important;letter-spacing:0!important}
@media(max-width:760px){
  .pr-container{padding-inline:10px}.pr-intro-card{padding:16px}.pr-intro-card h2{font-size:21px;line-height:1.14}.pr-intro-card p{font-size:12px}
  .pr-steps{grid-template-columns:repeat(4,minmax(62px,1fr));gap:5px;overflow-x:auto}.pr-steps li{padding:8px 4px;border-radius:11px}.pr-steps b{width:23px;height:23px;margin-bottom:4px}.pr-steps span{font-size:9px}
  .pr-section{padding:14px}.pr-section-heading,.pr-section-heading--action{grid-template-columns:38px minmax(0,1fr);gap:10px;margin-bottom:14px}.pr-section-heading>span{width:34px!important;height:34px!important}.pr-section-heading h2{font-size:15px}.pr-section-heading p{font-size:11px;line-height:1.45}
  .pr-section-heading--action .pr-btn{grid-column:1/-1;width:100%;justify-self:stretch}
  .pr-team-row-head{align-items:flex-start}.pr-team-actions{gap:2px}.pr-link-button{font-size:10px}
  .pr-suggestion{align-items:flex-start;flex-direction:column;gap:3px}.pr-suggestion small{font-size:11px}
}
@media(max-width:430px){.pr-steps{grid-template-columns:repeat(4,minmax(62px,1fr))}.pt-tabs-premium>.is-cta{order:-1}.pt-category-rail{margin-inline:-2px}}

/* ── S3.14 public hierarchy and unified tournament navigation ── */
.ph-section-more{-webkit-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;min-height:42px;margin:14px auto 0;padding:9px 15px;border:1px solid #d7e2ee;border-radius:12px;background:#fff;color:var(--pub-blue);font:inherit;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 5px 18px rgba(7,20,38,.04)}
.ph-section-more:hover{border-color:#9cbce3;background:#f5f9ff}
.pt-tabs-premium>.is-cta{margin-left:0;background:#eaf2ff;color:var(--pub-blue)}
.pt-tabs-premium--categories{position:relative;top:auto;z-index:34;margin-top:0;margin-bottom:10px;background:rgba(255,255,255,.90)}
.pt-tabs-premium--categories button{min-height:37px;padding:8px 12px}
.pt-tabs-premium--categories button small{color:#8a98a9;font-size:9px;font-weight:850}
.pt-tabs-premium--categories button.is-active small{color:rgba(255,255,255,.66)}
@media(max-width:700px){
  .pt-tabs-premium--categories{top:auto;margin-inline:-2px}
  .ph-section-more{width:100%}
}

/* ── S3.15 category filter consistency ── */
.pt-tabs-premium--categories{margin-top:6px}
.pt-team-toolbar{grid-template-columns:minmax(0,1fr)}
.pt-team-entry[hidden],.pt-standing-division[hidden]{display:none!important}
.pe-category-nav{display:flex;gap:7px;margin:0 0 16px;padding:6px;border:1px solid rgba(7,20,38,.09);border-radius:15px;background:rgba(255,255,255,.92);overflow-x:auto;scrollbar-width:none}
.pe-category-nav::-webkit-scrollbar{display:none}
.pe-category-nav a{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;padding:8px 11px;border-radius:10px;color:var(--pub-muted);font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
.pe-category-nav a:hover{background:#f1f5fa;color:var(--pub-ink)}
.pe-category-nav a.is-active{background:var(--pub-ink);color:#fff;box-shadow:0 6px 16px rgba(7,20,38,.16)}

/* ── S3.18 true graph knockout bracket ── */
.pe-bracket-section{overflow:hidden;padding:0;border-color:#d8e2ed;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(7,20,38,.07)}
.pe-bracket-card-head{align-items:center;margin:0;padding:18px 20px 14px;border-bottom:1px solid #e8eef5;background:#fff}
.pe-bracket-card-head>div>span{font-size:10px;letter-spacing:.13em}.pe-bracket-card-head h2{margin-top:4px;font-size:24px;line-height:1}
.pe-bracket-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.pe-bracket-summary span{display:inline-flex;align-items:baseline;gap:4px;min-height:29px;padding:5px 9px;border:1px solid #dde6ef;border-radius:999px;background:#f7f9fc;color:var(--pub-muted);font-size:10px;font-weight:850;white-space:nowrap}
.pe-bracket-summary b{color:var(--pub-ink);font-size:12px}
.pe-bracket-guide{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid #e8eef5;background:#f8fbff;color:#5f7188}
.pe-bracket-guide-line{width:34px;height:12px;position:relative;flex:0 0 auto}.pe-bracket-guide-line::before{content:"";position:absolute;left:0;right:5px;top:50%;border-top:2px solid #3e79bf}.pe-bracket-guide-line::after{content:"";position:absolute;right:0;top:3px;width:7px;height:7px;border-top:2px solid #3e79bf;border-right:2px solid #3e79bf;transform:rotate(45deg)}
.pe-bracket-guide p{margin:0;flex:1;font-size:11px;line-height:1.35}.pe-bracket-guide b{color:var(--pub-ink)}
.pe-bracket-guide button{-webkit-appearance:none;appearance:none;min-height:28px;padding:5px 9px;border:1px solid #c8d7e7;border-radius:9px;background:#fff;color:#315b8c;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.pe-bracket-stage-nav{display:none}
.pe-bracket-viewport{position:relative;overflow:auto;padding:16px 18px 20px;background:linear-gradient(150deg,#f7faff,#f4f8fc);scrollbar-color:#b8c8d9 transparent;scrollbar-width:thin;overscroll-behavior:contain}
.pe-bracket-viewport:focus-visible{outline:3px solid rgba(21,94,239,.22);outline-offset:-4px}
.pe-bracket-canvas{width:max(100%,var(--pe-bracket-min-width));min-width:var(--pe-bracket-min-width);margin:0 auto}
.pe-bracket-round-heads,.pe-bracket-columns{display:grid;grid-template-columns:repeat(var(--pe-bracket-rounds),276px);column-gap:68px;width:max-content;min-width:100%;justify-content:center}
.pe-bracket-round-head{min-width:0;display:flex;align-items:center;gap:9px;padding:0 2px 11px}
.pe-bracket-round-head>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cadcf2;border-radius:12px;background:#eaf3ff;color:#155eef;font-size:11px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}
.pe-bracket-round-head>div{display:flex;min-width:0;flex-direction:column}.pe-bracket-round-head h3{margin:0;color:var(--pub-ink);font-size:15px;line-height:1.1}.pe-bracket-round-head small{margin-top:3px;color:var(--pub-muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.pe-bracket-round-head.is-final>span{border-color:#efd37b;background:#fff2bd;color:#805d00}
.pe-bracket-graph{position:relative;min-height:220px}
.pe-bracket-wires{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.pe-bracket-wires path.pe-bracket-wire{fill:none;stroke:#a9bfd6;stroke-width:1.6;vector-effect:non-scaling-stroke;transition:stroke .16s,stroke-width .16s,opacity .16s}
.pe-bracket-wires marker path{fill:#a9bfd6;transition:fill .16s}
.pe-bracket-columns{position:relative;z-index:1}
.pe-bracket-round{position:relative;display:block;min-width:0;flex:none}.pe-bracket-round-matches{position:relative;display:block;min-height:220px;flex:none;gap:0}
.pe-bracket-node{position:absolute;left:0;right:0;overflow:visible;border:1px solid #d5e0eb;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(7,20,38,.065);transition:border-color .16s,box-shadow .16s,transform .16s,opacity .16s,filter .16s}
.pe-bracket-node:hover,.pe-bracket-node:focus-within{border-color:#8eacd0;box-shadow:0 14px 31px rgba(7,20,38,.11);transform:translateY(-1px)}
.pe-bracket-node.is-live{border-color:#e69aa5;box-shadow:0 0 0 3px rgba(211,63,82,.07),0 10px 24px rgba(7,20,38,.07)}
.pe-bracket-node.is-final-match{border-color:#e5c65f;background:#fffdf5;box-shadow:0 0 0 3px rgba(229,198,95,.12),0 12px 28px rgba(83,62,0,.09)}
.pe-bracket-match-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;align-items:center;gap:6px;min-height:28px;padding:4px 5px 4px 9px;border-bottom:1px solid #e9eff5;border-radius:14px 14px 0 0;background:#f4f7fb}
.pe-bracket-node.is-final-match .pe-bracket-match-toolbar{background:#fff5ca}
.pe-bracket-match-toolbar>a{overflow:hidden;color:#5d7087;font-size:9px;font-weight:950;text-decoration:none;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}
.pe-bracket-status{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border-radius:999px;background:#e8eef5;color:#60728a;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.04em;text-transform:uppercase}
.pe-bracket-status--live{background:#d73f52;color:#fff}.pe-bracket-status--finished{background:#e4f5ef;color:#087b58}.pe-bracket-status--cancelled,.pe-bracket-status--suspended{background:#fff0f1;color:#b72d40}
.pe-bracket-trace{-webkit-appearance:none;appearance:none;width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:#56708d;cursor:pointer}
.pe-bracket-trace:hover,.pe-bracket-trace:focus-visible{background:#e4edf7;color:#155eef;outline:none}.pe-bracket-trace[aria-pressed="true"]{background:#155eef;color:#fff}
.pe-bracket-trace svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pe-bracket-match-content{display:block;overflow:hidden;border-radius:0 0 14px 14px;color:var(--pub-ink);text-decoration:none}
.pe-bracket-team{display:grid;grid-template-columns:32px minmax(0,1fr) 31px;gap:8px;align-items:center;min-height:43px;padding:5px 8px;border-bottom:1px solid #edf2f6;background:#fff}
.pe-bracket-team span{min-width:0;overflow:hidden;color:#17283d;font-size:11.5px;font-weight:820;line-height:1.18;text-overflow:ellipsis;white-space:nowrap}
.pe-bracket-team b{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#edf2f7;color:#17273c;font-size:13px;font-weight:950}
.pe-bracket-team.is-winner{position:relative;background:#f0faf6}.pe-bracket-team.is-winner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#0b9f73}.pe-bracket-team.is-winner span{font-weight:950}.pe-bracket-team.is-winner b{background:#0b9f73;color:#fff}
.pe-mark--bracket{width:30px;height:30px;border-radius:9px;border-color:#d7e2ed;background:#f2f6fa;font-size:10px;font-weight:950}
.pe-bracket-penalties{display:flex;align-items:center;justify-content:center;gap:5px;min-height:22px;padding:4px 8px;border-bottom:1px solid #efe5c1;background:#fff8df;color:#89620d;font-size:8px;font-weight:900}.pe-bracket-penalties b{font-size:9px}
.pe-bracket-match-content footer{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:29px;padding:5px 8px;background:#fafcff;color:#65778c;font-size:8.5px;font-weight:850}
.pe-bracket-match-content footer span,.pe-bracket-match-content footer b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-bracket-match-content footer b{max-width:42%;text-align:right}
.pe-bracket-board-is-tracing .pe-bracket-node:not(.is-trace-path){opacity:.28;filter:saturate(.55)}
.pe-bracket-board-is-tracing .pe-bracket-node.is-trace-path{border-color:#3779c5;box-shadow:0 0 0 3px rgba(55,121,197,.10),0 13px 30px rgba(7,20,38,.11)}
.pe-bracket-board-is-tracing .pe-bracket-node.is-trace-origin{border-color:#155eef;box-shadow:0 0 0 4px rgba(21,94,239,.15),0 15px 34px rgba(21,94,239,.14)}
.pe-bracket-board-is-tracing .pe-bracket-wire{opacity:.16}.pe-bracket-board-is-tracing .pe-bracket-wire.is-trace-path{opacity:1;stroke:#155eef;stroke-width:3}.pe-bracket-board-is-tracing .pe-bracket-wires marker path{fill:#155eef}
.pe-bracket-mobile-foot{display:none}

@media(max-width:1024px){
  .pe-bracket-stage-nav{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;border-bottom:1px solid #e8eef5;background:#fff;scrollbar-width:none}.pe-bracket-stage-nav::-webkit-scrollbar{display:none}
  .pe-bracket-stage-nav button{-webkit-appearance:none;appearance:none;display:grid;grid-template-columns:29px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:137px;min-height:40px;padding:5px 8px;border:1px solid #dce6ef;border-radius:11px;background:#f7f9fc;color:var(--pub-ink);font:inherit;text-align:left;cursor:pointer}
  .pe-bracket-stage-nav button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:#e8f1ff;color:#155eef;font-size:9px;font-weight:950}.pe-bracket-stage-nav button>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.pe-bracket-stage-nav button>small{color:var(--pub-muted);font-size:9px;font-weight:900}
  .pe-bracket-stage-nav button.is-active{border-color:#91b0d5;background:#edf5ff}
  .pe-bracket-viewport{padding:14px 12px 17px;scroll-snap-type:x proximity}.pe-bracket-canvas{margin:0}
  .pe-bracket-round-heads,.pe-bracket-columns{justify-content:start}
}

@media(max-width:700px){
  .pe-card.pe-bracket-section{margin-inline:-2px;border-radius:20px}
  .pe-bracket-card-head{padding:15px 14px 12px}.pe-bracket-card-head h2{font-size:21px}.pe-bracket-summary span:last-child{display:none}
  .pe-bracket-guide{padding:9px 14px}.pe-bracket-guide-line{display:none}.pe-bracket-guide p{font-size:10px}.pe-bracket-guide p b{display:block}.pe-bracket-guide button{flex:0 0 auto}
  .pe-bracket-stage-nav{padding:8px 10px}.pe-bracket-stage-nav button{min-width:126px;grid-template-columns:27px minmax(0,1fr) auto;min-height:38px}.pe-bracket-stage-nav button>span{width:27px;height:27px}
  .pe-bracket-viewport{padding:12px 10px 15px;scroll-snap-type:x mandatory;scroll-padding-left:10px}.pe-bracket-canvas{min-width:var(--pe-bracket-min-width)}
  .pe-bracket-round-heads,.pe-bracket-columns{grid-template-columns:repeat(var(--pe-bracket-rounds),276px);column-gap:48px}
  .pe-bracket-round-head{scroll-snap-align:start;padding-bottom:9px}.pe-bracket-round-head>span{width:33px;height:33px;border-radius:10px}.pe-bracket-round-head h3{font-size:13px}.pe-bracket-round-head small{font-size:8px}
  .pe-bracket-node{border-radius:14px}.pe-bracket-match-toolbar{border-radius:13px 13px 0 0}.pe-bracket-match-content{border-radius:0 0 13px 13px}
  .pe-bracket-team{grid-template-columns:30px minmax(0,1fr) 29px;gap:7px;min-height:41px;padding:5px 7px}.pe-bracket-team span{font-size:11px}.pe-bracket-team b{width:27px;height:27px;font-size:12px}.pe-mark--bracket{width:28px;height:28px}
  .pe-bracket-mobile-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px 12px;color:var(--pub-muted);font-size:9px;font-weight:850}.pe-bracket-mobile-foot b{color:var(--pub-ink);font-size:10px}
}

@media(max-width:390px){
  .pe-bracket-round-heads,.pe-bracket-columns{grid-template-columns:repeat(var(--pe-bracket-rounds),268px);column-gap:44px}
  .pe-bracket-guide p{max-width:210px}.pe-bracket-summary span{padding-inline:8px}
}

@media(prefers-reduced-motion:reduce){.pe-bracket-node,.pe-bracket-wires path{transition:none}}



/* ── S3.19 match and statistics coherence ── */
.pe-match-side.is-winner .pe-mark--score{border-color:#9fdcc9;box-shadow:0 0 0 5px rgba(10,155,112,.08)}
.pe-match-side.is-winner strong{color:#087956}
.pe-score-center{display:flex;min-width:0;flex-direction:column;align-items:center}
.pe-score-board{display:grid;grid-template-columns:62px 22px 62px;align-items:center;justify-content:center;gap:7px;margin:10px 0 5px}
.pe-score-board>b{height:68px;display:grid;place-items:center;border:1px solid #d8e3ef;border-radius:18px;background:#07182d;color:#fff;font-size:38px;font-weight:950;line-height:1;letter-spacing:-.045em;box-shadow:0 9px 21px rgba(7,24,45,.12)}
.pe-score-board>b.is-leading{background:linear-gradient(145deg,#0a3e75,#086ad0);border-color:#438bd2}
.pe-score-board>span{color:#8291a4;font-size:21px;font-weight:950;text-align:center}
.pe-score-board.is-pending>b{background:#f3f6fa;color:#8c9bad;box-shadow:none}
.pe-score-board.is-pending>span{font-size:12px;letter-spacing:.08em}
.pe-score-board.is-voided{display:block;margin:12px 0 7px;padding:12px 18px;border:1px solid #f2c2c8;border-radius:14px;background:#fff3f5;color:#b42d40;font-size:14px;font-weight:950;letter-spacing:.08em}
.pe-two-col--match{grid-template-columns:minmax(0,1.65fr) minmax(270px,.65fr);align-items:start}
.pe-card--timeline,.pe-card--report{min-height:0}
.pe-card--report{position:sticky;top:76px}
.pe-event-board{overflow:hidden;border:1px solid #e0e8f1;border-radius:17px;background:#f8fafc}
.pe-event-board-head{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #e0e8f1;background:#f1f5f9}
.pe-event-board-head>div{display:flex;min-width:0;align-items:center;gap:8px}
.pe-event-board-head>div:last-child{flex-direction:row-reverse;text-align:right}
.pe-event-board-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pe-event-board-head>span{color:#8190a3;font-size:10px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.pe-mark--event-team{width:31px;height:31px;border-radius:9px}
.pe-event-stream{position:relative;padding:9px 12px 11px}
.pe-event-stream::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(#d4dfeb,#a9bfd8,#d4dfeb);transform:translateX(-1px)}
.pe-event-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:8px;min-height:58px}
.pe-event-lane{display:flex;min-width:0}
.pe-event-lane--home{justify-content:flex-end}.pe-event-lane--away{justify-content:flex-start}
.pe-event-axis{display:flex;align-items:center;flex-direction:column;gap:4px;color:#718196}
.pe-event-axis>b{min-width:37px;padding:3px 5px;border:1px solid #dbe5ef;border-radius:7px;background:#fff;font-size:11px;text-align:center;box-shadow:0 3px 8px rgba(7,20,38,.04)}
.pe-event-axis .pe-event-dot{position:relative;width:11px;height:11px;border:2px solid #fff;box-shadow:0 0 0 2px #c8d6e5}
.pe-event-axis .pe-event-dot--goal,.pe-event-axis .pe-event-dot--penalty_goal{box-shadow:0 0 0 2px rgba(16,167,121,.25)}
.pe-event-axis .pe-event-dot--yellow_card,.pe-event-axis .pe-event-dot--second_yellow,.pe-event-axis .pe-event-dot--red_card{border-radius:3px}
.pe-event-card{width:min(100%,270px);padding:9px 10px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(7,20,38,.045)}
.is-home .pe-event-card{text-align:right;border-right:3px solid #2b75c8}
.is-away .pe-event-card{border-left:3px solid #2b75c8}
.pe-event-card>div{display:flex;align-items:center;justify-content:space-between;gap:7px}
.is-home .pe-event-card>div{flex-direction:row-reverse}
.pe-event-card strong{font-size:12px;line-height:1.25}
.pe-event-card em{padding:2px 5px;border-radius:6px;background:#edf3f9;color:#65758a;font-size:10px;font-style:normal;font-weight:900}
.pe-event-card>span{display:block;margin-top:3px;overflow:hidden;color:#75859a;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.pe-event-card--neutral{border-left-color:#8493a6;background:#f5f7fa}
.pe-lineup-team>header{position:relative;padding-right:118px}
.pe-lineup-state{position:absolute;right:10px;top:50%;padding:5px 7px;border-radius:8px;background:#eaf7f2;color:#087956;font-size:10px;font-style:normal;font-weight:950;text-transform:uppercase;transform:translateY(-50%)}
.pe-lineup-team.is-public-roster .pe-lineup-state{background:#eef3f9;color:#5f7085}
.pe-lineup-note{margin:0;padding:10px 12px;border-top:1px solid #e8eef4;border-bottom:1px solid #e8eef4;background:#fff9e9;color:#79673f;font-size:11px;line-height:1.45}
.pe-lineup-empty{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px}
.pe-lineup-empty p{margin:0;color:var(--pub-muted);font-size:12px}.pe-lineup-empty a{color:var(--pub-blue);font-size:12px;font-weight:850;text-decoration:none}
.pe-lineup-team.is-public-roster .pe-roster-list em{color:#718196}

@media(max-width:920px){
  .pe-two-col--match{grid-template-columns:1fr}.pe-card--report{position:static}
}
@media(max-width:760px){
  .pe-score-board{grid-template-columns:46px 17px 46px;gap:4px;margin-top:8px}.pe-score-board>b{height:51px;border-radius:14px;font-size:29px}.pe-score-board>span{font-size:16px}
  .pe-event-board-head{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);padding:8px}.pe-event-board-head strong{font-size:11px}.pe-mark--event-team{width:27px;height:27px}
  .pe-event-stream{padding-left:7px;padding-right:7px}.pe-event-row{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:5px;min-height:56px}.pe-event-axis>b{min-width:31px;padding:3px;font-size:10px}
  .pe-event-card{padding:8px 7px;border-radius:10px}.pe-event-card strong{font-size:11px}.pe-event-card em{display:none}.pe-event-card>span{font-size:10px;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:430px){
  .pe-match-hero{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:4px;padding-left:7px;padding-right:7px}.pe-match-side strong{font-size:11px}.pe-score-board{grid-template-columns:42px 14px 42px}.pe-score-board>b{height:47px;font-size:26px}.pe-score-center .pub-status{font-size:10px}
  .pe-lineup-team>header{padding-right:10px;flex-wrap:wrap}.pe-lineup-state{position:static;margin-left:auto;transform:none}.pe-roster-list li{grid-template-columns:32px minmax(0,1fr)}.pe-roster-list li>em{grid-column:2;justify-self:start}
}
.pe-match-side>.pe-mark,.pe-match-side a>.pe-mark{display:grid}


/* ============================================================
   Areno Pulse consolidated legacy sprint styles (S3.11–S3.27)
   Consolidated in v1.3.29 / S3.29. Order intentionally preserved.
   ============================================================ */

/* ---- consolidated from sprint311.css ---- */
/* Areno Pulse S3.11 — financial clarity + temporary QR access */
.s311-page{display:grid;gap:22px}.s311-eyebrow{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#68758b}.s311-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.s311-section-heading h2{margin:3px 0 0;font-size:1.22rem}.s311-section-heading>strong{font-size:1.4rem;color:#172238}.s311-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.s311-principles>div{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid #dfe5ee;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 8px 26px rgba(19,31,53,.05)}.s311-principles svg{width:22px;height:22px;color:#16a085;flex:none}.s311-principles span{display:grid;gap:2px}.s311-principles strong{font-size:.92rem;color:#172238}.s311-principles small{color:#6a778c;line-height:1.35}.s311-split,.s311-admin-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(420px,1.35fr);gap:18px;align-items:start}.s311-form-card,.s311-list-card,.s311-table-card{padding:22px}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.s311-inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.s311-empty{min-height:130px;display:grid;place-items:center;text-align:center;color:#778398}.s311-empty svg{width:34px;height:34px}.s311-notice{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;border:1px solid #dce5ef;border-radius:16px;background:#f8fbfe;color:#25344b}.s311-notice svg{width:22px;height:22px;flex:none;color:#52708e}.s311-notice p{margin:4px 0 0;color:#65738a}.s311-notice--warning{background:#fffaf0;border-color:#f0d59a}.s311-notice--warning svg{color:#b87d08}

/* QR organizer workspace */
.s311-qr-release{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:center;padding:26px;border-radius:22px;background:radial-gradient(circle at top left,rgba(42,211,166,.17),transparent 40%),linear-gradient(135deg,#08182c,#102b46);color:#fff;box-shadow:0 20px 50px rgba(6,21,39,.2)}.s311-qr-release__visual{display:grid;place-items:center;padding:14px;border-radius:18px;background:#fff;aspect-ratio:1}.s311-qr-release__visual svg{display:block;width:100%;height:auto}.s311-qr-release__copy h2{font-size:1.55rem;margin:5px 0 8px}.s311-qr-release__copy p{max-width:700px;color:#cbd8e6}.s311-qr-release__copy .s311-eyebrow{color:#7de1c4}.s311-qr-release__copy>small{display:block;margin-top:12px;color:#9fb1c5}.s311-url-field{display:grid;gap:6px;margin:18px 0 12px}.s311-url-field span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9fb1c5}.s311-url-field input{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.s311-pass-list{display:grid;gap:10px}.s311-pass-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e1e7ef;border-radius:15px;background:#fff}.s311-pass-row__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf8f5;color:#168a6d}.s311-pass-row__icon svg{width:22px;height:22px}.s311-pass-row__main{min-width:0}.s311-pass-row__main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.s311-pass-row__main strong{overflow-wrap:anywhere}.s311-pass-row__main p{margin:4px 0 2px;color:#4b5a70}.s311-pass-row__main small{color:#7a8799}.s311-pass-row__actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.s311-pass-row__actions form{margin:0}

/* Temporary public access */
.temp-access-page{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:42px 18px;background:radial-gradient(circle at 20% 10%,rgba(36,203,156,.15),transparent 30%),radial-gradient(circle at 90% 80%,rgba(37,99,235,.12),transparent 34%),#f5f8fc}.temp-access-shell{width:min(620px,100%)}.temp-access-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;font-size:1.12rem;color:#16253a}.temp-access-brand img{width:34px;height:34px}.temp-access-card{padding:34px;border:1px solid #e0e7f0;border-radius:26px;background:rgba(255,255,255,.96);box-shadow:0 26px 70px rgba(20,42,71,.14);text-align:center}.temp-access-card__mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:linear-gradient(145deg,#0b8f72,#21c59c);color:#fff;box-shadow:0 12px 25px rgba(17,148,116,.25)}.temp-access-card__mark svg{width:29px;height:29px}.temp-access-card--invalid .temp-access-card__mark{background:linear-gradient(145deg,#b83145,#e35a6c)}.temp-access-card h1{margin:6px 0 8px;font-size:clamp(1.65rem,5vw,2.35rem);color:#132238;overflow-wrap:anywhere}.temp-access-lead{font-size:1.03rem;color:#5b687a;line-height:1.6}.temp-access-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0;text-align:left}.temp-access-facts>div{padding:13px 14px;border:1px solid #e4eaf1;border-radius:13px;background:#f9fbfd}.temp-access-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#8390a1}.temp-access-facts dd{margin:4px 0 0;font-weight:750;color:#24344a;overflow-wrap:anywhere}.temp-access-scope{display:flex;gap:9px;align-items:flex-start;text-align:left;padding:14px;border-radius:13px;background:#edf9f5;color:#286251}.temp-access-scope svg{width:19px;height:19px;flex:none}.temp-access-submit{width:100%;justify-content:center;margin-top:18px;padding-block:13px}.temp-access-footnote{margin:16px auto 0;max-width:510px;font-size:.82rem;line-height:1.5;color:#7d899a}

/* Billing */
.s311-billing-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:22px;padding:24px;border:1px solid #dfe6ef;border-radius:20px;background:linear-gradient(135deg,#f7fafc,#fff);box-shadow:0 12px 34px rgba(22,39,65,.06)}.s311-billing-hero h2{margin:4px 0 7px;font-size:1.65rem}.s311-billing-hero p{margin:0;color:#657289}.s311-billing-hero dl{display:grid;gap:8px;margin:0}.s311-billing-hero dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.76);border:1px solid #e5eaf1}.s311-billing-hero dt{color:#7a8799}.s311-billing-hero dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.s311-billing-hero--success{border-color:#bfe5d9;background:linear-gradient(135deg,#edf9f5,#fff)}.s311-billing-hero--warning{border-color:#efd99d;background:linear-gradient(135deg,#fff9ea,#fff)}.s311-billing-hero--danger{border-color:#efc1c8;background:linear-gradient(135deg,#fff3f5,#fff)}.s311-lifecycle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.s311-lifecycle>div{display:flex;gap:10px;padding:15px;border:1px solid #e1e7ef;border-radius:15px;background:#fff}.s311-lifecycle b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#132a43;color:#fff;flex:none}.s311-lifecycle span{display:grid;gap:3px}.s311-lifecycle small{color:#758296;line-height:1.35}.s311-billing-list{display:grid;gap:10px}.s311-billing-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.25fr) minmax(170px,.35fr);gap:16px;align-items:center;padding:15px 16px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.s311-billing-row__main{min-width:0}.s311-billing-row__main>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.s311-billing-row__main strong{overflow-wrap:anywhere}.s311-billing-row__main p{margin:4px 0;color:#526075}.s311-billing-row__main small{color:#798699}.s311-billing-row__amount{text-align:right}.s311-billing-row__amount strong{display:block;font-size:1.06rem;color:#17263b}.s311-billing-row__amount small,.s311-billing-row__dates{color:#7c899a;font-size:.78rem}.s311-billing-row__dates{display:grid;gap:4px;text-align:right}.s311-billing-row--admin{grid-template-columns:minmax(0,1fr) 150px minmax(290px,.8fr)}.s311-billing-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.s311-billing-actions form{margin:0}.s311-paid-form{display:flex;gap:5px}.s311-paid-form input{width:115px;min-height:34px;padding:6px 8px}.s311-policy-list{display:grid;gap:10px;max-height:630px;overflow:auto}.s311-policy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:14px;border:1px solid #e2e8f0;border-radius:14px}.s311-policy-row>div:first-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.s311-policy-row code{font-size:.75rem;color:#69778a}.s311-policy-row p,.s311-policy-row small,.s311-policy-row .s311-inline-actions{grid-column:1/-1}.s311-policy-row p{margin:0;color:#45546a}.s311-policy-row small{color:#7c899a}.s311-org-list{display:grid;gap:9px}.s311-org-row{border:1px solid #e1e7ef;border-radius:14px;background:#fff;overflow:hidden}.s311-org-row summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}.s311-org-row summary::-webkit-details-marker{display:none}.s311-org-row summary>span:first-child{display:grid;gap:3px}.s311-org-row summary small{color:#788597}.s311-org-row[open] summary{border-bottom:1px solid #e6ebf2;background:#f8fafc}.s311-org-form{padding:18px}.s311-org-form textarea{width:100%}

@media(max-width:1050px){.s311-principles,.s311-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr))}.s311-split,.s311-admin-grid{grid-template-columns:1fr}.s311-billing-row--admin{grid-template-columns:minmax(0,1fr) 140px}.s311-billing-row--admin .s311-billing-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.s311-principles,.s311-lifecycle{grid-template-columns:1fr}.s311-qr-release{grid-template-columns:1fr;padding:20px}.s311-qr-release__visual{width:min(270px,100%);margin:auto}.s311-pass-row{grid-template-columns:42px minmax(0,1fr)}.s311-pass-row__actions{grid-column:1/-1;justify-content:flex-start}.s311-billing-hero{grid-template-columns:1fr}.s311-billing-row,.s311-billing-row--admin{grid-template-columns:1fr}.s311-billing-row__amount,.s311-billing-row__dates{text-align:left}.s311-billing-actions{justify-content:flex-start}.form-grid--3{grid-template-columns:1fr}.temp-access-facts{grid-template-columns:1fr}.temp-access-card{padding:25px 18px}.s311-org-row summary{grid-template-columns:minmax(0,1fr) auto}.s311-org-row summary>svg{display:none}}
@media print{body *{visibility:hidden!important}[data-created-qr],[data-created-qr] *{visibility:visible!important}[data-created-qr]{position:absolute!important;inset:0!important;display:grid!important;grid-template-columns:300px 1fr!important;background:#fff!important;color:#000!important;box-shadow:none!important}.s311-qr-release__copy p,.s311-qr-release__copy small,.s311-inline-actions{display:none!important}.s311-qr-release__copy .s311-eyebrow{color:#333!important}.s311-url-field input{color:#000!important;border:1px solid #aaa!important;background:#fff!important}}
.s311-temp-banner{display:flex;align-items:center;gap:11px;padding:11px 14px;margin-bottom:14px;border:1px solid #bfe4d9;border-radius:14px;background:#edf9f5;color:#285f51}.s311-temp-banner>svg{width:20px;height:20px;flex:none}.s311-temp-banner>div{display:grid;gap:2px;min-width:0}.s311-temp-banner small{color:#5b776f}.s311-temp-banner a{margin-left:auto;font-weight:750;color:#146d58}

/* ---- end sprint311.css ---- */

/* ---- consolidated from sprint312.css ---- */
/* Areno Pulse S3.12 — QR discoverability, reusable sessions and billing clarity */

/* Auth: visible QR entry */
.af-qr-entry{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 13px;border:1.5px solid #dbe5ef;border-radius:15px;background:#f8fbfe;color:#17263b;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.af-qr-entry:hover{border-color:#8bcbbb;box-shadow:0 8px 22px rgba(18,104,84,.10);transform:translateY(-1px)}.af-qr-entry__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e8f7f2;color:#13735d}.af-qr-entry__icon .i{width:22px;height:22px}.af-qr-entry__copy{display:grid;gap:2px;min-width:0}.af-qr-entry__copy strong{font-size:13px}.af-qr-entry__copy small{font-size:11px;line-height:1.4;color:#718096}.af-qr-entry__arrow{font-size:19px;color:#2b806b}.af-alt--signup{margin-top:16px}.af-access-kicker{display:inline-block;margin-bottom:6px;color:#15806a;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.af-access-code{resize:vertical;min-height:84px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.45}.af-access-ended{display:flex;gap:9px;align-items:flex-start;margin:0 0 14px;padding:11px 12px;border:1px solid #bce4d8;border-radius:13px;background:#eef9f5;color:#285f51;font-size:12px;line-height:1.45}.af-access-ended .i{flex:none;width:17px;height:17px}.af-access-camera{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding:12px;border-radius:14px;background:#f6f8fb;color:#3d4b60}.af-access-camera__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#fff;border:1px solid #e1e7ef;color:#526c88;flex:none}.af-access-camera__icon .i{width:20px;height:20px}.af-access-camera>span:last-child{display:grid;gap:3px}.af-access-camera strong{font-size:12px}.af-access-camera small{font-size:11px;line-height:1.45;color:#7a8798}

/* Staff: QR access is a first-class access method */
.s312-staff-qr__list{display:grid;gap:8px;padding:14px}.s312-staff-qr__item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.s312-staff-qr__item:hover{border-color:#9ccfc2;box-shadow:0 8px 20px rgba(17,86,70,.08);transform:translateY(-1px)}.s312-staff-qr__mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf8f4;color:#14775f}.s312-staff-qr__mark .i{width:22px;height:22px}.s312-staff-qr__copy{display:grid;gap:3px;min-width:0}.s312-staff-qr__copy strong{overflow-wrap:anywhere}.s312-staff-qr__copy small{color:var(--muted);line-height:1.4}.s312-staff-qr__action{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#176e5b}.s312-staff-qr__action .i{width:15px;height:15px}.s312-staff-qr__empty{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px dashed var(--border);border-radius:15px;background:var(--surface-subtle,#f8fafc)}.s312-staff-qr__empty>span:nth-child(2){display:grid;gap:3px}.s312-staff-qr__empty small{color:var(--muted);line-height:1.4}

/* Billing: compact, operational and self-explanatory */
.s312-billing-page{display:grid;gap:16px}.s312-page-header{margin-bottom:0}.s312-page-header h1{font-size:clamp(1.55rem,2.4vw,2.05rem);line-height:1.08}.s312-page-header .op-subtitle{max-width:780px;font-size:.9rem;line-height:1.5}.s312-billing-summary{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(140px,.65fr));gap:1px;overflow:hidden;border:1px solid #dfe6ee;border-radius:18px;background:#dfe6ee;box-shadow:0 8px 24px rgba(22,39,65,.05)}.s312-billing-summary>div{display:grid;align-content:center;gap:4px;min-height:92px;padding:15px 17px;background:#fff}.s312-billing-summary span{font-size:.71rem;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:#7c8999}.s312-billing-summary strong{font-size:.95rem;overflow-wrap:anywhere}.s312-billing-summary small{font-size:.78rem;line-height:1.4;color:#68768a}.s312-billing-summary__status{background:linear-gradient(135deg,#f7fafc,#fff)!important}.s312-billing-summary--success .s312-billing-summary__status{background:linear-gradient(135deg,#edf9f5,#fff)!important}.s312-billing-summary--warning .s312-billing-summary__status{background:linear-gradient(135deg,#fff8e8,#fff)!important}.s312-billing-summary--danger .s312-billing-summary__status{background:linear-gradient(135deg,#fff2f4,#fff)!important}.s312-billing-explainer{border:1px solid #e1e7ef;border-radius:15px;background:#fff}.s312-billing-explainer summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;font-size:.84rem;font-weight:800;list-style:none}.s312-billing-explainer summary::-webkit-details-marker{display:none}.s312-billing-explainer summary .i{width:17px;height:17px;color:#57718c}.s312-billing-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-top:1px solid #e7ecf2;background:#e7ecf2}.s312-billing-steps span{display:flex;align-items:center;gap:9px;padding:12px;background:#fbfcfd}.s312-billing-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#233a55;color:#fff;font-size:.72rem;flex:none}.s312-billing-steps small{color:#69778a;line-height:1.35}.s312-billing-card{overflow:hidden}.s312-admin-billing .s311-admin-grid{align-items:start}.s312-admin-billing .s311-form-card,.s312-admin-billing .s311-list-card,.s312-admin-billing .s311-table-card{border-radius:18px}.s312-admin-billing .s311-section-heading h2{font-size:1.05rem}.s312-calculation-help{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:13px 15px;border:1px solid #cfe2ed;border-radius:16px;background:#f4f9fc}.s312-calculation-help__title{display:flex;align-items:center;gap:9px}.s312-calculation-help__title>.i{width:20px;height:20px;color:#44708a}.s312-calculation-help__title>span{display:grid;gap:1px}.s312-calculation-help__title small{color:#718095}.s312-calculation-help__formula{padding:9px 12px;border-radius:11px;background:#fff;border:1px solid #dfe9ef;color:#394b61;font-size:.79rem;line-height:1.45}.s312-field-help{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:3px;border:1px solid #b9c6d4;border-radius:50%;color:#607187;font-size:10px;font-weight:900;cursor:help;vertical-align:1px}.s312-form-hint{display:block;margin-top:5px;color:#7a8797;font-size:.7rem;line-height:1.38}.s312-form-hint b{color:#40536a}.s312-admin-billing .form-group label{font-size:.76rem}.s312-admin-billing .form-group input,.s312-admin-billing .form-group select,.s312-admin-billing .form-group textarea{font-size:.86rem}.s312-admin-billing .s311-policy-row p{font-size:.82rem}

@media(max-width:980px){.s312-billing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.s312-billing-summary__status{grid-column:1/-1}.s312-calculation-help{grid-template-columns:1fr}.s312-billing-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.s312-staff-qr__item,.s312-staff-qr__empty{grid-template-columns:42px minmax(0,1fr)}.s312-staff-qr__empty .btn{grid-column:2;justify-self:start}.s312-staff-qr__action{grid-column:2}.s312-billing-summary{grid-template-columns:1fr}.s312-billing-summary__status{grid-column:auto}.s312-billing-steps{grid-template-columns:1fr}.s312-calculation-help__formula{font-size:.75rem}.af-qr-entry{grid-template-columns:40px minmax(0,1fr) auto}}

/* ---- end sprint312.css ---- */

/* ---- consolidated from sprint321.css ---- */
/* Areno Pulse — S3.21 Match-day & Referee Stabilization */

/* Referee match shell */
.s321-referee-match{max-width:980px;margin:0 auto;padding-bottom:120px}
.s321-referee-match .md-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.s321-referee-match .md-head-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.s321-referee-match .md-score--s321{position:sticky;top:72px;z-index:28;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"left score right" "meta meta meta";align-items:center;gap:10px;padding:14px 16px;margin-bottom:12px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(15,23,42,.08);backdrop-filter:blur(14px)}
.s321-referee-match .md-score--s321.is-live{border-color:rgba(220,38,38,.28);box-shadow:0 14px 36px rgba(220,38,38,.08)}
.s321-referee-match .md-score-team{display:flex;align-items:center;gap:9px;min-width:0}
.s321-referee-match .md-score-team--left{grid-area:left;justify-content:flex-end;text-align:right}
.s321-referee-match .md-score-team--right{grid-area:right;justify-content:flex-start;text-align:left}
.s321-referee-match .md-team-name{min-width:0;font-size:13px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.s321-referee-match .md-team-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #e0e8f1;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 5px 14px rgba(15,23,42,.05)}
.s321-referee-match .md-team-mark img{width:100%;height:100%;object-fit:contain;padding:3px}
.s321-referee-match .md-team-mark--initials{background:#eef4fa;color:#17395e;font-size:11px;font-weight:950;letter-spacing:.05em}
.s321-referee-match .md-score-boxes{grid-area:score;display:grid;grid-template-columns:48px 18px 48px;align-items:center;justify-content:center;gap:4px}
.s321-referee-match .md-score-boxes b{height:48px;display:grid;place-items:center;border-radius:14px;background:#0d2746;color:#fff;font-size:26px;font-weight:950;line-height:1;box-shadow:inset 0 -2px 0 rgba(255,255,255,.08)}
.s321-referee-match .md-score-boxes span{text-align:center;color:#8090a2;font-size:12px;font-weight:950}
.s321-referee-match .md-score-meta{grid-area:meta;margin-top:-3px;text-align:center;color:var(--muted);font-size:10px;font-weight:700}

.s321-referee-match .md-feedback{position:sticky;top:160px;z-index:27;margin:0 auto 10px;padding:10px 13px;border:1px solid #dce6ef;border-radius:12px;background:#f7fafc;color:#38516b;font-size:12px;font-weight:800;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.s321-referee-match .md-feedback.is-success{border-color:#cce9dd;background:#f0faf6;color:#087454}
.s321-referee-match .md-feedback.is-warning{border-color:#f3dfb6;background:#fff9ec;color:#9a650d}
.s321-referee-match .md-feedback.is-danger{border-color:#f0cbd1;background:#fff4f5;color:#b62c41}

.s321-referee-match .md-section{margin:12px 0;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 5px 18px rgba(15,23,42,.035)}
.s321-referee-match .md-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.s321-referee-match .md-section-title>div{display:flex;flex-direction:column;gap:1px}
.s321-referee-match .md-section-title strong{font-size:15px}
.s321-referee-match .md-kicker{color:#8190a2;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.s321-referee-match .md-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.s321-referee-match .md-team-card{padding:12px;border:1px solid #e2e9f1;border-radius:16px;background:#fbfcfe}
.s321-referee-match .md-team-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px}
.s321-referee-match .md-team-identity{display:flex;align-items:center;gap:8px;min-width:0}.s321-referee-match .md-team-identity strong{font-size:12px;line-height:1.2;overflow-wrap:anywhere}
.s321-referee-match .md-team-card .md-team-mark{width:32px;height:32px;flex-basis:32px;border-radius:10px}
.s321-referee-match .md-presence-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.s321-referee-match .md-presence-btn{min-height:38px;padding:7px 5px;border:1px solid #dbe4ed;border-radius:11px;background:#fff;color:#596a7d;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.s321-referee-match .md-presence-btn:hover{border-color:#b9c9d8;background:#f7fafc}.s321-referee-match .md-presence-btn.is-active{border-color:#89d1bb;background:#eaf8f3;color:#087454;box-shadow:0 0 0 2px rgba(10,155,112,.06)}
.s321-referee-match .md-presence-btn--danger.is-active{border-color:#e8a9b3;background:#fff0f2;color:#b72d40}
.s321-referee-match .md-presence-detail,.s321-referee-match .md-details{margin-top:9px;border-top:1px solid #e8eef4;padding-top:8px}.s321-referee-match details>summary{cursor:pointer;list-style:none}.s321-referee-match details>summary::-webkit-details-marker{display:none}
.s321-referee-match .md-presence-detail>summary{color:#65768a;font-size:10px;font-weight:850}.s321-referee-match .md-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:900}.s321-referee-match .md-details>summary b{color:#6e7e90;font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.s321-referee-match .md-form-stack{display:grid;gap:7px;margin-top:8px}.s321-referee-match .md-form-stack label,.s321-referee-match .md-label{display:grid;gap:4px;color:#607184;font-size:10px;font-weight:800}
.s321-referee-match .md-input{width:100%;min-height:39px;padding:8px 9px;border:1px solid #dce5ee;border-radius:10px;background:#fff;color:var(--text);font:inherit;font-size:12px}
.s321-referee-match textarea.md-input{min-height:78px;resize:vertical}
.s321-referee-match .md-lineup-form{display:grid;gap:5px;margin-top:8px;max-height:320px;overflow:auto;padding-right:2px}.s321-referee-match .md-player{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 8px;border:1px solid #e5ebf1;border-radius:9px;background:#fff;font-size:10px}.s321-referee-match .md-player>label:first-child{display:flex;align-items:center;gap:6px;min-width:0}.s321-referee-match .md-player>label:first-child span{overflow-wrap:anywhere}.s321-referee-match .md-player.is-ineligible{opacity:.48}.s321-referee-match .md-starter{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#748397;font-size:9px}
.s321-referee-match .md-readiness{margin-top:10px;padding:9px 10px;border:1px solid #f1dfb9;border-radius:11px;background:#fff9ed;color:#92620e;font-size:10px}.s321-referee-match .md-readiness.is-hard{border-color:#edc5cc;background:#fff2f4;color:#ad2b3e}.s321-referee-match .md-readiness summary{font-weight:900;margin-bottom:6px}

.s321-referee-match .md-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.s321-referee-match .md-main-action{min-height:46px;border-color:#1769aa;background:#1769aa;color:#fff;font-weight:900}.s321-referee-match .md-event{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:14px;font-weight:950}.s321-referee-match .md-event.goal{border-color:#b8e6d6;background:#edf9f5;color:#087454}.s321-referee-match .md-event.yellow{border-color:#f3dea8;background:#fff8e7;color:#96630b}.s321-referee-match .md-event.red{border-color:#efc4cb;background:#fff1f3;color:#b42b40}.s321-referee-match .md-card-symbol{width:10px;height:15px;display:inline-block;border-radius:2px;transform:rotate(6deg)}.s321-referee-match .md-card-symbol.is-yellow{background:#f6c847}.s321-referee-match .md-card-symbol.is-red{background:#d84c5f}
.s321-referee-match .md-more-actions{grid-column:1/-1}.s321-referee-match .md-more-actions>summary{display:inline-flex;padding:6px 2px;color:#66778a;font-size:10px;font-weight:850}.s321-referee-match .md-more-actions>div{display:flex;gap:6px;flex-wrap:wrap}.s321-referee-match .md-finish{grid-column:1/-1;width:100%;min-height:46px;margin-top:8px;border-color:#b6e0d1;background:#edf9f5;color:#087454;font-weight:950}.s321-referee-match .md-finished{grid-column:1/-1;padding:12px;border-radius:12px;background:#edf9f5;color:#087454;font-weight:900;text-align:center}.s321-referee-match .md-penalty{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.s321-referee-match .md-penalty label{display:grid;grid-template-columns:1fr 66px;align-items:center;gap:8px;color:#607184;font-size:10px;font-weight:800}.s321-referee-match .md-penalty input{width:66px;padding:7px;border:1px solid #dce5ee;border-radius:9px}

/* Bottom-sheet event composer: only core match-day decisions are visible first. */
body.md-sheet-open{overflow:hidden}.s321-referee-match .md-event-sheet[hidden]{display:none}.s321-referee-match .md-event-sheet{position:fixed;inset:0;z-index:140;display:grid;align-items:end;justify-items:center;padding:16px}.s321-referee-match .md-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(5,17,31,.54);backdrop-filter:blur(3px)}.s321-referee-match .md-sheet-card{position:relative;width:min(620px,100%);max-height:min(86vh,720px);overflow:auto;padding:15px;border:1px solid #dbe5ee;border-radius:22px 22px 18px 18px;background:#fff;box-shadow:0 30px 90px rgba(5,17,31,.34)}
.s321-referee-match .md-event-team-pick{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.s321-referee-match .md-event-team-pick button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid #dce5ee;border-radius:13px;background:#fff;color:#30475f;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.s321-referee-match .md-event-team-pick button.is-active{border-color:#70a9d6;background:#edf6fd;color:#125f9b;box-shadow:0 0 0 2px rgba(23,105,170,.07)}.s321-referee-match .md-event-team-pick .md-team-mark{width:30px;height:30px;flex-basis:30px;border-radius:9px}
.s321-referee-match .md-event-core{display:grid;grid-template-columns:minmax(0,1fr) 34px 110px 92px;align-items:end;gap:7px}.s321-referee-match .md-event-core label{display:grid;gap:4px;color:#607184;font-size:10px;font-weight:850}.s321-referee-match .md-event-or{height:39px;display:grid;place-items:center;color:#93a0af;font-size:9px;font-weight:900;text-transform:uppercase}.s321-referee-match .md-event-advanced{margin-top:10px;border-top:1px solid #edf1f5;padding-top:9px}.s321-referee-match .md-event-advanced>summary{color:#69798c;font-size:10px;font-weight:850}.s321-referee-match .md-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.s321-referee-match .md-form-grid label{display:grid;gap:4px;color:#607184;font-size:10px;font-weight:800}.s321-referee-match .md-form-grid .span2{grid-column:1/-1}.s321-referee-match .md-event-save{width:100%;margin-top:12px}

.s321-referee-match .md-timeline{display:grid;gap:6px}.s321-referee-match .md-timeline-row{display:grid;grid-template-columns:54px minmax(0,1fr) 28px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e6ecf2;border-radius:12px;background:#fbfcfe}.s321-referee-match .md-timeline-row.is-home{border-left:4px solid #1769aa}.s321-referee-match .md-timeline-row.is-away{border-right:4px solid #10a779;text-align:right}.s321-referee-match .md-event-minute{display:flex;align-items:center;gap:5px}.s321-referee-match .md-event-minute b{font-size:12px}.s321-referee-match .md-event-minute span{font-size:14px}.s321-referee-match .md-event-copy{display:flex;flex-direction:column;min-width:0}.s321-referee-match .md-event-copy strong{font-size:11px}.s321-referee-match .md-event-copy span{font-size:11px;font-weight:750;overflow-wrap:anywhere}.s321-referee-match .md-event-copy small{color:#8492a2;font-size:9px}.s321-referee-match .md-timeline-row.is-away .md-event-minute{order:2;justify-content:flex-end}.s321-referee-match .md-timeline-row.is-away .md-event-copy{order:1}.s321-referee-match .md-timeline-row.is-away .md-delete{order:3}.s321-referee-match .md-delete{width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:#8796a6;font-size:20px;cursor:pointer}.s321-referee-match .md-delete:hover{background:#f1f4f7;color:#b62c41}

.s321-referee-match .md-collapsible-section{padding:0;overflow:hidden}.s321-referee-match .md-collapsible-section>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;font-size:12px;font-weight:900}.s321-referee-match .md-collapsible-section>summary span:first-child{display:flex;align-items:center;gap:7px}.s321-referee-match .md-collapsible-section>summary small{padding:3px 5px;border-radius:6px;background:#f1f4f7;color:#7d8b9b;font-size:8px;text-transform:uppercase}.s321-referee-match .md-collapsible-body{padding:0 14px 14px;border-top:1px solid #edf1f5}.s321-referee-match .md-incident-list{display:grid;gap:6px;margin-top:10px}.s321-referee-match .md-incident{position:relative;padding:9px 34px 9px 10px;border-left:3px solid #dce5ee;border-radius:9px;background:#fafbfd;font-size:10px}.s321-referee-match .md-incident.is-warning{border-left-color:#e9b942}.s321-referee-match .md-incident.is-critical{border-left-color:#d54a5c}.s321-referee-match .md-incident p{margin:4px 0}.s321-referee-match .md-incident .md-delete{position:absolute;right:5px;top:5px}.s321-referee-match .md-report-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px}

/* Referee dashboard: compact card that reads like a job list on a phone. */
.op-page--referee-dashboard .ref-match{transition:border-color .15s,box-shadow .15s,transform .15s}.op-page--referee-dashboard .ref-match:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,23,42,.06)}
.op-page--referee-dashboard .ref-teams strong{line-height:1.2}.op-page--referee-dashboard .ref-state b{text-transform:capitalize}

/* Public match header: team mark + name, central VS/score, name + team mark. */
.pe-match-hero.s321-match-hero{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;padding:18px 20px}
.pe-match-hero.s321-match-hero .pe-match-side,.pe-match-hero.s321-match-hero .pe-match-side a{flex-direction:row;gap:9px}
.pe-match-hero.s321-match-hero .pe-match-side{justify-content:flex-end;text-align:right}.pe-match-hero.s321-match-hero .pe-match-side--away{justify-content:flex-start;text-align:left;flex-direction:row-reverse}.pe-match-hero.s321-match-hero .pe-match-side--away a{flex-direction:row-reverse}
.pe-match-hero.s321-match-hero .pe-mark--score{width:56px;height:56px;border-radius:16px;flex:0 0 56px}.pe-match-hero.s321-match-hero .pe-match-side strong{font-size:14px}
.pe-match-hero.s321-match-hero .pe-score-center{min-width:128px}.pe-match-hero.s321-match-hero .pe-score-center .pub-status{margin-bottom:5px}.pe-match-hero.s321-match-hero .pe-score-board{margin-inline:auto}

@media(max-width:760px){
  .s321-referee-match{padding-bottom:100px}.s321-referee-match .md-head{align-items:flex-start}.s321-referee-match .md-score--s321{top:62px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;padding:10px 7px;border-radius:16px}.s321-referee-match .md-team-mark{width:34px;height:34px;flex-basis:34px;border-radius:10px}.s321-referee-match .md-team-name{font-size:10px}.s321-referee-match .md-score-boxes{grid-template-columns:40px 14px 40px;gap:2px}.s321-referee-match .md-score-boxes b{height:42px;border-radius:11px;font-size:23px}.s321-referee-match .md-score-meta{font-size:9px}.s321-referee-match .md-feedback{top:139px}
  .s321-referee-match .md-team-grid{grid-template-columns:1fr}.s321-referee-match .md-team-card{padding:10px}.s321-referee-match .md-presence-actions{gap:5px}.s321-referee-match .md-presence-btn{min-height:42px;font-size:10px}
  .s321-referee-match .md-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.s321-referee-match .md-event{min-height:58px;padding:8px 4px;font-size:11px}.s321-referee-match .md-more-actions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.s321-referee-match .md-more-actions .btn{min-height:40px;padding:7px 4px;font-size:10px}
  .s321-referee-match .md-sheet-card{width:100%;max-height:88vh;padding:13px;border-radius:22px 22px 14px 14px}.s321-referee-match .md-event-team-pick button{font-size:10px}.s321-referee-match .md-event-core{grid-template-columns:minmax(0,1fr) 28px 90px}.s321-referee-match .md-event-core label:last-child{grid-column:1/-1}.s321-referee-match .md-event-or{height:39px}.s321-referee-match .md-form-grid{grid-template-columns:1fr}.s321-referee-match .md-form-grid .span2{grid-column:auto}
  .s321-referee-match .md-timeline-row{grid-template-columns:48px minmax(0,1fr) 26px;padding:8px}.s321-referee-match .md-penalty{grid-template-columns:1fr}.s321-referee-match .md-penalty label{grid-template-columns:minmax(0,1fr) 60px}.s321-referee-match .md-penalty input{width:60px}
  .pe-match-hero.s321-match-hero{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:4px;padding:13px 7px}.pe-match-hero.s321-match-hero .pe-match-side,.pe-match-hero.s321-match-hero .pe-match-side a{gap:5px}.pe-match-hero.s321-match-hero .pe-mark--score{width:42px;height:42px;flex-basis:42px;border-radius:12px}.pe-match-hero.s321-match-hero .pe-match-side strong{font-size:10px}.pe-match-hero.s321-match-hero .pe-score-center{min-width:84px}.pe-match-hero.s321-match-hero .pe-score-center .pub-status{font-size:9px}.pe-match-hero.s321-match-hero .pe-score-board{grid-template-columns:34px 12px 34px}.pe-match-hero.s321-match-hero .pe-score-board>b{height:38px;font-size:22px}
}

@media(max-width:420px){
  .s321-referee-match .md-score-team{gap:4px}.s321-referee-match .md-team-mark{width:29px;height:29px;flex-basis:29px}.s321-referee-match .md-score-boxes{grid-template-columns:36px 12px 36px}.s321-referee-match .md-score-boxes b{height:38px;font-size:20px}.s321-referee-match .md-team-name{font-size:9px}
  .op-page--referee-dashboard .page-header{align-items:flex-start}.op-page--referee-dashboard .ref-day-nav{width:100%;justify-content:space-between}.op-page--referee-dashboard .ref-day-nav form{flex:1}.op-page--referee-dashboard .ref-day-nav input{width:100%}
  .pe-match-hero.s321-match-hero{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}.pe-match-hero.s321-match-hero .pe-mark--score{width:34px;height:34px;flex-basis:34px}.pe-match-hero.s321-match-hero .pe-match-side strong{font-size:9px}.pe-match-hero.s321-match-hero .pe-score-center{min-width:74px}
}

/* S3.21 — official assignment policy, visible without adding another form layer. */
.op-page--schedule .sch-referee-policy{display:flex;align-items:flex-start;gap:8px;margin:-2px 0 12px;padding:9px 11px;border:1px solid #dfe7ef;border-radius:12px;background:#f8fafc;color:#5a6b7e;font-size:10px;line-height:1.45}
.op-page--schedule .sch-referee-policy strong{color:#314860}
@media(max-width:650px){.op-page--schedule .sch-referee-policy{font-size:9px}}

/* ---- end sprint321.css ---- */

/* ---- consolidated from sprint322.css ---- */
/* Areno Pulse — S3.22 Public Match UI correction
 * Scope: a single, stable visual grammar for the match hero and compact match rows.
 */

/* Match hero — lock each logo to its team name instead of relying on nested flex reversals. */
.pe-match-hero.s322-match-hero{
  grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);
  gap:18px;
  padding:20px 24px;
}
.pe-match-hero.s322-match-hero .pe-match-side{
  display:flex;
  min-width:0;
  align-items:center;
}
.pe-match-hero.s322-match-hero .pe-match-side--home{justify-content:flex-end;text-align:right}
.pe-match-hero.s322-match-hero .pe-match-side--away{justify-content:flex-start;text-align:left}
.pe-match-hero.s322-match-hero .s322-team-lockup{
  display:grid !important;
  min-width:0;
  max-width:360px;
  align-items:center;
  gap:11px;
  color:var(--pub-ink);
  text-decoration:none;
}
.pe-match-hero.s322-match-hero .s322-team-lockup--home{grid-template-columns:58px minmax(0,1fr)}
.pe-match-hero.s322-match-hero .s322-team-lockup--away{grid-template-columns:minmax(0,1fr) 58px}
.pe-match-hero.s322-match-hero .s322-team-lockup strong{
  display:block;
  min-width:0;
  margin:0;
  font-size:14px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.pe-match-hero.s322-match-hero .s322-team-lockup--home strong{text-align:left}
.pe-match-hero.s322-match-hero .s322-team-lockup--away strong{text-align:right}
.pe-match-hero.s322-match-hero .pe-mark--score{
  width:58px;
  height:58px;
  margin:0;
  border-radius:16px;
}
.pe-match-hero.s322-match-hero .pe-score-center{min-width:150px}

/* Match rows — same reading order as the hero: crest + team · score/VS · team + crest. */
.pe-match-row .pe-match-teams{
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);
  gap:9px;
}
.pe-match-row .pe-match-team{
  display:grid;
  min-width:0;
  align-items:center;
  gap:7px;
}
.pe-match-row .pe-match-team--home{
  grid-template-columns:30px minmax(0,1fr);
  justify-content:stretch;
  text-align:left;
}
.pe-match-row .pe-match-team--away{
  grid-template-columns:minmax(0,1fr) 30px;
  justify-content:stretch;
  text-align:right;
}
.pe-match-row .pe-match-team span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pe-match-row .pe-match-team--home span{text-align:left}
.pe-match-row .pe-match-team--away span{text-align:right}
.pe-match-row .pe-mark--match-row{
  display:grid !important;
  width:30px;
  height:30px;
  margin:0;
  border-radius:9px;
}
.pe-match-row .pe-match-teams>b{
  min-width:52px;
  padding:7px 5px;
  border-radius:9px;
  font-variant-numeric:tabular-nums;
}

@media(max-width:760px){
  .pe-match-hero.s322-match-hero{
    grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
    gap:7px;
    padding:14px 9px;
  }
  .pe-match-hero.s322-match-hero .s322-team-lockup{gap:6px;max-width:none}
  .pe-match-hero.s322-match-hero .s322-team-lockup--home{grid-template-columns:40px minmax(0,1fr)}
  .pe-match-hero.s322-match-hero .s322-team-lockup--away{grid-template-columns:minmax(0,1fr) 40px}
  .pe-match-hero.s322-match-hero .pe-mark--score{width:40px;height:40px;border-radius:12px}
  .pe-match-hero.s322-match-hero .s322-team-lockup strong{font-size:11px;line-height:1.15}
  .pe-match-hero.s322-match-hero .pe-score-center{min-width:96px}

  .pe-match-row{
    grid-template-columns:48px minmax(0,1fr);
    gap:8px;
    padding:11px 2px;
  }
  .pe-match-row .pe-match-teams{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:5px}
  .pe-match-row .pe-match-team--home{grid-template-columns:25px minmax(0,1fr);gap:5px}
  .pe-match-row .pe-match-team--away{grid-template-columns:minmax(0,1fr) 25px;gap:5px}
  .pe-match-row .pe-mark--match-row{display:grid !important;width:25px;height:25px;border-radius:7px}
  .pe-match-row .pe-match-team span{font-size:11px}
  .pe-match-row .pe-match-teams>b{min-width:44px;padding:6px 3px;font-size:11px}
  .pe-match-row .pe-match-trail{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:flex-end;gap:7px;padding-top:1px}
}

@media(max-width:420px){
  .pe-match-hero.s322-match-hero{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:5px}
  .pe-match-hero.s322-match-hero .s322-team-lockup--home{grid-template-columns:34px minmax(0,1fr)}
  .pe-match-hero.s322-match-hero .s322-team-lockup--away{grid-template-columns:minmax(0,1fr) 34px}
  .pe-match-hero.s322-match-hero .pe-mark--score{width:34px;height:34px;border-radius:10px}
  .pe-match-hero.s322-match-hero .s322-team-lockup strong{font-size:10px}
  .pe-match-hero.s322-match-hero .pe-score-center{min-width:88px}
  .pe-match-row .pe-match-team span{font-size:10px}
}

/* ---- end sprint322.css ---- */

/* ---- consolidated from sprint323.css ---- */
/* Areno Pulse — S3.23 Public Portal Simplification
 * Match composition, unified matches, concise statistics and bracket scroll ergonomics.
 */

/* ── Match hero: one centered matchup, not three unrelated zones. ── */
.pe-match-hero.s323-match-hero{
  grid-template-columns:minmax(180px,340px) 150px minmax(180px,340px);
  justify-content:center;
  gap:16px;
  padding:20px 22px;
}
.pe-match-hero.s323-match-hero .pe-match-side{
  display:flex !important;
  min-width:0;
  width:100%;
  flex-direction:row !important;
  align-items:center !important;
}
.pe-match-hero.s323-match-hero .pe-match-side--home{justify-content:flex-end;text-align:right}
.pe-match-hero.s323-match-hero .pe-match-side--away{justify-content:flex-start;text-align:left}
.pe-match-hero.s323-match-hero .s322-team-lockup{
  display:flex !important;
  min-width:0;
  width:auto;
  max-width:100%;
  align-items:center;
  gap:9px;
}
.pe-match-hero.s323-match-hero .s322-team-lockup--home{flex-direction:row !important}
.pe-match-hero.s323-match-hero .s322-team-lockup--away{flex-direction:row !important}
.pe-match-hero.s323-match-hero .s322-team-lockup strong{
  max-width:220px;
  overflow:hidden;
  font-size:14px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pe-match-hero.s323-match-hero .s322-team-lockup--home strong{text-align:right}
.pe-match-hero.s323-match-hero .s322-team-lockup--away strong{text-align:left}
.pe-match-hero.s323-match-hero .pe-mark--score{width:52px;height:52px;border-radius:15px;flex:0 0 auto}
.pe-match-hero.s323-match-hero .pe-score-center{min-width:150px}

/* ── Compact match rows: teams orbit the score instead of the card edges. ── */
.pe-match-row.s323-match-row{grid-template-columns:70px minmax(0,1fr) 105px;gap:12px}
.pe-match-row.s323-match-row .pe-match-teams{
  display:grid;
  grid-template-columns:minmax(120px,220px) 54px minmax(120px,220px);
  justify-content:center;
  gap:8px;
}
.pe-match-row.s323-match-row .pe-match-team{
  display:flex;
  min-width:0;
  align-items:center;
  gap:7px;
}
.pe-match-row.s323-match-row .pe-match-team--home{justify-content:flex-end;text-align:right}
.pe-match-row.s323-match-row .pe-match-team--away{justify-content:flex-start;text-align:left}
.pe-match-row.s323-match-row .pe-match-team span{max-width:180px;min-width:0}
.pe-match-row.s323-match-row .pe-match-team--home span{text-align:right}
.pe-match-row.s323-match-row .pe-match-team--away span{text-align:left}
.pe-match-row.s323-match-row .pe-mark--match-row{width:28px;height:28px;flex:0 0 auto}
.pe-match-row.s323-match-row .pe-match-teams>b{min-width:54px}

/* ── Tournament matches: Program + Results become one surface with state switches. ── */
.pt-panel-heading small{display:block;margin-top:4px;color:var(--pub-muted);font-size:11px;font-weight:650}
.s323-match-state-tabs{display:flex;gap:7px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none}
.s323-match-state-tabs::-webkit-scrollbar{display:none}
.s323-match-state-tabs button{
  -webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;
  min-height:37px;padding:7px 11px;border:1px solid #dce5ef;border-radius:11px;background:#f7f9fc;
  color:#64758b;font:inherit;font-size:11px;font-weight:900;cursor:pointer
}
.s323-match-state-tabs button b{display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border-radius:999px;background:#e7edf4;color:#607189;font-size:9px}
.s323-match-state-tabs button.is-active{border-color:#162b47;background:#0b1d33;color:#fff;box-shadow:0 7px 17px rgba(7,24,45,.12)}
.s323-match-state-tabs button.is-active b{background:rgba(255,255,255,.15);color:#fff}

/* ── Knockout graph: horizontal canvas only. Vertical gestures always belong to the page. ── */
.pe-bracket-viewport{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  overscroll-behavior-x:contain;
  overscroll-behavior-y:auto !important;
  touch-action:pan-x pan-y pinch-zoom;
}

/* ── Statistics: a story of the tournament, not another standings table. ── */
.s323-stats-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.s323-stats-summary>div{min-height:86px;display:flex;flex-direction:column;justify-content:space-between;padding:14px 15px;border:1px solid #dce5ef;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(7,20,38,.045)}
.s323-stats-summary span{color:var(--pub-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.s323-stats-summary b{color:var(--pub-ink);font-size:28px;font-weight:950;letter-spacing:-.04em}
.s323-stats-summary b small{margin-left:3px;color:#8391a3;font-size:11px;font-weight:800;letter-spacing:0}
.s323-performance-map{overflow:hidden}
.s323-performance-map>.pe-card-head{align-items:flex-end}.s323-performance-map>.pe-card-head>small{color:var(--pub-muted);font-size:10px;font-weight:800}
.s323-performance-track{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) 46px minmax(0,1fr);align-items:center;padding:6px 2px 2px}
.s323-performance-link{height:2px;background:linear-gradient(90deg,#c9d7e7,#78a5d9,#c9d7e7);position:relative}
.s323-performance-link::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:2px solid #78a5d9;border-right:2px solid #78a5d9;transform:rotate(45deg)}
.s323-performance-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid #dce5ef;border-radius:16px;background:linear-gradient(145deg,#fff,#f8fbff);color:var(--pub-ink);text-decoration:none;box-shadow:0 6px 18px rgba(7,20,38,.04)}
.s323-performance-card>span{grid-column:1/-1;color:var(--pub-blue);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.s323-performance-card>div{display:flex;min-width:0;align-items:center;gap:8px}.s323-performance-card>div strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.s323-performance-logo{width:34px;height:34px;border-radius:10px;flex:0 0 auto}
.s323-performance-card>b{align-self:center;color:var(--pub-ink);font-size:23px;font-weight:950;text-align:right}.s323-performance-card>b small{display:block;color:var(--pub-muted);font-size:8px;font-weight:850;white-space:nowrap}
.s323-top-scorer{margin-top:14px}
.s323-stats-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.s323-leaderboard-card{margin:0}
.s323-mini-ranking{list-style:none;margin:0;padding:0}
.s323-mini-ranking li{display:grid;grid-template-columns:27px 34px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:53px;padding:7px 3px;border-bottom:1px solid #edf1f5}
.s323-mini-ranking li:last-child{border-bottom:0}.s323-mini-ranking li>b{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:#eef3f9;color:#61738b;font-size:10px}
.s323-mini-ranking .pe-mark--ranking{width:32px;height:32px;border-radius:9px}
.s323-mini-ranking li>div{min-width:0;display:flex;flex-direction:column}.s323-mini-ranking li>div a,.s323-mini-ranking li>div strong{overflow:hidden;color:var(--pub-ink);font-size:12px;font-weight:900;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.s323-mini-ranking li>div span{overflow:hidden;color:var(--pub-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.s323-mini-ranking li>em{min-width:34px;color:var(--pub-ink);font-size:13px;font-style:normal;font-weight:950;text-align:right}
.s323-mini-ranking--discipline li{grid-template-columns:27px 34px minmax(0,1fr) auto}
.s323-card-stack{width:32px;height:28px;display:block !important;position:relative}.s323-card-stack i{position:absolute;top:4px;width:11px;height:19px;border-radius:2px;box-shadow:0 2px 5px rgba(7,20,38,.08)}.s323-card-stack i:first-child{left:4px;background:#f0c316;transform:rotate(-8deg)}.s323-card-stack i:last-child{right:4px;background:#d84153;transform:rotate(8deg)}

@media(max-width:900px){
  .pe-match-hero.s323-match-hero{grid-template-columns:minmax(0,1fr) 126px minmax(0,1fr);gap:9px}
  .pe-match-hero.s323-match-hero .s322-team-lockup strong{max-width:150px;font-size:12px}
  .pe-match-hero.s323-match-hero .pe-mark--score{width:44px;height:44px;border-radius:13px}
  .pe-match-hero.s323-match-hero .pe-score-center{min-width:126px}
  .s323-performance-track{grid-template-columns:1fr;gap:8px}.s323-performance-link{width:2px;height:18px;justify-self:center;background:linear-gradient(#c9d7e7,#78a5d9,#c9d7e7)}.s323-performance-link::after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}
}

@media(max-width:760px){
  .pe-match-hero.s323-match-hero{grid-template-columns:minmax(0,1fr) 94px minmax(0,1fr);gap:5px;padding:13px 8px}
  .pe-match-hero.s323-match-hero .s322-team-lockup{gap:5px}.pe-match-hero.s323-match-hero .s322-team-lockup strong{max-width:100px;font-size:10px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .pe-match-hero.s323-match-hero .pe-mark--score{width:35px;height:35px;border-radius:10px}.pe-match-hero.s323-match-hero .pe-score-center{min-width:94px}
  .pe-match-row.s323-match-row{grid-template-columns:48px minmax(0,1fr);gap:7px}
  .pe-match-row.s323-match-row .pe-match-teams{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:4px;justify-content:stretch}
  .pe-match-row.s323-match-row .pe-match-team{gap:4px}.pe-match-row.s323-match-row .pe-mark--match-row{width:24px;height:24px}.pe-match-row.s323-match-row .pe-match-team span{max-width:none;font-size:10px}.pe-match-row.s323-match-row .pe-match-teams>b{min-width:44px;font-size:10px}
  .s323-stats-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.s323-stats-summary>div{min-height:74px;padding:11px 12px}.s323-stats-summary b{font-size:24px}
  .s323-stats-panels{grid-template-columns:1fr;gap:10px}
}

@media(max-width:430px){
  .pe-match-hero.s323-match-hero{grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)}
  .pe-match-hero.s323-match-hero .s322-team-lockup strong{max-width:74px;font-size:9px}.pe-match-hero.s323-match-hero .pe-mark--score{width:31px;height:31px}.pe-match-hero.s323-match-hero .pe-score-center{min-width:86px}
  .s323-match-state-tabs button{min-height:34px;padding:6px 9px;font-size:10px}
}

/* ---- end sprint323.css ---- */

/* ---- consolidated from sprint324.css ---- */
/* Areno Pulse S3.24 — competition closure / third-place branch */
.s324-third-place{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:22px;align-items:center;margin:0 18px 20px;padding:16px 18px 16px 72px;border:1px solid #e5e0d3;border-radius:18px;background:linear-gradient(135deg,#fffdf8,#faf7ef);box-shadow:0 8px 24px rgba(77,57,22,.05)}
.s324-third-place-branch{position:absolute;left:22px;top:-18px;bottom:50%;width:34px;border-left:2px solid #cbb889;border-bottom:2px solid #cbb889;border-radius:0 0 0 12px}.s324-third-place-branch::before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:#b88936;box-shadow:0 0 0 4px #fff8e8}.s324-third-place-branch span{position:absolute;right:-5px;bottom:-5px;width:8px;height:8px;border-radius:50%;background:#b88936}
.s324-third-place-copy>span{display:block;color:#9a6d1e;font-size:9px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.s324-third-place-copy h3{margin:3px 0 4px;color:#19283c;font-size:17px}.s324-third-place-copy p{margin:0;max-width:360px;color:#748195;font-size:11px;line-height:1.45}
.s324-third-place-match{display:block;overflow:hidden;border:1px solid #dccfae;border-radius:15px;background:#fff;color:#17283d;text-decoration:none;box-shadow:0 7px 18px rgba(80,61,24,.06)}.s324-third-team{display:grid;grid-template-columns:32px minmax(0,1fr) 31px;gap:8px;align-items:center;min-height:43px;padding:5px 8px;border-bottom:1px solid #f0eadb}.s324-third-team span{overflow:hidden;font-size:11.5px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.s324-third-team b{text-align:right;font-size:14px}.s324-third-team.is-winner{background:#fff6d9}.s324-third-team.is-winner b{color:#8b6517}.s324-third-place-match footer{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;color:#7c7a70;font-size:9px}.s324-third-place-match footer b{font-weight:850}
@media(max-width:720px){.s324-third-place{grid-template-columns:1fr;margin:0 10px 14px;padding:14px 12px 14px 48px;gap:10px}.s324-third-place-branch{left:16px;width:22px}.s324-third-place-copy p{font-size:10px}.s324-third-place-match{max-width:360px;width:100%}}

/* ---- end sprint324.css ---- */

/* ---- consolidated from sprint325.css ---- */
/* Areno Pulse — S3.25 Public Match Visual Polish
 * More expressive tournament match cards + broadcast-style match header.
 */

/* ── Tournament match cards: status has a visual voice without becoming noisy. ── */
.pt-match-card.s325-match-card{
  --s325-accent:#2b6ed1;
  --s325-accent-strong:#174f9f;
  --s325-soft:#f2f7ff;
  --s325-line:#d7e5f8;
  position:relative;
  isolation:isolate;
  border-color:var(--s325-line);
  background:linear-gradient(145deg,#fff 40%,var(--s325-soft) 100%);
  box-shadow:0 9px 26px rgba(31,70,118,.075);
}
.pt-match-card.s325-match-card::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--s325-accent),color-mix(in srgb,var(--s325-accent) 35%,#fff));
}
.pt-match-card.s325-match-card.is-live{
  --s325-accent:#df4057;
  --s325-accent-strong:#b82239;
  --s325-soft:#fff3f5;
  --s325-line:#f2c5cc;
  box-shadow:0 11px 30px rgba(194,36,59,.12);
}
.pt-match-card.s325-match-card.is-finished{
  --s325-accent:#159d7b;
  --s325-accent-strong:#08765b;
  --s325-soft:#f0faf7;
  --s325-line:#cbeadf;
}
.pt-match-card.s325-match-card.is-suspended,
.pt-match-card.s325-match-card.is-cancelled{
  --s325-accent:#d48a22;
  --s325-accent-strong:#9c5c07;
  --s325-soft:#fff8ec;
  --s325-line:#f1ddbb;
}
.pt-match-card.s325-match-card:hover{
  border-color:color-mix(in srgb,var(--s325-accent) 42%,#d9e3ef);
  box-shadow:0 16px 38px color-mix(in srgb,var(--s325-accent) 14%,transparent);
}
.pt-match-card.s325-match-card .pt-match-card-head{
  padding-top:14px;
  border-bottom:1px solid color-mix(in srgb,var(--s325-accent) 14%,#e8eef5);
  background:linear-gradient(90deg,color-mix(in srgb,var(--s325-soft) 88%,#fff),rgba(255,255,255,.72));
}
.pt-match-card.s325-match-card .pt-match-time-block time{color:var(--s325-accent-strong)}
.pt-match-card.s325-match-card .pt-match-time-block span{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:3px 8px;
  border:1px solid color-mix(in srgb,var(--s325-accent) 18%,#dfe7ef);
  border-radius:999px;
  background:color-mix(in srgb,var(--s325-soft) 88%,#fff);
  color:color-mix(in srgb,var(--s325-accent-strong) 70%,#65758a);
  font-size:11px;
  font-weight:850;
}
.pt-match-card.s325-match-card .pt-match-card-body{padding-top:13px;padding-bottom:16px}
.pt-match-card.s325-match-card .pt-card-team{
  min-height:47px;
  padding:5px 6px;
  border-radius:13px;
  transition:background-color .15s ease,color .15s ease;
}
.pt-match-card.s325-match-card .pt-card-team.is-winner{
  background:color-mix(in srgb,var(--s325-accent) 8%,#fff);
}
.pt-match-card.s325-match-card .pt-card-team.is-winner strong{color:var(--s325-accent-strong);font-weight:950}
.pt-match-card.s325-match-card .pt-card-team.is-winner .pt-card-team-logo{
  border-color:color-mix(in srgb,var(--s325-accent) 45%,#d9e4ef);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--s325-accent) 9%,transparent);
}
.pt-match-card.s325-match-card .pt-card-score{
  min-width:58px;
  padding:9px 6px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(145deg,#0b2039,#071426);
  box-shadow:0 7px 15px rgba(7,20,38,.13);
}
.pt-match-card.s325-match-card.is-live .pt-card-score{
  background:linear-gradient(145deg,#ef5268,#c92941);
  box-shadow:0 8px 18px rgba(200,39,61,.20);
}
.pt-match-card.s325-match-card .pt-card-score.is-pending{
  border-color:color-mix(in srgb,var(--s325-accent) 18%,#dde7f1);
  background:color-mix(in srgb,var(--s325-soft) 88%,#fff);
  color:var(--s325-accent-strong);
  box-shadow:none;
}
.pt-match-card.s325-match-card .pt-match-card-foot{
  border-top-color:color-mix(in srgb,var(--s325-accent) 12%,#e8eef5);
  background:rgba(255,255,255,.60);
}
.pt-match-card.s325-match-card .pt-match-card-foot>span:first-child,
.pt-match-card.s325-match-card .pt-match-division{
  min-height:25px;
  padding:3px 8px;
  border-radius:999px;
}
.pt-match-card.s325-match-card .pt-match-card-foot>span:first-child{background:#f1f5f9;color:#65758a}
.pt-match-card.s325-match-card .pt-match-division{
  border:1px solid color-mix(in srgb,var(--s325-accent) 16%,#dfe7ef);
  background:color-mix(in srgb,var(--s325-soft) 90%,#fff);
  color:var(--s325-accent-strong);
}

/* ── Match detail header: teams belong to the card edges; score owns the centre. ── */
.pe-match-hero.s325-match-hero{
  grid-template-columns:minmax(0,1fr) 154px minmax(0,1fr);
  justify-content:stretch;
  gap:22px;
  padding:22px 26px;
}
.pe-match-hero.s325-match-hero .pe-match-side{width:100%;min-width:0}
.pe-match-hero.s325-match-hero .pe-match-side--home{justify-content:flex-start;text-align:left}
.pe-match-hero.s325-match-hero .pe-match-side--away{justify-content:flex-end;text-align:right}
.pe-match-hero.s325-match-hero .s322-team-lockup{
  width:auto;
  max-width:min(100%,330px);
  gap:10px;
}
.pe-match-hero.s325-match-hero .s322-team-lockup--home{flex-direction:row!important}
.pe-match-hero.s325-match-hero .s322-team-lockup--away{flex-direction:row!important}
.pe-match-hero.s325-match-hero .s322-team-lockup--home strong{text-align:left}
.pe-match-hero.s325-match-hero .s322-team-lockup--away strong{text-align:right}
.pe-match-hero.s325-match-hero .s322-team-lockup strong{
  max-width:240px;
  font-size:14px;
  font-weight:900;
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.pe-match-hero.s325-match-hero .pe-mark--score{width:56px;height:56px;border-radius:16px}
.pe-match-hero.s325-match-hero .pe-score-center{min-width:154px}

@media(max-width:760px){
  .pt-match-card.s325-match-card .pt-match-card-head{padding-top:13px}
  .pt-match-card.s325-match-card .pt-card-team{padding-inline:3px}
  .pt-match-card.s325-match-card .pt-match-card-foot{gap:6px 8px}

  .pe-match-hero.s325-match-hero{
    grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
    gap:7px;
    padding:15px 12px;
  }
  .pe-match-hero.s325-match-hero .s322-team-lockup{gap:5px;max-width:100%}
  .pe-match-hero.s325-match-hero .s322-team-lockup strong{max-width:92px;font-size:10px;line-height:1.15}
  .pe-match-hero.s325-match-hero .pe-mark--score{width:38px;height:38px;border-radius:11px}
  .pe-match-hero.s325-match-hero .pe-score-center{min-width:92px}
}

@media(max-width:430px){
  .pt-match-card.s325-match-card{border-radius:20px}
  .pt-match-card.s325-match-card .pt-match-card-body{padding-top:11px;padding-bottom:14px}
  .pt-match-card.s325-match-card .pt-card-team{min-height:78px}
  .pt-match-card.s325-match-card .pt-card-team.is-winner{background:color-mix(in srgb,var(--s325-accent) 7%,#fff)}
  .pt-match-card.s325-match-card .pt-match-time-block span{max-width:145px}
  .pt-match-card.s325-match-card .pt-match-card-foot>span:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .pe-match-hero.s325-match-hero{
    grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);
    gap:4px;
    padding:14px 10px;
  }
  .pe-match-hero.s325-match-hero .s322-team-lockup strong{max-width:72px;font-size:9.5px}
  .pe-match-hero.s325-match-hero .pe-mark--score{width:34px;height:34px;border-radius:10px}
  .pe-match-hero.s325-match-hero .pe-score-center{min-width:84px}
}

@media(prefers-reduced-motion:reduce){
  .pt-match-card.s325-match-card,.pt-match-card.s325-match-card .pt-card-team{transition:none}
}

/* ---- end sprint325.css ---- */

/* ---- consolidated from sprint326.css ---- */
/* Areno Pulse — S3.26 Other Matches Mobile Polish
 * Related matches become compact match-cards with clear hierarchy on every viewport.
 */

.s326-related-matches{
  --s326-border:#dce6f1;
  --s326-ink:#0b1d33;
  --s326-muted:#738397;
  overflow:hidden;
}
.s326-related-matches>.pe-card-head{padding-bottom:14px}
.s326-related-matches .s326-match-row{
  --s326-accent:#3c74bf;
  --s326-soft:#f4f8fd;
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  grid-template-areas:"when teams trail";
  align-items:center;
  gap:14px;
  margin:0 14px 10px;
  padding:13px 14px;
  overflow:hidden;
  border:1px solid var(--s326-border);
  border-radius:16px;
  background:linear-gradient(145deg,#fff 42%,var(--s326-soft) 100%);
  box-shadow:0 7px 18px rgba(20,44,76,.045);
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.s326-related-matches .s326-match-row::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--s326-accent);
}
.s326-related-matches .s326-match-row:hover{
  border-color:color-mix(in srgb,var(--s326-accent) 38%,var(--s326-border));
  box-shadow:0 11px 26px color-mix(in srgb,var(--s326-accent) 10%,transparent);
  transform:translateY(-1px);
}
.s326-related-matches .s326-match-row.s326-status-live{
  --s326-accent:#d93d55;
  --s326-soft:#fff4f6;
}
.s326-related-matches .s326-match-row.s326-status-final{
  --s326-accent:#16896e;
  --s326-soft:#f2faf7;
}
.s326-related-matches .s326-match-row.s326-status-scheduled{
  --s326-accent:#3577c8;
  --s326-soft:#f2f7fd;
}
.s326-related-matches .s326-match-row.s326-status-warning,
.s326-related-matches .s326-match-row.s326-status-cancelled{
  --s326-accent:#c68124;
  --s326-soft:#fff9ef;
}
.s326-related-matches .s326-match-row:last-child{margin-bottom:14px;border-bottom:1px solid var(--s326-border)}
.s326-related-matches .s326-match-row.is-live{background:linear-gradient(145deg,#fff 34%,var(--s326-soft) 100%)}

.s326-related-matches .s326-match-row .pe-match-when{
  grid-area:when;
  min-width:0;
  gap:2px;
}
.s326-related-matches .s326-match-row .pe-match-when strong{
  color:var(--s326-ink);
  font-size:14px;
  font-weight:950;
  letter-spacing:-.02em;
}
.s326-related-matches .s326-match-row .pe-match-when span{font-size:11px;color:var(--s326-muted)}

.s326-related-matches .s326-match-row .pe-match-teams{
  grid-area:teams;
  display:grid;
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);
  align-items:center;
  justify-content:stretch;
  gap:9px;
  min-width:0;
}
.s326-related-matches .s326-match-row .pe-match-team{
  min-width:0;
  display:grid;
  align-items:center;
  gap:8px;
  font-weight:800;
}
.s326-related-matches .s326-match-row .pe-match-team--home{
  grid-template-columns:34px minmax(0,1fr);
  justify-content:stretch;
  text-align:left;
}
.s326-related-matches .s326-match-row .pe-match-team--away{
  grid-template-columns:minmax(0,1fr) 34px;
  justify-content:stretch;
  text-align:right;
}
.s326-related-matches .s326-match-row .pe-match-team span{
  max-width:none;
  min-width:0;
  overflow:hidden;
  color:#22344b;
  font-size:12px;
  font-weight:780;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.s326-related-matches .s326-match-row .pe-match-team--home span{text-align:left}
.s326-related-matches .s326-match-row .pe-match-team--away span{text-align:right}
.s326-related-matches .s326-match-row .pe-match-team.is-winner span{color:var(--s326-accent);font-weight:950}
.s326-related-matches .s326-match-row .pe-mark--match-row{
  display:grid!important;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(90,114,143,.12);
}
.s326-related-matches .s326-match-row .pe-match-team.is-winner .pe-mark--match-row{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--s326-accent) 24%,transparent);
}
.s326-related-matches .s326-match-row .pe-match-teams>b{
  min-width:58px;
  padding:8px 5px;
  border-radius:11px;
  background:linear-gradient(145deg,#0d213a,#071426);
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-align:center;
  box-shadow:0 5px 12px rgba(7,20,38,.12);
}
.s326-related-matches .s326-match-row.s326-status-scheduled .pe-match-teams>b{
  border:1px solid #d5e3f3;
  background:#f5f9fe;
  color:#244f7f;
  box-shadow:none;
}
.s326-related-matches .s326-match-row.s326-status-live .pe-match-teams>b{
  background:linear-gradient(145deg,#e75065,#bf273e);
}

.s326-related-matches .s326-match-row .pe-match-trail{
  grid-area:trail;
  display:flex;
  min-width:92px;
  align-items:flex-end;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.s326-related-matches .s326-match-row .pe-match-trail .pub-status{
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.04em;
}
.s326-related-matches .s326-match-row .pe-match-trail small{
  max-width:120px;
  color:var(--s326-muted);
  font-size:10px;
  line-height:1.15;
  text-align:right;
  white-space:normal;
}

@media(max-width:760px){
  .s326-related-matches{border-radius:24px}
  .s326-related-matches>.pe-card-head{padding:20px 20px 12px}
  .s326-related-matches .s326-match-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "when trail"
      "teams teams";
    gap:11px 12px;
    margin:0 12px 12px;
    padding:13px 13px 14px;
    border-radius:17px;
  }
  .s326-related-matches .s326-match-row::before{
    inset:0 0 auto;
    width:auto;
    height:3px;
  }
  .s326-related-matches .s326-match-row:last-child{margin-bottom:12px}
  .s326-related-matches .s326-match-row .pe-match-when{flex-direction:row;align-items:baseline;gap:6px}
  .s326-related-matches .s326-match-row .pe-match-when strong{font-size:14px}
  .s326-related-matches .s326-match-row .pe-match-when span{font-size:10px}
  .s326-related-matches .s326-match-row .pe-match-trail{
    min-width:0;
    align-items:flex-end;
    flex-direction:row;
    justify-content:flex-end;
    gap:7px;
    padding:0;
  }
  .s326-related-matches .s326-match-row .pe-match-trail small{max-width:94px;text-align:right}
  .s326-related-matches .s326-match-row .pe-match-teams{
    grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);
    gap:7px;
    padding-top:2px;
  }
  .s326-related-matches .s326-match-row .pe-match-team--home{grid-template-columns:32px minmax(0,1fr)}
  .s326-related-matches .s326-match-row .pe-match-team--away{grid-template-columns:minmax(0,1fr) 32px}
  .s326-related-matches .s326-match-row .pe-mark--match-row{width:32px;height:32px;border-radius:9px}
  .s326-related-matches .s326-match-row .pe-match-team span{
    display:-webkit-box;
    overflow:hidden;
    font-size:11px;
    line-height:1.15;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .s326-related-matches .s326-match-row .pe-match-teams>b{min-width:56px;padding:8px 4px;font-size:11px}
}

@media(max-width:430px){
  .s326-related-matches>.pe-card-head{padding-inline:18px}
  .s326-related-matches .s326-match-row{margin-inline:10px;padding-inline:11px}
  .s326-related-matches .s326-match-row .pe-match-teams{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:5px}
  .s326-related-matches .s326-match-row .pe-match-team{gap:5px}
  .s326-related-matches .s326-match-row .pe-match-team--home{grid-template-columns:30px minmax(0,1fr)}
  .s326-related-matches .s326-match-row .pe-match-team--away{grid-template-columns:minmax(0,1fr) 30px}
  .s326-related-matches .s326-match-row .pe-mark--match-row{width:30px;height:30px}
  .s326-related-matches .s326-match-row .pe-match-team span{font-size:10.5px}
  .s326-related-matches .s326-match-row .pe-match-trail .pub-status{padding-inline:8px;font-size:9px}
  .s326-related-matches .s326-match-row .pe-match-trail small{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .s326-related-matches .s326-match-row{transition:none}
}

/* ---- end sprint326.css ---- */

/* ---- consolidated from sprint327.css ---- */
/* Areno Pulse — S3.27 Homepage Volume & Search Fix */
.public-site--home [hidden],
.public-site--home .ph-tournament-card[hidden],
.public-site--home .ph-tournament-section[hidden],
.public-site--home .ph-section-more[hidden],
.public-site--home .ph-discovery-empty[hidden],
.public-site--home .ph-clear-filters[hidden] {
    display: none !important;
}

/* Six cards remain the default discovery window per section. */
.public-site--home .ph-tournament-grid {
    align-items: stretch;
}

/* ---- end sprint327.css ---- */

/* S3.30 — server-side discovery feedback / incremental paging */
.public-site--home .ph-discovery-feedback{min-height:18px;margin:-18px 0 16px;color:var(--pub-muted);font-size:11px;font-weight:700;text-align:right}
.public-site--home .ph-discovery-feedback:empty{display:none}
.public-site--home .ph-discovery[aria-busy="true"] .ph-filterbar{box-shadow:0 12px 36px rgba(7,20,38,.1)}
.public-site--home .ph-section-more:disabled{cursor:wait;opacity:.58}
@media(max-width:720px){.public-site--home .ph-discovery-feedback{margin:-12px 0 12px;text-align:left}}
