html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}body{background-color:#e8f5e9;margin:0;padding:0;font-family:sans-serif;color:#333;min-height:100vh}.app{width:700px;margin:0 auto;padding:1.5rem 1rem}.nav-container{background:#f5f5f5;padding:1rem;margin-bottom:1.5rem;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;justify-content:center}.nav-link{text-decoration:none;color:#1a73e8;font-weight:600;padding:.75rem 1.5rem;background-color:#fff;border-radius:4px;border-bottom:2px solid #1a73e8;transition:all .2s ease;display:inline-block}.nav-link:hover{background-color:#f8f9fa;transform:translateY(-1px);box-shadow:0 2px 8px #1a73e833}.header{display:none}.main{width:100%}.summary{display:none}.controls{display:flex;align-items:center;gap:1rem}.refresh-btn{background-color:#1a73e8;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem}.refresh-btn:hover:not(:disabled){background-color:#1557b0}.refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.last-updated{font-size:.8rem;color:#666}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px}.spinner{border:4px solid #f3f3f3;border-top:4px solid #1a73e8;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{text-align:center;padding:2rem;background-color:#ffebee;border:1px solid #f44336;border-radius:4px;margin:1rem 0}.error h2{color:#d32f2f;margin-top:0}.pilots-container{margin-bottom:2rem}.player-card{border:1px solid #ddd;border-radius:6px;padding:.75rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;background-color:#fff}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.nickname{font-size:32px;font-weight:700;margin-right:1rem}.total-score{font-size:70px;font-weight:900;color:#1a73e8;line-height:1}.player-info{display:flex;justify-content:space-between;color:#555;font-size:.9rem;margin-bottom:.75rem}.letters{font-size:.9rem;color:#888;margin-bottom:.5rem}.submission{display:grid;grid-template-columns:200px 240px auto auto;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.9rem}.submission-link a{text-decoration:none;color:#1a73e8;font-size:.85rem}.submission-score{font-weight:700;text-align:right}.submission-title{font-weight:600}.sub-comment{margin-top:2px;color:#888;font-style:italic}.submission iframe{width:240px;height:160px;border:none}.video-container{position:relative;display:inline-block}.close-video-btn{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;background:#f00c;color:#fff;border:none;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.close-video-btn:hover{background:red;transform:scale(1.1)}.video-thumbnail{width:240px;height:160px;object-fit:cover;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 2px 8px #0000001a}.video-thumbnail:hover{transform:scale(1.02);box-shadow:0 4px 16px #0003}.video-thumbnail:after{content:"▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .3s ease}.video-thumbnail:hover:after{background:#f00c;transform:translate(-50%,-50%) scale(1.1)}.no-video{width:240px;height:160px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#888;font-style:italic;border:1px dashed #ccc;border-radius:8px}.submission-score-row{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .25rem}.score-label{font-weight:500;color:#444;font-size:.95em}.submission-divider{display:none;border:none;border-top:1.5px solid #e0e0e0;margin:1rem 0}.legend{margin-top:2rem;font-size:.9rem}.legend h2{font-size:1.1rem;margin-bottom:.5rem}.legend table{width:100%;border-collapse:collapse}.legend th,.legend td{border:1px solid #ccc;padding:.3rem .5rem;text-align:left}.legend th{background:#f0f0f0}.challenge-submissions{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.challenge-submissions h2{margin-top:0;margin-bottom:1.5rem;color:#333;font-size:1.5rem}.challenge-section{margin-bottom:2rem}.challenge-section h3{margin-top:0;margin-bottom:1rem;color:#1a73e8;font-size:1.2rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.challenge-section ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.challenge-section li{padding:.5rem;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #1a73e8;font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.challenge-section .pilot-name{font-weight:500}.pilot-score{background-color:#1a73e8;color:#fff;padding:.2rem .5rem;border-radius:3px;font-size:.8rem;font-weight:700;min-width:2rem;text-align:center;text-decoration:none;display:inline-block;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.challenge-section .pilot-score:hover{background-color:#1557b0;color:#fff;text-decoration:none}.score-no-video{background-color:#f5f5f5!important;color:#333!important}.score-fail{background-color:red!important;color:#333!important}.score-tbd{background-color:#ff0!important;color:#333!important}.score-pass{background-color:#0f0!important;color:#333!important}.score-top{background-color:#0ff!important;color:#333!important}.score-podium{background-color:#f0f!important;color:#333!important}.score-best{background-color:purple!important;color:#fff!important}.score-default{background-color:#1a73e8!important;color:#fff!important}.letter-group{margin-bottom:3rem}.group-header{display:flex;justify-content:flex-start;align-items:center;margin:2rem 0;cursor:pointer;transition:all .3s ease;position:relative;width:100%}.group-header:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent 0%,#667eea 20%,#764ba2 80%,transparent 100%);transform:translateY(-50%)}.group-title{margin:0;font-size:1.2rem;font-weight:600;color:#333;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:25px;position:relative;z-index:1;border:none;box-shadow:0 2px 8px #667eea4d;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.group-header:hover .group-title{transform:scale(1.02);box-shadow:0 4px 16px #667eea66}.collapse-icon{font-size:.9rem;color:#fff;transition:all .3s ease}.group-content{animation:slideDown .4s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stats-container{max-width:900px;margin:2rem auto;background:#fff;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 2px 16px #0000001a}.stats-title{font-size:2.6rem;text-align:center;margin-bottom:2.5rem;font-weight:900;letter-spacing:-2px}.stats-subtitle{font-size:2rem;text-align:center;margin-bottom:3rem;font-weight:700;color:#1a73e8}.stats-section{margin:3rem 0;padding:2rem 0;border-bottom:1px solid #eee}.stats-section-title{font-size:2rem;font-weight:800;text-align:center;margin-bottom:1.5rem;color:#333}.stats-section-subtitle{font-size:1.3rem;font-weight:500;color:#555;margin-top:.5rem;margin-bottom:1.5rem;text-align:center;letter-spacing:.02em}.stats-total{text-align:center;margin-top:1.5rem;font-size:1.3rem;font-weight:600}.stats-total-number{color:#1a73e8;font-size:1.7rem;font-weight:900}@media only screen and (max-width: 750px){.app{width:95%;padding:1rem .5rem}.submission{display:block;text-align:left;grid-template-columns:1fr;gap:.75rem}.submission iframe{width:100%;height:200px;max-width:320px}.video-container{width:100%;max-width:320px}.close-video-btn{top:-5px;right:-5px;width:25px;height:25px;font-size:14px}.video-thumbnail{width:100%;height:200px;max-width:320px}.no-video{width:100%;max-width:320px;height:200px}.submission-score{text-align:left}.player-header{flex-direction:column;align-items:flex-start;gap:.5rem}.nickname{font-size:24px}.total-score{font-size:48px}.player-info{flex-direction:column;gap:.25rem}.challenge-section ul{grid-template-columns:1fr}.challenge-section li{flex-direction:column;gap:.5rem;align-items:flex-start}.pilot-score{align-self:flex-end}.legend table{font-size:.8rem}.legend th,.legend td{padding:.2rem .3rem}.challenge-submissions{padding:1rem}.challenge-submissions h2{font-size:1.3rem}.challenge-section h3{font-size:1.1rem}.group-title{font-size:1rem;padding:.5rem 1rem}.submission-divider{display:block}.stats-container{margin:0;padding:1.5rem 1rem;border-radius:8px}.stats-title{font-size:2rem;margin-bottom:1.5rem;letter-spacing:-1px}.stats-subtitle{font-size:1.5rem;margin-bottom:2rem}.stats-section{margin:2rem 0;padding:1rem 0}.stats-section-title{font-size:1.5rem;margin-bottom:1rem}.stats-total{font-size:1.1rem;margin-top:1rem}.stats-total-number{font-size:1.4rem}}@media only screen and (max-width: 480px){.app{width:95%;padding:.5rem}.nickname{font-size:20px}.total-score{font-size:36px}.submission-title{font-size:.85rem}.sub-comment{font-size:.8rem}.challenge-submissions h2{font-size:1.2rem}.challenge-section h3,.legend h2{font-size:1rem}.legend table{font-size:.75rem}.pilot-score{font-size:.75rem;padding:.15rem .4rem;min-width:1.5rem}}.custom-tooltip{background-color:#fffffff2;border:1px solid #ccc;border-radius:4px;padding:8px 12px;box-shadow:0 2px 8px #00000026;font-size:12px;line-height:1.4}.custom-tooltip .label{font-weight:700;margin-bottom:4px;color:#333}.custom-tooltip p{margin:2px 0}.chart-controls{text-align:center;margin-bottom:1rem}.toggle-label{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:500;color:#333;cursor:pointer;padding:.5rem 1rem;background-color:#f5f5f5;border-radius:4px;border:1px solid #ddd;transition:background-color .2s}.toggle-label:hover{background-color:#e8e8e8}.toggle-label input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer}.top-three-row{background:linear-gradient(135deg,#fff3cd,#ffeaa7)!important;font-weight:600!important}.top-three-row:hover{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)!important}.ant-table-tbody>tr.top-three-row>td{border-bottom:2px solid #f39c12!important}.leaderboard-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:24px;overflow:hidden}.ant-table-wrapper{max-width:100%;overflow-x:auto}.ant-table{font-size:14px}.ant-table-thead>tr>th{padding:8px 4px!important;font-size:13px!important}.ant-table-tbody>tr>td{padding:6px 4px!important;font-size:13px!important}@media only screen and (max-width: 768px){.ant-table{font-size:12px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:4px 2px!important;font-size:11px!important}.ant-table-pagination{font-size:12px}}@media only screen and (max-width: 480px){.ant-table{font-size:11px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:3px 1px!important;font-size:10px!important}}
