.tn-title{font-family:var(--font-display);margin:6px 0 18px;font-size:clamp(34px,7vw,56px);font-weight:400}.tn-tabs{gap:6px;margin-bottom:22px;display:flex;overflow-x:auto}.tn-tabs button{font:600 14px var(--font-body);border:1.5px solid var(--line);background:var(--white);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:10px 18px}.tn-tabs button.on{background:var(--blue-900);border-color:var(--blue-900);color:var(--white)}.tn-empty{color:var(--ink-soft);font-size:15px;line-height:1.6}.tn-courts,.tn-groups,.tn-list{grid-template-columns:1fr;gap:14px;display:grid}.tn-court h3,.tn-group h3,.tn-rules h3{font-family:var(--font-display);margin:0 0 8px;font-size:22px;font-weight:400}.tn-next{color:var(--ink-soft);margin:6px 2px 0;font-size:13px}.tn-match{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--white);padding:14px 16px}.tn-match.done{background:var(--blue-50)}.tn-match-meta{font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--blue-700);justify-content:space-between;margin-bottom:8px;display:flex}.tn-match-meta span{color:var(--ink-soft);font-weight:400}.tn-team{justify-content:space-between;gap:12px;padding:5px 0;font-weight:500;display:flex}.tn-team.win{color:var(--blue-900);font-weight:800}.tn-pts{font-family:var(--font-mono);font-weight:700}.tn-enter{width:100%;margin-top:8px}.tn-score{gap:10px;margin-top:10px;display:grid}.tn-score-head{justify-content:space-between;gap:12px;font-size:13px;font-weight:700;display:flex}.tn-score-row{text-align:center;grid-template-columns:72px 1fr 72px;align-items:center;gap:10px;display:grid}.tn-score-row small{color:var(--ink-soft)}.tn-score input{font:700 22px var(--font-mono);text-align:center;border:1.5px solid var(--line);border-radius:10px;width:100%;padding:10px}.tn-pin{letter-spacing:.2em;font-size:16px!important}.tn-err{color:#a33b20;margin:0;font-size:14px}.tn-score-actions{gap:8px;display:flex}.tn-rules{background:var(--blue-50);border:1px solid var(--line);border-radius:var(--radius);margin-top:28px;padding:18px 20px}.tn-rules ul{color:var(--ink-soft);margin:0;padding-left:18px;font-size:14.5px;line-height:1.7}.tn-group table{border-collapse:collapse;width:100%;font-size:14.5px}.tn-group th{font:700 11px var(--font-mono);text-transform:uppercase;color:var(--ink-soft);text-align:right;padding:6px 8px}.tn-group th:first-child,.tn-group td:first-child{text-align:left}.tn-group td{border-top:1px solid var(--line);text-align:right;font-family:var(--font-mono);padding:8px}.tn-group td:first-child{font-family:var(--font-body);font-weight:600}.tn-group tr.q{background:#f8fae9}.tn-group tr.wc{background:var(--blue-50)}.tn-group em,.tn-legend em{font:700 10px var(--font-mono);background:var(--green);color:var(--ink);border-radius:6px;margin-left:8px;padding:2px 6px;font-style:normal}.tn-legend{color:var(--ink-soft);font-size:13px}.tn-search{width:100%;font:500 16px var(--font-body);border:1.5px solid var(--line);border-radius:12px;margin-bottom:14px;padding:12px 14px}.tn-champ{background:var(--blue-900);color:var(--white);border-radius:var(--radius);text-align:center;margin-bottom:22px;padding:24px}.tn-champ small{font:700 12px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--green);display:block}.tn-champ strong{font:400 clamp(30px,6vw,52px) var(--font-display);margin:6px 0;display:block}.tn-bracket{grid-template-columns:1fr;gap:18px;display:grid}.tn-col h4{font-family:var(--font-display);margin:0 0 8px;font-size:20px;font-weight:400}.tn-bm{border:1.5px solid var(--line);background:var(--white);border-radius:12px;margin-bottom:10px;padding:10px 12px}.tn-bm small{font:700 11px var(--font-mono);color:var(--blue-700);margin-bottom:4px;display:block}.tn-bm div{justify-content:space-between;gap:10px;padding:3px 0;font-weight:500;display:flex}.tn-bm div.win{color:var(--blue-900);font-weight:800}.tn-bm b{font-family:var(--font-mono)}.tn-admin section{margin:34px 0}.tn-admin h2{font-family:var(--font-display);margin:0 0 12px;font-size:28px;font-weight:400}.tn-admin h2 small{font:400 13px var(--font-mono);color:var(--ink-soft);margin-left:10px}.tn-me{background:var(--blue-50);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;padding:16px}.tn-me label{font:700 12px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue-700);margin-bottom:6px;display:block}.tn-me select{width:100%;font:600 16px var(--font-body);border:1.5px solid var(--line);background:var(--white);border-radius:12px;padding:13px 12px}.tn-me h3{font-family:var(--font-display);margin:16px 0 8px;font-size:22px;font-weight:400}.tn-me summary{cursor:pointer;color:var(--blue-700);margin:14px 0 8px;font-weight:600}.tn-manual{gap:8px;margin:12px 0;display:grid}.tn-admin input[type=checkbox]{width:24px;height:24px;accent-color:var(--blue-700)}.tn-enter{min-height:48px}.tn-tabs button{min-height:44px}.tn-actions{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}@media (min-width:640px){.tn-courts,.tn-groups,.tn-list{grid-template-columns:repeat(2,1fr)}.tn-bracket{grid-template-columns:repeat(3,1fr)}}@media (min-width:960px){.tn-courts,.tn-groups{grid-template-columns:repeat(3,1fr)}}.tv{background:var(--blue-900);height:100vh;color:var(--white);cursor:none;flex-direction:column;gap:2vh;padding:2.2vh 2.4vw;display:flex;overflow:hidden}.tv-head{justify-content:space-between;align-items:center;display:flex}.tv-head img{vertical-align:middle;height:6vh;margin-right:1.4vw;display:inline-block}.tv-head strong{font:400 4.4vh var(--font-display);vertical-align:middle;letter-spacing:.02em}.tv-meta{font:700 2.2vh var(--font-mono);align-items:center;gap:2.4vw;display:flex}.tv-live{color:var(--green)}.tv-banner{background:#7c3a1d;border-radius:10px;padding:1vh 2vw;font-size:2vh}.tv-grid{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1.25fr 1fr;gap:2vh 1.6vw;min-height:0;display:grid}.tv-courts{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr);gap:1.4vh 1vw;min-height:0;display:grid}.tv-court{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;justify-content:center;padding:1.4vh 1.2vw;display:flex}.tv-court h3{font:400 3.4vh var(--font-display);color:var(--green);margin:0}.tv-court small{font:700 1.6vh var(--font-mono);color:var(--blue-200)}.tv-t span{font:700 2.9vh var(--font-body)}.tv-vs{font:400 1.6vh var(--font-mono);color:var(--blue-200);margin:.2vh 0}.tv-court p{color:var(--blue-200);margin:.8vh 0 0;font-size:1.6vh}.tv-side{background:#ffffff0d;border-radius:14px;padding:1.6vh 1.4vw;overflow:hidden}.tv-side h2{font:400 3.6vh var(--font-display);margin:0 0 1vh}.tv-tables{gap:1vh;display:grid}.tv .tn-group h3{color:var(--green);margin-bottom:.2vh;font-size:2.3vh}.tv .tn-group table{font-size:1.9vh}.tv .tn-group td{padding:.5vh .6vw}.tv .tn-group th{color:var(--blue-200);padding:.3vh .6vw}.tv .tn-group td{border-color:#ffffff1f}.tv .tn-group tr.q{background:#c1cd4229}.tv .tn-group tr.wc{background:#ffffff12}.tv .tn-bracket{grid-template-columns:repeat(3,1fr);gap:1vw}.tv .tn-col h4{color:var(--green);font-size:2.4vh}.tv .tn-bm{background:#ffffff12;border-color:#ffffff24;font-size:1.9vh}.tv .tn-bm small{color:var(--blue-200)}.tv .tn-bm div.win{color:var(--green)}.tv .tn-empty{color:var(--blue-200);font-size:2.2vh}.tv-recent{color:var(--blue-200);white-space:nowrap;grid-column:1/-1;gap:2vw;font-size:1.8vh;display:flex;overflow:hidden}.tv-recent b{color:var(--green);font-family:var(--font-mono)}.tv-champ{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.tv-champ small{font:700 3vh var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--green)}.tv-champ strong{font:400 11vh var(--font-display);margin:2vh 0}.tv-champ span{color:var(--blue-200);font-size:3vh}.tv-side{flex-direction:column;min-height:0;display:flex}.tv-side-head{justify-content:space-between;align-items:center;margin-bottom:1vh;display:flex}.tv-side-head h2{margin:0}.tv-dots{gap:.6vw;display:flex}.tv-dots i{background:#ffffff40;border-radius:50%;width:1vh;height:1vh;transition:background .5s,transform .5s}.tv-dots i.on{background:var(--green);transform:scale(1.4)}.tv-panels{flex:1;min-height:0;position:relative}.tv-panel{opacity:0;pointer-events:none;transition:opacity .9s,transform .9s;position:absolute;inset:0;transform:translateY(1.2vh)}.tv-panel.on{opacity:1;transform:none}.tv-progress{background:#ffffff1f;border-radius:99px;height:.5vh;margin-top:1vh;overflow:hidden}.tv-progress i{background:var(--green);transform-origin:0;height:100%;animation:14s linear forwards tv-fill;display:block}@keyframes tv-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tv-pop{animation:.7s cubic-bezier(.2,.8,.2,1) tv-pop}@keyframes tv-pop{0%{opacity:0;transform:translateY(1.5vh)scale(.97)}to{opacity:1;transform:none}}.tv-live{animation:1.6s ease-in-out infinite tv-pulse}@keyframes tv-pulse{50%{opacity:.35}}.tv-court{transition:background .4s}.tv-recent{animation:.8s tv-pop}.tn-recent{margin-top:26px}.tn-recent h3{font-family:var(--font-display);margin:0 0 8px;font-size:22px;font-weight:400}.tn-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;display:grid}.tn-summary div{background:var(--blue-900);color:var(--white);border-radius:var(--radius);text-align:center;padding:14px 12px}.tn-summary b{font:400 34px var(--font-display);color:var(--green);display:block}.tn-summary span{color:var(--blue-200);font-size:12px}.tn-card{background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:20px;padding:20px 18px}.tn-card h2{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 8px;font-size:26px;font-weight:400;display:flex}.tn-card h2 i{font:700 15px var(--font-body);background:var(--green);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-style:normal;display:inline-flex}.tn-card h2 small{font:400 13px var(--font-body);color:var(--ink-soft)}.tn-card h3{font:700 13px var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--blue-700);margin:20px 0 8px}.tn-help{color:var(--ink-soft);margin:0 0 14px;font-size:14.5px;line-height:1.65}.tn-ok{color:#5e6a12;font-size:14px;font-weight:600}.tn-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tn-chips button{font:600 13px var(--font-body);border:1.5px solid var(--line);background:var(--white);min-height:40px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:9px 14px}.tn-chips button.on{background:var(--blue-900);border-color:var(--blue-900);color:var(--white)}.tn-plist{gap:8px;display:grid}.tn-player{border:1.5px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.tn-player.here{border-color:var(--green-dark);background:#f8fae9}.tn-player.team{background:var(--blue-50)}.tn-player strong{font-size:15.5px;display:block}.tn-player small{color:var(--ink-soft);margin-top:2px;font-size:12.5px;display:block}.tn-tag{font:700 12px var(--font-mono);color:var(--blue-700)}.tn-pick{flex-wrap:wrap;gap:8px;display:flex}.tn-pick button{font:600 15px var(--font-body);text-align:left;border:2px solid var(--line);background:var(--white);cursor:pointer;border-radius:12px;min-height:48px;padding:12px 16px}.tn-pick button small{color:var(--ink-soft);font-size:12px;font-weight:400;display:block}.tn-pick button.on{border-color:var(--blue-700);background:var(--blue-100)}.tn-make{background:var(--blue-100);border-radius:12px;gap:10px;margin-top:14px;padding:14px;display:grid}.tn-make p{margin:0}.tn-make input,.tn-manual input{font:500 16px var(--font-body);border:1.5px solid var(--line);border-radius:12px;padding:12px}.tn-suggest{gap:8px;margin-bottom:6px;display:grid}.tn-suggest h3{margin-bottom:0}.tn-more{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.tn-more summary,.tn-test summary{cursor:pointer;color:var(--blue-700);min-height:32px;font-weight:600}.tn-more .tn-manual{margin-top:10px}.tn-team-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tn-pin{font:700 15px var(--font-mono);background:var(--ink);color:var(--green);border-radius:8px;padding:6px 10px}.tn-team-actions .btn{min-height:40px;padding:8px 14px}.tn-test{background:var(--blue-50);border-style:dashed}.tn-test .tn-actions{margin-top:10px}.tn-card .btn[disabled]{opacity:.45;cursor:not-allowed}@media (min-width:960px){.tn-plist{grid-template-columns:repeat(2,1fr)}.tn-make{grid-template-columns:1fr 1fr auto;align-items:center}.tn-make p{grid-column:1/-1}}.tn-hub{flex-wrap:wrap;gap:6px;margin-bottom:22px;display:flex}.tn-hub>*{font:600 14px var(--font-body);border:1.5px solid var(--line);background:var(--white);min-height:44px;color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;padding:10px 18px;text-decoration:none;display:inline-flex}.tn-hub .on{background:var(--blue-900);border-color:var(--blue-900);color:var(--white)}.tn-hub button{margin-left:auto}.tn-login{gap:12px;max-width:380px;display:grid}.tn-login input{font:700 22px var(--font-mono);letter-spacing:.3em;text-align:center;border:1.5px solid var(--line);border-radius:12px;padding:14px}.tn-org{text-align:center;margin:0 0 28px;font-size:13px}.tn-org a{color:var(--ink-soft)}.ltp-banner{background:var(--blue-900);color:var(--white);border-radius:var(--radius);margin:14px 0;padding:14px 16px;font-weight:600}.ltp-blocks{gap:12px;display:grid}.ltp-block{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--white);padding:14px 16px}.ltp-block.now{border-color:var(--green-dark);background:#f8fae9;box-shadow:0 0 0 3px #c1cd4259}.ltp-block.done{opacity:.55}.ltp-head{font:700 13px var(--font-mono);color:var(--blue-700);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ltp-chip{font:700 11px var(--font-mono);text-transform:uppercase;background:var(--green);color:var(--ink);border-radius:999px;padding:3px 9px}.ltp-chip:empty{display:none}.ltp-where{margin:0 0 6px;font-size:17px;font-weight:800}.ltp-sub{color:var(--ink-soft);margin:0;font-size:14.5px}.ltp-free{color:var(--ink-soft);margin:0}.ltp-rounds{gap:6px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.ltp-rounds small{font:700 11px var(--font-mono);color:var(--blue-700);margin-right:8px}.ltp-courts{color:var(--ink-soft);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.ltp-tv-grid{flex:1;grid-template-columns:1.5fr 1fr;gap:1.6vw;min-height:0;display:grid}.ltp-tv-courts{align-content:stretch;gap:1.4vh 1vw;display:grid}.ltp-tv-court{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;padding:1.6vh 1.2vw;animation:.7s cubic-bezier(.2,.8,.2,1) tv-pop}.ltp-tv-court.coached{border-color:var(--green);background:#c1cd421f}.ltp-tv-court h3{font:400 4.4vh var(--font-display);color:var(--green);justify-content:space-between;gap:1vw;margin:0 0 1.4vh;display:flex}.ltp-tv-court h3 span{font:700 2vh var(--font-mono);color:var(--blue-200);align-self:center}.ltp-tv-names{font:700 3.6vh var(--font-body);flex-wrap:wrap;gap:.6vh 1vw;margin-bottom:1.6vh;display:flex}.ltp-tv-match{font:700 3.8vh var(--font-body);gap:1.2vh;margin-top:1vh;display:grid}.ltp-tv-match i{font:400 2vh var(--font-mono);color:var(--green);font-style:normal}.ltp-tv-court ol{color:var(--blue-200);gap:.9vh;margin:0;padding:0;font-size:2.4vh;list-style:none;display:grid}.ltp-tv-court ol i{color:var(--green);font-style:normal;font-family:var(--font-mono);font-size:1.8vh}.ltp-tv-side h2{margin:0 0 1.2vh;font-size:3.6vh}.ltp-tv-rest{margin:0 0 2.4vh;font-size:2.8vh;line-height:1.7}.ltp-tv-next{color:var(--blue-200);margin:0 0 1vh;font-size:2.6vh}.ltp-tv-next b{color:var(--green)}.ltp-admin-controls{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.ltp-admin-controls .big{font:400 30px var(--font-display);margin-right:8px}.all-head{margin-bottom:1.2vh}.all-head h2{font:400 4.4vh var(--font-display);margin:0}.all-head h2 em{font-style:normal;font:700 2vh var(--font-mono);letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:var(--ink);vertical-align:middle;border-radius:99px;margin-right:1.2vh;padding:.5vh 1.2vh}.all-head h2 em.ltp{background:var(--blue-200)}.tv-courts-wide{gap:1.6vh 1.2vw;height:100%;display:grid}.tv-courts-wide .tv-court h3{font-size:4.4vh}.tv-courts-wide .tv-t span{font-size:3.6vh}.tv-courts-wide .tv-court small,.tv-courts-wide .tv-court p{font-size:2vh}.tv-groups3{grid-template-columns:repeat(3,1fr);align-content:start;gap:1.6vw;height:100%;display:grid}.tv-groups3 .tn-group h3{margin-bottom:1vh;font-size:4vh}.tv-groups3 .tn-group table{font-size:3vh}.tv-groups3 .tn-group td{padding:2.2vh .8vw}.tv-groups3 .tn-group th{font-size:1.8vh}.tv-bracket-wide{align-items:center;height:100%;display:flex}.tv-bracket-wide .tn-bracket{gap:2vw;width:100%}.tv-bracket-wide .tn-bm{padding:1.4vh 1.2vw;font-size:2.5vh}.tv-bracket-wide .tn-bm small{font-size:1.6vh}.tv-bracket-wide .tn-col h4{font-size:3.2vh}.tv-panels .tv-champ,.tv-panels .ltp-tv-grid{height:100%}.all-banner{border-radius:2vh;align-items:center;gap:2.4vw;margin-bottom:1.8vh;padding:1.2vh 2.2vw;animation:.6s cubic-bezier(.2,.8,.2,1) tv-pop;display:flex}.all-banner.tour{background:var(--green);color:var(--ink)}.all-banner.ltp{color:#06283b;background:#5bb8e8}.all-banner h1{font:400 9.5vh/1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;margin:0}.all-banner .all-sub{font:700 3.6vh var(--font-body);margin-left:auto}.all-banner .tv-dots{margin-left:1vw}.all-banner .tv-dots i{background:#00000040;width:1.3vh;height:1.3vh}.all-banner .tv-dots i.on{background:#0a3d57;transform:scale(1.5)}.tn-player.team.pending{background:#fff8e6;border-color:#e0a800}.tn-player.team.pending small b{color:#9a6b00}.tn-addpartner{border-top:1px dashed #e0a800;flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;padding-top:10px;display:flex}.tn-addpartner select{font:600 15px var(--font-body);border:1.5px solid var(--line);background:var(--white);border-radius:12px;flex:220px;min-height:44px;padding:10px 12px}.tv-groups3.tv-groups4{grid-template-columns:repeat(2,1fr);align-content:start;gap:1.6vh 2vw}.tv-groups4 .tn-group h3{margin:0 0 .4vh;font-size:2.8vh}.tv-groups4 .tn-group table{font-size:2.3vh}.tv-groups4 .tn-group td{padding:.9vh .8vw}.tv-groups4 .tn-group th{padding:.3vh .8vw;font-size:1.5vh}
