body{background:#f7f7f7;color:#222;font-family:Arial,'Microsoft YaHei',sans-serif}main{max-width:640px;padding:0 0 110px}header{height:64px;background:#fff;position:relative;justify-content:center;border-bottom:1px solid #eee;padding:0 16px}header b{font-size:19px;color:#111}header button{position:absolute;right:12px;background:white;color:#555;border:1px solid #eee;padding:7px 10px;min-height:34px;font-size:12px}header .back{left:12px;right:auto;font-size:28px;border:0;padding:0 10px}section{border-radius:0;margin:0;padding:18px 16px;box-shadow:none}button{border-radius:5px;background:#10ad08;border-color:#10ad08;color:white}input{border-color:#ededed;border-radius:5px;background:white}#msg{margin:0;text-align:center;font-size:12px;line-height:24px;color:#888}#msg:empty{display:none}.participants{background:#eee;padding:12px 16px 30px}.participants .line{margin:0 0 22px}.participants h2{font-size:16px;font-weight:400;margin:0}.switch{font-size:16px}.switch input:checked{background:#3298ee}.players{gap:10px;flex-wrap:nowrap}.player{flex:0 1 58px;min-width:0;font-size:12px}.avatar{height:44px;width:44px;display:flex;align-items:center;justify-content:center;background:#19b7b1;border-radius:3px;padding:0;color:white;font-size:25px;margin:auto auto 5px}.player:nth-child(2) .avatar{background:#7136b2}.player:nth-child(3) .avatar{background:#e33293}.player:nth-child(4) .avatar{background:#2c87e4}.avatar.board{background:#2c87e4!important}.invite-plus{height:44px;width:44px;border:1px solid #999;color:#999;background:transparent;font-size:35px;padding:0;line-height:35px;min-height:44px;margin:0}.invitation{padding:28px 16px 35px;text-align:center}.invitation img{width:270px;width:min(70vw,270px);aspect-ratio:1}.invite-caption{display:flex;justify-content:center;align-items:center;gap:12px;margin:28px 0;color:#32bc88;font-size:14px}.outline{background:transparent;color:#657181;border:1px solid #ccc}.invite-caption button{font-size:14px;padding:10px 12px;min-height:38px}.bottom-action{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:640px;border-top:1px solid #ddd;background:#f7f7f7;padding:8px 16px calc(8px + env(safe-area-inset-bottom));text-align:center}.bottom-action button{width:68%;font-size:20px;min-height:52px}.room-meta{text-align:center;font-size:12px;color:#999}.results{margin:12px 0;border-top:1px solid #eee}.results h2{font-size:18px;font-weight:400}.room-tools{padding:16px}.score-page{position:fixed;inset:0;z-index:3;background:#f7f7f7;overflow:auto}.score-inner{max-width:640px;margin:auto}.score-title{height:64px;display:flex;align-items:center;justify-content:center;background:white;font-size:19px;font-weight:600;position:relative}.score-title button{position:absolute;left:10px;border:0;background:white;color:black;font-size:28px;padding:0 12px}.round-title{text-align:center;background:#fff;padding:10px 0 16px;font-size:24px;color:#111}.score-head,.score-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(54px,.65fr);gap:8px;align-items:center;padding:12px 16px;background:white;border-top:1px solid #fafafa}.score-head{color:#999;text-align:center;padding-top:24px;padding-bottom:24px}.score-row{min-height:74px}.score-name{display:flex;gap:10px;align-items:center;min-width:0;overflow-wrap:anywhere}.score-name .avatar{flex-shrink:0;margin:0}.score-name span:last-child{min-width:0}.outcomes{display:flex;justify-content:center;gap:10px}.outcomes label{display:flex;align-items:center;gap:4px;white-space:nowrap}.outcomes input{appearance:none;width:24px;height:24px;min-height:24px;border:1px solid #ccc;border-radius:50%;padding:0;margin:0}.outcomes input:checked{background:#ff686e;border-color:#ff686e}.outcomes input:checked:after{content:'✓';display:block;text-align:center;color:white;line-height:22px}.score-row .score{width:100%;min-width:0;padding:8px;text-align:center;height:42px;margin:0}.score-actions{padding:36px 16px;text-align:center}.score-actions button{display:block;width:75%;margin:12px auto;font-size:20px}.score-actions .cancel{background:transparent;color:#111;border-color:#ccc}.score-error{color:#c33;min-height:20px;font-size:14px}.score-hint{font-size:12px;color:#888}dialog{color:#222} @media(max-width:360px){.score-head,.score-row{padding-left:10px;padding-right:10px;gap:5px}.score-name{gap:6px;font-size:14px}.score-name .avatar{width:34px;height:38px;font-size:22px}.outcomes{gap:6px;font-size:14px}.outcomes input{width:21px;height:21px;min-height:21px}.players{gap:6px}.player{font-size:11px}}
 .players{flex-wrap:wrap}.score[readonly]{background:#f0f0f0;color:#666}.auto-outcome{font-size:13px;color:#888}
/* 胜负配色同时覆盖手动输入及自动计算后的选中状态。 */
.score-page .outcomes input[value="1"]:checked{background:#ff686e;border-color:#ff686e}
.score-page .outcomes input[value="-1"]:checked{background:#08bd08;border-color:#08bd08}
.score-page .score-row:has(.outcomes input[value="1"]:checked)>.score{color:#c92236}
.score-page .score-row:has(.outcomes input[value="-1"]:checked)>.score{color:#16a77b}
.score-page .score-row:not(:has(.outcomes input))>.score{color:#c92236}
.score-page .score-row>.score{font-size:18px}
