:is(#characterLoading,#pauseDialog,#result,#gameOver){--state-ink:#35466f;--state-muted:#7d89a5;--state-line:#d3dded;color-scheme:only light;color:var(--state-ink)}:is(#characterLoading,#pauseDialog,#result,#gameOver) :is(h2,h3,strong,button,button>span,p,small,.resultGrade,.resultScore){font-family:var(--font-text)!important;font-style:normal;text-shadow:none}:is(#pauseDialog,#result,#gameOver) button{min-height:46px;padding:11px 15px;background:#ffffffc9!important;border:1px solid #cbd8eb!important;border-radius:8px 3px;box-shadow:none!important;color:#506d9d!important;font-family:var(--font-text)!important;font-size:16px;font-weight:500;font-style:normal;line-height:1.45;letter-spacing:0;text-shadow:none;filter:none!important;touch-action:manipulation;transition:transform .14s ease,border-color .14s ease,opacity .14s ease}:is(#pauseDialog,#result,#gameOver) .primary{width:100%;min-height:54px;margin:16px 0 10px;padding:13px 18px;background:linear-gradient(110deg,#c4ebf3,#dbe4fa 48%,#ecddf4 80%,#f3dce9)!important;border:1px solid #c6d5ec!important;color:#395a98!important;font-size:18px;overflow:hidden}:is(#pauseDialog,#result,#gameOver) .primary:before,:is(#pauseDialog,#result,#gameOver) .primary:after{content:none!important;display:none!important;animation:none!important;background:none!important;box-shadow:none!important;filter:none!important;mask:none!important;-webkit-mask:none!important}:is(#pauseDialog,#result,#gameOver) button:enabled:active{transform:translateY(1px);filter:none!important}:is(#pauseDialog,#result,#gameOver) button:disabled{opacity:.5;cursor:default;transform:none}:is(#pauseDialog,#result,#gameOver) button:focus-visible{outline:2px solid #849ed0;outline-offset:4px}#characterLoading{position:fixed;inset:0;z-index:10000;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;margin:0;padding:28px 24px 44px;background:#f8faff;text-align:center;pointer-events:auto;overflow:hidden}#characterLoading:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:min(100%,480px);transform:translate(-50%);pointer-events:none;background-image:url(system/login-crystal-frame.svg),linear-gradient(#f8fbffcf,#fcfaffdc),url(system/clubroom-bg.webp);background-position:center,center,center bottom;background-size:100% 100%,100% 100%,100% auto;background-repeat:no-repeat}#characterLoading:after{content:"";display:block;position:static;flex:none;width:96px;height:3px;margin-top:2px;border-radius:3px;background:linear-gradient(90deg,#a8d9e8,#bfc8e8,#d8badb);transform-origin:center;animation:stateLoadingLine 1.35s ease-in-out infinite}#characterLoading #loadingCharacter{display:block;width:min(68vw,250px);height:min(43dvh,340px);flex:none;margin:0 0 2px;aspect-ratio:auto;border:1px solid #dce4f0;border-radius:12px 4px;background:#fff;overflow:hidden;box-shadow:0 6px 20px #7386a014;animation:stateArtIn .22s ease-out both}#characterLoading #loadingCharacter>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}#characterLoading>strong{margin:0;color:#647ca9;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:.18em}#characterLoading #loadingSong{max-width:300px;margin:0;color:var(--state-ink);font-size:16px;font-weight:500;line-height:1.65;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}#pauseDialog{position:fixed;inset:0;height:fit-content;width:min(360px,calc(100% - 44px));max-height:calc(100dvh - 40px);margin:auto;padding:28px 25px 26px;overflow:auto;color:var(--state-ink);border:1px solid #d0dced;border-radius:15px 5px;background:linear-gradient(145deg,transparent 77%,#edf1fb8c 77.2%),linear-gradient(120deg,#fffffff5,#f7fafff5);box-shadow:0 14px 42px #4e63882b;text-align:center}#pauseDialog::backdrop{background:#7385a34d;backdrop-filter:none}#pauseDialog h2{margin:0 0 24px;color:var(--state-ink);font-size:22px;font-weight:600;line-height:1.5}#pauseDialog h2:before{content:"";display:block;width:38px;height:38px;margin:0 auto 14px;border:1px solid #cbd7e9;border-radius:50%;background:linear-gradient(90deg,#8a9fc5 0 4px,transparent 4px 8px,#8a9fc5 8px) center/12px 14px no-repeat,#f8fbff}#pauseDialog #resume{margin:0 0 12px}#pauseDialog :is(#restart,#quit){display:block;width:100%;margin:10px 0 0}:is(#result,#gameOver){position:fixed;inset:0;isolation:isolate;margin:0 auto;width:min(100%,480px);max-width:none;height:100dvh;max-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));border:0;border-radius:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;color:var(--state-ink);box-shadow:0 0 32px #4e64851a;background-image:url(system/login-crystal-frame.svg),linear-gradient(#f8fbffdc,#fcfaffea),url(system/clubroom-bg.webp);background-position:center,center,center bottom;background-size:100% 100%,100% 100%,100% auto;background-repeat:no-repeat}:is(#result,#gameOver)::backdrop{background:#42547a66;backdrop-filter:none}:is(#result,#gameOver)[open]{display:block;animation:stateSheetIn .18s ease-out}#result[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;align-content:start}#result>*{grid-column:1/-1}#result #resultHeading{display:table;justify-self:center;margin:2px auto 12px;padding:5px 17px;border:1px solid #cae2e8;border-radius:4px;background:linear-gradient(110deg,#e2f5f7d9,#eef4fdd9);color:#5a919d;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.16em}#result #resultTitle{max-width:340px;margin:0 auto 18px;color:var(--state-ink);font-size:20px;font-weight:600;line-height:1.5;letter-spacing:0;text-align:center;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}#result .clearCelebration{display:flex;align-items:center;justify-content:center;gap:0;margin:0 0 12px}#result #clearCharacter{display:none}#result .clearCelebration>div:last-child{min-width:0;max-width:100%;text-align:center}#result #grade{position:relative;width:190px;max-width:54vw;height:190px;margin:0 auto;color:#7587ba;font-size:0!important;line-height:1;text-align:center}#result #grade>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}#result #grade .resultGradePlus{position:absolute;right:0;top:2px;padding:5px 9px;border:1px solid #d8c18a;border-radius:8px 3px;background:#fff9e8;color:#a17b35;font-size:15px;font-weight:700;letter-spacing:.015em;line-height:1.2}#result #clearReaction{margin:8px 0 0;color:#7c87a6;font-size:12px;line-height:1.65;word-break:keep-all}#result #resultScore{margin:10px 0 22px;color:#3d558b;font-size:42px;font-weight:600;line-height:1.25;letter-spacing:-.025em;text-align:center;font-variant-numeric:tabular-nums}#result #resultScore:before{content:"SCORE";display:block;margin:0 0 5px;color:#8797b3;font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.16em}#result #resultStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:14px 0 18px;border:0;text-align:center}#result #resultStats strong{display:block;color:#506995;font-size:19px;font-weight:600;line-height:1.45;font-variant-numeric:tabular-nums}#result #resultStats small{display:block;margin-top:5px;color:var(--state-muted);font-size:12px;line-height:1.5}#result #judgementCounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:15px 0;border-block:1px solid #d9e2ee;color:#8491ac;text-align:center;font-size:10px;line-height:1.5;letter-spacing:.015em}#result #judgementCounts b{display:block;margin:5px 0 0;color:#607aa8;font-size:21px;font-weight:500;line-height:1.35;font-variant-numeric:tabular-nums}#result #judgementCounts>span:last-child b{color:#b0839a}#result .resultAchievements{gap:10px;margin:18px 0 0}#result .resultAward{grid-template-columns:34px auto;gap:0 8px;padding:9px 11px;border:1px solid #d6dfed;border-radius:8px 3px;background:#ffffffb3;box-shadow:none}#result .resultAward img{width:34px;height:34px}#result .resultAward span{color:#6179a4;font-family:var(--font-text)!important;font-size:14px;font-weight:600;line-height:1.4}#result .resultAward small{color:#94a0b7;font-size:10px;line-height:1.4;letter-spacing:.05em}#result :is(#achievementResultStatus,#resultName,#saveStatus){margin:12px 0 0;color:var(--state-muted);font-size:12px;line-height:1.65;text-align:center;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}#result :is(#achievementResultStatus,#resultName,#saveStatus):empty{display:none}#result #resultName{color:#7084a7}#result #saveStatus{color:#647d9f;min-height:0}#result #saveScore{margin:20px 0 0}#result :is(#again,#resultBack){display:inline-flex;align-items:center;justify-content:center;width:100%;margin:20px 0 0;min-height:46px;font-size:14px}#result #again{grid-column:1}#result #resultBack{grid-column:2}#gameOver .gameOverContent{display:grid;grid-template-rows:auto auto minmax(200px,1fr) auto;gap:12px;width:100%;height:100%;min-height:460px;max-width:440px;margin:0 auto;text-align:center}#gameOver #gameOverHeading{margin:0;color:#6476a8;font-size:clamp(30px,8.5vw,40px);font-weight:600;line-height:1.25;letter-spacing:.025em;font-style:normal;text-shadow:none}#gameOver #gameOverSong{max-width:320px;margin:0 auto;color:var(--state-muted);font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;word-break:keep-all;text-wrap:balance}#gameOver .gameOverPortrait{position:relative;isolation:isolate;min-height:200px}#gameOver .gameOverPortrait:before{content:"";position:absolute;inset:12% 4% 8%;z-index:-1;background:linear-gradient(140deg,#ffffffa6,#e5f0fb99 50%,#eee7f8a6);clip-path:polygon(28% 0,100% 17%,82% 100%,0 83%);opacity:1;pointer-events:none}#gameOver #gameOverArt{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none;animation:stateArtIn .24s ease-out both}#gameOver .gameOverActions{display:grid;gap:10px;padding:4px 0 0}#gameOver :is(#gameOverReplay,#gameOverList){width:100%;min-height:52px;margin:0;font-size:17px}@keyframes stateLoadingFloat{50%{transform:translateY(-3px)}}@keyframes stateLoadingLine{0%,to{opacity:.45;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}@keyframes stateSheetIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes stateArtIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:350px){:is(#result,#gameOver){padding-inline:18px}#result #resultTitle{font-size:18px}#result #resultScore{font-size:37px}#result #resultStats strong{font-size:17px}#result #judgementCounts{font-size:9px;gap:5px}#result #judgementCounts b{font-size:19px}#gameOver #gameOverHeading{font-size:30px}#characterLoading #loadingSong{font-size:15px}}@media(max-height:620px){:is(#result,#gameOver){padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom))}#gameOver .gameOverContent{gap:8px}#gameOver :is(#gameOverReplay,#gameOverList){min-height:46px}#characterLoading{gap:12px;padding-block:20px}#characterLoading #loadingCharacter{height:min(40dvh,240px);width:min(56vw,200px)}#result #grade{width:158px;height:158px}}@media(prefers-reduced-motion:reduce){:is(#characterLoading,#pauseDialog,#result,#gameOver),#characterLoading:after,#characterLoading #loadingCharacter,#gameOver #gameOverArt{animation:none!important}:is(#pauseDialog,#result,#gameOver) button{transition:none}}.reduced :is(#characterLoading,#pauseDialog,#result,#gameOver),.reduced #characterLoading:after,.reduced #characterLoading #loadingCharacter,.reduced #gameOver #gameOverArt{animation:none!important}.reduced :is(#pauseDialog,#result,#gameOver) button{transition:none}
