:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#244852;background:#f6f4e9;color-scheme:light;--ink:#244852;--blue:#168ac4;--coral:#dd6652;--line:#bbd7d6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 12%,#d4edf0 0,transparent 55%),#f6f4e9}main{height:100dvh;max-width:1500px;margin:auto;padding:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));display:grid;grid-template-columns:268px 1fr;gap:26px}aside{display:flex;flex-direction:column;justify-content:center}.brand{font-size:10px;letter-spacing:2px;font-weight:750;color:#518088}h1{font-size:38px;letter-spacing:2px;line-height:1.2;margin:16px 0 10px;font-weight:900}h1 span{display:block;font-size:13px;letter-spacing:5px;font-weight:650;color:#63838a;margin-top:8px}.intro,.hint,.record{font-size:12px;color:#5e7d84;line-height:1.8}.score{display:flex;justify-content:space-around;align-items:center;background:#fffdf5;border:2px solid #bed9d8;border-radius:22px;padding:12px 0;margin:14px 0 4px;box-shadow:0 5px 0 #dce5dc}.score div{text-align:center;min-width:75px}.score small{display:block;font-size:12px;font-weight:750;color:#307597}.score strong{font-size:50px;line-height:1.15;font-weight:900;color:#147eae;font-variant-numeric:tabular-nums}.score div:last-child small,.score div:last-child strong{color:#b74c3b}.score b{color:#9eb6b4;font-size:20px}.match-info{font-size:12px;font-weight:800;line-height:1.45;margin:14px 0 0;color:#2c6572}.tactic{font-size:11px;line-height:1.5;color:#638087;margin:4px 0}#status{font-size:13px;line-height:1.5;min-height:38px;margin:8px 0;color:#365b65}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}button{font:inherit;cursor:pointer;border:2px solid #c5d9d7;border-radius:13px;background:#fffdf5;color:#365c65;min-height:44px;padding:7px 8px;font-size:12px;font-weight:750;box-shadow:0 3px 0 #d5e1db;transition:transform .12s,background .12s}button:hover{background:#eaf7f4;transform:translateY(-1px)}button:active{transform:translateY(2px);box-shadow:0 1px 0 #d5e1db}button:focus-visible{outline:3px solid #237eaa;outline-offset:3px}button:disabled{opacity:1;background:#f0f1e9;color:#82908c;border-color:#dce1d6;box-shadow:none;cursor:default;transform:none}#start,#resumeRun{background:#168dc2;border-color:#11729f;color:white;box-shadow:0 3px 0 #0d638a}#start:hover,#resumeRun:hover{background:#087eaf}#resumeRun:disabled{background:#e5eee8;color:#748b83;border-color:#cbdcd1;box-shadow:none}#events{background:#f5df99;border-color:#d8bf79;color:#635124;box-shadow:0 3px 0 #d0bb7e}.arena{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#e5f1ec 0,#e7eee500 70%);border-radius:28px}canvas{width:100%;height:100%;display:block;touch-action:none}.badge{position:absolute;bottom:0;left:14px;right:14px;display:flex;justify-content:space-between;color:#587e83;font-size:9px;font-weight:750;letter-spacing:2px;pointer-events:none}dialog{max-width:490px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border:2px solid #a9cacb;border-radius:23px;background:#fbfaf1;color:#2c505b;padding:24px;line-height:1.7;box-shadow:0 15px 60px #26495544}dialog::backdrop{background:#274b5b80;backdrop-filter:blur(3px)}dialog h2{font-size:23px;margin:0 0 10px}dialog p{font-size:13px;margin:10px 0}dialog button{width:100%;margin:5px 0;text-align:center;min-height:46px}#eventsDialog{max-height:calc(100dvh - 24px)}#eventList{display:grid;gap:4px;margin:16px 0}#eventList button{text-align:left;font-size:12px;padding:10px 12px;margin:0;border-radius:12px}#eventList button:not(:disabled){border-left:5px solid #2b99bf}#localBoards,#storageNote{font-size:11px;color:#567b81}#closeEvents{position:sticky;bottom:0;background:#244f60;border-color:#244f60;color:#fff;box-shadow:0 0 0 6px #fbfaf1}.record{margin:10px 0 0}.hint{margin:8px 0}.menu-lead{background:#e8f3eb;padding:10px 12px;border-radius:12px}details{margin:12px 0;font-size:12px}summary{cursor:pointer;font-weight:750;padding:8px 0}@media(orientation:portrait){main{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}aside{display:grid;grid-template-columns:1fr 1.1fr;gap:4px 10px;align-items:center}.brand{display:none}h1{grid-column:1;grid-row:1;font-size:27px;margin:0;letter-spacing:1px}h1 span{font-size:10px;letter-spacing:3px;margin-top:4px}.score{grid-column:2;grid-row:1;margin:0;padding:5px 4px;border-radius:15px;box-shadow:0 3px 0 #dce5dc}.score div{min-width:44px}.score strong{font-size:30px}.score small{font-size:9px}.score b{font-size:15px}.intro,.hint,.tactic,.record{display:none}.match-info{grid-column:1/-1;grid-row:2;margin:4px 0 0;font-size:11px}#status{grid-column:1/-1;grid-row:3;min-height:18px;margin:0;font-size:11px}.controls{grid-column:1/-1;grid-row:4;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:3px}button{font-size:11px;padding:5px 7px;min-height:44px}.badge{font-size:8px;letter-spacing:1px}.arena{border-radius:18px}dialog{padding:18px}dialog h2{font-size:21px}}@media(orientation:portrait) and (max-height:650px){h1{font-size:23px}h1 span{display:none}.score strong{font-size:25px}.score{padding:2px}.match-info{font-size:10px}#status{font-size:10px;min-height:15px}.controls{gap:5px}main{gap:5px}.badge{font-size:7px}}@media(orientation:landscape) and (max-height:500px){main{grid-template-columns:182px 1fr;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.brand,h1 span,.intro,.hint,.tactic,.record{display:none}h1{font-size:26px;margin:0 0 6px}.score{margin:0;padding:4px;border-radius:15px}.score div{min-width:45px}.score strong{font-size:31px}.score small{font-size:10px}.match-info{font-size:10px;margin:9px 0 0}#status{font-size:10px;min-height:28px;margin:4px 0}.controls{gap:5px;grid-template-columns:repeat(2,1fr)}.controls button{font-size:10px;min-height:40px;padding:4px}.badge{font-size:7px;letter-spacing:1px}dialog{padding:18px}.arena{border-radius:18px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

