@font-face{font-family:PhiSans;src:local('Exo 2'),local('Bahnschrift'),local('DIN Alternate'),local('Arial');font-display:swap}
:root{color-scheme:dark;--white:#f4f6f7;--muted:#c8ced3;--ez:#60b999;--hd:#55b5d8;--in:#d83442;--at:#717477;--gold:#fce491;font-family:PhiSans,'Segoe UI','Noto Sans SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:#080b0e;color:var(--white);height:100dvh;overflow:hidden}button,input,select{font:inherit}button{border:0;color:inherit;cursor:pointer;background:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.35}button:focus-visible,[role=button]:focus-visible,label:has(input:focus-visible){outline:2px solid #a2eeff;outline-offset:4px}button svg,svg{width:1.6em;height:1.6em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}img{display:block;object-fit:cover}button,input{-webkit-user-select:none;user-select:none}button:hover{filter:brightness(1.13)}button:active{filter:brightness(.88)}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0}#app{position:relative;isolation:isolate;container-type:size;width:min(100vw,177.77778dvh);height:min(56.25vw,100dvh);margin:auto;top:50%;transform:translateY(-50%);overflow:hidden;background:#24323b;--u:1cqw;font-size:calc(var(--u)*1.45)}.ambient,.ambient-shade,.diagonal{position:absolute;inset:-7%;z-index:-3;pointer-events:none}.ambient{background:center/cover no-repeat url('../assets/first-light.svg');filter:blur(24px);transform:scale(1.08);transition:background-image .5s}.ambient-shade{z-index:-2;background:linear-gradient(100deg,#07151cbb,#0a121a80 52%,#1b242875)}.diagonal{inset:0;transform:skewX(-15deg);background:#dce6ea0c;z-index:-1}.diagonal-one{left:8%;width:34%}.diagonal-two{left:83%;width:16%;background:#00000018}.screen{display:none;position:absolute;inset:0}.screen.active{display:block;animation:screen-in .32s ease both}@keyframes screen-in{from{opacity:0;transform:translateX(1.4%)}to{opacity:1;transform:translateX(0)}}.slant{transform:skewX(-15deg)}.slant>span,.slant>div{transform:skewX(15deg)}.back-button{position:absolute;top:1.1%;left:-1%;width:8.6%;height:9%;background:#000d;border-right:calc(var(--u)*.45) solid white;z-index:3}.back-button span{display:grid;place-items:center;height:100%}.back-button svg{width:calc(var(--u)*3.1);height:calc(var(--u)*3.1)}.selection-tools{position:absolute;left:16.3%;top:1.1%;height:10.2%;width:31.8%;background:#111b;border-bottom:1px solid #ffffff0b}.selection-tools>div{display:flex;align-items:center;justify-content:flex-end;height:100%;padding:0 5%;gap:5%}.sort-button{text-align:left;flex:1;font-size:calc(var(--u)*1.3);padding:0 4%}.sort-button small{display:block;font-size:calc(var(--u)*.95);line-height:1.5}.sort-button b{font-weight:500;white-space:nowrap}.tool-button{padding:0;display:grid;justify-items:center;gap:calc(var(--u)*.1)}.tool-button svg{height:calc(var(--u)*2.4);width:calc(var(--u)*2.4)}.tool-button small{font-size:calc(var(--u)*.85)}.selection-tools i{height:50%;border-left:1px solid #aaa6;transform:skewX(-15deg)}.player-badge{position:absolute;right:2%;top:2.7%;display:flex;align-items:center;gap:calc(var(--u)*1.1);font-size:calc(var(--u)*1.3)}.avatar{height:calc(var(--u)*5);width:calc(var(--u)*6);background:#e5edf1;color:#263e48;display:grid;place-items:center;transform:skewX(-15deg);font-size:calc(var(--u)*4);font-style:italic}.player-badge strong,.player-badge span{display:block;text-align:right}.player-badge strong{font-size:calc(var(--u)*1.4);font-weight:500;max-width:calc(var(--u)*13);overflow:hidden;text-overflow:ellipsis}.player-badge span{font-size:calc(var(--u)*.65);letter-spacing:.17em;opacity:.65;margin-top:calc(var(--u)*.4)}.collection-label{position:absolute;left:17%;top:14.7%;display:flex;gap:calc(var(--u)*1.2);align-items:center;opacity:.8}.collection-label b{font-size:calc(var(--u)*1.05);font-weight:400}.collection-label span{font-size:calc(var(--u)*.65);letter-spacing:.18em}.song-list{position:absolute;left:10.8%;top:21%;width:33.2%;height:61%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;padding:calc(var(--u)*1.5) calc(var(--u)*1.4) calc(var(--u)*2) calc(var(--u)*1.4);mask-image:linear-gradient(transparent,#000 3%,#000 94%,transparent);scroll-behavior:smooth}.song-list::-webkit-scrollbar{display:none}.song-row{position:relative;width:100%;min-height:calc(var(--u)*6.3);display:flex;align-items:center;padding:calc(var(--u)*.8) calc(var(--u)*1.3);text-align:left;transition:background .18s,transform .22s;margin:calc(var(--u)*.3) 0;isolation:isolate}.song-row::before{content:'';position:absolute;inset:0;transform:skewX(-15deg);z-index:-1;transition:background .2s}.song-row:hover::before{background:#ffffff0e}.song-row.active::before{background:#0c1019d9;box-shadow:0 4px 12px #0002}.song-row.active{transform:translateX(calc(var(--u)*-.7));padding-left:calc(var(--u)*1.1)}.row-title{flex:1;min-width:0}.row-title strong{display:block;font-weight:400;font-size:calc(var(--u)*1.75);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.row-title small{display:block;font-size:calc(var(--u)*.87);opacity:.68;margin-top:calc(var(--u)*.5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-row:not(.active) .row-title small{display:none}.row-level{display:flex;align-items:center;justify-content:center;flex-direction:column;margin-right:calc(var(--u)*-.2);padding:calc(var(--u)*.4);min-width:calc(var(--u)*5.8);font-size:calc(var(--u)*2.4)}.row-level small{font-size:calc(var(--u)*.8)}.song-row.active .row-level{background:#fff;color:#252a31;align-self:stretch;transform:skewX(-15deg);margin:calc(var(--u)*-.8) calc(var(--u)*-1.3) calc(var(--u)*-.8) calc(var(--u)*1)}.song-row.active .row-level>*{transform:skewX(15deg)}.row-rank{font-size:calc(var(--u)*2.4);padding:0 calc(var(--u)*1.2);opacity:.8}.song-list-import{width:100%;font-size:calc(var(--u)*1.1);display:flex;align-items:center;gap:calc(var(--u)*1);opacity:.6;padding:calc(var(--u)*2) calc(var(--u)*1.4);text-align:left}.song-list-import svg{width:calc(var(--u)*1.7)}.song-detail{position:absolute;top:20%;left:49.4%;width:43.2%;height:61%}.cover-button{position:relative;width:100%;height:72.5%;padding:0;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);background:#1b3039;overflow:hidden}.cover-button img{width:100%;height:100%;transition:transform .65s}.cover-button:hover img{transform:scale(1.025)}.cover-code{position:absolute;top:4%;right:12%;font-size:calc(var(--u)*1.2);letter-spacing:.12em;color:#ffffffb0}.cover-tag{position:absolute;bottom:7%;left:8%;font-size:calc(var(--u)*.7);letter-spacing:.2em;color:#ffffffe0}.cover-hover{position:absolute;inset:0;display:grid;place-items:center;background:#0005;opacity:0;transition:opacity .2s}.cover-hover svg{width:calc(var(--u)*5);height:calc(var(--u)*5)}.cover-button:hover .cover-hover{opacity:1}.difficulty-score{position:relative;display:flex;left:-2.5%;width:94%;height:13.7%;margin-top:3.4%;background:#0b101c70}.difficulty-tabs{display:flex;height:100%;color:#242a30}.difficulty-tabs button{min-width:calc(var(--u)*5.1);padding:0 calc(var(--u)*1.2);background:#fff;color:#35393b;display:flex;flex-direction:column;justify-content:center;line-height:1.1;transform:skewX(-15deg)}.difficulty-tabs button strong{font-size:calc(var(--u)*1.6);font-weight:400;transform:skewX(15deg)}.difficulty-tabs button small{font-size:calc(var(--u)*.75);transform:skewX(15deg)}.difficulty-tabs button.active{background:var(--diff-color);color:white;box-shadow:4px 0 0 #fff6}.difficulty-score .difficulty-tabs{transform:skewX(15deg)}.best-result{transform:skewX(15deg);display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--u)*.6);flex:1;padding-right:calc(var(--u)*.8);min-width:0}.best-result strong{font-size:calc(var(--u)*2.2);font-weight:400;letter-spacing:.02em}.best-result span{font-size:calc(var(--u)*.77);opacity:.8;white-space:nowrap}.best-result b{font-size:calc(var(--u)*3.5);font-weight:400;line-height:.9;padding:0 calc(var(--u)*.3)}.song-meta{position:relative;left:-5.3%;display:flex;align-items:center;gap:calc(var(--u)*.7);margin-top:calc(var(--u)*1.25);font-size:calc(var(--u)*.95)}.mini-slant{transform:skewX(-15deg);background:#0c111c77;padding:calc(var(--u)*.35) calc(var(--u)*1.2);color:#ccc}.mini-slant[aria-pressed=true]{background:#e9f2f7;color:#253744}.text-button{font-size:calc(var(--u)*.85);opacity:.65;padding:calc(var(--u)*.5)}.detail-credit{position:absolute;left:-5%;bottom:-8%;display:flex;gap:calc(var(--u)*1.4);font-size:calc(var(--u)*.85);opacity:.6}.detail-credit small{font-size:inherit}.selection-footer{position:absolute;left:3%;bottom:4%;height:7%;display:flex;align-items:center;gap:calc(var(--u)*2.1)}.wordmark{font-size:calc(var(--u)*2.2);font-weight:700;letter-spacing:.13em;line-height:1}.wordmark span{font-size:calc(var(--u)*.5);font-weight:400;letter-spacing:.4em;display:block;margin-top:calc(var(--u)*.5)}.footer-button{display:flex;align-items:center;gap:calc(var(--u)*.65);font-size:calc(var(--u)*1.1);padding:calc(var(--u)*.3)}.footer-button svg{width:calc(var(--u)*1.8);height:calc(var(--u)*1.8)}.play-button{position:absolute;right:-1.5%;bottom:6.7%;width:12.5%;height:15%;background:#fff;color:#111820;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:3%;gap:calc(var(--u)*.25)}.play-button svg{width:calc(var(--u)*4);height:calc(var(--u)*4);stroke-width:1.4}.play-button span{font-size:calc(var(--u)*.72);letter-spacing:.2em}.keyboard-hint{position:absolute;right:3%;bottom:2.3%;font-size:calc(var(--u)*.6);letter-spacing:.06em;opacity:.4}
.page-header{position:absolute;top:0;left:0;width:100%;height:13%;display:flex;align-items:center;gap:4%;padding-left:12%;border-bottom:1px solid #ffffff20;background:#10192155}.page-header .back-button{top:8%;height:70%}.page-header h1{font-size:calc(var(--u)*2.1);font-weight:400;margin:0}.page-header h1 small{font-size:calc(var(--u)*.85);opacity:.5;letter-spacing:.15em;margin-left:calc(var(--u)*1)}.settings-tabs{display:flex;gap:calc(var(--u)*2.5);height:100%;margin-left:auto;margin-right:7%;align-items:center}.settings-tabs button{height:100%;padding:0 calc(var(--u)*1);font-size:calc(var(--u)*1.3);border-bottom:calc(var(--u)*.25) solid transparent;opacity:.55}.settings-tabs button.active{border-color:#fff;opacity:1}.settings-scroll{position:absolute;top:16%;left:16%;width:70%;height:79%;overflow-y:auto;scrollbar-color:#ffffff55 transparent;scrollbar-width:thin;padding:0 3% 3% 0}.settings-section{display:none}.settings-section.active{display:block}.setting-row{padding:calc(var(--u)*1.3) 0;border-bottom:1px solid #ffffff1f;display:grid;grid-template-columns:1fr auto;gap:calc(var(--u)*1);align-items:center}.setting-label strong{font-size:calc(var(--u)*1.45);font-weight:400;display:block}.setting-label span{font-size:calc(var(--u)*.8);opacity:.5;letter-spacing:.04em;display:block;margin-top:calc(var(--u)*.2)}.setting-value{display:flex;align-items:center;gap:calc(var(--u)*.6);font-size:calc(var(--u)*1.4)}.setting-value input{width:calc(var(--u)*8);padding:calc(var(--u)*.3);background:#ffffff0c;border:0;border-bottom:1px solid #ccc;color:white;text-align:right}.setting-value input::-webkit-inner-spin-button{appearance:none}.setting-value span{font-size:calc(var(--u)*.9);opacity:.6}.range{grid-column:1/-1;width:100%;accent-color:#f2f4f5;appearance:none;height:calc(var(--u)*.2);background:linear-gradient(to right,#e9f2f7 var(--progress,50%),#ffffff3a var(--progress,50%));margin:calc(var(--u)*.6) 0;cursor:pointer;touch-action:pan-y}.range::-webkit-slider-thumb{appearance:none;width:calc(var(--u)*1.1);height:calc(var(--u)*1.9);background:#fff;border:0;border-radius:0;transform:skewX(-15deg)}.range::-moz-range-thumb{width:12px;height:20px;border-radius:0;border:0;background:#fff}.setting-row p{grid-column:1/-1;margin:calc(var(--u)*.2) 0 0;font-size:calc(var(--u)*.83);line-height:1.7;color:#c5cdd4}.offset-row{padding-top:0;border-bottom:0}.calibration{height:calc(var(--u)*9);background:#0002;position:relative;overflow:hidden;cursor:pointer;touch-action:manipulation}.calibration-line{position:absolute;left:8%;right:8%;top:69%;height:calc(var(--u)*.28);background:#feffa9}.calibration span{position:absolute;top:15%;right:4%;font-size:calc(var(--u)*.7);letter-spacing:.2em;opacity:.5}.calibration b{position:absolute;bottom:10%;right:4%;font-weight:400;font-size:calc(var(--u)*.9);opacity:.8}.cal-note{position:absolute;width:12%;height:calc(var(--u)*.65);background:#9edfff;box-shadow:inset 0 2px #f0fcff;left:22%;top:29%;opacity:.8}.note-two{left:45%;top:43%}.note-three{left:68%;top:58%;background:#fce491}.calibration.running .cal-note{animation:calibration-beat .6s linear infinite}.calibration.running .note-two{animation-delay:-.2s}.calibration.running .note-three{animation-delay:-.4s}@keyframes calibration-beat{from{transform:translateY(calc(var(--u)*-4));opacity:0}20%{opacity:1}to{transform:translateY(calc(var(--u)*6));opacity:0}}.calibration.flash{background:#ffffff16}.calibration-controls{display:flex;align-items:center;gap:calc(var(--u)*1.1);padding:calc(var(--u)*1) 0}.calibration-controls span{font-size:calc(var(--u)*.85);opacity:.6}.flat-button{padding:calc(var(--u)*.65) calc(var(--u)*1.8);border:1px solid #ffffff70;font-size:calc(var(--u)*1.1);background:#111b2660;transform:skewX(-10deg)}.flat-button.primary{color:#1c2832;background:#eef3f6;border-color:transparent}.toggle{width:calc(var(--u)*4);height:calc(var(--u)*1.7);background:#ffffff30;transform:skewX(-15deg);padding:calc(var(--u)*.2);transition:background .2s}.toggle::after{content:'';display:block;height:100%;width:45%;background:#d8e1e7;transition:transform .18s}.toggle[aria-checked=true]{background:#e4edf477}.toggle[aria-checked=true]::after{background:#fff;transform:translateX(122%)}.setting-select,.text-input{background:#101b25b0;border:1px solid #ffffff60;color:#fff;padding:calc(var(--u)*.45) calc(var(--u)*.8);font-size:calc(var(--u)*1.2);max-width:100%}.settings-note{font-size:calc(var(--u)*1.02);line-height:2;color:#d8dfe2b0;padding:calc(var(--u)*2) 0}.version-label{font-size:calc(var(--u)*.75);letter-spacing:.15em;opacity:.4;margin-left:calc(var(--u)*2)}
.game-screen{background:#090c0f}.game-screen canvas{width:100%;height:100%;display:block;touch-action:none}.pause-button{position:absolute;top:2.1%;left:2.4%;font-size:calc(var(--u)*2.7);font-family:Arial,sans-serif;width:7%;height:12%;line-height:1;z-index:2;touch-action:none;text-shadow:0 1px 8px #0005}.pause-hint{position:absolute;top:16%;left:3%;font-size:calc(var(--u)*1);padding:calc(var(--u)*.6) calc(var(--u)*1);background:#111a;opacity:0;pointer-events:none;transition:opacity .2s}.pause-hint.visible{opacity:1}.pause-overlay{position:absolute;inset:0;background:#10141ce0;backdrop-filter:blur(14px);z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column}.pause-title{font-size:calc(var(--u)*4);letter-spacing:.14em;font-weight:300;text-align:center;margin-bottom:calc(var(--u)*4)}.pause-title span{display:block;font-size:calc(var(--u)*1.2);letter-spacing:.05em;opacity:.5;margin-top:calc(var(--u)*1)}.pause-actions{display:flex;gap:calc(var(--u)*2)}.pause-actions button{background:#eef3f5;color:#212a32;min-width:calc(var(--u)*16);padding:calc(var(--u)*2) calc(var(--u)*3);font-size:calc(var(--u)*2)}.pause-actions button small{display:block;font-size:calc(var(--u)*.65);letter-spacing:.25em;margin-top:calc(var(--u)*.5)}.rotate-hint{display:none}.result-cover{position:absolute;left:6%;top:23%;width:41%;height:51%;clip-path:polygon(16% 0,100% 0,84% 100%,0 100%);background:#142730}.result-cover img{width:100%;height:100%}.result-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#08111bea)}.result-cover>div{position:absolute;bottom:9%;left:10%;z-index:1}.result-cover h2{font-size:calc(var(--u)*2.4);font-weight:400;margin:0 0 calc(var(--u)*.6);max-width:calc(var(--u)*27)}.result-cover span{font-size:calc(var(--u)*1.25)}.result-details{position:absolute;left:51%;top:24%;width:41%;height:52%}.result-main{display:flex;justify-content:space-between;align-items:center;padding-bottom:calc(var(--u)*1.5);border-bottom:1px solid #ffffff66}.result-main small{display:block;font-size:calc(var(--u)*.8);letter-spacing:.17em;opacity:.65}.result-main strong{display:block;font-size:calc(var(--u)*4.8);font-weight:400;letter-spacing:.025em}.result-main span{font-size:calc(var(--u)*.95);color:#a2eeff}.result-main>b{font-size:calc(var(--u)*8);font-weight:400;line-height:.9}.result-secondary{display:flex;gap:calc(var(--u)*5);padding:calc(var(--u)*1.6) 0}.result-secondary small{display:block;font-size:calc(var(--u)*1);color:#ccd5dd}.result-secondary strong{display:block;font-size:calc(var(--u)*2.5);font-weight:400;margin-top:calc(var(--u)*.3)}.result-counts{display:grid;grid-template-columns:repeat(4,1fr);padding:calc(var(--u)*1) 0;border-top:1px solid #ffffff20}.result-counts div small{display:block;font-size:calc(var(--u)*.85)}.result-counts div strong{font-size:calc(var(--u)*1.7);font-weight:400;display:block;margin-top:calc(var(--u)*.4)}.result-timing{display:flex;gap:calc(var(--u)*2.1);font-size:calc(var(--u)*.9);margin-top:calc(var(--u)*1.3);color:#b8c7d2}.timing-graph{margin-top:calc(var(--u)*1.1);height:calc(var(--u)*2.7);display:flex;align-items:flex-end;gap:2px;position:relative;border-bottom:1px solid #ffffff44;background:linear-gradient(90deg,transparent 24.9%,#a2eeff11 25%,#a2eeff11 75%,transparent 75.1%)}.timing-graph::before{content:'';position:absolute;left:50%;height:100%;width:1px;background:#fce49199}.timing-graph i{display:block;flex:1;background:#fce491a0;min-height:1px}.result-caption{font-size:calc(var(--u)*.85);opacity:.6;margin-top:calc(var(--u)*1.3)}.result-footer{position:absolute;bottom:9%;right:8%;display:flex;gap:calc(var(--u)*2)}#result-mode{margin-left:auto;margin-right:7%;font-size:calc(var(--u)*1);letter-spacing:.15em;color:#fce491}.busy{position:absolute;inset:0;z-index:20;background:#0b121bf5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(var(--u)*1.5)}.busy-mark{font-size:calc(var(--u)*8);font-weight:300;animation:load-pulse 1.4s ease-in-out infinite}.busy strong{font-size:calc(var(--u)*1.3);font-weight:400}.busy span{letter-spacing:.45em;font-size:calc(var(--u)*.65);opacity:.4}@keyframes load-pulse{50%{opacity:.3;transform:scale(.94)}}.drop-overlay{position:absolute;inset:2%;z-index:40;background:#101b28ee;border:2px dashed #bbddeb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(var(--u)*2);backdrop-filter:blur(20px)}.drop-overlay svg{width:calc(var(--u)*7);height:calc(var(--u)*7)}.drop-overlay strong{font-size:calc(var(--u)*3);font-weight:400}.drop-overlay span{letter-spacing:.3em;font-size:calc(var(--u)*1)}.toast{position:absolute;left:50%;bottom:4%;transform:translate(-50%,30%);opacity:0;pointer-events:none;background:#101926f5;border-left:3px solid #9ed5f3;padding:calc(var(--u)*1) calc(var(--u)*2);font-size:calc(var(--u)*1.15);z-index:50;max-width:80%;line-height:1.7;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.modal{width:min(650px,88vw);max-height:85dvh;padding:28px 32px;background:#1c2833;color:#f2f5f7;border:1px solid #ffffff30;box-shadow:0 20px 100px #0008;font-size:14px;overflow-y:auto}.modal::backdrop{background:#080e15c9;backdrop-filter:blur(12px)}.modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal header small{letter-spacing:.19em;font-size:9px;opacity:.45}.modal header h2{margin:5px 0 0;font-size:25px;font-weight:400}.close-dialog{padding:4px}.close-dialog svg{height:24px;width:24px}.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px dashed #9db3c077;background:#0d17203b;padding:40px 20px;cursor:pointer;position:relative}.upload-area svg{width:40px;height:40px;opacity:.8}.upload-area strong{font-weight:400;font-size:18px}.upload-area span{font-size:12px;opacity:.5}.upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.modal-note{font-size:12px;line-height:1.8;color:#b2c3ce9e}.modal .flat-button{font-size:13px;padding:9px 20px}.import-report{font-size:13px;line-height:1.8;white-space:pre-wrap;max-height:180px;overflow:auto;color:#c3dce5}.manage-list{display:grid;gap:10px}.manage-row{display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid #ffffff1a}.manage-row div{flex:1;min-width:0}.manage-row strong{display:block;font-weight:400;overflow:hidden;text-overflow:ellipsis}.manage-row small{display:block;font-size:10px;color:#8da4b5;margin-top:5px;overflow:hidden;text-overflow:ellipsis}.remove-button{color:#f9a7b2;font-size:12px;padding:8px}.resource-table{width:100%;border-collapse:collapse;margin-bottom:20px}.resource-table td{padding:9px 0;border-bottom:1px solid #ffffff12;font-size:13px;word-break:break-all}.resource-table td:first-child{width:30%;color:#91a7b9}.binding-row{display:flex;flex-direction:column;gap:7px;margin:15px 0}.binding-row label{font-size:12px;opacity:.65}.binding-row select{background:#102030;color:#eee;border:1px solid #ffffff40;padding:8px;font-size:13px;width:100%}.resource-warnings{font-size:12px;line-height:1.9;white-space:pre-wrap;color:#e4c698}.about-intro{font-size:20px;font-weight:300}.modal p{line-height:1.9}.note-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.note-guide>span{border-top:7px solid;display:block;padding-top:8px;text-align:center;font-size:15px}.note-guide small{display:block;font-size:10px;margin-top:5px;opacity:.5}.guide-tap,.guide-hold{color:#9ed5f3}.guide-drag{color:#fce491}.guide-flick{color:#f48299}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(orientation:portrait){#app{width:100vw;height:100dvh;--u:1vw}.song-detail{top:17%;left:9%;width:85%;height:36%}.cover-button{height:74%}.selection-tools{left:15%;width:43%;height:6%;top:1.1%}.back-button{height:6%;width:11%}.player-badge{right:3%;top:2%}.player-badge strong{font-size:3vw}.player-badge span{font-size:1.3vw}.avatar{height:9vw;width:10vw;font-size:7vw}.collection-label{top:11%;left:9%}.collection-label b{font-size:3.7vw}.collection-label span{font-size:2vw}.song-list{left:6%;top:56%;height:31%;width:85%;padding:2vw 3vw}.song-row{min-height:13vw;margin:1vw 0}.row-title strong{font-size:4.4vw}.row-title small{font-size:2.3vw}.row-level{font-size:5.3vw;min-width:15vw}.row-level small{font-size:2vw}.row-rank{font-size:5vw}.song-row.active .row-level{margin:-1vw -1vw -1vw 2vw}.song-list-import{font-size:2.8vw;padding:5vw}.selection-footer{bottom:3%;left:5%;gap:4vw;max-width:70%;flex-wrap:wrap}.wordmark{font-size:4vw}.wordmark span{font-size:1vw}.footer-button{font-size:2.6vw}.footer-button svg{width:4vw;height:4vw}.icon-only{display:none}.keyboard-hint{display:none}.play-button{width:24%;height:10%;bottom:3%;padding-left:7%}.play-button svg{width:9vw;height:9vw}.play-button span{font-size:2vw}.difficulty-score{height:17%}.difficulty-tabs button{min-width:11vw}.difficulty-tabs button strong{font-size:3.7vw}.difficulty-tabs button small{font-size:1.8vw}.best-result strong{font-size:4.6vw}.best-result b{font-size:7vw}.best-result span{font-size:1.7vw}.song-meta{margin-top:2vw;font-size:2.6vw}.text-button{font-size:2.3vw}.detail-credit{display:none}.cover-code{font-size:3vw}.cover-tag{font-size:1.8vw}.page-header{height:10%;padding-left:16%}.page-header h1{font-size:5vw}.page-header h1 small{display:none}.page-header .back-button{height:65%;top:12%}.settings-tabs{gap:1vw;margin-right:4%}.settings-tabs button{font-size:3vw}.settings-scroll{top:13%;left:8%;width:85%;height:82%;padding-right:2%}.setting-row{padding:4vw 0;gap:3vw}.setting-label strong{font-size:4vw}.setting-label span{font-size:2.3vw}.setting-value{font-size:4vw}.setting-value input{width:20vw}.setting-value span{font-size:2.7vw}.range{height:.6vw;margin:3vw 0}.range::-webkit-slider-thumb{width:3vw;height:5vw}.setting-row p{font-size:2.8vw}.calibration{height:28vw}.calibration span{font-size:2vw}.calibration b{font-size:2.6vw}.cal-note{height:2vw}.calibration-controls{gap:3vw;padding:4vw 0}.flat-button{font-size:3vw;padding:2vw 4vw}.calibration-controls span{font-size:2.5vw}.toggle{width:12vw;height:5vw;padding:.6vw}.setting-select,.text-input{font-size:3.5vw;padding:2vw}.settings-note{font-size:3vw}.version-label{display:block;font-size:2vw;margin:5vw 0}.rotate-hint{display:block;position:absolute;inset:0;z-index:3;background:#101b25e8;font-size:5vw;align-content:center;text-align:center;pointer-events:none}.pause-button{z-index:4;font-size:8vw;width:12%;height:8%}.pause-title{font-size:9vw}.pause-title span{font-size:3vw}.pause-actions{flex-direction:column;gap:5vw}.pause-actions button{font-size:6vw;padding:5vw 13vw}.pause-actions button small{font-size:2vw}.result-cover{top:15%;left:10%;width:80%;height:27%}.result-cover h2{font-size:5vw;max-width:60vw}.result-cover span{font-size:3vw}.result-details{top:47%;left:10%;width:80%;height:34%}.result-main strong{font-size:9vw}.result-main small{font-size:2vw}.result-main>b{font-size:17vw}.result-secondary{padding:4vw 0;gap:16vw}.result-secondary small{font-size:2.5vw}.result-secondary strong{font-size:6vw}.result-counts div small{font-size:2vw}.result-counts div strong{font-size:4vw}.result-timing{font-size:2.5vw;gap:5vw;margin-top:3vw}.timing-graph{height:6vw;margin-top:4vw}.result-caption{font-size:2.5vw;margin-top:3vw}.result-footer{bottom:5%;gap:5vw;right:10%}.result-main span{font-size:2.7vw}#result-mode{font-size:2.5vw}.toast{font-size:3vw;padding:3vw 5vw;bottom:3%}.busy-mark{font-size:20vw}.busy strong{font-size:4vw}.busy span{font-size:2vw}.back-button svg{width:6vw;height:6vw}.sort-button{font-size:2.8vw}.sort-button small{font-size:1.8vw}.tool-button svg{width:5vw;height:5vw}.tool-button small{font-size:1.8vw}.modal{padding:22px;width:92vw}.note-guide{gap:10px}}
