/* Invitation Match — tema kompetisi. Powered by Taekwondo Visi Muda Club */
@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(barlow-400.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(barlow-500.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:600;font-display:swap;src:url(barlow-600.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:700;font-display:swap;src:url(barlow-700.woff2) format("woff2")}
@font-face{font-family:Saira;font-weight:600;font-display:swap;src:url(saira-600.woff2) format("woff2")}
@font-face{font-family:Saira;font-weight:800;font-display:swap;src:url(saira-800.woff2) format("woff2")}
:root{
  --bg:#07090d;--s1:#0f131b;--s2:#151a25;--s3:#1c2230;--line:#252c3b;--line2:#323b4e;
  --ink:#f2f4f8;--muted:#8d96aa;--dim:#5f687c;
  --hong:#ff2e43;--hong-d:#c3172b;--chung:#2a73ff;--chung-d:#1a51c4;--gold:#ffc21a;--ok:#22c55e;--warn:#ffb020;
  --r:10px;--display:Saira,"Arial Narrow",sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Barlow,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
::selection{background:var(--hong);color:#fff}

/* ---------- brand ---------- */
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .mark{display:flex;gap:3px;transform:skewX(-18deg)}
.brand .mark i{display:block;width:9px;height:30px;border-radius:2px}
.brand .mark i:nth-child(1){background:var(--chung)}
.brand .mark i:nth-child(2){background:var(--hong)}
.brand b{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.brand b em{font-style:normal;color:var(--hong)}
.brand small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:600}
.powered{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.powered b{color:var(--ink)}

/* ---------- type ---------- */
.display{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:.95}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hong)}
h2,h3{font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin:0}
.muted{color:var(--muted)}.small{font-size:12.5px}
.num{font-variant-numeric:tabular-nums}

/* ---------- controls ---------- */
label.f{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 7px}
label.f .opt{text-transform:none;letter-spacing:0;font-weight:500;color:var(--dim)}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--s2);border:1px solid var(--line2);border-radius:8px;padding:12px 13px;min-height:48px;transition:border-color .15s,background .15s}
input::placeholder{color:var(--dim)}
input:hover,select:hover{border-color:#43506a}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--chung);background:#121a2a;box-shadow:0 0 0 3px rgba(42,115,255,.22)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.unit{position:relative}.unit input{padding-right:46px}
.unit span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:700;font-size:13px;pointer-events:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;border-radius:8px;border:1px solid var(--line2);background:var(--s2);color:var(--ink);padding:10px 16px;min-height:42px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,transform .1s}
.btn:hover{background:var(--s3);border-color:#44506a}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--chung);outline-offset:2px}
.btn.go{background:var(--hong);border-color:var(--hong);color:#fff}
.btn.go:hover{background:var(--hong-d);border-color:var(--hong-d)}
.btn.blue{background:var(--chung);border-color:var(--chung);color:#fff}
.btn.blue:hover{background:var(--chung-d)}
.btn.ghost{background:transparent}
.btn.sm{min-height:32px;padding:5px 11px;font-size:12px}
.btn.danger{color:#ff6b78}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:99px;background:var(--s3);color:var(--muted);white-space:nowrap}
.badge.ok{background:rgba(34,197,94,.13);color:#4ade80}
.badge.warn{background:rgba(255,176,32,.13);color:var(--warn)}
.badge.bad{background:rgba(255,46,67,.14);color:#ff6b78}
.badge.blue{background:rgba(42,115,255,.15);color:#7aa6ff}
.live{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.panel{background:var(--s1);border:1px solid var(--line);border-radius:var(--r)}
.slash{height:4px;background:linear-gradient(90deg,var(--chung) 0 50%,var(--hong) 50% 100%)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
