:root{--tgo-red:#d6072f;--tgo-red-dark:#a90525;--tgo-dark:#0b0c10;--tgo-red-tint:#fee9ee;--tgo-text:#17181d;--tgo-muted:#6b7280;--tgo-bg:#fff;--tgo-bg-subtle:#f7f7f8;--tgo-border:#0b0c1014;--tgo-success:#1a7f3c;--tgo-success-tint:#e6f6ec;--tgo-radius-card:24px;--tgo-radius-pill:999px;--tgo-radius-sm:12px;--tgo-shadow-card:0 15px 42px #00000014;--tgo-shadow-header:0 5px 22px #00000014;--tgo-font:"Inter", Arial, Helvetica, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--tgo-font);color:var(--tgo-text);background:var(--tgo-bg-subtle);-webkit-font-smoothing:antialiased}#root{min-height:100vh}h1,h2,h3,p{margin:0}a{color:inherit}button{font-family:inherit}.container{max-width:720px;margin:0 auto;padding:0 16px}.container-wide{max-width:1000px;margin:0 auto;padding:0 16px}.tgo-utility-bar{background:var(--tgo-dark);color:#fff;letter-spacing:.02em;text-align:center;padding:6px 12px;font-size:12px}.tgo-header{box-shadow:var(--tgo-shadow-header);z-index:10;background:#fffffff5;padding:14px 16px;position:sticky;top:0}.tgo-header-inner{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;display:flex}.tgo-brand-row{align-items:center;gap:10px;display:flex}.tgo-crest{flex-shrink:0;width:36px;height:auto}.tgo-brand{letter-spacing:.01em;font-size:15px;font-weight:900;line-height:1.2}.tgo-brand-sub{color:var(--tgo-red);letter-spacing:.08em;font-size:11px;font-weight:700}.btn{border-radius:var(--tgo-radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:13px 23px;font-size:15px;font-weight:900;text-decoration:none;transition:transform 50ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-red{background:var(--tgo-red);color:#fff}.btn-dark{background:var(--tgo-dark);color:#fff}.btn-outline{color:var(--tgo-dark);border:2px solid var(--tgo-border);background:0 0}.btn-block{width:100%}.btn-lg{padding:22px 24px;font-size:20px}.card{background:var(--tgo-bg);border-radius:var(--tgo-radius-card);box-shadow:var(--tgo-shadow-card);padding:24px}.card-compact{border-radius:var(--tgo-radius-sm);padding:16px}.badge{border-radius:var(--tgo-radius-pill);letter-spacing:.02em;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.badge-live{background:var(--tgo-red-tint);color:var(--tgo-red)}.badge-live:before{content:"";background:var(--tgo-red);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite pulse-dot}.badge-finished{background:var(--tgo-success-tint);color:var(--tgo-success)}.badge-muted{background:var(--tgo-bg-subtle);color:var(--tgo-muted)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field label{color:var(--tgo-muted);font-size:13px;font-weight:700}.field input,.field select{border-radius:var(--tgo-radius-sm);border:1.5px solid var(--tgo-border);background:var(--tgo-bg);color:var(--tgo-text);padding:12px 14px;font-family:inherit;font-size:16px}.field input:focus,.field select:focus{outline:2px solid var(--tgo-red);outline-offset:1px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.muted{color:var(--tgo-muted)}.text-center{text-align:center}.banner{border-radius:var(--tgo-radius-sm);padding:12px 16px;font-size:14px;font-weight:600}.banner-warning{color:#8a5a00;background:#fff6e5}.banner-info{background:var(--tgo-bg-subtle);color:var(--tgo-muted)}.match-card{border:2px solid #0000}.match-card-live{border-color:var(--tgo-red)}.match-card-label{font-size:15px;font-weight:900}.match-card-court{color:var(--tgo-muted);text-transform:none;font-size:12px;font-weight:600}.match-card-result{flex-direction:column;gap:4px;margin-top:10px;display:flex}.match-card-result-row{border-radius:var(--tgo-radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.match-card-result-row-won{background:var(--tgo-success-tint)}.match-card-result-row-won .match-card-result-name,.match-card-result-row-won .match-card-result-scores{color:var(--tgo-success)}.match-card-result-name{font-size:14px;font-weight:700}.match-card-result-scores{font-variant-numeric:tabular-nums;color:var(--tgo-dark);gap:14px;font-size:14px;font-weight:900;display:flex}.match-card-players{margin-top:4px;font-size:14px}.match-card-sets{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.set-score{color:var(--tgo-muted);background:var(--tgo-bg-subtle);border-radius:var(--tgo-radius-sm);padding:4px 10px;font-size:13px;font-weight:700}.set-score-won{color:var(--tgo-red);background:var(--tgo-red-tint)}.live-score-block{border-top:1px solid var(--tgo-border);margin-top:16px;padding-top:16px}.live-score-row{justify-content:center;align-items:center;gap:20px;display:flex}.live-score-team{flex-direction:column;align-items:center;gap:2px;min-width:72px;display:flex}.live-score-team-name{text-transform:uppercase;letter-spacing:.04em;color:var(--tgo-muted);font-size:12px;font-weight:700}.live-score-value{color:var(--tgo-dark);font-size:44px;font-weight:900;line-height:1}.live-score-sep{color:var(--tgo-border);font-size:28px;font-weight:900}.live-score-setlabel{text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:12px}.matchday-hero{text-align:center;padding:28px 0 8px}.matchday-hero-teams{margin-top:4px;font-size:22px;font-weight:900}.matchday-hero-date{color:var(--tgo-muted);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700}.viewer-badge{color:var(--tgo-muted);background:var(--tgo-bg-subtle);border-radius:var(--tgo-radius-pill);align-items:center;gap:6px;margin-top:10px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.viewer-dot{background:var(--tgo-success);border-radius:50%;width:7px;height:7px}.team-score-banner{justify-content:center;align-items:center;gap:18px;margin:16px 0 24px;display:flex}.team-score-banner .value{font-size:40px;font-weight:900}.team-score-banner .value.leading{color:var(--tgo-red)}.team-score-banner .name{font-size:14px;font-weight:700}.decided-banner{color:var(--tgo-success);margin:-12px 0 20px;font-size:14px;font-weight:700}.kiosk-page{text-align:center;background:var(--tgo-bg);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.kiosk-label{text-transform:uppercase;letter-spacing:.06em;color:var(--tgo-muted);margin-bottom:clamp(16px,3vw,40px);font-size:clamp(18px,2.4vw,32px);font-weight:900}.kiosk-score-row{justify-content:center;align-items:center;gap:clamp(24px,5vw,80px);width:100%;display:flex}.kiosk-side{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.kiosk-side-won .kiosk-name,.kiosk-side-won .kiosk-value{color:var(--tgo-success)}.kiosk-name{margin-bottom:12px;font-size:clamp(20px,3vw,40px);font-weight:800;line-height:1.15}.kiosk-value{font-variant-numeric:tabular-nums;color:var(--tgo-dark);font-size:clamp(90px,20vw,260px);font-weight:900;line-height:1}.kiosk-sep{color:var(--tgo-border);font-size:clamp(32px,8vw,100px);font-weight:900}.kiosk-setlabel{text-transform:uppercase;letter-spacing:.05em;color:var(--tgo-muted);margin-top:clamp(20px,4vw,40px);font-size:clamp(16px,2vw,26px);font-weight:700}.kiosk-sets{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(16px,3vw,32px);display:flex}.kiosk-set-chip{border-radius:var(--tgo-radius-pill);background:var(--tgo-bg-subtle);color:var(--tgo-muted);padding:8px 18px;font-size:clamp(16px,2vw,24px);font-weight:800}.kiosk-set-chip-won{background:var(--tgo-red-tint);color:var(--tgo-red)}.kiosk-status{margin-top:clamp(20px,4vw,40px);font-size:clamp(20px,3.5vw,44px);font-weight:900}.sponsor-strip{border-top:1px solid var(--tgo-border);text-align:center;margin-top:32px;padding-top:24px}.sponsor-strip-label{text-transform:uppercase;letter-spacing:.06em;color:var(--tgo-muted);margin-bottom:14px;font-size:11px;font-weight:700}.sponsor-strip-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.sponsor-strip-logo{border-radius:var(--tgo-radius-card);background:var(--tgo-bg);min-width:130px;height:130px;box-shadow:var(--tgo-shadow-card);justify-content:center;align-items:center;padding:16px 22px;display:flex}.sponsor-strip-logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.sponsor-strip-logo-berg{background:#0b2a4a}.share-modal-backdrop{z-index:100;background:#0b0c1099;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.share-modal{width:100%;max-width:340px}.score-tap-card{cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;flex-direction:column;align-items:center;gap:4px;width:100%;padding:20px;display:flex}.score-tap-card:active{background:var(--tgo-red-tint);transform:scale(.98)}.score-tap-label{text-transform:uppercase;letter-spacing:.06em;color:var(--tgo-muted);font-size:14px;font-weight:900}.score-tap-value{color:var(--tgo-dark);font-variant-numeric:tabular-nums;font-size:72px;font-weight:900;line-height:1}.score-tap-plus{color:var(--tgo-red);background:var(--tgo-red-tint);border-radius:var(--tgo-radius-pill);min-width:32px;padding:4px 14px;font-size:15px;font-weight:900}.score-tap-wrap{width:100%;position:relative}.score-tap-minus{background:var(--tgo-bg-subtle);color:var(--tgo-muted);border-radius:var(--tgo-radius-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;padding:6px 12px;font-size:13px;font-weight:900;position:absolute;top:12px;right:12px}.score-tap-minus:active{background:var(--tgo-red-tint);color:var(--tgo-red)}.score-tap-minus:disabled{opacity:.35;cursor:default}.mini-ticker-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.mini-score-btn{background:var(--tgo-bg-subtle);border-radius:var(--tgo-radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;justify-content:space-between;align-items:center;gap:6px;min-height:60px;padding:10px 8px;display:flex}.mini-score-btn:active{background:var(--tgo-red-tint);transform:scale(.98)}.mini-score-label{text-transform:uppercase;letter-spacing:.04em;color:var(--tgo-muted);writing-mode:horizontal-tb;font-size:11px;font-weight:900}.mini-score-value{color:var(--tgo-dark);text-align:center;font-variant-numeric:tabular-nums;flex:1;font-size:32px;font-weight:900}.mini-score-plus{color:var(--tgo-red);background:var(--tgo-red-tint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;font-weight:900;display:flex}.mini-link{cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px;text-decoration:underline}.mini-undo{margin-top:10px;padding:10px;font-size:14px}.mini-link-faint{cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px 0;font-size:11px;text-decoration:underline}.turnier-page{padding-bottom:40px}.turnier-hero{text-align:center;margin:22px 0 16px}.turnier-hero h1{font-size:24px;font-weight:900;line-height:1.2}.turnier-hero p{margin-top:4px;font-size:14px}.turnier-section{letter-spacing:.06em;text-transform:uppercase;color:var(--tgo-muted);margin-top:8px;font-size:13px;font-weight:900}.turnier-hint{font-size:13px}.turnier-footnote{margin-top:32px;font-size:12px}.link-btn{cursor:pointer;color:var(--tgo-muted);background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.turnier-tabs{background:var(--tgo-bg);border-radius:var(--tgo-radius-pill);box-shadow:var(--tgo-shadow-card);scrollbar-width:none;gap:4px;margin:20px 0 12px;padding:4px;display:flex;overflow-x:auto}.turnier-tabs::-webkit-scrollbar{display:none}.turnier-tab{border-radius:var(--tgo-radius-pill);color:var(--tgo-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1 0 auto;padding:10px 14px;font-size:14px;font-weight:700}.turnier-tab-active{background:var(--tgo-dark);color:#fff}.turnier-filters{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.chip-row{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border:1.5px solid var(--tgo-border);background:var(--tgo-bg);color:var(--tgo-text);border-radius:var(--tgo-radius-pill);cursor:pointer;flex:none;padding:7px 14px;font-size:13px;font-weight:700}.chip-active{background:var(--tgo-red);border-color:var(--tgo-red);color:#fff}.tm-row{background:var(--tgo-bg);border-radius:var(--tgo-radius-sm);border-left:4px solid #0000;padding:10px 14px 12px;box-shadow:0 4px 16px #0000000d}.tm-row-live{border-left-color:var(--tgo-red)}.tm-row-mine{background:#fffaf0;box-shadow:inset 0 0 0 2px #f2c14e,0 4px 16px #0000000d}.tm-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.tm-meta-right{gap:6px;margin-left:auto;display:flex}.tm-meta .badge{padding:3px 9px;font-size:11px}.tm-event{background:var(--tgo-dark);color:#fff;letter-spacing:.04em;cursor:pointer;border:none;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:900}.tm-event:disabled{cursor:default}.tm-team{justify-content:space-between;align-items:center;gap:12px;padding:3px 0;font-size:15px;display:flex}.tm-team+.tm-team{border-top:1px dashed var(--tgo-border);margin-top:3px;padding-top:6px}.tm-names{flex-direction:column;min-width:0;display:flex}.tm-name{overflow-wrap:anywhere}.tm-team-won .tm-names{font-weight:900}.tm-team-lost .tm-names{color:var(--tgo-muted)}.tm-team-me .tm-names:after{content:"DU";color:#8a6100;background:#fbe7b4;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 5px;font-size:10px;font-weight:900}.tm-placeholder{color:var(--tgo-muted);font-style:italic}.tm-seed{color:var(--tgo-muted);margin-left:3px;font-size:10px}.tm-sets{flex-shrink:0;gap:4px;display:flex}.tm-set{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;color:var(--tgo-muted);background:var(--tgo-bg-subtle);border-radius:6px;padding:2px 4px;font-weight:700}.tm-set-won{color:var(--tgo-text);background:var(--tgo-success-tint)}.my-card{margin-bottom:4px}.my-card-set{border:2px solid #f2c14e}.my-label{letter-spacing:.08em;color:var(--tgo-red);text-transform:uppercase;font-size:11px;font-weight:900}.my-name{font-size:18px;font-weight:900}.my-change{padding:8px 14px;font-size:13px}.my-search{border-radius:var(--tgo-radius-sm);border:1.5px solid var(--tgo-border);width:100%;padding:12px 14px;font-family:inherit;font-size:16px}.my-search:focus{outline:2px solid var(--tgo-red);outline-offset:1px}.my-hits{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.my-hits button{text-align:left;border:1.5px solid var(--tgo-border);background:var(--tgo-bg);border-radius:var(--tgo-radius-sm);cursor:pointer;justify-content:space-between;gap:12px;width:100%;padding:11px 14px;font-size:15px;font-weight:700;display:flex}.my-hits button .muted{font-size:13px;font-weight:400}.my-status{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.my-status li{background:var(--tgo-bg-subtle);border-radius:var(--tgo-radius-pill);padding:4px 10px;font-size:12px;font-weight:700}.my-now{margin-top:12px}.my-now-title{background:var(--tgo-red);color:#fff;border-radius:var(--tgo-radius-sm) var(--tgo-radius-sm) 0 0;padding:8px 14px;font-size:14px;font-weight:900}.my-now .tm-row{border-radius:0 0 var(--tgo-radius-sm) var(--tgo-radius-sm)}.my-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--tgo-muted);font-size:12px;font-weight:900}.my-next{color:var(--tgo-muted);padding:6px 4px 0 14px;font-size:12px}.my-done{margin-top:14px}.my-done summary,.draw-matches summary{cursor:pointer;font-size:14px;font-weight:700}.event-card{padding:16px 14px}.event-head h2{font-size:17px;font-weight:900}.draw-block{margin-top:12px}.draw-name{margin-bottom:6px;font-size:14px;font-weight:700}.draw-matches{margin-top:10px}.table-scroll{overflow-x:auto}.standings{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.standings th{text-align:center;color:var(--tgo-muted);border-bottom:1px solid var(--tgo-border);padding:6px 4px;font-size:11px;font-weight:700}.standings td{text-align:center;border-bottom:1px solid var(--tgo-border);white-space:nowrap;padding:8px 4px}.standings .standings-team{text-align:left;white-space:normal;width:100%}.standings-me td{background:#fffaf0;font-weight:700}.ko-scroll{margin:0 -14px;padding:0 14px 6px;overflow-x:auto}.ko-grid{gap:12px;width:max-content;display:flex}.ko-col{flex-direction:column;width:210px;display:flex}.ko-round{letter-spacing:.06em;color:var(--tgo-muted);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:900}.ko-col-matches{flex-direction:column;flex:1;justify-content:space-around;gap:8px;display:flex}.ko-box{border:1.5px solid var(--tgo-border);background:var(--tgo-bg);border-radius:10px;padding:6px 8px;font-size:13px}.ko-box-live{border-color:var(--tgo-red)}.ko-box-mine{background:#fffaf0;border-color:#f2c14e}.ko-info{color:var(--tgo-red);margin-bottom:2px;font-size:10px;font-weight:700}.ko-team{justify-content:space-between;gap:6px;padding:2px 0;display:flex}.ko-names{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ko-sets{font-variant-numeric:tabular-nums;color:var(--tgo-muted);flex-shrink:0}.ko-won{font-weight:900}.ko-won .ko-sets{color:var(--tgo-text)}.ko-lost{color:var(--tgo-muted)}.ko-me .ko-names{-webkit-text-decoration:underline #f2c14e;text-decoration:underline #f2c14e;text-decoration-thickness:3px}.ko-hint{text-align:center;margin-top:4px;font-size:11px}.aushang{background:var(--tgo-bg-subtle);min-height:100vh;padding:24px 16px}.aushang-print{margin:0 auto 16px;display:block}.aushang-sheet{text-align:center;max-width:760px;box-shadow:var(--tgo-shadow-card);background:#fff;margin:0 auto;padding:40px 32px}.aushang-logo{width:70px}.aushang-kicker{color:var(--tgo-red);letter-spacing:.12em;margin-top:10px;font-size:16px;font-weight:900}.aushang-title{margin-top:6px;font-size:40px;font-weight:900;line-height:1.1}.aushang-sub{color:var(--tgo-muted);margin-top:6px;font-size:18px}.aushang-qr{width:min(100%,460px);height:auto;margin:24px auto 8px;display:block}.aushang-steps{text-align:left;max-width:480px;margin:12px auto 0;font-size:18px;line-height:1.6}.aushang-url{color:var(--tgo-muted);word-break:break-all;margin-top:18px;font-size:15px}@media print{@page{size:A4 portrait;margin:12mm}.aushang{background:#fff;padding:0}.aushang-print{display:none}.aushang-sheet{box-shadow:none;padding:0}}.swiss-status{color:var(--tgo-red);background:var(--tgo-red-tint);border-radius:var(--tgo-radius-sm);margin-bottom:10px;padding:8px 12px;font-size:13px;font-weight:700}.swiss-hint{margin-top:6px;font-size:11px}.my-swiss-wait{background:var(--tgo-bg-subtle);border-radius:var(--tgo-radius-sm);color:var(--tgo-text);margin-top:12px;padding:10px 12px;font-size:13px}.system-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.system-tag{letter-spacing:.02em;color:var(--tgo-dark);background:var(--tgo-bg-subtle);border:1px solid var(--tgo-border);border-radius:var(--tgo-radius-pill);padding:3px 10px;font-size:11px;font-weight:700}
