:root{color-scheme:dark;--bg: #0b1020;--ink: #eef2ff;--muted: #94a3b8;--card: #141c30;--card-2: #1a243c;--line: rgba(148, 163, 184, .14);--line-strong: rgba(91, 124, 255, .32);--primary: #5b7cff;--primary-dark: #3d5fd9;--green: #34d399;--green-dark: #059669;--gold: #fbbf24;--danger: #f87171;--shadow: 0 16px 48px rgba(0, 0, 0, .38);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .22);--ring: 0 0 0 2px rgba(91, 124, 255, .42);--sidebar-w: 220px;--status-h: 40px}*{box-sizing:border-box}html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden}body{font-family:Outfit,Segoe UI,sans-serif;font-size:13px;color:var(--ink);background:radial-gradient(ellipse 70% 45% at 10% -5%,rgba(91,124,255,.18),transparent 55%),radial-gradient(ellipse 50% 35% at 100% 0%,rgba(99,102,241,.12),transparent 50%),var(--bg);min-height:100vh;scrollbar-color:#334155 transparent}.app{min-height:100vh;min-width:0}::selection{background:#5b7cff59;color:#fff}:focus-visible{outline:none;box-shadow:var(--ring)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);height:100vh;display:flex;flex-direction:column;gap:14px;padding:16px 12px;background:#0c1220eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-right:1px solid var(--line);color:var(--ink);z-index:30;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em;box-shadow:0 8px 20px #5b7cff59}.sidebar-brand strong{display:block;font-size:1rem;line-height:1.2}.sidebar .eyebrow{color:var(--primary)}.side-nav{display:grid;gap:6px}.nav-item{width:100%;display:flex;align-items:center;gap:12px;text-align:left;min-height:42px;border-radius:12px;padding:0 12px;background:transparent;color:#b8c5d9;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.nav-index{width:28px;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.08em;opacity:.85}.nav-item:hover{background:#5b7cff14;color:#fff}.nav-item.is-active{background:linear-gradient(90deg,#5b7cff38,#5b7cff14);color:#fff;box-shadow:inset 0 0 0 1px #5b7cff59}.sidebar-user{margin-top:auto;display:grid;gap:8px}.sidebar .danger{width:100%;margin-top:auto}.user-chip{margin:0;padding:10px 12px;border-radius:12px;background:#5b7cff14;border:1px solid var(--line);font-size:.85rem;font-weight:600}.topbar-user{display:none;align-items:center;gap:10px}.bottom-nav,.nav-backdrop{display:none}.page{margin-left:var(--sidebar-w);width:auto;max-width:960px;padding:18px 20px calc(var(--status-h) + 24px);min-width:0}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;padding:16px 18px;border-radius:16px;background:linear-gradient(180deg,rgba(91,124,255,.08),transparent 70%),var(--card);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;color:var(--primary);font-weight:700;margin:0 0 4px}h1,h2,.need-box strong,.bracket-head h3{font-family:Outfit,Segoe UI,sans-serif}h1{font-size:1.2rem;line-height:1.25;margin:0 0 4px;font-weight:650}.lede{max-width:62ch;color:var(--muted);font-size:1.05rem;margin:0}.topbar h1{margin:0}.status-bar{position:fixed;left:var(--sidebar-w);right:0;bottom:0;z-index:28;min-height:var(--status-h);display:flex;align-items:center;padding:6px 16px;background:#0b1020f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -8px 24px #0003}.status-bar .cloud-status{margin:0;width:100%;padding:6px 12px;border-radius:10px;font-size:.82rem;font-weight:600;border:1px solid transparent}.cloud-status{display:inline-block;margin:0;padding:8px 12px;border-radius:10px;background:#5b7cff1f;color:#c7d7ff;font-weight:600;font-size:.88rem;border:1px solid rgba(91,124,255,.2)}.cloud-status[data-kind=warn]{background:#f871711f;color:#fecaca;border-color:#f8717147}.cloud-status[data-kind=muted]{background:#94a3b814;color:var(--muted);border-color:var(--line)}.upload-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.upload-actions .hint{margin:0}.danger{height:40px;border-radius:12px;padding:0 14px;font-weight:700;background:#f071671f;color:#ffc2bc;border:1px solid rgba(240,113,103,.22)}.danger:hover{background:#f0716733}select{height:36px;border-radius:8px;border:1px solid var(--line-strong);padding:0 12px;font:inherit;background:#0f172a;color:var(--ink);max-width:280px}.game-select-wide{display:grid;gap:6px;font-weight:600;margin-bottom:14px}.game-select-wide select,#draw-history{max-width:none;width:min(100%,360px)}.panel{background:linear-gradient(180deg,rgba(91,124,255,.05),transparent 45%),var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-soft)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}h2{margin:0;font-size:1.05rem;font-weight:650}.ghost-link,.muted,.hint,footer,.result-meta{color:var(--muted)}.ghost-link{font-weight:600;color:var(--gold);text-decoration:none}.ghost-link:hover{text-decoration:underline}.ghost-link-sm{font-size:.72rem;font-weight:500;padding:2px 6px;border:1px solid var(--line);border-radius:6px}.dropzone{display:flex;gap:12px;align-items:center;border:1.5px dashed var(--line-strong);border-radius:12px;padding:12px;cursor:pointer;background:#ffffff08;transition:border-color .18s ease,background .18s ease,transform .18s ease}.dropzone:hover,.dropzone.dragover{border-color:var(--primary);background:#5b7cff14;transform:translateY(-1px)}.dropzone-mark{width:40px;height:40px;border-radius:10px;font-size:.75rem;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:#fff;font-weight:700;flex:none}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#e0b45c1f;color:var(--gold);padding:.1em .35em;border-radius:6px}.participant-editor,.person-cards{display:grid;gap:10px;margin:14px 0}.participant-editor{padding:14px;border:1px dashed var(--line-strong);border-radius:18px}.participant-editor.hidden,.person-cards.hidden{display:none}.participant-editor label{display:grid;gap:6px;font-weight:600}.person-card{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--card-2);min-width:0}.person-card strong,.game-card-name,.team-card strong,.user-card strong{overflow-wrap:anywhere}.person-card.is-excluded,tr.is-excluded{opacity:.62}.person-cards{display:none}body:not(.can-edit-peserta) [data-person-action]{display:none!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.stat{background:var(--card-2);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-soft);border-top:2px solid rgba(91,124,255,.45)}.stat span{display:block;color:var(--muted);font-size:.82rem}.stat strong{font-size:1.1rem}.table-wrap{overflow:auto;max-height:320px;border:1px solid var(--line);border-radius:14px}.directory-table-wrap{max-height:min(70vh,640px)}.directory-table th{background:#1a243c;color:var(--primary)}.empty-cell{text-align:center;color:var(--muted);padding:24px 12px!important}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}th{position:sticky;top:0;background:#1a2421;color:var(--gold)}tbody tr:hover{background:#ffffff08}.draw-compact{display:grid;gap:10px}.draw-actions{display:flex;flex-wrap:wrap;gap:8px}.result-toolbar{margin-bottom:12px}.team-editor-panel{margin-bottom:14px;padding:14px;border:1px dashed var(--line-strong);border-radius:14px;background:#5b7cff0a}.team-editor-panel .panel-head h3{margin:0;font-size:.95rem}.team-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.team-edit-card{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card-2)}.team-edit-card h3{margin:0 0 10px;font-size:.9rem}.team-edit-slots{display:grid;gap:8px}.team-edit-slots label{display:grid;gap:4px;font-size:.78rem;font-weight:600}.team-edit-slots select{width:100%;max-width:none}.param-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.param-item{display:grid;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card-2)}.param-item span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.param-item strong{font-size:.88rem}.param-item.is-warn strong,.hint.is-warn{color:var(--danger)}.tourney-board{display:grid;gap:12px}.tourney-champion{display:inline-grid;gap:2px;padding:8px 14px;border-radius:8px;border:1px solid rgba(212,168,75,.35);background:#d4a84b1a;color:var(--gold)}.tourney-champion span{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.tourney-flow{display:grid;gap:10px}.tourney-round{display:grid;gap:8px}.tourney-round-title{margin:0;font-size:.82rem;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase}.tourney-sessions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.tourney-connector{text-align:center;color:var(--muted);font-size:1rem;line-height:1}.session-card{border:1px solid var(--line);border-radius:10px;background:var(--card-2);overflow:hidden}.session-card.is-done{border-color:#2fb67c59}.session-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:#ffffff08;border-bottom:1px solid var(--line)}.session-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.session-badge{font-size:.68rem;font-weight:700;color:var(--green)}.session-body{display:grid;gap:8px;padding:10px}.session-body.is-compact{grid-template-columns:1fr auto 1fr;align-items:center}.session-vs{text-align:center;font-size:.68rem;font-weight:800;color:var(--gold);letter-spacing:.08em}.session-team{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#101614}.session-team.is-winner{border-color:var(--green);box-shadow:inset 0 0 0 1px #2fb67c40}.session-team header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;background:#2fb67c1a;font-size:.82rem}.team-roster{margin:0;padding:6px 8px 8px 22px;font-size:.78rem}.team-roster li{margin:4px 0}.team-roster small{display:block;color:var(--muted);font-size:.7rem}.session-slot,.team-pick{width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#101614;color:var(--ink);font:inherit;font-size:.82rem;font-weight:600}button.team-pick,button.session-slot{cursor:pointer}button.team-pick:hover{border-color:var(--green)}.session-slot.is-winner,.team-pick.is-winner{background:#2fb67c2e;border-color:var(--green);color:#d8f3e6}.session-slot.is-pending{color:var(--muted);font-style:italic;font-weight:500}.session-bye{grid-column:1 / -1;margin:0;padding:6px 8px;font-size:.78rem;color:var(--gold);background:#d4a84b14;border-radius:8px}.draw-game-bar{display:grid;gap:10px}.draw-info{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card-2)}.draw-info-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.draw-info-head h3{margin:0 0 4px;font-size:1rem}.draw-info-desc{margin:0;font-size:.82rem;color:var(--muted);line-height:1.45}.draw-info-status{flex-shrink:0;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:999px;background:#ffffff0f;color:var(--muted)}.draw-info-status.is-done{color:var(--green);background:#2fb67c1f}.draw-info-status.is-warn{color:var(--danger);background:#e86a621f}.draw-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0}.draw-info-grid div{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff05}.draw-info-grid dt{margin:0 0 4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.draw-info-grid dd{margin:0;font-size:.84rem;font-weight:600;line-height:1.4}.draw-info-grid dd.is-warn{color:var(--danger)}.chart-panel{display:grid;gap:12px}.chart-row{display:grid;gap:8px}.chart-label{display:flex;align-items:center;gap:8px;min-width:0}.chart-label strong{display:block;font-size:.86rem}.chart-label small{display:block;font-size:.72rem;color:var(--muted)}.chart-rank{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#ffffff0f;font-size:.72rem;font-weight:700;flex-shrink:0}.chart-track{height:24px;border-radius:999px;background:#ffffff0d;overflow:hidden;border:1px solid var(--line)}.chart-track-dual{display:grid;gap:4px;height:auto;background:transparent;border:0;overflow:visible}.chart-bar{height:100%;min-width:0;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;border-radius:999px;font-size:.72rem;font-weight:700;transition:width .25s ease}.chart-track-dual .chart-bar{height:18px}.chart-bar.is-progress{background:linear-gradient(90deg,#2fb67c59,#2fb67cd9)}.chart-bar.is-progress.is-berjalan{background:linear-gradient(90deg,#d4a84b59,#d4a84bd9)}.chart-bar.is-progress.is-belum{background:linear-gradient(90deg,#ffffff14,#ffffff29)}.chart-bar.is-games{background:linear-gradient(90deg,#58a6ff59,#58a6ffd9)}.chart-bar.is-wins{background:linear-gradient(90deg,#d4a84b59,#d4a84bf2)}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:.76rem;color:var(--muted)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.legend-dot.is-games{background:#58a6ffe6}.legend-dot.is-wins{background:#d4a84bf2}.panel-tools{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.sort-label{display:grid;gap:4px;font-size:.78rem;font-weight:600}.sort-label select{min-width:120px;height:32px;font-size:.82rem}.dashboard-list,.dashboard-top{display:grid;gap:10px}.dash-game{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card-2)}.dash-game-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.dash-status{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:999px;background:#ffffff0f;color:var(--muted)}.dash-status.is-selesai{color:var(--green);background:#2fb67c1f}.dash-status.is-berjalan{color:var(--gold);background:#d4a84b1f}.dash-progress{height:6px;border-radius:999px;background:#ffffff0f;overflow:hidden;margin-bottom:6px}.dash-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green))}.dash-meta{margin:0;font-size:.78rem;color:var(--muted)}.dash-person{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card-2)}.dash-rank{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#d4a84b26;color:var(--gold);font-size:.75rem;font-weight:700}.dash-person small{display:block;color:var(--muted);font-size:.72rem}.dash-count{font-size:.78rem;font-weight:700;color:var(--green)}.game-fieldset{border:0;margin:0 0 18px;padding:0}.game-fieldset legend{font-size:.95rem;font-weight:700;padding:0;margin-bottom:6px}.hint{margin:0 0 12px}#draw-replace-hint{padding:10px 12px;border-radius:12px;background:#e0b45c1a;border:1px solid rgba(224,180,92,.24);color:var(--gold)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.game-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.game-card{position:relative;display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card-2);font-weight:500;transition:border-color .18s ease,transform .18s ease}.game-card label{display:grid;gap:4px;cursor:pointer;font-weight:500}.game-card input{position:absolute;opacity:0;pointer-events:none}.game-card:hover,.game-card:focus-within{border-color:var(--green);transform:translateY(-2px)}.game-card.is-selected{border-color:var(--green);background:#3dba8a1a;box-shadow:inset 0 0 0 1px var(--green)}.game-card-body{display:grid;gap:4px}.game-card-name{font-weight:700}.game-card-size{color:var(--green);font-size:.82rem;font-weight:700}.game-card-desc{color:var(--muted);font-size:.8rem;font-weight:400;line-height:1.35}.game-card-actions{display:flex;flex-wrap:wrap;gap:10px}.text-btn{height:auto;padding:0;background:none;color:var(--gold);font-size:.82rem;font-weight:700}.text-btn:hover{text-decoration:underline}.danger-text{color:var(--danger)}.pic-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff05}.pic-picker-title{grid-column:1 / -1;margin:0;font-size:.8rem;font-weight:700}.pic-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:0 0 12px}.pic-box.hidden{display:none}.pic-item{display:grid;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card-2)}.pic-item span{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pic-item strong{font-size:.88rem;font-weight:650}.game-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding:12px;border:1px dashed var(--line-strong);border-radius:12px;background:#ffffff08}.game-editor.hidden{display:none}.game-editor label{display:grid;gap:6px;font-weight:600}.game-editor-wide,.game-editor-actions,.game-editor .error{grid-column:1 / -1}.game-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.config-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;align-items:end}.check-row{display:flex;align-items:center;gap:10px;margin:14px 0;font-weight:600}.gender-fieldset{border:0;margin:0 0 16px;padding:0}.gender-fieldset legend{font-size:.95rem;font-weight:700;margin-bottom:8px}.gender-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gender-mode{position:relative;display:grid;gap:2px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--card-2);cursor:pointer;transition:border-color .18s ease,background .18s ease}.gender-mode input{position:absolute;opacity:0;pointer-events:none}.gender-mode:hover{border-color:var(--line-strong)}.gender-mode.is-selected{border-color:var(--green);background:#3dba8a1f;box-shadow:inset 0 0 0 1px var(--green)}.gender-mode span{font-weight:700}.gender-mode small{color:var(--muted);font-weight:500}.check-row input{width:18px;height:18px;accent-color:var(--green)}#config-form .primary{width:100%;margin-top:8px}.config-grid label{display:grid;gap:6px;font-weight:600}input[type=number],input[type=text],textarea{border-radius:12px;border:1px solid var(--line-strong);padding:0 12px;font:inherit;background:#0f172a;color:var(--ink)}input[type=number],input[type=text]{height:36px}textarea{padding:10px 12px;resize:vertical;min-height:84px}.empty-games{margin:0;padding:22px 18px;border:1.5px dashed var(--line-strong);border-radius:18px;background:#ffffff08;text-align:center}.need-box{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:46px;display:flex;align-items:center}.need-box.is-short{color:var(--danger);border-color:#f0716766;background:#f0716714}button{font:inherit;border:0;cursor:pointer}.primary,.secondary{height:36px;border-radius:8px;padding:0 12px;font-size:.88rem;font-weight:700;transition:transform .16s ease,background .16s ease,filter .16s ease}.primary{background:linear-gradient(145deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 8px 20px #5b7cff47}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.secondary{background:#ffffff0f;color:var(--ink);border:1px solid var(--line)}.secondary:hover{background:#ffffff1a}.actions{display:flex;flex-wrap:wrap;gap:8px}.error{color:var(--danger);font-weight:600}.hidden{display:none!important}.result-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.meta-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#3dba8a1f;border:1px solid rgba(61,186,138,.22);color:#d8f3e6;font-size:.82rem;font-weight:600}.muted-chip{background:#ffffff0d;border-color:var(--line);color:var(--muted)}.section-title{margin:8px 0 12px;font-size:.95rem}.teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.team-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card-2);transition:transform .18s ease,border-color .18s ease}.team-card:hover{transform:translateY(-2px);border-color:var(--line-strong)}.team-card header{background:linear-gradient(160deg,var(--green-dark),#123c2e);color:#fff;padding:10px 12px;display:flex;justify-content:space-between}.team-card ol{margin:0;padding:8px 12px 12px 32px}.team-card li{margin:8px 0}.member-meta{display:block;color:var(--muted);font-size:.8rem}.leftover{margin-top:16px;padding:14px;border-radius:14px;background:#e0b45c14;border:1px solid rgba(224,180,92,.2)}.leftover h3{margin:0 0 8px}.bracket{margin-top:28px;padding:18px;border-radius:22px;border:1px solid var(--line);background:radial-gradient(circle at 100% 0%,rgba(224,180,92,.12),transparent 36%),linear-gradient(180deg,rgba(61,186,138,.06),transparent 42%),var(--card-2)}.bracket-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:16px}.bracket-head h3{margin:0;font-size:1.05rem}.bracket-head p{margin:4px 0 0;color:var(--muted);font-size:.92rem}.bracket-champion{display:grid;gap:2px;min-width:140px;padding:10px 16px;border-radius:16px;background:linear-gradient(160deg,#e0b45c47,#e0b45c14);color:var(--gold);border:1px solid rgba(224,180,92,.4);text-align:center}.bracket-champion span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.bracket-champion strong{font-size:1rem}.bracket-board{overflow-x:auto;padding-bottom:6px}.bracket-rounds{display:flex;align-items:stretch;gap:0;min-width:min(100%,720px)}.bracket-round{display:flex;flex-direction:column;gap:12px;flex:1;min-width:220px;padding:4px 18px 4px 4px;position:relative}.bracket-round:not(:last-child):after{content:"";position:absolute;top:42px;right:0;bottom:18px;width:14px;border-right:2px solid rgba(224,180,92,.22)}.bracket-round h4{margin:0;padding:8px 12px;border-radius:999px;background:#e0b45c1f;color:var(--gold);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;text-align:center}.bracket-round-matches{display:flex;flex-direction:column;justify-content:space-evenly;gap:12px;flex:1}.bracket-match{display:grid;gap:8px;padding:12px;border-radius:16px;background:#101816;border:1px solid var(--line);box-shadow:0 10px 24px #0000002e}.bracket-match.has-winner{border-color:#3dba8a66}.bracket-session{margin:0;font-size:.72rem;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.bracket-teams{display:grid;gap:6px}.bracket-vs{display:grid;place-items:center;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.16em}.bracket-slot{width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#ffffff0a;color:var(--ink);font:inherit;font-weight:700}button.bracket-slot{cursor:pointer}button.bracket-slot:hover{border-color:var(--green);background:#3dba8a1f}.bracket-slot.is-winner{background:linear-gradient(160deg,var(--green),var(--green-dark));border-color:var(--green);color:#fff;box-shadow:0 0 0 1px #3dba8a66}.bracket-slot.is-pending{color:var(--muted);font-weight:500;font-style:italic}.bracket-bye{margin:0;padding:8px 10px;border-radius:12px;font-size:.85rem;color:var(--gold);background:#e0b45c14}.gender{display:inline-block;font-size:.75rem;padding:2px 7px;border-radius:999px;background:#ffffff14}.gender.pria{background:#3dba8a29;color:#b6ebcf}.gender.wanita{background:#f0716729;color:#ffc2bc}footer{text-align:center;font-size:.92rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-screen.hidden{display:none}.auth-card{width:min(420px,100%);display:grid;gap:12px;padding:24px;border-radius:24px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card h1{font-size:1.25rem;margin:0}.auth-card label,.user-editor label{display:grid;gap:6px;font-weight:600}.user-list{display:grid;gap:10px;margin:14px 0}.user-card{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--card-2)}.user-meta{display:block;color:var(--muted);font-size:.82rem;font-weight:500}.user-editor{display:grid;gap:12px;margin-top:8px;padding:16px;border:1px dashed var(--line-strong);border-radius:18px}.user-editor.hidden{display:none}.rights-fieldset{border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:8px}.right-option{display:flex;gap:10px;align-items:flex-start;font-weight:500}.right-option small{display:block;color:var(--muted);font-weight:400}@media(max-width:860px){html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.sidebar,.nav-backdrop,footer{display:none!important}.page{margin-left:0;max-width:none;width:100%;padding:12px 12px calc(88px + var(--status-h) + env(safe-area-inset-bottom))}.status-bar{left:0;bottom:calc(68px + env(safe-area-inset-bottom))}h1{font-size:1.1rem;line-height:1.2;overflow-wrap:anywhere}.param-grid,.tourney-sessions,.session-body.is-compact{grid-template-columns:1fr}.session-vs{padding:2px 0}.topbar-user{display:flex}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:space-around;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#0b1020f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.bottom-nav-item{flex:1;min-height:52px;display:grid;place-items:center;gap:2px;padding:6px 4px;border-radius:14px;background:transparent;color:#94a3b8;font-size:.68rem;font-weight:700}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.is-active{color:var(--primary);background:#5b7cff24}.user-chip{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;padding:6px 8px}.panel{padding:14px;border-radius:16px}.dropzone{flex-direction:column;text-align:center;padding:14px}.stats{grid-template-columns:1fr 1fr}.config-grid,.game-editor,.gender-modes,.teams{grid-template-columns:1fr}.primary,.secondary,select,.game-select-wide select,#draw-history,input[type=text],input[type=number],input[type=password],textarea{width:100%;max-width:none;font-size:16px}.panel-head,.actions,.user-card,.person-card{flex-direction:column;align-items:stretch}.person-cards{display:grid}#participant-table-wrap{display:none}.directory-table-wrap{display:block;max-height:none}.directory-table-wrap th,.directory-table-wrap td{padding:8px 10px;font-size:.82rem}.table-wrap{font-size:.85rem}.bracket-board{margin:0 -6px}.bracket-rounds{min-width:0}.bracket-round{min-width:168px;padding-right:12px}.bottom-nav-item{min-width:0;font-size:.62rem;padding:4px 2px}.bottom-nav-item svg{width:20px;height:20px}.auth-card{padding:18px 16px}.auth-card h1{font-size:1.15rem}}@media(max-width:400px){h1{font-size:1.05rem}.bottom-nav-item span{font-size:.58rem}.page{padding-inline:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;transform:none!important}}@media print{:root{color-scheme:light}body{background:#fff;color:#1c1914}.sidebar,.topbar,.nav-backdrop,.bottom-nav,.auth-screen,#view-peserta,#view-permainan,#view-pengguna,#draw-panel,.actions,.cloud-status,.status-bar,footer{display:none!important}#view-pembagian{display:block!important}.page,.panel{width:100%;box-shadow:none;border:0;padding:0;background:#fff}.bracket,.bracket-round,.bracket-match,.bracket-slot{background:#fff;color:#1c1914;border-color:#d9cbb3}.bracket-rounds{display:block}.bracket-round:after{display:none}.teams{grid-template-columns:repeat(2,1fr)}button.bracket-slot{cursor:default}}
