:root {
  --ink: #09221d;
  --deep: #071c18;
  --green: #0f5d4b;
  --mint: #c8ff75;
  --cream: #f5f0e4;
  --paper: #fffdf7;
  --coral: #ff745b;
  --line: rgba(9, 34, 29, .13);
  --shadow: 0 24px 70px rgba(5, 35, 28, .12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "DM Sans", sans-serif; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.access-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:#07110b;color:#fff;transition:opacity .55s ease,visibility .55s ease}.access-screen::before{content:"";position:absolute;inset:-30px;background:url("assets/g24-padel-welcome.png") center/cover no-repeat;filter:blur(24px) brightness(.42);transform:scale(1.08)}.access-screen-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 18px 55px rgba(0,0,0,.38))}.access-screen-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(4,18,9,.02),rgba(3,8,5,.26) 72%,rgba(3,8,5,.56) 100%)}.access-screen-content{position:relative;z-index:1;width:min(680px,calc(100% - 40px));display:grid;justify-items:center;gap:14px;text-align:center;text-shadow:0 3px 24px rgba(0,0,0,.65)}.access-screen-content p{margin:0;color:#eaffc9;font:800 13px Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase}.access-screen-content h1{max-width:620px;margin:8px 0 20px;font-size:clamp(44px,7vw,86px);line-height:.92;letter-spacing:-.055em}.access-screen-content small{margin-top:4px;color:rgba(255,255,255,.76);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.access-start-button{min-width:190px;padding:17px 36px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:linear-gradient(100deg,#ff5d2d,#ff8a39);color:white;box-shadow:0 0 0 7px rgba(255,103,45,.13),0 18px 55px rgba(0,0,0,.4),0 0 42px rgba(255,102,42,.32);font:900 16px Manrope,sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:transform .2s,box-shadow .2s}.access-start-button:hover,.access-start-button:focus-visible{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 9px rgba(255,103,45,.15),0 22px 62px rgba(0,0,0,.45),0 0 55px rgba(255,102,42,.42);outline:3px solid #fff;outline-offset:4px}.access-screen-watermark{position:absolute;right:clamp(18px,3.5vw,54px);bottom:clamp(18px,3.5vw,46px);z-index:2;width:clamp(62px,7vw,96px);height:clamp(62px,7vw,96px);display:grid;place-items:center;padding:11px;border:1px solid rgba(255,255,255,.4);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 16px 48px rgba(0,0,0,.4);backdrop-filter:blur(10px)}.access-screen-watermark img{display:block;width:100%;height:100%;object-fit:contain}body:not(.access-gated) .access-screen{opacity:0;visibility:hidden;pointer-events:none}body.access-gated{overflow:hidden}body.access-gated #auth-dialog[open]{z-index:1100}@media(max-width:900px){.access-screen-content{align-self:end;padding-bottom:12vh}.access-start-button{min-width:210px}.access-screen-watermark{bottom:20px}}@media(max-width:600px){.access-screen-content{padding-bottom:14vh}.access-start-button{width:min(280px,90%)}.access-screen-watermark{right:14px;bottom:14px;width:56px;height:56px;padding:7px;border-radius:14px}}
.topbar { height: 82px; padding: 0 clamp(20px, 5vw, 72px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(255,253,247,.92); backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 20; }
.brand { color: var(--ink); text-decoration: none; display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: white; background: var(--ink); font: 800 18px/1 Manrope; letter-spacing: -1px; transform: rotate(-3deg); }
.brand-mark span { color: var(--mint); }
.brand-copy { font: 800 14px/1.05 Manrope; text-transform: uppercase; letter-spacing: .03em; }
.brand-copy small { font: 600 9px/1.2 DM Sans; color: #577069; letter-spacing: .1em; }
nav { display: flex; gap: 34px; }
nav a { color: #36534c; text-decoration: none; font-size: 14px; font-weight: 700; }
nav a:hover { color: var(--green); }
.profile-button, .filter-button { border: 1px solid var(--line); background: white; border-radius: 999px; display: flex; align-items: center; gap: 9px; padding: 7px 13px 7px 7px; color: var(--ink); font-weight: 700; cursor: pointer; }
.topbar-actions{display:flex;align-items:center;gap:9px}.theme-toggle{height:43px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);display:flex;align-items:center;gap:7px;cursor:pointer;font-weight:800}.theme-toggle span{font-size:17px}.theme-toggle small{font-size:11px}
.avatar { width: 42px; height: 42px; border-radius: 50%; display: inline-grid; place-items: center; flex: 0 0 auto; border: 3px solid var(--paper); color: #153329; background: #e8eadf; font-weight: 800; font-size: 12px; }
.avatar-small { width: 31px; height: 31px; border: 0; background: var(--coral); color: white; font-size: 10px; }
.avatar-xl { width: 70px; height: 70px; font-size: 17px; box-shadow: 0 10px 25px rgba(8,32,26,.12); }
.avatar-tiny { width: 29px; height: 29px; border-width: 2px; font-size: 9px; vertical-align: middle; margin-right: 7px; }
.coral { background: #ff8b78; }.mint { background: #aee7c6; }.blue { background: #91c7ef; }.sand { background: #f1d8a6; }.purple { background: #c5afea; }.pink { background: #efadd0; }.lime { background: #c7ed7c; }.orange { background: #f2b675; }
.hero { min-height: 650px; padding: 70px clamp(20px, 6vw, 90px) 76px; background: var(--cream); display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: center; overflow: hidden; }
.hero-copy { max-width: 670px; }
.eyebrow { margin: 0 0 14px; font-size: 12px; text-transform: uppercase; letter-spacing: .15em; font-weight: 800; color: var(--green); }
.hero .eyebrow span { width: 26px; height: 2px; background: var(--coral); display: inline-block; vertical-align: middle; margin-right: 8px; }
h1, h2, h3 { font-family: Manrope, sans-serif; margin-top: 0; }
h1 { margin-bottom: 25px; font-size: clamp(54px, 6vw, 92px); line-height: .94; letter-spacing: -.065em; }
h1 em { font-style: normal; color: var(--green); }
.hero-lead { max-width: 580px; font-size: 19px; line-height: 1.65; color: #49625c; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin: 35px 0 45px; }
.button { border: 0; border-radius: 13px; padding: 14px 19px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(8,39,31,.14); }
.button-primary { background: var(--ink); color: white; }
.button-accent { background: var(--mint); color: var(--ink); }
.button-ghost { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.text-link { color: var(--ink); text-decoration: none; font-weight: 800; }
.text-link span { color: var(--coral); margin-left: 5px; }
.hero-stats { display: flex; gap: clamp(24px, 4vw, 50px); }
.hero-stats div { display: grid; gap: 3px; }
.hero-stats strong { font: 800 28px/1 Manrope; }
.hero-stats span { font-size: 11px; color: #60746f; text-transform: uppercase; letter-spacing: .08em; }
.hero-visual { min-height: 500px; position: relative; display: grid; place-items: center; perspective: 900px; }
.court-perspective { position: relative; width: min(460px, 90%); aspect-ratio: 1.45; background: #156755; border: 10px solid #d9ebe5; box-shadow: 0 38px 70px rgba(5,39,30,.3); transform: rotateX(54deg) rotateZ(-8deg); }
.court-perspective:before, .court-perspective:after { content: ""; position: absolute; background: rgba(255,255,255,.85); }
.court-perspective:before { width: 2px; top: 0; bottom: 0; left: 50%; }
.court-perspective:after { height: 2px; left: 0; right: 0; top: 50%; box-shadow: 0 -62px 0 rgba(255,255,255,.5), 0 62px 0 rgba(255,255,255,.5); }
.court-number { position: absolute; right: 10px; bottom: 5px; color: rgba(255,255,255,.35); font: 800 46px Manrope; }
.court-player { width: 16px; height: 16px; border-radius: 50%; background: var(--mint); border: 3px solid white; position: absolute; z-index: 2; box-shadow: 0 8px 10px rgba(0,0,0,.28); }
.p1{left:25%;top:22%}.p2{right:25%;top:22%;background:var(--coral)}.p3{left:25%;bottom:22%;background:#72cfff}.p4{right:25%;bottom:22%;background:#f3cb65}
.floating-card { position: absolute; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.5); box-shadow: var(--shadow); border-radius: 15px; padding: 13px 16px; font-size: 12px; color: #638078; }
.floating-card strong { color: var(--ink); font-size: 14px; }.live-card{left:0;top:90px}.win-card{right:0;bottom:95px}.win-card strong{display:block;color:var(--green);font-size:21px}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--coral);margin-right:5px;box-shadow:0 0 0 5px rgba(255,116,91,.16)}
.section { padding: 90px clamp(20px, 6vw, 90px); max-width: 1500px; margin: auto; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 38px; }
h2 { margin-bottom: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; letter-spacing: -.045em; }
h3 { margin-bottom: 8px; letter-spacing: -.025em; }
.section-subtitle, .muted { color: #668079; }.section-subtitle { margin-bottom: 0; }
.status-pill { color: #216347; background: #dff7df; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.status-pill[data-state="waiting"] { color: #78571b; background: #fff0c8; }
.status-pill[data-state="closed"] { color: #843f37; background: #f7ded9; }
.day-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.signup-card, .side-card, .players-row { border: 1px solid var(--line); border-radius: 20px; background: white; padding: 24px; }
.signup-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; box-shadow: 0 14px 40px rgba(8,41,32,.07); }
.date-block { width: 75px; height: 90px; border-radius: 14px; background: var(--ink); color: white; display: grid; place-items: center; padding: 9px; }
.date-block span, .date-block small { font-size: 10px; letter-spacing: .14em; }.date-block strong { font: 800 30px/1 Manrope; color: var(--mint); }
.signup-copy p { margin: 0 0 17px; color: #60766f; font-size: 14px; }
.capacity { display: flex; align-items: center; gap: 10px; }.capacity small{white-space:nowrap;color:#6b7f79}.capacity-bar{height:7px;max-width:230px;flex:1;border-radius:99px;background:#e8ede8;overflow:hidden}.capacity-bar span{display:block;width:0;height:100%;background:var(--coral);border-radius:inherit;transition:width .4s}
.registration-countdown-banner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(210px,.7fr) minmax(470px,1.3fr);align-items:center;gap:30px;margin:5px 0 28px;padding:29px 38px;overflow:hidden;border:2px solid transparent;border-radius:24px;background:linear-gradient(115deg,#04131d 0%,#072b3b 51%,#123c3b 100%) padding-box,linear-gradient(105deg,var(--coral),var(--mint),#38c7ff,var(--coral)) border-box;background-size:100% 100%,300% 100%;box-shadow:0 26px 70px rgba(4,29,39,.32),0 0 28px rgba(200,255,117,.13),inset 0 0 38px rgba(48,203,255,.08);color:white;animation:countdown-border 5s linear infinite}.registration-countdown-banner:before{content:"";position:absolute;inset:-80% -20%;z-index:-1;opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 48px,rgba(255,255,255,.2) 49px 50px),repeating-linear-gradient(0deg,transparent 0 48px,rgba(255,255,255,.12) 49px 50px);transform:perspective(300px) rotateX(58deg) translateY(10%);transform-origin:bottom;animation:countdown-grid 7s linear infinite}.registration-countdown-banner:after{content:"";position:absolute;top:0;bottom:0;left:-25%;width:18%;z-index:-1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:countdown-sweep 4.5s ease-in-out infinite}.countdown-copy{display:grid;gap:7px}.countdown-kicker{display:flex;align-items:center;gap:7px;width:max-content;padding:6px 10px;border-radius:99px;background:linear-gradient(90deg,#ff5d46,#ff8663);box-shadow:0 0 20px rgba(255,93,70,.4);color:#fff;font:900 9px Manrope,sans-serif;letter-spacing:.17em}.countdown-kicker i{width:7px;height:7px;border-radius:50%;background:white;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:live-ping 1.25s infinite}.countdown-copy>strong{font:900 clamp(22px,2.5vw,34px)/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:-.035em}.countdown-copy>small{color:#a9c6c2;font-size:12px}.countdown-clock{display:flex;align-items:center;justify-content:flex-end;gap:9px}.countdown-clock>span{position:relative;display:grid;place-items:center;min-width:88px;padding:14px 11px 11px;overflow:hidden;border:1px solid rgba(200,255,117,.28);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.17),0 10px 28px rgba(0,0,0,.24),0 0 14px rgba(200,255,117,.06);transform:skewX(-2deg)}.countdown-clock>span:after{content:"";position:absolute;inset:49% 0 auto;height:1px;background:rgba(255,255,255,.14)}.countdown-clock b{color:var(--mint);font:900 clamp(38px,4.7vw,58px)/.83 Manrope,sans-serif;letter-spacing:-.075em;text-shadow:0 0 9px rgba(200,255,117,.52),0 0 28px rgba(200,255,117,.25)}.countdown-clock small{margin-top:9px;color:#c7dbd7;font:900 8px Manrope,sans-serif;letter-spacing:.19em}.countdown-clock>i{color:var(--coral);font:900 34px/1 Manrope,sans-serif;font-style:normal;text-shadow:0 0 14px rgba(255,93,70,.65);animation:countdown-pulse 1s steps(2,end) infinite}.countdown-clock .countdown-finished{min-width:280px}.countdown-energy{position:absolute;right:-80px;bottom:-100px;z-index:-1;width:290px;height:210px;border:3px solid rgba(255,93,70,.42);border-radius:50%;filter:blur(.3px);transform:rotate(-18deg);box-shadow:0 0 65px rgba(255,93,70,.28),inset 0 0 38px rgba(200,255,117,.12);animation:energy-orbit 4s ease-in-out infinite}.registration-countdown-banner[data-state="closed"]{filter:saturate(.55)}@keyframes countdown-pulse{50%{opacity:.16}}@keyframes live-ping{70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}}@keyframes countdown-border{50%{background-position:0 0,100% 0}}@keyframes countdown-grid{to{transform:perspective(300px) rotateX(58deg) translateY(30%)}}@keyframes countdown-sweep{0%,35%{left:-25%}70%,100%{left:125%}}@keyframes energy-orbit{50%{transform:rotate(-9deg) scale(1.08)}}
.registration-timing { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 12px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line); }
.registration-timing > span { color: #61766f; font-size: 12px; font-weight: 700; }
.registration-timing > strong { color: var(--green); font: 800 16px/1.2 Manrope,sans-serif; text-align: right; white-space: nowrap; }
.registration-timing > small { grid-column: 1/-1; color: #71857f; font-size: 11px; line-height: 1.45; }.registration-timing em{font-style:normal}
.button:disabled { cursor: not-allowed; opacity: .45; transform: none; box-shadow: none; }
.side-card-top { display:flex;justify-content:space-between;align-items:flex-start }.mini-icon{font-size:24px;color:var(--coral)}
.segmented { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 12px; padding: 4px; gap: 3px; margin: 20px 0 14px; background:#f1f3ed; }
.segmented button, .format-tabs button { border:0;background:transparent;padding:10px 8px;border-radius:8px;color:#5f756f;font-weight:700;cursor:pointer }.segmented button.active,.format-tabs button.active{background:white;color:var(--ink);box-shadow:0 4px 15px rgba(9,34,29,.09)}
.side-card .muted{font-size:12px;margin-bottom:0}.players-row{margin-top:18px;display:flex;justify-content:space-between;align-items:center;background:#f6f9f2}.players-row h3{margin:0}.players-row .eyebrow{margin-bottom:7px}.avatar-stack{display:flex;flex-wrap:wrap}.avatar-stack .avatar{margin-left:-9px}.avatar-stack .avatar:first-child{margin-left:0}.avatar-more{background:var(--ink);color:white}.roster-avatar{background:#174d65;color:#fff;border:3px solid #f6f9f2;box-shadow:0 3px 12px rgba(12,43,52,.12)}.roster-avatar.is-reserve{background:#e8a034;color:#172c30;filter:saturate(.82)}
.ranking-section { background: var(--deep); color: white; max-width:none; }.ranking-section .eyebrow{color:var(--mint)}.season-dates{margin:13px 0 0;color:#9db5ae;font-size:14px}.ranking-actions{display:flex;align-items:center;gap:10px}.ranking-filter{position:relative}.ranking-filter::after{content:"⌄";position:absolute;right:15px;top:50%;pointer-events:none;transform:translateY(-57%);color:var(--mint);font-size:16px}.filter-button{min-width:220px;appearance:none;color:white;background:#11342d;border-color:rgba(255,255,255,.15);padding:12px 42px 12px 16px}.ranking-preview-note{display:flex;align-items:center;gap:10px;margin:-15px 0 28px;color:#9db5ae;font-size:12px}.ranking-preview-note span{padding:6px 9px;border-radius:999px;background:rgba(200,255,117,.12);color:var(--mint);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ranking-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:end}.podium{height:330px;display:flex;align-items:flex-end;justify-content:center;gap:10px}.podium-card{text-align:center;position:relative;width:31%;}.podium-card .rank{display:grid;place-items:center;width:29px;height:29px;margin:0 auto -12px;position:relative;z-index:2;border-radius:50%;background:#31584f;font-weight:800}.podium-card h3{margin:10px 0 2px}.podium-card p{margin:0 0 14px;color:#9db5ae;font-size:13px}.podium-card .avatar{margin:auto}.podium-bar{height:80px;background:#113a31;border-radius:14px 14px 0 0;border-top:2px solid #27594c;display:grid;place-items:center;color:#9db5ae;font:800 12px Manrope,sans-serif}.first .podium-bar{height:145px;background:#174b3e;border-top-color:var(--mint)}.second .podium-bar{height:105px}.third .podium-bar{height:75px}.first .rank{background:var(--mint);color:var(--ink)}.crown{position:absolute;top:-33px;left:50%;transform:translateX(-50%);color:#f2c85e;font-size:25px}.ranking-table-wrap{background:#0d2c26;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px 22px 18px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:17px 8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}th{color:#6f968a;text-transform:uppercase;letter-spacing:.1em;font-size:10px}td:not(:nth-child(2)),th:not(:nth-child(2)){text-align:center}td:nth-child(2){font-weight:700}.ranking-player{display:flex;align-items:center;gap:9px}.ranking-player .avatar{width:31px;height:31px;border:0;font-size:9px}.ranking-points{color:var(--mint);font-weight:900}.ranking-method{margin:14px 3px 2px;color:#86a59c;font-size:11px;line-height:1.5}.table-link{border:0;background:transparent;color:var(--mint);font-weight:800;padding:17px 5px 4px;cursor:pointer}
.result-fab{position:fixed;right:24px;bottom:24px;z-index:28;display:flex;align-items:center;gap:9px;padding:15px 20px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:linear-gradient(100deg,#ff5d2d,#ff8a39);color:white;box-shadow:0 16px 45px rgba(10,20,17,.3),0 0 28px rgba(255,106,42,.22);font:900 13px Manrope,sans-serif;cursor:pointer}.result-fab[hidden]{display:none}.result-fab span{font-size:20px;line-height:.7}.result-fab:hover,.result-fab:focus-visible{transform:translateY(-2px);outline:3px solid rgba(200,255,117,.72);outline-offset:3px}.result-dialog{width:min(650px,calc(100% - 26px));max-height:min(88vh,850px)}.result-dialog>h2{font-size:clamp(32px,5vw,48px)}.result-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-calculation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 2px;padding:15px 17px;border-radius:13px;background:var(--cream);color:#536e66}.result-calculation strong{color:var(--green);font:900 22px Manrope,sans-serif}.result-validation-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.result-validation-panel h3{font-size:23px}.result-validation-list{display:grid;gap:10px;margin-top:14px}.result-validation-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--cream)}.result-validation-item strong,.result-validation-item small{display:block}.result-validation-item small{margin-top:4px;color:#668079}.result-validation-item button{padding:9px 12px;border:0;border-radius:10px;background:var(--green);color:white;font-weight:800;cursor:pointer}.result-validation-item button:disabled{opacity:.55;cursor:default}.validation-progress{display:inline-flex;gap:5px;margin-top:7px}.validation-progress i{width:18px;height:5px;border-radius:99px;background:#d7dfd9}.validation-progress i.is-on{background:var(--coral)}body[data-theme="dark"] .result-dialog .result-calculation,body[data-theme="dark"] .result-validation-item{background:#0b0f19}body[data-theme="dark"] .result-dialog .result-calculation strong{color:#ff9a55}
.result-video-help{margin:18px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.result-video-help summary{padding:14px 16px;color:var(--green);font-weight:800;cursor:pointer}.result-video-help .dialog-video-frame{margin:0;border-radius:0}.result-video-card{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:center;gap:34px;margin:22px 0 40px;padding:28px;border-radius:22px;background:linear-gradient(120deg,#071f1a,#0f4d40);color:white}.result-video-card h3{font-size:clamp(25px,3vw,38px)}.result-video-card p:last-child{color:#c9ddd7;line-height:1.6}.result-video-card .video-frame{aspect-ratio:16/9}.result-video-card .eyebrow{color:var(--mint)}
.rules-section{padding-bottom:110px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps article{position:relative;background:var(--cream);border-radius:18px;padding:23px;min-height:215px}.step-num{position:absolute;right:16px;top:13px;color:#c8cec6;font:800 28px Manrope}.step-icon{width:43px;height:43px;border-radius:11px;background:var(--green);color:var(--mint);display:grid;place-items:center;font-size:20px;font-weight:800;margin-bottom:32px}.steps p{color:#687b75;line-height:1.55;font-size:13px}.court-rules{margin-top:20px;background:#e8f0e9;border-radius:22px;padding:35px;display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.court-rules-copy>p:not(.eyebrow){color:#58716a;line-height:1.55}.format-tabs{display:flex;gap:5px;background:#dbe5dc;border-radius:11px;padding:4px;width:max-content;margin-top:23px}.court-flow{display:flex;gap:13px;align-items:center;justify-content:center;min-height:230px}.flow-court{width:30%;aspect-ratio:.72;border:3px solid rgba(255,255,255,.8);background:#2a7864;box-shadow:inset 0 0 0 2px rgba(9,34,29,.16),0 16px 30px rgba(10,53,43,.13);color:white;display:grid;place-items:center;position:relative;font:800 33px Manrope;transition:all .35s}.flow-court:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.6)}.flow-court small{position:absolute;bottom:8px;font:700 9px DM Sans;text-transform:uppercase;letter-spacing:.1em;color:var(--mint)}.flow-arrow{font-size:23px;color:var(--coral);font-weight:800}
footer{padding:30px clamp(20px,6vw,90px);background:var(--cream);display:flex;align-items:center;gap:17px;color:#61766f}footer p{flex:1}footer a{color:var(--green);font-weight:700}
dialog{width:min(460px,calc(100% - 32px));border:0;border-radius:22px;padding:34px;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(3,20,16,.68);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:13px;border:0;background:#edf0eb;border-radius:50%;width:34px;height:34px;font-size:23px;cursor:pointer}.photo-upload{display:flex;align-items:center;gap:16px;background:var(--cream);padding:14px;border-radius:15px;margin:22px 0}.photo-upload button{border:0;background:transparent;color:var(--green);font-weight:800;cursor:pointer}dialog label{display:grid;gap:7px;margin:15px 0;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}dialog input,dialog select{border:1px solid var(--line);border-radius:10px;padding:12px;background:white;color:var(--ink)}dialog .button{width:100%;margin-top:10px}.rules-dialog{width:min(720px,calc(100% - 32px))}.demo-stage{height:230px;background:var(--deep);border-radius:16px;padding:25px;display:flex;gap:14px;align-items:center;justify-content:center;position:relative;overflow:hidden}.demo-court{height:150px;width:28%;border:2px solid rgba(255,255,255,.75);background:#236a58;color:white;display:grid;place-items:center;font:800 28px Manrope;transition:transform .5s,opacity .4s}.demo-ball{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--mint);z-index:2;left:17%;top:50%;box-shadow:0 0 0 5px rgba(200,255,117,.2);transition:left .6s}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:white;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.3s;z-index:50;font-weight:700;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
.admin-roster-overview{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--cream)}.admin-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-roster-heading h3{margin:0;font:800 15px Manrope,sans-serif}.admin-roster-heading span{padding:5px 8px;border-radius:999px;background:white;color:#61766f;font-size:10px;font-weight:800;white-space:nowrap}.admin-roster-list{display:grid;gap:8px;margin-top:13px}.admin-roster-list>p{margin:4px 0;color:#71857f;font-size:12px}.admin-roster-item{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:white}.admin-roster-position{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--ink);color:white;font:800 11px Manrope,sans-serif}.admin-roster-player strong,.admin-roster-player small{display:block}.admin-roster-player strong{font-size:12px}.admin-roster-player small{margin-top:2px;color:#71857f;font-size:10px}.admin-roster-status{padding:5px 7px;border-radius:999px;background:#e5f4ec;color:#246242;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.admin-roster-item.is-reserve .admin-roster-position{background:#e8a034;color:#172c30}.admin-roster-item.is-reserve .admin-roster-status{background:#fff0d2;color:#86530e}.admin-action-eyebrow{margin-top:22px;margin-bottom:0;padding-top:19px;border-top:1px solid var(--line)}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero-visual{min-height:370px}.day-grid,.ranking-layout,.court-rules{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.podium{height:280px}.court-flow{min-height:190px}}
@media(max-width:760px){.registration-countdown-banner{grid-template-columns:1fr;padding:25px 16px 22px;gap:19px}.countdown-clock{justify-content:flex-start;gap:4px}.countdown-clock>span{min-width:0;flex:1;padding:11px 3px 9px}.countdown-clock b{font-size:clamp(30px,10vw,43px)}.countdown-clock>i{font-size:22px}.countdown-copy>strong{font-size:24px}.countdown-copy>small{font-size:11px}}

/* FRABAGOB dark system: #0b0f19 base, #0e1320 cards, #20273c borders. */
body[data-theme="dark"]{--paper:#0b0f19;--cream:#0e1320;--deep:#080b12;--coral:#ff6a2a;--mint:#ff9a55;--green:#ff6a2a;--line:rgba(32,39,60,.92);--shadow:0 24px 70px rgba(0,0,0,.38);color:#f5f5f5;background:#0b0f19;color-scheme:dark}
body[data-theme="dark"] .topbar{background:rgba(11,15,25,.82);border-color:#20273c}
body[data-theme="dark"] .brand,body[data-theme="dark"] nav a,body[data-theme="dark"] .text-link{color:#f5f5f5}
body[data-theme="dark"] nav a:hover,body[data-theme="dark"] .eyebrow,body[data-theme="dark"] h1 em,body[data-theme="dark"] footer a{color:#ff6a2a}
body[data-theme="dark"] .brand-copy small,body[data-theme="dark"] .hero-lead,body[data-theme="dark"] .hero-stats span,body[data-theme="dark"] .section-subtitle,body[data-theme="dark"] .muted{color:#9da2af}
body[data-theme="dark"] .profile-button,body[data-theme="dark"] .theme-toggle{background:#0e1320;color:#f5f5f5;border-color:#20273c}
body[data-theme="dark"] .theme-toggle:hover{border-color:#ff6a2a;box-shadow:0 0 22px rgba(255,106,42,.18)}
body[data-theme="dark"] .hero{background:radial-gradient(circle at 78% 23%,rgba(61,113,255,.11),transparent 31%),radial-gradient(circle at 18% 12%,rgba(255,51,51,.08),transparent 27%),#0b0f19}
body[data-theme="dark"] .button-primary{background:#ff6a2a;color:#0b0f19;box-shadow:0 10px 28px rgba(255,106,42,.2)}
body[data-theme="dark"] .button-accent{background:#ff6a2a;color:#0b0f19}
body[data-theme="dark"] .button-ghost{color:#f5f5f5;border-color:#38415d}
body[data-theme="dark"] .floating-card{background:rgba(14,19,32,.94);border-color:#20273c;color:#9da2af}
body[data-theme="dark"] .floating-card strong{color:#f5f5f5}body[data-theme="dark"] .win-card strong{color:#ff6a2a}
body[data-theme="dark"] .signup-card,body[data-theme="dark"] .side-card,body[data-theme="dark"] .players-row,body[data-theme="dark"] .rules-explainer{background:#0e1320;border-color:#20273c;box-shadow:0 15px 44px rgba(0,0,0,.24)}
body[data-theme="dark"] .date-block{background:#080b12;color:#f5f5f5;border:1px solid #20273c}body[data-theme="dark"] .date-block strong{color:#ff6a2a}
body[data-theme="dark"] .signup-copy p,body[data-theme="dark"] .capacity small,body[data-theme="dark"] .side-card .muted,body[data-theme="dark"] .court-rules-copy>p:not(.eyebrow),body[data-theme="dark"] .steps p{color:#9da2af}
body[data-theme="dark"] .capacity-bar{background:#20273c}body[data-theme="dark"] .capacity-bar span{background:linear-gradient(90deg,#ff3333,#ff6a2a)}
body[data-theme="dark"] .segmented{background:#080b12;border-color:#20273c}body[data-theme="dark"] .segmented button{color:#9da2af}body[data-theme="dark"] .segmented button.active{background:#20273c;color:#ff9a55;box-shadow:0 0 18px rgba(255,106,42,.12)}
body[data-theme="dark"] .players-row{background:#0e1320}body[data-theme="dark"] .roster-avatar{border-color:#0e1320;background:#3d71ff}body[data-theme="dark"] .roster-avatar.is-reserve{background:#ff6a2a;color:#0b0f19}
body[data-theme="dark"] .gallery-section,body[data-theme="dark"] .ranking-section{background:#080b12}
body[data-theme="dark"] .welcome-video-feature{background:radial-gradient(circle at 90% 0,rgba(61,113,255,.2),transparent 38%),linear-gradient(120deg,#08090d 0%,#17100c 54%,#0e1320 100%);border:1px solid #20273c;box-shadow:0 24px 60px rgba(0,0,0,.35)}body[data-theme="dark"] .welcome-video-copy small{color:#ff6a2a}
body[data-theme="dark"] .steps article{background:#0e1320;border:1px solid #20273c}body[data-theme="dark"] .step-num{color:#343d58}body[data-theme="dark"] .step-icon{background:#ff6a2a;color:#0b0f19}
body[data-theme="dark"] .court-rules{background:#0e1320;border:1px solid #20273c}body[data-theme="dark"] .format-tabs span{background:#080b12;color:#9da2af;border-color:#20273c}body[data-theme="dark"] .format-tabs input:checked+span{background:#20273c;color:#f5f5f5;border-color:#ff6a2a}
body[data-theme="dark"] .format-description{background:rgba(32,39,60,.55)}body[data-theme="dark"] .rules-timeline{background:#0b0f19;border-color:#20273c}body[data-theme="dark"] .rules-timeline b{background:#ff6a2a;color:#0b0f19}
body[data-theme="dark"] .format-description p,body[data-theme="dark"] .gallery-toolbar,body[data-theme="dark"] .gallery-toolbar span,body[data-theme="dark"] .gallery-empty,body[data-theme="dark"] .empty-inline{color:#9da2af}body[data-theme="dark"] .gallery-empty{border-color:#20273c}body[data-theme="dark"] .gallery-empty h3{color:#f5f5f5}
body[data-theme="dark"] .status-pill{background:rgba(255,106,42,.14);color:#ffb17d;border:1px solid rgba(255,106,42,.35)}body[data-theme="dark"] .status-pill[data-state="waiting"]{background:rgba(61,113,255,.13);color:#9db6ff;border-color:rgba(61,113,255,.35)}body[data-theme="dark"] .status-pill[data-state="closed"]{background:rgba(255,51,51,.12);color:#ff8c8c;border-color:rgba(255,51,51,.3)}
body[data-theme="dark"] #rules-video-button{background:#20273c;color:#f5f5f5;border:1px solid #38415d}body[data-theme="dark"] #rules-video-button:hover{border-color:#ff6a2a;box-shadow:0 0 22px rgba(255,106,42,.15)}
body[data-theme="dark"] .registration-rule-note{background:rgba(255,106,42,.09);border-color:rgba(255,106,42,.42);color:#ffc39d}body[data-theme="dark"] .registration-rule-note>span{background:rgba(255,106,42,.19)}
body[data-theme="dark"] footer{background:#080b12;color:#9da2af;border-top:1px solid #20273c}
body[data-theme="dark"] dialog{background:#0e1320;color:#f5f5f5;border:1px solid #20273c}body[data-theme="dark"] .dialog-close{background:#20273c;color:#f5f5f5}body[data-theme="dark"] dialog input,body[data-theme="dark"] dialog select{background:#0b0f19;color:#f5f5f5;border-color:#38415d}body[data-theme="dark"] .photo-upload,body[data-theme="dark"] .player-dialog-stats div,body[data-theme="dark"] .admin-user{background:#0b0f19}
body[data-theme="dark"] .registration-countdown-banner{background:radial-gradient(circle at 88% 0,rgba(255,106,42,.18),transparent 34%),linear-gradient(115deg,#050608,#0b0f19 48%,#17100c) padding-box,linear-gradient(105deg,#ff3333,#ff6a2a,#ff9a55,#ff3333) border-box;box-shadow:0 26px 70px rgba(0,0,0,.48),0 0 34px rgba(255,106,42,.15),inset 0 0 42px rgba(255,106,42,.06)}
body[data-theme="dark"] .countdown-clock>span{border-color:rgba(255,106,42,.3);background:linear-gradient(180deg,rgba(255,106,42,.1),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.35),0 0 18px rgba(255,106,42,.08)}body[data-theme="dark"] .countdown-clock b{color:#ff9a55;text-shadow:0 0 10px rgba(255,106,42,.58),0 0 30px rgba(255,51,51,.2)}
@media(max-width:600px){.theme-toggle small{display:none}.theme-toggle{width:43px;justify-content:center;padding:0}.topbar-actions{gap:6px}}
body[data-theme="dark"] .draw-panel{background:#0e1320;border-color:#20273c}body[data-theme="dark"] .draw-panel-heading>div>p:last-child,body[data-theme="dark"] .draw-audit{color:#9da2af}body[data-theme="dark"] .draw-principles span{background:#0b0f19;border-color:#20273c;color:#b9bdc8}body[data-theme="dark"] .draw-court{background:#0b0f19;border-color:#20273c}body[data-theme="dark"] .draw-team{background:#151b2a}body[data-theme="dark"] .draw-team small{color:#9da2af}body[data-theme="dark"] .draw-panel.is-ready{border-color:rgba(255,106,42,.52);box-shadow:0 0 28px rgba(255,106,42,.07)}
body[data-theme="dark"] .admin-roster-heading span,body[data-theme="dark"] .admin-roster-item{background:#0b0f19}body[data-theme="dark"] .admin-roster-heading span,body[data-theme="dark"] .admin-roster-player small{color:#9da2af}body[data-theme="dark"] .admin-roster-status{background:rgba(61,113,255,.14);color:#a9bdff}body[data-theme="dark"] .admin-roster-item.is-reserve .admin-roster-status{background:rgba(255,106,42,.14);color:#ffbd91}
@media(max-width:600px){.topbar{height:70px}.profile-button span:last-child{display:none}.hero{padding-bottom:55px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.hero-stats span{font-size:9px}.hero-visual{min-height:300px}.floating-card{font-size:10px}.live-card{top:25px}.win-card{bottom:25px}.section{padding:65px 18px}.section-heading{align-items:flex-start;flex-direction:column}.signup-card{grid-template-columns:auto 1fr}.signup-card .button{grid-column:1/-1}.capacity{align-items:flex-start;flex-direction:column}.capacity-bar{width:100%;flex:auto}.side-card{padding:20px 16px}.players-row{align-items:flex-start;gap:20px;flex-direction:column}.avatar-stack{padding-left:8px}.steps{grid-template-columns:1fr 1fr;gap:10px}.steps article{padding:18px;min-height:210px}.court-rules{padding:24px 18px}.flow-court{font-size:24px}footer{flex-wrap:wrap}.podium-card h3{font-size:13px}.podium-card .avatar-xl{width:56px;height:56px}.ranking-table-wrap{padding:8px 11px}th:nth-child(4),td:nth-child(4){display:none}}
@media(max-width:600px){.ranking-actions{align-items:stretch;flex-direction:column;width:100%}.ranking-actions .button,.ranking-filter,.ranking-filter select{width:100%}.ranking-preview-note{align-items:flex-start;flex-direction:column}.podium{height:255px}.ranking-table th:nth-child(3),.ranking-table td:nth-child(3),.ranking-table th:nth-child(5),.ranking-table td:nth-child(5){display:none}.ranking-table th:nth-child(4),.ranking-table td:nth-child(4){display:table-cell}.ranking-table th,.ranking-table td{padding:13px 5px}.ranking-player{gap:6px}.ranking-player .avatar{display:none}.result-fab{right:14px;bottom:14px;padding:14px 17px}.result-fields{grid-template-columns:1fr}.result-validation-item{grid-template-columns:1fr}.result-validation-item button{width:100%}}
@media(max-width:900px){.result-video-card{grid-template-columns:1fr}}
@media(max-width:600px){.result-video-card{padding:22px 16px}.result-video-card h3{font-size:27px}}
@media(max-width:600px){.registration-timing{grid-template-columns:1fr}.registration-timing>strong{text-align:left;white-space:normal}.registration-timing>small{grid-column:1}}

/* Selector de formato y explicación de reglas: funcionan sin JavaScript. */
.format-tabs { display: grid; gap: 7px; width: 100%; background: transparent; padding: 0; }
.format-tabs label { cursor: pointer; }
.format-tabs input { position: absolute; opacity: 0; pointer-events: none; }
.format-tabs span { display: flex; justify-content: space-between; gap: 18px; border: 1px solid transparent; background: #dbe5dc; border-radius: 11px; padding: 11px 13px; font-weight: 800; color: #526c65; }
.format-tabs small { font-weight: 600; color: #71857f; }
.format-tabs input:checked + span { background: white; border-color: var(--green); color: var(--ink); box-shadow: 0 5px 16px rgba(9,34,29,.1); }
.format-tabs label:focus-within span { outline: 3px solid rgba(15,93,75,.2); }
.format-view { display: none; }
.court-rules:has(input[value="3"]:checked) .format-3,
.court-rules:has(input[value="2"]:checked) .format-2,
.court-rules:has(input[value="1"]:checked) .format-1 { display: flex; }
.format-1 { flex-direction: column; }
.format-1 .flow-court { width: 34%; max-width: 150px; }
.single-court-note { max-width: 430px; margin: 0; text-align: center; color: #58716a; line-height: 1.55; font-size: 13px; }
.rules-explainer { margin-top: 20px; border: 1px solid var(--line); border-radius: 20px; background: white; overflow: hidden; }
.rules-explainer summary { list-style: none; cursor: pointer; padding: 20px 24px; font-weight: 800; font-family: Manrope,sans-serif; color: var(--ink); display: flex; align-items: center; gap: 10px; }
.rules-explainer summary::-webkit-details-marker { display: none; }
.rules-explainer summary span { color: var(--coral); transition: transform .25s; }
.rules-explainer[open] summary span { transform: rotate(90deg); }
.rules-timeline { border-top: 1px solid var(--line); padding: 25px; display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; background: #fbfaf4; }
.rules-timeline article { display: flex; gap: 11px; align-items: flex-start; }
.rules-timeline b { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; display: grid; place-items: center; background: var(--green); color: var(--mint); font: 800 12px Manrope; }
.rules-timeline h3 { font-size: 14px; margin: 5px 0 7px; }
.rules-timeline p { font-size: 12px; line-height: 1.5; color: #627871; margin: 0; }
@media(max-width:900px) { .rules-timeline { grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) { .format-tabs span { display: grid; gap: 3px; } .rules-timeline { grid-template-columns: 1fr; } }

/* Identidad FRB */
.brand-mark { background: white; overflow: hidden; padding: 5px; border: 1px solid var(--line); transform: none; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Pista reglamentaria 20 × 10 vista desde arriba. */
.court-perspective {
  width: min(540px, 94%);
  aspect-ratio: 2 / 1;
  transform: none;
  border: 8px solid rgba(230,247,255,.92);
  border-radius: 5px;
  background-color: #147cc1;
  background-image:
    linear-gradient(to right, transparent calc(25% - 1px), rgba(255,255,255,.9) calc(25% - 1px), rgba(255,255,255,.9) calc(25% + 1px), transparent calc(25% + 1px)),
    linear-gradient(to right, transparent calc(75% - 1px), rgba(255,255,255,.9) calc(75% - 1px), rgba(255,255,255,.9) calc(75% + 1px), transparent calc(75% + 1px));
  box-shadow: 0 30px 60px rgba(5,39,62,.28), 0 0 0 3px rgba(9,42,58,.28);
}
.court-perspective::before { width: 4px; top: 0; bottom: 0; left: calc(50% - 2px); background: #e9f8ff; box-shadow: 0 0 0 1px rgba(7,31,47,.45); }
.court-perspective::after { height: 2px; left: 25%; right: 25%; top: calc(50% - 1px); background: rgba(255,255,255,.9); box-shadow: none; }
.court-number { right: 14px; bottom: 8px; color: rgba(255,255,255,.45); }
.court-player { width: 18px; height: 18px; }
.p1 { left: 16%; top: 24%; }.p2 { left: 16%; right: auto; top: auto; bottom: 24%; }
.p3 { right: 16%; left: auto; top: 24%; bottom: auto; }.p4 { right: 16%; bottom: 24%; }

.flow-court {
  width: min(28%, 118px);
  aspect-ratio: 1 / 2;
  border: 4px solid rgba(235,249,255,.95);
  border-radius: 3px;
  background-color: #147cc1;
  background-image:
    linear-gradient(to bottom, transparent calc(25% - 1px), rgba(255,255,255,.9) calc(25% - 1px), rgba(255,255,255,.9) calc(25% + 1px), transparent calc(25% + 1px)),
    linear-gradient(to bottom, transparent calc(75% - 1px), rgba(255,255,255,.9) calc(75% - 1px), rgba(255,255,255,.9) calc(75% + 1px), transparent calc(75% + 1px));
  box-shadow: inset 0 0 0 1px rgba(5,42,65,.25), 0 16px 30px rgba(8,64,98,.18);
  text-shadow: 0 2px 7px rgba(0,42,70,.75);
}
.flow-court::before { content: ""; position: absolute; top: 25%; bottom: 25%; left: calc(50% - 1px); border-left: 2px solid rgba(255,255,255,.9); }
.flow-court::after { left: 0; right: 0; top: calc(50% - 1px); border-top: 3px solid #e9f8ff; box-shadow: 0 1px 0 rgba(6,39,58,.55); }
.flow-court small { color: white; background: rgba(4,48,78,.75); padding: 3px 5px; border-radius: 4px; z-index: 2; }
.format-1 .flow-court { width: min(42%, 125px); }

.attendance-actions { display: grid; gap: 8px; min-width: 132px; }
.attendance-actions .button { width: 100%; padding: 11px 14px; }
.attendance-actions .button.is-selected { background: var(--ink); color: white; box-shadow: 0 0 0 3px rgba(15,93,75,.15); }
#decline-button.is-selected { background: #87392f; border-color: #87392f; }
.button-admin { background: #147cc1; color: white; }.admin-override-note{max-width:170px;color:#55726a;font-size:10px;line-height:1.35;text-align:center}
.registration-rule-note { display: flex; gap: 15px; align-items: flex-start; margin-top: 18px; padding: 17px 20px; border: 1px solid #ecd197; border-radius: 16px; background: #fff8e7; color: #624f2b; }
.registration-rule-note > span { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: #ffe6a8; font-size: 19px; }.registration-rule-note strong{font-family:Manrope,sans-serif}.registration-rule-note p{margin:5px 0 0;line-height:1.5;font-size:13px}
.draw-panel{margin-top:18px;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}.draw-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.draw-panel-heading h3{font-size:23px;margin:0 0 5px}.draw-panel-heading>div>p:last-child{margin:0;color:#657a74;font-size:13px}.draw-panel-heading .eyebrow{margin-bottom:7px}.draw-principles{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.draw-principles span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.62);font-size:11px;font-weight:700;color:#526a63}.draw-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:21px}.draw-court{padding:15px;border:1px solid var(--line);border-radius:15px;background:white}.draw-court>strong{display:block;margin-bottom:11px;color:var(--green);font:800 14px Manrope}.draw-team{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;padding:10px;border-radius:10px;background:var(--cream);font-size:12px;font-weight:800;text-align:center}.draw-team+.draw-team{margin-top:7px}.draw-team i{color:var(--coral);font-style:normal}.draw-team small{display:block;margin-top:2px;color:#71857f;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.draw-audit{display:block;margin-top:13px;color:#71857f;font-size:10px}.draw-panel.is-ready{border-color:rgba(255,116,91,.4)}
.segmented { grid-template-columns: repeat(2,1fr); }
.format-description { display: none; margin-top: 16px; padding: 13px 15px; border-radius: 12px; background: rgba(255,255,255,.7); }
.format-description p { margin: 0 0 8px; color: #49645d; font-size: 13px; line-height: 1.45; }
.format-description p:last-child { margin-bottom: 0; }
.court-rules:has(input[value="3"]:checked) .description-3,
.court-rules:has(input[value="2"]:checked) .description-2,
.court-rules:has(input[value="1"]:checked) .description-1 { display: block; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.photo-picker { color: var(--green); font-weight: 800; cursor: pointer; padding: 10px 2px; text-transform: none; letter-spacing: 0; }
#profile-photo-preview.has-photo { background-size: cover; background-position: center; background-repeat: no-repeat; }
.player-avatar { padding: 0; cursor: pointer; font-family: inherit; }
.player-avatar:hover,.player-avatar:focus-visible { transform: translateY(-3px); outline: 3px solid var(--mint); position: relative; z-index: 3; }
.player-dialog { width: min(480px,calc(100% - 32px)); }
.player-dialog-head { display: flex; align-items: center; gap: 18px; margin: 26px 0; }
.player-dialog-head h2 { font-size: 28px; margin-bottom: 5px; }
.player-dialog-head p { margin: 0; color: #61766f; }
.player-dialog-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.player-dialog-stats div { background: var(--cream); border-radius: 14px; padding: 18px; display: grid; gap: 4px; }
.player-dialog-stats strong { font: 800 28px Manrope; color: var(--green); }
.player-dialog-stats span { color: #61766f; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
@media(max-width:600px) { .attendance-actions { grid-column: 1/-1; grid-template-columns: 1fr 1fr; width: 100%; } }
@media(max-width:700px){.draw-panel-heading{align-items:flex-start;flex-direction:column}.draw-panel-heading .button{width:100%}.draw-results{grid-template-columns:1fr}.draw-principles{display:grid}.draw-principles span{border-radius:10px}}

.gallery-section { background: #eef6fb; max-width: none; }
.gallery-toolbar { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin: -12px 0 24px; color: #58716a; font-size: 13px; }
.gallery-toolbar p { margin: 0; }.gallery-toolbar span { color: #71857f; }
.gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.gallery-empty { grid-column: 1/-1; min-height: 250px; border: 2px dashed rgba(9,34,29,.18); border-radius: 20px; display: grid; place-items: center; align-content: center; text-align: center; padding: 32px; color: #627871; }
.gallery-empty span { font-size: 42px; color: #147cc1; }.gallery-empty h3 { margin: 8px 0; color: var(--ink); }.gallery-empty p { margin: 0; max-width: 520px; line-height: 1.55; }
.gallery-card { position: relative; aspect-ratio: 1; border: 0; border-radius: 16px; overflow: hidden; padding: 0; background: #dbe8ee; cursor: pointer; box-shadow: 0 12px 28px rgba(8,53,78,.12); }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }.gallery-card:hover img { transform: scale(1.04); }
.gallery-card figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 12px 10px; color: white; font-size: 12px; text-align: left; background: linear-gradient(transparent,rgba(3,24,36,.82)); }
.gallery-delete { position: absolute; z-index: 2; right: 9px; top: 9px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(8,24,31,.78); color: white; cursor: pointer; }
.gallery-loading { grid-column: 1/-1; padding: 35px; text-align: center; color: #627871; }
.gallery-dialog { width: min(920px,calc(100% - 24px)); padding: 14px; background: #071c18; }.gallery-dialog img { width: 100%; max-height: 75vh; object-fit: contain; display: block; border-radius: 12px; }.gallery-dialog p { color: white; margin: 13px 8px 4px; }
#auth-dialog .muted { line-height: 1.5; }
.auth-feedback{margin:16px 0;padding:13px 14px;border:1px solid #abcfc4;border-radius:12px;background:#effaf6;color:#174e40;font-size:13px;font-weight:700;line-height:1.5}.auth-feedback[data-type="error"]{border-color:#e7aaa2;background:#fff1ef;color:#842f27}.auth-feedback[data-type="success"]{border-color:#9ec9ac;background:#eef9f1;color:#225c35}.auth-feedback[hidden]{display:none}.field-help{font-size:10px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;color:#71857f}
body[data-theme="dark"] .auth-feedback{background:rgba(61,113,255,.1);border-color:rgba(61,113,255,.45);color:#c8d5ff}body[data-theme="dark"] .auth-feedback[data-type="error"]{background:rgba(255,51,51,.1);border-color:rgba(255,51,51,.45);color:#ffadad}body[data-theme="dark"] .auth-feedback[data-type="success"]{background:rgba(91,207,143,.1);border-color:rgba(91,207,143,.45);color:#a8eac4}body[data-theme="dark"] .field-help{color:#9da2af}
.empty-inline { color: #71857f; font-size: 13px; padding: 10px 0; }
.ranking-empty { grid-column: 1/-1; min-height: 260px; border: 1px dashed rgba(181,225,211,.28); border-radius: 20px; display: grid; place-items: center; align-content: center; text-align: center; padding: 35px; background: rgba(255,255,255,.035); }
.ranking-empty[hidden]{display:none}.ranking-layout.is-empty{grid-template-columns:1fr;align-items:stretch}.ranking-layout.is-empty>.podium,.ranking-layout.is-empty>.ranking-table-wrap{display:none}
.ranking-empty span { color: var(--mint); font-size: 42px; }.ranking-empty h3 { margin: 8px 0; font-size: 24px; }.ranking-empty p { max-width: 570px; margin: 0; color: #9db5ae; line-height: 1.6; }
.welcome-section { padding-top: 34px; padding-bottom: 34px; scroll-margin-top: 92px; }
.welcome-video-feature { overflow: hidden; display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(28px,4vw,64px); align-items: center; padding: clamp(28px,4vw,54px); border-radius: 28px; background: linear-gradient(120deg,#071f1a 0%,#0f4d40 58%,#0b3851 100%); color: white; box-shadow: 0 24px 60px rgba(7,36,31,.18); }
.welcome-video-copy { display: grid; align-content: center; gap: 14px; }.welcome-video-copy small { color: var(--mint); font-weight: 800; letter-spacing: .13em; }.welcome-video-copy strong { font: 800 clamp(28px,4vw,47px)/1.08 Manrope,sans-serif; }.welcome-video-copy > span { color: #d4e8e1; line-height: 1.6; }.welcome-video-copy .button { justify-self: start; margin-top: 8px; }
.video-frame,.dialog-video-frame { overflow: hidden; border-radius: 18px; background: #03110e; box-shadow: 0 18px 44px rgba(0,0,0,.34); }
.video-frame { aspect-ratio: 16/9; }.video-frame video,.dialog-video-frame video { display: block; width: 100%; height: 100%; object-fit: contain; background: #03110e; }
.intro-dialog { width: min(980px,calc(100% - 28px)); }.dialog-video-frame { aspect-ratio: 16/9; margin: 22px 0 16px; }
#rules-video-button { white-space: nowrap; }
.text-button { border: 0; background: transparent; color: var(--green); font: 700 13px inherit; cursor: pointer; padding: 12px 0 2px; text-align: left; }
.register-details { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.register-details summary { cursor: pointer; color: var(--green); font-weight: 800; }
.admin-users { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 24px; }
.admin-users-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.admin-users-heading h3 { margin: 2px 0 0; font-size: 22px; }.admin-users-heading .eyebrow { margin: 0; }
.admin-users-status { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.admin-users-status .text-button { padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--cream); text-align: center; }
.admin-users-status .text-button:disabled { cursor: wait; opacity: .65; }
#pending-count { background: #fff1dd; color: #8f5410; border-radius: 999px; padding: 6px 10px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.admin-user-list { display: grid; gap: 10px; margin-top: 15px; }
.admin-user { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; padding: 14px; background: var(--cream); border-radius: 14px; }
.admin-user strong,.admin-user small { display: block; overflow-wrap: anywhere; }.admin-user small { color: #61766f; margin-top: 3px; }
.admin-user-actions { display: flex; align-items: center; gap: 6px; }.admin-user-actions button { border: 0; border-radius: 9px; padding: 8px 10px; font-weight: 800; cursor: pointer; }
.approve-user { background: var(--green); color: white; }.reject-user { background: #f3dfdc; color: #87392f; }
.user-directory-dialog { width: min(680px,calc(100% - 28px)); }
.user-directory-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.user-directory-title h2 { margin: 0; }
#registered-count { color: #61766f; font-size: 12px; font-weight: 800; white-space: nowrap; }
.registered-user-list { display: grid; gap: 9px; margin-top: 20px; }
.registered-user { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; }
.registered-user-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: white; font-size: 12px; font-weight: 900; }
.registered-user strong,.registered-user small { display: block; overflow-wrap: anywhere; }.registered-user small { margin-top: 2px; color: #61766f; }
.membership-badge { padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; white-space: nowrap; }
.membership-badge.approved { background: #e3f5e9; color: #23623a; }.membership-badge.pending { background: #fff1dd; color: #8f5410; }.membership-badge.rejected { background: #f8e5e2; color: #87392f; }.membership-badge.blocked { background: #252b38; color: #fff; }
.registered-user-actions { grid-column: 2/-1; display: flex; justify-content: flex-end; gap: 7px; }
.registered-user-actions button { border: 0; border-radius: 9px; padding: 8px 10px; font-size: 11px; font-weight: 850; cursor: pointer; }
.registered-user-actions button:disabled { cursor: wait; opacity: .55; }.block-user { background: #252b38; color: white; }.unblock-user { background: #e3f5e9; color: #23623a; }.delete-user { background: #f8e5e2; color: #87392f; }
.pending-access { grid-column: 1/-1; padding: 28px; text-align: center; border: 1px solid #ebc98f; background: #fff8e9; border-radius: 16px; color: #73511d; }
body[data-theme="dark"] .admin-users-status .text-button { background: #171d2b; border-color: #38415d; color: #ff9b58; }
body[data-theme="dark"] .registered-user { border-color: #38415d; }body[data-theme="dark"] .registered-user small,body[data-theme="dark"] #registered-count { color: #9da2af; }
@media(max-width:600px) { .admin-users-heading { align-items: flex-start; }.admin-users-status { align-items: flex-end; flex-direction: column; }.user-directory-title { align-items: flex-start; flex-direction: column; gap: 5px; }.registered-user { grid-template-columns: auto minmax(0,1fr); }.membership-badge { grid-column: 2; justify-self: start; } }
@media(max-width:900px) { .gallery-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:900px) { .welcome-video-feature { grid-template-columns: 1fr; } }
@media(max-width:600px) { .gallery-toolbar { align-items: flex-start; flex-direction: column; }.gallery-grid { grid-template-columns: repeat(2,1fr); gap: 9px; }.gallery-card { border-radius: 11px; }.welcome-video-feature{padding:26px 18px;border-radius:20px}.welcome-video-copy .button,#rules-video-button{width:100%}.ranking-empty{min-height:230px;padding:26px 18px} }
