.finals-root{width:100vw;height:100vh;overflow:hidden;position:relative;background:#f5f0e8;display:flex;flex-direction:column}.finals-main{flex:1;display:flex;min-height:0}.finals-slide-area{flex:1;position:relative;min-width:0}.finals-right-panel{width:340px;flex-shrink:0;border-left:1px solid rgba(40,37,34,.12);background:#f5f0e8;display:flex;flex-direction:column;overflow:hidden}.finals-left-panel{width:300px;flex-shrink:0;border-right:1px solid rgba(40,37,34,.12);background:#f5f0e8;padding:10px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;font-family:"Noto Serif SC",serif}.slide-base{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 5rem;position:relative}.slide-enter{animation:slideEnter .35s ease-out forwards}@keyframes slideEnter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:60px;height:80px;display:flex;align-items:center;justify-content:center;opacity:.12;transition:opacity .3s,transform .2s;cursor:pointer;color:#b1271d;font-size:2rem;z-index:50;-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-arrow:hover{opacity:.6;transform:translateY(-50%) scale(1.15)}.nav-arrow-left{left:16px}.nav-arrow-right{right:16px}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:720px}.hub-tile{cursor:pointer;border:2px solid transparent;border-radius:4px;padding:1.5rem;transition:border-color .3s,transform .2s,box-shadow .3s;background:#f5f0e899}.hub-tile:hover{border-color:#b1271d;transform:scale(1.04);box-shadow:0 4px 20px #b1271d1a}.reveal-enter{animation:revealEnter .5s ease-out forwards}@keyframes revealEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tabular-nums{font-variant-numeric:tabular-nums}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.award-bgm-player{position:absolute;bottom:8px;left:8px;width:280px;height:66px;border:none;opacity:.6;z-index:60;border-radius:8px}.team-slide-left{animation:teamSlideLeft .3s ease-out}.team-slide-right{animation:teamSlideRight .3s ease-out}@keyframes teamSlideLeft{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes teamSlideRight{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s ease}.card-flipped{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front{border:none;cursor:pointer;transition:filter .2s}.card-front:hover{filter:brightness(1.1)}.card-back{transform:rotateY(180deg);background:#fff;border:2px solid #d9d7d2}.tiebreak-card-container{width:200px;height:120px;perspective:800px}.undercover-card-container{width:220px;height:140px;perspective:800px}.scoreboard-panel{padding:10px 12px;border-bottom:1px solid rgba(40,37,34,.1);flex-shrink:0;font-family:"Noto Serif SC",serif}.scoreboard-row{display:flex;align-items:center;gap:6px;padding:3px 0}.scoreboard-id{font-size:11px;color:#6f675e;width:18px;flex-shrink:0}.scoreboard-name{font-size:11px;color:#4c4742;flex-shrink:0;width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-ppl{display:flex;gap:1px;flex-shrink:0;font-size:7px;color:#918a7d;letter-spacing:1px;width:40px;margin-right:6px}.scoreboard-ppl .ppl-active{color:#38a169}.scoreboard-ppl .ppl-dead{color:#d9d7d2}.scoreboard-ppl.ppl-overflow{text-decoration:underline;text-decoration-color:#38a169;text-underline-offset:3px;animation:pplBlink 1s ease-in-out infinite}.scoreboard-ppl.ppl-overflow span{color:#38a169}@keyframes pplBlink{0%,to{text-decoration-color:#38a169}50%{text-decoration-color:transparent}}.scoreboard-score{font-size:13px;font-weight:700;color:#282522;font-variant-numeric:tabular-nums;min-width:40px;text-align:right;flex-shrink:0}.scoreboard-bar-track{flex:1;height:6px;background:#2825220f;border-radius:3px;overflow:hidden;min-width:20px}.scoreboard-bar-fill{height:100%;background:#b1271d;border-radius:3px;transition:width .5s ease;min-width:0}.scoring-panel{flex:1;overflow-y:auto;padding:10px 12px;font-family:"Noto Serif SC",serif}.sp-header{font-size:13px;font-weight:700;color:#b1271d;letter-spacing:.1em;margin-bottom:10px;display:flex;align-items:center;gap:6px}.sp-badge{font-size:10px;font-weight:400;background:#b1271d;color:#f5f0e8;padding:1px 6px;border-radius:2px}.sp-label{font-size:11px;color:#6f675e;flex-shrink:0}.sp-select,.sp-select-sm{font-family:"Noto Serif SC",serif;font-size:11px;border:1px solid #d9d7d2;background:#fff;padding:2px 4px;color:#282522;outline:none}.sp-select{min-width:80px}.sp-select-sm{width:36px}.sp-team-list{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.sp-team-row{display:flex;align-items:center;gap:4px;padding:3px 0}.sp-team-name{font-size:11px;color:#5c564f;width:110px;flex-shrink:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-btn{font-family:"Noto Serif SC",serif;font-size:11px;padding:2px 8px;border:1px solid #d9d7d2;background:#fff;cursor:pointer;transition:all .15s;color:#5c564f}.sp-btn:hover{border-color:#b1271d;color:#b1271d}.sp-btn-plus{color:#166534;border-color:#bbf7d0}.sp-btn-plus:hover{background:#dcfce7;border-color:#166534}.sp-btn-minus{color:#991b1b;border-color:#fecaca}.sp-btn-minus:hover{background:#fee2e2;border-color:#991b1b}.sp-num-input{font-family:"Noto Serif SC",serif;font-size:12px;border:1px solid #d9d7d2;background:#fff;padding:2px 4px;text-align:center;color:#282522;outline:none;font-variant-numeric:tabular-nums}.sp-num-input:focus{border-color:#b1271d}.sp-abcd-grid{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.sp-abcd-row{display:flex;align-items:center;gap:3px;padding:2px 0;border-radius:2px;transition:background .2s}.sp-abcd-row.sp-correct{background:#16653414}.sp-abcd-row.sp-wrong{background:#991b1b0f}.sp-abcd-btn{font-family:"Noto Serif SC",serif;width:28px;height:24px;font-size:12px;border:1px solid #d9d7d2;background:#fff;cursor:pointer;transition:all .15s;color:#5c564f;display:flex;align-items:center;justify-content:center}.sp-abcd-btn:hover{border-color:#b1271d;color:#b1271d}.sp-abcd-btn.sp-abcd-active{background:#b1271d;color:#fff;border-color:#b1271d}.sp-abcd-btn:disabled{opacity:.6;cursor:not-allowed}.sp-result-icon{font-size:14px;margin-left:4px;font-weight:700}.sp-correct .sp-result-icon{color:#166534}.sp-wrong .sp-result-icon{color:#991b1b}.sp-actions{display:flex;gap:6px;margin-bottom:8px}.sp-btn-submit{font-family:"Noto Serif SC",serif;font-size:12px;padding:4px 14px;background:#b1271d;color:#f5f0e8;border:none;cursor:pointer;letter-spacing:.1em;transition:background .2s}.sp-btn-submit:hover{background:#7a1a15}.sp-undo{font-family:"Noto Serif SC",serif;font-size:11px;padding:4px 12px;border:1px solid #d9d7d2;background:#fff;color:#991b1b;cursor:pointer;transition:all .15s}.sp-undo:hover{border-color:#991b1b;background:#fee2e2}.sp-hint{font-size:10px;color:#a59f94;margin-top:4px}.sp-reset-btn{margin-left:auto;font-family:"Noto Serif SC",serif;font-size:10px;padding:1px 8px;border:1px solid #d9d7d2;background:#fff;color:#991b1b;cursor:pointer;transition:all .15s;font-weight:400}.sp-reset-btn:hover{border-color:#991b1b;background:#fee2e2}.sp-sort-btn{margin-left:auto;font-family:"Noto Serif SC",serif;font-size:10px;padding:1px 8px;border:1px solid #d9d7d2;background:#fff;color:#5c564f;cursor:pointer;transition:all .15s;font-weight:400}.sp-sort-btn:hover{border-color:#b1271d;color:#b1271d}.sp-pending-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.sp-pending-row{display:flex;align-items:center;gap:6px;font-size:11px;color:#5c564f;padding:2px 0}.sp-pending-slide{color:#a59f94;font-size:10px}.sp-pending-delta{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:#991b1b}.sp-pending-delta.positive{color:#166534}.sp-btn-submit:disabled{opacity:.4;cursor:not-allowed}[data-astro-cid-452znbca]:fullscreen [data-astro-cid-452znbca]{cursor:none}[data-astro-cid-452znbca]:fullscreen .nav-arrow[data-astro-cid-452znbca],[data-astro-cid-452znbca]:fullscreen button[data-astro-cid-452znbca],[data-astro-cid-452znbca]:fullscreen .hub-tile[data-astro-cid-452znbca],[data-astro-cid-452znbca]:fullscreen [data-astro-cid-452znbca][role=button]{cursor:pointer}
