button:focus,button:active{box-shadow:none;outline:none}.header .btn-primary,.header .btn-secondary{color:#fff;background-color:#fff3}@media (max-width:768px){.container{padding:1rem .5rem}.header .btn-group{flex-direction:column;align-items:center}.header .btn{width:200px}.teams-grid{grid-template-columns:1fr}.hall-section .filter-bar{flex-wrap:wrap}.hall-section .filter-btn{flex:1;min-width:100px}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}button{-webkit-tap-highlight-color:transparent;box-shadow:none;outline:none}button:focus,button:active{box-shadow:none;outline:none}body{color:#333;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.header{color:#fff;text-align:center;background-color:#1890ff;padding:1rem 0;box-shadow:0 2px 8px #00000026}.header h1{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.header .btn-group{justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.header .btn{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:20px;padding:.4rem 1rem;font-size:.9rem;font-weight:500;transition:all .3s}.header .btn:active{opacity:.8;transform:translateY(0)}.header .btn-primary,.header .btn-secondary{color:#fff;background-color:#fff3}.header .btn:hover{opacity:.9;transform:translateY(-1px)}.header .btn.active{color:#1890ff;background-color:#fff;font-weight:600;box-shadow:0 2px 8px #00000026}.container{max-width:1200px;margin:0 auto;padding:1rem}.publish-section{background-color:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.notice-section{background-color:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1rem;box-shadow:0 2px 8px #0000001a}.notice-section .notice-content{color:#fa8c16;background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px;align-items:center;gap:.5rem;padding:.8rem;font-size:.9rem;display:flex}.notice-section .notice-icon{flex-shrink:0;font-size:1.2rem}.notice-section .notice-text{line-height:1.6}.publish-section .alert{color:#cf1322;background-color:#fff1f0;border:1px solid #ffccc7;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.8rem;font-size:.9rem;display:flex}.publish-section .form-group{margin-bottom:1rem}.publish-section label{color:#666;margin-bottom:.5rem;font-weight:500;display:block}.publish-section input{border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:.8rem;font-size:1rem;transition:all .3s}.publish-section input[type=file]{cursor:pointer}.publish-section .qr-preview{background-color:#fafafa;border:1px solid #e8e8e8;border-radius:8px;justify-content:center;align-items:center;margin-top:1rem;padding:1rem;display:flex}.publish-section .qr-preview img{object-fit:contain;max-width:200px;max-height:200px}.publish-section input:focus{border-color:#1890ff;outline:none;box-shadow:0 0 0 2px #1890ff33}.publish-section .btn-large{color:#fff;cursor:pointer;background-color:#1890ff;border:none;border-radius:4px;width:100%;margin-top:.5rem;padding:1rem;font-size:1rem;font-weight:500;transition:all .3s}.publish-section .btn-large:hover{background-color:#40a9ff;transform:translateY(-1px)}.hall-section{background-color:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.hall-section h2{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.2rem;font-weight:600;display:flex}.hall-section .filter-bar{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.hall-section .filter-btn{color:#666;cursor:pointer;background-color:#fff;border:1px solid #d9d9d9;border-radius:20px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.hall-section .filter-btn.active{color:#fff;background-color:#1890ff;border-color:#1890ff}.hall-section .filter-btn:hover{color:#1890ff;border-color:#1890ff}.hall-section .count{color:#999;margin-left:auto;font-size:.9rem}.hall-section .search-input{border:1px solid #d9d9d9;border-radius:20px;outline:none;width:150px;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.hall-section .search-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.team-card{border:1px solid #e8e8e8;border-radius:8px;padding:1rem;transition:all .3s}.team-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.team-card .score{color:#1890ff;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.team-card .meta{color:#999;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.8rem;display:flex}.team-card .qr-display{background-color:#fafafa;border-radius:4px;justify-content:center;align-items:center;margin-bottom:1rem;padding:.5rem;display:flex}.team-card .qr-display img{object-fit:contain;max-width:100%;max-height:150px}.team-card .actions{gap:.5rem;display:flex}.team-card .action-btn{color:#666;cursor:pointer;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.4rem;font-size:.8rem;transition:all .3s;display:flex}.team-card .action-btn.invalid-btn{color:#fff;background-color:#ff4d4f}.team-card .action-btn.invalid-btn:hover{background-color:#ff7875}.team-card .action-btn:hover{color:#1890ff;border-color:#1890ff}.match-results{background-color:#fff;border-radius:8px;margin-top:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.match-results h2{align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.2rem;font-weight:600;display:flex}.match-results .filter-bar{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.match-results .filter-bar .filter-btn{color:#666;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-shadow:none;background-color:#fff;border:1px solid #d9d9d9;border-radius:20px;outline:none;padding:.5rem 1rem;font-size:.9rem;transition:all .3s}.match-results .filter-bar .filter-btn:focus{box-shadow:none;outline:none}.match-results .filter-bar .filter-btn:active{box-shadow:none;background-color:#e6f7ff;border-color:#1890ff;outline:none}.match-results .filter-bar .filter-btn.active{color:#fff;-webkit-tap-highlight-color:transparent;box-shadow:none;background-color:#1890ff;border-color:#1890ff;outline:none}.match-results .filter-bar .filter-btn:hover{color:#1890ff;border-color:#1890ff}.match-results .filter-bar .count{color:#999;margin-left:auto;font-size:.9rem}.match-results .match-list{flex-direction:column;gap:1rem;display:flex}.match-results .match-item{border:1px solid #e8e8e8;border-radius:8px;padding:1rem;transition:all .3s}.match-results .match-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.scan-result{justify-content:center;align-items:center;padding:2rem;display:flex}.scan-result .result-card{text-align:center;border:1px solid #e8e8e8;border-radius:8px;width:100%;max-width:400px;padding:2rem;box-shadow:0 2px 8px #0000001a}.scan-result .result-score{color:#1890ff;margin-bottom:1rem;font-size:3rem;font-weight:600}.scan-result .result-meta{color:#999;margin-bottom:1.5rem;font-size:.9rem}.scan-result .result-actions{justify-content:center;display:flex}.scan-result .result-actions .action-btn{max-width:200px;padding:.8rem 1rem;font-size:1rem}.match-results .match-info{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.match-results .match-title{color:#1890ff;font-size:1rem;font-weight:600}.match-results .match-scores{color:#333;font-size:1rem;font-weight:500}.match-results .match-actions{flex-wrap:wrap;gap:.5rem;display:flex}.match-results .team-actions{flex-wrap:wrap;flex:1;gap:.5rem;min-width:200px;display:flex}.match-results .match-actions .action-btn{color:#666;cursor:pointer;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:.3rem;min-width:120px;padding:.5rem;font-size:.8rem;transition:all .3s;display:flex}.match-results .match-actions .action-btn:hover{color:#1890ff;border-color:#1890ff}.match-qr-display{background-color:#fafafa;border:1px solid #e8e8e8;border-radius:8px;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.match-qr-display .qr-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.match-qr-display .qr-item img{object-fit:contain;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;max-width:150px;max-height:150px;padding:.5rem}.match-qr-display .qr-item span{color:#666;font-size:.9rem;font-weight:500}.request-codes-list{flex-direction:column;gap:.5rem;display:flex}.request-code-item{background-color:#fff;border:1px solid #e8e8e8;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.request-code-item:hover{border-color:#1890ff;box-shadow:0 2px 8px #0000001a}.request-code-item .rank{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.request-code-item .score{color:#333;flex:1;font-size:1.1rem;font-weight:600}.request-code-item .count{color:#fa8c16;white-space:nowrap;background-color:#fff7e6;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500}.request-code-item .time{color:#999;white-space:nowrap;font-size:.85rem}.invalid-codes-list{flex-direction:column;gap:.5rem;display:flex}.invalid-code-item{background-color:#fff2f0;border:1px solid #ffccc7;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .3s;display:flex}.invalid-code-item:hover{border-color:#ff4d4f;box-shadow:0 2px 8px #0000001a}.invalid-code-item .score{color:#ff4d4f;font-size:1.1rem;font-weight:600}.invalid-code-item .time{color:#999;font-size:.85rem}@media (max-width:768px){.container{padding:1rem .5rem}.header .btn-group{flex-direction:column;align-items:center}.header .btn{width:200px}.teams-grid{grid-template-columns:1fr}.hall-section .filter-bar{flex-wrap:wrap}.hall-section .filter-btn{flex:1;min-width:100px}}.login-section{background-color:#fff;border-radius:8px;max-width:400px;margin:4rem auto;padding:2rem;box-shadow:0 2px 8px #0000001a}.login-section h2{text-align:center;color:#333;margin-bottom:1.5rem;font-size:1.5rem}.login-section .form-group{margin-bottom:1rem}.login-section label{color:#666;margin-bottom:.5rem;font-weight:500;display:block}.login-section input{border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .3s}.login-section input:focus{border-color:#1890ff;outline:none}.login-section .btn{color:#fff;cursor:pointer;background-color:#1890ff;border:none;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:background-color .3s}.login-section .btn:hover{background-color:#0d7acc}
