:root{--ink:#10231f;--paper:#f7f1e6;--muted:#6d746d;--red:#c84d37;--line:#d9d1c4;--card:#fffaf1}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans SC",system-ui,sans-serif}body{margin:0;line-height:1.55}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:2}.site-header,.site-footer{display:flex;align-items:center;gap:2rem;padding:1.25rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:space-between;color:var(--muted);font-size:.9rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.04em}.brand small{display:block;font-size:.6rem;letter-spacing:.15em;color:var(--muted)}.brand-mark{font-size:1.4rem;color:var(--red)}nav{display:flex;gap:1.5rem;margin-left:auto}nav a{text-decoration:none;font-weight:600}nav a:hover,nav a[aria-current=page]{color:var(--red)}.edition-label{font-size:.7rem;letter-spacing:.18em;color:var(--muted)}main{min-height:70vh}.page-shell{max-width:1180px;margin:0 auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,5vw,2rem)}.hero{background:var(--ink);color:var(--paper);min-height:470px;padding:clamp(2.5rem,8vw,7rem) clamp(1rem,8vw,7rem);display:flex;flex-direction:column;justify-content:space-between}.hero h1{font-size:clamp(2.7rem,7vw,6rem);line-height:1.05;margin:.3rem 0 1rem;font-weight:800}.hero-description{color:#d8ddd2;font-size:1.1rem}.hero-table{height:160px;max-width:520px;width:100%;margin-left:auto;border:12px solid #1b5444;border-radius:4px;background:#1f7659;position:relative;box-shadow:0 0 0 5px #c89d6e inset}.ball{position:absolute;width:27px;height:27px;border-radius:50%;box-shadow:2px 3px 5px #09261c}.ball-white{background:#eee;right:40%;top:35%}.ball-red{background:#bd3f2e}.b1{right:34%;top:41%}.b2{right:28%;top:47%}.b3{right:38%;top:55%}.ball-black{background:#151515;right:18%;top:48%}.table-label{position:absolute;left:15px;bottom:10px;font-size:.7rem;letter-spacing:.16em;color:#cfe4ce}.hero-bottom{display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.15em;color:#b9c7bc}.eyebrow{font-size:.7rem;letter-spacing:.17em;color:var(--red);font-weight:800}.hero .eyebrow{color:#eaa08e}.section-header,.page-heading,.toolbar{display:flex;justify-content:space-between;align-items:end;gap:1rem}.section-header h2,.page-heading h1{margin:.2rem 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1}.muted{color:var(--muted)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:3rem;margin-top:3rem}.tabs{display:flex;gap:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.tabs a{padding:.5rem 0;text-decoration:none;color:var(--muted)}.tabs a[aria-current=true]{color:var(--ink);border-bottom:2px solid var(--red)}.match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.match-card,.player-tile{display:block;background:var(--card);border:1px solid var(--line);padding:1rem;text-decoration:none}.card-meta,.card-bottom{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.8rem}.status{color:var(--muted)}.status.live,.status.playing{color:var(--red)}.match-link{display:block;text-decoration:none;margin:1rem 0}.player-line{display:flex;justify-content:space-between;font-size:1.1rem}.player-line+ .player-line{margin-top:.25rem}.card-bottom a{color:var(--red)}.ranking-aside{border-left:1px solid var(--line);padding-left:1.5rem}.mini-ranking{display:flex;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line);text-decoration:none}.rank-no{font-variant-numeric:tabular-nums;color:var(--red);font-weight:700}.mini-ranking .small-arrow{margin-left:auto}.text-link{display:block;color:var(--red);margin-top:1rem}.aside-note{font-size:.8rem;color:var(--muted);display:flex;gap:.5rem;margin-top:2rem}.note-dot{width:8px;height:8px;background:var(--red);border-radius:50%;margin-top:.5rem;flex:none}.search-form{display:flex;gap:.5rem;margin:2rem 0}.search-form input{min-width:0;flex:1;border:1px solid var(--line);padding:.7rem 1rem;background:var(--card);font:inherit}.search-form button,.button-light{background:var(--ink);color:var(--paper);border:0;padding:.7rem 1rem;font:inherit;cursor:pointer;text-decoration:none}.table-wrap{overflow:auto;margin-top:2rem}.rank-table,.frame-table{width:100%;border-collapse:collapse;background:var(--card)}th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--line)}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.numeric{text-align:right}.player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.player-tile{display:flex;align-items:center;gap:1rem}.player-tile small{display:block;color:var(--muted);font-size:.75rem}.player-initial{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:700}.player-tile .small-arrow{margin-left:auto;color:var(--red)}.back-link{color:var(--muted);text-decoration:none}.profile-hero,.scoreboard{margin-top:2rem;padding:2rem;background:var(--ink);color:var(--paper)}.profile-hero{display:flex;justify-content:space-between;gap:2rem}.profile-hero h1{font-size:clamp(2rem,6vw,4.5rem);margin:0}.profile-rank{text-align:right}.profile-rank strong{font-size:3rem;display:block;color:#eaa08e}.scoreboard{text-align:center}.scoreboard-players{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;font-size:clamp(1rem,3vw,1.6rem);margin:1rem 0}.big-score{font-size:clamp(2.5rem,7vw,5rem);font-weight:800}.big-score span{font-size:.5em;color:#eaa08e}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}.comparison-list{background:var(--card);border:1px solid var(--line)}.comparison-row{display:grid;grid-template-columns:1fr 1.5fr 1fr;text-align:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--line)}.comparison-row small{display:block;color:var(--muted);font-size:.7rem}.comparison-row:last-child{border:0}.empty-state,.loading{padding:2rem;color:var(--muted);text-align:center}.data-note{color:var(--muted);font-size:.82rem;margin-top:1.5rem}.error{color:var(--red);padding:2rem;text-align:center}.source-strip{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-top:3rem;border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.85rem}@media(max-width:760px){.site-header,.site-footer{flex-wrap:wrap}.edition-label{display:none}nav{order:3;width:100%;margin:0}.content-grid,.detail-grid{grid-template-columns:1fr}.ranking-aside{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0}.hero-table{margin:2rem 0 0}.profile-hero{display:block}.profile-rank{text-align:left;margin-top:1rem}.scoreboard-players{grid-template-columns:1fr}.source-strip{display:block}}
.language-toggle{border:0;background:transparent;color:var(--ink);padding:.45rem .65rem;cursor:pointer;font:inherit;white-space:nowrap}.language-toggle:hover{background:rgba(16,35,31,.04)}.player-avatar{width:3rem;height:3rem;object-fit:cover;border-radius:50%;background:var(--card);display:inline-grid;place-items:center;flex:none}.player-placeholder{background:var(--ink);color:var(--paper);font-weight:700}.mini-avatar{width:1.8rem;height:1.8rem;object-fit:cover;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:var(--paper);font-size:.75rem}.table-avatar{width:2rem;height:2rem;object-fit:cover;border-radius:50%;display:inline-grid;place-items:center;background:var(--ink);color:var(--paper);font-size:.75rem}.ranking-player{display:flex;align-items:center;gap:.65rem;text-decoration:none}.country-flag{width:1.55rem;height:1rem;object-fit:cover;vertical-align:middle;border:1px solid var(--line)}.profile-identity{display:flex;align-items:center;gap:1.25rem}.profile-avatar{width:7rem;height:7rem;object-fit:cover;border-radius:50%;background:var(--card);display:inline-grid;place-items:center;font-size:2.5rem}.profile-country{display:flex;align-items:center;gap:.45rem}.profile-rank span{display:block}.profile-rank strong{font-size:3rem;display:block;color:#eaa08e}.profile-rank{text-align:right}.player-line span{display:flex;align-items:center;gap:.4rem}
.game-stage{cursor:crosshair}.game-control-grid{display:block}.game-spin-section{max-width:150px}
.player-tile{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.45rem 1rem}.player-tile>.player-avatar{grid-row:1 / span 2}.player-tile-main{display:flex;align-items:center;gap:.5rem;min-width:0;text-decoration:none}.player-tile-main>span:first-child{min-width:0}.player-tile-main small{display:block;color:var(--muted);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-button{grid-column:2;justify-self:start;color:var(--red);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}.play-button:hover{color:var(--ink)}.play-button span{font-size:.95rem}
.game-shell{padding-top:clamp(1rem,3vw,2rem)}.game-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.game-heading h1{margin:.2rem 0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:1}.game-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:1.25rem;align-items:start}.game-stage{padding:clamp(.65rem,2vw,1rem);background:#102d24;border:1px solid #214b3b;box-shadow:0 18px 42px rgba(16,35,31,.16)}#game-canvas{display:block;width:100%;height:auto;aspect-ratio:16 / 9;background:#0c241c;border:1px solid rgba(238,213,164,.25);touch-action:none}.game-caption{margin:.75rem 0 0;color:#d6d7c9;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.game-controls{padding:1.15rem;background:var(--card);border:1px solid var(--line);box-shadow:0 12px 28px rgba(16,35,31,.08)}.game-score{display:grid;grid-template-columns:1fr auto 1fr;gap:.65rem;align-items:end;padding-bottom:1rem;border-bottom:1px solid var(--line);text-align:center}.game-score div:last-child{text-align:right}.game-score small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-score strong{display:block;font-size:2.65rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.game-score>span{font-size:1.7rem;color:var(--red);padding-bottom:.2rem}.game-status{min-height:1.55em;color:var(--red);font-weight:700;font-size:.86rem;margin:1rem 0}.power-control{display:grid;grid-template-columns:1fr auto;gap:.35rem .75rem;color:var(--ink);font-weight:700}.power-control output{color:var(--red);font-variant-numeric:tabular-nums}.power-control input{grid-column:1 / -1;width:100%;accent-color:var(--red)}.game-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.4rem 0}.game-control-grid h2{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .65rem;color:var(--muted)}.spin-board{position:relative;width:min(100%,130px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff 0 5%,#eee9dc 32%,#b7b7ac 70%,#747871 100%);box-shadow:inset -8px -9px 14px rgba(0,0,0,.24),inset 6px 5px 12px rgba(255,255,255,.8),0 4px 10px rgba(0,0,0,.18);cursor:crosshair;touch-action:none}.spin-board:before,.spin-board:after{content:"";position:absolute;inset:13%;border:1px solid rgba(16,35,31,.16);border-radius:50%}.spin-board:after{inset:50% 13% auto;height:1px;border:0;border-top:1px solid rgba(16,35,31,.16);border-radius:0}.spin-board span{position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:var(--red);box-shadow:0 2px 5px rgba(0,0,0,.32);transform:translate(-50%,-50%);transition:transform .12s ease}.game-shot,.game-reset{width:100%;border:0;font:inherit;cursor:pointer}.game-shot{padding:.85rem 1rem;background:var(--ink);color:var(--paper);font-weight:800;letter-spacing:.04em}.game-shot:hover{background:#1a493b}.game-shot:disabled{opacity:.45;cursor:wait}.game-reset{margin-top:.55rem;padding:.55rem;background:transparent;color:var(--muted);border:1px solid var(--line)}.game-reset:hover{color:var(--red);border-color:var(--red)}.game-hint{color:var(--muted);font-size:.78rem;line-height:1.6;margin:1rem 0 0}.game-hint small{font-size:.7rem;opacity:.8}@media(max-width:860px){.game-layout{grid-template-columns:1fr}.game-controls{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.game-score,.game-status,.game-controls>.power-control,.game-controls>.game-shot,.game-controls>.game-reset,.game-controls>.game-hint{grid-column:1 / -1}.game-control-grid{margin:0}.game-shot{margin-top:.2rem}}@media(max-width:560px){.game-heading{display:block}.game-heading .back-link{display:inline-block;margin-top:1rem}.game-controls{display:block}.game-control-grid{margin:1.4rem 0}.player-tile{gap:.4rem .7rem}}
.game-control-grid{display:block}.game-stage{cursor:crosshair}.game-spin-section{max-width:150px}
/* 双人对局状态在宽屏与手机控制区均独占一行，当前击球方保持明确可见。 */
.game-turn-info,.game-rules{grid-column:1/-1}
.game-turn-info{display:grid;gap:7px;padding:14px 16px;background:#e8ede2;border-left:3px solid #286044;color:#214532}
.game-turn-info strong{font-size:15px}.game-turn-info span{font-size:14px}.game-turn-info small{font-size:12px;color:#526456}
.game-score [data-player]{padding:8px 10px;border:1px solid transparent;border-radius:4px}.game-score [data-active="true"]{border-color:#386749;background:#e8ede2}


.game-rules{font-size:12px;line-height:1.8;border-top:1px solid #dddccd;padding-top:12px}.game-rules summary{cursor:pointer;color:#285b3d}.game-rules p{margin:10px 0 0}
/* 瞄准预警和拉杆力度浮在球桌上，始终不接收指针，不能遮挡出杆和摆球。 */
.game-stage{position:relative}
.game-aim-warning{position:absolute;z-index:1;top:10px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);margin:0;padding:5px 9px;background:#fff5e9ec;color:#9b301f;border:1px solid #cb6c53;border-radius:4px;font-size:12px;pointer-events:none}
.game-pull-meter{position:absolute;z-index:2;left:50%;bottom:44px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #bac8ad;border-radius:5px;background:#10231feb;color:#fff8e9;font-size:12px;pointer-events:none;white-space:nowrap}
.game-pull-meter progress{width:clamp(80px,14vw,180px);height:12px;accent-color:#edc569}.game-pull-meter strong{min-width:4ch;font-variant-numeric:tabular-nums}
.game-aim-warning[hidden],.game-pull-meter[hidden]{display:none}
.game-spin-value{display:block;font-size:11px;color:#285b3d;margin-top:8px}.game-spin-reset{margin-top:5px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:5px 8px;min-height:32px;font:inherit;font-size:11px;cursor:pointer}.game-spin-help{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.game-aim-warning{font-size:10px;top:5px;left:6px;max-width:calc(100% - 12px)}.game-pull-meter{bottom:10px;padding:6px 8px;gap:6px}.game-spin-help{display:none}.game-spin-value{font-size:10px;margin-top:3px}.game-spin-reset{font-size:10px;padding:3px;min-height:28px}}
/* 游戏使用独立宽度，避免普通文章容器将大屏球桌挤在中央；其他页面保持原布局。 */
.page-shell:has(.game-shell){max-width:1920px;padding:16px clamp(12px,2vw,36px)}
.game-shell{padding-top:0}.game-heading{margin-bottom:18px;align-items:center}
.game-heading h1{font-size:clamp(2rem,3vw,2.4rem)}.game-heading .eyebrow{margin:0 0 6px}.game-heading .muted{display:none}
.game-heading-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
#game-fullscreen{min-height:44px;padding:8px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;white-space:nowrap}
.game-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.game-stage{min-width:0;padding:8px}.game-controls{min-width:0}
.game-screen-hint{font-size:12px;color:var(--muted);margin:0 0 12px}
/* 全屏保留返回按钮和比分区，球桌按实际宽高等比绘制，不拉伸球或改变触控坐标。 */
.game-shell:fullscreen{width:100%;height:100%;padding:12px;background:var(--paper);overflow:auto}
.game-shell:fullscreen .game-heading{margin-bottom:8px;min-height:44px}
.game-shell:fullscreen .game-heading>div:first-child,.game-shell:fullscreen .game-caption{display:none}
.game-shell:fullscreen .game-heading-actions{width:100%;justify-content:space-between}
.game-shell:fullscreen .game-screen-hint{display:none}
.game-shell:fullscreen .game-screen-hint[data-notice]{display:block}
.game-shell:fullscreen .game-layout{height:calc(100dvh - 76px)}
.game-shell:fullscreen .game-stage{height:100%;display:flex;align-items:center}
.game-shell:fullscreen #game-canvas{height:100%;min-height:0;max-height:none;aspect-ratio:auto}
.game-shell:fullscreen .game-controls{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
@media(min-width:861px) and (min-height:601px){
  /* 常规桌面首屏容纳完整六袋；全屏可以继续利用被导航和标题占用的高度。 */
  #game-canvas{max-height:calc(100dvh - 250px)}
}
@media(max-width:860px){
  .game-layout{grid-template-columns:1fr}.game-heading-actions{gap:10px}
  .game-heading{gap:12px}.game-heading .back-link{margin:0;font-size:12px}
  .game-shell:fullscreen .game-layout{height:auto}.game-shell:fullscreen .game-stage{height:auto}
  .game-shell:fullscreen #game-canvas{height:auto;aspect-ratio:16/9}
  .game-shell:fullscreen .game-controls{max-height:none}
}
@media(max-width:560px){
  .page-shell:has(.game-shell){padding:12px 8px}.game-heading-actions{margin-top:12px;justify-content:space-between}
  .game-stage{padding:3px}.game-caption{margin:6px 4px;font-size:10px}
}
/* 手机横屏让台面和控制区同时留在屏幕内；控制区可独立滚动，保留全部规则及杆法操作。 */
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
  body:has(.game-shell) .site-header,body:has(.game-shell) .site-footer{display:none}
  .page-shell:has(.game-shell){padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))}
  .game-shell,.game-shell:fullscreen{padding:0}.game-shell:fullscreen{padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))}
  .game-heading,.game-shell:fullscreen .game-heading{display:block;min-height:36px;margin:0 0 6px}
  .game-heading>div:first-child,.game-caption,.game-screen-hint{display:none}
  .game-heading-actions{width:100%;margin:0;justify-content:space-between}.game-heading .back-link{font-size:12px}
  #game-fullscreen{min-height:36px;padding:5px 12px;font-size:12px}
  .game-layout,.game-shell:fullscreen .game-layout{grid-template-columns:minmax(0,1fr) 204px;gap:8px;height:calc(100dvh - 54px)}
  .game-stage,.game-shell:fullscreen .game-stage{height:100%;min-height:0;display:flex;align-items:center;padding:3px}
  #game-canvas,.game-shell:fullscreen #game-canvas{height:100%;min-height:0;aspect-ratio:auto}
  .game-controls,.game-shell:fullscreen .game-controls{display:block;height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:8px}
  .game-score{gap:4px;padding-bottom:6px}.game-score [data-player]{padding:3px 5px}.game-score strong{font-size:24px}.game-score small{font-size:11px}
  .game-turn-info{padding:6px 8px;gap:2px}.game-turn-info strong,.game-turn-info span{font-size:12px}.game-turn-info small{font-size:10px}
  .game-status{font-size:11px;margin:6px 0}.power-control{font-size:12px;gap:0}.power-control input{min-height:28px}
  .game-control-grid{margin:8px 0}.game-control-grid h2{font-size:10px;margin-bottom:4px}.spin-board{width:62px}
  .game-shot,.game-reset{min-height:36px;padding:6px;font-size:12px}
  .game-control-grid{float:right;width:64px;margin:8px 0 8px 8px}
  .game-shot,.game-reset{width:calc(100% - 74px);margin-top:8px}

  .game-hint{clear:both;font-size:11px}.game-rules{font-size:11px;margin-top:8px}
}
/* 增加学堂入口后允许导航换行，避免中英文在窄屏挤出视口。 */
.site-header nav{flex-wrap:wrap;gap:10px 20px;margin-left:0;margin-inline-start:auto}.site-header nav a{white-space:nowrap}
a.language-toggle{text-decoration:none}
@media(min-width:761px) and (max-width:1150px){.site-header{gap:20px}.site-header .edition-label{display:none}.site-header nav{gap:10px 16px}}
/* 语言与时区共用一个轻量设置面板；原生 details 在无脚本时仍可显示语言链接。 */
.site-preferences{position:relative;z-index:20;flex:none}.site-preferences>summary{list-style:none;cursor:pointer;white-space:nowrap}.site-preferences>summary::-webkit-details-marker{display:none}
.site-preferences .language-toggle{display:flex;align-items:center;justify-content:center;gap:7px;height:33px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:var(--ink);font-size:12px;font-weight:600;line-height:1;letter-spacing:.06em;transition:background-color .15s ease}.site-preferences .language-toggle:hover{background:rgba(16,35,31,.04)}
.language-chevron{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}.site-preferences[open] .language-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.preferences-panel{position:absolute;inset-inline-end:0;top:calc(100% + 12px);width:min(330px,calc(100vw - 32px));padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px #1623182b;display:grid;gap:8px}
.preferences-panel:before{content:"";position:absolute;inset-inline-end:24px;top:-6px;width:11px;height:11px;background:var(--paper);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.preferences-panel label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--muted);margin-top:4px}.preferences-panel select{width:100%;min-height:42px;padding:7px 34px 7px 11px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:7px;font:inherit}.preferences-panel select:focus{outline:2px solid #c84d3733;border-color:var(--red)}.preferences-panel output{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
[dir="rtl"] .site-header,[dir="rtl"] .site-footer,[dir="rtl"] .section-header,[dir="rtl"] .page-heading,[dir="rtl"] .profile-hero{text-align:right}
[dir="rtl"] .game-stage,[dir="rtl"] .game-score,[dir="rtl"] .power-control input,[dir="rtl"] .spin-board{direction:ltr}
@media(max-width:760px){.site-header nav{margin:0}.site-preferences{margin-inline-start:auto}.preferences-panel{position:fixed;top:70px;inset-inline:16px;width:auto}.preferences-panel:before{display:none}.site-header .edition-label{display:none}}
/* RTL 语言只改变文字阅读方向；站点导航、赛事网格和排名栏保持统一的档案式版式。 */
[dir="rtl"] body{direction:ltr}
[dir="rtl"] .site-header,[dir="rtl"] .site-footer,[dir="rtl"] .page-shell,[dir="rtl"] .hero,[dir="rtl"] .tournament-heading,[dir="rtl"] .content-grid,[dir="rtl"] .match-grid,[dir="rtl"] .ranking-aside{direction:ltr}
[dir="rtl"] .site-header{text-align:left}
[dir="rtl"] .site-header .brand,[dir="rtl"] .site-header nav a,[dir="rtl"] .hero-copy,[dir="rtl"] .tournament-heading>div:first-child,[dir="rtl"] .site-footer{direction:rtl}
[dir="rtl"] .site-header .brand{direction:ltr;text-align:left}
[dir="rtl"] .site-header .brand>span:last-child{direction:rtl;text-align:left}
[dir="rtl"] .site-header nav a,[dir="rtl"] .hero-copy,[dir="rtl"] .tournament-heading>div:first-child,[dir="rtl"] .site-footer{text-align:right}
[dir="rtl"] .match-card,[dir="rtl"] .ranking-aside{direction:ltr;text-align:left}
[dir="rtl"] .match-card .player-line span,[dir="rtl"] .match-detail-link,[dir="rtl"] .ranking-aside .mini-ranking>span:nth-child(3){direction:rtl}
[dir="rtl"] .ranking-aside .mini-ranking{direction:ltr}
[dir="rtl"] .site-preferences .language-toggle{direction:ltr}
[dir="rtl"] .site-preferences .preferences-panel{direction:rtl;text-align:right}
.list-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:20px 0 28px}.list-pagination a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);text-decoration:none}.list-pagination a[aria-disabled="true"]{opacity:.3;pointer-events:none}.list-pagination span{min-width:70px;text-align:center;font-variant-numeric:tabular-nums}
/* 英文首页使用紧凑的赛事中心布局；延续档案式配色，并提高桌面端信息密度。 */
.page-shell:has(.hero){width:min(1180px,calc(100% - 48px));max-width:none;padding:24px 0 56px}
.hero{min-height:360px;padding:30px clamp(28px,4.5vw,54px) 20px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);grid-template-rows:1fr auto;column-gap:clamp(34px,5vw,64px);align-items:center}
.hero-copy{align-self:center}.hero h1{max-width:640px;font-size:clamp(3rem,4.2vw,4.2rem);line-height:.98;margin:.3rem 0 .8rem;letter-spacing:-.035em}.hero-description{max-width:540px;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.5}.hero .button-light{display:inline-block;background:var(--paper);color:var(--ink);font-weight:700}.hero-table{height:150px;max-width:430px;margin:0;justify-self:end}.hero-bottom{grid-column:1/-1;margin-top:15px;padding-top:13px;border-top:1px solid #ffffff24}
.live-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:10px;padding:10px 16px;background:var(--red);color:#fff7ec;text-decoration:none;font-size:.82rem;letter-spacing:.03em}.live-strip strong{letter-spacing:.16em}.live-strip span:last-child{font-weight:800}
.tournament-heading{margin-top:32px;padding-bottom:18px;border-bottom:1px solid var(--line)}.tournament-heading h2{font-size:clamp(2rem,3.7vw,3.1rem);letter-spacing:-.025em}.tournament-meta{margin:.55rem 0 0;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.13em}.update-stamp{display:flex;align-items:baseline;gap:7px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.update-stamp strong{color:var(--ink);font-size:1.45rem;line-height:1;font-weight:750}
.content-grid{grid-template-columns:minmax(0,1fr) 270px;gap:36px;margin-top:26px}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.match-card{padding:18px 20px;transition:border-color .18s ease,transform .18s ease}.match-card:hover{border-color:#a9a092;transform:translateY(-1px)}.match-card.is-live{border-top:3px solid var(--red)}.card-meta{color:#59645d;font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.status.playing{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;background:var(--red);color:#fff;font-weight:800}.status.playing:before{content:"";width:6px;height:6px;border-radius:50%;background:#fff}.match-link{margin:16px 0 14px}.player-line{font-size:1.28rem;font-weight:750;line-height:1.35}.player-line strong{min-width:2ch;text-align:right;font-size:1.75rem;line-height:1;font-variant-numeric:tabular-nums}.player-line+.player-line{margin-top:11px}.card-bottom{align-items:center;padding-top:13px;border-top:1px solid var(--line)}.match-time{color:var(--ink);font-size:.95rem;font-weight:800}.card-bottom .match-detail-link{color:var(--red);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.match-detail-link span{display:inline-block;transition:transform .15s ease}.match-detail-link:hover{text-decoration:underline;text-underline-offset:3px}.match-detail-link:hover span{transform:translateX(2px)}.ranking-aside{padding-left:24px}.aside-title h3{margin:0 0 12px;padding-bottom:12px;border-bottom:2px solid var(--ink);font-size:.82rem;letter-spacing:.15em}.mini-ranking{align-items:center;padding:11px 0}.mini-ranking>span:nth-child(3){font-weight:700}.ranking-aside .text-link{margin-top:18px;font-size:.86rem;font-weight:700}
@media(min-width:1230px){.site-header,.site-footer{padding-inline:calc((100vw - 1180px)/2)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;min-height:0}.hero-table{display:none}.hero-bottom{grid-column:1}.content-grid{grid-template-columns:1fr}.ranking-aside{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}}
@media(max-width:620px){.page-shell:has(.hero){width:calc(100% - 24px);padding:12px 0 40px}.hero{padding:34px 22px 24px}.hero h1{font-size:clamp(2.65rem,13vw,4rem)}.hero-bottom span:last-child{display:none}.tournament-heading{display:block}.update-stamp{margin-top:14px}.match-grid{grid-template-columns:1fr}.card-bottom{gap:12px;flex-wrap:wrap}.live-strip{grid-template-columns:auto 1fr}.live-strip span:last-child{display:none}}
.fixture-info{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.fixture-info span:last-child{flex-basis:100%}.scoreboard .fixture-info{justify-content:center}.fixture-filters{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.fixture-filters a{padding:8px 14px;border:1px solid var(--line);text-decoration:none}.fixture-filters a[aria-current="page"]{background:var(--ink);color:var(--paper)}.event-card h2{font-size:1.3rem;overflow-wrap:anywhere}.event-card p{font-size:.9rem;color:var(--muted)}
.page-heading.event-heading{display:block}.event-heading h1{margin:.4em 0}.event-heading .eyebrow{margin-top:1.5rem}