#eventList{padding-bottom:14px}.menu-lead summary{padding:0}@media(orientation:landscape) and (max-height:500px){dialog h2{font-size:20px;margin-bottom:4px}dialog p{font-size:12px}.menu-lead{padding:7px 10px}#classicRun,#endlessRun{width:calc(50% - 4px);display:inline-block;vertical-align:top;min-height:46px;font-size:11px}#endlessRun{margin-left:4px}}@media(orientation:landscape) and (max-height:500px) and (max-width:650px){main{grid-template-columns:150px 1fr;gap:10px}h1{font-size:23px}.score strong{font-size:28px}.score small{font-size:9px}.controls button{padding:4px 2px}.match-info{font-size:9px}}

h1 em{font:inherit;font-style:normal}.locale-control{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:10px;font-size:11px;color:#365c65}.locale-control select{font:inherit;min-height:30px;border:1px solid #a6c9ce;border-radius:8px;background:#fffdf5;color:#244852;max-width:165px;padding:3px 5px}.locale-control label{font-weight:700}html:not([lang="zh-CN"]) h1{font-size:29px;letter-spacing:0}html:not([lang="zh-CN"]) h1 span{letter-spacing:1px;font-size:11px}html:not([lang="zh-CN"]) .badge{letter-spacing:0}html:not([lang="zh-CN"]) .controls button{font-size:11px;overflow-wrap:normal}.match-info,#status,.tactic{overflow-wrap:anywhere}@media(orientation:portrait){.locale-control{grid-row:1;grid-column:1/-1;margin:0 0 3px}.locale-control select{min-height:28px}h1,.score{grid-row:2}.match-info{grid-row:3}#status{grid-row:4}.controls{grid-row:5}html:not([lang="zh-CN"]) h1{font-size:23px}html:not([lang="zh-CN"]) h1 span{font-size:9px}.match-info{font-size:10px}#status{font-size:10px}.controls button{min-height:44px}}@media(orientation:landscape) and (max-height:500px){.locale-control{font-size:9px;margin:0 0 4px;gap:3px}.locale-control select{width:112px;min-height:25px;font-size:9px}html:not([lang="zh-CN"]) h1{font-size:21px}h1{margin:0 0 4px}.score strong{font-size:26px}.score small{font-size:9px}.score{padding:2px}.match-info{margin:5px 0 0;line-height:1.3}#status{font-size:10px;line-height:1.3;min-height:26px;margin:3px 0}.controls{gap:4px}.controls button{font-size:10px!important;min-height:38px;line-height:1.15}.locale-control label{display:none}.locale-control select{width:100%;max-width:none}}
