/* 第22版 · 苹果风格界面。只覆盖呈现，不改变赛事状态与导出模板。 */
@media screen {
:root{--green:#0066cc;--deep:#004f9f;--lime:#eaf3ff;--bg:#f5f5f7;--line:#e5e5ea;--muted:#62626b;--ink:#1d1d1f;--amber:#916000;--red:#b42323;--ui-shadow:0 2px 8px #1d1d1f04,0 0 0 1px #1d1d1f09}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
button{border-radius:10px;min-height:40px;border-color:#dedee4;color:var(--ink);box-shadow:0 1px 2px #00000004;transition:background-color .14s ease-out,transform .12s ease-out}
button.primary,button.primary:hover{background:#0066cc;border-color:#0066cc;color:#fff;box-shadow:none}button.quiet,button.quiet:hover{color:#51515b}button.danger,button.danger:hover{color:#b42323;background:#fff5f5;border-color:#f2d4d4}button.small{min-height:36px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #0071e3;outline-offset:3px}
input,select,textarea{border-color:#d2d2d7;border-radius:10px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e314}input[type=checkbox],input[type=radio]{accent-color:#0066cc}label{color:#42424a}
h1{font-size:30px;font-weight:700;letter-spacing:-.8px;line-height:1.3}h2{font-size:18px;font-weight:650;color:#1d1d1f}h3{color:#34343b}.muted,.pagehead p,.empty,.emptycourt{color:var(--muted)}
.sidebar{width:224px;background:#f0f0f3;border-right:1px solid #dfdfe5;padding:28px 16px 20px}.brand{color:#1d1d1f;letter-spacing:0;font-size:20px}.brand small{color:#62626b;letter-spacing:1px}.brand-logo{border-radius:12px}.navlabel{color:#74747e;letter-spacing:.4px;margin-top:38px}
nav button,nav button:hover{color:#4f4f59;border-radius:10px;min-height:46px;background:transparent;box-shadow:none}nav button.active,nav button.active:hover{background:#fff;color:#0066cc;box-shadow:0 1px 4px #0000000c;font-weight:600}nav .icon svg{stroke-width:1.8}.sidebottom,.sidebottom small{color:#62626b}.sidebtn{background:#fff;color:#42424a;border-color:#dddde3}.statusdot{background:#258554}
.shell{margin-left:224px}header{position:static;height:auto;min-height:76px;flex-wrap:wrap;background:#ffffffb8;backdrop-filter:blur(16px);border-color:#e5e5ea;padding:16px 32px}header #cloudBar{background:none;border:0;padding:0}#cloudStatus{color:#62626b;font-size:12px}#cloudBar button{border-radius:8px;color:#42424a;background:#fff}#cloudBar #cloudLogin{color:#0066cc}.headerRight{flex-wrap:wrap}.crumb{color:#62626b}.slash{color:#b2b2ba}main{padding:34px 32px 48px;max-width:1680px}
.hero,.event-active .hero,.event-active.is-screen .hero{background:#fff;color:var(--ink);border:1px solid #e5e5ea;border-radius:20px;padding:28px 30px;min-height:144px;box-shadow:0 3px 12px #00000003}.hero:before,.hero:after{display:none}.hero h2,.event-active .hero h2{font-size:27px;color:#1d1d1f;letter-spacing:-.6px}.hero p,.event-active .hero p{color:#62626b;font-size:13px}.hero .eyebrow,.event-active .hero .eyebrow{color:#0066cc;font-size:12px;letter-spacing:.3px}.hero button,.hero button.primary,.hero [data-action="earlymain"]{background:#0066cc;border-color:#0066cc;color:#fff;border-radius:10px;min-height:44px}.early-main-badge{background:#eaf3ff;color:#005bb8}
.stats,.event-active .stats{gap:16px}.stat,.event-active .stat{border-radius:16px;padding:20px 24px;box-shadow:var(--ui-shadow)}.stat strong,.event-active .stat strong{color:#1d1d1f;font-size:34px;letter-spacing:-1px}.stat label,.stat small{color:#62626b}.panel{border-radius:18px;padding:24px;box-shadow:var(--ui-shadow)}.panelhead h2 span{color:#62626b}.columns{gap:24px}.court,.court:hover{border-radius:14px;border-color:#e5e5ea;padding:18px;box-shadow:none}.court.live,.court.live:hover{background:#fff;border-color:#abd0f5;box-shadow:inset 0 3px 0 #0071e3}.court.off{background:#f5f5f7;border-color:#e5e5ea}.courttop strong,.court .pair span{color:#1d1d1f}.court .pair b{color:#1d1d1f;font-size:26px}.court .meta{color:#62626b}.court .actions button[data-match]{background:#0066cc;border-color:#0066cc;color:#fff}.court .actions button{min-height:40px;border-radius:9px}.badge{background:#f0f0f3;color:#62626b;border-radius:6px}.badge.live{background:#eaf3ff;color:#005bb8}.badge.gold{background:#fff4db;color:#865700}.queueitem b{color:#34343b}.queueitem,.log{border-color:#ededf1}.hint,.screenbanner{background:#f5f7fa;border-color:#e4e8ed;color:#575760;border-radius:12px}.hint.warn{background:#fff8e8;border-color:#efdba5;color:#805600}
.tabs{width:fit-content;max-width:100%;flex-wrap:wrap;background:#eaeaec;border:0;border-radius:11px;padding:4px}.tabs button{background:transparent;color:#575760;border-radius:8px;box-shadow:none}.tabs button.active{color:#1d1d1f;background:#fff;box-shadow:0 1px 4px #00000013}.step{background:#ebebef;color:#62626b;border-radius:9px}.step.current{background:#e8f2ff;color:#005bb8;border-color:#c8def5}.step.done{background:#edf7f0;color:#25663f}
.datatable th{background:#f5f5f7;color:#62626b;border-color:#e5e5ea}.datatable td{border-color:#ededf1}.grade,.player-grade{background:#f2f2f7;color:#52525d;border-color:#e3e3e9}.level-pending,.player-grade.level-pending{background:#fff4db;color:#865700;border-color:#ecdba8}
.match,.match:hover{border-radius:11px;border-color:#dcdce3;background:#fff}.match.done{background:#f7f7f9}.match.playing{background:#f1f7ff;border-color:#9bc5ef;box-shadow:inset 3px 0 0 #0071e3}.match .score{color:#1d1d1f}.match .winner{color:#005bb8}.match .matchmeta,.round h3,.qualhead{color:#62626b}.round h3{border-color:#dddde5}.bracket-lines path{stroke:#a6afbc}.qresult{background:#f5f7fa;border-color:#dfe4ec;color:#515b69}.championbox{background:#fff8e8;border-color:#ecdfbf;color:#805c16}.archivewinner{color:#005bb8}.clean-badge{color:#25663f}
dialog,dialog.admin-login{border:1px solid #ffffffb3;border-radius:22px;box-shadow:0 24px 80px #00000026;max-height:calc(100dvh - 32px)}dialog::backdrop{background:#15151c55;backdrop-filter:blur(3px)}.modalhead{border-color:#ededf1;padding:22px 26px}.modalhead [data-close]{width:40px;height:40px;border-radius:50%;background:#f2f2f7;color:#51515b}.modalbody{padding:24px 26px}.modalfoot{background:#fafafa;border-color:#ededf1;padding:18px 26px;flex-wrap:wrap}.scoreboard input{background:#f5f5f7;color:#1d1d1f;border-radius:14px}.scoreboard span{color:#74747e}.number-options span{border-color:#dcdce3;border-radius:12px;color:#42424a}.number-options input:checked+span{background:#0066cc;border-color:#0066cc}.number-options input:focus-visible+span{outline-color:#0071e3}.admin-login-mark{background:#eaf3ff;color:#0066cc}.admin-login-heading p{color:#62626b}.admin-login-fields input{background:#f7f7fa}.event-guide{color:#34343b}.event-guide h3{color:#005bb8;border-color:#cbdff5}.event-guide h3>span{background:#0066cc}.guide-box{background:#f1f6fd;border-radius:12px}.guide-box strong{color:#005bb8}.guide-table th,.guide-table td{border-color:#dcdce3}.guide-table th{background:#f5f5f7}
#toast{background:#29292eeF;border-radius:14px;color:#fff;box-shadow:0 8px 32px #00000020}footer{color:#74747e;border-color:#e5e5ea}
@media(hover:hover) and (pointer:fine){button:not(:disabled):hover{background:#f5f5f7;border-color:#c9c9d2}button.primary:not(:disabled):hover,.hero button:not(:disabled):hover,.court .actions button[data-match]:hover{background:#005bb8;border-color:#005bb8;color:#fff}nav button:not(:disabled):hover{background:#e5e5eb;color:#34343b}nav button.active:not(:disabled):hover{background:#fff;color:#005bb8}button.quiet:not(:disabled):hover{background:#ededf1}.match:not(:disabled):hover{border-color:#8fb6df;box-shadow:0 2px 8px #00000006}.datatable tbody tr:hover{background:#f8faff}}
@media(max-width:1100px){.columns{grid-template-columns:1fr}.columns>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.tablegrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:900px){.sidebar{width:184px;padding:24px 12px}.shell{margin-left:184px}.brand{justify-content:flex-start;font-size:17px;gap:8px}.brand>span,.navlabel,.sidebottom,nav .navtext{display:block}.brand-logo{width:34px;height:34px;flex-basis:34px}nav{margin-top:0}nav button{justify-content:flex-start;gap:9px;padding:11px 10px;font-size:13px}main{padding:26px 20px}.tablegrid{grid-template-columns:repeat(2,minmax(0,1fr))}header{padding:14px 20px}.columns>aside{display:block}}
@media(max-width:600px){.sidebar{position:relative;width:100%;height:auto;display:flex;flex-direction:column;align-items:stretch;inset:auto;padding:14px 16px 10px;background:#f0f0f3;border:0;border-bottom:1px solid #e0e0e7}.brand{display:flex;justify-content:flex-start;padding:0 4px 14px;font-size:19px}.brand>span{display:block}.brand-logo{width:36px;height:36px;flex-basis:36px}.brand small{font-size:11px}.navlabel,.sidebottom{display:none}nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible;margin:0;padding:0}nav button{width:100%;min-width:0;min-height:44px;flex-direction:row;justify-content:center;gap:6px;padding:9px 4px;margin:0}nav .navtext{display:block;font-size:12px}nav .icon,nav .icon svg{width:17px;height:17px}.shell{margin:0}header{padding:14px 16px;min-height:0;gap:12px}header #cloudBar{flex-basis:100%;gap:8px}#cloudBar button,.headerRight button{min-height:40px}main{padding:24px 16px 32px}.pagehead h1{font-size:26px}.pagehead .actions{gap:8px}.pagehead button{min-height:44px}.hero,.event-active .hero,.event-active.is-screen .hero{padding:22px;border-radius:16px;min-height:0}.hero h2,.event-active .hero h2{font-size:24px}.hero p,.event-active .hero p{font-size:13px}.stats,.event-active .stats{gap:12px}.stat,.event-active .stat{padding:18px;border-radius:14px}.stat strong,.event-active .stat strong{font-size:30px}.panel{padding:18px;border-radius:16px}.tablegrid{grid-template-columns:1fr;gap:12px}.court{min-height:0;padding:18px}.court .pair span{font-size:15px}.court .actions button{min-height:44px}.court .meta{margin-top:8px}.courttop{margin-bottom:10px}.court .actions{padding-top:14px}.columns>aside{display:block}.actions button{min-height:40px}.modalhead,.modalbody{padding:20px}.modalfoot{padding:16px 20px}.modalfoot button{min-height:44px}.formgrid{grid-template-columns:1fr}.tabs button{min-height:44px}input,select,textarea{font-size:16px}.is-screen .tablegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}button:active{transform:none!important}}
@media(prefers-reduced-transparency:reduce){header{background:#fff;backdrop-filter:none}dialog::backdrop{backdrop-filter:none;background:#15151c99}}
@media(prefers-contrast:more){:root{--muted:#404047;--line:#8b8b95}.panel,.stat,.court{border:1px solid #8b8b95}header{background:#fff}button{border-color:#74747e}}
}

@media screen{.match .pair .score{font-size:18px!important;line-height:1.5;flex-shrink:0}}

/* 第22.3版：赛果统一常规字重，获胜姓名仍保留强调。 */
.match .pair .score,.match .pair.winner .score{font-weight:400}
