html,body{padding:0;margin:0;overflow:hidden;--height-percent: 1;--width-offset: 0px}div.file-select{position:absolute;top:0;left:0;max-width:100%;max-height:100%;padding:10px;color:#000;background-color:#fff;border:1px solid #999;overflow:auto;box-sizing:border-box;z-index:10}.tab .bar{display:flex;position:relative;z-index:1;word-wrap:none;overflow-x:auto;overflow-y:hidden;flex-direction:row;flex-wrap:nowrap}.tab .bar>*{padding:2px 8px;background-color:#eee;border:1px solid #666;border-right:unset;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tab .bar>*:first-child{border-radius:4px 0 0}.tab .bar>*:last-child{border-right:1px solid #666;border-radius:0 4px 0 0}.tab .bar>*.active{background-color:transparent;border-bottom:1px solid #FFF}.tab .content{position:relative;top:-1px;padding:4px 8px;border:1px solid #666;border-radius:0 0 4px 4px;box-sizing:border-box}.tab .content>*{display:none}.tab .content>*:first-child{display:block}button#fullscreen{position:absolute;top:0;right:0}canvas.canvas-game{position:absolute;top:0;left:0;z-index:1}div.game-paused{display:none;position:absolute;top:50%;left:50%;padding:calc(18px * var(--height-percent));transform:translate(-50%,-50%);background-color:#0003;color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 0 24px #000;box-sizing:border-box;z-index:10}div.game-paused .title{font-size:calc(70px * var(--height-percent));text-align:center}div.game-paused .action{display:flex;margin-top:calc(28px * var(--height-percent));flex-direction:row;justify-content:center;align-content:center}div.game-paused .action *{font-size:calc(38px * var(--height-percent))}div.game-paused{padding:calc(30px * var(--height-percent))}div.error-window{display:none;position:absolute;top:0;right:0;max-width:100%;max-height:100%;padding:8px;color:#fff;background-color:#f33;border:1px solid #A00;box-sizing:border-box;z-index:20}div.error-window a{color:#fff}div.error-window button.close{margin-left:6px;float:right}div.error-window pre{margin-top:8px;margin-bottom:8px;padding:8px;background:#d60000;box-sizing:border-box;overflow-x:auto}div.error-window pre,div.error-window pre *{font-family:Menlo,Monaco,Courier New,monospace!important}.play-result{display:block;position:absolute;top:0;left:0;width:100%;height:100%;color:#fff;overflow:hidden;z-index:10;pointer-events:none;touch-action:none}.play-result .bg-shadow-cover{position:absolute;top:100%;left:0;width:100%;height:1px;box-shadow:0 0 0 0 transparent}.play-result .bg-shadow-cover.top{top:0%}.play-result .song-info{position:absolute;top:calc(106px * var(--height-percent));left:110%;padding-left:calc(16px * var(--height-percent));box-sizing:border-box}.play-result .song-info:before{content:"";display:block;position:absolute;top:0;left:0;bottom:0;width:calc(8px * var(--height-percent));background:#fff;border-radius:calc(6px * var(--height-percent))}.play-result .song-info .title{font-family:A-OTF Shin Go Pr6N H;font-size:calc(60px * var(--height-percent));font-weight:bolder;line-height:calc(68px * var(--height-percent))}.play-result .song-info .subtitle{font-size:calc(25px * var(--height-percent));font-weight:700;line-height:calc(26px * var(--height-percent))}.play-result .song-info .subtitle.diff{font-size:calc(20px * var(--height-percent));font-weight:400}.play-result .judge-icon{position:absolute;top:calc(304px * var(--height-percent));left:120%;font-size:calc(204px * var(--height-percent));color:#ebcf0e;font-weight:700;text-shadow:0px 0px 20px #EBCF0E}.play-result .extra-info{position:absolute;top:calc(540px * var(--height-percent));left:110%;font-family:A-OTF Shin Go Pr6N H!important;font-size:calc(26px * var(--height-percent));line-height:calc(50px * var(--height-percent));text-transform:uppercase}.play-result .info-bar{position:absolute;left:110%;width:calc(520px * var(--height-percent));height:calc(130px * var(--height-percent));padding:calc(24px * var(--height-percent)) calc(54px * var(--height-percent));background:#00000026;border-radius:calc(16px * var(--height-percent));box-sizing:border-box;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}.play-result .info-bar:after{content:"";display:block;position:absolute;top:calc(30px * var(--height-percent));left:calc(26px * var(--height-percent));width:calc(4px * var(--height-percent));height:calc(100% - (60px * var(--height-percent)));background:#fff;border-radius:calc(6px * var(--height-percent))}.play-result .info-bar.score{bottom:calc(333px * var(--height-percent))}.play-result .info-bar.score .score{font-family:A-OTF Shin Go Pr6N H;font-size:calc(50px * var(--height-percent));line-height:calc(56px * var(--height-percent))}.play-result .info-bar.score .acc{font-family:A-OTF Shin Go Pr6N H;font-size:calc(20px * var(--height-percent));line-height:calc(18px * var(--height-percent))}.play-result .info-bar.acc-bar{height:calc(38px * var(--height-percent));left:calc(646px * var(--height-percent) + var(--width-offset));bottom:calc(333px * var(--height-percent));padding:calc(8px * var(--height-percent));opacity:0;pointer-events:none;touch-action:none;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-ms-transition:opacity .15s linear;transition:opacity .15s linear}.play-result .info-bar.acc-bar.show{opacity:1}.play-result .info-bar.acc-bar:after{display:none}.play-result .info-bar.acc-bar .judge-histogram{position:relative;width:100%;height:calc(22px * var(--height-percent));background-color:#0009}.play-result .info-bar.acc-bar .judge-histogram>*{position:absolute;width:1%;height:100%;left:calc(100% - var(--pos));background-color:green;transform:translate(50%)}.play-result .info-bar.acc-bar .judge-histogram>.center{background-color:red;opacity:.4;--pos: 50%}.play-result .info-bar.detail{bottom:calc(184px * var(--height-percent))}.play-result .info-bar.detail .detail{display:flex;margin-top:calc(6px * var(--height-percent));flex-direction:row;flex-wrap:nowrap;align-content:center;align-items:center}.play-result .info-bar.detail .detail .detail-single{flex:1}.play-result .info-bar.detail .detail .detail-single .type{font-family:A-OTF Shin Go Pr6N H;font-size:calc(25px * var(--height-percent));line-height:calc(22px * var(--height-percent));letter-spacing:calc(-2px * var(--height-percent))}.play-result .info-bar.detail .detail .detail-single .value{font-size:calc(16px * var(--height-percent))}.play-result .info-bar.detail .max-combo{margin-top:calc(8px * var(--height-percent));font-size:calc(16px * var(--height-percent))}.play-result .actions{display:flex;position:absolute;bottom:calc(72px * var(--height-percent));right:110%;flex-direction:row;align-content:flex-end;justify-content:flex-start;align-items:flex-end;gap:calc(24px * var(--height-percent))}.play-result .actions button{min-width:calc(128px * var(--height-percent));height:calc(62px * var(--height-percent));padding:0 calc(26px * var(--height-percent));background:#0006;color:#fff;font-size:calc(24px * var(--height-percent));border:none;outline:none;border-radius:calc(36px * var(--height-percent));-webkit-transition:background .15s linear,color .15s linear;-moz-transition:background .15s linear,color .15s linear;-ms-transition:background .15s linear,color .15s linear;transition:background .15s linear,color .15s linear}.play-result .actions button.big{min-width:calc(216px * var(--height-percent));height:calc(90px * var(--height-percent));padding:0 calc(50px * var(--height-percent));font-size:calc(36px * var(--height-percent));border-radius:calc(52px * var(--height-percent))}.play-result .actions button:hover{background:#fff;color:#000}.play-result .actions button:active{background:#bbb}.play-result .actions button.highlight{background:#fff;color:#4e4e4e}.play-result .actions button.highlight:hover{color:#000}.play-result .actions button.highlight:active{background:#bbb}.play-result.show{pointer-events:all;touch-action:auto}.play-result.show .bg-shadow-cover{display:block;box-shadow:0 -1px 170px calc(140px * var(--height-percent)) #000;-webkit-transition:box-shadow .5s cubic-bezier(0,0,0,1);-moz-transition:box-shadow .5s cubic-bezier(0,0,0,1);-ms-transition:box-shadow .5s cubic-bezier(0,0,0,1);transition:box-shadow .5s cubic-bezier(0,0,0,1)}.play-result.show .song-info{left:calc(106px * var(--height-percent) + var(--width-offset));-webkit-transition:left .5s cubic-bezier(0,0,0,1);-moz-transition:left .5s cubic-bezier(0,0,0,1);-ms-transition:left .5s cubic-bezier(0,0,0,1);transition:left .5s cubic-bezier(0,0,0,1)}.play-result.show .judge-icon{left:calc(110px * var(--height-percent) + var(--width-offset));-webkit-transition:left .5s cubic-bezier(0,0,0,1) .2s;-moz-transition:left .5s cubic-bezier(0,0,0,1) .2s;-ms-transition:left .5s cubic-bezier(0,0,0,1) .2s;transition:left .5s cubic-bezier(0,0,0,1) .2s}.play-result.show .extra-info{left:calc(112px * var(--height-percent) + var(--width-offset));-webkit-transition:left .5s cubic-bezier(0,0,0,1) .2s;-moz-transition:left .5s cubic-bezier(0,0,0,1) .2s;-ms-transition:left .5s cubic-bezier(0,0,0,1) .2s;transition:left .5s cubic-bezier(0,0,0,1) .2s}.play-result.show .info-bar.score{left:calc(106px * var(--height-percent) + var(--width-offset));-webkit-transition:left .5s cubic-bezier(0,0,0,1) .4s;-moz-transition:left .5s cubic-bezier(0,0,0,1) .4s;-ms-transition:left .5s cubic-bezier(0,0,0,1) .4s;transition:left .5s cubic-bezier(0,0,0,1) .4s}.play-result.show .info-bar.detail{left:calc(106px * var(--height-percent) + var(--width-offset));-webkit-transition:left .5s cubic-bezier(0,0,0,1) .6s;-moz-transition:left .5s cubic-bezier(0,0,0,1) .6s;-ms-transition:left .5s cubic-bezier(0,0,0,1) .6s;transition:left .5s cubic-bezier(0,0,0,1) .6s}.play-result.show .actions{right:calc(68px * var(--height-percent) + var(--width-offset));-webkit-transition:right .5s cubic-bezier(0,0,0,1) .8s;-moz-transition:right .5s cubic-bezier(0,0,0,1) .8s;-ms-transition:right .5s cubic-bezier(0,0,0,1) .8s;transition:right .5s cubic-bezier(0,0,0,1) .8s}div.debug-value{position:absolute;top:0;right:0;color:#fff}@media screen and (prefers-color-scheme: dark){html,body,div.file-select{background-color:#202124;color:#d6d6d6}.tab .bar>*{background-color:#4a4a4a;border:1px solid #ebebeb;border-right:unset}.tab .bar>*.active{border-bottom:1px solid #202124}.tab .content,div.file-select{border:1px solid #ebebeb}}.skip-config-hide{display:none!important}.progress-item{margin-bottom:10px;padding:5px;border-bottom:1px solid #444}.file-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{height:10px;background:#333;margin:5px 0;border-radius:5px}.progress{height:100%;background:#4caf50;border-radius:5px;width:0;transition:width .3s ease}.progress-info{display:flex;justify-content:space-between;font-size:11px}.cdn-config{background-color:#f9f9f9;padding:15px;border-radius:5px;border:1px solid #ddd;margin-bottom:20px}.cdn-config label{display:block;margin-bottom:10px;font-weight:700}.cdn-config select,.cdn-config input{padding:8px;border:1px solid #ccc;border-radius:4px;width:100%;box-sizing:border-box;margin-top:5px}.cdn-config button{padding:8px 15px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.cdn-config button:hover{background-color:#45a049}.cdn-config button#reset-cdn-config{background-color:#f44336}.cdn-config button#reset-cdn-config:hover{background-color:#d32f2f}#song-cards-container{margin-top:10px;display:none}.song-cards-layout{display:flex;gap:20px;opacity:1;transform:translate(0);transition:opacity .3s ease,transform .3s ease}.song-cards-list-wrapper{flex:1;max-width:250px}.song-card-details-wrapper{flex:2}.song-cards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.song-cards-header h3{margin:0}#song-cards-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.song-card{width:90%;height:60px;border-radius:8px;background-size:cover;background-position:center;position:relative;cursor:pointer;border:2px solid transparent;transition:all .2s ease;display:flex;align-items:flex-end}.song-card:hover{box-shadow:0 4px 8px #0003}.song-card.selected{border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff}.song-card-info{background:#000000b3;padding:6px;border-radius:0 0 8px 8px;font-size:12px;color:#fff;width:100%}.song-card-info .song-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-card-info .song-artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-detail-card{border:1px solid #ddd;border-radius:8px;padding:15px;background:#f9f9f9;box-shadow:0 2px 4px #0000001a;min-height:300px;transition:transform .3s ease}.song-bg{width:100%;height:200px;background-size:cover;background-position:center;border-radius:4px;margin-bottom:15px}.song-info h2{margin:0 0 10px;color:#333}.song-info p{margin:5px 0;color:#666}.file-selection-wrapper{display:none;flex:2;opacity:1;transform:translate(0);transition:opacity .3s ease,transform .3s ease,display .3s ease}.file-selection-wrapper.active{display:block}.file-selection-controls{transition:all .3s ease;background:#f9f9f9;padding:15px;border-radius:8px;border:1px solid #ddd}.file-selection-actions{margin-top:15px;text-align:right}.file-selection-controls.hidden{display:none}.smooth-transition{transition:all .3s ease}.song-info-card{margin-top:1em;padding:1em;background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-family:Arial,sans-serif}.card-header{font-size:1.2em;font-weight:700;margin-bottom:.8em;color:#333}.card-content{display:flex;flex-direction:column;gap:.5em}.info-item{display:flex;justify-content:space-between;padding:.3em .6em;border-radius:4px;transition:background-color .3s}.info-item:hover{background-color:#e0e0e0}.info-label{font-weight:700;color:#555;min-width:80px}.info-value{color:#333}.hidden{display:none}
