:root{--text:#5c5668;--text-h:#120f18;--text-muted:#7a7385;--bg:#faf9fc;--surface:#fff;--surface-muted:#f3f1f7;--border:#e4e1ea;--border-strong:#cdc8d6;--code-bg:var(--surface-muted);--accent:#7c3aed;--accent-hover:#6d28d9;--accent-bg:#7c3aed14;--accent-border:#7c3aed59;--success:#15803d;--success-bg:#15803d1a;--danger:#b91c1c;--danger-bg:#b91c1c14;--side-x:#6366f1;--side-b:#0d9488;--shadow-sm:0 1px 2px #120f180f;--shadow:0 4px 6px -1px #120f1814, 0 2px 4px -2px #120f180d;--shadow-lg:0 12px 24px -4px #120f181f, 0 4px 8px -4px #120f180f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--content-max:1040px;--content-narrow:440px;--page-pad-x:var(--space-5);--page-pad-y:var(--space-6);--touch-min:44px;--sans:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--heading:var(--sans);--mono:ui-monospace, "SF Mono", Consolas, monospace;font:17px/1.5 var(--sans);letter-spacing:.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=768px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#a8a3b3;--text-h:#f4f2f8;--text-muted:#8b8498;--bg:#12131a;--surface:#1a1b24;--surface-muted:#22232e;--border:#2f3140;--border-strong:#43455a;--code-bg:var(--surface-muted);--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-bg:#a78bfa1f;--accent-border:#a78bfa66;--success:#4ade80;--success-bg:#4ade801a;--danger:#f87171;--danger-bg:#f871711f;--side-x:#818cf8;--side-b:#2dd4bf;--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 12px #00000059, 0 2px 4px #0003;--shadow-lg:0 16px 32px #00000073, 0 4px 8px #00000040}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}#root{width:100%;max-width:var(--content-max);background:var(--surface);border-inline:1px solid var(--border);min-height:100svh;box-shadow:var(--shadow-lg);flex-direction:column;margin:0 auto;display:flex}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);font-weight:600;line-height:1.2}h1{letter-spacing:-.03em;margin:0 0 var(--space-3);font-size:clamp(1.75rem,4vw,2.5rem)}h2{letter-spacing:-.02em;margin:0 0 var(--space-2);font-size:1.35rem}h3{margin:0 0 var(--space-2);font-size:1.1rem}p{margin:0}.lead{color:var(--text-muted);max-width:36ch;font-size:1.05rem;line-height:1.55}.eyebrow{margin-bottom:var(--space-2);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:600;display:block}.page{width:100%;min-width:0;padding:var(--page-pad-y) var(--page-pad-x);padding-bottom:calc(var(--page-pad-y) + env(safe-area-inset-bottom,0px));text-align:left;flex-direction:column;flex:1;align-items:stretch;display:flex}.page--center{text-align:center;align-items:center}.page--center .lead{margin-inline:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.page-header__main{flex:1;min-width:min(100%,240px)}.page-actions{margin:var(--space-5) 0}.page-footer{padding-top:var(--space-6);justify-content:center;margin-top:auto;display:flex}.page-history{width:100%;max-width:520px;margin:var(--space-5) auto 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card--muted{background:var(--surface-muted)}.panel{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4)}.btn-row{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-h);font:inherit;cursor:pointer;padding:.6rem 1.15rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent-border);color:var(--text-h)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn--ghost{background:0 0}.btn--danger{border-color:var(--danger);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}input,select,textarea{font:inherit;color:var(--text-h);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-bg);outline:none}label{color:var(--text-h);font-size:.875rem;font-weight:600}.modal-overlay{padding:var(--space-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#120f1880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(100%,520px);max-height:min(90vh,720px);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);text-align:left;overflow-y:auto}.modal--wide{width:min(100%,720px)}.modal-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:1.25rem}.modal-subtitle{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.9rem}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-error{color:var(--danger);margin:0;font-size:.875rem}.skip-link{left:max(var(--space-4), env(safe-area-inset-left,0px));top:max(var(--space-4), env(safe-area-inset-top,0px));z-index:9999;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--accent);color:#fff;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .15s;position:absolute;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--text-h);outline-offset:2px;transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-message{padding:var(--space-5);text-align:center;color:var(--text-muted);margin:0}.page-message--error{color:var(--danger)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.home-role-card:hover,.bracket-match--link:hover{transform:none}}@media (width<=1023px){#root{max-width:100%;box-shadow:none;border-inline:none}body{overflow-x:clip}}@media (width<=639px){:root{--page-pad-x:var(--space-4);--page-pad-y:var(--space-4)}.page-header{flex-direction:column;align-items:stretch}.page-header .btn,.page-header .btn-row .btn{width:100%}.btn-row{flex-direction:column;align-items:stretch}.btn-row .btn{width:100%}.btn{min-height:var(--touch-min)}input,select,textarea{font-size:1rem}.modal-overlay,.penalty-modal-overlay,.launch-edit-overlay,.match-modal-overlay,.beyblade-editor-overlay{justify-content:center;align-items:flex-end;padding:0}.modal,.penalty-modal,.launch-edit-modal,.match-modal,.beyblade-editor{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:none;max-height:min(92dvh,92svh);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-bottom:none;margin:0}.modal--wide,.match-modal--wide{width:100%}.card,.panel{padding:var(--space-4)}}@media (width>=640px) and (width<=1023px){:root{--page-pad-x:var(--space-5);--page-pad-y:var(--space-5)}}.home-page{text-align:center;justify-content:center;align-items:center;gap:var(--space-6);padding-top:var(--space-7);padding-bottom:var(--space-7)}.home-hero{max-width:520px}.home-hero .lead{margin:0 auto}.home-role-section{width:100%;max-width:720px}.home-role-heading{margin:0 0 var(--space-4);color:var(--text-h);font-size:1.1rem;font-weight:600}.home-role-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width<=1023px){.home-page{padding-top:var(--space-6);padding-bottom:var(--space-6)}}@media (width>=640px) and (width<=1023px){.home-role-grid{grid-template-columns:repeat(2,1fr)}.home-role-grid>li:last-child{grid-column:1/-1;justify-self:center;width:100%;max-width:360px}}@media (width<=639px){.home-role-grid{grid-template-columns:1fr}.home-role-grid>li:last-child{grid-column:auto;max-width:none}.home-role-card{padding:var(--space-4)}}.home-role-grid>li{margin:0}.home-role-card{align-items:center;gap:var(--space-2);height:100%;padding:var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--text-h);flex-direction:column;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;display:flex}.home-role-card:hover{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:var(--shadow);transform:translateY(-2px)}.home-role-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-role-card-title{font-size:1rem;font-weight:600}.home-role-card-desc{color:var(--text-muted);font-size:.85rem;font-weight:400;line-height:1.45}.lottery-control-header h2{margin:0 0 var(--space-2)}.lottery-control-notice{padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);margin:0;font-size:.92rem}.lottery-control-summary{gap:var(--space-2);margin-top:var(--space-4);font-size:.92rem;display:grid}.lottery-control-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.lottery-control-candidates{margin:var(--space-4) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.lottery-control-candidate{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.lottery-control-candidate-actions{gap:var(--space-2);display:flex}.lottery-control-tag{color:var(--accent);font-size:.8rem;font-weight:600}.lottery-control-tag--declined{color:var(--danger,#c0392b)}.lottery-control-message{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.9rem}@media (width<=639px){.lottery-control-actions{flex-direction:column}.lottery-control-actions .btn{width:100%}}.top-cut-seeding-header h2{margin:0 0 var(--space-2)}.top-cut-seeding-lead{color:var(--text-muted);margin:0;font-size:.92rem}.top-cut-seeding-meta{gap:var(--space-2);margin:var(--space-4) 0;font-size:.92rem;display:grid}.top-cut-seeding-meta dt{font-weight:600}.top-cut-seeding-meta dd{color:var(--text-muted);margin:0}.top-cut-seeding-hint,.top-cut-seeding-message{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.9rem}.status{align-items:center;gap:var(--space-2);display:inline-flex}.status-indicator{width:var(--status-size,10px);height:var(--status-size,10px);box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex-shrink:0}.status--ongoing .status-indicator{background-color:#22c55e}.status--ended .status-indicator{background-color:#ef4444}.status--unstarted .status-indicator{background-color:var(--accent)}.tournament-viewer{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:100%;box-shadow:var(--shadow-sm)}.tournament-viewer-header{padding:var(--space-4) var(--space-5);background:var(--surface-muted);border-bottom:1px solid var(--border)}.tournament-viewer-heading{margin-bottom:var(--space-4)}.tournament-viewer-title{margin:0 0 var(--space-1);color:var(--text-h);font-size:1.15rem;font-weight:600}.tournament-viewer-summary{color:var(--text-muted);margin:0;font-size:.88rem}.tournament-viewer-empty{padding:var(--space-5);color:var(--text-muted);margin:0}.tournament-flow-list{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tournament-flow-item{align-items:center;gap:var(--space-2);display:flex}.tournament-flow-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:inherit;text-decoration:none;display:flex}.tournament-flow-link:hover{border-color:var(--accent-border);background:var(--accent-bg)}.tournament-flow-step{width:1.4rem;height:1.4rem;color:var(--accent);background:var(--accent-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.tournament-flow-text{flex-direction:column;gap:1px;display:flex}.tournament-flow-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.62rem;font-weight:600}.tournament-flow-label{color:var(--text-h);font-size:.82rem;font-weight:600}.tournament-flow-chevron{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:1.1rem;line-height:1}.tournament-viewer-stages{flex-direction:column;display:flex}.bracket-stage{padding:var(--space-5);border-bottom:1px solid var(--border)}.bracket-stage:last-child{border-bottom:none}.bracket-stage--playoffs{background:var(--accent-bg)}.bracket-stage-header{gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;align-items:start;display:grid}.bracket-stage-step{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--accent);background:var(--surface);border:1px solid var(--accent-border);grid-area:1/1/-1;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.bracket-stage--playoffs .bracket-stage-step{color:var(--surface);background:var(--accent);border-color:var(--accent)}.bracket-stage-heading-text{grid-column:2;min-width:0}.bracket-stage-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:.68rem;font-weight:600}.bracket-stage-title{color:var(--text-h);margin:0;font-size:1rem;font-weight:600}.bracket-stage-subtitle{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.bracket-stage-count{padding:var(--space-1) var(--space-3);color:var(--text-muted);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;grid-area:1/3;align-self:start;font-size:.72rem;font-weight:600}.bracket-stage--playoffs .bracket-stage-count{background:var(--surface)}.bracket-stage-body{min-width:0}.bracket-stage-subsection{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--border)}.bracket-stage-subsection-title{margin:0 0 var(--space-3);color:var(--text-h);font-size:.85rem;font-weight:600}.schedule-groups{gap:var(--space-4);flex-direction:column;display:flex}.schedule-group{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.schedule-group-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.schedule-group-title{color:var(--text-h);margin:0;font-size:.9rem;font-weight:600}.schedule-group-meta{color:var(--text-muted);font-size:.75rem}.schedule-columns{align-items:stretch;gap:var(--space-4);padding-bottom:var(--space-2);scrollbar-width:thin;display:flex;overflow-x:auto}.schedule-round-column{gap:var(--space-3);min-width:10.5rem;max-width:14rem;padding-right:var(--space-4);border-right:1px solid var(--border);flex-direction:column;flex:none;display:flex}.schedule-round-column:last-child{border-right:none;padding-right:0}.schedule-round-head{gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.schedule-round-badge{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);align-self:flex-start;padding:2px 6px;font-size:.68rem;font-weight:700}.schedule-round-title{color:var(--text-h);margin:0;font-size:.82rem;font-weight:600}.schedule-round-meta{color:var(--text-muted);font-size:.72rem}.schedule-round-matches{gap:var(--space-2);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.schedule-round-matches>li{min-width:0}.elim-bracket{align-items:stretch;gap:var(--space-4);padding-bottom:var(--space-2);scrollbar-width:thin;display:flex;overflow-x:auto}.elim-bracket--playoffs{padding:var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--surface)}.elim-bracket-column{gap:var(--space-3);flex-direction:column;flex:none;min-width:10.5rem;max-width:14rem;display:flex}.elim-bracket-column:not(:last-child){padding-right:var(--space-4);border-right:1px solid var(--border)}.elim-bracket-column-head{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.elim-bracket-round-badge{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:var(--radius-sm);padding:2px 6px;font-size:.68rem;font-weight:700}.elim-bracket--playoffs .elim-bracket-round-badge{color:var(--surface);background:var(--accent);border-color:var(--accent)}.elim-bracket-round-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.72rem;font-weight:600}.elim-bracket-matches{justify-content:space-evenly;gap:var(--space-3);flex-direction:column;flex:1;min-height:4rem;margin:0;padding:0;list-style:none;display:flex}.elim-bracket-match{min-width:0}.bracket-match{box-sizing:border-box;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:block}.bracket-match--link{color:inherit;text-decoration:none;transition:background .15s,border-color .15s}.bracket-match--link:hover{background:var(--accent-bg);border-color:var(--accent-border)}.bracket-match--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bracket-match--bye{cursor:default;border-style:dashed}.bracket-match-bye-tag{margin-top:var(--space-1);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600;display:inline-block}.bracket-match--resolved{border-color:var(--accent-border)}.bracket-match-id{margin-bottom:var(--space-1);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.62rem;font-weight:600;display:block}.bracket-match-players{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.bracket-match-player{color:var(--text-h);word-break:break-word;font-size:.85rem;line-height:1.3}.bracket-match-player--winner{color:var(--accent);font-weight:600}.bracket-match-vs{color:var(--text-muted);font-size:.68rem;font-weight:600}.bracket-factions{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.bracket-faction{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.bracket-faction-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:.82rem;font-weight:600}.bracket-faction-members{color:var(--text);margin:0;padding-left:1rem;font-size:.78rem;line-height:1.35}@media (width<=1023px){.tournament-flow-list{gap:var(--space-2)}.tournament-flow-item{flex:auto;min-width:min(100%,10rem)}.tournament-flow-link{width:100%}}@media (width<=639px){.tournament-viewer-header,.bracket-stage{padding:var(--space-4)}.tournament-flow-list{flex-direction:column;align-items:stretch}.tournament-flow-item{flex-direction:column;align-items:stretch;width:100%}.tournament-flow-chevron{display:none}.tournament-flow-link{width:100%}.bracket-stage-header{grid-template-rows:auto auto auto;grid-template-columns:auto 1fr}.bracket-stage-heading-text{grid-column:2}.bracket-stage-count{margin-left:calc(2rem + var(--space-3));grid-area:3/1/auto/-1;justify-self:start}.bracket-stage-subtitle{margin-left:0}.schedule-round-column,.elim-bracket-column{min-width:9rem;max-width:12rem}.bracket-match-players{flex-direction:column;align-items:flex-start}.bracket-factions{grid-template-columns:1fr}}@media (width>=640px) and (width<=1023px){.tournament-flow-item{flex:0 auto}.schedule-round-column,.elim-bracket-column{min-width:10rem}}.tournament-options-summary{width:100%;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);text-align:left}.tournament-detail-panel .tournament-options-summary{margin-bottom:0}.tournament-options-summary-title{margin:0 0 var(--space-4);color:var(--text-h);font-size:1.05rem;font-weight:600}.tournament-options-group{margin-top:var(--space-4)}.tournament-options-group:first-of-type{margin-top:0}.tournament-options-group-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:.9rem;font-weight:600}.tournament-options-item{margin:0 0 var(--space-2);color:var(--text);font-size:.875rem;line-height:1.45}.tournament-options-list{color:var(--text);margin:0;padding-left:1.2rem;font-size:.875rem}.tournament-options-list li+li{margin-top:var(--space-1)}.tournament-options-notes{margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem;font-style:italic}@media (width<=639px){.tournament-options-summary{padding:var(--space-4)}}.participants-manager{gap:var(--space-4);display:grid}.participants-manager-header h2{margin:0 0 var(--space-2)}.participants-manager-lead{color:var(--text-muted);margin:0;font-size:.9rem}.participants-manager-locked{padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--warning,#c9a227) 12%, transparent);border:1px solid color-mix(in srgb, var(--warning,#c9a227) 35%, transparent);margin:0;font-size:.9rem}.participants-manager-empty{color:var(--text-muted);font-size:.9rem}.participants-manager-item--editable{grid-template-columns:1fr auto auto}.participants-manager-add-row{gap:var(--space-2);margin-top:var(--space-2);display:flex}.participants-manager-input{flex:1}.participants-manager-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.participants-manager-item{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:1fr auto auto;align-items:center;display:grid}.participants-manager-name{font-weight:600}.participants-manager-seed{color:var(--text-muted);font-size:.85rem}.participants-manager-item-actions{gap:var(--space-1);display:flex}.participants-manager-message{color:var(--text-muted);margin:0;font-size:.9rem}@media (width<=639px){.participants-manager-item{grid-template-columns:1fr}.participants-manager-add-row{flex-direction:column}}.tournament-standings-header h2{margin:0 0 var(--space-2)}.tournament-standings-lead,.tournament-standings-tiebreak{margin:0 0 var(--space-2);color:var(--text-muted);font-size:.9rem}.tournament-standings-table-wrap{overflow-x:auto}.tournament-standings-table{border-collapse:collapse;width:100%;font-size:.9rem}.tournament-standings-table th,.tournament-standings-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left}.tournament-standings-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8rem}.tournament-detail-page{padding-top:var(--space-5)}.tournament-detail-loading{color:var(--text-muted)}.tournament-detail-header{margin-bottom:var(--space-5)}.tournament-detail-title-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.tournament-detail-title-row h1{margin:0}.tournament-detail-meta{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.95rem}.tournament-detail-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.top-cut-seeding,.lottery-control,.tournament-standings{margin-bottom:var(--space-5)}.tournament-detail-bracket{margin-bottom:var(--space-6);max-width:100%}.tournament-detail-bracket .tournament-viewer{max-width:none}.tournament-detail-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=1023px){.tournament-detail-grid{grid-template-columns:1fr}}@media (width<=639px){.tournament-detail-page{padding-top:var(--space-4)}.tournament-detail-title-row h1{font-size:1.35rem}.tournament-detail-actions{flex-direction:column}.tournament-detail-actions .btn{width:100%}.tournament-participant{align-items:flex-start;gap:var(--space-1);flex-direction:column}.tournament-detail-panel.card{padding:var(--space-4)}}.tournament-detail-panel{min-width:0}.tournament-participants-title{margin:0 0 var(--space-4);font-size:1.1rem}.tournament-participants-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tournament-participant{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);display:flex}.tournament-participant-name{color:var(--text-h);font-weight:500}.tournament-participant-rank{color:var(--text-muted);font-size:.85rem}.player-page{padding-top:var(--space-7);justify-content:center}.player-card{text-align:center;width:min(100%,480px)}.player-card .lead{margin:0 auto var(--space-5)}.player-actions{margin-top:var(--space-4)}@media (width<=639px){.player-page{padding:var(--space-4)}.player-card,.player-actions .btn{width:100%}}.tournament-history-title{margin:0 0 var(--space-4);color:var(--text-h);font-size:1rem;font-weight:600}.tournament-history-empty{color:var(--text-muted);margin:0;font-size:.9rem}.tournament-history-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tournament-history-item{margin:0}.tournament-history-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:inherit;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.tournament-history-link:hover{background:var(--accent-bg);border-color:var(--accent-border);box-shadow:var(--shadow-sm)}.tournament-history-name{color:var(--text-h);text-align:left;flex:1;font-weight:500}.tournament-history-chevron{color:var(--text-muted);font-size:1.1rem}@media (width<=639px){.tournament-history-link{padding:var(--space-3);min-height:var(--touch-min,44px)}.tournament-history-name{font-size:.95rem}}.tournament-home-page{max-width:640px;margin:0 auto}.tournament-home-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tournament-home-header h1{margin:0}.tournament-home-welcome{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:.9rem}.tournament-home-welcome strong{color:var(--text-h)}.tournament-home-sign-out{flex-shrink:0;font-size:.875rem}.tournament-home-cta{margin-bottom:var(--space-6)}.tournament-home-intro{margin:0 0 var(--space-4);color:var(--text-muted);max-width:52ch;line-height:1.55}.tournament-home-page .page-history{max-width:none;margin-top:0}@media (width<=639px){.tournament-home-page{max-width:none}.tournament-home-header{flex-direction:column;align-items:stretch}.tournament-home-sign-out,.tournament-home-cta .btn{width:100%}}.form-section{padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.form-section+.form-section{margin-top:0}.form-section__header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.form-section__title{color:var(--text-h);margin:0;font-size:1.1rem;font-weight:600}.tiebreaker-order-editor{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.tiebreaker-order-title{margin:0 0 var(--space-2);font-size:.95rem}.tiebreaker-order-list{margin:var(--space-3) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.tiebreaker-order-item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.tiebreaker-order-actions{gap:var(--space-1);display:flex}.form-field-hint{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:.85rem}.form-section__desc{margin:var(--space-2) 0 0;color:var(--text-muted);max-width:55ch;font-size:.875rem;line-height:1.45}.form-section__fields{gap:var(--space-4);flex-direction:column;display:flex}.form-section__subgroup{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border);flex-direction:column;display:flex}.form-section__subgroup-title{color:var(--text-h);margin:0;font-size:.9rem;font-weight:600}.form-section__checkbox-group{gap:var(--space-3);flex-direction:column;display:flex}@media (width<=639px){.form-section__subgroup{padding:var(--space-3)}}.create-tournament-form{gap:var(--space-5);width:100%;max-width:720px;padding:var(--space-5) 0;text-align:left;flex-direction:column;align-items:stretch;margin:0 auto;display:flex}.create-tournament-form>h1{margin-bottom:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);font-size:1.5rem}.create-tournament-form-intro{margin:0 0 var(--space-2);color:var(--text-muted);max-width:52ch;font-size:.95rem;line-height:1.5}.tournament-form-sections{gap:var(--space-4);flex-direction:column;display:flex}.tournament-form-sections label:not(.form-section__checkbox){align-items:flex-start;gap:var(--space-2);width:100%;color:var(--text-h);flex-direction:column;font-size:.875rem;font-weight:600;display:flex}.tournament-form-sections input,.tournament-form-sections select,.tournament-form-sections textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-h);font:inherit;padding:.55rem .75rem;font-weight:400}.tournament-form-sections textarea{resize:vertical;min-height:88px}.form-section__checkbox{align-items:flex-start;gap:var(--space-3);width:100%;color:var(--text-h);cursor:pointer;flex-direction:row;font-size:.9rem;font-weight:500;display:flex}.form-section__checkbox input{width:1.125rem;height:1.125rem;accent-color:var(--accent);flex-shrink:0;margin-top:.1rem}.form-section__checkbox span{flex:1;line-height:1.4}.create-tournament-form-demo{padding:var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%)}.create-tournament-form-demo-title{margin:0 0 var(--space-2);font-size:1rem}.create-tournament-form-demo-copy{color:var(--text-muted);max-width:58ch;margin:0;font-size:.9rem;line-height:1.5}.create-tournament-form-actions{gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.create-tournament-form-actions .btn:first-child{min-width:140px}@media (width<=639px){.create-tournament-form{max-width:none;padding:var(--space-3) 0}.form-section{padding:var(--space-4)}.create-tournament-form-actions{z-index:2;margin-bottom:calc(-1 * var(--space-4));padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--surface);flex-direction:column;position:sticky;bottom:0;box-shadow:0 -4px 12px #120f1814}.create-tournament-form-actions .btn{width:100%;min-width:0}}.match-ref-page{padding-top:var(--space-7);align-items:center}.match-ref-detail{width:min(100%, var(--content-narrow));padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-align:left}.match-ref-detail header h1{margin:0 0 var(--space-3);font-size:1.5rem}.match-ref-intro{margin:0 0 var(--space-5);color:var(--text-muted);font-size:.95rem;line-height:1.5}.match-ref-form{gap:var(--space-4);flex-direction:column;display:flex}.match-ref-code-input{letter-spacing:.2em;text-transform:uppercase;text-align:center;font-size:1.5rem;font-weight:700}.field-hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.match-ref-form .btn--primary{width:100%;margin-top:var(--space-2)}.match-ref-detail .page-footer{margin-top:var(--space-5);justify-content:flex-start;padding-top:0}@media (width<=639px){.match-ref-page{padding:var(--space-4);padding-top:var(--space-5)}.match-ref-detail{width:100%;padding:var(--space-4)}}.match-status{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;display:inline-flex}.match-status-indicator{width:var(--match-status-size,10px);height:var(--match-status-size,10px);border-radius:50%;flex-shrink:0}.match-status-label{letter-spacing:.02em;color:var(--text-h);font-size:.8rem;font-weight:600}.match-status--not-started .match-status-indicator{background-color:var(--accent)}.match-status--in-session .match-status-indicator{background-color:#22c55e}.match-status--completed .match-status-indicator{background-color:#3b82f6}.launch-edit-overlay{padding:var(--space-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#120f1880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.launch-edit-modal{width:min(100%,480px);max-height:90vh;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);text-align:left;overflow-y:auto}.launch-edit-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:1.2rem}.launch-edit-note{margin:0 0 var(--space-4);color:var(--success);font-size:.875rem;line-height:1.45}.launch-edit-points-hint{margin:0 0 var(--space-3);color:var(--text-muted);font-size:.85rem}.launch-edit-modal label{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;font-size:.875rem;display:flex}.launch-edit-modal input,.launch-edit-modal select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);font:inherit;padding:.5rem .65rem}.launch-edit-grid{gap:var(--space-3);margin-bottom:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width<=639px){.launch-edit-grid{grid-template-columns:1fr}.launch-edit-actions{flex-direction:column}.launch-edit-actions .btn{width:100%}.launch-edit-delete{order:3;margin-right:0}}.launch-edit-fieldset{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);margin:0}.launch-edit-fieldset legend{color:var(--text-h);padding:0 var(--space-1);font-weight:600}.launch-edit-actions{gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.launch-edit-delete{margin-right:auto}.launch-edit-delete.btn--danger,.launch-edit-delete{color:var(--danger);border-color:var(--danger)}.penalty-modal-overlay{padding:var(--space-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#120f1880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.penalty-modal{width:min(100%,520px);max-height:min(90vh,640px);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);text-align:left;overflow-y:auto}.penalty-modal-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:1.2rem}.penalty-modal-subtitle{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.9rem}.penalty-modal-empty{margin:0 0 var(--space-4);color:var(--text-muted)}.penalty-modal-options{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=639px){.penalty-modal-options{grid-template-columns:1fr}.penalty-modal-option{min-height:var(--touch-min,44px)}}.penalty-modal-option{justify-content:center;align-items:flex-start;gap:var(--space-1);text-align:left;width:100%;min-height:72px;padding:var(--space-3) var(--space-4);flex-direction:column}.penalty-modal-option--forfeit{border-color:var(--danger);background:var(--danger-bg);grid-column:1/-1}.penalty-modal-option--forfeit .penalty-modal-option-label{color:var(--danger)}.penalty-modal-option-label{font-weight:600}.penalty-modal-option-outcome{color:var(--text-muted);font-size:.8rem}.penalty-modal-option-points{color:var(--text-h);font-size:.8rem}.penalty-modal-cancel{width:100%}.match-modal-overlay{padding:var(--space-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#120f1880;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.match-modal{width:min(100%,520px);max-height:min(90vh,720px);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);text-align:left;overflow-y:auto}.match-modal--wide{width:min(100%,720px)}.match-modal-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:1.2rem}.match-modal-subtitle{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.9rem}.match-modal-empty{margin:0 0 var(--space-4);color:var(--text-muted)}.match-modal-cancel{width:100%}.start-match-players{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=639px){.start-match-players{grid-template-columns:1fr}.start-match-bay-edit,.start-match-bay-confirm,.start-match-start-btn,.match-modal-cancel{min-height:var(--touch-min,44px)}}.start-match-player{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.start-match-player-name{margin:0 0 var(--space-1);color:var(--text-h);font-size:1rem;font-weight:600}.start-match-player-side{margin:0 0 var(--space-4);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:600}.start-match-bays{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.start-match-bay{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;display:flex}.start-match-bay--confirmed{border-color:var(--success);background:var(--success-bg)}.start-match-bay-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.start-match-bay-combo{color:var(--text-h);word-break:break-word;margin:0;font-size:.9rem;font-weight:600}.start-match-bay-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.start-match-bay-edit,.start-match-bay-confirm{flex:8rem;font-size:.85rem}.start-match-bay-random{flex:none;min-height:0;padding:.35rem .65rem;font-size:.75rem}.start-match-bay-confirm--done{background:var(--success);border-color:var(--success);color:#fff}.start-match-bay-confirm--done:hover:not(:disabled){filter:brightness(1.05);background:var(--success);border-color:var(--success);color:#fff}.start-match-progress{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.875rem}.start-match-deck-orders{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}.start-match-deck-orders-copy{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.45}.start-match-deck-orders-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=639px){.start-match-deck-orders-grid{grid-template-columns:1fr}}.start-match-actions{gap:var(--space-2);flex-direction:column;display:flex}.start-match-start-btn{width:100%}.start-match-start-btn:disabled{opacity:.5;cursor:not-allowed}.stadium-modal-options{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.stadium-modal-option{justify-content:center;align-items:flex-start;gap:var(--space-1);text-align:left;width:100%;min-height:56px;padding:var(--space-3) var(--space-4);flex-direction:column}.stadium-modal-option--disabled{opacity:.5;cursor:not-allowed}.stadium-modal-option-label{font-weight:600}.stadium-modal-option-status{color:var(--text-muted);font-size:.75rem}.stadium-modal-option-status--available{color:var(--success);font-weight:500}.stadium-modal-mock-note{margin-top:var(--space-2);color:var(--text-muted);font-size:.85rem;font-style:italic;display:block}@media (width<=639px){.stadium-modal-options{grid-template-columns:1fr}.stadium-modal-option{min-height:var(--touch-min,44px)}}.beyblade-editor-overlay{z-index:1001}.beyblade-editor{width:min(100%,560px)}.beyblade-editor-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.beyblade-editor-subtitle{flex:16rem;margin:0}.beyblade-editor-random-btn{flex:none;min-height:0;padding:.35rem .65rem;font-size:.75rem}.beyblade-editor-slots{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.beyblade-editor-slot{gap:var(--space-1);flex-direction:column;display:flex}.beyblade-editor-slot-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.beyblade-editor-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text-h);padding:.5rem .65rem;font-size:.9rem}.beyblade-editor-slot--disabled .beyblade-editor-slot-label{opacity:.6}.beyblade-editor-select:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-muted)}.beyblade-editor-mode-hint{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);color:var(--text-h);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);font-size:.85rem;line-height:1.45}.beyblade-editor-preview{margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-bg)}.beyblade-editor-preview-label{margin-bottom:var(--space-1);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600;display:block}.beyblade-editor-preview-name{color:var(--text-h);word-break:break-word;margin:0;font-size:1rem;font-weight:600}.beyblade-editor-actions{gap:var(--space-2);flex-direction:column;display:flex}.beyblade-editor-done-btn{width:100%}.beyblade-editor-done-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=639px){.beyblade-editor{width:100%}.beyblade-editor-select{min-height:var(--touch-min,44px);font-size:1rem}.beyblade-editor-done-btn{min-height:var(--touch-min,44px)}}.deck-order-panel{gap:var(--space-3);flex-direction:column;display:flex}.deck-order-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.deck-order-title{color:var(--text-h);margin:0;font-size:.95rem;font-weight:600}.deck-order-reset{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:600}.deck-order-reset:hover:not(:disabled){text-decoration:underline}.deck-order-reset:disabled{color:var(--text-muted);cursor:not-allowed;text-decoration:none}.deck-order-rows{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.deck-order-row{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);grid-template-columns:5.25rem minmax(0,1fr);display:grid}.deck-order-row:last-child{border-bottom:0}.deck-order-row:first-child{background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.deck-order-row-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.deck-order-row:first-child .deck-order-row-label{color:var(--accent)}.deck-order-picker{min-width:0}.deck-order-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;color:var(--text-h);font:inherit;padding:.5rem .65rem;font-size:.875rem}.deck-order-select:disabled{opacity:.6;cursor:not-allowed}@media (width<=639px){.deck-order-row{gap:var(--space-1);padding:var(--space-3);grid-template-columns:1fr}.deck-order-select{min-height:var(--touch-min,44px);font-size:1rem}}.match-page{text-align:left;width:100%;max-width:920px;padding:var(--space-5) var(--space-5) var(--space-6);align-items:stretch;margin:0 auto}.match-not-found{margin:0 0 var(--space-4);color:var(--text-h)}.match-header{align-items:start;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;display:grid}.match-header-spacer{min-height:1px}.match-meta-list{margin:0 0 var(--space-2)}.match-meta-item{margin:0}.match-meta-item dt{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600}.match-meta-item dd{margin:var(--space-1) 0 0;color:var(--text-h);font-weight:500}.match-scoreboard{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--surface-muted);border:1px solid var(--border);text-align:center}.match-scoreboard-line{justify-content:center;align-items:baseline;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;font-size:1.05rem;display:flex}.match-scoreboard-player{color:var(--text-h);font-weight:600}.match-scoreboard-points{color:var(--accent);font-weight:700}.match-scoreboard-sep{color:var(--text-muted)}.match-scoreboard-winner{margin:var(--space-3) 0 0;color:var(--success);font-size:.95rem;font-weight:600}.match-prep-hint{margin:var(--space-2) 0 0;width:100%;color:var(--text-muted);text-align:right;font-size:.85rem}.match-rules-details{margin-top:var(--space-4)}.match-rules-details-summary{cursor:pointer;color:var(--text-h);font-weight:600;list-style-position:outside}.match-rules-details-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.match-rules-details[open] .match-rules-list{margin-top:var(--space-3)}.match-player-side-label{margin-top:var(--space-1);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;font-weight:600;display:block}.match-launches-entry{border-radius:var(--radius-md);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:2px;padding:0;transition:box-shadow .15s;display:flex;overflow:hidden}.match-launches-entry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.match-ref-block{align-items:flex-start;gap:var(--space-2);flex-direction:column;display:flex}.match-ref{color:var(--text-h);margin:0;font-size:.95rem}.match-assign-ref-btn,.match-remove-ref-btn,.match-stadium-btn{padding:.4rem .75rem;font-size:.85rem}.match-title-block{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;grid-column:2;display:flex}.match-title{color:var(--text-h);margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:600;line-height:1.15}.match-stadium-block{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.match-stadium{color:var(--text-h);margin:0;font-size:1rem;font-weight:500}.match-stadium--empty{color:var(--text-muted);font-style:italic;font-weight:400}.match-prep{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-bg);flex-wrap:wrap;display:flex}.match-prep-text{min-width:200px;color:var(--text-h);flex:1;margin:0;font-size:.95rem}.match-start-btn{flex-shrink:0}.match-rules{margin-bottom:var(--space-5);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);font-size:.9rem}.match-rules-title{margin:0 0 var(--space-4);color:var(--text-h);font-size:1.05rem}.match-rules-group{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.match-rules-group-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:.95rem;font-weight:600}.match-rules-list{color:var(--text);margin:0;padding-left:1.25rem}.match-rules-list li+li{margin-top:var(--space-1)}.match-rules-item{margin:0 0 var(--space-2);color:var(--text)}.match-rules-scores{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-h);font-weight:600}.match-rules-winner{margin:var(--space-2) 0 0;color:var(--accent);font-weight:600}.match-clear-forfeit{margin-top:var(--space-3)}.match-body{align-items:center;gap:var(--space-5);margin-bottom:var(--space-6);flex-direction:column;display:flex}.match-players{gap:var(--space-5);grid-template-columns:1fr 1fr;width:100%;display:grid}.match-player{min-height:300px;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;display:flex;position:relative;overflow:hidden}.match-player--x{border-top:3px solid var(--side-x)}.match-player--b{border-top:3px solid var(--side-b)}.match-player-watermark{color:var(--side-x);opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;font-size:clamp(140px,28vw,260px);font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.match-player--b .match-player-watermark{color:var(--side-b)}.match-player-name,.match-player-bays,.match-player-controls{z-index:1;position:relative}.match-player-name{margin:0 0 var(--space-3);color:var(--text-h);font-size:1.25rem;font-weight:600}.match-launches-cell-bay{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:.8rem;display:flex}.match-launches-cell-bay-badge{background:color-mix(in srgb, var(--accent) 16%, transparent);min-width:1.2rem;height:1.2rem;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:inline-flex}.match-launches-row--reshuffle{justify-content:center}.match-launches-reshuffle{gap:var(--space-1);text-align:center;color:var(--text-muted);flex-direction:column;font-size:.9rem;display:flex}.match-launches-reshuffle-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.match-launches-entry--static{cursor:default;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);background:var(--surface-elevated)}.match-player-bays li{align-items:baseline;gap:var(--space-2);display:flex}.match-player-bay-badge{background:color-mix(in srgb, var(--accent) 16%, transparent);min-width:1.35rem;height:1.35rem;color:var(--accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.match-player-next-bay{margin:0 0 var(--space-2);color:var(--accent);font-size:.9rem;font-weight:600}.match-bye-notice,.match-reshuffle{margin-bottom:var(--space-4)}.match-bye-title,.match-reshuffle h2{margin:0 0 var(--space-2)}.match-reshuffle-lead{color:var(--text-muted);margin:0}.match-reshuffle{gap:var(--space-4);display:grid}.match-reshuffle-decks{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=639px){.match-reshuffle-decks{grid-template-columns:1fr}}.match-player-bays{margin:0 0 var(--space-5);color:var(--text-muted);padding:0;font-size:.9rem;list-style:none}.match-player-bays li+li{margin-top:var(--space-1)}.match-player-controls{align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%;max-width:220px;margin-top:auto;display:flex}.match-btn{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-h);font:inherit;cursor:pointer;font-weight:500;transition:background .12s,border-color .12s,transform .1s}.match-btn:hover:not(:disabled){background:var(--border);border-color:var(--text-muted)}.match-btn:active:not(:disabled){transform:scale(.98)}.match-btn--penalty{background:var(--surface);width:100%;padding:.65rem 1rem;font-size:.95rem}.match-action-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.match-btn--action{background:var(--accent);border-color:var(--accent);color:#fff;padding:.85rem .5rem;font-size:.95rem;font-weight:600}.match-btn--action:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.match-btn--switch{border-radius:999px;padding:.65rem 2rem;font-size:.95rem}.match-player--forfeited{opacity:.75;background:var(--danger-bg);border-color:var(--danger)}.match-player--forfeited .match-player-name{text-decoration:line-through}.match-player-forfeited{margin:0 0 var(--space-2);letter-spacing:.04em;text-transform:uppercase;color:var(--danger);font-size:.8rem;font-weight:700}.match-btn:disabled{opacity:.45;cursor:not-allowed}.match-launches{border-top:2px solid var(--border-strong);padding-top:var(--space-5)}.match-launches-title{margin:0 0 var(--space-2);color:var(--text-h);font-size:1.2rem;font-weight:600}.match-launches-hint{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.875rem}.match-launches-empty{padding:var(--space-5);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);margin:0}.match-launches-list{gap:var(--space-2);flex-direction:column;display:flex}.match-launches-entry:hover{box-shadow:0 0 0 2px var(--accent-border)}.match-launches-entry--correction .match-launches-row,.match-launches-entry--correction .match-launches-row--swap{background:var(--success-bg);border:1px solid var(--success)}.match-launches-correction-label{padding:var(--space-2) var(--space-4) 0;letter-spacing:.04em;text-transform:uppercase;color:var(--success);font-size:.75rem;font-weight:700;display:block}.match-launches-row{background:var(--surface-muted);border:1px solid var(--border);grid-template-columns:1fr 1fr;min-height:52px;display:grid}.match-launches-row--swap,.match-launches-row--winner{grid-template-columns:1fr}.match-launches-winner{justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);color:var(--text-h);flex-wrap:wrap;font-size:.9rem;display:flex}.match-launches-winner-label{font-weight:600}.match-launches-winner-name{color:var(--accent);font-weight:600}.match-launches-winner-total{font-weight:600}.match-launches-winner-over{color:var(--text-muted);font-size:.85rem}.match-launches-loser-name{color:var(--text-muted);font-weight:500}.match-launches-loser-total{color:var(--text-muted);font-size:.85rem}.match-launches-winner-type{font-weight:600}.match-launches-swap{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text-h);flex-wrap:wrap;font-size:.9rem;display:flex}.match-launches-swap-label{text-align:center;width:100%;font-weight:600}@media (width>=641px){.match-launches-swap-label{text-align:left;width:auto}}.match-launches-cell{justify-content:space-around;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--text-h);flex-wrap:wrap;font-size:.9rem;display:flex}.match-launches-cell-name{font-weight:500}.match-launches-cell-points{flex-direction:column;align-items:center;gap:2px;font-size:.85rem;display:flex}.match-launches-cell-total{font-weight:600}.match-launches-cell-gained{color:var(--accent);font-weight:600}.match-launches-cell+.match-launches-cell{border-left:1px solid var(--border)}.match-launches-win-type{font-weight:600}.match-launches-cell--highlight .match-launches-win-type,.match-launches-cell--highlight .match-launches-cell-gained{color:var(--accent)}.match-launches-penalty-value{color:var(--text-muted);font-size:.8rem}.match-page .page-footer{margin-top:var(--space-6);text-align:center;justify-content:center}@media (width<=1023px){.match-page{max-width:100%;padding-inline:var(--space-4)}}@media (width<=639px){.match-page{padding:var(--space-4);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.match-header{text-align:center;gap:var(--space-3);grid-template-columns:1fr}.match-header-spacer{display:none}.match-ref-block{align-items:center;width:100%}.match-ref-block .btn{width:100%}.match-title-block{order:-1;grid-column:1}.match-prep{flex-direction:column;align-items:stretch}.match-prep-hint{text-align:left}.match-start-btn{width:100%}.match-players{grid-template-columns:1fr}.match-player{min-height:0;padding:var(--space-4)}.match-player-watermark{font-size:min(28vw,120px)}.match-player-controls{max-width:none}.match-btn--action,.match-btn--penalty,.match-btn--switch{min-height:var(--touch-min,44px)}.match-launches-row{grid-template-columns:1fr}.match-launches-cell+.match-launches-cell{border-left:none;border-top:1px solid var(--border)}}@media (width>=640px) and (width<=1023px){.match-players{gap:var(--space-4);grid-template-columns:1fr 1fr}.match-player{min-height:260px}}.assign-ref-page{padding-top:var(--space-5);align-items:center}.assign-ref-detail{text-align:left;width:min(100%,520px)}.assign-ref-header h1{margin:0 0 var(--space-2);font-size:1.5rem}.assign-ref-match{color:var(--text-muted);margin:0;font-size:.95rem}.assign-ref-section-title{margin:var(--space-5) 0 var(--space-3);color:var(--text-h);font-size:1rem;font-weight:600}.assign-ref-header+.assign-ref-section-title,.assign-ref-header+section .assign-ref-section-title{margin-top:var(--space-4)}.assign-ref-intro{margin:0 0 var(--space-4);color:var(--text-muted);line-height:1.5}.assign-ref-organizer-btn{width:100%}.assign-ref-share{margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.assign-ref-code-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.assign-ref-code{margin:var(--space-2) 0 var(--space-4);letter-spacing:.22em;color:var(--text-h);text-align:center;font-size:2.25rem;font-weight:700}.assign-ref-code-hint{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.9rem;line-height:1.45}.assign-ref-qr-block{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.assign-ref-qr{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;width:200px;height:200px}.assign-ref-qr-caption{color:var(--text-muted);text-align:center;max-width:28ch;margin:0;font-size:.85rem}.assign-ref-status{margin:0 0 var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--accent-bg);border:1px solid var(--accent-border);line-height:1.5}.assign-ref-assigned-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.assign-ref-footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--border)}@media (width<=639px){.assign-ref-page{padding-inline:var(--space-4)}.assign-ref-detail,.assign-ref-organizer-btn,.assign-ref-assigned-actions .btn{width:100%}.assign-ref-assigned-actions{flex-direction:column}.assign-ref-code{letter-spacing:.14em;word-break:break-all;font-size:1.75rem}.assign-ref-qr{aspect-ratio:1;width:min(100%,200px);height:auto}}.organizer-sign-in-page{padding-top:var(--space-7);justify-content:center;align-items:center}.organizer-sign-in-card{width:min(100%, var(--content-narrow));padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-align:left}.organizer-sign-in-card h1{margin-bottom:var(--space-2);font-size:1.5rem}.organizer-sign-in-intro{margin:0 0 var(--space-5);color:var(--text-muted);font-size:.95rem;line-height:1.5}.organizer-sign-in-form{gap:var(--space-4);flex-direction:column;display:flex}.organizer-sign-in-form label{gap:var(--space-2);flex-direction:column;display:flex}.organizer-sign-in-btn{width:100%;margin-top:var(--space-2)}.organizer-sign-in-hint{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--text-muted);font-size:.85rem}.organizer-sign-in-hint code{border-radius:var(--radius-sm);background:var(--surface-muted);padding:2px 6px;font-size:.8rem}@media (width<=639px){.organizer-sign-in-page{padding:var(--space-4);padding-top:var(--space-5)}.organizer-sign-in-card{width:100%;padding:var(--space-4)}}
