.tournaments-page{max-width:1280px;width:100%;min-height:var(--app-stable-vh, 100vh);margin:0 auto;padding:40px 16px 60px;box-sizing:border-box;color:var(--text-color, #fff)}:where(.tournaments-page) button:hover{border-color:var(--accent-color, #bf5af2)}.tournaments-page.opening .tour-game{cursor:progress}.tour-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 16px;border-radius:8px;background:#7f1d1d;color:#fee2e2;font-size:.9rem;box-shadow:0 8px 24px #00000073}.tour-toast button{border:none;background:none;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer}.tournaments-header{text-align:center;margin-bottom:40px}.tournaments-header h1{font-size:2.2rem;font-weight:700;margin:0 0 12px}.tournaments-subtitle{font-size:1.05rem;color:#fff9;max-width:620px;margin:0 auto;line-height:1.6}.tournaments-section-title{font-size:1.15rem;font-weight:600;margin:0 0 14px;color:#ffffffd9}.tournaments-section-title.recent{margin-top:36px}.tournaments-thanks{margin:0 0 14px;font-size:.95rem;color:#ffffffbf}.tournaments-thanks a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}.tour-empty{padding:32px 16px;text-align:center;color:#ffffff80;font-size:.95rem}.tour-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:12px;margin-bottom:20px;overflow:hidden}.tour-card.skeleton{height:420px;animation:tour-pulse 1.4s ease-in-out infinite}.tour-card-header{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;background:#ffffff08;border:none;border-bottom:1px solid rgba(255,255,255,.1);color:inherit;font:inherit;text-align:left;cursor:pointer}.tour-card.collapsed .tour-card-header{border-bottom-color:transparent}.tour-card-header:hover{background:#ffffff0f}.tour-card-header:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:-2px}.tour-card-heading{flex:1;min-width:0}.tour-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.tour-card-title-row h2{font-size:1.3rem;font-weight:700;margin:0}.tour-card-meta,.tour-card-players{margin:6px 0 0;font-size:.88rem;color:#fff9;line-height:1.45}.tour-card-players{color:#ffffff73}.tour-live-badge,.tour-upcoming-badge,.tour-finished-badge{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px}.tour-live-badge{background:#dc2626;color:#fff}.tour-finished-badge{background:#3f3f46;color:#e4e4e7}.tour-upcoming-badge{background:#3b82f6;color:#eff6ff}.tour-chevron{flex-shrink:0;color:#fff9;transition:transform .2s ease}.tour-card.collapsed .tour-chevron{transform:rotate(-90deg)}.tour-card-body{padding:16px 20px 20px}.tour-section-rows{display:grid;gap:8px;margin-bottom:14px}.tour-sections{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tour-division{flex:0 0 64px;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffff80}.tour-section-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#ffffffbf;font:inherit;font-size:.85rem;cursor:pointer}.tour-section-tab:hover{border-color:var(--accent-color, #bf5af2);color:#fff}.tour-section-tab.active{background:#fff;border-color:#fff;color:#111}.tour-dot{width:7px;height:7px;border-radius:50%;background:#dc2626}.tour-round-nav{display:flex;align-items:center;gap:8px;margin-bottom:16px}.tour-round-step,.tour-round-select{height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:inherit;font:inherit}.tour-round-step{display:inline-flex;align-items:center;justify-content:center;width:36px;padding:0;cursor:pointer}.tour-round-step:disabled{opacity:.35;cursor:default}.tour-round-step{flex-shrink:0}.tour-round-select{padding:0 10px;min-width:160px}.tour-round-stepper{display:flex;align-items:center;gap:8px;min-width:0}.tour-round-select option{background:#1e1e1e}.tour-card-grid{--boards-bar-h: 38px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:20px;align-items:start}.tour-card-grid.results{--boards-bar-h: 0px}@media(max-width:960px){.tour-card-grid{grid-template-columns:minmax(0,1fr)}}.tour-boards-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:calc(var(--boards-bar-h) - 10px);margin-bottom:10px;font-size:.88rem;color:#fff9}.tour-boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.tour-game{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0;transition:border-color .15s ease,transform .15s ease}.tour-game:hover{border-color:var(--accent-color, #bf5af2);transform:translateY(-1px)}.tour-game:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:2px}.tour-game.skeleton{aspect-ratio:.82;cursor:default;animation:tour-pulse 1.4s ease-in-out infinite}.tour-boards-scroll{max-height:var(--rows-height, none);overflow-y:auto;padding:3px 6px 3px 3px;margin:-3px -6px -3px -3px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-board-row{display:flex;gap:4px}.tour-board-wrap{flex:1;min-width:0;aspect-ratio:1;position:relative}.tour-eval{flex:0 0 8px;position:relative;border-radius:2px;overflow:hidden;background:#3a3a3a}.tour-eval-white{position:absolute;inset:auto 0 0;background:#f2f2f2;transition:height .6s ease}.tour-eval.none{background:repeating-linear-gradient(-45deg,#333 0 4px,#2a2a2a 4px 8px)}.tour-eval.stale .tour-eval-white{opacity:.6}.tour-board-cg{width:100%;height:100%}.tour-board-cg cg-board{cursor:pointer}.tour-player{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.8rem;min-width:0}.tour-player-name{display:flex;align-items:center;gap:5px;min-width:0}.tour-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-title{flex-shrink:0;font-size:.68rem;font-weight:700;padding:1px 4px;border-radius:3px;background:#b45309;color:#fff7ed}.tour-rating{flex-shrink:0;color:#ffffff80}.tour-clock{flex-shrink:0;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:4px;background:#ffffff14;color:#ffffffb3}.tour-clock.running{background:#fff;color:#111;font-weight:600}.tour-result{flex-shrink:0;font-weight:700;min-width:18px;text-align:center}.tour-link-btn{background:none;border:none;padding:0;color:var(--accent-color, #bf5af2);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:none}.tour-link-btn:hover{text-decoration:underline}.tour-more-btn{display:block;width:100%;margin-top:12px;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:#fffc;font:inherit;font-size:.88rem;cursor:pointer}.tour-more-btn:hover{background:#ffffff14}.tour-standings{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px;background:#ffffff05;min-width:0;container-type:inline-size}.tour-standings-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.tour-standings-head h3{margin:0;font-size:1rem;font-weight:600}.tour-standings-tabs{display:flex;gap:4px;padding:3px;margin-bottom:8px;border-radius:8px;background:#ffffff0d}.tour-standings-tab{flex:1;padding:6px 10px;border:none;border-radius:6px;background:transparent;color:#ffffffa6;font:inherit;font-size:.85rem;cursor:pointer}.tour-standings-tab.active{background:#fff;color:#111;font-weight:600}.tour-team-row{cursor:pointer}.tour-team-row.alt td{background:#ffffff09}.tour-team-row:hover td{background:#ffffff0a}.tour-team-row.expanded td{background:#ffffff0f}.tour-team-matches td{padding:4px 4px 10px;border-top:none;background:#ffffff0f}.tour-team-matches ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}.tour-team-matches li{display:flex;align-items:center;gap:8px;font-size:.78rem;min-width:0}.tour-match-round{flex:0 0 28px;color:#ffffff73}.tour-match-outcome{flex:0 0 18px;text-align:center;font-size:.7rem;font-weight:700;border-radius:3px;padding:1px 0}.tour-match-outcome.win{background:#15803d;color:#f0fdf4}.tour-match-outcome.draw{background:#52525b;color:#fafafa}.tour-match-outcome.loss{background:#b91c1c;color:#fef2f2}.tour-match-outcome.open{background:#3f3f46;color:#a1a1aa}.tour-match-gp{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.tour-match-live{font-size:.62rem;font-weight:700;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:#dc2626;color:#fff}.tour-standings-note{margin:0 0 8px;font-size:.78rem;color:#ffffff73}.tour-standings-skeleton{height:360px;border-radius:6px;animation:tour-pulse 1.4s ease-in-out infinite}.tour-standings-scroll{max-height:640px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}@media(min-width:961px){.tour-card-grid{align-items:stretch}.tour-standings{height:0;margin-top:var(--boards-bar-h);min-height:max(calc(100% - var(--boards-bar-h)),420px);box-sizing:border-box;display:flex;flex-direction:column}.tour-standings-scroll{flex:1 1 auto;min-height:0;max-height:none}.tour-standings .tour-more-btn{flex-shrink:0}}.tour-standings table{width:100%;border-collapse:collapse;font-size:.82rem}.tour-standings th{position:sticky;top:0;background:#1f1f1f;font-weight:600;color:#ffffff8c;text-align:left;padding:6px 4px;z-index:1}.tour-standings th button{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer}.tour-standings th.sorted{color:#fff}.tour-standings td{padding:6px 4px;border-top:1px solid rgba(255,255,255,.06)}.tour-standings tbody tr:not(.tour-team-row):not(.tour-team-matches):nth-child(2n) td{background:#ffffff09}.tour-standings .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tour-standings th.num{text-align:right}.tour-standings td.rank{color:#ffffff80}.tour-standings td.player{max-width:0;width:100%}.tour-standings table.roomy{font-size:.9rem}.tour-standings table.roomy th{padding:8px 5px}.tour-standings table.roomy td{padding:11px 5px}.tour-standings table.roomy .num:not(:first-child){padding-left:9px}.tour-standings table.roomy td.player .tour-cell-flex{gap:6px}@container (max-width: 459px){.tour-standings .hide-narrow,.tour-standings table.roomy .tour-title{display:none}}@container (min-width: 460px){.tour-standings table.roomy{font-size:.95rem}.tour-standings table.roomy th{padding:9px 7px}.tour-standings table.roomy td{padding:12px 7px}.tour-standings table.roomy .num:not(:first-child){padding-left:13px}}@container (min-width: 560px){.tour-standings table.roomy{font-size:1.02rem}.tour-standings table.roomy th{padding:10px 12px}.tour-standings table.roomy td{padding:13px 12px}.tour-standings table.roomy .num:not(:first-child){padding-left:20px}.tour-standings table.roomy td.player .tour-cell-flex{gap:8px}}.tour-standings td.score{font-weight:700}.tour-standings .played{font-weight:400;color:#fff6}.tour-standings .diff.up{color:#4ade80}.tour-standings .diff.down{color:#f87171}.tour-fed{flex-shrink:0;font-size:.7rem;color:#ffffff73}.tour-flag{flex-shrink:0;width:16px;height:12px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #00000059}.tour-result-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#00000061;pointer-events:none}.tour-result-score{padding:6px 14px;border-radius:8px;background:#1c1c1c;border:1px solid #3a3a3a;color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums;box-shadow:0 4px 14px #00000073}@media(min-width:961px){.tour-standings .wide-only{display:none}}@media(min-width:961px)and (max-width:1240px){.tour-standings .hide-narrow{display:none}}.tour-cols-toggle{margin-left:auto;display:inline-flex;flex-shrink:0;border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden}.tour-cols-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;padding:0;border:none;background:transparent;color:#ffffff8c;cursor:pointer}.tour-cols-btn+.tour-cols-btn{border-left:1px solid rgba(255,255,255,.18)}.tour-cols-btn.active{background:#fff;color:#111}.tour-cols-btn:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:-2px}@media(max-width:560px){.tour-boards-scroll{max-height:min(var(--rows-height, 70vh),70vh)}.tour-boards-grid.cols-1{grid-template-columns:minmax(0,1fr);gap:12px}.tour-boards-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tour-boards-grid.cols-1 .tour-player{font-size:.9rem}.tour-boards-grid.cols-2 .tour-rating{display:none}}@media(max-width:640px){.tour-section-rows{gap:12px}.tour-sections{gap:6px}.tour-division{flex:0 0 100%;font-size:.72rem}.tour-section-tab{padding:5px 11px;font-size:.8rem}.tour-round-nav{flex-wrap:wrap;row-gap:10px}.tour-round-nav .tour-cols-toggle{margin-left:auto}.tour-round-stepper{flex:1 0 100%}.tour-round-stepper .tour-round-select{flex:1;min-width:0}}@media(max-width:480px){.tour-standings .hide-narrow{display:none}.tour-card-header{padding:14px 16px}.tour-card-body{padding:12px 16px 16px}}@keyframes tour-pulse{0%,to{background-color:#ffffff0a}50%{background-color:#ffffff14}}.tour-search{display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto 28px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:#ffffff80}.tour-search:focus-within{border-color:#fff6}.tour-search input{flex:1;min-width:0;min-height:46px;border:none;outline:none;background:transparent;color:var(--text-color, #fff);font:inherit;font-size:.95rem}.tour-tl{margin-bottom:20px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#1c1c1e;overflow:hidden}.tour-tl-head{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 16px 4px}.tour-tl-head h2{margin:0;font-size:1rem;font-weight:600}.tour-tl-tiers{height:30px;margin-right:auto;padding:0 8px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:inherit;font:inherit;font-size:.8rem;cursor:pointer}.tour-tl-tiers option{background:#1e1e1e}.tour-tl-legend{display:flex;gap:14px;font-size:.78rem;color:#ffffff8c}.tour-tl-legend span{display:inline-flex;align-items:center;gap:6px}.tour-tl-legend span:before{content:"";width:10px;height:10px;border-radius:3px}.tour-tl-legend .past:before{background:#52525b}.tour-tl-legend .current:before{background:#dc2626}.tour-tl-legend .upcoming:before{background:#3b82f6}.tour-tl-legend .expected:before{background:repeating-linear-gradient(90deg,#3b82f6 0 3px,transparent 3px 5px);box-shadow:inset 0 0 0 1px #3b82f6}.tour-tl-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer}.tour-tl-toggle h2{margin:0;font-size:1rem;font-weight:600}.tour-tl-toggle .tour-chevron{color:#fff9;transition:transform .2s ease}.tour-tl.collapsed .tour-tl-toggle .tour-chevron{transform:rotate(-90deg)}.tour-tl.collapsed .tour-tl-head{padding-bottom:12px}.tour-tl-scroll{overflow-x:auto;overflow-y:hidden;padding:0 16px 14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.tour-tl-canvas{position:relative}.tour-tl-axis{position:relative;height:26px;border-bottom:1px solid rgba(255,255,255,.12)}.tour-tl-month{position:absolute;bottom:6px;padding-left:6px;font-size:.75rem;color:#ffffff80;white-space:nowrap;text-transform:capitalize}.tour-tl-month.year{color:#fff;font-weight:600}.tour-tl-lanes{position:relative;padding-bottom:22px;box-sizing:content-box}.tour-tl-grid{position:absolute;top:0;bottom:0;width:1px;background:#ffffff0f}.tour-tl-grid.year{background:#ffffff2e}.tour-tl-today{position:absolute;top:-26px;bottom:-2px;width:2px;margin-left:-1px;background:#fff;z-index:0;pointer-events:none}.tour-tl-today span{position:absolute;bottom:0;left:6px;padding:1px 6px;border-radius:4px;background:#fff;color:#111;font-size:.7rem;font-weight:700;white-space:nowrap}.tour-tl-item{position:absolute;display:flex;flex-direction:column;gap:5px;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;z-index:1}.tour-tl-item:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:3px;border-radius:4px}.tour-tl-name{align-self:flex-start;max-width:240px;padding-right:4px;background:#1c1c1e;font-size:.75rem;font-weight:600;line-height:18px;color:#ffffffb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.tour-tl-rail{display:block;height:8px;border-radius:4px;transition:filter .15s ease,box-shadow .15s ease}.tour-tl-item.past .tour-tl-rail{background:#52525b}.tour-tl-item.current .tour-tl-rail{background:#b91c1c}.tour-tl-item.current.live .tour-tl-rail{background:#dc2626}.tour-tl-item.upcoming .tour-tl-rail{background:#3b82f6}.tour-tl-item.expected .tour-tl-rail{background:repeating-linear-gradient(90deg,rgba(59,130,246,.75) 0 8px,transparent 8px 13px);box-shadow:inset 0 0 0 1px #3b82f68c}.tour-tl-item.expected .tour-tl-name{color:#ffffff8c;font-weight:500}.tour-tl-item.expected .tour-tl-name em{font-style:normal;color:#93c5fd}.tour-tl-item.current .tour-tl-name,.tour-tl-item.upcoming .tour-tl-name{color:#fff}.tour-tl-item.minor{opacity:.7}.tour-tl-item.minor:hover,.tour-tl-item.minor.selected{opacity:1}.tour-tl-part{font-weight:500;color:#ffffff8c}.tour-tl-item:hover{z-index:3}.tour-tl-item:hover .tour-tl-name{color:#fff}.tour-tl-item:hover .tour-tl-rail{filter:brightness(1.35)}.tour-tl-item.selected{z-index:3}.tour-tl-item.selected .tour-tl-name{color:#fff}.tour-tl-item.selected .tour-tl-rail{box-shadow:0 0 0 2px #1c1c1e,0 0 0 4px #fff}.tour-tl-scroll{cursor:grab}.tour-tl-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.tour-tl-scroll.dragging .tour-tl-item{cursor:grabbing}.tour-mode-switch{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;margin-right:8px;border-radius:8px;background:#ffffff0d}.tour-mode-switch button{height:30px;padding:0 14px;border:none;border-radius:6px;background:transparent;color:#ffffffa6;font:inherit;font-size:.85rem;cursor:pointer}.tour-mode-switch button:hover{color:#fff}.tour-mode-switch button.active{background:#fff;color:#111;font-weight:600}.tour-results{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;background:#ffffff05;min-width:0}.tour-results-tabs{max-width:420px}.tour-rr-strip{position:relative;display:flex;gap:2px;overflow-x:auto;margin-bottom:8px;padding-bottom:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-rr-step{flex-shrink:0;min-width:36px;padding:8px 8px 6px;border:none;border-bottom:2px solid transparent;background:none;color:#fff9;font:inherit;font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.tour-rr-step:hover{color:#fff;border-bottom-color:color-mix(in srgb,var(--accent-color, #bf5af2) 55%,transparent)}.tour-rr-step.active{color:#fff;font-weight:700;border-bottom-color:var(--accent-color, #bf5af2)}.tour-rr-step.live{color:#f87171}.tour-rr-step.live.active{border-bottom-color:#dc2626}.tour-rr-list{list-style:none;margin:0;padding:0;max-width:880px}.tour-rr-list li+li{border-top:1px solid rgba(255,255,255,.06)}.tour-rr-row{display:grid;grid-template-columns:24px minmax(0,1fr) 44px 92px 44px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:10px 6px;border:none;border-radius:6px;background:none;color:inherit;font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.tour-rr-list li:nth-child(2n) .tour-rr-row{background:#ffffff09}.tour-rr-list li .tour-rr-row:hover{background:#ffffff12}.tour-rr-board{color:#ffffff73;text-align:right;font-variant-numeric:tabular-nums}.tour-rr-player{display:flex;align-items:center;gap:5px;min-width:0}.tour-rr-player .tour-name-text{font-weight:600}.tour-rr-outcome{font-size:.8rem;text-align:right}.tour-rr-score+.tour-rr-outcome{text-align:left}.tour-rr-outcome.win{color:#4ade80}.tour-rr-outcome.loss{color:#f87171}.tour-rr-outcome.draw{color:#ffffffb3}.tour-rr-score{display:grid;grid-template-columns:14px 1fr 14px;align-items:center;gap:6px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.tour-rr-color{width:14px;height:14px;border-radius:3px}.tour-rr-color.white{background:#f4f4f5}.tour-rr-color.black{background:#3f3f46;box-shadow:inset 0 0 0 1px #ffffff40}.tour-rr-live{color:#f87171;font-size:.75rem;font-weight:600}.tour-rr-row.team .tour-name-text{font-size:.9rem}.tour-rr-list li.expanded>.tour-rr-row{background:#ffffff12}.tour-rr-boards{list-style:none;margin:2px 0 8px 24px;padding:0 0 0 10px;border-left:2px solid var(--accent-color, #bf5af2)}.tour-rr-boards .tour-rr-row{padding:7px 6px;font-size:.8rem;background:none}.tour-rr-list .tour-rr-boards li .tour-rr-row{background:none}.tour-rr-list .tour-rr-boards li .tour-rr-row:hover{background:#ffffff12}@media(max-width:640px){.tour-rr-row{grid-template-columns:18px minmax(0,1fr) auto minmax(0,1fr);gap:6px}.tour-rr-outcome,.tour-rr-color,.tour-rr-player .tour-rating,.tour-rr-player .tour-title{display:none}}.tour-xt-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-xt{border-collapse:collapse;font-size:.85rem;font-variant-numeric:tabular-nums}.tour-xt th{padding:8px 6px;font-weight:600;color:#ffffff8c;text-align:left;white-space:nowrap}.tour-xt td{padding:7px 6px;border-top:1px solid rgba(255,255,255,.06);white-space:nowrap}.tour-xt .num{text-align:right}.tour-xt td.rank{color:#ffffff80}.tour-xt td.score{font-weight:700}.tour-xt td.player .tour-cell-flex{max-width:220px}.tour-xt td.player,.tour-xt th.player{position:sticky;left:0;z-index:1;background:#1f1f1f}.tour-cell-flex{display:flex;align-items:center;gap:5px;min-width:0}.tour-mc th.row .tour-cell-flex{gap:8px}.tour-xt th.opp{text-align:center;min-width:44px;line-height:1.2}.tour-xt-opp{display:block;font-size:.66rem;font-weight:700;color:#fff6}.tour-xt th.opp,.tour-xt td.cell,.tour-xt td.self{border-left:1px solid rgba(255,255,255,.06)}.tour-xt td.cell{text-align:center}.tour-xt tbody tr:nth-child(2n) td{background:#ffffff09}.tour-xt tbody tr:nth-child(2n) td.player{background:#262626}.tour-xt tbody tr td.self{background:#ffffff17}.tour-xt tbody tr:hover td{background:#ffffff12}.tour-xt tbody tr:hover td.player{background:#2c2c2c}.tour-xt-res{min-width:18px;padding:1px 2px;border:none;border-radius:3px;background:none;font:inherit;font-weight:700;cursor:pointer}.tour-xt-res+.tour-xt-res{margin-left:4px}.tour-xt-res:hover{background:#ffffff1f}.tour-xt-res.win{color:#4ade80}.tour-xt-res.loss{color:#f87171}.tour-xt-res.draw{color:#ffffffbf;font-weight:500}.tour-xt-res.open{color:#ffffff59}@media(max-width:1240px){.tour-xt .hide-narrow{display:none}}@media(max-width:560px){.tour-xt .tour-title{display:none}.tour-xt td.player .tour-cell-flex{max-width:130px}.tour-results-tabs .tour-standings-tab{padding:6px 4px;font-size:.8rem;white-space:nowrap}}.tour-mc-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-mc{border-collapse:separate;border-spacing:0}.tour-mc th,.tour-mc td{padding:0}.tour-mc-cycles{margin:0 0 12px}.tour-mc th.col{padding:0 0 8px;min-width:48px;vertical-align:bottom;font-size:.72rem;font-weight:700;color:#fff9}.tour-mc th.col>*{display:block;margin:0 auto 4px;width:max-content}.tour-mc th.col.hl{color:#fff}.tour-mc th.row{position:sticky;left:0;z-index:1;height:38px;padding-right:12px;background:#1f1f1f;text-align:left;font-weight:500}.tour-mc th.row.hl .tour-mc-name,.tour-mc th.row.hl .tour-mc-short{color:#fff}.tour-mc-short{display:none;font-size:.72rem;font-weight:700;color:#fff9}.tour-mc-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:#ffffffb3}.tour-mc td{width:48px;height:38px;text-align:center;vertical-align:middle;border:1px solid #1f1f1f;background:#262628;color:#ffffff59;font-weight:700;font-variant-numeric:tabular-nums}.tour-mc td.win{background:#173a26;color:#4ade80}.tour-mc td.loss{background:#3d1a1d;color:#f87171}.tour-mc td.even{background:#2e2e32;color:#fffc;font-weight:500}.tour-mc td.self{background:#1a1a1b}.tour-mc tbody tr:nth-child(2n) th.row{background:#262626}.tour-mc tbody tr:nth-child(2n) td.none{background:#2c2c2f}.tour-mc tbody tr:nth-child(2n) td.even{background:#36363b}.tour-mc td.cross{filter:brightness(1.3)}.tour-mc th.corner{vertical-align:bottom;padding:0 12px 8px 0}.tour-mc-corner{display:flex;flex-direction:column;gap:6px;font-size:.72rem;font-weight:600;color:#ffffff73;white-space:nowrap}.tour-mc-corner .vs{align-self:flex-end}.tour-mc-corner .who{align-self:flex-start}.tour-mc-readout{min-height:1.4em;margin:12px 0 0;font-size:.85rem;color:#ffffff73}.tour-mc-readout.active{color:#fff}.tour-mc-howto{margin:12px 0 6px;font-size:.8rem;color:#ffffff80}.tour-mc-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none;font-size:.8rem;color:#ffffffb3}.tour-mc-legend li{display:inline-flex;align-items:center;gap:6px}.tour-mc-swatch{width:14px;height:14px;border-radius:3px}.tour-mc-swatch.win{background:#173a26;box-shadow:inset 0 0 0 1px #4ade80}.tour-mc-swatch.even{background:#2e2e32;box-shadow:inset 0 0 0 1px #ffffff80}.tour-mc-swatch.loss{background:#3d1a1d;box-shadow:inset 0 0 0 1px #f87171}@media(max-width:560px){.tour-mc-name{display:none}.tour-mc-short{display:inline}.tour-mc td{width:38px;height:34px;font-size:.8rem}.tour-mc th.col{min-width:38px}.tour-mc th.row{height:34px;padding-right:6px}.tour-mode-switch button{padding:0 10px}}.tour-overview{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:16px;margin-bottom:28px}.tour-overview:before{content:"";position:absolute;top:19px;left:18px;right:18px;height:2px;background:linear-gradient(90deg,#ffffff14,#ffffff59 50%,#ffffff14);pointer-events:none}.tour-ov-col{position:relative;display:flex;flex-direction:column;min-width:0;height:460px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#1c1c1e;overflow:hidden}.tour-ov-col.current{border-color:#ffffff47}.tour-ov-title{display:flex;align-items:center;gap:10px;margin:0;padding:12px 16px;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}.tour-ov-marker{width:12px;height:12px;border-radius:50%;border:2px solid #1c1c1e;box-shadow:0 0 0 2px #ffffff59;background:#52525b}.tour-ov-col.current .tour-ov-marker{background:#dc2626;box-shadow:0 0 0 2px #fca5a5}.tour-ov-col.upcoming .tour-ov-marker{background:#3b82f6}.tour-ov-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-ov-month+.tour-ov-month{margin-top:12px}.tour-ov-month-title{margin:2px 6px 6px;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#ffffff73}.tour-ov-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tour-ov-item{display:grid;gap:3px;width:100%;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:#ffffff08;color:inherit;font:inherit;text-align:left;cursor:pointer}.tour-ov-item:hover{background:#ffffff12}.tour-ov-item.selected{border-color:#fff;background:#ffffff17}.tour-ov-item:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:1px}.tour-ov-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.tour-ov-date{font-size:.78rem;color:#ffffff8c;font-variant-numeric:tabular-nums}.tour-ov-note{font-size:.72rem;color:#ffffff80}.tour-ov-name{font-weight:600;font-size:.92rem;line-height:1.3}.tour-ov-meta{font-size:.78rem;color:#ffffff80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-ov-expected{padding:2px 7px;border-radius:4px;border:1px dashed #3b82f6;color:#93c5fd;font-size:.72rem;font-weight:600;white-space:nowrap}.tour-ov-expected-block .tour-ov-item{border:1px dashed rgba(255,255,255,.14);background:transparent}.tour-ov-expected-note{margin:-2px 6px 8px;font-size:.75rem;line-height:1.4;color:#ffffff6b}.tour-ov-scroll>*+.tour-ov-seasons{margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.tour-ov-empty{margin:24px 8px;text-align:center;font-size:.88rem;color:#ffffff73}.tour-month-count{margin-left:auto;font-size:.78rem;font-weight:400;color:#ffffff73}.tour-tl-players{font-size:.78rem;color:var(--accent-color, #bf5af2)}.tour-tl-countdown{padding:2px 7px;border-radius:4px;background:#3b82f6;color:#eff6ff;font-size:.72rem;font-weight:600;white-space:nowrap}.tour-ov-tabs{display:flex;gap:4px;padding:3px;margin-bottom:12px;border-radius:8px;background:#ffffff0d}.tour-detail{scroll-margin-top:80px}@media(max-width:960px){.tour-overview{grid-template-columns:minmax(0,1fr)}.tour-overview:before{display:none}.tour-ov-col{height:auto;max-height:420px}}.tour-progress{display:flex;align-items:center;gap:12px;margin:-4px 0 16px;font-size:.85rem;color:#ffffffa6}.tour-progress-track{flex:0 1 260px;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}.tour-progress-bar{height:100%;border-radius:3px;background:#3b82f6;transition:width .4s ease}.tour-importing{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 16px;color:#ffffffa6;font-size:.95rem}.tour-spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;animation:tour-spin .8s linear infinite}@keyframes tour-spin{to{transform:rotate(360deg)}}.tour-eval.flipped .tour-eval-white{inset:0 0 auto}.tour-popup-btn{position:absolute;top:5px;right:5px;z-index:4;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;border:1px solid #3a3a3a;background:#1c1c1c;color:#fff;cursor:pointer;opacity:0;transition:opacity .15s ease,background-color .15s ease}.tour-game:hover .tour-popup-btn,.tour-game:focus-within .tour-popup-btn{opacity:1}.tour-popup-btn:hover{background:var(--accent-color, #bf5af2);border-color:var(--accent-color, #bf5af2)}.tour-popup-btn:focus-visible{opacity:1;outline:2px solid var(--accent-color, #bf5af2);outline-offset:1px}@media(hover:none){.tour-popup-btn{opacity:1}}@media(pointer:coarse){.tour-popup-btn{width:34px;height:34px;top:6px;right:6px;border-radius:8px}.tour-popup-btn svg{width:17px;height:17px}.tour-popup-btn:before{content:"";position:absolute;inset:-6px}.tour-boards-grid.cols-2 .tour-popup-btn{width:30px;height:30px;top:4px;right:4px}.tour-boards-grid.cols-2 .tour-popup-btn svg{width:15px;height:15px}.tour-boards-grid.cols-2 .tour-popup-btn:before{inset:-7px}}.tour-pop{position:fixed;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;border-radius:12px;border:1px solid #333;background:#161616;color:var(--text-color, #fff);box-shadow:0 20px 60px #0009;box-sizing:border-box;outline:none;animation:tour-pop-fade .18s ease}.tour-pop:focus-within{border-color:#444}.tour-pop.dragging{user-select:none;-webkit-user-select:none}.tour-pop-resize{position:absolute;z-index:5;touch-action:none}.tour-pop-resize.n,.tour-pop-resize.s{left:12px;right:12px;height:10px;cursor:ns-resize}.tour-pop-resize.n{top:-5px}.tour-pop-resize.s{bottom:-5px}.tour-pop-resize.e,.tour-pop-resize.w{top:12px;bottom:12px;width:10px;cursor:ew-resize}.tour-pop-resize.e{right:-5px}.tour-pop-resize.w{left:-5px}.tour-pop-resize.ne,.tour-pop-resize.nw,.tour-pop-resize.se,.tour-pop-resize.sw{width:18px;height:18px}.tour-pop-resize.ne{top:-5px;right:-5px;cursor:nesw-resize}.tour-pop-resize.sw{bottom:-5px;left:-5px;cursor:nesw-resize}.tour-pop-resize.nw{top:-5px;left:-5px;cursor:nwse-resize}.tour-pop-resize.se{bottom:-5px;right:-5px;cursor:nwse-resize}.tour-pop-resize.se:after{content:"";position:absolute;right:9px;bottom:9px;width:9px;height:9px;background:linear-gradient(135deg,transparent 0 45%,#555 45% 55%,transparent 55% 70%,#555 70% 80%,transparent 80%);pointer-events:none}.tour-pop-header{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:grab;touch-action:none}.tour-pop.dragging .tour-pop-header{cursor:grabbing}.tour-pop-boards,.tour-pop-tools,.tour-pop-nav{display:flex;align-items:center;gap:4px}.tour-pop-tools{gap:6px}.tour-pop-board-no{font-size:.9rem;font-variant-numeric:tabular-nums;color:#ffffffbf;padding:0 4px;white-space:nowrap}.tour-pop-live,.tour-pop-score{margin-left:6px;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;white-space:nowrap}.tour-pop-live{background:#dc2626;color:#fff;text-transform:uppercase;letter-spacing:.04em}.tour-pop-score{background:#2a2a2a;color:#fff;font-variant-numeric:tabular-nums}.tour-pop-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;border:1px solid #333;background:#222;color:#fff;cursor:pointer}.tour-pop-icon:hover:not(:disabled){background:#2e2e2e;border-color:var(--accent-color, #bf5af2)}.tour-pop-icon:disabled{opacity:.35;cursor:default}.tour-pop-icon[aria-pressed=true]{background:#fff;color:#111}.tour-pop-icon:focus-visible,.tour-pop-move:focus-visible,.tour-pop-tab:focus-visible,.tour-pop-analyse:focus-visible,.tour-pop-back-live:focus-visible{outline:2px solid var(--accent-color, #bf5af2);outline-offset:1px}.tour-pop-body{display:flex;gap:16px;min-height:0}.tour-pop-main{display:flex;flex-direction:column;gap:8px;width:calc(var(--pop-board) + 16px);flex-shrink:0}.tour-pop-main .tour-player{font-size:.95rem}.tour-pop-main .tour-clock{font-size:1rem;padding:2px 8px}.tour-pop-board-row{gap:6px}.tour-pop-board-row .tour-eval{flex-basis:10px}.tour-pop-board{position:relative;width:var(--pop-board);height:var(--pop-board);flex-shrink:0}.tour-pop-cg{width:100%;height:100%}.tour-pop-side{display:flex;flex-direction:column;gap:10px;width:280px;height:calc(var(--pop-board) + 72px);min-height:0}.tour-pop-tabs{display:flex;margin-bottom:-11px;position:relative;z-index:1}.tour-pop-tab{flex:1;padding:8px 12px;border:1px solid #2e2e2e;border-bottom:none;border-radius:6px 6px 0 0;margin-inline-end:-1px;background:#141414;color:#ffffffb3;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}.tour-pop-tab:last-child{margin-inline-end:0}.tour-pop-tab:hover:not(.active){background:#1d1d1d;color:#fff}.tour-pop-tab.active{background:#1c1c1c;color:var(--accent-color, #bf5af2);font-weight:600;padding-bottom:9px;margin-bottom:-1px}.tour-pop-panel{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid #2e2e2e;border-radius:0 0 8px 8px;background:#1c1c1c;overflow:hidden}.tour-pop-moves{flex:1;min-height:0;overflow-y:auto;padding:4px;font-size:.9rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}.tour-pop-move-row{display:grid;grid-template-columns:34px 1fr 1fr;align-items:center}.tour-pop-move-no{color:#ffffff73;font-variant-numeric:tabular-nums;padding-left:4px}.tour-pop-move{padding:3px 6px;border:none;border-radius:4px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.tour-pop-move:hover{background:#2a2a2a}.tour-pop-move.active{background:var(--accent-color, #bf5af2);color:#fff;font-weight:600}.tour-pop-note{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:#ffffff8c;font-size:.9rem;text-align:center;padding:12px}.tour-pop-engine{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.tour-pop-engine-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #2a2a2a;font-size:.78rem;color:#ffffff8c}.tour-pop-engine-depth{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.tour-pop-engine-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:tour-pulse-dot 1.2s ease-in-out infinite}.tour-pop-engine-line{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid #242424;font-size:.85rem;line-height:1.45}.tour-pop-engine-eval{flex-shrink:0;min-width:52px;padding:1px 6px;border-radius:4px;background:#f2f2f2;color:#111;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.tour-pop-engine-eval.black{background:#3a3a3a;color:#fff}.tour-pop-engine-pv{min-width:0;color:#ffffffd9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tour-pop-back-live{margin-left:auto;padding:0 10px;height:32px;border-radius:6px;border:none;background:#dc2626;color:#fff;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.tour-pop-analyse{padding:10px 12px;border-radius:8px;border:none;background:#fff;color:#111;font:inherit;font-weight:600;cursor:pointer}.tour-pop-analyse:hover{background:#e6e6e6}.tour-pop.stacked .tour-pop-body{flex-direction:column}.tour-pop.stacked .tour-pop-side{width:auto;height:auto}.tour-pop.stacked .tour-pop-panel{flex:none;height:150px}.tour-pop.compact{inset:0;width:100%;height:100vh;height:100dvh;border-radius:0;border:none;box-shadow:none;gap:10px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain}.tour-pop.compact .tour-pop-header{cursor:default;touch-action:auto}.tour-pop.compact .tour-pop-icon{width:40px;height:40px}.tour-pop.compact .tour-pop-body{flex:1;min-height:0}.tour-pop.compact .tour-pop-side{flex:1;min-height:0;width:auto;height:auto}.tour-pop.compact .tour-pop-panel{flex:1;height:auto;min-height:160px}.tour-pop.compact .tour-pop-tab{padding:10px 12px;font-size:.9rem}.tour-pop.compact .tour-pop-tab.active{padding-bottom:11px}.tour-pop.compact .tour-pop-move{padding:6px 8px}.tour-pop.compact .tour-pop-nav .tour-pop-icon{flex:1;height:44px}.tour-pop.compact .tour-pop-back-live{height:44px}.tour-pop.compact .tour-pop-analyse{padding:13px 12px}.tour-pop-moves,.tour-pop-engine{overscroll-behavior:contain}@keyframes tour-pop-fade{0%{opacity:0}to{opacity:1}}@keyframes tour-pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.tour-pop,.tour-pop-engine-dot{animation:none}}.tour-seo{max-width:920px;width:100%;margin:3.5rem auto 0;text-align:start}.tour-seo h2{font-size:1.4rem;font-weight:700;margin:0 0 .75rem;color:var(--text-color, #fff)}.tour-seo h3{font-size:1.05rem;font-weight:600;margin:1.25rem 0 .35rem;color:var(--text-color, #fff)}.tour-seo p{color:#999;font-size:.95rem;line-height:1.6;margin:0 0 .5rem}.tour-pop-note-960{margin:0;padding:10px 12px;border-radius:8px;border:1px solid #2e2e2e;background:#1c1c1c;color:#fff9;font-size:.82rem;line-height:1.45;text-align:center}
