:root {
  --ink:#10261f;
  --ink2:#17362c;
  --lime:#d9ff4f;
  --paper:#f4f5ef;
  --white:#fff;
  --muted:#64736e;
  --line:#dce2df;
  --orange:#ff7143;
  --shadow:0 18px 50px rgba(12,36,28,.12);
}

*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(217,255,79,.8);outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.45}
[hidden]{display:none!important}

.topbar{position:sticky;z-index:40;top:0;height:68px;padding:0 max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
.brand{display:inline-flex;align-items:center;gap:11px;border:0;background:none;color:#fff;cursor:pointer}
.brand span{display:grid;place-items:center;width:37px;height:37px;border:2px solid var(--lime);border-radius:50%;color:var(--lime);font-size:11px;font-weight:900}
.brand strong{font-size:13px;letter-spacing:.16em}
.top-actions{display:flex;align-items:center;gap:8px}
.top-actions button{height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:11px;font-weight:800;cursor:pointer}
.top-actions .status{display:flex;align-items:center;gap:7px;color:#aebdb7;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.top-actions .status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}

.primary,.secondary{min-height:52px;padding:0 20px;border-radius:13px;font-weight:900;cursor:pointer}
.primary{border:0;background:var(--lime);color:var(--ink)}
.secondary{border:1px solid currentColor;background:transparent;color:inherit}
.wide{width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.17em}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px rgba(217,255,79,.12)}

.landing{min-height:calc(100svh - 68px);background:var(--ink);color:#fff}
.hero{width:min(1120px,calc(100% - 40px));min-height:620px;margin:auto;padding:68px 0;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px}
.hero h1{margin:24px 0;font-size:clamp(55px,6.6vw,96px);line-height:.91;letter-spacing:-.075em}
.hero h1 em{color:var(--lime);font-style:normal}
.hero-copy>p{max-width:560px;margin:0;color:#b3c1bc;font-size:17px;line-height:1.65}
.hero-actions{display:flex;gap:10px;margin-top:34px}
.court-art{position:relative;height:460px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:#173d31;box-shadow:0 45px 110px rgba(0,0,0,.23)}
.court-art:before{content:"";position:absolute;inset:26px;border:3px solid var(--lime);opacity:.8;transform:rotate(-3deg)}
.court-art:after{content:"";position:absolute;left:50%;top:26px;bottom:26px;width:3px;background:var(--lime);opacity:.7;transform:rotate(-3deg)}
.court-art .ball{position:absolute;z-index:2;top:90px;left:calc(50% - 43px);display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:23px;font-weight:1000;transform:rotate(-10deg);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.fake-rank{position:absolute;z-index:3;left:45px;right:45px;bottom:80px;height:68px;padding:0 20px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;border-radius:17px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.fake-rank.second{bottom:20px;left:65px;right:28px;opacity:.78;transform:rotate(2deg)}
.fake-rank b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ink);color:var(--lime)}
.fake-rank span{font-weight:900}.fake-rank strong{font-size:24px}

.panel-page{width:min(800px,calc(100% - 36px));margin:auto;padding:48px 0 110px}
.panel-title span,.section-title span{color:#547067;font-size:9px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.panel-title h1,.section-title h2{margin:8px 0 10px;font-size:clamp(36px,6vw,54px);line-height:1;letter-spacing:-.055em}
.panel-title p,.section-title p{max-width:600px;margin:0;color:var(--muted);line-height:1.6}
.form-card{margin-top:34px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:block}.field.full{grid-column:1/-1}
.field>span{display:flex;justify-content:space-between;margin-bottom:8px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.field input,.field select{width:100%;height:54px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.segmented,.choice-row{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.choice-row{grid-template-columns:repeat(4,1fr)}
.segmented button,.choice-row button{height:47px;border:1px solid var(--line);border-radius:10px;background:#f1f3ef;font-size:12px;font-weight:900;cursor:pointer}
.segmented button.active,.choice-row button.active{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.players-editor{margin-top:20px;display:grid;gap:8px}
.player-input{height:55px;padding:0 8px 0 12px;display:grid;grid-template-columns:32px 1fr 36px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;background:#fff}
.player-input b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:10px}
.player-input input{height:100%;border:0;background:transparent;font-weight:800}.player-input input:focus{outline:0}
.player-input button{border:0;background:none;color:#9aa6a1;font-size:20px;cursor:pointer}
.add-player{width:100%;height:50px;margin-top:9px;border:1px dashed #a7b3ae;border-radius:11px;background:transparent;font-weight:900;cursor:pointer}
.form-submit{margin-top:22px}

.join-page{min-height:calc(100svh - 68px);padding:85px 20px;background:var(--ink);color:#fff}
.join-box{width:min(520px,100%);margin:auto}
.join-box h1{margin:20px 0;font-size:clamp(48px,10vw,74px);line-height:.94;letter-spacing:-.06em}
.join-box p{color:#a9bbb4;line-height:1.6}
.join-box input{width:100%;height:84px;margin:23px 0 11px;border:1px solid rgba(255,255,255,.24);border-radius:15px;background:rgba(255,255,255,.07);color:var(--lime);font-size:34px;font-weight:900;letter-spacing:.23em;text-align:center;text-transform:uppercase}
.join-tools{display:flex;gap:8px;margin-top:14px}.join-tools button{flex:1}

.event-head{padding:24px max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--ink2);color:#fff}
.event-head small{color:var(--lime);font-size:8px;font-weight:900;letter-spacing:.15em}
.event-head h1{margin:5px 0;font-size:clamp(21px,4vw,31px);letter-spacing:-.04em}
.event-head p{margin:0;color:#a7bab2;font-size:11px}
.code-chip{min-width:130px;padding:10px 13px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;text-align:left}
.code-chip span{display:block;color:#91a49c;font-size:8px;font-weight:900;letter-spacing:.1em}.code-chip b{display:block;margin-top:3px;color:var(--lime);font-size:19px;letter-spacing:.12em}
.content{width:min(1120px,calc(100% - 30px));margin:auto;padding:30px 0 95px}
.round-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.round-top small{color:#547067;font-size:9px;font-weight:900;letter-spacing:.15em}.round-top h2{margin:5px 0 0;font-size:30px;letter-spacing:-.04em}.round-top em{color:#9ca8a4;font-size:16px;font-style:normal}
.timer{min-width:108px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:right}.timer span{display:block;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.1em}.timer b{display:block;margin-top:2px;font-size:21px;font-variant-numeric:tabular-nums}
.matches{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.match{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 30px rgba(12,34,27,.055)}
.match>header{height:44px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ebe9;background:#f9faf7;font-size:9px;font-weight:900;letter-spacing:.1em}
.match>header b:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--orange)}
.match>header span{color:var(--muted);font-size:8px}
.team{min-height:82px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.team>div{display:flex;min-width:0;align-items:center;gap:10px}.avatar{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:50%;background:#e6ece8;color:#496158;font-size:9px;font-style:normal;font-weight:900}.team p{min-width:0;margin:0}.team p b,.team p span{display:block;overflow:hidden;max-width:190px;text-overflow:ellipsis;white-space:nowrap}.team p b{font-size:14px}.team p span{margin-top:4px;color:var(--muted);font-size:11px}.team>strong{font-size:34px}
.vs{padding:0 17px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;color:#9aa8a3;font-size:8px}.vs:before,.vs:after{content:"";height:1px;background:#e2e6e4}
.score-btn{width:100%;height:50px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border:0;background:var(--ink);color:#fff;font-size:11px;font-weight:900;cursor:pointer}.score-btn.done{background:#edf0ed;color:var(--ink)}
.bench{margin-top:14px;padding:12px 15px;display:flex;gap:13px;border:1px dashed #aeb9b5;border-radius:10px;color:var(--muted);font-size:11px}.bench b{color:var(--ink)}
.next-round{max-width:520px;margin:20px auto 0;display:block}

.tabs{position:fixed;z-index:35;left:50%;bottom:12px;width:min(540px,calc(100% - 26px));min-height:64px;padding:6px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(16,38,31,.97);box-shadow:0 14px 42px rgba(7,26,19,.28);transform:translateX(-50%);backdrop-filter:blur(12px)}
.tabs button{border:0;border-radius:12px;background:transparent;color:#9caea7;font-size:9px;font-weight:900;cursor:pointer}.tabs button span{display:block;margin-bottom:4px;font-size:15px}.tabs button.active{background:var(--lime);color:var(--ink)}

.section-title{margin-bottom:23px}.section-title h2{font-size:clamp(34px,6vw,48px)}
.leaderboard{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}
.leader-head,.rank-row{display:grid;grid-template-columns:52px minmax(150px,1fr) 52px 62px 62px;align-items:center}.leader-head{height:38px;padding:0 15px;background:var(--ink);color:#9fb0aa;font-size:8px;font-weight:900;letter-spacing:.08em}.leader-head span:nth-child(n+3){text-align:right}.rank-row{min-height:61px;padding:0 15px;border-bottom:1px solid #e7ebe9}.rank-row:last-child{border:0}.rank-row>span:nth-child(n+3),.rank-row>strong{text-align:right}.rank-row>strong{font-size:17px}.player-name{display:flex;align-items:center;gap:9px;font-weight:900;font-size:13px}.player-name .avatar{width:32px;height:32px}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:9px}.player-card{min-height:68px;padding:10px 13px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.player-card b,.player-card small{display:block}.player-card small{margin-top:4px;color:var(--muted)}
.more-grid{max-width:720px;margin:auto;display:grid;gap:12px}.info-card,.action-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.info-card.dark{background:var(--ink);color:#fff;text-align:center}.info-card.dark small{color:#91a69e;font-weight:900;letter-spacing:.14em}.info-card.dark strong{display:block;margin:10px 0;color:var(--lime);font-size:42px;letter-spacing:.13em}.info-card.dark p{color:#9fb1aa;font-size:11px}.action-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}.action-list button{width:100%;min-height:62px;padding:10px 15px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.action-list button:last-child{border:0}.action-list b,.action-list small{display:block}.action-list small{margin-top:4px;color:var(--muted)}
.history{margin-top:30px}.history h3{font-size:16px}.history details{margin-bottom:7px;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.history summary{min-height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;font-weight:900;list-style:none}.history summary::-webkit-details-marker{display:none}.history-match{padding:10px 14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.history-match strong{color:var(--ink);font-size:14px}.history-match span:last-child{text-align:right}

.modal-backdrop{position:fixed;z-index:100;inset:0;padding:18px;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,20,15,.68);backdrop-filter:blur(5px)}
.modal{width:min(560px,100%);padding:10px 21px max(21px,env(safe-area-inset-bottom));border-radius:23px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3)}
.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head small{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.modal-head h2{margin:4px 0 0}.close{width:37px;height:37px;border:0;border-radius:50%;background:#edf0ed;font-size:21px;cursor:pointer}
.score-editor{margin:24px 0 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px}.score-side{text-align:center}.score-side small{display:block;min-height:30px;color:var(--muted);font-size:10px}.score-side strong{display:block;margin:7px 0;font-size:62px;line-height:1}.score-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px}.score-controls button{height:45px;border:1px solid var(--line);border-radius:10px;background:#f2f4f1;font-size:20px;font-weight:900;cursor:pointer}.score-controls button:last-child{background:var(--lime)}
.presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.presets button{height:35px;border:1px solid var(--line);border-radius:9px;background:#f2f4f1;font-size:10px;font-weight:900;cursor:pointer}.presets button.active{border-color:var(--ink);background:var(--ink);color:var(--lime)}
.score-help{text-align:center;color:var(--muted);font-size:10px}
.toast{position:fixed;z-index:200;left:50%;bottom:92px;max-width:calc(100% - 34px);padding:12px 16px;border-radius:10px;background:var(--ink);color:#fff;box-shadow:var(--shadow);transform:translateX(-50%);font-size:11px;font-weight:800;white-space:nowrap}

.watch{width:min(100%,420px);min-height:calc(100svh - 68px);margin:auto;padding:12px;background:#071510;color:#fff}.watch-top{display:flex;justify-content:space-between;color:var(--lime);font-size:9px;font-weight:900;letter-spacing:.13em}.watch-select{padding:20px 0}.watch-select p{font-size:18px;font-weight:900}.watch-select div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.watch-select button{min-height:42px;border:1px solid #33473f;border-radius:10px;background:#142820;color:#fff;font-size:10px;font-weight:900;cursor:pointer}.watch-meta{display:flex;justify-content:space-between;margin:10px 0;color:var(--lime);font-size:10px;font-weight:900}.watch-team{min-height:52px;padding:8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;border:1px solid #2d443b;border-radius:11px;background:#10261f;text-align:center}.watch-team span{overflow:hidden;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.watch-score{height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}.watch-score b{font-size:43px}.watch-action{width:100%;height:43px;margin-top:8px;border:0;border-radius:10px;background:var(--lime);font-size:10px;font-weight:900;cursor:pointer}
.empty{padding:70px 20px;text-align:center}.empty h2{font-size:34px}.empty p{color:var(--muted)}

@media(max-width:760px){
  .hero{min-height:auto;padding:50px 0;display:block}.hero h1{font-size:clamp(54px,17vw,75px)}.hero-copy>p{font-size:15px}.hero-actions{display:grid}.court-art{height:350px;margin-top:42px;border-radius:21px}.fake-rank{left:24px;right:24px}.fake-rank.second{left:40px;right:17px}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.matches,.roster{grid-template-columns:1fr}.event-head{padding-top:19px;padding-bottom:19px}.event-head p{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-head,.rank-row{grid-template-columns:40px minmax(110px,1fr) 35px 46px 44px;padding-left:9px;padding-right:9px}.panel-page{padding-top:36px}.form-card{padding:18px}.toast{white-space:normal;text-align:center}
}

@media(max-width:390px){.brand strong{display:none}.hero h1{font-size:51px}.court-art{height:310px}.choice-row{grid-template-columns:1fr 1fr}.event-head h1{font-size:19px}.code-chip{min-width:108px}.score-side strong{font-size:51px}.top-actions button{padding:0 9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
