:root{color-scheme:light;--bg-top:rgba(251,191,36,0.18);--bg-bottom:rgba(20,184,166,0.16);--bg-base:#f6f3ea;--bg-base-strong:#e8eef4;--text:#0f172a;--text-soft:#334155;--muted:#64748b;--panel:rgba(255,252,246,0.82);--panel-strong:rgba(255,255,255,0.95);--surface:rgba(252,248,241,0.92);--surface-strong:#ffffff;--border:rgba(15,23,42,0.1);--border-strong:rgba(217,119,6,0.24);--accent:#d97706;--accent-strong:#92400e;--accent-soft:rgba(217,119,6,0.14);--danger:#dc2626;--danger-strong:#b91c1c;--danger-soft:rgba(220,38,38,0.12);--success:#059669;--success-soft:rgba(5,150,105,0.14);--shadow:0 26px 80px rgba(15,23,42,0.1)}:root[data-theme=dark]{color-scheme:dark;--bg-top:rgba(245,158,11,0.18);--bg-bottom:rgba(45,212,191,0.14);--bg-base:#0f1720;--bg-base-strong:#16202d;--text:#e2e8f0;--text-soft:#cbd5e1;--muted:#94a3b8;--panel:rgba(16,24,34,0.78);--panel-strong:rgba(16,24,34,0.94);--surface:rgba(24,34,47,0.78);--surface-strong:rgba(15,23,42,0.96);--border:rgba(148,163,184,0.18);--border-strong:rgba(251,191,36,0.3);--accent:#f59e0b;--accent-strong:#fcd34d;--accent-soft:rgba(245,158,11,0.14);--danger:#f87171;--danger-strong:#fca5a5;--danger-soft:rgba(248,113,113,0.16);--success:#34d399;--success-soft:rgba(52,211,153,0.16);--shadow:0 24px 60px rgba(2,6,23,0.45)}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,var(--bg-top),transparent 34%),radial-gradient(circle at top right,rgba(255,255,255,.4),transparent 22%),radial-gradient(circle at bottom right,var(--bg-bottom),transparent 30%),linear-gradient(180deg,var(--bg-base),var(--bg-base-strong) 72%);color:var(--text)}body{transition:background .25s ease,color .25s ease}.wake-lock-status{right:12px;border-radius:999px;border:1px solid rgba(5,150,105,.22);background:rgba(236,253,245,.95);color:#065f46}.server-status-indicator,.wake-lock-status{position:fixed;top:calc(12px + env(safe-area-inset-top, 0px));z-index:1000;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;box-shadow:0 10px 28px rgba(15,23,42,.12);font-size:.84rem;font-weight:800;letter-spacing:.01em}.server-status-indicator{left:12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.92);color:var(--text)}.server-status-indicator.is-online{border-color:rgba(5,150,105,.22);background:rgba(236,253,245,.95);color:#065f46}.server-status-indicator.is-offline{border-color:rgba(220,38,38,.24);background:rgba(254,242,242,.95);color:#991b1b}.server-status-indicator.is-checking{border-color:rgba(217,119,6,.24);background:rgba(255,247,237,.95);color:var(--accent-strong)}.server-status-indicator-dot{width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.9}.wake-lock-status-dot{width:10px;height:10px;border-radius:999px;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.18)}.wake-lock-hint{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--panel-strong) 92%,white);box-shadow:var(--shadow);color:var(--text);font-size:.92rem}.wake-lock-hint-close{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,white);color:var(--text);padding:8px 12px;font-weight:700}@media (min-width:901px){.wake-lock-hint,.wake-lock-status{display:none}}@media (max-width:560px){.server-status-indicator{top:calc(10px + env(safe-area-inset-top, 0px));left:10px;min-height:34px;padding:7px 10px;font-size:.76rem}}button,input,select{font:inherit}button{touch-action:manipulation}button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.page-shell{min-height:100dvh;padding:18px 16px 120px}.container{max-width:1180px;margin:0 auto}.container.narrow{max-width:560px}.hero{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.hero.simple{margin-bottom:18px}.hero h1{margin:0;font-size:clamp(2.2rem,4vw,3.5rem);line-height:.96;letter-spacing:-.03em}.hero p{margin:10px 0 0;color:var(--muted);font-size:1.02rem}.guest-hero-actions,.hero-actions{justify-content:flex-end}.theme-actions{justify-content:flex-start}.badge{background:color-mix(in srgb,var(--accent-soft) 88%,white);color:var(--accent-strong);border:1px solid var(--border-strong);padding:7px 12px;border-radius:999px;font-weight:800;font-size:.86rem;letter-spacing:.01em}.auth-brand-badge{display:block;width:100%;padding:12px 18px;font-size:clamp(1.2rem,2.6vw,1.6rem);text-align:left}.profile-avatar-button{width:48px;height:48px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface));color:var(--text);display:inline-flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.03em;cursor:pointer}.profile-avatar-button span{line-height:1}.profile-avatar-button.is-active{border-color:var(--border-strong);background:color-mix(in srgb,var(--accent-soft) 38%,white);color:var(--accent-strong)}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:1.1fr .9fr}.single-column{display:grid;grid-gap:16px;gap:16px}.play-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.play-layout,.play-main,.play-side{display:grid;grid-gap:16px;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-inner{padding:20px}.match-core{padding-bottom:12px}.match-core-header{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:14px}.match-core-chip{border-radius:18px;border:1px solid var(--border);background:var(--surface);padding:12px}.match-core-chip strong{display:block;font-size:1.2rem}.current-losers{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.current-losers-top{margin-top:0;margin-bottom:14px}.current-losers-list{display:grid;grid-gap:8px;gap:8px;margin-top:8px}.current-loser-chip{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:10px 12px}.current-loser-chip span{color:var(--muted);font-size:.9rem}.current-loser-chip strong{color:var(--danger-strong)}.invite-panel{display:grid;grid-gap:10px;gap:10px;margin-bottom:12px;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.invite-actions.compact{margin:0}.invite-qr-details{display:grid;grid-gap:10px;gap:10px}.invite-qr-details summary{cursor:pointer;font-weight:700}.invite-qr-card{display:grid;grid-gap:10px;gap:10px;justify-items:center;padding-top:8px}.invite-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:14px;gap:14px;margin-top:16px}.invite-qr-image{width:min(240px,72vw);height:auto;padding:10px;border-radius:18px;background:#fff;border:1px solid var(--border)}.invite-link-text{width:100%;word-break:break-all;text-align:center}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-title h2,.section-title h3{margin:0}.match-title{align-items:flex-start}.kicker{color:var(--muted);font-size:.92rem;margin-top:4px}.form-grid{display:grid;grid-gap:12px;gap:12px}.field label{display:block;font-size:.92rem;font-weight:700;margin-bottom:8px}.field input,.field select,select{width:100%;border-radius:16px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);padding:12px 14px;outline:none}.checkbox-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.checkbox-row input{margin-top:2px}.button-row{display:flex;gap:10px;flex-wrap:wrap}.auth-buttons,.player-actions,.player-count-row{align-items:stretch}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:18px;padding:12px 18px;touch-action:manipulation;font-weight:800;cursor:pointer;transition:.18s ease}a.app-simple-nav-item,a.btn{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 78%,white));color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--accent-soft) 85%,transparent)}:root[data-theme=dark] .btn-primary{color:#05211f}.btn-secondary{background:linear-gradient(180deg,var(--surface-strong),var(--surface));color:var(--text);border:1px solid var(--border)}.btn-danger{background:linear-gradient(135deg,var(--danger),color-mix(in srgb,var(--danger) 78%,white));color:#fff}:root[data-theme=dark] .btn-danger{color:#29080b}.btn-success{background:linear-gradient(135deg,var(--success),color-mix(in srgb,var(--success) 78%,white));color:#fff}:root[data-theme=dark] .btn-success{color:#07210d}.player-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.match-player-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.player-card{border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,var(--panel-strong),var(--surface));padding:14px}.player-card.active-maexle{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px rgba(15,118,110,.16)}.player-card.active-loser{border-color:rgba(220,38,38,.35);box-shadow:inset 0 0 0 1px rgba(220,38,38,.12)}.player-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.player-header.compact{margin-bottom:10px}.player-identity{min-width:0}.player-name{font-size:1.08rem;font-weight:800}.player-card-compact{padding:12px}.player-stats-inline{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;color:var(--text-soft);font-size:.9rem}.player-stats-inline strong{color:var(--text)}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.player-state-pills{margin-top:0;justify-content:flex-end}.pill{border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:700;background:rgba(15,23,42,.08);color:var(--text-soft)}:root[data-theme=dark] .pill{background:rgba(148,163,184,.12);color:var(--text-soft)}.pill.danger{background:var(--danger-soft);color:var(--danger-strong)}.pill.info{background:var(--accent-soft);color:var(--accent-strong)}.pill.success{background:var(--success-soft);color:var(--success)}.match-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:12px}.focus-chip,.summary-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px}.focus-chip strong,.summary-box strong{display:block;font-size:1.04rem;margin-top:4px}.match-focus-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.focus-chip-wide{grid-column:1/-1}.notice{background:color-mix(in srgb,var(--accent-soft) 85%,transparent);border:1px solid var(--border-strong);color:var(--accent-strong);border-radius:18px;padding:12px 14px;line-height:1.45}.compact-notice{font-size:.95rem}.player-tournaments-panel{background:linear-gradient(180deg,var(--panel-strong),var(--surface))}.player-tournaments-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.player-tournaments-head h2{margin:0;font-size:clamp(1.2rem,2.2vw,1.5rem)}.player-tournaments-count{min-width:120px;padding:14px 16px;border-radius:22px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white);text-align:center}.player-tournaments-count strong{display:block;font-size:2rem;line-height:1}.player-tournament-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px}.player-tournament-list{display:grid;grid-gap:10px;gap:10px}.player-tournament-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-strong)}.player-tournament-row-main{display:grid;grid-gap:6px;gap:6px}.player-tournament-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.player-tournament-row-main strong{font-size:.98rem}.player-tournament-card{display:grid;grid-gap:14px;gap:14px;padding:18px;border-radius:24px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.25);color:var(--text);text-align:left;text-decoration:none}:root[data-theme=dark] .player-tournament-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}button.player-tournament-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}a.player-tournament-card:hover,button.player-tournament-card:hover{transform:translateY(-1px);border-color:var(--border-strong)}.player-tournament-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.player-tournament-card-top strong{display:block;font-size:1.08rem}.player-tournament-meta{display:flex;flex-wrap:wrap;gap:8px}.player-tournament-meta.compact span{min-height:30px;padding:0 10px;font-size:.86rem}.player-tournament-meta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);font-size:.9rem}.player-tournament-actions{margin-top:auto}.player-tournament-actions.compact{margin-top:0}.player-tournament-actions .btn{min-width:150px;padding:10px 14px}.player-tournament-empty{display:grid;grid-gap:8px;gap:8px;padding:18px;border-radius:22px;border:1px dashed var(--border);background:color-mix(in srgb,var(--surface) 82%,transparent)}.error{background:var(--danger-soft);border:1px solid rgba(220,38,38,.18);color:var(--danger-strong);border-radius:18px;padding:12px 14px}.successbox{background:var(--success-soft);border:1px solid rgba(22,163,74,.18);color:var(--success);border-radius:18px;padding:12px 14px}.history-list{display:grid;grid-gap:12px;gap:12px}.compact-log .history-card{padding:12px 14px}.history-card{border:1px solid var(--border);border-radius:20px;background:var(--surface-strong);padding:14px}.history-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.history-toolbar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.9fr) repeat(2,minmax(140px,.6fr));grid-gap:12px;gap:12px;margin-bottom:14px}.history-date-field{display:grid;grid-gap:8px;gap:8px}.history-date-clear{width:100%}.history-summary-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.history-summary-actions{justify-content:flex-end}.history-match-card{display:grid;grid-gap:12px;gap:12px}.history-match-meta{display:grid;grid-gap:6px;gap:6px}.history-games{display:grid;grid-gap:12px;gap:12px}.history-game-block{border-top:1px solid var(--border);padding-top:12px}.history-game-toggle{justify-content:space-between;display:flex;align-items:center;width:100%}.history-round-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.history-round-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:12px}.history-round-loser{color:var(--danger-strong)}.small{color:var(--muted);font-size:.9rem}.small-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:2px;font-weight:700}.install-hint{margin-bottom:16px;padding:14px 14px 12px;border-radius:18px;background:var(--accent-soft);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.install-hint-title{font-weight:700;font-size:.98rem;color:var(--accent-strong);margin-bottom:6px}.install-hint-text{font-size:.94rem;line-height:1.45;color:var(--text-soft)}.install-hint-close{margin-top:10px;border:0;border-radius:12px;background:var(--accent);color:white;padding:10px 14px;font-weight:600}.sticky-match-bar{display:none}.sticky-match-bar-main{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px;border-radius:20px}.sticky-chip{border-radius:16px;border:1px solid var(--border);background:var(--surface);padding:10px 12px}.sticky-chip strong{font-size:1rem}.game-transition-banner{display:none}.game-transition-title{font-size:1.05rem;font-weight:800;color:var(--accent-strong);margin-bottom:6px}.game-transition-text{color:var(--text-soft);line-height:1.45}.sticky-action-bar{position:-webkit-sticky;position:sticky;bottom:10px;z-index:25;display:flex;flex-wrap:wrap;gap:10px;padding:10px;border-radius:22px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.action-primary{flex:1 1}.stand-list{display:grid;grid-gap:10px;gap:10px}.stand-row{justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface-strong);padding:12px 14px}.stand-rank-name,.stand-row{display:flex;align-items:center}.stand-rank-name{gap:10px;margin-bottom:4px}.stand-rank{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:.78rem}.stand-name,.stand-rank,.stand-score{font-weight:800}.stand-score{min-width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong)}.admin-console{display:grid;grid-template-columns:260px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.admin-sidebar{position:-webkit-sticky;position:sticky;top:12px;display:grid;grid-gap:14px;gap:14px;padding:16px;border-radius:18px;border:1px solid rgba(90,103,120,.26);background:linear-gradient(180deg,rgba(241,245,249,.98),rgba(226,232,240,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}:root[data-theme=dark] .admin-sidebar{background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(11,18,32,.98));border-color:rgba(148,163,184,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.admin-sidebar-head{padding-bottom:12px;border-bottom:1px solid var(--border)}.admin-console-title{font-size:1rem;font-weight:800;letter-spacing:.02em}.admin-console-subtitle{margin-top:4px;color:var(--muted);font-size:.88rem}.admin-tree{display:grid;grid-gap:6px;gap:6px}.admin-tree-item{display:block;padding:10px 12px;border-radius:10px;color:var(--text);text-decoration:none;border:1px solid transparent;background:rgba(255,255,255,.32)}.admin-tree-item:hover{border-color:var(--border-strong);background:rgba(255,255,255,.7)}:root[data-theme=dark] .admin-tree-item{background:rgba(148,163,184,.06)}:root[data-theme=dark] .admin-tree-item:hover{background:rgba(148,163,184,.12)}.admin-sidebar-info{display:grid;grid-gap:4px;gap:4px;padding-top:12px;border-top:1px solid var(--border)}.admin-info-label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.admin-info-value{font-weight:700;margin-bottom:8px}.admin-workspace{display:grid;grid-gap:16px;gap:16px}.admin-window{border:1px solid rgba(90,103,120,.26);border-radius:14px;background:rgba(250,252,255,.96);overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.08)}:root[data-theme=dark] .admin-window{background:rgba(15,23,42,.95);border-color:rgba(148,163,184,.16)}.admin-window-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,rgba(241,245,249,.95),rgba(226,232,240,.92))}:root[data-theme=dark] .admin-window-bar{background:linear-gradient(180deg,rgba(30,41,59,.95),rgba(15,23,42,.94))}.admin-window-title{font-weight:800}.admin-window-meta{color:var(--muted);font-size:.88rem}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px}.admin-summary-card{display:grid;grid-gap:6px;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.admin-summary-card span{color:var(--muted);font-size:.85rem}.admin-summary-card strong{font-size:1.6rem}.admin-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;padding:16px}.admin-policy-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.admin-policy-card strong{display:block;margin-bottom:8px}.admin-policy-card p{margin:0;color:var(--text-soft);line-height:1.45}.admin-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:12px;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.admin-toolbar-block{min-width:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.admin-toolbar-block.is-compact{align-content:start}.admin-toolbar-title{font-weight:800;margin-bottom:10px}.admin-toolbar-meta{color:var(--text-soft);margin-bottom:10px}.admin-toolbar-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start}.admin-toolbar-form input,.admin-toolbar-form select{min-width:0;width:100%}.admin-toolbar-form-branding{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-toolbar-form-branding .admin-toolbar-form-submit{grid-column:1/-1;justify-self:start}@media (max-width:900px){.admin-toolbar-form,.admin-toolbar-form-branding{grid-template-columns:minmax(0,1fr)}.admin-toolbar-form .btn,.admin-toolbar-form-branding .btn{width:100%;justify-self:stretch}}.admin-group-stack{display:grid;grid-gap:14px;gap:14px;padding:16px}.admin-group-card{border:1px solid var(--border);border-radius:12px;background:var(--surface-strong)}.admin-group-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 14px 10px}.admin-group-name{font-size:1rem;font-weight:800}.admin-edit-strip{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:0 14px 14px}.admin-group-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding:0 14px 14px}.admin-subpanel{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.admin-subpanel-title{padding:10px 12px;font-weight:800;border-bottom:1px solid var(--border);background:rgba(148,163,184,.08)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.admin-table tbody tr:hover,.admin-table th{background:rgba(148,163,184,.08)}.admin-table.is-compact td,.admin-table.is-compact th{padding:9px 10px}.admin-cell-primary{font-weight:700}.admin-cell-secondary{margin-top:4px;color:var(--muted);font-size:.88rem}.admin-action-row{display:flex;gap:8px;flex-wrap:wrap}.admin-mini-btn{padding:8px 10px;border-radius:10px;font-size:.86rem}.admin-select{min-width:130px;border-radius:10px}.admin-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:.84rem;font-weight:700;border:1px solid var(--border)}.admin-status.is-active{color:var(--success);background:var(--success-soft)}.admin-status.is-inactive{color:var(--danger-strong);background:var(--danger-soft)}.admin-empty-cell{padding:18px 12px!important;color:var(--muted);text-align:center}.admin-useragent-cell{min-width:260px;color:var(--text-soft);font-size:.88rem}.director-layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.director-main,.director-sidebar{display:grid;grid-gap:16px;gap:16px}.director-sidebar{position:-webkit-sticky;position:sticky;top:12px}.director-section{border:1px solid var(--border);border-radius:20px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px}.director-list{display:grid;grid-gap:10px;gap:10px}.director-list-item{display:grid;grid-gap:4px;gap:4px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.director-list-item.is-active{border-color:var(--border-strong);background:var(--accent-soft)}.director-list-item span{color:var(--muted);font-size:.88rem}.director-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.director-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.director-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.director-stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:16px;gap:16px}.director-table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-gap:14px;gap:14px}.director-table-grid-compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.director-table-card{display:grid;grid-gap:12px;gap:12px;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.director-table-grid-compact .director-table-card{gap:8px;padding:8px;border-radius:14px}.director-table-grid-compact .section-title{margin-bottom:6px}.director-table-grid-compact .section-title h3{font-size:1rem}.director-table-grid-compact .kicker{font-size:.78rem}.director-score-grid,.director-seat-list{display:grid;grid-gap:10px;gap:10px}.director-seat-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface-strong)}.director-score-row{display:grid;grid-gap:10px;gap:10px;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface-strong)}.director-score-row-compact{gap:6px;padding:8px;border-radius:12px}.director-score-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.director-score-row-compact .director-score-head strong{font-size:.92rem;line-height:1.15}.director-score-row-compact .director-score-head .small{font-size:.72rem}.director-score-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end}.director-score-row-compact .director-score-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.director-compact-field .small-label,.director-compact-field label{font-size:.7rem}.director-score-row-compact .field input{padding:8px 10px;min-height:0}.director-round-entry-table-wrap{overflow-x:auto}.director-round-entry-table{width:100%;border-collapse:collapse;font-size:.92rem}.director-round-entry-table td,.director-round-entry-table th{padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.director-round-entry-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.director-round-entry-table td input[type=number],.director-round-entry-table td input[type=text]{min-width:72px;padding:8px 10px}.director-round-sheet{display:grid;grid-gap:14px;gap:14px}.director-round-sheet-table{display:grid;grid-gap:12px;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.director-round-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.director-round-sheet-title{display:grid;grid-gap:4px;gap:4px}.director-round-sheet-title strong{font-size:1.05rem}.director-round-sheet-title span{color:var(--muted);font-size:.92rem}.director-round-sheet-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.director-round-sheet-actions .btn{min-height:40px;padding:9px 14px}.director-inline-field{display:grid;grid-gap:6px;gap:6px;min-width:240px}.director-inline-field span{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}.director-inline-field input{min-height:42px}.director-round-entry-sheet-wrap{overflow-x:auto}.director-round-entry-sheet{width:100%;min-width:760px;border-collapse:collapse;font-size:.95rem}.director-round-entry-sheet td,.director-round-entry-sheet th{padding:8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.director-round-entry-sheet th{font-size:.73rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.director-round-entry-sheet tbody tr:last-child td{border-bottom:none}.director-final-stage-card{margin-bottom:16px;padding:12px;border:1px solid rgba(25,38,69,.08);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,white)}.director-final-stage-card:last-child{margin-bottom:0}.director-final-stage-head{margin-bottom:10px}.director-final-round-card,.director-final-round-list{display:grid;grid-gap:12px;gap:12px}.director-final-round-card{padding:14px;border-radius:16px;border:1px solid rgba(25,38,69,.08);background:color-mix(in srgb,var(--surface) 90%,white)}.director-final-round-card.is-active{border-color:rgba(31,116,235,.28);box-shadow:0 0 0 1px rgba(31,116,235,.08)}.director-final-round-card.is-locked{background:color-mix(in srgb,var(--surface) 82%,white)}.director-final-round-card.is-waiting{opacity:.76}.director-final-round-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.director-final-round-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 10px;border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(25,38,69,.06)}.director-final-round-badge.is-aktiv{color:#0f4fa8;background:rgba(59,130,246,.14)}.director-final-round-badge.is-speicherbereit{color:#0f766e;background:rgba(16,185,129,.16)}.director-final-round-badge.is-gespeichert{color:#475569;background:rgba(148,163,184,.18)}.director-final-round-badge.is-wartet{color:#7c2d12;background:rgba(251,146,60,.16)}.director-final-round-subtitle{color:var(--text-soft);font-weight:600;margin-top:-2px}.director-final-player-list{display:grid;grid-gap:10px;gap:10px}.director-final-player-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid rgba(25,38,69,.08);background:color-mix(in srgb,var(--surface-strong) 88%,white)}.director-final-player-row.is-loser-selected{border-color:rgba(239,68,68,.32);background:rgba(254,242,242,.95)}.director-final-player-row.is-maexle-selected:not(.is-loser-selected){border-color:rgba(16,185,129,.28);background:rgba(240,253,250,.95)}.director-final-player-main{display:grid;grid-gap:4px;gap:4px}.director-final-player-meta{color:var(--text-soft);display:flex;flex-wrap:wrap;gap:6px}.director-final-stat-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:2px 9px;border-radius:999px;background:rgba(25,38,69,.06);font-weight:700}.director-final-player-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.director-final-player-actions .btn{min-width:112px}.director-final-round-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.director-final-round-status{color:var(--text-soft);padding-top:2px}.director-final-save-hint{max-width:220px;text-align:right}.director-final-maexle-pill{min-width:40px;min-height:40px;padding:8px 12px;justify-content:center;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,white)}.director-final-summary{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(25,38,69,.04)}.director-round-number-input{width:76px;min-width:0;padding:8px 10px;text-align:center}.director-flag-button{min-width:110px;min-height:34px;border-radius:12px;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font-weight:700;cursor:pointer;padding:0 10px;font-size:.78rem}.director-flag-button.is-active{border-color:color-mix(in srgb,var(--success) 50%,white);background:color-mix(in srgb,var(--success-soft) 90%,white);color:var(--success)}.director-location-list{display:grid;grid-gap:10px;gap:10px}.director-location-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-strong)}.director-location-actions{display:flex;align-items:center;gap:8px}.director-location-actions input{min-width:220px;min-height:40px}.director-popup-stack{position:fixed;top:18px;right:18px;z-index:50;display:grid;grid-gap:10px;gap:10px;max-width:460px}.director-popup{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.director-round-notice-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.director-round-notice{width:min(520px,calc(100vw - 32px))}.director-round-notice h2{margin:0 0 8px}.director-round-notice p{margin:0 0 16px;color:var(--text-soft)}.director-round-sheet .admin-mini-btn{min-width:88px;padding:7px 10px;border-radius:12px;font-size:.8rem}.director-compact-checkbox{grid-column:1/-1;padding:6px 8px;gap:6px;border-radius:12px}.director-compact-checkbox span{font-size:.76rem;line-height:1.2}.director-score-input{min-width:0}.director-shell{display:grid;grid-gap:16px;gap:16px}.director-layout-refined{grid-template-columns:280px minmax(0,1fr);gap:20px}.director-sidebar-panel{background:linear-gradient(180deg,var(--panel-strong),var(--surface))}.director-sidebar-head{margin-bottom:12px}.director-hero-panel{overflow:hidden}.director-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:18px;gap:18px;align-items:start}.director-hero-copy h2{margin:12px 0 6px;font-size:clamp(1.5rem,3vw,2.2rem)}.director-hero-copy p{margin:0;color:var(--text-soft);line-height:1.5}.director-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.director-hero-meta span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);font-size:.92rem}.director-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.director-summary-card{display:grid;grid-gap:6px;gap:6px;padding:16px;border-radius:20px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface))}.director-summary-card strong{font-size:1.8rem;line-height:1}.director-panel-head{margin-bottom:16px}.director-tabbar.refined{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.director-tab-btn{min-width:120px}.director-stack{display:grid;grid-gap:16px;gap:16px}.wizard-step-section,.wizard-step-shell{display:grid;grid-gap:14px;gap:14px}.wizard-step-section{padding:16px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface))}.wizard-step-section.compact{gap:12px}.wizard-step-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.wizard-step-head h3{margin:0}.wizard-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wizard-label-with-action{display:flex;align-items:center;justify-content:space-between;gap:12px}.wizard-inline-info-button{min-height:34px;padding:7px 12px;border-radius:999px}.wizard-info-card{display:grid;grid-gap:8px;gap:8px;margin-top:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--accent-soft) 78%,white)}.wizard-final-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.wizard-final-card{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 90%,white)}.wizard-final-card-head{align-items:center}.wizard-final-card-head,.wizard-final-metric{display:flex;justify-content:space-between;gap:12px}.wizard-final-metric{align-items:baseline;padding:10px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.wizard-final-metric strong{font-size:1.5rem;line-height:1}.director-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.director-split{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);grid-gap:16px;gap:16px}.director-highlight-list{display:grid;grid-gap:10px;gap:10px}.director-highlight-item{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.director-highlight-item span{color:var(--text-soft);line-height:1.45}.director-facts{display:grid;grid-gap:10px;gap:10px}.director-fact-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:9px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.director-fact-row span{color:var(--muted)}.director-table-wrap{overflow-x:auto}.director-table{width:100%;border-collapse:collapse}.director-table td,.director-table th{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.director-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:rgba(148,163,184,.08)}.director-round-toolbar{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);grid-gap:16px;gap:16px;align-items:start}.director-round-compact-notes{margin-top:12px}.director-round-compact-notes,.director-round-meta{display:grid;grid-gap:8px;gap:8px}.director-danger-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border-radius:18px;border:1px solid rgba(220,38,38,.2);background:color-mix(in srgb,var(--danger-soft) 72%,transparent)}.app-shell-flat{display:grid;grid-gap:18px;gap:18px}.app-home-hero{padding:12px 4px 0;border-radius:0;border:none;box-shadow:none}.app-home-hero,:root[data-theme=dark] .app-home-hero{background:transparent}.app-home-hero p{max-width:44ch}.app-home-hero.rebuilt,.app-top-actions{align-items:flex-start}.app-top-actions.compact{justify-content:flex-end}.app-top-actions .btn{min-width:0}.app-home-hero .badge{margin-bottom:10px}.app-home-hero h1{margin-bottom:0}.app-nav-strip{display:grid;grid-gap:8px;gap:8px}.app-simple-nav{display:flex;flex-wrap:wrap;gap:8px}.app-simple-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}.app-simple-nav-item.is-active{background:var(--accent-soft);border-color:var(--border-strong);color:var(--accent-strong)}.app-secondary-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.app-secondary-nav.compact{padding-top:0}.profile-panel{display:grid;grid-gap:16px;gap:16px}.profile-summary-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.app-content-stack{display:grid;grid-gap:16px;gap:16px}.calm-page .panel{border-radius:18px}.calm-summary-bar{background:transparent;border-radius:14px;padding:0;border:0}.calm-history-card{border-radius:16px;background:var(--surface)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.stat-tile{padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.stat-tile strong{display:block;margin-top:4px;font-size:1.35rem}.stats-panel-muted .panel-inner{padding-top:16px}.stats-group-card,.stats-list-card{border-radius:16px;background:var(--surface)}.stats-group-card{padding:16px;border:1px solid var(--border)}.admin-console-calm .admin-sidebar{border-radius:14px}.admin-console-calm .admin-sidebar,.calm-admin-bar{background:linear-gradient(180deg,var(--surface),var(--panel-strong))}.panel{overflow:hidden}.panel-inner>.section-title{margin-bottom:18px}.admin-group-card,.director-table-card,.focus-chip,.history-card,.player-card,.summary-box{box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}:root[data-theme=dark] .admin-group-card,:root[data-theme=dark] .director-table-card,:root[data-theme=dark] .focus-chip,:root[data-theme=dark] .history-card,:root[data-theme=dark] .player-card,:root[data-theme=dark] .summary-box{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.admin-group-card,.admin-policy-card,.admin-summary-card,.director-highlight-item,.director-summary-card,.history-card{border-radius:22px}.admin-window-title,.director-panel-head h2,.history-head strong,.section-title h2{letter-spacing:-.01em}.tournament-dashboard-page{height:100dvh;min-height:100dvh;max-height:100dvh;padding:12px;overflow:hidden}.tournament-dashboard-shell{max-width:none;width:100%;height:calc(100dvh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:14px;gap:14px}.tournament-dashboard-hero.compact .panel-inner{padding:18px 22px}.tournament-dashboard-hero.winner-mode{background:radial-gradient(circle at top left,rgba(251,191,36,.26),transparent 28%),radial-gradient(circle at top right,rgba(34,197,94,.18),transparent 26%),linear-gradient(180deg,var(--panel-strong),var(--surface))}.tournament-dashboard-hero h1{margin:6px 0 0;font-size:clamp(2.2rem,3.6vw,3.8rem);letter-spacing:-.03em}.tournament-dashboard-hero p{margin:6px 0 0;font-size:1rem;color:var(--text-soft)}.tournament-dashboard-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);grid-gap:18px;gap:18px;align-items:start}.tournament-dashboard-head.compact{grid-template-columns:minmax(0,1.5fr) minmax(420px,.8fr) 132px;gap:16px;align-items:center}.tournament-dashboard-winner-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);grid-gap:22px;gap:22px;align-items:center}.tournament-dashboard-titleblock{min-width:0}.tournament-dashboard-winner-subline{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid var(--border)}.tournament-dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.tournament-dashboard-metrics.compact{gap:12px}.tournament-dashboard-metrics.compact.compact-two{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-dashboard-metric{padding:18px;border-radius:20px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,white)}.tournament-dashboard-metrics.compact .tournament-dashboard-metric{padding:16px 18px}.winner-metric{background:linear-gradient(180deg,rgba(255,248,220,.96),rgba(255,255,255,.98));border-color:rgba(217,119,6,.26)}.tournament-dashboard-metric span{display:block;font-size:.9rem;color:var(--text-soft)}.tournament-dashboard-metric strong{display:block;margin-top:10px;font-size:clamp(1.2rem,2vw,2rem)}.tournament-dashboard-qr{display:grid;grid-gap:10px;gap:10px;margin-top:14px;max-width:180px}.tournament-dashboard-qr.compact{margin-top:0;max-width:132px;justify-self:end}.tournament-dashboard-qr img{width:100%;border-radius:18px;border:1px solid var(--border);background:#fff}.tournament-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,var(--dashboard-side-width,300px));grid-gap:14px;gap:14px;min-height:0}.tournament-dashboard-panel{min-height:0}.tournament-dashboard-panel .panel-inner{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.tournament-dashboard-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--dashboard-table-min-width,148px),1fr));grid-gap:10px;gap:10px;align-content:start;overflow:hidden}.tournament-dashboard-table{padding:14px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-hero.compact .panel-inner{padding:14px 18px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-head.compact{grid-template-columns:minmax(0,1.55fr) minmax(360px,.85fr) 132px;gap:14px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-metrics.compact{gap:10px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-metrics.compact .tournament-dashboard-metric{padding:14px 16px;border-radius:18px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-grid{gap:12px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-table{padding:10px;border-radius:16px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-table-head{margin-bottom:10px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-seat-list{gap:6px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-seat{grid-template-columns:18px minmax(0,1fr);gap:8px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-seat strong{font-size:.9rem}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-seat .small{font-size:.74rem}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-side{gap:12px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-ranking-head{padding:0 10px 8px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-rank-row.compact{padding:7px 8px;grid-template-columns:minmax(0,1fr) 52px 46px 28px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-finalists.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.tournament-dashboard-shell:not(.registration-shell) .tournament-dashboard-finalist{padding:14px}.tournament-dashboard-table-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:12px}.tournament-dashboard-seat-list{display:grid;grid-gap:8px;gap:8px}.tournament-dashboard-seat{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.78)}.tournament-dashboard-seat strong{font-size:.96rem}.tournament-dashboard-seat-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.tournament-dashboard-seat-indicators{display:flex;align-items:center;gap:8px;flex:0 0 auto}.tournament-dashboard-seat-name-row .dashboard-trend{width:20px;height:20px;font-size:.85rem;margin-left:0;box-shadow:none;flex:0 0 auto}.tournament-dashboard-seat .small{font-size:.8rem}.tournament-dashboard-ranking-list{overflow:auto;min-height:0;padding-right:4px}.tournament-dashboard-ranking-list.final-mode{gap:8px}.tournament-dashboard-ranking-ticker-shell{overflow:hidden;min-height:0;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--surface-strong),var(--surface));display:flex;align-items:center}.tournament-dashboard-ranking-ticker-track{display:flex;width:max-content;min-width:100%;animation:dashboard-ranking-ticker-scroll var(--ticker-duration,28s) linear infinite;will-change:transform}.tournament-dashboard-ranking-ticker-segment{display:flex;align-items:center;gap:14px;padding:14px 18px;flex:0 0 auto}.tournament-dashboard-ranking-ticker-item{display:inline-flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid var(--border);white-space:nowrap;min-width:max-content;color:var(--text);font-size:.95rem;font-weight:700}.tournament-dashboard-ranking-ticker-item:last-child{border-right:none;padding-right:0}.tournament-dashboard-ranking-ticker-item .dashboard-trend{width:22px;height:22px;font-size:.85rem}@keyframes dashboard-ranking-ticker-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.tournament-dashboard-ranking-head{display:grid;grid-template-columns:minmax(0,1fr) 52px 46px 28px;grid-gap:6px;gap:6px;padding:0 8px 8px;color:var(--text-soft);font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border);margin-bottom:8px}.tournament-dashboard-rank-row{padding:8px 10px;border-radius:14px}.tournament-dashboard-rank-row.compact{display:grid;grid-template-columns:minmax(0,1fr) 52px 46px 28px;grid-gap:6px;gap:6px;align-items:center;padding:8px 10px}.tournament-dashboard-rank-row.compact.final-mode{grid-template-columns:minmax(0,1fr);gap:0}.tournament-dashboard-rank-row.compact.final-mode.is-open{border-style:dashed}.tournament-dashboard-rank-main{min-width:0}.tournament-dashboard-rank-player{min-width:0;display:flex;align-items:center;gap:8px}.tournament-dashboard-rank-arrow,.tournament-dashboard-rank-stat{text-align:center;font-weight:700;font-size:.9rem}.tournament-dashboard-rank-arrow{display:grid;place-items:center}.tournament-dashboard-rank-row .stand-rank-name{gap:8px;margin-bottom:2px}.tournament-dashboard-rank-row .stand-name{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tournament-dashboard-open-rank{color:var(--text-soft);font-style:italic}.dashboard-trend{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;font-size:1rem;font-weight:800;line-height:1;margin-left:0;box-shadow:0 4px 10px rgba(15,23,42,.1)}.dashboard-trend-up{color:#ffffff;background:#16a34a}.dashboard-trend-down{color:#ffffff;background:#ef2222}.dashboard-crown{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#f59e0b;color:#ffffff;font-size:1.2rem;box-shadow:0 6px 16px rgba(217,119,6,.28)}.tournament-dashboard-side{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:14px;gap:14px;min-height:0}.tournament-dashboard-side-top{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.tournament-dashboard-final-block{display:grid;grid-gap:10px;gap:10px}.tournament-dashboard-finalists{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.tournament-dashboard-finalists.compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.tournament-dashboard-finalists-main{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-content:start}.winner-result{background:radial-gradient(circle at top right,rgba(251,191,36,.18),transparent 34%),linear-gradient(180deg,var(--surface-strong),var(--surface))}.tournament-dashboard-finalist{display:grid;grid-gap:6px;gap:6px;padding:18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-strong),var(--surface))}.tournament-dashboard-finalist span{font-size:1.6rem;font-weight:800;color:var(--accent-strong)}.tournament-dashboard-finalist small{color:var(--text-soft)}.dashboard-eliminated-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 10px;border-radius:999px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.24);color:#b42318;font-size:.74rem;font-weight:800;letter-spacing:.02em}.live-ranking-row{display:grid;grid-template-columns:minmax(0,1fr) 84px 74px 54px;grid-gap:10px;gap:10px;align-items:center}.live-ranking-player{min-width:0}.live-ranking-stat{text-align:center;font-weight:800;color:var(--text)}.live-ranking-trend{display:grid;place-items:center}.error,.notice,.successbox{box-shadow:0 14px 30px rgba(15,23,42,.08)}.admin-window,.panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.match-core{background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent-soft) 70%,transparent),transparent 26%),linear-gradient(180deg,var(--panel-strong),var(--surface))}.match-core-chip{border-radius:22px;padding:16px}.match-core-chip strong{font-size:1.5rem}.player-card{border-radius:24px;padding:16px}.sticky-action-bar{bottom:12px;padding:12px;border-radius:28px;background:radial-gradient(circle at top right,rgba(255,255,255,.38),transparent 18%),var(--panel)}@media (max-width:980px){.admin-console,.admin-edit-strip,.admin-group-grid,.admin-policy-grid,.admin-summary-grid,.admin-toolbar,.admin-toolbar-form,.app-primary-actions,.director-hero-inner,.director-layout,.director-layout-refined,.director-overview-grid,.director-round-toolbar,.director-score-fields,.director-split,.director-stage,.director-stats-grid,.player-tournament-row,.player-tournaments-head,.profile-summary-card{grid-template-columns:1fr}.admin-sidebar,.director-sidebar{position:static}.play-layout,.wizard-final-grid,.wizard-form-grid{grid-template-columns:1fr}.play-side{order:2}.play-main{order:1}.player-tournament-row,.player-tournaments-head,.profile-summary-card{flex-direction:column;align-items:flex-start}.tournament-dashboard-grid,.tournament-dashboard-head,.tournament-dashboard-head.compact,.tournament-dashboard-winner-stage{grid-template-columns:1fr}}@media (max-width:860px){.grid-2,.match-summary,.sticky-match-bar-main{grid-template-columns:repeat(2,1fr)}.hero{flex-direction:column;align-items:flex-start}.app-home-hero{flex-direction:row;align-items:center;justify-content:space-between}.app-home-hero h1{font-size:clamp(2rem,10vw,2.8rem)}.account-visibility-notice .btn,.app-secondary-nav,.app-top-actions,.app-top-actions.compact,.guest-hero-actions,.hero-actions,.player-tournament-actions .btn{width:100%}.app-top-actions.compact{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:nowrap}.app-top-actions.compact .btn{padding:10px 12px}.app-secondary-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.app-secondary-nav .app-simple-nav-item,.app-secondary-nav .small-label{flex:0 0 auto}.app-primary-actions.slim{grid-template-columns:1fr}.tournament-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.live-ranking-row{grid-template-columns:minmax(0,1fr) 64px 64px 48px}}@media (max-width:560px){.admin-group-head,.admin-window-bar,.director-danger-row,.director-header{flex-direction:column;align-items:flex-start}.page-shell{padding:10px 10px 110px}.panel-inner{padding:12px}.button-row{display:grid;grid-template-columns:1fr 1fr}.button-row .full{grid-column:1/-1}.hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero.simple{margin-bottom:12px}.auth-brand-badge{padding:10px 14px;font-size:1.05rem}.guest-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.director-actions{width:100%;justify-content:stretch}.director-summary-grid{grid-template-columns:1fr 1fr}.sticky-action-bar,.theme-actions{grid-template-columns:1fr}.sticky-action-bar{display:grid;bottom:6px}.player-actions{grid-template-columns:1fr 1fr}.player-actions.compact .btn{padding:14px 10px}.auth-buttons,.player-tournament-actions.compact,.profile-panel .button-row,.tournament-dashboard-finalists,.tournament-dashboard-metrics,.tournament-dashboard-tables{grid-template-columns:1fr}.live-ranking-row{grid-template-columns:minmax(0,1fr) 56px 56px 44px;gap:8px}.dashboard-trend{width:34px;height:34px;font-size:1.28rem}.match-focus-strip,.match-summary,.sticky-match-bar-main{grid-template-columns:1fr 1fr}.focus-chip-wide,.sticky-chip:last-child{grid-column:1/-1}.sticky-match-bar{display:none}.sticky-match-bar-main{gap:8px;padding:8px}.sticky-chip:nth-child(3),.sticky-chip:nth-child(4){display:none}.match-title{align-items:stretch}.match-player-list{grid-template-columns:1fr;gap:10px}.match-core-header{gap:8px;margin-bottom:10px}.player-card{padding:12px;border-radius:18px}.player-header{flex-direction:column;gap:8px}.player-state-pills{justify-content:flex-start}.player-stats-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:10px}.player-stats-inline span{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 10px;text-align:center;font-size:.82rem}.play-side .panel{display:none}.history-head,.section-title{align-items:flex-start}.history-toolbar{grid-template-columns:1fr}.history-summary-bar{align-items:flex-start;flex-direction:column}.history-summary-actions{width:100%}.app-home-hero{align-items:flex-start}.app-top-actions.compact{width:100%;justify-content:space-between}.profile-avatar-button{width:44px;height:44px}.app-primary-action{padding:12px 14px}.app-simple-nav-item{padding:8px 12px;font-size:.92rem}.player-tournament-row{padding:12px}.player-tournament-meta{gap:6px}.player-tournament-meta.compact span{font-size:.8rem}.player-tournament-actions .btn,.profile-panel .btn{width:100%}.notice.compact-notice{padding:10px 12px}.director-summary-grid{grid-template-columns:1fr}.wizard-step-section{padding:14px}.wizard-final-card-head,.wizard-final-metric,.wizard-label-with-action{align-items:flex-start;flex-direction:column}.app-primary-actions{grid-template-columns:1fr}}.tournament-dashboard-head.registration-mode{align-items:start}.tournament-dashboard-registration-list{display:grid;grid-gap:12px;gap:12px}.tournament-dashboard-registration-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(20,31,58,.12);border-radius:16px;background:rgba(255,255,255,.72)}.tournament-dashboard-registration-row strong{display:block}.tournament-dashboard-grid.registration-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dashboard-metric-subline{display:block;margin-top:6px;font-size:.82rem;color:var(--text-soft);font-weight:600}@media (max-width:1100px){.tournament-dashboard-grid.registration-grid{grid-template-columns:1fr}}.registration-shell{grid-template-rows:auto minmax(0,1fr);gap:10px}.registration-header-panel .panel-inner{display:grid;grid-gap:10px;gap:10px;padding:16px 18px}.tournament-dashboard-registration-shell{display:grid;grid-gap:10px;gap:10px}.tournament-dashboard-registration-top{display:grid;grid-template-columns:minmax(0,1fr) clamp(156px,13vw,196px);grid-gap:14px;gap:14px;align-items:center}.tournament-dashboard-registration-title h1{margin:6px 0 0;font-size:clamp(1.8rem,3vw,3.2rem);line-height:.95}.tournament-dashboard-registration-title p{margin:6px 0 0;color:var(--text-soft);font-size:.95rem}.tournament-dashboard-registration-qr{display:grid;align-self:start;justify-self:end}.tournament-dashboard-registration-qr img{width:clamp(156px,13vw,196px);height:clamp(156px,13vw,196px);border-radius:20px;border:1px solid var(--border);background:#fff;padding:6px}.tournament-dashboard-registration-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.tournament-dashboard-registration-stat{padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,.72)}.tournament-dashboard-registration-stat span{display:block;font-size:.9rem;color:var(--text-soft)}.tournament-dashboard-registration-stat strong{display:block;margin-top:6px;font-size:clamp(1.1rem,1.8vw,1.7rem)}.tournament-dashboard-registration-stat.wide strong{font-size:clamp(.95rem,1.45vw,1.35rem)}.registration-notice{margin-top:0!important}.registration-notice.secondary{background:color-mix(in srgb,var(--surface-strong) 94%,white)}.registration-lists-panel .panel-inner{display:grid;height:100%;padding:14px 18px 16px}.tournament-dashboard-registration-columns{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;height:100%}.tournament-dashboard-registration-columns>:first-child:not(.full-width){display:none}.tournament-dashboard-compact-block{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:10px;gap:10px}.tournament-dashboard-compact-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.tournament-dashboard-compact-head h2{margin:0;font-size:2rem}.tournament-dashboard-compact-head span{color:var(--text-soft);font-size:.95rem}.tournament-dashboard-registration-list.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px;align-content:start}.tournament-dashboard-registration-row.compact{min-height:0;padding:10px 12px;border-radius:14px;gap:8px;align-items:center}.tournament-dashboard-registration-person{min-width:0}.tournament-dashboard-registration-person strong{font-size:1rem}.tournament-dashboard-registration-person .small{margin-top:2px}.tournament-dashboard-compact-block.full-width{height:100%}@media (max-width:1100px){.tournament-dashboard-registration-stats,.tournament-dashboard-registration-top{grid-template-columns:1fr}.tournament-dashboard-registration-qr{justify-self:start}}@media (max-width:760px){.tournament-dashboard-registration-list.compact{grid-template-columns:1fr}}.player-tournament-row-button{width:100%;background:transparent;border:0;text-align:left;padding:0;color:inherit}.player-tournament-row.clickable{align-items:center}.player-tournament-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.player-tournament-detail-actions{margin-bottom:18px}.player-match-companion{display:grid;grid-gap:16px;gap:16px}.player-match-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.player-match-score-card,.player-match-summary-card{border:1px solid rgba(25,38,69,.12);border-radius:18px;background:rgba(255,255,255,.78);padding:14px 16px}.player-match-scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.player-match-score-meta{display:grid;grid-gap:4px;gap:4px;margin-top:10px;color:var(--muted);font-size:.94rem}.player-match-finish-box,.player-match-round-panel{border:1px solid rgba(25,38,69,.12);border-radius:22px;background:rgba(255,255,255,.84);padding:18px}.player-live-frame-wrap{border:1px solid rgba(25,38,69,.12);border-radius:24px;overflow:hidden;background:rgba(255,255,255,.9)}.player-live-frame{width:100%;min-height:78dvh;border:0;display:block;background:#fff}.player-match-waiting{margin-top:6px}.player-match-waiting .panel-inner{display:grid;grid-gap:10px;gap:10px;min-height:180px;align-content:center;justify-items:center;text-align:center}.player-match-waiting-meta{color:var(--ink-soft)}.tournament-match-mode{display:grid;grid-gap:12px;gap:12px}.tournament-match-mode-actions{justify-content:flex-start}.tournament-match-mode-meta{margin-bottom:12px}.player-match-context{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.player-tournament-round-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px;margin:0 0 14px}.player-tournament-round-card{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:18px;border:1px solid rgba(25,38,69,.1);background:rgba(255,255,255,.8)}.player-tournament-round-card strong{font-size:1rem}.director-pre-capture-details{margin-top:10px}.director-pre-capture-details summary{cursor:pointer;color:var(--ink-soft);font-size:.92rem}.director-pre-capture-body{margin-top:10px;display:grid;grid-gap:10px;gap:10px}.director-pre-capture-game{border:1px solid rgba(25,38,69,.1);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.72)}.director-pre-capture-rounds{margin-top:8px;display:grid;grid-gap:6px;gap:6px}.director-pre-capture-round{display:grid;grid-gap:2px;gap:2px;font-size:.92rem;color:var(--ink-soft)}.director-pre-capture-selector{margin-top:10px;max-width:320px}.director-table-change-log{margin:10px 0 0;display:grid;grid-gap:10px;gap:10px;border:1px solid rgba(25,38,69,.08);border-radius:14px;background:rgba(255,255,255,.78);padding:12px}.director-table-change-log-entry{display:grid;grid-gap:6px;gap:6px;border-top:1px solid rgba(25,38,69,.08);padding-top:10px}.director-table-change-log-entry:first-child{border-top:0;padding-top:0}.director-table-change-log-entry pre{margin:0;padding:10px;border-radius:12px;background:rgba(242,244,247,.94);color:var(--ink-soft);font-size:.82rem;white-space:pre-wrap;word-break:break-word}.director-table-change-log-details,.director-table-change-log-fields,.director-table-change-log-results{display:grid;grid-gap:8px;gap:8px}.director-table-change-log-field-row,.director-table-change-log-result-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(242,244,247,.84)}.director-table-change-log-field-row span,.director-table-change-log-result-row span{color:var(--text-soft)}.director-table-change-log-field-row strong,.director-table-change-log-result-row strong{text-align:right}@media (prefers-reduced-motion:reduce){.tournament-dashboard-ranking-ticker-track{animation:none}}@media (max-width:900px){.director-round-sheet-head{flex-direction:column}.director-round-sheet-actions{width:100%}.director-final-stage-card{padding:10px}.director-final-player-row,.director-final-round-head{flex-direction:column;align-items:stretch}.director-final-player-actions{justify-content:stretch}.director-final-player-actions .btn,.director-final-round-actions .btn{width:100%}.director-final-save-hint{max-width:none;text-align:left}}.director-flag-button.is-pre-captured,.director-round-number-input.is-pre-captured{background:rgba(43,171,107,.12);border-color:rgba(43,171,107,.42)}.player-match-shell .sticky-action-bar{position:-webkit-sticky;position:sticky}.player-match-choice-grid,.player-match-maexle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.player-match-maexle-grid{margin-top:12px}.player-match-choice,.player-match-maexle{min-height:48px;border-radius:16px;border:1px solid rgba(25,38,69,.14);background:rgba(250,250,248,.92);color:var(--ink);font:inherit;padding:10px 14px;text-align:left}.player-match-choice.is-active,.player-match-maexle.is-active{border-color:rgba(224,137,29,.5);background:rgba(255,240,220,.95)}@media (max-width:760px){.player-tournament-detail-head{align-items:flex-start;flex-direction:column}.player-match-choice-grid,.player-match-maexle-grid,.player-match-scoreboard,.player-match-summary{grid-template-columns:1fr}}.player-tournament-row.is-eliminated,.tournament-dashboard-finalist.is-eliminated,.tournament-dashboard-seat.is-eliminated{background:linear-gradient(90deg,rgba(239,68,68,.08),rgba(255,255,255,.86) 22%),rgba(255,255,255,.86);border-color:rgba(239,68,68,.22);box-shadow:inset 4px 0 0 rgba(239,68,68,.72)}.player-tournament-row.is-eliminated .small,.player-tournament-row.is-eliminated strong,.tournament-dashboard-finalist.is-eliminated small,.tournament-dashboard-finalist.is-eliminated strong,.tournament-dashboard-seat.is-eliminated .small,.tournament-dashboard-seat.is-eliminated strong{color:var(--text-main)}